標題 Re: [討論] Gmail收外部信…怎麼放心把密碼交出去呢?
時間 Sat Feb 24 12:19:19 2007
───────────────────────────────────────
講到 trust, 就不得不提一下這個很有名的故事:
故事的主角是 Ken Thompson,他是 Turing Award 得主,也是發明 C 語言和 UNIX 的關鍵人物,目前在 Google 工作(這樣就和這個板有關了 ;-)。
這個故事是這樣的。Thompson 寫過一個很有趣的程式,是一個特別的 C compiler。如果你對 compiler 的知識還算熟悉的話,應該知道 C 的 compiler 是可以用 C 來寫的這是一個雞生蛋,蛋生雞的問題,不過我們的確是用 C 來寫 C compiler。
Thompson 的 compiler 之所以特別,是他在其中偷偷藏了一個 bug。UNIX 有一個程式叫 login,它是負責核對使用者帳號和密碼的程式。Thompson 的 compiler 如果發現它在 compile 一個 UNIX 的 login 程式時,它會在比對密碼的時候,偷偷加入一筆萬用密碼。如此一來,用這個 compiler 產生出來的 UNIX,都會有這個「漏洞」在。你會說這個只要檢查 compiler 的程式碼就可以發現了。沒錯,所以 Thompson 的 compiler還有一個神奇的功能。這個 compiler 如果發現它在 compile 一個 compiler 的時候,它會把它本身的這個「神奇功能」放到 compiler 裡頭,所以用這個 compiler compile出來的 compiler (我知道這有點難懂 XD)也都會帶有這個神奇功能。之後,他再用compiler 把本身自己 compile 一次後,就可以把神奇功能從程式碼裡面隱藏起來,只有從 binary 才看的出端倪。
這會造成一個問題,就是你即使有原始碼,你也沒辦法確保你的程式是可以信任的。你要能夠確定你的程式是可靠的,唯一的辦法就是全部從頭來。如果你把這個問題過度延深,你就會發現你可能要從 CPU 的電晶體開始設計,才有辦法「保證」你的程式是完全符合你的意思在執行。
所以,信任,不是見簡單的事。
喔.....我還想補一句「電腦是很危險的,你還是回去用算盤吧」...XD
p.s. 詳細的故事可以在這邊找到 http://www.acm.org/classics/sep95/
※ 引述《davidyu (davidyu)》之銘言:
: 呃...那你怎麼敢用電腦?: 從你打密碼開始,你的密碼就經過了鍵盤,主機板,CPU,網路卡,作業系統,ISP,
: Router,等等等......你全部每一層都信任嗎?(幫助中國建立GFW的)Cisco能信任嗎?
: 邪惡大本營的M$能信任嗎?這裡面隨便有一層要偷竊你的密碼都是易如反掌。
: 我敢用,是因為我沒什麼重要的資料放在電腦上,是因為我信任這些公司。同理,你也
: 可以想想看為什麼你敢用電腦。
: ※ 引述《Aligu1009 (=.=)》之銘言:
: : 能利用Gmail收外部信
: : 再透過Gmail強大的擋垃圾信機制擋掉惱人的垃圾信當然很棒
: : 但是,為什麼各位敢把其他信箱的密碼告訴google呢?
: : 小弟我就是因為不想把其他的帳號密碼告訴google
: : 而遲遲不敢使用fetch mail功能的人啊....
--
※ 發信站: 批踢踢實業坊(ptt.cc)◆ From: 24.6.168.117※ 編輯: davidyu 來自: 24.6.168.117 (02/24 12:23)
沒有留言:
張貼留言