Re: [問題] 請問一般程式是用什麼方式儲存個資呢? - 資安

Delia avatar
By Delia
at 2011-01-11T14:57

Table of Contents

※ [本文轉錄自 C_and_CPP 看板 #1DA_k2Lc ]

作者: littleshan (我要加入劍道社!) 看板: C_and_CPP
標題: Re: [問題] 請問一般程式是用什麼方式儲存個資呢?
時間: Tue Jan 11 14:41:03 2011

※ 引述《QQ29 (我愛阿蓉)》之銘言:
: 請教各位
: 一隻程式如果要儲存使用者的個人資料 一般都用什麼方式儲存呢
: 假如要儲存使用者密碼
: 我自己是覺得不可能完全不處理就直接寫成text 或是 binary
: 是怕說有人可以竊取到密碼
: 但是我不曉得一般有什麼common approach 去處理這塊
: 加密我也不懂
: 但真的要用加密嗎?
: 還是就存成binary就好.....
: 謝謝
個資這種要隨時做 search 的資料是不需要加密的
加密後你要搜尋比對時還要解密 速度會慢到爆炸

但使用者密碼請一定要加密
如果密碼也用明文去儲存
個資外洩時所造成的傷害絕對是倍數成長的
ex. 使用者的銀行帳戶用了相同的密碼
結果你們的個資外洩很可能造成他的銀行帳戶被盜領
把密碼加密後儲存雖然並不保證100%安全
但至少風險小很多
我不知道台灣的法律是否有規定這一塊
但個人是認為應該明令規定線上服務的使用者密碼不得明文儲存才對

回到原題
密碼通常是用 one-way hash 去加密儲存的:
ex.
使用者輸入 hello 作為密碼



程式使用 md5 演算法對字串 "hello" 計算 hash



在檔案中儲存 "5d41402abc4b2a76b9719d911017c592"



使用者輸入了密碼 X 試圖登入系統



同樣使用 md5 演算法對 X 計算 hash



檢查算出來的 hash 是否剛好等於 "5d41402abc4b2a76b9719d911017c592"


md5 是滿常用的 one-way hash
這類 one-way hash 通常滿足以下的特性:
1. 相同的字串一定會計算出相同的 hash 結果
2. 不同的字串計算出相同的 hash 機率極低
3. 就算知道 hash 結果,要推算原密碼也極為困難

前面兩項特性使得使用者設定密碼後
只有知道密碼的人才能登入
第三項特性則是保護密碼
即使有人竊取到 "5d41402abc4b2a76b9719d911017c592" 這個字串
他也很難推算出本來的密碼 "hello"

md5 算是相當常用的 one-way hash
現成的 library 也相當多
但實際上 md5 並非無法破解
目前已有許多利用 md5 hash collision 偽造數位簽名的案例
如果你的密碼資料非常重要
可以考慮改用 SHA-2 進行加密

--
Tags: 資安

All Comments

Wallis avatar
By Wallis
at 2011-01-14T13:42
po完才發現樓上比較完整,可是我又不能自刪!囧
Ida avatar
By Ida
at 2011-01-15T15:59
狂推 樓上和這層樓都應該要加精華區才對
Valerie avatar
By Valerie
at 2011-01-17T00:55
都不錯阿 但是不跟語言扯上點邊 這樣我很難做人耶 :|
Elvira avatar
By Elvira
at 2011-01-22T00:20
轉到資安版好了
Erin avatar
By Erin
at 2011-01-22T05:14
轉到這...... OK嗎???
Catherine avatar
By Catherine
at 2011-01-25T02:18
看得很高興~

Re: [問題] 請問一般程式是用什麼方式儲存個資呢?

Olivia avatar
By Olivia
at 2011-01-11T14:57
※ [本文轉錄自 C_and_CPP 看板 #1DA_apqj ] 作者: StubbornLin (Victor) 看板: C_and_CPP 標題: Re: [問題] 請問一般程式是用什麼方式儲存個資呢? 時間: Tue Jan 11 14:31:13 2011 ※ 引述《QQ29 (我愛阿蓉)》之銘 ...

如何查到正在使用的電腦開啟哪些port?

Lily avatar
By Lily
at 2010-12-27T09:43
可以用小程式幫助閱讀 tcpview http://technet.microsoft.com/en-us/sysinternals/bb897437 ※ 引述《joseph790517 (Joseph Ma)》之銘言: : 各位PTT的專家們好 : 小弟我想請問一下 ...

請問出現連結網路時出現以下這排字~~~

George avatar
By George
at 2010-12-24T20:41
不好意思~~ 最近剛買一台新電腦~~ 全部都灌好了~ 可是在連網的同時~他出現 一排字是~and#34;在所有使用中的啟用內容都找不到所要求的對應機碼and#34; 請問各位電腦高手大大~ 這是什麼意思~ 因為我是用無線網卡上線的~~ 除了奇摩首頁可以上~其他都會跳這種視窗... 完全不知道該如何解決~ ...

如何查到正在使用的電腦開啟哪些port?

Tristan Cohan avatar
By Tristan Cohan
at 2010-12-19T21:27
各位PTT的專家們好 小弟我想請問一下 如何查詢本機電腦有開啟哪些port呢? 小弟我之前爬文 他們是說在cmd的指令下打netstat -ano 可是卻看不懂阿..... 而且小弟我感覺那是正在使用中的port 並非看到全部and#34;開啟中and#34;的port... 不知能否指導小弟我呢? 感謝 ...

SA@Taichung 資安雜亂談 - 12/04 (六)

Jessica avatar
By Jessica
at 2010-12-01T23:58
※ [本文轉錄自 Linux 看板 #1Czd1t5s ] 作者: paulintoro (小飛機) 看板: Linux 標題: [資訊] SAatTaichung 資安雜亂談 - 12/04 (六) 時間: Wed Dec 1 23:57:39 2010 大家好 我們是Study-Area酷學園at ...