網頁

2013年3月29日 星期五

MySQL 加解密

之前因為個資法上路的緣故,好不容易將系統內記錄個資欄位的資料去除。不過變化趕不上計劃。因為某些因素又不得不去修改回來。

基本上系統能做的防護,應該該做的也差不多了。

例如,
  1. 該主機僅限特定區域的電腦才能存取;區網的部份有切開,防火牆有做好相關設定
  2. 系統介面有做特定的 IP檢查
  3. 系統介面有做帳號的登入檢查機制
  4. 系統有做 injection 的相關防護
  5. 連線走 SSL 的加密連線措施
  6. 定期修補作業系統MySQL PHP

在資料的儲存方面還可以再加強。將敏感性的文字加以處理,經加密後再放在資料庫內會更加安全些。
 
研究了一下,MySQL Encryption and Compression Functions。使用 AES_DECRYPT() 與 AES_ENCRYPT() ,可以將要放的文字經自行定義後的 KEY值,經 AES演算法處理後再放在資料庫儲放,當然取出的方式也是要經 AES_DECRYPT() 處理後,才能完整呈現加密前的文字。只要是沒有取到程式內所記錄的 Key 值,直接觀看記錄的結果,它會是一連串的亂碼。

使用的方式很簡單,範例如下:

(1) 修改資料型態:
use a column with a VARBINARY or BLOB binary string data type

(2) 加密的方式:
INSERT INTO `table` (
`name` ,
`phone` ,
`address`
)
VALUES (
'TEST', '035742995', AES_ENCRYPT('要儲放聯絡地址文字','Your Key')
);

(3) 取出的方式:
SELECT *, AES_DECRYPT(address , 'Your Key') Decode_address  FROM `table` WHERE `name` = 'TEST';

2013年3月15日 星期五

BBH 的艾利事件


看到這類的新聞,總是覺得心酸酸的。

很多事,大家都不會站在將心比心的看法。人性本惡或本善這事沒有定論,何為善,何為惡也沒有一定的標準。標準是要看所站的立場在那。

由新聞網友的一些討論,有些人的評語,看了覺得很有感觸。例如:自己的小孩,將來能成為完美的人嗎?不能。接受小孩的不完美,讓他學習適應這個世界。
這,是教育。

不要說小孩了,包含已身為人父的自己也不見得有多成熟,更別談完美。我們能留下什麼給小孩呢?授人以魚不如授人以漁,很老套。但這是老祖宗留下的智慧。觀念與習性伴隨著一生。自己的人生,自己要負責。

施比受更有福,當我們有餘力可以協助他人時。我們應該要更積極的幫助,那怕是再微不足道的小事都好。