資料介紹
描述
這是 PasswordPump,一種管理多達(dá) 254 個(gè)帳戶(hù)憑據(jù)的 USB 設(shè)備。憑據(jù)(帳戶(hù)名、用戶(hù)名和密碼)僅存儲(chǔ)在設(shè)備本身上,存儲(chǔ)在兩個(gè)使用軍用級(jí)加密 (AES-128) 的可移動(dòng) EEprom 芯片上。它們不存儲(chǔ)在云中或者在您計(jì)算機(jī)上的文件中,他們更容易受到黑客攻擊。憑據(jù)備份在設(shè)備本身上;也就是說(shuō),根據(jù)需要將加密憑證從主 EEprom 芯片移動(dòng)到備份 EEprom。您可以從設(shè)備中移除 EEprom 芯片(可能保留第三或第四個(gè)備份)。通過(guò)旋轉(zhuǎn)編碼器(左側(cè))或通過(guò)鍵盤(pán)和串行終端輸入憑據(jù)。設(shè)備本身大約為 1 1/8 x 2 3/4 英寸,或 29 x 71 毫米。目前它沒(méi)有裝在箱子里,但一旦箱子設(shè)計(jì)完成,它就應(yīng)該是,也將會(huì)是。
特征
- 在單個(gè) 25LC256 EEprom 芯片上存儲(chǔ)多達(dá) 254 組憑證。
- 憑據(jù)按字母順序存儲(chǔ)以便于定位。
- 最多允許 10 次嘗試輸入主密碼失敗,然后會(huì)自動(dòng)擦除芯片并恢復(fù)出廠(chǎng)設(shè)置。
- 所有憑據(jù)均使用 AES-128 加密,主密碼使用 SHA-256 進(jìn)行哈希處理。
- 所有加密帳戶(hù)和散列主密碼都經(jīng)過(guò)加鹽處理。
- 該設(shè)備不容易受到標(biāo)準(zhǔn)密碼攻擊。
- 外部 EEprom 上的備份已加密。
- 所有憑據(jù)都可以轉(zhuǎn)儲(chǔ)到文本文件中以進(jìn)行額外備份(例如,轉(zhuǎn)儲(chǔ)到存儲(chǔ)在保險(xiǎn)箱或保管箱中并加密的拇指驅(qū)動(dòng)器)。
- 支持通過(guò)鍵盤(pán)和串行終端或旋轉(zhuǎn)編碼器輸入憑據(jù)。
- 只需一個(gè)主密碼(最多 14 個(gè)字符)即可訪(fǎng)問(wèn)您的所有憑據(jù)。
- 閑置 1 小時(shí)后自動(dòng)注銷(xiāo)。
- 可選的密碼生成,31 個(gè)字符的隨機(jī)字母、符號(hào)和數(shù)字,用于極強(qiáng)密碼。
- 將設(shè)備上的密碼顯示配置為打開(kāi)或關(guān)閉。
您可以通過(guò)轉(zhuǎn)動(dòng)旋轉(zhuǎn)編碼器在菜單項(xiàng)中移動(dòng),順時(shí)針向下移動(dòng)列表,逆時(shí)針向上移動(dòng)。帳戶(hù)名稱(chēng)按字母順序存儲(chǔ)。要選擇一個(gè)項(xiàng)目,您可以在旋轉(zhuǎn)編碼器上單擊(短按)。要進(jìn)行備份,請(qǐng)按住旋轉(zhuǎn)編碼器半秒以上(長(zhǎng)按)。
操作要打開(kāi)設(shè)備,您只需使用微型 USB Micro-B 插頭轉(zhuǎn) USB-A 插頭電纜將其插入 USB 端口/插座,這與您用于為 Android 手機(jī)充電的電纜相同。第一次插入時(shí)可能需要安裝驅(qū)動(dòng)程序。該驅(qū)動(dòng)程序可在下面“源代碼”部分引用的源代碼存儲(chǔ)庫(kù)中下載。如果我把設(shè)備發(fā)給你,它到達(dá)時(shí)已經(jīng)用程序閃過(guò)并且設(shè)置了鎖定位。有關(guān)設(shè)置鎖定位的更多信息,請(qǐng)參閱Atmel ATMega 32u4 的數(shù)據(jù)表第 28.1 節(jié)。因?yàn)檫@是一個(gè)開(kāi)源項(xiàng)目,所以它并不重要。
設(shè)置鎖定位有助于更好地保護(hù)散列主密碼和源代碼。
第一次打開(kāi)設(shè)備電源時(shí),您會(huì)看到:
主密碼 2019 年 3 月 11 日(或最近一次編譯的日期)
此時(shí)您需要輸入您的主密碼。嘗試選擇一個(gè)您會(huì)滿(mǎn)意的主密碼,因?yàn)槿绻敫乃仨氈刂迷O(shè)備,這會(huì)清除您的所有憑據(jù)。之后只有一種方法可以通過(guò)鍵盤(pán)或旋轉(zhuǎn)編碼器將憑據(jù)輸入設(shè)備。還要嘗試選擇一個(gè)可以更快地輸入設(shè)備的密碼。它應(yīng)該是大寫(xiě)和小寫(xiě)字母的組合,帶有數(shù)字,可能還有一兩個(gè)符號(hào)。我喜歡選擇幾乎可以完全用左手輸入的密碼,我發(fā)現(xiàn)通過(guò)旋轉(zhuǎn)編碼器輸入它們更容易。您應(yīng)該選擇一個(gè)強(qiáng)密碼;字母、大小寫(xiě)、數(shù)字和特殊字符的組合,長(zhǎng)度在 7 到 14 個(gè)字符之間。要輸入字符,請(qǐng)轉(zhuǎn)動(dòng)旋轉(zhuǎn)編碼器直到字符出現(xiàn),然后向下按旋轉(zhuǎn)編碼器(短按)以選擇字符。如果你犯了錯(cuò)誤,目前沒(méi)有辦法備份,所以要小心(或者自己增強(qiáng)代碼,如果你可以擠進(jìn)去?。?/font>輸入完整的主密碼后,長(zhǎng)按設(shè)備(按下旋轉(zhuǎn)編碼器超過(guò) 1/2 秒)。您剛剛輸入了主密碼,現(xiàn)在可以輸入一組憑據(jù)了。輸入完整的主密碼后,長(zhǎng)按設(shè)備(按下旋轉(zhuǎn)編碼器超過(guò) 1/2 秒)。您剛剛輸入了主密碼,現(xiàn)在可以輸入一組憑據(jù)了。輸入完整的主密碼后,長(zhǎng)按設(shè)備(按下旋轉(zhuǎn)編碼器超過(guò) 1/2 秒)。您剛剛輸入了主密碼,現(xiàn)在可以輸入一組憑據(jù)了。
您可以通過(guò)轉(zhuǎn)動(dòng)旋轉(zhuǎn)編碼器在菜單項(xiàng)中移動(dòng),順時(shí)針向下移動(dòng)列表,逆時(shí)針向上移動(dòng)。帳戶(hù)名稱(chēng)按字母順序存儲(chǔ)。要選擇一個(gè)項(xiàng)目,您可以在旋轉(zhuǎn)編碼器上單擊(短按)。要進(jìn)行備份,請(qǐng)按住旋轉(zhuǎn)編碼器半秒以上(長(zhǎng)按)。
添加憑據(jù)要通過(guò)鍵盤(pán)添加一組憑據(jù),您需要打開(kāi)一個(gè)串行終端。最適合我的是 Arduino 串行終端。因此,如果您打開(kāi) Arduino IDE,請(qǐng)轉(zhuǎn)到“工具”->“端口”并選擇 Arduino/Genuino Micro 端口。然后選擇工具->串行監(jiān)視器(或 Ctl+Shift+M)。接下來(lái),在您的 PasswordPump 上向下導(dǎo)航至 Keyboard OFF 并通過(guò)短按將其更改為 Keyboard ON。導(dǎo)航回到添加帳戶(hù)并短按。你會(huì)看到的:
賬戶(hù)名 添加賬戶(hù)
短按一下,然后切換回 Arduino 串行終端并輸入帳戶(hù)名,然后按回車(chē)鍵。然后長(zhǎng)按密碼泵。您現(xiàn)在應(yīng)該看到:
編輯用戶(hù)名[您輸入的賬戶(hù)名]
再次短按,切換回 Arduino 串行終端并輸入用戶(hù)名,然后按回車(chē)鍵。然后長(zhǎng)按密碼泵。您現(xiàn)在應(yīng)該看到:
編輯密碼[您輸入的賬戶(hù)名]
再次短按,切換回 Arduino 串行終端并輸入密碼,然后按返回鍵。然后長(zhǎng)按密碼泵。你現(xiàn)在應(yīng)該看到:
Indicate Style [您輸入的賬戶(hù)名]
再次短按并使用旋轉(zhuǎn)編碼器指定 0 或 1。如果在提供用戶(hù)名和密碼時(shí)密碼泵應(yīng)在發(fā)送用戶(hù)名之后發(fā)送密碼之前發(fā)送回車(chē),則指定 0。如果在提供用戶(hù)名和密碼時(shí)指定 1,密碼泵應(yīng)在發(fā)送用戶(hù)名之后和發(fā)送密碼之前發(fā)送一個(gè)選項(xiàng)卡。然后長(zhǎng)按密碼泵。您現(xiàn)在應(yīng)該看到:
賬戶(hù)名[您輸入的賬戶(hù)名]
再次長(zhǎng)按,你會(huì)看到:
Find Account [您輸入的賬戶(hù)名]
您已完成輸入憑據(jù)。
請(qǐng)注意,您也可以?xún)H使用旋轉(zhuǎn)編碼器輸入憑據(jù)。鍵盤(pán)可以打開(kāi)或關(guān)閉,沒(méi)關(guān)系。只需使用旋轉(zhuǎn)編碼器以類(lèi)似于輸入主密碼的方式輸入憑據(jù)。
發(fā)送憑證導(dǎo)航到查找?guī)?hù)并短按。使用旋轉(zhuǎn)編碼器滾動(dòng)瀏覽您輸入的憑據(jù)列表。找到與要發(fā)送到計(jì)算機(jī)的憑據(jù)相關(guān)聯(lián)的帳戶(hù)名后,將輸入焦點(diǎn)放在提示您在計(jì)算機(jī)上輸入憑據(jù)的窗口中的用戶(hù)名文本框中。在密碼泵上,您應(yīng)該看到:
發(fā)送 User & Pass [您選擇的賬戶(hù)名]
短按發(fā)送用戶(hù)名、回車(chē)符或制表符(取決于樣式設(shè)置),然后是密碼。如果您選擇了正確的樣式,您現(xiàn)在應(yīng)該已登錄到您的帳戶(hù)/應(yīng)用程序。
如果您只想將密碼發(fā)送到計(jì)算機(jī),然后回車(chē),請(qǐng)使用旋轉(zhuǎn)編碼器向下滾動(dòng)一次,直到您看到:
發(fā)送密碼 [您輸入的賬戶(hù)名]
并短按發(fā)送密碼和回車(chē)符。
同樣,您可以?xún)H發(fā)送用戶(hù)名或帳戶(hù)名。
編輯憑據(jù)要編輯一組現(xiàn)有憑據(jù),首先要確定您是要通過(guò)鍵盤(pán)還是僅通過(guò)旋轉(zhuǎn)編碼器來(lái)編輯憑據(jù)。如果您要通過(guò)鍵盤(pán)編輯憑據(jù),請(qǐng)按照切換鍵盤(pán)輸入中的說(shuō)明進(jìn)行操作。然后使用“查找?guī)?hù)”導(dǎo)航到您要編輯的帳戶(hù)并短按。然后向下滾動(dòng)到 Edit Creds 并短按。然后滾動(dòng)到要編輯的屬性;帳戶(hù)名稱(chēng)、編輯用戶(hù)名、編輯密碼或指示樣式。現(xiàn)在短按。使用鍵盤(pán)以添加憑據(jù)中描述的方式重新輸入屬性,或僅使用旋轉(zhuǎn)編碼器重新輸入屬性。然后長(zhǎng)按保存更改。如果您要為帳戶(hù)生成新密碼,請(qǐng)按照生成密碼中的說(shuō)明進(jìn)行操作。
刪除憑據(jù)
確保您有最新的 EEprom 備份。導(dǎo)航到查找?guī)?hù)并短按。使用旋轉(zhuǎn)編碼器選擇要?jiǎng)h除的帳戶(hù),然后短按。使用旋轉(zhuǎn)編碼器向下滾動(dòng)到 Delete Acct 并短按。通過(guò)使用旋轉(zhuǎn)編碼器選擇 Y 并短按,確認(rèn)您希望刪除帳戶(hù)。該帳戶(hù)現(xiàn)已消失,并且已從主 EEprom 芯片中刪除。它還沒(méi)有從備份 EEprom 中擦除,所以如果你不小心刪除了一個(gè)帳戶(hù),并且你有一個(gè)最近的備份,你可以恢復(fù)備份并且該帳戶(hù)將重新出現(xiàn)。導(dǎo)航至“查找?guī)?hù)”并驗(yàn)證您的帳戶(hù)是否已刪除。如果您無(wú)法滾動(dòng)瀏覽所有帳戶(hù),則說(shuō)明出現(xiàn)了間歇性缺陷,并且管理所有帳戶(hù)顯示的鏈接列表已損壞。從 EEprom 恢復(fù)最新的備份。如果您在刪除帳戶(hù)后立即備份 EEprom,它也會(huì)從輔助 EEprom 中刪除。
生成密碼
在嘗試將密碼更改為新生成的密碼之前,請(qǐng)通讀所有這些說(shuō)明。PasswordPump 最強(qiáng)大的功能是它能夠生成隨機(jī)的 31 個(gè)字符的密碼并記住它們。這些密碼極難猜測(cè),并且不易受到暴力破解帳戶(hù)的攻擊。在執(zhí)行此操作之前,您應(yīng)該確保您擁有所有憑據(jù)的當(dāng)前備份。要為帳戶(hù)生成密碼,只需通過(guò)“查找?guī)?hù)”找到該帳戶(hù),然后通過(guò)短按帳戶(hù)名稱(chēng)來(lái)選擇憑據(jù)。在您計(jì)算機(jī)上的應(yīng)用程序中,導(dǎo)航到更改密碼功能并將輸入焦點(diǎn)放在舊密碼文本框中。在 PasswordPump 上導(dǎo)航到發(fā)送密碼(不是發(fā)送密碼 )并短按。在您計(jì)算機(jī)上的應(yīng)用程序中,通過(guò)按 鍵將輸入焦點(diǎn)放在新密碼文本框中。在 PasswordPump 中向下滾動(dòng)到 Edit Creds 并短按,然后向下滾動(dòng)到 Gen Password 并短按。這會(huì)將密碼更改為隨機(jī)生成的 31 個(gè)字符系列。現(xiàn)在長(zhǎng)按一次,導(dǎo)航到發(fā)送密碼(不發(fā)送密碼 )并短按。如果您需要確認(rèn)新密碼,請(qǐng)將輸入焦點(diǎn)放在計(jì)算機(jī)上應(yīng)用程序中的該文本框上,然后再次短按。通過(guò)按返回鍵或以其他方式單擊相應(yīng)的按鈕來(lái)確認(rèn)您的密碼更改。您現(xiàn)在在帳戶(hù)上有一個(gè)隨機(jī)的 31 個(gè)字符的密碼,并且該密碼存在的唯一位置是在您的 PasswordPump 上的加密 EEprom 芯片上。此時(shí)它' 備份到 EEprom 和備份到文件是個(gè)好主意,并確保您可以通過(guò)某種方式從該帳戶(hù)丟失的密碼中恢復(fù)。警告:如果因?yàn)椴唤邮芘f密碼而嘗試更改密碼失敗,請(qǐng)注意您剛剛用新生成的密碼覆蓋了舊密碼。要恢復(fù)舊密碼,您需要從 EEprom 恢復(fù)備份并重試,或者轉(zhuǎn)到拇指驅(qū)動(dòng)器上的加密備份文件以獲取該帳戶(hù)的當(dāng)前密碼,或者使用任何機(jī)制從該帳戶(hù)恢復(fù)密碼可通過(guò)應(yīng)用程序或網(wǎng)站向您提供。提前考慮并小心謹(jǐn)慎,以免將自己鎖在帳戶(hù)之外!如果因?yàn)椴唤邮芘f密碼而嘗試更改密碼失敗,請(qǐng)注意您剛剛用新生成的密碼覆蓋了舊密碼。要恢復(fù)舊密碼,您需要從 EEprom 恢復(fù)備份并重試,或者轉(zhuǎn)到拇指驅(qū)動(dòng)器上的加密備份文件以獲取該帳戶(hù)的當(dāng)前密碼,或者使用任何機(jī)制從該帳戶(hù)恢復(fù)密碼可通過(guò)應(yīng)用程序或網(wǎng)站向您提供。提前考慮并小心謹(jǐn)慎,以免將自己鎖在帳戶(hù)之外!如果因?yàn)椴唤邮芘f密碼而嘗試更改密碼失敗,請(qǐng)注意您剛剛用新生成的密碼覆蓋了舊密碼。要恢復(fù)舊密碼,您需要從 EEprom 恢復(fù)備份并重試,或者轉(zhuǎn)到拇指驅(qū)動(dòng)器上的加密備份文件以獲取該帳戶(hù)的當(dāng)前密碼,或者使用任何機(jī)制從該帳戶(hù)恢復(fù)密碼可通過(guò)應(yīng)用程序或網(wǎng)站向您提供。提前考慮并小心謹(jǐn)慎,以免將自己鎖在帳戶(hù)之外!或轉(zhuǎn)到拇指驅(qū)動(dòng)器上的加密備份文件以獲取該帳戶(hù)的當(dāng)前密碼,或使用您可以通過(guò)應(yīng)用程序或網(wǎng)站使用的任何機(jī)制從帳戶(hù)中恢復(fù)密碼。提前考慮并小心謹(jǐn)慎,以免將自己鎖在帳戶(hù)之外!或轉(zhuǎn)到拇指驅(qū)動(dòng)器上的加密備份文件以獲取該帳戶(hù)的當(dāng)前密碼,或使用您可以通過(guò)應(yīng)用程序或網(wǎng)站使用的任何機(jī)制從帳戶(hù)中恢復(fù)密碼。提前考慮并小心謹(jǐn)慎,以免將自己鎖在帳戶(hù)之外!
注銷(xiāo)當(dāng)您想要注銷(xiāo)設(shè)備時(shí),使用旋轉(zhuǎn)編碼器導(dǎo)航至注銷(xiāo)并短按。RGB LED 從綠色變?yōu)樗{(lán)色。您現(xiàn)在已注銷(xiāo),必須再次輸入主密碼才能使用該設(shè)備。如果您離開(kāi)計(jì)算機(jī)去喝咖啡,最好鎖定計(jì)算機(jī)并注銷(xiāo) PasswordPump。
切換鍵盤(pán)輸入導(dǎo)航至鍵盤(pán)開(kāi)/關(guān)。短按以切換設(shè)置。當(dāng)鍵盤(pán)打開(kāi)時(shí),您可以使用添加憑據(jù)中描述的過(guò)程通過(guò)鍵盤(pán)輸入憑據(jù)。不輸入憑據(jù)時(shí),請(qǐng)將鍵盤(pán)設(shè)置為關(guān)閉。設(shè)備關(guān)機(jī)時(shí)不會(huì)保存此設(shè)置,默認(rèn)為鍵盤(pán)關(guān)閉。
顯示/隱藏密碼使用旋轉(zhuǎn)編碼器導(dǎo)航到 Show Psswrd ON/OFF。短按以切換設(shè)置。當(dāng)您注銷(xiāo)并關(guān)閉設(shè)備電源時(shí),此設(shè)置將被保存。
備份到 EEprom在密碼泵上使用旋轉(zhuǎn)編碼器導(dǎo)航到備份 EEprom。短按一下,然后通過(guò)使用旋轉(zhuǎn)編碼器選擇 Y 并短按確認(rèn)您要從主 EEprom 備份到輔助 EEprom。進(jìn)行備份時(shí) RGB 將為黃色,然后變回綠色。
備份到文件
在 PasswordPump 上,使用旋轉(zhuǎn)編碼器導(dǎo)航到備份到文件。在您的計(jì)算機(jī)上打開(kāi)一個(gè)文本編輯器(一個(gè)沒(méi)有自動(dòng)完成功能的編輯器),notepad.exe 效果最好,并將輸入焦點(diǎn)放在文本編輯器中。我個(gè)人使用 UltraEdit,因?yàn)樗鼉?nèi)置了加密功能。然后短按“備份到文件”。主 EEprom 芯片的內(nèi)容(存儲(chǔ)在 PasswordPump 中的所有憑據(jù))被轉(zhuǎn)儲(chǔ)到文本編輯器中。操作完成后,RGB LED 變?yōu)樽仙缓笞優(yōu)榫G色。最好通過(guò)使用 WinZip 或類(lèi)似軟件使用密碼將其壓縮來(lái)加密此文件,并將其存儲(chǔ)在拇指驅(qū)動(dòng)器上,然后您可以將其存儲(chǔ)在保險(xiǎn)箱或保管箱中。從您的計(jì)算機(jī)中刪除原始文件并清空垃圾箱。通過(guò)定期執(zhí)行此操作使此文件保持最新。
從 EEprom 恢復(fù)備份如果您決定要恢復(fù) EEprom 備份(或者,換句話(huà)說(shuō),讓輔助 EEprom 的內(nèi)容覆蓋主 ??EEprom 的內(nèi)容),然后導(dǎo)航到 PasswordPump 上的恢復(fù)備份。短按并通過(guò)旋轉(zhuǎn)編碼器選擇 Y 并短按確認(rèn)操作。RGB LED 將變?yōu)辄S色,直到操作完成,然后變回綠色。
執(zhí)行恢復(fù)出廠(chǎng)設(shè)置
您想要清除主 EEprom 上的所有加密憑據(jù)并將設(shè)備恢復(fù)出廠(chǎng)設(shè)置。在 PasswordPump 上,使用旋轉(zhuǎn)編碼器一直向下導(dǎo)航至重置。短按。通過(guò)使用旋轉(zhuǎn)編碼器選擇 Y 并短按,確認(rèn)您要將設(shè)備恢復(fù)出廠(chǎng)設(shè)置并清除所有憑據(jù)和主密碼。當(dāng)設(shè)備恢復(fù)出廠(chǎng)設(shè)置時(shí),RGB 將先慢后快地閃爍藍(lán)色和紅色,然后變?yōu)樗{(lán)色。此時(shí)您可以輸入新的主密碼。請(qǐng)注意,恢復(fù)出廠(chǎng)設(shè)置不會(huì)清除存儲(chǔ)在備份 EEprom 上的憑據(jù)。如果您使用相同的主密碼,您將能夠恢復(fù)備份并查看憑據(jù)。如果您還想清除備份 EEprom,請(qǐng)?jiān)谳斎胄碌闹髅艽a后選擇備份 EEprom,
RGB 顏色和含義綠色 - 登錄藍(lán)色 - 未登錄紅色 - 登錄嘗試失敗/錯(cuò)誤備份或初始化 EEprom紫色 - 發(fā)送信用黃色 備份到 EEprom快速閃爍 紅色/藍(lán)色 - 初始化外部 EEprom慢速閃爍 紅色/藍(lán)色 - 初始化內(nèi)部EEprom
?
庫(kù)如果您要編譯源代碼,則需要在您的 Arduino IDE 中安裝以下庫(kù):
- https://github.com/LennartHennigs/Button2 - 用于旋轉(zhuǎn)編碼器上的按鈕,版權(quán)所有 (c) 2017 LennartHennigs,麻省理工學(xué)院許可證。
- https://github.com/brianlow/Rotary - 用于旋轉(zhuǎn)編碼器,GNU GPL 版本 3。
- https://github.com/arduino-libraries/Keyboard - 用于將字符發(fā)送到鍵盤(pán),就像用戶(hù)鍵入的一樣,GNU Lesser General Public License。
- https://www.arduino.cc/en/Reference/EEPROM - 用于內(nèi)部 EEprom
- https://github.com/greiman/SSD1306Ascii - 對(duì)于 SSD1306 顯示設(shè)備,Bill Greiman 。@sbcglobal.net>
源代碼
源代碼可在此處找到。它有大量的在線(xiàn)文檔,所以我不打算在這里逐行進(jìn)行。
本產(chǎn)品尚未經(jīng)過(guò)專(zhuān)業(yè)的質(zhì)量測(cè)試,您可能會(huì)失去您的證書(shū)。您已獲得源代碼,以便您可以更正您發(fā)現(xiàn)的任何缺陷。也就是說(shuō),我已經(jīng)使用該設(shè)備幾個(gè)月沒(méi)有發(fā)生任何事故,并且我將所有憑據(jù)存儲(chǔ)在上面,其中許多憑據(jù)使用生成的密碼功能,所以如果我丟失了設(shè)備和我的備份我我需要重置我的帳戶(hù),因?yàn)榇藭r(shí)我絕對(duì)無(wú)法知道密碼是什么。我還按照我上面的建議維護(hù)備份。幾個(gè)月來(lái)我一直在使用該設(shè)備,沒(méi)有發(fā)生任何事故,我將所有憑據(jù)存儲(chǔ)在上面,其中許多憑據(jù)使用生成的密碼功能,因此如果我丟失了設(shè)備和我的備份,我將需要重置我的帳戶(hù),因?yàn)榇藭r(shí)我絕對(duì)無(wú)法知道密碼是什么。我還按照我上面的建議維護(hù)備份。幾個(gè)月來(lái)我一直在使用該設(shè)備,沒(méi)有發(fā)生任何事故,我將所有憑據(jù)存儲(chǔ)在上面,其中許多憑據(jù)使用生成的密碼功能,因此如果我丟失了設(shè)備和我的備份,我將需要重置我的帳戶(hù),因?yàn)榇藭r(shí)我絕對(duì)無(wú)法知道密碼是什么。我還按照我上面的建議維護(hù)備份。
重要披露:使用提供的加密庫(kù),我努力使用 AES128 加密存儲(chǔ)在外部 25LC256 EEprom 上的所有憑據(jù)(并使用 SHA256 散列存儲(chǔ)在內(nèi)部 EEprom 上的主密碼)。我已經(jīng)對(duì)散列的主密碼和每組憑據(jù)進(jìn)行了加鹽處理。這個(gè)項(xiàng)目是我第一次使用加密,沒(méi)有正式的代碼審查,所以我可能做錯(cuò)了,標(biāo)準(zhǔn)免責(zé)聲明(買(mǎi)家注意)適用于這種情況。我已經(jīng)使用 PC 和 CH340 24/25 系列 EEprom閃存 BIOS USB 編程器檢查了外部 EEprom 芯片的內(nèi)容(在存儲(chǔ)多組憑據(jù)之后)所有的用戶(hù)名、賬戶(hù)名和密碼都是加密的。然而,我痛苦地意識(shí)到加密是一件很容易出錯(cuò)的事情,因此請(qǐng)謹(jǐn)慎行事。如果您精通此領(lǐng)域,我將不勝感激代碼審查和一些建設(shè)性的反饋(請(qǐng)直接與我聯(lián)系)。
該草圖目前使用了 97% 的程序存儲(chǔ)區(qū)域和 66% 的動(dòng)態(tài)內(nèi)存。這使得在不更換現(xiàn)有功能的情況下向產(chǎn)品添加新功能變得極其困難。我想添加幾個(gè)新功能,但由于內(nèi)存限制我不能添加。例如,在完全不活動(dòng) 1 小時(shí)后,設(shè)備超時(shí),您將退出。我想使該時(shí)間段可配置(例如,如果您愿意,可以將其設(shè)置為 2 小時(shí)),但我實(shí)在沒(méi)有足夠的空間來(lái)添加該功能。我認(rèn)為一個(gè)小時(shí)可能是一個(gè)很好的折衷方案,在使用我身邊的設(shè)備時(shí),我會(huì)定期將旋轉(zhuǎn)編碼器向任何方向轉(zhuǎn)動(dòng)一兩下,以將自動(dòng)注銷(xiāo)時(shí)間提前一個(gè)小時(shí)。
燒錄程序我正在使用外部編程器將程序燒錄到設(shè)備上。即從 Arduino IDE 我選擇 Sketch-->Upload Using Programmer 將程序發(fā)送到 ATmega32u4/Arduino Pro Micro。我這樣做的部分原因是它覆蓋了引導(dǎo)加載程序,我想覆蓋引導(dǎo)加載程序因?yàn)檫@樣做我在設(shè)備上有更多空間用于程序。我不認(rèn)為如果引導(dǎo)加載程序存在,該程序?qū)⒉贿m合 Pro Micro,但我沒(méi)有測(cè)試過(guò)這個(gè)。我也不認(rèn)為由于其他原因,設(shè)備將在存在引導(dǎo)加載程序的情況下正常工作。因此,我使用 Pololu USB AVR Programmer
為了這。在使用外部編程器編程時(shí),我仍然需要通過(guò) USB 電纜為設(shè)備供電。如果您通過(guò)自己采購(gòu)零件或使用套件構(gòu)建設(shè)備,如果您希望能夠加載新的,請(qǐng)確保在將 Arduino Pro Micro 焊接到 PCB 板上后不要剪斷插頭引腳固件。如果您剪下與 PCB 板齊平的插頭引腳,將無(wú)法對(duì)設(shè)備進(jìn)行重新編程;您需要將 VDD、GND、RST、MOSI、MISO 和 SCK 從外部編程器連接到 Arduino Pro Micro 以燒寫(xiě)程序。可以在此處找到執(zhí)行此操作的說(shuō)明。 請(qǐng)放心,我對(duì)鎖定位的初始設(shè)置不會(huì)阻止您重新刷寫(xiě)程序。如果你想在重新刷新程序后重置鎖定位,你可以這樣做。對(duì)我來(lái)說(shuō),最簡(jiǎn)單的方法是使用 Atmel Studio 和我的 USB AVRISP XPII。但是您真的不需要設(shè)置鎖定位,因?yàn)闊o(wú)論如何,現(xiàn)在每個(gè)人都可以使用源代碼。設(shè)置鎖定位的唯一好處是可以更安全地存儲(chǔ)散列主密碼。存儲(chǔ)在內(nèi)部 EEprom 中的主密碼使用 SHA-256 進(jìn)行哈希處理。
許可Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
本程序和設(shè)備的分發(fā)是希望它們有用,但不提供任何保證;甚至沒(méi)有針對(duì)特定用途的適銷(xiāo)性或適用性的默示保證。
已知缺陷(也有未知缺陷?。?/font>
- 當(dāng) \e 嵌入帳戶(hù)名(或用戶(hù)名或密碼)時(shí),它被解釋為 ESC 字符,輸入到達(dá)時(shí)為空。例如 INSIGHTORADB\entmetrics。只有通過(guò)鍵盤(pán)而不是編碼器輸入時(shí)才會(huì)出現(xiàn)問(wèn)題
- 有時(shí),刪除帳戶(hù)會(huì)破壞管理憑據(jù)顯示順序的雙向鏈表。發(fā)生這種情況時(shí),用戶(hù)需要從 EEprom 恢復(fù)以取回丟失的憑據(jù)。
- 從 Find 或 Add acct 返回后,DisplayLine2 需要被清空。
- 當(dāng)通過(guò)鍵盤(pán)輸入一個(gè) 29 個(gè)字符長(zhǎng)的帳戶(hù)名時(shí),沒(méi)有輸入任何內(nèi)容。
- 10 次登錄嘗試失敗后自動(dòng)初始化提示用戶(hù)確認(rèn)操作。
- 在 EVENT_SINGLE_CLICK 的 switch 語(yǔ)句中,case 語(yǔ)句沒(méi)有按順序排列。當(dāng)它們有序時(shí),它無(wú)法正確評(píng)估。
- 母微型 USB 連接非常脆弱。
未來(lái)
我目前受到 ATmega32u4 32k 中可用閃存數(shù)量的限制。程序占用了所有空間。如果我有更多空間,我可以添加其他功能。特別是,我對(duì)編寫(xiě)可以在與 PasswordPump 干凈接口的計(jì)算機(jī)上運(yùn)行的 GUI 感興趣。使用 Arduino 串行終端添加憑據(jù)充其量是笨拙的,但我認(rèn)為需要更多內(nèi)存才能糾正這種情況。我還想有更多的 EEprom 空間,以便 64 字節(jié)可用于用戶(hù)名、密碼和帳戶(hù)名。此外,我認(rèn)為使用 AES-256 進(jìn)行加密會(huì)更好。可能滿(mǎn)足所有這些要求的設(shè)備是帶有 ATSAMD51 的 Adafruit ItsyBitsy M4 Express;以下是該網(wǎng)站的一些廣告功能:
- 以 120 MHz 運(yùn)行的 Cortex M4 處理器
- 512KB 閃存(比 ATmega32u4 大 16 倍)
- 1.4" 長(zhǎng) x 0.7" 寬(比 Pro Micro ?。?/font>
- 2MB 的 SPI 閃存(與兩個(gè) 25LC256 芯片的 64k 相比)
- 本機(jī)硬件 I2C 和串行(與 SSD1306 顯示器接口)
- 內(nèi)置 AES 加密引擎,256 位(用于替換加密庫(kù))
- 每個(gè)操作系統(tǒng)都支持本機(jī) USB(像鍵盤(pán)一樣發(fā)送憑據(jù))
- 可以與 Arduino IDE 一起使用
- 內(nèi)置 RGB DotStar LED(用于替換 PasswordPump 上的 RGB)
- 復(fù)位按鈕
- USB 供電
不利的一面是,我用于 PasswordPump v1 的一些庫(kù)不能與 ItsyBitsy 一起使用;特別是鍵盤(pán)庫(kù)以及 SSD1306 的庫(kù)都是一個(gè)問(wèn)題。可以?huà)仐壠渌麕?kù),并且可以更輕松地編寫(xiě)代碼以適應(yīng)相關(guān)功能。最大的騙局是 ItsyBitsy 的價(jià)格,14.95 美元,這將使生產(chǎn) PasswordPump 的成本增加三倍。
- 約束管理器.zip
- 第7章:事件管理器模塊(EV)PPT下載 9次下載
- 微軟內(nèi)核構(gòu)架之Cache管理器
- 壓縮文件管理器WinRAR安裝程序下載 15次下載
- RDU機(jī)房管理器RDU-M用戶(hù)手冊(cè) 11次下載
- 項(xiàng)目管理器及其操作的詳細(xì)資料說(shuō)明 16次下載
- 西門(mén)子PLC教程之SIMATIC管理器的資料說(shuō)明 11次下載
- EDA工具手冊(cè)Cadence教程之約束管理器的詳細(xì)使用教程免費(fèi)下載 0次下載
- 數(shù)據(jù)庫(kù)的項(xiàng)目管理器是什么?項(xiàng)目管理器詳細(xì)資料總結(jié) 5次下載
- TMS320X281X DSP事件管理器(EV)參考指南 14次下載
- 掌握事件管理器模塊(EV) 2次下載
- C#教程之進(jìn)程管理器 4次下載
- re管理器漢化版(apk文件下載) 0次下載
- 基于FPGA的??臻g管理器的研究和設(shè)計(jì)
- Protel DXP設(shè)計(jì)管理器 0次下載
- 負(fù)載管理器的主要功能 393次閱讀
- 如何在層堆棧管理器中定義單層板? 845次閱讀
- 文件管理器與文件傳輸?shù)牟僮鞣椒?/a> 1547次閱讀
- 使用LABwindows/CVI軟件搭建學(xué)生管理器界面(三) 2450次閱讀
- 使用LABwindows/CVI軟件搭建學(xué)生管理器界面(二) 3161次閱讀
- 使用LABwindows/CVI軟件搭建學(xué)生管理器界面(一) 5175次閱讀
- 閑談Linux操作系統(tǒng)中的顯示管理器及如何更換 3248次閱讀
- 當(dāng)Win10任務(wù)管理器最小化,如何顯現(xiàn)更多的工具欄的顯示信息 3681次閱讀
- ES文件管理器存在漏洞或?qū)⒂绊?億Android用戶(hù) 3502次閱讀
- Linux命令行密碼管理器:Titan、Gopass、Kpcli 3532次閱讀
- re管理器如何修改機(jī)型 8754次閱讀
- 什么是re文件管理器_re管理器有什么用 1.8w次閱讀
- re管理器進(jìn)入編輯文件方法 4735次閱讀
- re管理器刪除系統(tǒng)軟件操作方法 1.3w次閱讀
- 瞄準(zhǔn)醫(yī)療電子 聚合管理器三大方案應(yīng)運(yùn)而生 3572次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論