密碼就像一把鑰匙,但上鎖後的數據夠安全嗎?大家都該認識的密鑰管理學

2020.07.14 by
Denken
Denken 查看更多文章

涉身資訊產業,雙棲寫作與iOS App開發。

密碼就像一把鑰匙,但上鎖後的數據夠安全嗎?大家都該認識的密鑰管理學
shutterstock
純網銀即將開業、區塊鏈在金融業也有不錯成績,展望未來金融科技將繼續蓬勃發展,仍根基於使用者與網站服務,如何去妥善運用這些密碼鑰匙,來管理個人數位資產。

現代每個人都會使用各種網站服務,少則數個,多則上百個,彷彿把人的一生展開來,那許許多多的足跡,分散在這些服務裡,就像地窖,藏著一罈罈秘密酒罈。

每罈酒都是愈陳愈香的,通往每座酒窖的鑰匙就成了駭客覬覦之物,也因此,防禦工事逐漸成了顯學。登入密碼就像鑰匙,每座酒窖都記上一組密碼鑰匙似乎是太麻煩了,難道沒有一勞永逸的方案?

打造一把萬能鑰匙:土法自製篇

用同一把鑰匙來開啟每個「酒窖」,恐怕已是最容易卻也最危險的方式了。即使這組自製密碼鑰匙,並非使用蟬聯多年榜首的熱門密碼「123456」,而是採用精心設計的複雜密碼,仍然很可能早已在不知不覺狀況下洩漏出去。

風險上,首先是使用鑰匙開鎖的過程,可能被偷看。在智慧型手機開始風行前幾年,大部分的網站服務是採用未加密的HTTP連線,通常只有注重交易安全性的銀行、信用卡或電子商務網站,才會使用加密連線HTTPS。這意味著只要連上未加密的公共Wi-Fi,就很有可能在登入網站過程中,密碼鑰匙就被看光光了。這就像是把實體信用卡拿出來刷,卻因而讓印有卡號的正面曝露在公開場合下,任誰都能偷拍記下卡號來盜用。

所幸Google領頭大力推動,以及多個組織聯合創立免費的數位憑證認證機構Let's Encrypt,迄今加密連線HTTPS已經是大多數網站的主流規格;換句話說,中間人無法竊聽HTTP網站傳輸資訊,你也可以放心使用公共網路來瀏覽登入網站了!

然而,這雖在使用瀏覽器時可以查看網址開頭,是否為安全性加密連線HTTPS,但在使用手機App時,卻仍無法得知是否為安全連線。至此,只能選擇相信「每個」網站服務,都是精良的門鎖製造商……。

超文本傳輸安全協定(HyperText Transfer Protocol Secure,縮寫HTTPS;常稱為HTTP over TLS),是一種透過網際網路進行安全通訊的傳輸協定,由網景公司(Netscape)在1994年首次提出,隨後擴展到網際網路上。HTTPS主要提供對網站伺服器的身分認證,保護交換資料的隱私與完整性。
shutterstock

一款優秀的數位門鎖,精妙之處在於,用來打開門鎖的鑰匙刻痕,並無法從門鎖反向推演出來,意即駭客無法只看鎖頭就打造出鑰匙!當代網站服務開發者都應當知曉此原則,後端資料庫不能直接儲存使用者密碼鑰匙的明文,而利用雜湊(Hash)原理,只儲存雜湊處理過後的資料。因此,即使駭客入侵伺服器取得這些已處理過的資料(即門鎖樣式),也無法得知原始密碼鑰匙的樣子。

但是,不時仍會有些中小型網站,並未在這些資訊安全基礎下功夫,甚至使得原始密碼鑰匙隨時可能遭竊,被曝光到網路上,假若不同網站都使用同一組密碼鑰匙的話,就等同其他網站也將遭殃!

最簡單的一種檢核方式是,嘗試點擊「忘記密碼」功能,若系統竟是直接寄出先前設定的密碼內容,便能得知應該遠離這個網站服務。

因此,似乎還是應該記憶多組密碼鑰匙,或是設計一套自己專屬的密碼聯想規則,讓每座「酒窖」都採用不同的密碼門鎖,藉此分散風險——然而,現代人已經這麼忙碌了,這種期待恐怕仍不切實際?

打造一把萬能鑰匙:託管篇

另一種打造萬能鑰匙的方式,便是委託廠商保管一個保險櫃,並由廠商打造不同的密碼鑰匙都放裡面,從此之後只需記憶一組帳號密碼,能進入該廠商的服務專區即可。

