在網路訊號不佳甚至離線的環境下,動態密碼依舊可以正常運作,使完全隱私與零概率盜用成為了可能,擺脫了網際網路的限制。
註冊/登入 步驟
上傳至雲端後,可至Google Sheets觀看詳細活動資訊。
機構使用了壓克力製作,將機構頂部打孔,把所有介面元件裝上,並依需要使用雙面膠固定,且所有的線材包裝至內部。
程式碼 片段簡介
撰寫程式碼時,必須要自行理解Base32的原理 ,閱讀完文檔後,要轉換化為C++程式碼,並經過一系列的映射、填充,才得以完成規範。
由於接收端無法得知資料的個別含意,利用indexOf定位、substring切割資料,並使用全形數字來做為定位字元以分割資料,因為序列輸出都是半形,不會與中文的全形字元衝突。
APP Script負責整理伺服器端傳來的活動資訊,並將其儲存至Google Sheet中,供閱覽紀錄。
本主題涉及了Wi-Fi與HTTPS範疇,透過申請了網路憑證與API本機化,得以直接上傳資料,減少了設定瑣項與第三方服務之依賴。
►場景應用圖
►展示板照片
►方案方塊圖
►核心技術優勢
1、本架構的伺服器端,不必與客戶端有任何的直接/間接資料傳輸,只需依循伺服器端的螢幕進行操作,即可完成驗證流程。 2、限制伺服器單向地傳輸資料至雲端,並儲存活動紀錄,且不接收任何外界的指令,防止輸入惡意指令,造成未預期的資料外洩。 3、此作品採取兩步驟驗證,一種更安全、更簡便的方式來取代傳統登入,使用者只需準備一張NFC卡(悠遊卡、學生證等)與一台手機,即可完成身分驗證。
►方案規格
1、ESP8266 MCU模組,擁有Wi-Fi機能,透過UART連接。確保最少的資料傳遞,避免機密洩漏。上傳伺服器端,所傳送的活動資訊,為了更獲取更強大的連線安全性,採用了HTTPS超級文字傳輸安全協定與自訂CA安全憑證,以確保Google Sheets的資料傳輸安全無虞。 2、4*4 Keypad 矩陣鍵盤。供使用者輸入指令至系統。 3、PN532 NFC近場通訊模組,透過I²C連接。用戶手持悠遊卡、學生證等靠近PN532模組(距離1~6cm),系統即可獲取卡片內UUID等資訊,以進行第一階段的身分驗證。 4、SSD1306 OLED模組,透過I²C連接。使用者透過該模組顯示的兩個QR code,分別進行「下載TOTP APP」與「獲取TOTP金鑰」兩個操作。 5、LCD2004 LCD模組,透過I²C連接。使用者透過該模組引導的步驟,完成註冊/登入流程。 6、DS3231 實時時鐘模組,透過I²C連接。用於在系統發生意外斷電,復電後可以持續記憶時間,而不會遺失。