2022/03/28

方便家人解密的密碼設定

現在我們的資產很多都是在網路上的,如:線上銀行、線上券商、加密貨幣等等,這些資產能以手機或電腦線上直接操作,比起以前方便許多。但若不幸死亡,這些資產很難轉移給家人。

以前的銀行存款有本存簿,人死後,家人看到存簿 & 放在一起的印章,就能將存款領出來分配給遺產繼承人;現在的線上資產除了當事人清楚自己有哪些資產,家人根本無從得知。擁有者一旦不幸身故,那些資產--尤其是加密貨幣--可能就再也沒人知道其存在了。

方便家人解密的密碼設定

明天的太陽或是死亡哪一個先來?

為了讓我的家人知道我有哪些資產,所以我決定在我還活著 (& 腦筋清楚) 時將各類資產 & 其帳號密碼詳細記錄在一個檔案內。

但是這完全違反資安認知,萬一不小心檔案外流就慘了。所以得要將檔案加密壓縮,家人祇要知道我最重要的一個密碼就可以將檔案解壓出來,藉此知道我其他的帳號 & 密碼。

那怎麼讓家人知道主要密碼呢?之前介紹過用 SHA512 產生密碼的方式,我們可以運用那個方法來將檔案加密,家人祇要知道加密的字串 & 鹽巴就可以得到壓縮檔密碼,進而獲得壓縮檔案所有資料。

將加密的小程式放在 Google Colab

用 Python 寫個小程式計算密碼是很方便,但為了方便資訊能力可能不是那麼好的家人解密,所以將 Python 檔放到 Google Colab 去,家人祇要點選連結,不需額外安裝 Python 就可以開始輸入約定好的字串計算密碼。

按左邊的圓底三角形按鈕執行密碼計算程式
圖、按左邊的圓底三角形按鈕執行密碼計算程式

Colab 是 Google 的服務,沒有登入 Google 的話是沒辦法使用的,先登入 Gmail 吧。

如果還沒登入 Gmail,那就登入一下吧
圖、如果還沒登入 Gmail,那就登入一下吧

輸入事先跟家人約定好的加密字串。

輸入加密的字詞
圖、輸入加密的字詞

但是常用英文字可能都有人先計算過 SHA512 了,所以祇用單一字詞下去計算 SHA512 太不安全,我們還要加點鹽 (加入另一個字串),把兩個字串結合起來,再去進行 SHA512 計算。

當然,你要跟家人約定好要用什麼當鹽巴加料才行,否則家人還是得不到正確的密碼。比方說跟家人約定好:『我死後打開我書桌右邊第三格的抽屜,裡面有張字條,上面的字就是我用的鹽巴。』 之類的。

『ㄟ,為什麼不加密字詞 & 鹽巴都放在抽屜就好了?』

如果將兩個加密字詞都放一起,那如果有外人來不小心看到 (比方說請人幫忙打掃家裡),那不就密碼都被知道了嗎?所以分開放是比較好的。先給家人一個加密字詞,另一個等到死後才給家人;外人看到的話也祇會看到其中一個,無法獲得真正密碼。

下圖以 test 這個單字當鹽巴進行加料。

灑點鹽巴
圖、灑點鹽巴

得到密碼字串 98Zy277EFE2610A0

得到加密後的密碼
圖、得到加密後的密碼

所以我就用這個密碼將記載著我所有資產的檔案進行加密,並將壓縮檔寄給家人。

不幸身故後,家人要進行解密

假設我明天死了,家人依據我之前跟他們約定的,打開我書桌第三個抽屜得到我的鹽巴字串 test,家人據此計算出密碼為 98Zy277EFE2610A0,再進到 WinRAR,準備把我生前寄給大家的檔案進行解壓縮。

選擇壓縮檔
圖、選擇壓縮檔

輸入剛剛得到的密碼 98Zy277EFE2610A0

輸入剛剛得到的密碼
圖、輸入剛剛得到的密碼

成功將壓縮檔案的檔案解出來。

成功將壓縮檔內的 TXT 檔解壓縮出來
圖、成功將壓縮檔內的 TXT 檔解壓縮出來

打開剛剛解出來的檔案,得到我的 Gmail 帳號 & 密碼。

打開 TXT 檔就可以看到各個帳號 & 密碼
圖、打開 TXT 檔就可以看到各個帳號 & 密碼

如此一來,祇要我事先將各種資產的位置 & 帳密都寫清楚,加密壓縮好寄給家人,就算我發生意外也不用擔心家人拿不到這些資產;因為有加鹽的關係,沒拿到記載著鹽巴字串的字條前家人也無法解壓縮,無法事先就把我的資產拿去用,這是我覺得交待身後事比較好的方法。

SHA 函數保證相同字串得到相同結果

不過剛剛提到線上計算密碼,那其實是擔心家人資訊能力較差的不得已選擇,自己要計算密碼時最好都能夠離線進行計算。SHA 函式最好的一點就是,祇要是用相同的字串進行 SHA 計算都會得到相同的結果。

所以平常就用離線方式計算密碼,然後放一個線上版讓家人日後可以使用。祇要事先能將這些事都準備好,永遠不用擔心意外忽然降臨。

用線上計算密碼是不得已的,平時離線計算比較安全
圖、用線上計算密碼是不得已的,平時離線計算比較安全

沒有留言:

張貼留言