常見並流行至今的方法,便是使用Google或Facebook的第三方帳號來登入其他網站,而且只要不登出Google或Facebook的帳號,隨時都可以用來登入其他網站。這種第三方登入機制,對網站開發者來說,可以減少帳號系統開發營運成本,對使用者來說更是方便,確實是相當好的解決方案——若不是後來Facebook爆出各種隱私界限醜聞的話。

2018年底紐約時報披露,在Facebook極力擴張時期,曾私相授受使用者隱私資料權限給特定資訊公司。這篇標題名為《As Facebook Raised a Privacy Wall, It Carved an Opening for Tech Giants》的報導中描述,Spotify與Netflix曾擁有權限能讀取、傳送與刪除使用者的Facebook私人訊息。

2018年年底,根據外媒《紐約時報》報導,Facebook和其他科技公司簽署特殊用戶數據契約,讓他們看得到用戶的聯絡人、好友甚至私人訊息等資料,Netflix、Spotify、微軟和蘋果都在名單中。
Frederic Legrand - COMEO via Shutterstock

而Apple則在Steve Jobs時期,雖因隱私權政策問題曾暫緩整合Facebook進入iOS,最終則在iOS 6至iOS 10期間納入整合,卻仍被爆出儘管使用者取消了通訊錄與行事曆的分享權限,Facebook仍能取得這些資訊——儘管這幾間公司都聲明,並未知悉曾被授予這等權力,也不會濫權使用。

此外,Yahoo能夠看到朋友即時貼文,Sony、Microsoft、Amazon除了按正途取得使用者的Facebook朋友清單,還獲得「特許」能取得朋友的電子郵件地址,無異於「被上傳」通訊錄。

近年Apple強力主打隱私功能,其中「使用Apple登入」功能在iOS 13重磅登場,透過其特殊市場地位,將強制要求所有支援第三方帳號登入的iOS App,也都必須支援「使用Apple登入」,使用者就能透過這個選項,選擇性不給予或隱藏真實電子郵件資訊,可以說進一步擴張了使用者的隱私權力。

傳統保險櫃的創新未來

最後一種打造萬能鑰匙的方式,是看似最傳統古老的方案:向廠商購入一個保險櫃,自己把所有不同密碼鑰匙都放裡面,然後把保險櫃放在自家空間裡,從此之後,只需妥善記憶這一把能打開保險櫃的主密碼鑰匙即可。

這種傳統保險櫃,便是獨立密碼管理軟體的核心價值觀,也是近年頗具影響力的產品類型——儘管網路瀏覽器普遍內建了密碼記憶功能,但也長期停留在相當陽春的狀態,尤其在手機App成為上網主流渠道之後,受限在瀏覽器內才能用的密碼自動填入功能,更是顯得停滯不前。

由於密碼管理軟體的門鎖機制,便是仰賴主密碼的對稱式加密技術,在第二次世界大戰期間僅為軍方所用,如今已能普及到每個人手上;還能運用更進階的非對稱式加密技術,來安全地與家人朋友共享密碼;再加上自動生成亂數密碼、網站資安事件通報、支援行動裝置的生物辨識、跨裝置同步、加密文件檔案共享等等,單就功能來說這些都稱不上是前沿技術,然而能將這些相關功能,全都整合在一個美觀易用的App上,便是其價值所在。

近代公司組織使用愈來愈多的線上服務或工具軟體,帳號密碼的授權管理也成為一大痛點,因此老牌密碼管理軟體都紛紛推出企業版本,提供內控管理機制,譬如設定安全級別要求、控管密碼鑰匙存取權限等,能為公司內部資安拉起防線,未來將逐漸成為許多公司企業的基礎建設。
shutterstock

因此,經歷這十幾年來的發展,密碼管理軟體逐漸成為一門產品類型,較為老牌熱門的1Password、LastPass、Dashlane等皆獲得注資或併購,還有不少獨立小廠牌或開源的密碼管理軟體,近年來如雨後春筍般湧出。

最多人會質問的是:把全部密碼交付一個密碼管理軟體,感覺並不安全吧!然而在現實生活中,人們同樣不會把所有財產託付在同一間銀行,也不再把所有現金都提領出來,只鎖在一個保險櫃裡吧?本來就不需要把「全部密碼」交給一個密碼管理軟體。此外,保險櫃都是委由廠商所打造的,要使用就意味著需要信任該廠商,因此資安檢核與品牌營運,當然是重要考量因素。

