最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

OPAQUE:一種抗預(yù)計算攻擊的非對稱口令認證密鑰交換

2021-03-18 22:00 作者:useStrict  | 我要投稿

參考文獻:

*?Jarecki S., Krawczyk H., Xu J. (2018) OPAQUE: An Asymmetric PAKE Protocol Secure Against Pre-computation Attacks. In: Nielsen J., Rijmen V. (eds) Advances in Cryptology – EUROCRYPT 2018. EUROCRYPT 2018. Lecture Notes in Computer Science, vol 10822. Springer, Cham.

* CFRG,?The OPAQUE Asymmetric PAKE Protocol,?draft-irtf-cfrg-opaque-latest.

* Tatiana Bradley,?OPAQUE: The Best Passwords Never Leave your Device,?cloudflare blog.

* Cloudflare,?OPAQUE DEMO,?opaque.research.cloudflare.com

本文并非完全原創(chuàng),本文部分文本的權(quán)利歸參考文獻的作者所有。


什么是“口令認證密鑰交換”

一般來說,密鑰包含較大的信息量因而不方便記憶,而口令則需要能更方便記憶。而口令認證密鑰交換(PAKE)旨在解決這樣的問題:通信雙方,在共享某一口令的情況下,如何建立密鑰。

PAKE協(xié)議為目前常見的網(wǎng)絡(luò)和web應(yīng)用程序提供了一種認證思路,但傳統(tǒng)的口令認證(也包括非PAKE思路)卻需要在服務(wù)器端存儲,或在認證時向服務(wù)器傳輸明文口令。

“非對稱”口令認證密鑰交換(aPAKE)則意在解決這一問題:有沒有一種方法,可以在通信的一方完全無需知道明文口令的前提下,卻依然可以完成認證呢?如果這樣的協(xié)議可以實現(xiàn),那么口令(密碼)將完全無需離開用戶本地,因而口令泄露事件得以完全杜絕。

不過,傳統(tǒng)的aPAKE思路依然存在一定缺陷。如果口令-密鑰映射是確定的,或者僅通過明文隨機鹽來提供不確定性,那么攻擊者就可以通過預(yù)計算(例如彩虹表)的方式根據(jù)密鑰計算口令:這抵消了aPAKE所提供的部分好處。

而OPAQUE,通過將oblivious?pseudorandom?function(OPRF*,忘性偽隨機函數(shù),不經(jīng)意偽隨機函數(shù))和aPAKE算法相結(jié)合,提供了一種能抵抗預(yù)計算攻擊的思路。

IRTF(國際互聯(lián)網(wǎng)研究任務(wù)組)的CFRG(密碼學(xué)論壇研究組)正在完善一份將OPAQUE協(xié)議用于互聯(lián)網(wǎng)的草案。這份草案一旦完成,便會由ietf發(fā)布為rfc,從而進入互聯(lián)網(wǎng)標(biāo)準(zhǔn)。

因為草案尚未完成,本文不會就協(xié)議細節(jié)做過多介紹。

點贊過10更OPRF(人家都是過10萬我這里10都過不了T_T)

以及oblivious這首歌很好聽

OPAQUE的流程

Cloudflare實現(xiàn)了一個OPAQUE流程的實例程序,鏈接可以在參考文獻中找到。

OPAQUE算法分為兩個過程,注冊和登錄。

注冊流程

(盜圖自irtf)


注冊流程發(fā)生在客戶端C和服務(wù)器端S之間。這一過程要求S和C能夠相互確認(就是說,用戶要確認對方不是釣魚網(wǎng)站,網(wǎng)站(如果有需要的話)要能確認用戶身份),這也是OPAQUE唯一需要經(jīng)認證的信道流程。

  • 在開始時,C需要準(zhǔn)備好口令password并生成一對密鑰對*creds。C對于每一個賬戶都應(yīng)當(dāng)生成新的密鑰對。S需要預(yù)先準(zhǔn)備好密鑰對server_private_key和server_public_key。S可以對許多不同用戶使用同一密鑰對。

    • “密鑰對”是一個詞,指互相對應(yīng)的公鑰-私鑰組成的一對密鑰。

  • 之后,C將口令隨機化得到(r, M), 并將M發(fā)送至S。

  • S在收到請求后,需要生成OPRF私鑰oprf_key,然后使用oprf_key處理M得到Z,并將Z返回。

  • C使用返回的Z,明文口令password和第一步得到的r計算Y。之后,C將creds私鑰用Y處理,得到經(jīng)過加密的私鑰,然后和明文的creds公鑰一起返回至S。S將C的明文公鑰,加密私鑰和oprf_key一同記錄賬戶中,從而完成注冊流程。

登錄流程

(盜圖自irtf)

登錄的第一步,是C根據(jù)明文密碼取得私鑰并解密。

  • 首先,C根據(jù)明文口令password計算(r, M),需要注意的是這里的(r, M)每次都是不同的。之后,C將M發(fā)送至S。

  • S使用M和oprf_key得到Z,并將Z和加密私鑰共同返回。

  • C使用Z,r,password計算Y。如果password正確,每次得到的Y應(yīng)當(dāng)是相同的。C使用Y解密加密私鑰,從而將其恢復(fù)為明文私鑰。

  • C僅使用密碼重新得到私鑰,從而進入登錄的下一個環(huán)節(jié)。

之后,像傳統(tǒng)的登錄流程一樣,C和S通過密鑰對creds建立會話。會話成功建立從而登錄流程結(jié)束。

當(dāng)然,適用于OPAQUE的“下一步”和傳統(tǒng)的流程并不完全相同,CFRG建議了包括3DH和SIGMA-I等在內(nèi)的一些選項,而根據(jù)Tatiana?Bradley的研究,TLS也是可用的。


整個流程中,S只接觸了由口令隨機化得到的M,卻并沒有接觸明文口令,而M值每次都是不同的。C僅僅在登錄時生成了creds,并將其加密后轉(zhuǎn)交S存儲。OPAQUE實現(xiàn)了在C端不存儲私鑰,而是在登錄時根據(jù)口令恢復(fù)私鑰;同時在S端不存儲口令,而是存儲OPRF私鑰和加密的用戶私鑰。從而完成了aPAKE的要求。由于OPRF流程的使用,OPAQUE能夠有效對抗預(yù)計算攻擊,從而在服務(wù)器遭受入侵或泄露的情況下依然能保證用戶憑據(jù)的安全。


(翻譯論文和rfc好累啊T_T)

OPAQUE:一種抗預(yù)計算攻擊的非對稱口令認證密鑰交換的評論 (共 條)

分享到微博請遵守國家法律
绥滨县| 玛纳斯县| 咸宁市| 彭州市| 志丹县| 桃园市| 靖远县| 盘山县| 祁阳县| 武定县| 乐安县| 错那县| 洛隆县| 拜泉县| 新乡县| 洮南市| 东乌珠穆沁旗| 沂源县| 武城县| 名山县| 临沂市| 改则县| 东安县| 乌鲁木齐县| 石嘴山市| 桃园县| 新兴县| 柳林县| 仙游县| 南乐县| 石阡县| 揭阳市| 饶平县| 湘潭县| 拉萨市| 石首市| 凌源市| 芜湖县| 株洲市| 大竹县| 巴彦县|