UniQR 打造唯一碼

yutin
yutin
Jul 3 · 3 min read

2 的128 次方,也就是 2 個 bigint 的長度,為目前多數主流資料庫最大的數字儲存長度。並透過自行開發的亂數規則來達到真正的亂數,亂數夠亂範圍夠大猜出的機率就會越低。

著名網路攻擊資訊文件 OWASP 提供一個公式,用來計算暴力破解者(Guessing Attacks)在猜測隨機密鑰時,需要多少的時間:

以 2 的128 次方標準唯一碼為例,系統已產生 1千兆 個唯一碼,暴力破解者每秒猜 10 億次,(2¹²⁸+1)/(2*10¹⁵*10⁹) / 3600 / 24 / 365 = 5395141 ,也就是大約要 500 萬年後可以猜第一個唯一碼。

另以 2 的 64 次方短碼為例,系統已產生 1千萬 個唯一碼,暴力破解者每秒猜 1000 次,(2⁶⁴+1)/(2*10⁷*10³) / 3600 / 24 / 365 = 29,也就是大約要 29 年的時間,才能猜出第一個唯一碼。

從密碼學的角度,相較於密碼複雜度,更重於密碼長度,只要密碼越長遭猜出的機率就會以次方的速度在降低,以 Google 為例建議密碼長度最短為 8 字元,這也是普遍主流服務建議的最短長度。

系統將資源代號與唯一碼加上驗證值後進行 base 58 編碼,可避免透過流水號數字的方式進行暴力破解,就好比替唯一碼掛上了識別證,確保是由伺服器核發的唯一碼。

而編碼後的標準唯一碼長度為 22 個字元,遠超過最短安全長度 8 個字元,甚至超過建議安全長度 16 個字元,就算採用短碼也有 11 個字元。

在金流機制上已行之有年的技術,透過 IP 類型可以判斷出異常的來源,自動停止高風險的資源請求,避免伺服器或敏感操作,被不當的惡意破壞。

對於持續嘗試多次(DDoS)的相同來源,將回應時間以等比級數進行延長,此舉更可以將每秒猜測次數大幅下降延後猜出的時間。

Tmot 集界科技

Tmot(集界科技)專注於 O2O 營銷模式(Online To Offline),社群軟體開發等科技軟體業。

    yutin

    Written by

    yutin

    Tmot 集界科技

    Tmot(集界科技)專注於 O2O 營銷模式(Online To Offline),社群軟體開發等科技軟體業。