工作量證明(Proof-of-Work,以下簡稱“PoW”)在維基百科的介紹中指一般要求用戶進(jìn)行一些耗時適當(dāng)?shù)膹?fù)雜運(yùn)算,并且答案能被服務(wù)方快速驗(yàn)算,以此耗用的時間、設(shè)備與能源做為擔(dān)保成本,以確保服務(wù)與資源是被真正的需求所使用。
在實(shí)際生活中可以例舉為:學(xué)生進(jìn)行考試,答題需要一定時間;考試結(jié)束后,老師可以迅速判斷出學(xué)生答案的正確性。在這一過程中,學(xué)生即用戶,老師代表了服務(wù)方,試卷就是學(xué)生進(jìn)行答題的工作量證明。
工作量證明的實(shí)際應(yīng)用
在搜索引擎輸入“工作量證明”或“pow”的關(guān)鍵字后,頁面百分之九十以上會出現(xiàn)與區(qū)塊鏈相關(guān)的內(nèi)容。的確,作為區(qū)塊鏈網(wǎng)絡(luò)的共識算法機(jī)制,近年來PoW在區(qū)塊鏈行業(yè)將其作用發(fā)揮到了極致。在以太坊、比特幣這種去中心化區(qū)塊鏈的生態(tài)系統(tǒng)中,任何加密交易都需要通過共識機(jī)制來驗(yàn)證真實(shí)性,這樣才能成為鏈上的一部分。PoW具有高難度的協(xié)議程序代碼,既可以使去中心化系統(tǒng)中的節(jié)點(diǎn)安全運(yùn)作,又能保證區(qū)塊鏈網(wǎng)絡(luò)免受黑客行為的惡意攻擊。
區(qū)塊鏈的流行使PoW出現(xiàn)在大眾視野并逐漸被了解,但實(shí)際上在區(qū)塊鏈行業(yè)出現(xiàn)以前PoW就已經(jīng)有實(shí)際應(yīng)用。1993年工作量證明就已被提出,后來它被應(yīng)用于抗DDOS攻擊和反垃圾郵件。像互聯(lián)網(wǎng)巨頭公司微軟就將其應(yīng)用在Hotmail、Exchange、Outlook 等電郵服務(wù)上,要求所有收到的郵件都使用強(qiáng)PoW附件,以此預(yù)防大量垃圾郵件發(fā)出。
工作量證明與驗(yàn)證碼
鑒于PoW能有效阻隔高頻交互及其具有的獨(dú)特優(yōu)越性,極驗(yàn)的研發(fā)團(tuán)隊(duì)將其應(yīng)用到了行為驗(yàn)4.0中。在計算機(jī)系統(tǒng)中,PoW中的驗(yàn)證者為服務(wù)器,工作者為請求方,但請求方極有可能是破壞業(yè)務(wù)安全的黑灰產(chǎn),他們利用計算機(jī)在短時間內(nèi)發(fā)送大量垃圾請求,導(dǎo)致企業(yè)業(yè)務(wù)受損??紤]到這種情況的發(fā)生,極驗(yàn)引入PoW工作量證明,在請求方發(fā)出請求時給對方出題,請求方需付出一定時間和資金成本給出結(jié)果交給驗(yàn)證方驗(yàn)證。
極驗(yàn)的工作量證明主要采用一種哈希運(yùn)算的方法,在詳細(xì)為大家介紹PoW是如何應(yīng)用到極驗(yàn)的驗(yàn)證碼中之前,這里講解一下哈希算法,以便后續(xù)理解。
哈希算法,指安全散列算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼散列函數(shù)家族,是美國聯(lián)邦信息處理標(biāo)準(zhǔn)所認(rèn)證的安全散列算法。能計算出一個數(shù)字消息所對應(yīng)到的長度固定的字符串的算法。且若輸入的數(shù)據(jù)不同,它們對應(yīng)到不同字符串的機(jī)率很高。
極驗(yàn)工作量證明業(yè)務(wù)流程
在極驗(yàn)驗(yàn)證碼的工作量證明的業(yè)務(wù)流程中,加載驗(yàn)證資源時,極驗(yàn)服務(wù)器下發(fā)PoW參數(shù)到客戶端,參數(shù)中包含PoW的計算難度、哈希運(yùn)算方法、業(yè)務(wù)流水號等關(guān)鍵部分,客戶端在驗(yàn)證時除了需要完成驗(yàn)證碼的答案還需要額外計算PoW結(jié)果??蛻舳烁鶕?jù)下發(fā)的參數(shù),憑借滿足條件的隨機(jī)字符串進(jìn)行哈希運(yùn)算,通過哈希運(yùn)算的不可預(yù)測性和隨機(jī)字符串的隨機(jī)性進(jìn)行多次運(yùn)算最終得出符合條件的結(jié)果,最后將結(jié)果提交到極驗(yàn)服務(wù)端進(jìn)行校驗(yàn),答案正確方可通過驗(yàn)證。
?
在這一過程中,客戶端需要二次回答,即用戶除了需要回答出驗(yàn)證碼的正確結(jié)果,如將滑塊移動到正確的位置、按照正確的順序依次點(diǎn)選文字,還需要客戶端回答出正確的PoW結(jié)果。相比以往的驗(yàn)證碼只驗(yàn)證一個回答,PoW的應(yīng)用提高了驗(yàn)證碼對客戶端的要求,安全性也隨之提高。
因正常用戶的客戶端一次只需通過一個驗(yàn)證碼,其請求量少,相應(yīng)的計算也很少,平均一個字符串的平均查找的時間在數(shù)十毫秒,這對正常的客戶端的影響可忽略不計,但是對于惡意的客戶端他們必須多花費(fèi)CPU找到相應(yīng)的串來通過檢測,這樣就可以限制惡意客戶端的行為。
PoW提高驗(yàn)證碼安全性的表現(xiàn)
隨機(jī)生成、無法篡改:在加載驗(yàn)證請求時,字符串與驗(yàn)證碼請求返回的驗(yàn)證ID、流水號、消息生成時間有關(guān),因此任意一個PoW參數(shù)都無法被隨意篡改。極端情況下,就算黑產(chǎn)了解了字符串的生成規(guī)則,試圖通過偽造篡改請求參數(shù),來越過POW機(jī)制。極驗(yàn)也可在服務(wù)端進(jìn)行校驗(yàn)時第一時間發(fā)現(xiàn)異常并立即將發(fā)起的請求標(biāo)記或封禁攔截。
規(guī)避提前計算:PoW參數(shù)在加載驗(yàn)證碼時會下發(fā)跟驗(yàn)證流水號相關(guān)的參數(shù),必須先加載驗(yàn)證碼,獲取資源,獲取流水號后才能進(jìn)行后續(xù)運(yùn)算。極驗(yàn)的業(yè)務(wù)安全專家也表示這是核心的一點(diǎn),在此過程中一旦出現(xiàn)預(yù)計算,PoW便形同虛設(shè)。
抵抗客戶端破解: 很多時候安全產(chǎn)品需要在客戶端進(jìn)行環(huán)境檢測,黑客的反偵察亦是如此, 他們會投入資源以破解產(chǎn)品邏輯,規(guī)避環(huán)境檢測。但是應(yīng)用了PoW的驗(yàn)證碼即使在客戶端邏輯被破解, 也不能被黑客繞過,因?yàn)樗械男r?yàn)邏輯都需在服務(wù)端進(jìn)行。
與風(fēng)控系統(tǒng)高度融合:PoW與極驗(yàn)的風(fēng)控體系結(jié)合用以判別異常賬號,我們通過IP頻率、設(shè)備頻率等風(fēng)控策略判斷用戶風(fēng)險,面對正常、低風(fēng)險用戶降低計算難度;面對異常、中高風(fēng)險的請求提高難度。這種策略使黑灰產(chǎn)在時間和CPU上產(chǎn)生高消耗,從而阻攔異常流量;為企業(yè)提供更安全、更便捷、更智能的用戶運(yùn)營。
無法逆向推出答案:客戶端生成的隨機(jī)字符串組成Hashcash msg,需要使用散列算法來對此進(jìn)行散列,但因散列算法不可逆,所以任何客戶端只能進(jìn)行多次嘗試找到目標(biāo)串。
通過以下兩個計算題舉例:1+4=5;2+3=5
我們知道題目從而得出答案為“5”,卻不能因?yàn)榇鸢笧椤?”推出題目一定是“1+4”,其還有“2+3”、“1.5+3.5”等無數(shù)個可能。
結(jié)語
在大家都將目光聚焦到比特幣中的PoW時,極驗(yàn)選擇另辟蹊徑將這一共識算法應(yīng)用到行為驗(yàn)證4.0中,這一創(chuàng)新無疑使驗(yàn)證碼的安全性得到了更高的保證。在極驗(yàn)創(chuàng)立的十年以來,一直致力于以創(chuàng)新作為發(fā)展的驅(qū)動力,除PoW工作量證明外,極驗(yàn)行為驗(yàn)4.0還首創(chuàng)了七層動態(tài)安全防御體系,動態(tài)防御使極驗(yàn)在與黑灰產(chǎn)的博弈中占據(jù)主動權(quán),二者共同打造了安全的行為驗(yàn)4.0文章來源:http://www.zghlxwxcb.cn/news/detail-791984.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-791984.html
到了這里,關(guān)于工作量證明在驗(yàn)證碼中的實(shí)際應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!