本發(fā)明涉及信息安全與通信技術(shù),尤其涉及一種會(huì)話密鑰協(xié)商的方法、裝置和系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)中的密鑰交換協(xié)議可以保證兩個(gè)或多個(gè)用戶在公開網(wǎng)絡(luò)環(huán)境中通過(guò)交互信息建立一個(gè)共享的會(huì)話密鑰,參與通信的用戶通過(guò)共享的會(huì)話密鑰來(lái)加密通信數(shù)據(jù)從而保證網(wǎng)絡(luò)通信的安全。其中,認(rèn)證密鑰交換協(xié)議是一種帶有認(rèn)證功能的密鑰協(xié)商,它能夠?qū)⑴c密鑰協(xié)商雙方的身份進(jìn)行認(rèn)證,從而能有效地抵抗第三方攻擊。
目前,認(rèn)證密鑰交換協(xié)議的工作原理主要為:對(duì)于隨機(jī)選擇的a∈rq,要進(jìn)行認(rèn)證密鑰協(xié)商的雙方a,b分別按照r-dlweq,x:(1)各自秘密選擇(sa,ea)←χ,(sb,eb)←χ;(2)各自計(jì)算ba=a·sa+ea,bb=a·sb+eb,其中,ba和bb是公開的;(3)雙方a,b利用各自掌握的秘密sa和sb,可以分別計(jì)算出sa·bb和sb·ba。由于sa·bb=saasb+saeb≈saasb≈sbasa+sbea=sb·ba,因此,sa·bb-sb·ba=saeb-sbea,若雙方誤差尺寸||saeb-sbea||在一定范圍內(nèi),則雙方可以消去誤差,從而計(jì)算出共同秘密saasb;由于saasb僅涉及雙方各自掌握的秘密sa和sb,因此只有雙方a,b才知道saasb。
另外,對(duì)于如何消除誤差||saeb-sbea||,使得雙方能正確恢復(fù)出saasb,目前主要依賴特征函數(shù)cha(v)和模函數(shù)mod2(w,b),以實(shí)現(xiàn)雙方恢復(fù)出共同信息saasb。其中,特征函數(shù)cha(v)定義如下:
cha(v):
模函數(shù)mod2(w,b)定義如下:
mod2(w,b):
具體的,就恢復(fù)出saasb而言,通過(guò)模函數(shù)mod2(w,b)逐個(gè)比特獲得的,以1個(gè)比特為例:q為奇素?cái)?shù),給定
其中,當(dāng)q為奇素?cái)?shù),給定
1)若cha(v)=0,則mod2(w,cha(v))輸出0/1的偏差為1/2|e|;
2)若cha(v)=1,則mod2(w,cha(v))輸出0/1的偏差為1/(|e|-1)。
但是,由于通過(guò)模函數(shù)mod2(w,cha(v))計(jì)算出來(lái)的共同的秘密比特
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種會(huì)話密鑰協(xié)商方法、裝置和系統(tǒng),以克服現(xiàn)有技術(shù)中通信量和計(jì)算代價(jià)大的問(wèn)題。
本發(fā)明第一方面提供一種會(huì)話密鑰協(xié)商方法,包括:
第一用戶設(shè)備接收與所述第一用戶設(shè)備會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa;
所述第一用戶設(shè)備根據(jù)所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及所述長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb;
所述第一用戶設(shè)備根據(jù)所述向量σb,采用公式
所述第一用戶設(shè)備根據(jù)所述
所述第一用戶設(shè)備根據(jù)所述信號(hào)量vb,采用公式
其中,q為偶數(shù),且不等于2。
結(jié)合第一方面,可以理解是的,所述獲取向量σb方式可以具體為:
所述第一用戶設(shè)備根據(jù)系統(tǒng)參數(shù)a以及fb,采用公式y(tǒng)b=a·rb+fb∈rq,獲取臨時(shí)私鑰yb;
所述第一用戶設(shè)備根據(jù)所述第二用戶設(shè)備對(duì)應(yīng)的臨時(shí)公鑰xa,所述第一用戶設(shè)備對(duì)應(yīng)的臨時(shí)私鑰yb,所述第一用戶設(shè)備對(duì)應(yīng)的身份信息b,以及所述第二用戶設(shè)備對(duì)應(yīng)的身份信息a,采用公式d=h(xa,b)和e=h(yb,a),分別獲取d和e;
所述第一用戶設(shè)備根據(jù)所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sb,所述d和e,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)私鑰xa,采用公式σb=g·(xa+d·pa)·(rb+e·sb)∈rq,獲取σb;
其中,
結(jié)合第一方面,可選地,所述身份信息a和b為表示身份證號(hào)碼或者指紋信息的比特串。
結(jié)合第一方面,需要指出的是,所述方法還包括:
所述第一用戶設(shè)備根據(jù)s1和e1,采用公式pb=a·s1+e1∈rq,獲取所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pb;
所述第一用戶設(shè)備向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pb的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述長(zhǎng)期公鑰pb≠0時(shí),根據(jù)s、e和e',采用公式bc=a·s+e以及v=g·b·s+e',獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述第一用戶設(shè)備;
所述第一用戶設(shè)備根據(jù)接收到的所述bc和<v>2,采用公式u=g·bc·s1和w=rec(u,<v>2),獲取w,并將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述第一用戶設(shè)備發(fā)送第一證書certb,以證明第一用戶設(shè)備擁有所述長(zhǎng)期公鑰pb;
其中,s1,e1←χ;s,e,e'←χ。
結(jié)合第一方面,可選地,所述方法還包括:
所述第一用戶設(shè)備將所述第一用戶設(shè)備的長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和所述信號(hào)量vb發(fā)送給所述第二用戶設(shè)備,以供所述第二用戶設(shè)備在預(yù)設(shè)誤差范圍內(nèi),根據(jù)長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和所述信號(hào)量vb,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取所述會(huì)話密鑰k;
其中,所述預(yù)設(shè)誤差范圍為
本發(fā)明第二方面提供一種會(huì)話密鑰協(xié)商方法,所述方法包括:
第二用戶設(shè)備接收與所述第二用戶設(shè)備會(huì)話協(xié)商的第一用戶設(shè)備發(fā)送的所述第一用戶設(shè)備的長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb;
所述第二用戶設(shè)備根據(jù)所述長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取向量σa;
所述第二用戶設(shè)備在所述預(yù)設(shè)誤差范圍內(nèi),根據(jù)所述向量σa和信號(hào)量vb,采用公式k=rec(σa,vb),獲取所述第二用戶設(shè)備對(duì)應(yīng)的會(huì)話密鑰k;
其中,所述預(yù)設(shè)誤差范圍為
結(jié)合第二方面,需要指出的是,所述方法還包括:
所述第二用戶設(shè)備根據(jù)所述長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,計(jì)算獲取向量σa,包括:
所述第二用戶設(shè)備根據(jù)系統(tǒng)參數(shù)a以及fa,采用公式xa=a·ra+fa∈rq,獲取所述臨時(shí)私鑰xa;
所述第二用戶設(shè)備根據(jù)所述第一用戶設(shè)備對(duì)應(yīng)的臨時(shí)私鑰xa,所述臨時(shí)私鑰yb,所述第一用戶設(shè)備對(duì)應(yīng)的身份信息b,以及所述第二用戶設(shè)備對(duì)應(yīng)的身份信息a,采用公式d=h(xa,b)和e=h(yb,a),分別獲取d和e;
所述第二用戶設(shè)備根據(jù)所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa,所述d和e,以及所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,采用公式σa=g·(yb+d·pb)·(ra+e·sa)∈rq,獲取向量σa;
其中,
結(jié)合第二方面,可選地,所述身份信息a和b為表示身份證號(hào)碼或者指紋信息的比特串。
結(jié)合第二方面,可以理解地,所述方法還包括:
所述第二用戶設(shè)備根據(jù)s1和e1,采用公式pa=a·s1+e1∈rq,獲取所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa;
所述第二用戶設(shè)備向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pa的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述pa≠0時(shí),根據(jù)s、e和e',采用公式bc=a·s+e以及v=g·b·s+e',獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述第二用戶設(shè)備;
所述第二用戶設(shè)備根據(jù)接收到的所述bc和<v>2,采用公式u=g·bc·s1和w=rec(u,<v>2),獲取w,并將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述第二用戶設(shè)備發(fā)送第二證書certa,以證明第二用戶設(shè)備擁有所述長(zhǎng)期公鑰pa;
其中,s1,e1←χ;s,e,e'←χ。
本發(fā)明第三方面提供一種會(huì)話密鑰協(xié)商裝置,所述裝置包括:
收發(fā)模塊,用于接收與會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa;
向量獲取模塊,用于根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及根據(jù)所述長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb;
第一計(jì)算模塊,用于根據(jù)所述向量σb,采用公式
信號(hào)量獲取模塊,用于根據(jù)所述
會(huì)話密鑰獲取模塊,用于根據(jù)所述信號(hào)量vb,采用公式
其中,q為偶數(shù),且不等于2。
結(jié)合第三方面,可以理解的是,所述裝置中的向量獲取模塊包括:
臨時(shí)私鑰獲取單元,用于根據(jù)系統(tǒng)參數(shù)a以及fb,采用公式y(tǒng)b=a·rb+fb∈rq,獲取臨時(shí)私鑰yb;
計(jì)算單元,用于根據(jù)所述第二用戶設(shè)備對(duì)應(yīng)的臨時(shí)公鑰xa,所述第一用戶設(shè)備對(duì)應(yīng)的臨時(shí)私鑰yb,所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的身份信息b,以及所述第二用戶設(shè)備對(duì)應(yīng)的身份信息a,采用公式d=h(xa,b)和e=h(yb,a),分別獲取d和e;
向量獲取單元,用于根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sb,所述d和e,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)私鑰xa,采用公式σb=g·(xa+d·pa)·(rb+e·sb)∈rq,獲取σb;
其中,
結(jié)合第三方面,可以指出的是,所述裝置還包括:
長(zhǎng)期公鑰獲取模塊,用于根據(jù)s1和e1,采用公式pb=a·s1+e1∈rq,獲取所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期公鑰pb;
所述收發(fā)模塊還用于向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pb的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述長(zhǎng)期公鑰pb≠0時(shí),根據(jù)s、e和e',采用公式bc=a·s+e以及v=g·b·s+e',獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述會(huì)話密鑰協(xié)商裝置;
第二計(jì)算模塊,用于根據(jù)接收到的所述bc和<v>2,采用公式u=g·bc·s1和w=rec(u,<v>2),獲取w;
所述收發(fā)模塊還用于將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述會(huì)話密鑰協(xié)商裝置發(fā)送第一證書certb,以證明會(huì)話密鑰協(xié)商裝置擁有所述長(zhǎng)期公鑰pb;
其中,s1,e1←χ;s,e,e'←χ。
結(jié)合第三方面,可選地,所述收發(fā)模塊還用于將所述會(huì)話密鑰協(xié)商裝置的長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和所述信號(hào)量vb發(fā)送給所述第二用戶設(shè)備,以供所述第二用戶設(shè)備在預(yù)設(shè)誤差范圍內(nèi),根據(jù)長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和所述信號(hào)量vb,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取所述會(huì)話密鑰k;
其中,所述預(yù)設(shè)誤差范圍為
本發(fā)明第四方面提供一種會(huì)話密鑰協(xié)商裝置,所述裝置包括:
收發(fā)模塊,用于接收與所述會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第一用戶設(shè)備發(fā)送的所述第一用戶設(shè)備的長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb;
向量獲取模塊,用于根據(jù)所述長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,以及所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取向量σa;
會(huì)話密鑰獲取模塊,用于在所述預(yù)設(shè)誤差范圍內(nèi),根據(jù)所述向量σa和信號(hào)量vb,采用公式k=rec(σa,vb),獲取所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的會(huì)話密鑰k;
其中,所述預(yù)設(shè)誤差范圍為
結(jié)合第四方面,可以指出的是,所述裝置中的向量獲取模塊包括:
臨時(shí)私鑰獲取單元,用于根據(jù)系統(tǒng)參數(shù)a以及fa,采用公式xa=a·ra+fa∈rq,獲取所述臨時(shí)私鑰xa;
計(jì)算單元,用于根據(jù)所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pb和臨時(shí)私鑰xa,所述臨時(shí)私鑰yb,所述第一用戶設(shè)備對(duì)應(yīng)的身份信息b,以及所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的身份信息a,采用公式d=h(xa,b)和e=h(yb,a),分別獲取d和e;
向量獲取單元,用于根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sa,所述d和e,以及所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,采用公式σa=g·(yb+d·pb)·(rb+e·sa)∈rq,獲取向量σa;
其中,
結(jié)合第四方面,可選地,所述裝置還包括:
長(zhǎng)期公鑰獲取模塊,用于根據(jù)s1和e1,采用公式pa=a·s1+e1∈rq,獲取所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa;
所述收發(fā)模塊還用于向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pa的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述pa≠0時(shí),根據(jù)s、e和e',采用公式bc=a·s+e以及v=g·b·s+e',獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述會(huì)話密鑰協(xié)商裝置;
計(jì)算模塊,用于根據(jù)接收到的所述bc和<v>2,采用公式u=g·bc·s1和w=rec(u,<v>2),獲取w;
所述收發(fā)模塊還用于將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述會(huì)話密鑰協(xié)商裝置發(fā)送第二證書certa,以證明會(huì)話密鑰協(xié)商裝置擁有所述長(zhǎng)期公鑰pa;
其中,s1,e1←χ;s,e,e'←χ。
本發(fā)明第五方面提供一種會(huì)話密鑰協(xié)商系統(tǒng),所述系統(tǒng)包括:
第一用戶設(shè)備以及與所述第一用戶設(shè)備會(huì)話協(xié)商的第二用戶設(shè)備;
其中,所述第一用戶設(shè)備為如上述第三方面所述的會(huì)話密鑰協(xié)商裝置;所述第二用戶設(shè)備為上述第四方面所述的會(huì)話密鑰協(xié)商裝置。
結(jié)合第五方面,可以理解地,所述系統(tǒng)中的第一用戶設(shè)備和第二用戶設(shè)備均處于分布式網(wǎng)絡(luò)環(huán)境中。
本發(fā)明實(shí)施例會(huì)話密鑰協(xié)商方法、裝置和系統(tǒng),第一用戶設(shè)備通過(guò)第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及接收到的與第一用戶設(shè)備會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb;并根據(jù)向量σb,采用隨機(jī)函數(shù)和交錯(cuò)湊整函數(shù),獲取信號(hào)量vb;再根據(jù)信號(hào)量vb,采用模2湊整函數(shù),計(jì)算獲取會(huì)話密鑰k;由于若
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的會(huì)話密鑰協(xié)商方法所基于的網(wǎng)絡(luò)架構(gòu)示意圖;
圖2為本發(fā)明會(huì)話密鑰協(xié)商的協(xié)議運(yùn)行過(guò)程圖;
圖3為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例一的流程圖;
圖4為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例二的流程圖;
圖5為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例三的流程圖;
圖6為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例四的流程圖;
圖7為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例五的流程圖;
圖8為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例六的流程圖;
圖9為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例一的結(jié)構(gòu)示意圖;
圖10為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例二的結(jié)構(gòu)示意圖;
圖11為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例三的結(jié)構(gòu)示意圖;
圖12為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例四的結(jié)構(gòu)示意圖;
圖13為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例五的結(jié)構(gòu)示意圖;
圖14為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例六的結(jié)構(gòu)示意圖;
圖15為本發(fā)明實(shí)施例提供的一種用戶設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明的會(huì)話密鑰協(xié)商方法所基于的網(wǎng)絡(luò)架構(gòu)示意圖,如圖1所示,該網(wǎng)絡(luò)架構(gòu)主要包括:第一用戶設(shè)備11和第二用戶設(shè)備12。其中,該第一用戶設(shè)備11和第二用戶設(shè)備12的會(huì)話密鑰協(xié)商是在分布式網(wǎng)絡(luò)環(huán)境下進(jìn)行的,即兩者建立的會(huì)話密鑰使能被第一用戶設(shè)備11和第二用戶設(shè)備12所掌握,任何其他第三方均不知道。另外,可選地,該網(wǎng)絡(luò)架構(gòu)還可以包括:認(rèn)證中心13,即第一用戶設(shè)備11和第二用戶設(shè)備12在進(jìn)行會(huì)話密鑰協(xié)商之前,需要進(jìn)行認(rèn)證,即第一用戶設(shè)備11能確定和它進(jìn)行密鑰協(xié)商的確實(shí)是第二用戶設(shè)備12,而不是其他設(shè)備。同理,第二用戶設(shè)備12也能確認(rèn)這一點(diǎn)。
在本發(fā)明中,本協(xié)議構(gòu)造在分圓代數(shù)整數(shù)環(huán)
m為正整數(shù):它描述了m階分圓代數(shù)整數(shù)環(huán)
q奇素?cái)?shù)模:gcd(q,m)=1;
g=∏p(1-ζp),其中p跑遍整除m的所有奇素?cái)?shù);
代數(shù)數(shù)域k上的離散高斯分布[ψ],其中
h(·):{0,1}*→r:將任意字符串映射為符合離散高斯分布χ=[ψ]的、位于
另外,第一用戶設(shè)備11和第二用戶設(shè)備12各自有一對(duì)長(zhǎng)期的公私鑰來(lái)標(biāo)識(shí),其產(chǎn)生方式簡(jiǎn)要說(shuō)明如下,以第二用戶設(shè)備12為例:第二用戶設(shè)備12抽樣sa←χ、ea←χ,其中,ea為噪聲向量;并將sa∈rq作為自己的長(zhǎng)期私鑰,計(jì)算pa=a·sa+ea∈rq并將其作為自己的長(zhǎng)期公鑰。設(shè)第一用戶設(shè)備11和第二用戶設(shè)備12要協(xié)商的會(huì)話密鑰k可以為k=skab,圖2為本發(fā)明會(huì)話密鑰協(xié)商的協(xié)議運(yùn)行過(guò)程圖,即具體協(xié)議過(guò)程如圖2所示。
圖3為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例一的流程圖,如圖3所示,本實(shí)施例的方法可以包括:
步驟101、第一用戶設(shè)備接收與第一用戶設(shè)備會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa。
步驟102、第一用戶設(shè)備根據(jù)第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb。
在本實(shí)施例中,第一用戶設(shè)備和第二用戶設(shè)備的會(huì)話密鑰協(xié)商是在分布式網(wǎng)絡(luò)環(huán)境下進(jìn)行。
步驟103、第一用戶設(shè)備根據(jù)所述向量σb,采用公式(1):
獲取
在本實(shí)施例中,dbl表示隨機(jī)化函數(shù)(randomizedfunction)。
步驟104、第一用戶設(shè)備根據(jù)所述
獲取信號(hào)量vb。
在本實(shí)施例中,vb是交錯(cuò)湊整函數(shù)作用在
并且,對(duì)于偶數(shù)模q,若
步驟105、第一用戶設(shè)備根據(jù)信號(hào)量vb,采用公式(3):
獲取會(huì)話密鑰k。
其中,q為偶數(shù),且不等于2。
在本實(shí)施例中,模2湊整函數(shù)[]2:
(1)、i0={0,1,2,…,[q/4]-1},i1={-[q/4],…,-1}modq,i0∪i1使得[x]2=0;
(2)、
在本實(shí)施例中,第一用戶設(shè)備通過(guò)第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及接收到的與第一用戶設(shè)備會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb;并根據(jù)向量σb,采用隨機(jī)函數(shù)和交錯(cuò)湊整函數(shù),獲取信號(hào)量vb;再根據(jù)信號(hào)量vb,采用模2湊整函數(shù),獲取會(huì)話密鑰k;由于若
下面采用幾個(gè)具體的實(shí)施例,對(duì)圖1所示方法實(shí)施例的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
圖4為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例二的流程圖,在上述圖3所示實(shí)施例的基礎(chǔ)上,如圖4所示,上述步驟102的一種具體實(shí)現(xiàn)方式為:
步驟201、根據(jù)系統(tǒng)參數(shù)a以及fb,采用公式(4):
yb=a·rb+fb∈rq(4)
獲取臨時(shí)私鑰yb。
步驟202、根據(jù)所述第二用戶設(shè)備對(duì)應(yīng)的臨時(shí)公鑰xa,所述第一用戶設(shè)備對(duì)應(yīng)的臨時(shí)私鑰yb,所述第一用戶設(shè)備對(duì)應(yīng)的身份信息b,以及所述第二用戶設(shè)備對(duì)應(yīng)的身份信息a,采用公式(5)和(6):
d=h(xa,b)(5)
e=h(yb,a)(6)
分別獲取d和e。
在本實(shí)施例中,身份信息a和b均可以表示身份證號(hào)碼、指紋信息等被認(rèn)證中心編碼為0和1的比特串。
步驟203、根據(jù)所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sb,所述d和e,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)私鑰xa,采用公式(7):
σb=g·(xa+d·pa)·(rb+e·sb)∈rq(7)
獲取σb。
其中,
在本實(shí)施例中,在一般分圓多項(xiàng)式環(huán)下,采用解碼基(張量?jī)缁膶?duì)偶的共軛)表示環(huán)r上的元素,以及進(jìn)行計(jì)算,可以獲地較小尺寸的元素表示和計(jì)算代價(jià)。
圖5為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例三的流程圖,在上述圖4所示實(shí)施例的基礎(chǔ)上,如圖5所示,在步驟101之前,該方法還可以進(jìn)一步包括:
步驟301、第一用戶設(shè)備根據(jù)s1和e1,采用公式(8):
pb=a·s1+e1∈rq(8)
獲取所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pb。
步驟302、第一用戶設(shè)備向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pb的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述長(zhǎng)期公鑰pb≠0時(shí),根據(jù)s、e和e',采用公式(9)和(10):
bc=a·s+e(9)
v=g·b·s+e'(10)
獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述第一用戶設(shè)備。
步驟303、第一用戶設(shè)備根據(jù)接收到的所述bc和<v>2,采用公式(11)和(12):
u=g·bc·s1(11)
w=rec(u,<v>2)(12)
獲取w,并將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述第一用戶設(shè)備發(fā)送第一證書certb,以證明第一用戶設(shè)備擁有所述長(zhǎng)期公鑰pb。
其中,s1,e1←χ;s,e,e'←χ。
由于可以對(duì)兩方協(xié)商的用戶設(shè)備的長(zhǎng)期公鑰進(jìn)行認(rèn)證,從而保證第二用戶設(shè)備確定和它進(jìn)行密鑰協(xié)商的確實(shí)是第一用戶設(shè)備,進(jìn)而保證密鑰協(xié)商的安全性。
更進(jìn)一步的,在步驟105之后,該方法還可以包括:
步驟304、第一用戶設(shè)備將第一用戶設(shè)備的長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和信號(hào)量vb發(fā)送給第二用戶設(shè)備,以供第二用戶設(shè)備在預(yù)設(shè)誤差范圍內(nèi),根據(jù)長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和信號(hào)量vb,以及第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取會(huì)話密鑰k。
其中,預(yù)設(shè)誤差范圍為
圖6為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例四的流程圖,如圖6所示,該方法包括:
步驟401、第二用戶設(shè)備接收與所述第二用戶設(shè)備會(huì)話協(xié)商的第一用戶設(shè)備發(fā)送的所述第一用戶設(shè)備的長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb。
在本實(shí)施例中,第一用戶設(shè)備和第二用戶設(shè)備的會(huì)話密鑰協(xié)商是在分布式網(wǎng)絡(luò)環(huán)境下進(jìn)行。其中,第一用戶設(shè)備可以執(zhí)行如圖1至圖3任一方法所示的技術(shù)方案,其實(shí)現(xiàn)原理相類似,此處不再贅述。
步驟402、第二用戶設(shè)備根據(jù)所述長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取向量σa。
步驟403、第二用戶設(shè)備在所述預(yù)設(shè)誤差范圍內(nèi),根據(jù)所述向量σa和信號(hào)量vb,采用公式(13):
k=rec(σa,vb)(13)
獲取所述第二用戶設(shè)備對(duì)應(yīng)的會(huì)話密鑰k。
其中,所述預(yù)設(shè)誤差范圍為
在本實(shí)施例中,參與密鑰協(xié)商的第一用戶設(shè)備通過(guò)公開傳輸長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb,參與該密鑰協(xié)商的第二用戶設(shè)備通過(guò)接收該長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb,以及根據(jù)自身長(zhǎng)期私鑰sa和臨時(shí)私鑰xa計(jì)算獲取的向量σa,采用公式k=rec(σa,vb),獲取所述第二用戶設(shè)備對(duì)應(yīng)的會(huì)話密鑰k,從而使得密鑰協(xié)商兩方獲取信息論意義下均勻分布于{0,1}上的密鑰k,從而保證會(huì)話密鑰的安全性。另外,由于q為偶數(shù)模,因此,還有效地解決了現(xiàn)有技術(shù)中通信量和計(jì)算代價(jià)變大的問(wèn)題。
圖7為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例五的流程圖,在上述圖6所示實(shí)施例的基礎(chǔ)上,如圖7所示,上述步驟402的一種具體實(shí)現(xiàn)方式為:
步驟501、第二用戶設(shè)備根據(jù)系統(tǒng)參數(shù)a以及fa,采用公式(14):
xa=a·ra+fa∈rq(14)
獲取所述臨時(shí)私鑰xa。
步驟502、第二用戶設(shè)備根據(jù)所述第一用戶設(shè)備對(duì)應(yīng)的臨時(shí)私鑰xa,所述臨時(shí)私鑰yb,所述第一用戶設(shè)備對(duì)應(yīng)的身份信息b,以及所述第二用戶設(shè)備對(duì)應(yīng)的身份信息a,采用公式(15)和(16):
d=h(xa,b)(15)
e=h(yb,a)(16)
分別獲取d和e。
步驟503、第二用戶設(shè)備根據(jù)所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa,所述d和e,以及所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,采用公式(17):
σa=g·(yb+d·pb)·(ra+e·sa)∈rq(17)
獲取向量σa。
其中,
在本實(shí)施例中,在一般分圓多項(xiàng)式環(huán)下,采用解碼基(張量?jī)缁膶?duì)偶的共軛)表示環(huán)r上的元素,以及進(jìn)行計(jì)算,可以獲地較小尺寸的元素表示和計(jì)算代價(jià)。
圖8為本發(fā)明會(huì)話密鑰協(xié)商方法實(shí)施例六的流程圖,在上述圖7所示實(shí)施例的基礎(chǔ)上,如圖8所示,該方法還可以進(jìn)一步包括:
步驟601、第二用戶設(shè)備根據(jù)s1和e1,采用公式(18):
pa=a·s1+e1∈rq(18)
獲取所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa。
步驟602、第二用戶設(shè)備向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pa的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述pa≠0時(shí),根據(jù)s、e和e',采用公式(19)和(20):
bc=a·s+e(19)
v=g·b·s+e'(20)
獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述第二用戶設(shè)備。
步驟603、第二用戶設(shè)備根據(jù)接收到的所述bc和<v>2,采用公式(21)和(22):
u=g·bc·s1(21)
w=rec(u,<v>2)(22)
獲取w,并將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述第二用戶設(shè)備發(fā)送第二證書certa,以證明第二用戶設(shè)備擁有所述長(zhǎng)期公鑰pa。
其中,s1,e1←χ;s,e,e'←χ。
在本實(shí)施例中,由于可以對(duì)兩方協(xié)商的用戶設(shè)備的長(zhǎng)期公鑰進(jìn)行認(rèn)證,從而保證第一用戶設(shè)備確定和它進(jìn)行密鑰協(xié)商的確實(shí)是第二用戶設(shè)備,進(jìn)而保證密鑰協(xié)商的安全性。
圖9為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖9所示,本實(shí)施例的裝置可以包括:收發(fā)模塊21、向量獲取模塊22、第一計(jì)算模塊23、信號(hào)量獲取模塊24和會(huì)話密鑰獲取模塊25,其中,收發(fā)模塊21用于接收與會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa;向量獲取模塊22用于根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及根據(jù)所述長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb;第一計(jì)算模塊23用于根據(jù)所述向量σb,采用公式
本實(shí)施例的裝置,可以第一用戶設(shè)備,且用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖10為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖10所示,本實(shí)施例的裝置在圖9所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,所述向量獲取模塊22具體包括:臨時(shí)私鑰獲取單元221、計(jì)算單元222和向量獲取單元223;其中,臨時(shí)私鑰獲取單元221用于根據(jù)系統(tǒng)參數(shù)a以及fb,采用公式y(tǒng)b=a·rb+fb∈rq,獲取臨時(shí)私鑰yb;計(jì)算單元222用于根據(jù)所述第二用戶設(shè)備對(duì)應(yīng)的臨時(shí)公鑰xa,所述第一用戶設(shè)備對(duì)應(yīng)的臨時(shí)私鑰yb,所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的身份信息b,以及所述第二用戶設(shè)備對(duì)應(yīng)的身份信息a,采用公式d=h(xa,b)和e=h(yb,a),分別獲取d和e;向量獲取單元223用于根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sb,所述d和e,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)私鑰xa,采用公式σb=g·(xa+d·pa)·(rb+e·sb)∈rq,獲取σb;
其中,
本實(shí)施例的裝置,可以用于執(zhí)行圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖11為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例三的結(jié)構(gòu)示意圖,如圖11所示,本實(shí)施例的裝置在圖10所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,該裝置還可以包括:長(zhǎng)期公鑰獲取模塊31和第二計(jì)算模塊32;其中,長(zhǎng)期公鑰獲取模塊31用于根據(jù)s1和e1,采用公式pb=a·s1+e1∈rq,獲取所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期公鑰pb;所述收發(fā)模塊21還用于向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pb的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述長(zhǎng)期公鑰pb時(shí),根據(jù)s、e和e',采用公式bc=a·s+e以及v=g·b·s+e',獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述會(huì)話密鑰協(xié)商裝置;第二計(jì)算模塊32用于根據(jù)接收到的所述bc和<v>2,采用公式u=g·bc·s1和w=rec(u,<v>2),獲取w;所述收發(fā)模塊21還用于將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述會(huì)話密鑰協(xié)商裝置發(fā)送第一證書certb,以證明會(huì)話密鑰協(xié)商裝置擁有所述長(zhǎng)期公鑰pb;其中,s1,e1←χ;s,e,e'←χ。
進(jìn)一步的,收發(fā)模塊21還用于將所述會(huì)話密鑰協(xié)商裝置的長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和所述信號(hào)量vb發(fā)送給所述第二用戶設(shè)備,以供所述第二用戶設(shè)備在預(yù)設(shè)誤差范圍內(nèi),根據(jù)長(zhǎng)期公鑰pb,臨時(shí)私鑰yb和所述信號(hào)量vb,以及所述第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取所述會(huì)話密鑰k;
其中,所述預(yù)設(shè)誤差范圍為
本實(shí)施例的裝置,可以用于執(zhí)行圖3所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖12為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例四的結(jié)構(gòu)示意圖,如圖12所示,該裝置包括:收發(fā)模塊41、向量獲取模塊42和會(huì)話密鑰獲取模塊43;其中,收發(fā)模塊41用于接收與所述會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第一用戶設(shè)備發(fā)送的所述第一用戶設(shè)備的長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb;向量獲取模塊42用于根據(jù)所述長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,以及所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,計(jì)算獲取向量σa;會(huì)話密鑰獲取模塊43用于在所述預(yù)設(shè)誤差范圍內(nèi),根據(jù)所述向量σa和信號(hào)量vb,采用公式k=rec(σa,vb),獲取所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的會(huì)話密鑰k;
其中,所述預(yù)設(shè)誤差范圍為
本實(shí)施例的裝置,可以為第二用戶設(shè)備,且用于執(zhí)行圖6所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖13為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例五的結(jié)構(gòu)示意圖,如圖13所示,在上述圖12所示實(shí)施例的基礎(chǔ)上,該向量獲取模塊42包括:臨時(shí)私鑰獲取單元421、計(jì)算單元422以及向量獲取單元423;其中,臨時(shí)私鑰獲取單元421用于根據(jù)系統(tǒng)參數(shù)a以及fa,采用公式xa=a·ra+fa∈rq,獲取所述臨時(shí)私鑰xa;計(jì)算單元422用于根據(jù)所述第一用戶設(shè)備對(duì)應(yīng)的臨時(shí)私鑰xa,所述臨時(shí)私鑰yb,所述第一用戶設(shè)備對(duì)應(yīng)的身份信息b,以及所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的身份信息a,采用公式d=h(xa,b)和e=h(yb,a),分別獲取d和e;向量獲取單元423用于根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sa,所述d和e,以及所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,采用公式σa=g·(yb+d·pb)·(ra+e·sa)∈rq,獲取向量σa;其中,
本實(shí)施例的裝置,可以用于執(zhí)行圖7所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖14為本發(fā)明會(huì)話密鑰協(xié)商裝置實(shí)施例六的結(jié)構(gòu)示意圖,如圖14所示,在上述圖13所示實(shí)施例的基礎(chǔ)上,進(jìn)一步的,該裝置還可以包括:長(zhǎng)期公鑰獲取模塊51和計(jì)算模塊52;其中,長(zhǎng)期公鑰獲取模塊51用于根據(jù)s1和e1,采用公式pa=a·s1+e1∈rq,獲取所述第一用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa;所述收發(fā)模塊41還用于向認(rèn)證中心發(fā)送攜帶有所述長(zhǎng)期公鑰pa的注冊(cè)請(qǐng)求,以供所述認(rèn)證中心根據(jù)所述注冊(cè)請(qǐng)求,在驗(yàn)證所述pa≠0時(shí),根據(jù)s、e和e',采用公式bc=a·s+e以及v=g·b·s+e',獲取bc、[v]2和<v>2,并將所述bc和<v>2返回給所述會(huì)話密鑰協(xié)商裝置;計(jì)算模塊52用于根據(jù)接收到的所述bc和<v>2,采用公式u=g·bc·s1和w=rec(u,<v>2),獲取w;所述收發(fā)模塊41還用于將所述w發(fā)送給所述認(rèn)證中心,以供所述認(rèn)證中心在驗(yàn)證w=[v]2成立時(shí),向所述會(huì)話密鑰協(xié)商裝置發(fā)送第二證書certa,以證明會(huì)話密鑰協(xié)商裝置擁有所述長(zhǎng)期公鑰pa;其中,s1,e1←χ;s,e,e'←χ。
本實(shí)施例的裝置,可以用于執(zhí)行圖8所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本發(fā)明還提供了一種會(huì)話密鑰協(xié)商系統(tǒng),該系統(tǒng)包括第一用戶設(shè)備以及與該第一用戶設(shè)備會(huì)話協(xié)商的第二用戶設(shè)備;其中,第一用戶設(shè)備用于執(zhí)行圖1至圖3任一所示方法實(shí)施例的技術(shù)方案,第二用戶設(shè)備用于執(zhí)行圖6至圖8任一所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本發(fā)明還提供了一種會(huì)話密鑰協(xié)商裝置,該裝置包括處理器、存儲(chǔ)器、以及通信接口,所述存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼,其中,所述處理器通過(guò)讀取所述存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與所述可執(zhí)行程序代碼對(duì)應(yīng)的程序;
所述通信接口接收與所述會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa;
所述處理器根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及所述長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb;根據(jù)所述向量σb,采用公式
在本實(shí)施例中,該會(huì)話密鑰協(xié)商裝置為第一用戶設(shè)備,且用于執(zhí)行圖1至圖3任一所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本發(fā)明還提供了一種會(huì)話密鑰協(xié)商裝置,該裝置包括處理器、存儲(chǔ)器、以及通信接口,所述存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼,其中,所述處理器通過(guò)讀取所述存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與所述可執(zhí)行程序代碼對(duì)應(yīng)的程序;
該通信接口接收與所述會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第一用戶設(shè)備發(fā)送的所述第一用戶設(shè)備的長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb;
該處理器根據(jù)所述長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,以及所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取向量σa;在所述預(yù)設(shè)誤差范圍內(nèi),根據(jù)所述向量σa和信號(hào)量vb,采用公式k=rec(σa,vb),獲取所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的會(huì)話密鑰k;其中,所述預(yù)設(shè)誤差范圍為
在本實(shí)施例中,該會(huì)話密鑰協(xié)商裝置為第二用戶設(shè)備,且用于執(zhí)行圖6至圖8任一所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖15為本發(fā)明實(shí)施例提供的一種用戶設(shè)備的結(jié)構(gòu)示意圖,本發(fā)明實(shí)施例提供的用戶設(shè)備可以用于實(shí)施上述圖3-圖8所示的本發(fā)明各實(shí)施例實(shí)現(xiàn)的方法,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照?qǐng)D3-圖8所示的本發(fā)明各實(shí)施例。
該用戶設(shè)備可以為手機(jī)、平板電腦、筆記本電腦、umpc(ultra-mobilepersonalcomputer,超級(jí)移動(dòng)個(gè)人計(jì)算機(jī))、上網(wǎng)本、pda(personaldigitalassistant,個(gè)人數(shù)字助理)等終端設(shè)備,本發(fā)明實(shí)施例以用戶設(shè)備為手機(jī)為例進(jìn)行說(shuō)明,圖15示出的是與本發(fā)明各實(shí)施例相關(guān)的手機(jī)1500的部分結(jié)構(gòu)的框圖。
如圖15所示,手機(jī)1500包括:rf(radiofrequency,射頻)電路1520、存儲(chǔ)器1530、輸入單元1540、顯示單元1550、重力傳感器1560、音頻電路1570、處理器1580、以及電源1590等部件。本領(lǐng)域技術(shù)人員可以理解,圖15中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖15對(duì)手機(jī)1500的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
rf電路1520可用于收發(fā)信息或通話過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器1580處理;另外,將上行的數(shù)據(jù)發(fā)送給基站。通常,rf電路包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、lna(lownoiseamplifier,低噪聲放大器)、雙工器等。此外,rf電路1520還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無(wú)線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(globalsystemofmobilecommunication;簡(jiǎn)稱:gsm)、通用分組無(wú)線服務(wù)(generalpacketradioservice;簡(jiǎn)稱:gprs)、碼分多址(codedivisionmultipleaccess;簡(jiǎn)稱:cdma)、寬帶碼分多址(widebandcodedivisionmultipleaccess;簡(jiǎn)稱:wcdma)、長(zhǎng)期演進(jìn)(longtermevolution;簡(jiǎn)稱:lte)、電子郵件、短消息服務(wù)(shortmessagingservice;簡(jiǎn)稱:sms)等。
存儲(chǔ)器1530可用于存儲(chǔ)軟件程序以及模塊,處理器1580通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器1530的軟件程序以及模塊,從而執(zhí)行手機(jī)1500的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器1530可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)1500的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、圖像數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器1530可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
輸入單元1540可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)1500的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,輸入單元1540可包括觸摸屏1541以及其他輸入設(shè)備1542。觸摸屏1541,也稱為觸控面板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸摸屏1541上或在觸摸屏1541附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸摸屏1541可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器1580,并能接收處理器380發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸摸屏1541。除了觸摸屏1541,輸入單元1540還可以包括其他輸入設(shè)備1542。具體地,其他輸入設(shè)備1542可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、電源開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元1550可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)1500的各種菜單。顯示單元1550可包括顯示面板351,可選的,可以采用液晶顯示器(liquidcrystaldisplay;簡(jiǎn)稱:lcd)、有機(jī)發(fā)光二極管(organiclight-emittingdiode;簡(jiǎn)稱:oled)等形式來(lái)配置顯示面板1541。進(jìn)一步的,觸摸屏1541可覆蓋顯示面板1551,當(dāng)觸摸屏1541檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器1580以確定觸摸事件的類型,隨后處理器1580根據(jù)觸摸事件的類型在顯示面板1551上提供相應(yīng)的視覺(jué)輸出。雖然在圖15中,觸摸屏1541與顯示面板1551是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)手機(jī)1500的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸摸屏1541與顯示面板1551集成而實(shí)現(xiàn)手機(jī)1500的輸入和輸出功能。
重力傳感器(gravitysensor)1560,可以檢測(cè)手機(jī)在各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等。
手機(jī)1500還可以包括其它傳感器,比如光傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近光傳感器。其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來(lái)調(diào)節(jié)顯示面板1541的亮度;接近光傳感器可以檢測(cè)是否有物體靠近或接觸手機(jī),可在手機(jī)1500移動(dòng)到耳邊時(shí),關(guān)閉顯示面板1541和/或背光。手機(jī)1500還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路1570、揚(yáng)聲器1571、麥克風(fēng)1572可提供用戶與手機(jī)1500之間的音頻接口。音頻電路1570可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器1571,由揚(yáng)聲器1571轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,麥克風(fēng)1572將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路1570接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出至rf電路1520以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器1530以便進(jìn)一步處理。
處理器1580是手機(jī)1500的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器1530內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器1530內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)1500的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器1580可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器1580可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器380中。
手機(jī)1500還包括給各個(gè)部件供電的電源1590(比如電池),優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器1580邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)1500還可以包括無(wú)線保真(wirelessfidelity;簡(jiǎn)稱:wifi)模塊、藍(lán)牙模塊等,在此不再贅述。
在本發(fā)明實(shí)施例中,存儲(chǔ)器1530還用于存儲(chǔ)用于存儲(chǔ)可執(zhí)行程序代碼。輸入單元1540還用于接收與所述會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第二用戶設(shè)備對(duì)應(yīng)的長(zhǎng)期公鑰pa和臨時(shí)公鑰xa;處理器1580還用于根據(jù)所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sb和臨時(shí)私鑰yb,以及所述長(zhǎng)期公鑰pa和臨時(shí)公鑰xa,獲取向量σb;根據(jù)所述向量σb,采用公式
或者,在本發(fā)明實(shí)施例中,存儲(chǔ)器1530還用于存儲(chǔ)用于存儲(chǔ)可執(zhí)行程序代碼。輸入單元1540還用于接收與所述會(huì)話密鑰協(xié)商裝置會(huì)話協(xié)商的第一用戶設(shè)備發(fā)送的所述第一用戶設(shè)備的長(zhǎng)期公鑰pb,信號(hào)量vb和臨時(shí)私鑰yb;該處理器1580還用于根據(jù)所述長(zhǎng)期公鑰pb和臨時(shí)私鑰yb,以及所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的長(zhǎng)期私鑰sa和臨時(shí)私鑰xa,獲取向量σa;在所述預(yù)設(shè)誤差范圍內(nèi),根據(jù)所述向量σa和信號(hào)量vb,采用公式k=rec(σa,vb),獲取所述會(huì)話密鑰協(xié)商裝置對(duì)應(yīng)的會(huì)話密鑰k;其中,所述預(yù)設(shè)誤差范圍為
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。