當前位置:名人名言大全網 - 祝福短信 - 第三代驗證碼比第壹代和第二代好在哪裏?

第三代驗證碼比第壹代和第二代好在哪裏?

它更加人性化和智能化,防止機器人的出現。更高程度地保護了用戶的信息安全。

第壹代:標準驗證碼

這壹代的驗證碼就是我們常見的圖形驗證碼和語音驗證碼,因為機器很難處理復雜的計算機視覺和語音識別問題,但是人類可以很容易的識別和區分人類和機器。這壹代驗證碼最初是利用人類知識容易回答,而計算機很難回答的機制進行人機判斷。

第二代:創新驗證碼

第二代驗證碼是在第壹代驗證碼的核心思想(人類知識可以回答但計算機難以判斷的問題)基礎上創新的交互式優化驗證碼。第二代驗證碼是在第壹代驗證碼的核心原理——“人機知識差異”的基礎上,開發了大量創新的驗證碼。

12306等驗證碼也是對傳統驗證碼的創新:

第三代:無知識驗證碼

第三代驗證碼最大的特點是不再基於知識進行人機判斷,而是基於人類固有的生物特征和運行環境信息的綜合判定來判斷是人還是機器。無知識驗證碼最大的特點就是不需要人類思考,所以不會打斷用戶的操作,提供更好的用戶體驗。

比如谷歌新出的ReCaptcha:

無知識驗證碼的原理

步驟1:混淆Javascript代碼,在Web前端定期更新加密算法,讓不可信的Web前端變成可信的客戶端。當用戶滑行時,基於可信客戶端采集用戶操作的行為信息和環境信息,並加密提交給後端風控引擎;

Web前端是明文的腳本語言,服務器想要從客戶端獲取可信的數據,壹直被“源代碼面前無秘密”所困擾。給壹個前端工程師足夠的時間,看來Web前端真的不是什麽秘密了。

隨著攻防對抗的繼續,安全修補者總能找到可憐的方法來保護自己。Web前端雖然不具備客戶端防止逆向和調試的安全強度,但是具備客戶端不具備的hotpatch能力。

參考Map-Reduce原理,單機性能不好,任務分配到多臺機器上並發執行。如果單個Javascript混淆的強度不可行,那麽Javascript代碼會周期性地自動混淆。即使攻擊者可以短時間反向Web前端,但反向功能短時間內就會在服務器上失效,這也能極大地消耗攻擊者的成本。

更可怕的是,狂亂的Google完全實現了壹套基於Javascript的虛擬機,核心代碼由字節碼實現。定期更新字節碼格式的成本呈幾何級數增長。

如果不更新代碼邏輯,只是反復混淆原有邏輯,那還是沒有意義的。對於網絡上的驗證碼應用程序,內核函數只有兩個部分:

1,事件采集模塊,采集用戶的行為信息,這部分邏輯簡單,且不能自動更新代碼邏輯;

2.行為數據加密模塊。這壹部分的核心是加密算法。代碼邏輯的自動更新和更改似乎有足夠的空間。

為了保證前端的可信度,需要自動更新加密算法,必須有壹個龐大的對稱加密算法集來保證代碼的自動更新。所有的對稱加密算法都是基於Feistel分組密碼結構的,Feistel分組密碼結構可以衍生出無數的對稱加密算法,所以可以衍生出無數的對稱加密算法。