至於企業領域,隨著近代公司組織使用愈來愈多的線上服務或工具軟體,帳號密碼的授權管理也成為一大痛點,因此這些老牌密碼管理軟體都紛紛推出企業版本,提供內控管理機制,譬如設定安全級別要求、控管密碼鑰匙存取權限等,能為公司內部資安拉起防線,未來將逐漸成為許多公司企業的基礎建設。

打造第二把鑰匙才是最佳解

在真實世界中,為了驗證「酒窖主人」身分真實性,一般來說可以併用三種獨立驗證機制:要求提供主人才知道的通關密碼(Something You Know)、要求提供主人才擁有的秘密鑰匙(Something You Have)、直接由管家辨識主人樣貌(Something You Are)。

對應到數位世界,前兩種方法都可以分別對應到一把密碼鑰匙,第三種「Something You Are」即為生物特徵辨識技術,是基於一般人不易改變的身體特徵,因此往往基於隱私疑慮,會採用專屬的安全硬體機制來處理,而在行動裝置上為求方便易用,通常是設計作為自動填入密碼的驗證機制而已,因此僅是第一種機制「Something You Know」的延伸,並非獨立機制。

前述篇幅所述的密碼鑰匙,皆需「記憶」至少一組帳號密碼或主密碼鑰匙,便是第一種機制「Something You Know」。因此,為酒窖打造第二把鑰匙「Something You Have」,才是最佳解。

概要來說,第二把鑰匙通稱為「Two Factor Authentication, 2FA」,中文譯名眾多:雙重認證、兩步驟驗證、兩階段驗證等等。最常見的方式有SMS簡訊、一次性密碼(One-Time Password, OTP)、硬體安全金鑰等等,各家網站服務支援的類型,可在TwoFactorAuth.org上查詢。

為了驗證使用者身分真實性,一般來說可以併用三種獨立驗證機制:要求提供使用者才知道的密碼、要求提供秘密鑰匙、直接由安全機構辨識使用者樣貌。
shutterstock

值得一提的是,SMS簡訊雖然是最方便的2FA機制,只需有一支手機號碼即可,但其通訊規格安全性欠佳,可能遭駭客透過欺詐基地台來攔截SMS簡訊(SS7 Attack),美國國家標準與技術研究院(NIST)已經不推薦使用,近年來各大網站服務也順應潮流,推出SMS簡訊以外的驗證方式。

因此,要打造第二把密碼鑰匙,成本最低廉的方式是下載免費的2FA App,譬如Authy、Google Authenticator等等,按照步驟操作即可作為第二把密碼,用來顯示依時間變動的一次性密碼(Time-based One-Time Password, TOTP)。有些網站服務會透過自家App,推送通知到已信任的裝置,用來授權登入,也是既方便又安全的第二把密碼鑰匙。

然而各家網站的2FA支援規格各異,還是太複雜了,因此專屬安全硬體再度登場,譬如領航產品YubiKey這種實體密碼鑰匙,是時下最安全可靠的機制,只需要插入電腦或手機即可作為2FA驗證,這不正是酒窖主人才擁有的秘密鑰匙嗎!

值得一提的是,這種實體密碼鑰匙也常提供NFC無線驗證的方式,更加方便了;至於藍牙無線驗證則是安全性與穩定性欠佳,並不推薦使用。

雙重認證是一種認證方法,使用兩種不同的元素,合併在一起,來確認使用者的身分,是資安領域的多因素驗證中,一個特殊案例。
shutterstock

一切都是信任,信任從不簡單

在數位時代中,密碼鑰匙已經成為守護數位資產、甚至是金融服務存取權的重要關卡。每個人走過的數位足跡,也確實都是具有經濟價值的數位資產,只是並不在本文討論範圍內。因此,若人們願意花時間研究理財或管理資產,那麼也同樣值得妥善運用各種密碼鑰匙的設計,為自己規劃管理個人數位資產。

最後,讀者們或許也發現,傳統金融機構早已採用這3種獨立驗證機制:金融卡密碼(Something you know)、金融卡(Something you have)、臨櫃驗證身分(Something you are),而近年流行的密碼貨幣(例如比特幣),則在原始的匿名架構設計上,僅採用了一種獨立驗證機制:錢包私鑰(Something you have),這樣的代價便是無法支援多重驗證或錢包復原機制,而僅能由第三方(譬如交易所)來提供。

這是否終將走回傳統金融的老路呢?然而密碼貨幣的衝擊風潮,也加速了開放金融的推行,展望未來的金融科技將繼續蓬勃發展,別忘了這一切仍根基於使用者與網站服務,如何去妥善運用這些密碼鑰匙來管理個人數位資產。

責任編輯:張庭銉

延伸閱讀

每日精選科技圈重要消息