加密貨幣安全:密碼與身分驗證
Andreas Antonopoulos 介紹了基本的加密貨幣安全實踐,重點關注密碼管理、身分驗證方法以及保護數位資產和私鑰的最佳實踐。
Date published: 2019年5月19日
本次直播涵蓋了加密貨幣持有者必備的安全實踐,從密碼管理基礎到多因素身分驗證。Andreas Antonopoulos 探討了平衡安全性與可用性的原則,解釋了為什麼密碼管理器是必不可少的,介紹了 XKCD 密碼短語概念,並詳細說明了雙因素身分驗證方法的層級。
這份逐字稿是由 aantonop 發布的原始影片逐字稿 (opens in a new tab)的無障礙副本。為了提高可讀性,已進行了輕微的編輯。
安全基礎知識與平衡風險 (3:05)
(嗶聲) - 大家好,歡迎來到這個週六的直播。這次的加碼直播主題是密碼、密碼管理員、身分驗證、多重身分驗證,以及所有與你帳戶安全相關的事物。現在我們的佇列中已經有很多問題了,但我這次不一定會主要以回答問題為主,因為我想解釋一些困難的主題。對我來說,花比平常多一點或少一點的時間來談論某個主題,並以我自己的方式來貫穿這些主題,可能會更有意義。它們有點棘手。安全是一個棘手的主題。因此,與其試圖尋找完美的問題,我可能不會這麼做。另一方面,我確實有一些很棒的問題可以讓我們開始。所以首先,感謝大家的加入。這是一件樂事,
一如往常,能與你們一起度過週六早晨,探討與比特幣和開放區塊鏈相關的全新有趣主題。那麼,密碼和多重身分驗證與比特幣和開放區塊鏈有什麼關係呢?嗯,你知道的,為了維持你加密貨幣的安全,你必須維持你所有帳戶的安全。關於加密貨幣,非常有趣的一點是,對許多人來說,這是他們第一次必須仔細思考其線上身分和線上裝置的安全。因為現在那裡放著錢,這讓它成為一個更誘人的目標。過去,人們並沒有太大的動力去保護自己的安全,因為當你失去隱私,當你的資訊被駭客入侵時,你並不會立刻感覺到。這會帶來許多不良後果,但這些後果並不是直接
可見的,也不會立刻感受到。如果有人闖入並從你的數位裝置中偷走幾百美元、幾千美元,或者更糟的是幾萬美元,你就會感覺到,而且會立刻感覺到。你可以有形地將其聯繫起來,嗯,準確來說是無形地。你可以無形地,但非常、非常明顯地將其與你的安全聯繫起來。所以不幸的是,這是那種只有透過痛苦經驗才能真正學到的教訓之一。因此,我可以花很多時間告訴新手如何以及為什麼要保護他們的帳戶。直到他們在自己的某個裝置上安裝了加密貨幣熱錢包,然後失去了那個熱錢包裡的錢。否則他們很難理解,或者很難被我所說的話激發動力。現在,在整個對話中,另一件非常需要理解的重要事情是,安全
是一種平衡。這一切都關乎平衡。這就是風險管理。沒有所謂 100% 的安全。沒有所謂完美的安全。你無法防範所有的威脅。你必須弄清楚你面臨哪些威脅。你必須弄清楚你實際上可以防範其中多少威脅,以及你打算投入多少心力來防範這些威脅,這取決於你實際在保護什麼。你還必須發現,當你正在建構的解決方案、你正在使用的系統變得過於複雜時,它本身就會成為一種安全風險。我們經常看到新手,尤其是在加密貨幣領域,制定出過於複雜的解決方案。然後我們最終會落入安全與韌性平衡的錯誤一端。在這種情況下,保護你加密貨幣的機制過於複雜,以至於事實上,你最終
會失去它,因為你使用了非標準的東西,因為你忘記了密碼,因為沒有人確切知道你做了什麼,而你又無法幫助他們。所以安全無法達到百分之百,這一切都關乎平衡。而簡單性通常是安全的一個關鍵要素。你可以在自己的技術能力範圍內應用,並且可以持續應用的簡單安全解決方案。而且在遇到問題時可以從中復原的解決方案,要比那些迫使你超越自身技能水準、將你置於未知領域並使你更有可能犯錯的複雜安全解決方案來得好。這通常是你會聽到很多糟糕建議的地方。人們會建議你實施一個看似非常、非常複雜的安全方案。因為它如此複雜,所以感覺很安全。感覺就像有一個
讓安全性保持簡單 (8:40)
發生了很多事情,所以它一定非常複雜且嚴肅。在許多情況下,你最終會超出自己的技術能力並實際損失金錢,這不是因為被盜,而是因為你在超出自己技能水準的情況下操作而犯了錯。所以讓我們保持簡單。讓我們以標準為基礎。讓我們使用最佳實踐、常見工具並始終如一地使用它們。這樣我們就能非常安全。我們將直接進入,我們將直接進入第一個問題。到目前為止,直播中有 220 人。感謝你們給我關於影片和音訊的回饋。能知道這些總是好的。只是讓你們知道,今天早些時候我們這個地方發生了一點停電,如果我們斷電了,你們會知道的,因為直播會停止。網路路由器和 Wi-Fi 至少需要五分鐘才能
重新啟動。我或許能重新連線,但即使只是停電一秒鐘,我也必須等待五分鐘才能回來。如果我無法重新連線,我們會在聊天室中通知大家。所以請耐心等待,希望我們不會斷線。但你知道,這是我們今天必須管理的風險之一。讓我們來看看今天的第一個問題。第一個問題來自匿名者 (anonymous),選擇以匿名方式提問,本身就是一個很好的首要安全機制。如果我有閱讀障礙,且不擅長記住長密碼,管理許多獨特且高強度密碼的最佳方法是什麼?這是一個很好的問題。這是一個好問題,因為它探討了一個更廣泛的議題,也就是記憶事物的困難度。我們都以為自己的記憶力比
實際上的還要好。我們之中有些人可能在記憶、閱讀、寫作或其他有助於記住密碼的技能上有困難。而且可能知道自己記不太清楚。所以這位匿名者是從閱讀障礙患者的角度來問這個問題,但這同樣適用於每個人。每一個擁有容易出錯的人類記憶的人。人類非常不擅長長時間記憶,特別是那些不具備記憶點的事物,因為它們沒有與圖像、經驗或情感連結。要記住與我們生活毫無關聯的事物幾乎是不可能的,因為我們的大腦非常擅長將不相關的資訊最佳化並清除。如果你試圖記住的事物沒有連結到某種情感、經驗或圖像,大腦就會說:這與我的快取演算法不再相關,然後將其丟棄。而許多
人忘記密碼正是因為這個原因。所以我實際上將在這裡使用一些資源,以更廣泛地回答這個問題,並幫助大家對密碼的基本原則有更扎實的了解。為此,我將使用一些視覺輔助工具。我通常不使用視覺輔助工具,但我認為在這個特定情況下它們會很有用。讓我們看看效果如何。好的,所以我們要討論的第一件事,是密碼管理系統。幾十年來,我們一直在訓練使用者建立包含各種字元的長且隨機的英數密碼。這些是人類無法記住的密碼。這些密碼實際上會助長不良行為。它們會鼓勵一種行為,讓你最終使用相同的取巧模式,例如將 Satoshi Nakamoto 中的 O 替換為零,第二個單字的第一個字母大寫,並將 T 替換
為 7,最後再加上井字號 (#)。現在你有了數字、小寫字母、大寫字母和字母。但如果你必須在多個網站上使用它,你會做一點小改變。然後你可能必須在最後加上一個數字。接著你就會面臨這個非常棘手的記憶問題,也就是網站迫使你創造變化,但變化讓你根本無法記住,尤其是這種複雜度的密碼。因此,你最終會在許多網站上重複使用你的密碼。這幾乎是每個人都會做的事。而這對安全性來說非常、非常糟糕。現在,了解如何解決這個問題的最佳資源之一,其實是一部漫畫。所以我打算給你兩個建議。第一個是不要試圖自己建立密碼,
密碼管理器 (13:50)
使用密碼管理器。密碼管理器是一種為你產生隨機密碼並幫你記住它們的軟體。這些系統解決了兩個問題:人類的記憶是不可靠的,而人類產生的隨機性更糟。我們非常不擅長隨機。我們非常不擅長記憶,而我們對於記住隨機事物的能力更是糟透了。所以你無法透過變得更自律、更聰明、更小心來解決這個問題。你無法透過在螢幕上貼便利貼,或是做那些你常在這裡看到的事情來解決,對吧?這些都是你在辦公室裡經常看到的。把密碼寫下來並不是個壞主意。前提是你寫下來的地方實際上是安全的。所以最基本形式的密碼管理器,就是一本小冊子,一本密碼本。而且,你知道的,儘管我會說這不是很現代化,它
不是很先進的技術,也沒有解決產生隨機密碼的問題。老實說,這是我父母使用的解決方案。因為如果他們寫下來,他們的密碼就可以有更多變化。如果他們把那本小冊子放在安全的地方,例如家裡、上鎖的抽屜之類的地方,這是一個相當持久的機制。現在,你們大多數人在技術上可能比我父母更成熟。所以讓我們來談談一個對你來說更好的解決方案。所以更好的解決方案是下載軟體來為你做這件事。市面上有一大堆密碼管理器。好消息是,對於基本功能來說,這些都是免費的。你可以使用像是 Last Password 或 LastPass、1Password、Bitwarden 以及其他各種產品,如 KeePass 等等。現在,這些將會
有許多不同的功能,你需要弄清楚你實際需要哪些功能。我的建議是先弄清楚你需要在哪些裝置上使用它,因為使用密碼管理器的一大優勢,實際上就是你可以讓所有的密碼在所有裝置上同步。所以如果你使用 Windows、Android 和 iOS,嗯,這可能很簡單。所有的密碼管理器都會支援所有這些平台,你不會有問題的。你也會希望它支援你使用的瀏覽器。像是 Chrome、Firefox、Edge、Opera、Brave,或是你作為擴充功能使用的任何其他瀏覽器,這樣你就可以自動填寫並提交密碼到網頁表單中。我想你們都看到我的攝影機剛剛顯示記憶卡已滿。直接在直播中發生,這
真是幫了大忙。是的,我的 SD 卡剛剛滿了,所以我不再用攝影機錄影了。哎呀。喔,好吧,沒關係。我們繼續。所以挑選密碼管理器的方法之一,就是弄清楚你需要支援哪些裝置。如果你有某些奇怪的裝置,這就會變得有點棘手。舉例來說,我在桌上型電腦使用 Linux。我已經在桌上型電腦使用 Linux 很長一段時間了。而且,你知道的,我認為今年實際上是 Linux 稱霸桌上型電腦的一年。這將會發生,各位。不,才怪。但無論如何,我使用它,它對我來說很好用,但它並沒有被廣泛支援。所以並非所有的密碼管理器都能在 Linux 桌面環境上運作,或者運作得很好。幸運的是,大多數密碼管理器都可以作為瀏覽器擴充功能在瀏覽器中運作,這使得它們大多是跨平台的。所以對我來說,一個
跨裝置選擇密碼管理員 (18:22)
密碼管理員需要在 Android、Windows、Linux、Chrome、Firefox 和 iOS 等平台上運作。這樣我就可以將它安裝在所有裝置上,從而在所有裝置上存取我的所有密碼。好的。所以為了回答匿名者提出的問題:如果我有閱讀障礙,且不擅長記住長密碼,管理許多獨特且高強度密碼的最佳方法是什麼?最好的方法是使用密碼管理員,它會為你隨機產生獨特且高強度的密碼。而且,一旦你選擇了密碼管理員,你只需設定一個密碼,而那個密碼就是你的密碼管理員密碼。我還建議你使用雙重驗證機制,這樣別人才無法僅憑那個密碼就登入並下載你的密碼檔案。你需要第二重驗證。我們將在
今天這部影片的第二部分討論這個問題。我們還有一個來自觀眾的後續問題,那就是我該如何信任這款軟體?嗯,簡單的答案是,你要尋找的軟體必須是廣泛使用的、經過資安專家審查和稽核的,或者是開源的,又或者具備以上所有條件。我認為我之前提到的所有軟體都符合這些要求。現在讓我們回到我之前提到的事情,還記得我說過安全性不是百分之百的,安全性是一個平衡和降低風險的問題。所以現在讓我們把這兩個風險攤在桌面上。風險一,我可以信任密碼管理員嗎?如果我下載的密碼管理員遭到入侵或可能被入侵,或者存在一個未被數百萬其他使用者和資安專家注意到的錯誤,而他們正在
審查它?風險二,我可以信任我的大腦嗎?嗯,如果你這樣想,問題就很明顯了:有密碼管理員總比沒有好。這與我們在加密貨幣中討論硬體錢包與軟體錢包時所做的風險管理是一樣的。我可以信任硬體錢包製造商嗎?嗯,某種程度上可以,但不是百分之百。還是存在一些風險。這些風險與沒有硬體錢包相比如何?同樣,答案是任何硬體錢包都比沒有硬體錢包好。那麼,你可以實際管理的風險有哪些?在取得這個密碼管理員時,確保你擁有正確的軟體非常重要。你不能只是從某個隨機網站下載它,用著 Groupon 優惠券去換一個本來就免費的東西,然後
讓你的系統感染木馬程式。但回到重點,有密碼管理員總比沒有好。因此,你不應該嘗試自己想出獨特的密碼。如果網站要求你輸入八個或更多字元的英數密碼,你就照我做的做。點擊那個寫著「產生安全密碼」的小按鈕。將長度設定為 31 個字元、75 個字元、213 個字元。我喜歡測試網站,看看我能把密碼設多長,直到它們開始抗議說太長了。經過這麼多年,密碼管理員和系統一直對我大吼:這不夠長、這不夠複雜。我想看到網站開始抗議:這太長了、這太複雜了。拜託老兄,你在做什麼?我的資料庫裝不下。所以,產生一個高強度的隨機密碼吧。那麼,我能記住這個密碼嗎?
當然不行。我的密碼管理員裡有 800 個密碼,每一個都超過 20 個字元,是完全隨機的英數字元,包含符號、大寫、小寫和數字。我不可能記住其中任何一個,更不用說全部 800 個了,但我確實記得我的主密碼。好了,讓我們看看還有什麼其他問題。進入下一個問題,這將讓我有機會討論我想談論的下一個主題。匿名者問:當我使用高強度密碼產生器時,它在很多地方都不起作用,密碼或密碼短語是否有最低可行的安全標準?是的。網站對密碼有著荒謬的期望,而且通常是糟糕的期望。例如,它們會鼓勵互相矛盾的資訊。讓我給你一個例子。密碼必須超過八個字元,包含符號和數字的英數字元,但我們停用了貼上到表單的功能。什麼
糟糕的密碼原則 (24:02)
你在做什麼?你到底在做什麼?為什麼你要求我設定一個複雜的密碼,我顯然會使用密碼產生器,然後你卻不讓我貼上它。或者不讓我把它貼到表單的確認欄位裡?你瘋了嗎?你在做什麼?別再這樣做了。還有其他要求 8 到 12 個字元的密碼原則。真的嗎?你希望我把它弄得很複雜,但又不能太複雜。所以我不能用 13 個字元,這根本說不通。或者是奇怪的符號組合。喔對,我們可以使用符號,但只能用井字號、驚嘆號和星號。我們不接受單引號和 @ 符號,因為那會搞混我們的正規表示式 (regex)。這些全都是非常、非常糟糕的密碼原則。或者每個月都要更改密碼,但不能重複使用上個月用過的任何密碼,而且還要讓它們保持
像那樣異常複雜。這些都是奇怪的密碼原則,你會遇到很多這類情況。歸根究柢,你不能指望由不同公司營運、擁有不同安全團隊和安全原則,以及不同安全意識水準的各個網站,能制定出一個適合大多數使用者的良好原則。請記住,他們要應對的使用者範圍極廣,從「我試圖輸入密碼管理員產生的 37 個字元隨機密碼」的人,到輸入「12345678」的人都有。這顯然是網路上最常見的密碼,或者是「password1234」,我認為這是網路上第二常見的密碼。因此,要找到一個對所有這些人都有效的原則,對網站來說是非常、非常困難的。所以我會做的是
就是不斷嘗試。我會丟出一個我喜歡的那種隨機產生的密碼,你知道的,37 個字元加上各種符號。然後網站就會抱怨說,我不太喜歡星號,你為什麼要這樣對我?所以我會關掉一些符號,或者它會說密碼太長了,那我就把它弄短一點。或者它會說,其實我還需要至少兩個大寫字母,但不能以數字開頭。我就會覺得,呃,拜託。我會一直嘗試,直到弄出一個可行的密碼。但無論我得到什麼,它都會有兩個保證。它會又長又複雜,而且完全是隨機產生的,不依賴人腦來為我產生或記住它。而且我盡可能使用了最高的複雜度。好的,那麼有位匿名者
為我們提出了下一個問題,這讓我能繼續這個話題。也許是個蠢問題,但密碼管理員不是位於雲端嗎?因此難道不會輕易成為駭客的目標嗎?問得好,匿名者。這些裝置的運作方式是這樣的。你的密碼資料庫備份儲存在雲端。然而,該備份是加密的,而且是端對端加密。意思是它在你的本機電腦上進行加密。它以加密狀態傳送到雲端,然後再次解密,且只能在你的本機電腦上解密。它的加密和解密方式是使用你的主密碼。而這個主密碼本身會通過一個稱為「延伸器 (stretcher)」的機制。延伸器的作用是採用一種密碼延伸演算法,或者說,它實際上是一種雜湊演算法。它的作用是接收你輸入作為主
密碼的單字或字元,然後讓它通過數千輪的雜湊運算。這需要時間,而其結果是產生一個無法被暴力破解的密碼。因為假設我輸入了一個密碼,將它加密或進行一次雜湊運算,然後傳送到伺服器。很好,那它就會面臨一種說難不難、相對容易的攻擊,稱為彩虹表 (rainbow table)。接下來會發生的事是,攻擊者會拿走你能想像到的所有最常見密碼,對它們進行雜湊運算,並產生一個雜湊密碼資料庫,可用於發動該攻擊。現在,另一方面,或者我也可以不斷嘗試不同的密碼,一次又一次,直到找到正確的密碼。這就是典型的暴力破解攻擊。但如果每個密碼都被雜湊了 25,000 次、50,000 次或 100,000 次,每次我
密碼資料庫是如何加密的 (29:19)
在我的電腦上輸入它需要兩到三秒鐘。這對我來說沒什麼大不了的。我第一次登入瀏覽器或電腦以啟動密碼管理員時,需要兩到三秒鐘,就兩到三秒鐘。但是,如果你每次輸入密碼時都必須增加兩到三秒鐘,那麼,這就完全破壞了暴力破解的方法。這也使得生成這種預先計算的密碼雜湊資料庫變得不可能,因為即使只嘗試幾千種組合也會花費太長時間。而且,如果你的主密碼夠複雜,產生它所需的密碼組合遠不止幾千種。因此,密碼資料庫通常使用相當直接的、基於標準的加密演算法進行加密。AES256 可能是最常用於此目的的演算法,但它就像是
那樣。它是一種對稱式加密演算法,使用單一金鑰(私鑰)來加密和解密資料。加密和解密使用相同的金鑰,這就是為什麼它被稱為對稱式加密演算法。而該金鑰是透過對你的主密碼短語進行重複雜湊運算而產生的。因此,只要你只在本機裝置上輸入你的主密碼短語,且該裝置是受信任的,那麼你就能獲得高度的安全性。是的,密碼資料庫在雲端,但它是加密的,除非擁有你的主密碼短語,否則沒有人能打開它,而你絕不會在除了你自己裝置以外的任何地方輸入它。當然,這其中存在一些問題。因為如果你的本機裝置上有密碼鍵盤側錄程式,那麼它就能捕捉到你輸入主密碼短語的過程。但有趣的是,這還不
足以讓攻擊者得逞,如果你啟用了雙重驗證。對攻擊者來說不夠的原因是,他們可能會擷取到你的主密碼短語,但如果沒有雙重驗證(希望它是綁定到你的機器或其他東西上),他們就無法從雲端下載加密的資料庫。而他們並沒有那第二重驗證,稍後我們會再多談談雙重驗證。我們正在建立防護層。我不知道你是否看出了我們在這裡做什麼,但是的,我們正在檢視每一個可能發生的問題,並增加安全防護層。安全不是「這裡有一個能阻止一切的東西」。安全是在攻擊者的道路上設置障礙。是的,你可以突破這個障礙,但在它正後方還有另一個障礙。然後,如果你突破了那個障礙,在它正後方還有
另一個障礙。如果我讓這些障礙足夠堅固,而且有著一層又一層豐富的安全防護,同時我還確保你突破某一層所需的技能與突破另一層所需的技能不同。並且我確保你突破某一層所需的工具和預算與另一層不同。那麼,你在不被我發現、不被我阻止的情況下成功穿透所有這些防護層的機會,甚至是大規模地對許多受害者這樣做的機會,就會非常、非常、非常低。這就是重點所在。好了,我要在這裡快速喝口咖啡,並在聊天室裡和你們聊聊,同時我去尋找其他問題,是的,其他你們可能想問的問題。讓我放上一個
小頁面,我想感謝所有贊助者,是你們讓我有可能製作這類教育素材,同時我用印有「沒有統治者的規則 (rules without rulers)」的新馬克杯喝咖啡。這是我最近比較受歡迎的演講之一。它還附帶一個小小的橘色比特幣。喔我的天,別再對我們打廣告了,我們會買你的周邊商品的。繼續講好內容吧。馬上來。我們回來了。好的,我可以把這個放在旁邊。我把它轉一下,這樣看起來比較好。好了。好的。所以我剛才在看問題,試圖找到一個能讓我以盡可能簡潔的方式繼續這個小故事的問題。所以現在我們來談談密碼短語,為此,我要請 Bruce 幫個忙,他問道:對於使用強密碼作為錢包密碼短語有什麼看法?
錢包密碼短語與 BIP-39 (35:02)
布魯斯 (Bruce) 在這裡談論的是為使用 BIP-39 助記詞的人提供的可選密碼短語。它也被稱為第 25 個單字,因為助記詞通常由 24 個單字組成。理論上,如果你加上第 25 個單字——但我不會稱它為第 25 個單字,我們將以它的實際名稱來稱呼它,也就是「可選的密碼短語」,而且它可以不只一個單字。這就是錢包密碼短語。這是一個額外的可選密碼短語,你可以將其加入助記詞中,讓助記詞具備雙重認證的效果。這樣一來,如果有人偷走了你寫在辦公室紙上的 24 個單字,他們也無法立刻拿走你的錢,因為還有一個錢包密碼短語。現在,還記得我們之前討論過單一密碼,也就是
密碼管理員中使用的主密碼嗎?我們說過,該密碼會被重複進行雜湊運算,這能防止暴力破解。在 BIP-39 標準中,可選的密碼短語和助記詞也採用了完全相同的做法。一種名為 PBKDF2 的密碼延展演算法,會透過執行 2000 輪的 SHA-512 雜湊運算來對其進行延展。這其實是一種妥協,是 BIP-39 標準中的妥協,因為 BIP-39 這個錢包助記詞標準必須能夠在硬體錢包裝置上運行,而這些裝置是差不多這麼大的小型 USB 裝置,並沒有很強的處理能力。因此,實際執行 2000 輪的 SHA-512 雜湊運算需要幾秒鐘的時間。大約兩、三秒。這意味著,不幸的是,這並不是非常好的保護;它雖然足夠,但還是可能被暴力
破解,如果你有一台效能強大得多的電腦。舉例來說,如果你使用 GPU,或者更好的是,使用專為 SHA-512 設計的 ASIC 或 FPGA 裝置,那麼你實際上可以在不到一秒的時間內完成 2000 輪運算。因此,你可以針對同一個種子,每秒嘗試數百甚至數千個密碼或密碼短語。只要有足夠預算購買合適的硬體,這將使你能夠攻擊帶有可選密碼短語的 BIP-39 助記詞。但同樣地,這並非易事。所以我們討論的是多層次的安全防護。那麼我們來談談密碼短語。我們使用「密碼短語 (passphrase)」一詞而不是「密碼 (password)」,是為了表明它不是單一的字詞。它實際上是一個短語。就像助記詞是一個短語一樣。它是一系列由空格分隔的單字。這使得它更容易記憶,也更容易
寫下和閱讀,即使字跡稍微模糊,你仍然能夠讀懂它。事實證明,人類非常非常擅長模式識別。因此,如果你用自己的筆跡寫下一系列小寫單字,即使單字有三分之二被弄髒了,你還是能讀懂它,或者能做出相當準確的猜測。而且,如果這些單字對你來說有某種意義,或者你能用這些單字在腦海中創造出一個畫面,你實際上能比記住一個由大小寫字母和數字組成的隨機生成密碼,更好地記住一個短語。但為了更好地解釋這一點,我將借助蘭德爾·門羅 (Randall Munroe) 的幫助。你過去可能聽我談過蘭德爾·門羅。蘭德爾·門羅是一位圖文藝術家,他創作了名為
XKCD 的漫畫。XKCD 是一部圖文漫畫,展示了各種技術概念,同時也包含了引人發笑的社會批評和各種奇妙的想法。裡面有非常非常聰明的點子,而且呈現得非常非常好。你知道,這就是那種「總有一篇 XKCD 漫畫適合你」的情況,幾乎任何你想好好解釋的概念,都有一幅對應的 XKCD 漫畫。所以我打算用一個你們許多人可能都聽過的漫畫,它被稱為「correct horse battery staple (正確的馬電池釘書針)」。如果這聽起來像是在胡言亂語,請稍等一下。好的,讓我們在螢幕上看看這幅漫畫。這幅漫畫叫做,這幅叫做「密碼 (passwords)」。經過 20 年的努力,我們成功地訓練每個人使用對人類來說難以記憶,但對電腦來說卻很容易猜測的密碼。如果你看看這裡的
XKCD 密碼短語概念 (40:47)
左上角,這是網站通常會要求你設定的典型密碼。所以這是由大寫、小寫字母、數字和符號以某種順序組成的。你在這裡看到的是,使用者為了產生並記住這些密碼時通常會做的事:他們會試圖把一個單字打亂。所以這是單字 Troubadour。一個四處旅行、歌頌英雄事蹟的音樂家。我想這就是 Troubadour 的意思。一個 Troubadour 加上數字 3。所以在這個例子中,你看到的東西看起來有點隨機,但其實並非真正的隨機。現在,這個特定的東西可以從電腦的基礎來分析。從數學的角度、從資訊理論的角度,來看看這個東西有多隨機。或者說這種東西包含多少隨機性。所以在這個特定的例子中,我們大約有 28 位元的熵。這意味著這個
複雜度可以用一個 28 位元的二進位數字來表示,即 2 的 28 次方。如果你能以每秒猜測一千次的速度進行,暴力破解大約需要三天的時間。所以這基本上就像是一個網路服務或類似的東西,你在那裡每秒嘗試多次猜測。如果你有一個從網站上偷來的資料庫,當然你可以在一般電腦上每秒進行遠超過一千次的猜測。但無論如何,這對電腦來說其實很容易猜到。這對電腦來說很容易猜到,因為 28 位元的熵是不夠的,但儘管對電腦來說,只要嘗試這個序列中大小寫字母的所有可能組合就能輕鬆猜出並暴力破解,對人類來說卻非常難以記憶。而就在
下方,Randal Monroe 向我們展示了一種不同的方法,那就是使用簡單的英文單字,並用空格隔開。這是一個助記密碼短語,而不是密碼。在這個例子中,只要隨機挑選四個單字,就四個。隨機挑選四個單字實際上會產生——如果你假設它是來自一本大字典,也許是一本包含十萬個單字的英文字典。那麼你大約會得到 44 位元的熵。44 位元的熵在每秒猜測一千次的情況下,需要 550 年才能破解。在每秒猜測一萬次的情況下需要 55 年。在每秒猜測十萬次的情況下需要 5 年。這實際上很難被暴力破解,而且它只有四個單字。但最重要的是,它對人類來說很容易記憶。這就是為什麼我們在 BIP 39 中使用助記詞。所以如果你想想「correct horse battery staple」,你可以創造出這個——即使這些是隨機的
單字,你可以創造出這種奇怪的心理圖像,為你提供聯想的基礎。而聯想正是人類記憶運作的方式。所以你看到這裡畫了這張小圖。那是一個電池釘書針,正確。所以那是一匹馬在說那是一個電池釘書針,然後有人說正確,那是一個電池釘書針,一個正確的馬電池釘書針 (correct horse battery staple)。如果你對一個極客 (geek) 說出這四個單字,他們會立刻知道你在說什麼,因為這句話太好記了,網路上有數百萬人已經成功地從這單一的漫畫和例子中記住了它。所以對於這些龐大的事物,你可以去 Xkcd.org 看看這個系列的漫畫。非常棒的作品。XKCD。但我認為這有助於你理解這個重點。所以這是一個密碼短語,這是一個更好的方式來產生一個
將密碼短語用於錢包與加密 (45:27)
密碼管理員的主密碼,以及錢包的選用密碼短語。因此,你實際上可以藉此為你的錢包建立一個選用的密碼短語。這非常難以暴力破解,即使使用 GPU 或 FPGA 也是如此。即使你能進行 2000 輪的 SHA-512 運算,要暴力破解僅由四或五個單字組成的密碼短語,仍然需要幾個月甚至幾年的時間。如果你使用六個單字,你就會擁有一個非常強大的機制。現在,你不會只使用這個。假設你有一個 BIP-39 助記詞,並且你想加入一個選用的密碼短語,你說,好吧,我要從字典中隨機挑選四個單字。然後這將成為我的選用密碼短語,我可以記住這四個單字並把它們背下來。而且我也會將它們備份
到第二個地點,因為雖然我能記住它們,但如果我發生了什麼事怎麼辦。我會希望我的遺產憑空消失,只因為沒有人能找到我使用的選用密碼短語嗎?不,我顯然不希望這樣。所以我必須也備份密碼短語,我要備份助記詞,也就是種子。我也會備份選用的密碼短語,並將它們保存在兩個不同的地點。我也會採取措施,如果有人偷看了我的種子,我就會知道他們拿到了我的種子,這樣我就知道要在他們使用強大的電腦跑完密碼短語的所有可能組合之前,轉移我的資金。我這樣做的方法非常、非常低科技。就是一個塑膠袋,一個防篡改的塑膠袋。你可以在
各地的線上零售商買到一百個一包的這種袋子。它們被用於賓果遊戲和教堂等場合的現金捐款。它們被用來防止員工偷竊。而且它們是不透明的,一旦你將其密封,唯一能拆封的方法就是撕開或剪開它們,這會留下明顯的痕跡。你無法透過冷凍、加熱或拆封後重新密封而不留下痕跡。因此,如果你將助記詞和選用的密碼短語放在那樣的防篡改袋中,如果有人偷看,你就會知道他們偷看過。所以,如果你每隔幾個月檢查一次你的儲存地點,你就有了良好的安全基礎。好了,我要做個總結。我們大約還要再進行 45 分鐘,因為我還有很多關於雙重
驗證要談。但我希望你們了解我們是如何處理這個密碼短語概念的。所以,在下一個部分,我將討論如何安全地產生密碼短語。讓我們來一場表情符號風暴,我呼籲 YouTube 上的所有社群成員,透過發起表情符號風暴,向大家展示我頻道自訂表情符號那令人難以置信的創造力和表現力,開始吧。好了,我回來了。所以你想要建立一個密碼短語。而且你知道這個密碼短語最好是我們所知的 XKCD 密碼短語形式,例如「correct horse battery staple」。這是一系列隨機挑選的英文單字,你可以為它們建立心理聯想和對應的圖像。你將會使用這個密碼短語,也許作為你的密碼管理員的主密碼,而你將必須輸入它
安全地產生密碼短語 (50:25)
每天在不同裝置上輸入很多次。我將類似的密碼短語用於其他用途,而且我不會重複使用同一個密碼短語。但我發現,在變得太複雜之前,我大概能記住三到四個。因此,我會需要一個這樣的密碼短語,作為我 BIP39 錢包的選用密碼短語。我的筆記型電腦硬碟加密也會需要一個這樣的密碼短語。我偏好使用加密硬碟。在啟動我的筆記型電腦或任何裝置之前,你確實需要輸入密碼短語。而那個密碼短語也是這種形式。它是一個助記詞密碼短語。它使用一系列英文單字,中間用空格分隔。為了保持一致性,我總是將我的助記詞密碼短語全部打成小寫,中間加上簡單的空格。所以是小寫單字、空格、小寫單字、空格、小寫單字,然後按下 Enter。它們可以
長度在四到八個單字之間。你必須決定你需要什麼等級的安全性,這取決於你在哪裡使用它。從該密碼短語衍生出加密金鑰的過程中使用了多少輪的雜湊運算,以及你面臨的威脅等級為何。但四個單字可能是你使用的最低數量,而八個單字可能是你在開始忘記和混淆之前的最大數量。特別是對於你不常使用的密碼短語。你越常使用一個密碼短語,越常輸入它,你就可以把它設定得越長。因為這樣你就會被迫透過練習來記住它。所以我可以在我的密碼管理員上使用稍微長一點的密碼短語,因為我每天都會輸入。我會使用稍微短一點的密碼短語,
例如,作為錢包上的選用密碼短語,並在我的裝置上使用更短的密碼短語作為選用密碼短語,用於我的硬碟開機加密,因為那個我可能一個月才輸入一次,而且我可能更容易忘記。那麼我們該如何挑選這些單字呢?有很多方法可以做到,但你會希望它們具有隨機性。你不希望它們是一首歌。我不知道,某首歌的歌詞。我本來想舉一首歌為例,但我認為那會引起太多爭議。所以我乾脆跳過。你不希望它是你支持的足球隊的口號。你不希望它是你所在州的標語。你不希望它是《星艦迷航記》(Star Trek)裡的台詞。為什麼?因為所有這些句子都存在於
駭客收集的字典中。任何你如果在 Google 中作為一個句子輸入可能會得到搜尋結果的東西,當然,你不會把它輸入 Google,因為那會破壞安全性,你絕對不應該使用。你絕對不應該使用曾經被說過,或者可能被某人說過的句子。因此,相反地,你應該挑選隨機的單字,然後嘗試在腦海中建立一個對你有意義的圖像或聯想。它可以非常奇怪和荒誕,只要它對你有意義,並且你可以在腦海中重複那個圖像並進行一些練習即可。這是一個好方法。那麼你該如何挑選隨機的單字呢?嗯,有很多方法可以做到。你可以翻開字典的不同頁面,然後在不看的情況下把手指放上去,這不是非常
好。你可能會把大部分時間花在挑選字典中間三分之一的頁面,以及用手指點擊頁面中間三分之一的位置。但這其實已經足夠好了,因為字典裡有很多單字。一本又大又厚的優質字典。所以你將會獲得足夠的隨機性。這是一個你可以在家裡輕鬆完成的方法,不需要任何額外的努力。如果你想更進一步,你可以使用一種叫做 diceware 的技術。D-I-C-E-W-A-R-E。diceware 是一種機制,你可以下載一個單字清單。你可以下載 diceware 索引清單,你會找到的網站是... 你可以很容易地在 Google 上找到這個。出現的第一個結果,也就是 diceware.D-M-U-T-H dmuth.org,就是正確的網站。如果你使用那個網站,你可以下載該清單。那麼接下來是
Diceware 方法 (55:27)
這份清單有趣的地方在於,它是用包含 1 到 6 數字的號碼來建立索引的,這讓你可以使用骰子,普通的骰子,一般的骰子。你擲五次骰子,產生一個五位數,其中所有數字都在 1 到 6 之間,然後你在 Diceware 清單中尋找對應於該索引的單字,把它寫下來,你就得到了隨機性。你獲得了專為普通骰子設計的隨機性,這非常方便。如果你手邊剛好有骰子,你可以輕鬆做到這一點。這是非數位的,你將清單下載到自己的電腦上,然後只需從該清單中隨機選擇單字。再說一次,這是產生這種隨機密碼短語的絕佳方法。當然,你也可以在電腦上使用程式。但問題當然是
如果你的電腦上已經有木馬惡意軟體或鍵盤側錄程式,那可能會造成一些麻煩。我使用一個名為 XKCD pass 的程式,它實際上會產生相容於 XKCD 的密碼短語。我產生了一大堆密碼短語。然後我從那份非常非常長的清單中隨機挑選一個。而且我不會在電腦上留下任何關於我挑選了哪一個的痕跡。我只是在非常長的清單中不斷向下捲動。這樣一來,要擷取它就困難得多。再說一次,這關乎分層防禦。它並不完美。整個過程中存在許多困難和漏洞。好的。現在我們已經討論了密碼安全性,並且結合了許多主題。我們討論了密碼的複雜性。我們討論了分層安全性。我們討論了人類記憶和人類隨機性的弱點。我們討論了為什麼
使用軟體比不使用軟體好,即使你不能百分之百信任軟體。我們討論了如何產生你的主密碼短語,以及你應該使用哪種類型的主密碼短語,然後你可以使用它從密碼管理員產生你的工作階段密碼或網站密碼,這些密碼是複雜的英數字組合且隨機的,根本不可能記住,並讓你的密碼管理員來記住它們。所以下一個主題是雙重驗證。那麼,什麼是雙重驗證?雙重驗證是指你使用兩種不同的方式來驗證自己的身分。因此,身分驗證基本上意味著證明你就是你所聲稱的那個人。而雙重驗證意味著使用兩種不同的機制來證明你就是你所聲稱的那個人。在電腦安全領域,我們將多重要素驗證和驗證要素描述為三種事物之一。你可能擁有的三個要素
是你所知道的事物,例如密碼就是你所知道的事物。你記住了它,因此你知道它。基於知識的身分驗證也是這種「你所知道的事物」要素的一種形式,例如你出生在哪裡?你第一台攪拌機的品牌是什麼?你在學校親吻的第一個人是誰?無論是什麼問題。現在,顯然你所知道的事物是一個要素,而且是一個很好的要素。前提是,第一,你能記住它,而且沒有其他人能輕易猜到它。這就是我們討論過的密碼複雜性發揮作用的地方。第二種身分驗證形式。一種驗證要素是「你本身具備的特徵」。而「你本身具備的特徵」通常指的是生物辨識技術,這是一種關於你身體特徵的不可變的測量方式,無法被偽造。因此,指紋、虹膜掃描、當你
重複你應該重複的短語時的聲音。你的步態、你的身高、用於臉部辨識的臉部特徵,所有這些都是生物辨識要素。也就是「你本身具備的特徵」。生物辨識要素有其優點和缺點。它們可以作為另一個要素的補充來使用。當然,生物辨識技術的一大缺點是,如果它被複製或遺失,就無法替換。舉例來說,如果我的指紋外洩,每個人都能取得我的指紋,並且能像你在那些間諜電影中看到的那樣用乳膠重建它們,那麼我無法改變我的指紋。因此,這種生物辨識對我來說就不再有用了。我們已經看到生物辨識技術相當難以應用,但作為第二要素非常有用,絕不能作為主要要素。我絕不會使用生物辨識作為驗證自己身分的唯一方式,例如對我的
生物辨識身分驗證 (1:00:44)
手機。因為正如你所見,每個八歲小孩都知道,如果你在媽媽睡在沙發上時,把她的 iPhone 拿去按她的手指,你就可以去 Amazon 買東西。你可以成為你專屬的聖誕老人。只要你能拿到媽媽的拇指,或者把臉部辨識裝置舉到爸爸面前對準他的臉。當爸爸在烤肉派對忙完後呼呼大睡時。單靠生物辨識是不夠的,但它是一個非常好的第二因素。最後一個因素是你擁有的東西,你持有的東西。而這個生物辨識因素通常包含在一個額外的裝置中。這是一個作為安全因素由你持有的裝置。金鑰就是一種「你擁有的東西」的身分驗證因素。數位金鑰、私鑰,甚至是實體的
用來開門的鑰匙。現在越來越多基於「你擁有的東西」的第二因素被製成 USB 裝置。事實上,我有一把一直插在我的筆記型電腦上。你們很多人可能以前聽我談過這些。這是一個 YubiKey,這個 YubiKey 裝置非常小,當我把它插入筆記型電腦的 USB 埠時,唯一凸出來的只有一個對觸控敏感的小金屬片。當我嘗試使用它時,它要求我觸碰。當我觸碰時,我就啟動了它,它會從我的電腦發送一組代碼。現在,如果沒有在我的電腦側邊輕觸進行身分驗證,你就無法登入我的電腦以及我使用的許多其他服務。現在,如果你偷了我的資料庫或我的主密碼短語,或者
你猜到了我的密碼,你仍然無法解密或打開這些裝置,也無法存取我的各種帳戶,因為你沒有這個東西。我有這個東西。當然,這是一個額外的安全因素。單靠它本身是不夠的,因為如果有人偷了我的筆記型電腦,現在他們有了這個東西,但幸運的是他們沒有我的密碼,這是另一個因素。所以一般來說,當我們談論多重要素驗證時,我們認知到沒有任何單一的身分驗證因素本身是足夠的。所有的身分驗證因素都有失效模式。但如果你使用多重要素驗證,而且你的身分驗證因素是多樣化的,那麼其中一個身分驗證因素的失效模式,會留下另一個作為你的保護。所以你擁有了多層防護。你知道在每部間諜電影中,當他們基本上砍下壞人的手指,
然後把它拿到指紋讀取器上用來開門,嗯,沒有門是那樣運作的。所有的門也都要求輸入 PIN 碼,正是因為如果你偷了 PIN 碼,你沒有手指。而如果你偷了手指並把它砍下來,你不知道 PIN 碼。兩者都需要。沒有這種裝置的製造商會把它設計成只能用其中一種來開啟。事實上,當人們把手機設定為只能用生物辨識開啟時,那是極度危險的,你需要確保你有一個額外的機制。聊天室裡有一個很好的後續問題:如果我弄丟了我的 YubiKey,我的安全金鑰怎麼辦?嗯,我其實有好幾個。我有三個。我把其中一個存放在異地,作為我最終極的備份。
我有第二個,我不會一直插在筆記型電腦上,而是隨身攜帶。你經常會看到安全人員把它掛在脖子上的掛繩上,或者當作鑰匙圈連接起來。這些裝置非常堅固,通常被設計成可以掛在鑰匙圈上。所以你可以把它們和你的鑰匙放在一起,這很合理。類似的安全模型,它們幾乎堅不可摧。你可以用卡車輾過它們,它們仍然可以運作。所以我註冊了所有這三個安全金鑰,這樣任何一個都可以使用,我必須把三個都弄丟才會失去存取權限。但這三個都放在難以取得的地方。而我在這裡試圖解決的主要風險、主要威脅是遠端入侵。是的,如果你闖入我的房子、辦公室
安全金鑰與 YubiKey (1:05:51)
或者在第五個未公開的地點,而你是闖入我飯店房間之類的邪惡女傭,你可以找到這些裝置,但你可能沒有我的密碼。如果你駭入我的系統並取得我的密碼,你也沒有這個裝置。如果你試圖使用密碼登入我的某個裝置,我不會輕敲電腦側面來讓你存取。老實說,你知道當我離開電腦無人看管時,我會拔下 YubiKey 並隨身攜帶。所以再說一次,這關乎防護層級。雙重驗證(two factor authentication)意味著使用至少兩種因素來向任何服務或裝置驗證你的身分。這些因素包括你所知道的(something you know)、你所擁有的(something you have)以及你本身的特徵(something you are)。這三者中的任何一個都可以作為第二因素。當然,你可以
如果你願意,也可以使用三重驗證,儘管這有點不尋常,因為到了那個地步,它會變得繁瑣且複雜。難以復原,且容易被鎖在門外。所以「二」通常是個神奇的數字,這就是為什麼我們稱之為 2FA(雙重驗證)。其他人稱之為 MFA,代表多重驗證(multiple factor authentication 或 multi-factor authentication)。這完全是同一回事。還有另一個標準,這是一個用於安全金鑰(就像我展示給你看的小 YubiKey)的通用格式標準,在業界中被廣泛使用。現在這是一個由名為 FIDO 聯盟(FIDO Alliance)的標準機構所建立的,稱為 U2F(通用第二因素,universal two factor)。如果你注意到我投影片上的程式碼,有一個學習 U2F(通用第二因素)。字母 U、數字 2、字母 F,U2F。這只是一個基於硬體的多重驗證裝置標準,可以插入、連接或
透過藍牙或 NFC 傳輸到你試圖驗證的裝置。好的,那我們來看一個問題。不是那個。在哪裡?也許現在有了?好的,等一下。看來問題沒有被反白顯示。不知道為什麼。請給我一秒鐘。我會修好這個。我需要重新整理我的瀏覽器。希望它不會要求我輸入複雜的密碼。好的,似乎有某種……喔等等,稍等一下。我的 Slido 出了點問題,所以我實際上看不到反白的問題。我不知道為什麼會這樣。以前從未見過這種情況。喔,有一個投票。顯然現在有一個進行中的投票阻礙了我看問題。我不知道為什麼。不好意思。喔,出現了。它自己修好了。各位,抱歉出現了技術問題。為什麼文字
訊息是薄弱的雙重驗證,它總比沒有好嗎?正如其他人指出的,許多銀行使用 SMS,他們使用 SMS 文字訊息作為雙重驗證。那麼,為什麼文字訊息是薄弱的雙重驗證呢?好的。那麼文字訊息屬於哪種類型的因素?讓我們看看能否弄清楚。它是你所知道的(something you know)嗎?不,你當時並不知道。看來有某種正在進行的投票打斷了我們。抱歉。不知為何,Slido 以一個投票開始了。真奇怪。好的。文字訊息是好的雙重驗證嗎?它是哪種類型的因素?它是你所知道的嗎?不,因為你不知道它,當它作為文字訊息發送給你時,你並不知道它,你是收到後才發現的。所以它不是你所知道的。它是
為什麼簡訊是薄弱的雙重驗證 (1:11:00)
它是你本身的特徵嗎?不,它不是。它是你擁有的東西嗎?算是吧。你可能會想,好吧,這是我擁有的東西,我擁有接收簡訊的手機。但簡訊並不是發送到手機上,而是發送到一個電話號碼。你擁有這個電話號碼嗎?答案其實是,電話號碼就是 SIM 卡,或者更準確地說,是你手機裡 SIM 卡所連結的帳戶,而誰擁有那個帳戶?答案是 Vodafone、Verizon、AT&T、T-Mobile 或其他電信公司。所以,簡訊雙重驗證的問題在於,你並不擁有這個電話號碼,而是電信公司擁有。而且電信公司的安全性極差。就是這樣,事情就這麼簡單。所以你只需要打電話給電信公司的客服,
在背景播放嬰兒哭鬧的聲音,假裝你在嬰兒尖叫時正與一位感到挫折的保母說話。而你的丈夫或妻子在背景裡對你大吼大叫。你正處於崩潰邊緣,度過了非常糟糕的一天。然後,客服部那些非常熱心且極具同理心的人員就會繞過所有的安全檢查,因為你不知道配偶在帳戶上設定了什麼密碼,而這真的是緊急情況,你非常需要與對方取得聯繫。他們會很樂意將號碼轉移到你那支需要立刻開通的新手機上,因為這是緊急情況。現在,如果這聽起來像是理論上的攻擊,實際上在 Def Con、Black Hat 以及其他駭客大會上,有非常精彩的示範,他們會進行這些所謂的社交工程攻擊。而且
其中最棒的例子之一是一段影片,影片中一位技術非常高超的社交工程駭客向記者展示了他們接管電話號碼的速度有多快:只需打電話給電信公司,在背景播放嬰兒尖叫的錄音,並在這個緊急情況下懇求他們的幫助。毫不誇張地說,不到 10 分鐘後,他們就接管了該電話號碼,然後用它來重設記者的電子郵件帳戶,接著再用它重設所有其他帳戶,基本上在不到 15 分鐘內就攻陷了他們完整的數位身分。這就是為什麼簡訊是一種薄弱的雙重驗證形式。如果可以避免,請務必不要使用它,這非常重要。但對於匿名提問者的問題:它比什麼都沒有好嗎?它確實比什麼都沒有好。它比什麼都沒有好,前提是
你能避免在可以選擇更好方案的帳戶上使用它。因此,在任何可以使用簡訊以外方式的帳戶上,請使用其他方式。另一件事是,要非常仔細地考慮你的電信業者是誰。許多安全專家使用的電信業者沒有可以被社交工程攻擊的人工客服,而且這些帳戶本身受到強大的雙重驗證保護。例如,Google 的 Project Fi (F-I) 是一家虛擬網路營運商,它沒有可以交談的人工客服。你可以透過 Google 帳戶來連線、存取和設定該電話帳戶,而你可以使用強大的雙重驗證(例如通用雙重驗證代幣)來保護該 Google 帳戶。這意味著你的號碼無法被轉移,這也代表你可以更安全地使用該號碼來保護基於簡訊的
雙重驗證,例如那些安全性極差的銀行。因此,就安全性最差的公司而言,依序是銀行、電信公司,然後才是擁有完善安全團隊的實際服務供應商。所以這一切都與防護層級有關。如果你別無選擇,只能使用簡訊作為你的第二重驗證,那麼我會告訴你,我也使用了一些別無選擇只能用簡訊的服務。那麼請確保該簡訊發送到一個受到良好保護的帳戶。即使是你的電信業者,你也可以在帳戶上設定 PIN 碼。你可以關閉轉移號碼的功能。你可以採取各種措施來加強該帳戶的安全性。但如果可以的話,更好的做法是將你的號碼轉移到虛擬網路營運商或沒有人工客服的服務供應商,這樣他們就無法
保護你的電話號碼 (1:16:25)
遭到社交工程攻擊而轉移你的門號。而且控制你電話號碼的因素必須有強大的身分驗證。如果可以的話,請盡量避免。特別是當它被用作連接交易所的雙重驗證時,更應該避免,因為你在那裡存放了價值數百萬美元的加密貨幣。當然,我這裡是在暗示一位相當臭名昭著的加密貨幣評論員,他實際上將數百萬美元的加密貨幣存放在交易所錢包(一個託管型的熱錢包,也就是「不是你的金鑰,就不是你的幣」)中,並使用由 AT&T 提供的簡訊雙重驗證。他目前正因為損失了,我不知道,五千萬還是一億美元,諸如此類荒謬的數字,而對 AT&T 提起訴訟。老實說,在這種法律案件中,作為一名專家證人,我會站上證人席,當著
原告的面大笑 30 分鐘。當他們說將數百萬美元放在一個僅靠 AT&T 簡訊雙重驗證保護的交易所是別人的錯時,我不會對此抱有太多同情。好了,讓我們來談談真正有效的雙重驗證。我已經談過安全金鑰,那是一種硬體設備,但還有另一種非常常見的機制,你們以前都用過,那就是六位數密碼。Neeraj 很有幫助地問了一個專門針對這個主題的問題:「嗨,Andreas,Google 或 Microsoft Authenticator 是如何運作的?有沒有可以取代它們的去中心化系統?」Neeraj,這些就是去中心化的系統。雖然應用程式是由中心化實體創建的,但該應用程式實際上相當簡單。因此,它實際上是去中心化的。儲存在這些驗證器上的機密資訊
僅儲存在你的本地裝置上。當然,也有一些變體。其中一些應用程式,例如 Offi,確實允許你備份並將作為雙重驗證基礎的機密資訊轉移到另一個裝置。這讓它們變得很方便,但也充滿危險。如果你在 Offi 或其他支援備份的系統中開啟了多裝置支援,你必須將其保持關閉,只有在轉移到另一支手機或裝置時才開啟,例如,當你升級智慧型手機並需要將所有這些帳戶轉移到新裝置時。Google Authenticator 實際上在他們的最新版本中引入了備份和轉移功能。我不知道它是如何運作的,但如果它是以這種方式運作,請確保你預設將其關閉。這樣一來,只有該本地裝置
才能使用這些安全碼。否則它就不是真正的雙重驗證了,對吧?它不是你擁有的東西。它是一個備份密碼。它是你所知道的東西,而且很容易被盜,或者它與你的電話號碼綁定。在這種情況下,我們又回到了之前討論的簡訊安全問題。有人轉移了你的 SIM 卡,他們接管了你的號碼。他們在智慧型手機上安裝驗證器軟體。然後他們下載備份並將其轉移到該裝置。接著他們就擁有了你所有的雙重驗證,而這些其實根本不是雙重驗證。這就是失敗的模式,但首先讓我們來談談這東西是如何運作的。那麼 Google 或 Microsoft Authenticator 是如何運作的呢?首先,讓我們為這個東西命名。這是一種稱為一次性密碼(OTP)的機制。一次性密碼已經有幾十年的歷史了,而且它們已經被使用……好吧,讓我糾正一下自己。數位的
攜帶式裝置上的一次性密碼已經有幾十年的歷史了。一次性密碼本身實際上已有數千年的歷史。這裡的一般概念是,如果你產生一組隨機數序列,並且通訊的雙方都有一份該序列的副本,或者可以產生該序列,而其他人都無法做到。那麼就沒有什麼可以被竊取或猜測的了。只要你能產生這些機密資訊且不被竊取,一次性密碼本(One-time pads)就是一種無法破解的加密方法。而由六位數字組成的一次性密碼非常非常難以被竊取。只要你能將產生它們的根機密(root secrets)保密即可。現在,Google 和 Microsoft Authenticator 是一次性密碼的一個特定子類別,稱為基於時間的一次性密碼(TOTP)。如果你想找到一個支援基於時間的一次性密碼標準的應用程式,你可以使用這個縮寫
基於時間的一次性密碼 (1:21:56)
T-O-T-P。OTP 代表一次性密碼,而 T-OTP 則是基於時間的一次性密碼。基於時間的意思很簡單,就是該代碼與當前時間綁定,並且每 30 秒更改一次。因此,這些機制使用一個秘密和一個時鐘(必須或多或少與當前時間正確同步),來為您想要使用它的特定時間產生特定的代碼。而且因為這是一個 30 秒的時間窗口,您可以有一點誤差,並且有時間在螢幕上看到它並將其輸入到網站中。現在,因為您連接的網站或設備擁有相同的秘密,且時鐘也大致同步,所以它可以計算出您應該輸入什麼代碼。它通常會檢查前一個和後一個代碼,這樣它就能知道您是否有一點時間差,
比如剛好超過 30 秒。它會接受這些代碼。然後您會在螢幕上看到當前的代碼,還會看到一個小倒數計時。30 秒後,它會改變,您會得到一個新的六位數字。所以它的運作方式是使用一把私鑰。並從該私鑰中,它使用一個衍生函數,這可以是各種不同的形式。我不知道 T-OTP 的標準用法是什麼。我猜測它是某種結合時間的雜湊機制。透過這個衍生函數,它每 30 秒產生新的數字代碼。您可以從序列中——抱歉,是從秘密和當前時間中——計算出當前時間的正確代碼。秘密本身包含在您嘗試使用的服務首次顯示的 QR code 中。所以當您去使用其中一個
這些設備時,它們都是相容的,所以無論您使用 Google Authenticator、Microsoft Authenticator、Offi、Duo 還是任何其他應用程式,而且大多數密碼管理器也內建了這些 T-OTP 服務之一。您所要做的就是掃描您嘗試新增雙重驗證的網站或服務提供的 QR code。那個 QR code 包含一個秘密。這個秘密是一個隨機產生的英數字串,並附加到您的帳戶中。網站會為您隨機產生它,並以 QR code 的形式呈現。您用 Google Authenticator 設備掃描它,您的 Google Authenticator 設備將其記錄為秘密,然後開始為當前時間產生代碼。然後您將其中一個代碼輸入到網站中。它可以透過追蹤來確認您輸入正確,並表示:「是的,這就是我預期的代碼,
在這個 30 秒的時間窗口內。」現在您已經建立了雙重驗證。當然,這些機制的困難之處在於備份。有很多種方法可以進行備份。其中一種備份方式,老實說這可能也是最安全的備份方式,就是實體列印出來。所以當您的螢幕上出現那個 QR code 時,按下「列印」。我說實體列印,是因為您可能會傾向於做另一件事,那就是拍張照片。當然,為了拍照,您會使用您的智慧型手機。問題是那張照片會被儲存在雲端。到那時,它就不再只存在於 Google Authenticator 或 T-OTP 驗證器這個設備上了。在那種情況下,它就不再是一個安全的第二重驗證因素了。將您的雙重驗證秘密備份到
雲端是個壞主意。實際上,最好使用雙重驗證軟體可能具備的備份功能,這至少會用您選擇的密碼進行加密。您要把那個密碼放在哪裡?放在您的密碼管理器中嗎?如您所見,我們在這裡繞圈子,有時這會讓人感到困惑。所以,如果您想進行備份,請列印出 QR code;或者乾脆不要備份,因為對於大多數服務來說,如果您遺失了雙重驗證代幣或應用程式,您可以要求他們重置。他們會讓您經歷重重關卡,例如舉著身分證自拍,並透過電子郵件、電話等其他多種機制進行確認。許多這類服務還會為您提供一系列備份代碼,這些是預先計算好的數字代碼,您可以輸入它們來代替動態
雙重驗證的層級 (1:26:44)
產生靜態的驗證碼。這些是為了防止你遺失驗證裝置而準備的。你要把它們存放在哪裡呢?存放在你的密碼管理員中。因此,使用基於時間的一次性密碼應用程式進行雙重驗證,是一種強大、有效且易於使用的機制,你今天就可以將其新增到所有的帳戶中。現在讓我們來看看安全性的層級。通用雙重驗證安全金鑰,基於非常、非常強大的加密技術。如果你註冊了幾個並將它們保存在安全的地方,就很難被破解。它非常容易備份,因為它是實體物品。你可以透過保留另一個實體物品來備份它。它不可能被複製,也不可能在你沒有注意到的情況下被偷走。第二層級是基於時間的一次性密碼,你可以透過掃描 QR code 和使用像 Neeraj 討論過的那種應用程式來使用。它們會每 30 秒給你一個六位數的
密碼。同樣地,這讓你的手機成為你所擁有的第二個驗證因素,而這些有點難以備份。如果你的手機被偷了,它們可能很容易被破解。我喜歡在雙重驗證應用程式本身加上指紋辨識,這樣如果沒有使用指紋,你就無法看到數字密碼。現在,這本質上是第二因素之上的第三因素,這可以保護我,以防有人偷了我的手機,而且當時手機是解鎖的,他們可能會進入我的雙重驗證應用程式,但他們無法得逞。最後,最低層級是簡訊雙重驗證,這當然不安全,除非你沒有其他選擇,在這種情況下,有總比沒有好。所以這些就是雙重驗證的層級。讓我們看看還有什麼其他問題,同時
我在這裡稍微休息一下。我將播放一段來自我的贊助者的影片,告訴你為什麼應該在網路上支持我的工作。所以我們今天在做的,以及我一直努力去做的,就是為你提供關於比特幣和開放區塊鏈的高品質教育材料,並以一種中立、沒有贊助商、沒有背書、不向廣告商妥協或受制於企業利益的方式進行。除了你之外,沒有人為此付費。因此,如果你喜歡這種教育,如果你從這種教育中受益,或者即使你只是想回饋並幫助其他人獲得這種教育,並幫助我和我的團隊繼續這樣做,做得更好、更廣泛,那麼請考慮透過 YouTube 會員,或者更好的方式——每月的 Patreon 訂閱來支持我。用我的贊助者的話來說,這就是原因。
- 我是 Andreas 的贊助者,因為我在網路上看到了他的影片,這就是我了解比特幣的方式。這就是我接觸比特幣的契機。 - 今晚我參加了由 Andreas 舉辦的社交活動,這是他付費贊助者支持計畫的一部分。剛在倫敦市中心喝了幾杯,所以這是一個非常有趣的夜晚。認識了很多志同道合的人。 - 我們應該支持 Andreas 正在做的工作。他在引導新人接觸比特幣和比特幣教育方面做了很多。 - 他是一位很棒的老師。他能以淺顯易懂的方式解釋非常複雜的主題。他非常誠實且非常精確。他們可以做好準備並保持理智上的誠實。我認為這是他最大的特點。 - 他為比特幣及其周邊產業這個非常複雜的主題帶來了極大的清晰度。 - 這對
我來說是非常、非常好的啟發,我給他的每一枚比特幣,都會被很好地用來幫助我們理解比特幣。而且我認為這在某種程度上會改善這個世界。 - 身為贊助者,我有機會見到 Andreas,這就是為什麼我喜歡成為贊助者,而且我會繼續當個贊助者。 - 我覺得這就是一件好事。如果你有興趣學習新事物,同時也想支持比特幣社群,那麼你就必須成為贊助者。 - 成為贊助者會讓你覺得自己很特別。你可以參加他的現場問答環節。你可以在歡樂時光見到他。這真的很棒,完全值得。我對成為贊助者感到非常、非常熱衷。 - 我希望他能夠在未來沒有廣告的情況下,繼續製作他那些偉大且有價值的內容,並且只
問答:攜碼轉移電話號碼與應用程式安全 (1:31:37)
在他的贊助者幫助下。這就是為什麼我在 Patreon 上支持他。(輕柔的音樂)- 好的,在我們進入下一個問題之前,聊天室裡有幾個很棒的後續問題。我的製作人已經好心地幫我貼出來了。首先,我們有一個來自 Lucia 的後續問題:任何電話號碼都可以攜碼轉移到沒有真人客服的電信商嗎?這取決於你註冊的國家。不同國家對於電信供應商之間的攜碼轉移有不同的法律規定。但老實說,大多數歐洲國家,當然還有北美,我知道美國和加拿大就是這樣,都強制要求電信商必須接受攜碼轉移的請求。這意味著只要透過正確的程序,你就可以轉移你的號碼而不會失去它,並轉到新的電信商。然後你就可以轉到一家沒有客服、
沒有真人服務的電信商。Google Fi 是我在這方面聽過最多次的。可能還有很多其他電信商,同樣能安全防範號碼轉移攻擊。我個人偏好這種方式,儘管基於顯而易見的原因,它確實存在一些隱私風險。第二個問題來自 Ben,Ben 問道:如何知道你的應用程式沒有洩漏秘密金鑰。Ben,你無法確切知道你的應用程式沒有洩漏秘密金鑰。你只能選擇那些被許多人使用、在安全環境中使用、經過審計和審查、或許是開源且程式碼經過審計的應用程式,這些應用程式是由可靠的公司所開發。這些公司認真對待安全問題,並且有著長期不曾出包的良好紀錄。這需要對交易對手(counterparty)的信任。然而,我談到的幾乎所有事情都需要對交易對手的信任。所以問題就變成了:你對
交易對手投入了多少信任?這個交易對手是誰?還有什麼替代方案?如果替代方案是不使用應用程式而試圖依賴記憶,那麼實際上這個替代方案更糟。這就是你在安全方面必須達到的謹慎平衡。我們越來越常看到越來越多的公司試圖實作各種去中心化身分驗證、去中心化身分 (DID)、去中心化驗證的機制,這些機制更加安全。例如,比特幣或以太坊上的多方簽名通常是這類服務的基礎。但目前這些服務還相對不成熟,尚未廣泛部署,也還不適合用於這類解決方案。因此,我對這個領域的未來充滿希望。同時,你應該問的問題是:使用有良好紀錄的中心化服務,還是完全不使用服務並試圖依賴
記憶,哪一個更好?我可以明確地回答:使用來自受信任的、或有良好紀錄的公司的密碼管理員,比不使用密碼管理員而試圖依賴不可靠的記憶、不可靠的隨機性以及可能超出你技術能力的 DIY 解決方案要好得多。讓我們進入下一個問題。它來自 Trixie:Andreas,我喜歡這副眼鏡。我也是。謝謝妳,Trixie。戴上這副眼鏡,我終於能看清楚筆記型電腦上的字了。我做的直播有兩種類型。有些比較隨興,主要基於問題。我不需要看太多筆記型電腦上發生的事情。我那邊有一個很棒的錄音室螢幕,距離夠遠,以我衰退的視力還能看清楚。而有些像今天的直播則比較複雜。我需要做很多
問答:將銀行簡訊轉換為更強的驗證方式 (1:36:01)
閱讀的內容。我的筆記型電腦放在桌上。所以我需要這些東西。不過謝謝你,我們扯遠了。回到這個問題的核心。為了我們的剪輯師,我重新開始。Trixie 問,有沒有辦法把那些愚蠢的銀行簡訊轉換成 Authy 或類似的東西?一個基於時間的一次性密碼系統。Authy 就是那種基於時間的 T-OTP(基於時間的一次性密碼)之一。Trixie,不,沒有辦法。除非你的銀行有支援簡訊以外的機制,否則你無法使用基於時間的一次性密碼。在這種情況下,正確的答案是繼續使用簡訊,但將你的電信業者更換為要求強大驗證機制的業者,例如基於時間的一次性密碼,或者更好的是使用安全金鑰的通用雙重驗證,或是你可以設定這些選項的地方。這樣你的門號就無法被輕易攜碼轉出,因為這需要強大的驗證。而且
如果你的門號攜碼轉出受到保護,那麼你的銀行簡訊就會安全非常、非常多。這是 Trixie 提出的一個很棒的問題。讓我們看看還有什麼其他問題。我沒有看到太多其他問題,所以,喔,有了。喔,版主們現在正瘋狂地、瘋狂地調出問題並為我排隊,這樣我們就能找到更多問題了。希望你們喜歡今天的議程。讓我快速回顧一下我們到目前為止學到的東西。安全性永遠不會是百分之百的,安全性是在你的技術能力範圍內管理現實的風險,使用你能找到最簡單且能最一致地應用的解決方案,並與其他解決方案分層結合,為防範堅定的攻擊者提供一系列的障礙。如果你把安全性做對了,你就會對這些措施感到自在。你可以一致地應用它們,而且你
有足夠的防護層,這些防護層能仔細地配合你的技能和你的威脅環境,使得攻擊者既沒有時間、資源、預算,也沒有興趣或獎勵來真正攻擊你。相反地,他們會去攻擊更容易下手的目標,這基本上就是安全性。你不可能做到完美。事實上,你是人類。所以根據定義,你就是不完美的。你必須能夠在你的技能水準內一致地執行它,這意味著它必須夠簡單。它無法透過單一的工具、技術、實踐或行動來解決,所以你必須使用多種工具、多種技術、多種行動,將它們分層疊加在一起,最好是多樣化的安全機制,這些機制需要攻擊者具備不同的技能,並能防禦不同的威脅,這樣你就可以將它們分層並建立一個全面的系統。而這仍然無法讓你
達到百分之百的安全,但是,你知道的,如果你一致地執行,如果你刻意地執行,並且如果你能根據你的威脅需求和技能水準將其量身打造得很好,你就可以加入那些能誠實地說「我已經好幾年沒被駭客攻擊了」的菁英群體。這是你能做到最好的程度,但這通常已經非常好了。而且這會讓你遠遠超越許多其他人。Anonymous(匿名者)問,對於那些還沒有時間仔細比較、學習或嘗試任何密碼管理員的人,你能分享任何關於密碼管理員的疑慮或建議嗎?這些年來我用過許多不同的密碼管理員,有一些非常、非常常用的並不是我的最愛。根據我使用的裝置,我有時或總是勉強地使用它們。有一些已經重新受寵
或已經失寵。還有一些新的正在嶄露頭角。我無法確切告訴你哪個最適合你。我可以告訴你,最受歡迎的兩個可能是一個叫做 LastPass 的系統和一個叫做 1Password 的系統,數字 1,後面跟著 password 這個詞,全部連成一個詞。1Password 和 LastPass 可能是最知名的。除此之外,還有許多其他系統,具有不同的功能和差異化特色。我正感興趣地關注的一個稍微新一點的系統是 Bitwarden,因為這是一個開源系統,支援多平台,而且架構相當不錯。但說到底,就像我對硬體錢包製造商給出過相同的建議一樣,我也會對密碼管理員給出相同的建議。比如說前三、四名之間的差異,
問答:比較密碼管理員 (1:41:43)
這個領域有五家公司,他們的產品差異非常小。它們都相當不錯,都相當安全,也都很一致。使用排名前四或前五的密碼管理員,與完全不使用密碼管理員、試圖依賴記憶或嘗試建立自己的解決方案之間,有著巨大的差異。所以問題不在於「我應該使用哪一個?」,而在於「我是否應該使用密碼管理員?」,答案是肯定的,而且不要浪費太多時間猶豫。一個思考方向是:你的家人都在用什麼?這樣你就可以輕鬆地與他們分享密碼。這些產品大多是封閉的生態系統。所以如果你的家人都在用 Bitwarden,那你最好也用 Bitwarden。如果你的公司或雇主正在使用某一款,那麼你可能
最好在個人用途上也使用同一款,只要你能保持兩個獨立的帳戶即可,這樣你就不必執行太多應用程式,避免過於複雜。再說一次,保持簡單。你唯一應該問的問題是:我能多快設定好其中一款並妥善保護它,然後去更改所有網站上的密碼(從最重要的開始)?匿名提問者問道:Google Authenticator 的初始設定和實作是否為對稱式金鑰,這與使用非對稱式加密的比特幣不同?是的,沒錯。我不知道 T-OTP 標準是什麼,因為我從未研究過它。它甚至可能不是對稱式加密。它可能是一種密碼延展演算法。事實上,它很可能是某種基於
使用雜湊進行推導的序列。但我不知道,我還沒有深入研究過。我可以告訴你,它不是非對稱式的。所以它不是一個私鑰與公鑰系統。什麼是對稱式加密?什麼是非對稱式加密?這是聊天室中出現的另一個問題。非對稱式加密是指有一對金鑰,我們稱之為私鑰和公鑰,由其中一把金鑰加密的內容只能由另一把金鑰解密,反之亦然。所以,如果你用你的私鑰加密某個東西,它只能用你的公鑰來解密。如果你用公鑰加密某個東西,只有擁有私鑰的人才能解密它。這些技術的結合被用於數位簽章。它也用於兩個接收者之間資料的加密與解密。然而,這意味著
如果你想解密某個東西給我,你需要我的公鑰。如果你用我的公鑰(它是公開且易於分享的)對其進行加密,那麼只有我能解密它。如果你想將其加密傳送給許多人,你需要他們所有人的公鑰,並且需要分別用他們所有人的公鑰進行加密。對稱式加密是指你擁有一把同時用於加密和解密的金鑰。事實上,直到 1970 年代,對稱式加密一直是唯一的加密機制。如果我沒記錯的話,非對稱式加密直到 1970 年代才被發明。這就是對稱式與非對稱式之間的差異。讓我看看,我想這裡還有一個問題。另一個來自 Carlos 的後續問題。我們什麼時候會使用比特幣簽章來進行身分驗證?你今天就可以使用比特幣簽章來進行身分驗證。問題在於你必須
小心如何建構它,並了解你究竟在證明什麼。比特幣簽章,以及通常用於身分驗證的數位簽章,只能證明非常特定且非常狹隘的一組事物。假設你讓我用我的比特幣私鑰簽署一則訊息並產生一個簽章,然後與全世界分享。嗯,這裡有幾件我能證明的事。我證明了在建立該簽章時,我擁有該私鑰。當然,這並不代表我不是在多年前產生那個簽章的。你不知道簽章是什麼時候產生的。另一件事是,為了在一個可行的方案中使用它,要求提供簽章的人需要進行所謂的「挑戰-回應」。我不能只是說簽署某個東西,因為如果我得到
問答:用於身分驗證的比特幣簽章 (1:47:01)
關於選擇訊息,我基本上可以挑選一個別人在很久以前簽署過的訊息,出示他們套用的簽章,然後告訴你這是我剛才簽署的。而你無從得知這是否屬實。因此,在這種情況下,你需要的是質詢與回應 (challenge response) 機制。所以我會說:CarlosM,請簽署一則訊息,內容寫著:「我 CarlosM 在 12 月... 今天是 5 號嗎?我甚至不知道... 在 2020 年 12 月 5 號(不管幾號),我持有我的私鑰。而且我是應 Andreas 的要求簽署這則訊息的。」你懂我的意思嗎?這樣做可以將其錨定在特定的時間點。在我要求你簽署特定訊息之前,你不會知道訊息的內容是什麼。你將它與特定的活動連結起來。我要求
你在其中放入你簽署的時間以及簽署者身分的資訊。這讓作假變得困難許多,但我仍然不知道這是不是 Carlos 簽署的。當我們談到用錢包簽署以證明你擁有某個地址,以符合美國提議且歐盟已實施的新旅行規則時,我們也有過類似的討論。當然,如果 Carlos 想要證明他擁有某個地址,而我給了他那樣的訊息,他只需要把那則訊息交給 Jimmy,讓 Jimmy 簽署並聲明「我是 Carlos」,再交還給 Carlos,Carlos 再交給我。我就會以為這證明了 Carlos 擁有私鑰,但實際上擁有私鑰的是 Jimmy,而且他們是串通好的。所以這很複雜。這
並不像乍看之下那麼簡單。好,我們來看看。我大概會再回答一個問題。喔,這個問題很好。我非常喜歡這個問題。這是來自 Jeff 的問題。Jeff Tezos 問道:那種你需要用電視遙控器手動輸入的密碼怎麼辦?像是 Amazon、Netflix 之類的。密碼應該要多長、多複雜?Jeff,我也曾為此苦惱過。我對此有自己的答案,馬上就告訴你。現在,想像一下 Jeff 提到的情境:你使用了密碼管理員為你的 Netflix 帳戶產生了一組包含字母、數字和符號的 32 字元獨特金鑰。現在你必須在 Roku 智慧電視的鍵盤上輸入它,每個字母都必須透過移動小游標到鍵盤上正確的字母,按下確認鍵,
然後移回去,往下移到大寫鎖定鍵,開啟大寫鎖定,再往上移到大寫字母,接著關閉大寫鎖定,然後移到符號,再切換到數字鍵盤。我的天啊,這會花上好幾個小時,好幾個小時。所以,沒錯,在這些情況下,就像我會說在安全性不是那麼關鍵的情況下,你需要做一些妥協,因為你經常必須與其他人分享這把金鑰。一個很好的例子就是你的 Wi-Fi 密碼,對吧?所以在這些情況下,我的做法是使用簡單的數字或字母密碼。全部使用同一類型的字元,並把它設定得長一點。所以我不在乎是否有人駭進我的 Netflix,然後發現我在看《后翼棄兵》(Queen's Gambit)。當然,我在看《后翼棄兵》。每個人都
在看《后翼棄兵》。這是《后翼棄兵》週。這對我來說真的無所謂,雖然還是有一些安全考量,例如別人可能會推測出我在看劇時身在何處。所以我還是需要一個密碼。但它不需要那麼長,因為不太可能有人會試圖破解它。真正的問題是,當我離開 Airbnb 時,我有沒有記得重設那台 Roku 電視。啊哈。這是個好問題。那我該怎麼做?我通常會選擇一個純數字、純字母或純小寫字母的密碼,然後將它分組。所以我常用的一個經典做法是 12 個數字,中間用減號或連字號隔開。這意味著我會分成三組四位數,或是四組三位數。所以我的密碼會像是 937-312-3...
問答:電視遙控器與低安全性裝置的密碼 (1:52:10)
三一破折號四一五。我現在只是隨機挑選數字。順帶一提,這不是很好的隨機性。我會在我的密碼管理員中使用隨機數生成器。我會設定它只給我數字,並且長度為 12。然後我會把它寫下來,中間加上破折號,分成四個一組,因為這樣我更容易從螢幕上閱讀並輸入到鍵盤中。通常數字和破折號都在同一個鍵盤區域,而且距離很近,所以我可以快速輸入。更好的是,許多遙控器允許你使用鍵盤的數字部分,這原本是用來……在過去,我們的電視有頻道,而這些頻道是透過數字頻道號碼來選擇的。我知道這是令人驚嘆的科技。
所以許多遙控器上都有數字鍵盤。這再次讓輸入密碼短語變得容易許多。謝謝你,Jeff。這是一個很好的問題。也是一個關於平衡安全性的非常實用的問題。你真的、真的想費盡心思去保護一個沒那麼安全的帳戶嗎?而且更大的風險是,當你離開 Airbnb 時忘記清除或重設該密碼,留給其他人發現,到那時情況可能會有點棘手。Jeff 提出了一個類似的問題。哎呀。喔不,不是 Jeff。抱歉,等一下。好了。這樣可以嗎?今天我的應用程式有點延遲。Mike 問道,只使用四位數的 PIN 碼(例如所有銀行卡上使用的那種)有多安全?Mike,這要看情況,這
取決於你在哪裡輸入該 PIN 碼。所以四位數 PIN 碼在銀行卡上之所以安全,是因為你只能在安全裝置(例如密碼鍵盤或 ATM 提款機)上輸入。這些裝置的設計是為了防止你嘗試超過一定的次數。如果它們是受監督的裝置,意思是你在加油站、超市結帳櫃檯等,旁邊站著一個人,而你輸入了超過幾次。他們會看到你這麼做,如果你嘗試輸入 4,000 種不同的組合,他們就會呼叫保全。而當它是一個無人監督的裝置,你可以坐在那裡花上好幾個小時嘗試所有可能的組合時,它實際上會鎖定並吞掉你的卡片,就像你所知道的 ATM 那樣。所以
如果我輸入錯誤四次、六次或三次(取決於銀行政策),它就會「咕嚕」一聲吞掉我的卡片,不給我再次嘗試的機會。所以這不僅僅是 PIN 碼的問題,而是該 PIN 碼如何使用的情境。在哪裡輸入、你可以嘗試多少次,以及如果你未能通過這些分層安全機制會發生什麼事。所以,是的,在 ATM 和密碼鍵盤等受控存取裝置的情境下,四位數的 PIN 碼已經足夠安全了,因為這些裝置有額外的安全層,例如輸入錯誤會吞卡,或者不讓你嘗試太多次。我覺得這樣很好。我們已經涵蓋了許多主題。非常感謝大家提出這些很棒的問題。謝謝你們留下非常好的評論。告訴我你喜歡
這次特別的會議的哪些部分。這與我們之前做過的其他會議有點不同。告訴我你還想了解什麼,以幫助你在比特幣和開放區塊鏈的旅程中前進。別忘了,我們接下來還有許多這類的會議。讓我向你們展示我們即將舉辦的下一個活動是「尷尬的節日對話」(Awkward Holiday Conversations)、「尷尬的節日對話」。這是接下來要舉辦的活動。我將為你們提供正確的答案,以及其他人目前在 Patreon 和其他平台的評論中分享的搞笑故事,關於他們家庭中尷尬的節日對話。大多數是關於比特幣和開放區塊鏈,有時則是關於一些讓氣氛變得更加尷尬的話題,這些我們不會在直播中討論。然後我們有 12 月的開放主題問答,你可以在那裡問任何問題,而我可能會選擇回答。還有
結語 (1:57:25)
最後,我們還有 2021 年的盛大活動 (Extravaganza Event)。為了了解這些活動何時舉行並獲取相關資訊,請訂閱我的頻道。點擊小鈴鐺圖示開啟通知,這樣你就能第一時間掌握這些新活動的消息。感謝大家今天的參與,今天我們的頻道直播有超過 300 人加入,一起參與了這場將近兩小時的演講,因為我們有很多內容要涵蓋。現在,在我演講的過程中,你可能注意到了我有一疊顏色非常漂亮的書,各種顏色都有。雖然你需要實體印刷版才能欣賞這些顏色,但你其實可以閱讀電子書版本的內容。你可以在我的商店 antonov.com/shop 買到那本電子書。你也可以買到像這樣的馬克杯。而且
順帶一提,這些馬克杯真的很棒。它們又大又重,保溫效果好,而且非常耐摔。我知道,因為我試過。我摔過好幾次,它們可以裝很多咖啡,我們都需要這些咖啡來熬過那些尷尬的節日對話。所以,直到星期一,在接下來的兩天裡,我們有節日特賣活動,全館商品皆享 20% 的折扣。你還可以購買的其中一項商品是「選擇你的加密貨幣」工作坊。這項商品同樣適用 20% 的折扣。2020 節日特賣已在商店上線,請到商店首頁尋找優惠券 antonov.com/shop。別忘了在下方為這部影片留言。非常感謝你的收看。祝你有個美好的週末。大家再見。