2.5.3 EIGamal密碼
RSA密碼建立在大整數(shù)因子分解的困難性之上,而ELGamal密碼建立在離散對數(shù)的困難性之上。RSA密碼和ELGamal密碼是目前公認(rèn)的安全的公開密鑰密碼。
2.5.3.2 基本的EIGamal密碼體制:參數(shù),加密算法,解密算法
隨機(jī)地選擇一個大素?cái)?shù)p,且要求p-1有大素?cái)?shù)因子。選擇一個模p的本原元α。將p和α公開。
1. 密鑰生成
用戶隨機(jī)地選擇一個整數(shù)d作為自己的秘密的解密鑰,1≤d≤p-1,計(jì)算y≡αdmod p,取y為自己的公開的加密鑰。
由公開鑰y計(jì)算秘密鑰d,必須求解離散對數(shù),而這是極困難的。
2. 加密
將明文消息M(0≤M≤p-1)加密成密文的過程如下:
① 隨機(jī)地選取一個整數(shù)k,1≤k≤p-1。
② 計(jì)算U=ykmod p (2—46)
C1=αkmod p (2—47)
C2=UM mod p (2—48)
③取(C1,C2)作為的密文。
3.解密
將密文(C1,C2)解密的過程如下:
①計(jì)算V=C1d mod p (2—49)
②計(jì)算M=C2V-1 mod p (2—50)
例 2-3 設(shè)p=2579,取α=2,秘密鑰d=765,計(jì)算出公開鑰y=2765mod 2579=949。再取明文M=1299,隨機(jī)數(shù)1299,隨機(jī)數(shù)k=853,則C1=853mod 2579=435,C2=1299×949853mod 2579=2396,所以密文為(C1,C2)=(435,2396)。解密時計(jì)算
M=2396×(435765)-1 mod 2579=1299從而還原出明文。
2.5.4 橢圓曲線密碼
目前,橢圓曲線密碼已成為除RSA密碼之外呼聲最高的公鑰密碼之一。它密鑰短、簽名短,軟件實(shí)現(xiàn)規(guī)模小、硬件實(shí)現(xiàn)電路省電。普遍認(rèn)為,160位長的橢圓曲線密碼的安全性相當(dāng)于1024位的RSA密碼,而且運(yùn)算速度也較快。
SM2算法是國家密碼管理局于2010年12月17日發(fā)布的橢圓曲線公鑰密碼算法。在我們國家商用密碼體系中被用來替換RSA算法。
2.5.5 SM2橢圓曲線公鑰加密算法
SM2算法是橢圓曲線公鑰密碼算法,在我們國家商用密碼體系中被用來替換RSA算法。
2.6 數(shù)字簽名
2.6.1 數(shù)字簽名的概念
2.6.1.1 數(shù)字簽名的用途
電子形式的簽名,即數(shù)字簽名(Digital Signature)。
一種完善的簽名應(yīng)滿足以下三個條件:
① 簽名者事后不能抵賴自己的簽名;
② 任何其他人不能偽造簽名;
③ 如果當(dāng)事的雙方關(guān)于簽名的真?zhèn)伟l(fā)生爭執(zhí),能夠在公正的仲裁者面前通過驗(yàn)證簽名來確認(rèn)其真?zhèn)巍?
2.6.1.2 數(shù)字簽名的基本模型
一個數(shù)字簽名體制包括兩個方面的處理:施加簽名和驗(yàn)證簽名。
2.6.2 典型數(shù)字簽名體制
2.6.2.1基本的RSA簽名體制算法與安全性
RSA可同時確保數(shù)據(jù)的秘密性和真實(shí)性。
RSA密碼可以同時實(shí)現(xiàn)數(shù)字簽名和數(shù)據(jù)加密。
2.7 認(rèn)證
2.7.1 認(rèn)證的概念
認(rèn)證(Authentication)又稱鑒別或確認(rèn),它是證實(shí)某事是否名副其實(shí)或是否有效的一個過程。
認(rèn)證和加密的區(qū)別在于:加密用以確保數(shù)據(jù)的保密性,阻止對手的被動攻擊,如截取,竊聽等;而認(rèn)證用以確保報文發(fā)送者和接收者的真實(shí)性以及報文的完整性,阻止對手的主動攻擊,如冒充、篡改、重播等。
認(rèn)證系統(tǒng)常用的參數(shù)有口令、標(biāo)識符、密鑰、信物、智能卡、指紋、視網(wǎng)紋等。
認(rèn)證和數(shù)字簽名技術(shù)都是確保數(shù)據(jù)真實(shí)性的措施,但兩者有著明顯的區(qū)別。
(1)認(rèn)證總是基于某種收發(fā)雙方共享的保密數(shù)據(jù)來認(rèn)證被鑒別對象的真實(shí)性,而數(shù)字簽名中用于驗(yàn)證簽名的數(shù)據(jù)是公開的。
(2)認(rèn)證允許收發(fā)雙方互相驗(yàn)證其真實(shí)性,不準(zhǔn)許第三者驗(yàn)證,而數(shù)字簽名允許收發(fā)雙方和第三者都能驗(yàn)證。
(3)數(shù)字簽名具有發(fā)送方不能抵賴、接收方不能偽造和具有在公證人前解決糾紛的能力,而認(rèn)證則不一定具備。
2.7.2 身份認(rèn)證
2.7.2.1 口令認(rèn)證
在一些簡單的系統(tǒng)中,用戶的口令以口令表的形式存儲。當(dāng)用戶要訪問系統(tǒng)時,系統(tǒng)要求用戶提供其口令,系統(tǒng)將用戶提供的口令與口令表中存儲的的相應(yīng)用戶的口令進(jìn)行比較,若相等則確認(rèn)用戶身份有效,否則確認(rèn)用戶身份無效,拒絕訪問。
但是,在上述口令驗(yàn)證機(jī)制中,存在下列一些問題:
(1)攻擊者可能從口令表中獲取用戶口令。因?yàn)橛脩舻目诹钜悦魑男问酱鎯υ谙到y(tǒng)中,系統(tǒng)管理員可以獲得所有口令,攻擊者也可利用系統(tǒng)的漏洞來獲得他人的口令。
(2)攻擊者可能在傳輸線路上截獲用戶口令。因?yàn)橛脩舻目诹钤谟脩艚K端到系統(tǒng)的線路上以明文形式傳輸,所以攻擊者可在傳輸線路上截獲用戶口令。
(3)用戶和系統(tǒng)的地位不平等。這里只有系統(tǒng)強(qiáng)制性地驗(yàn)證用戶的身份,而用戶無法驗(yàn)證系統(tǒng)的身份。
下面給出幾種改進(jìn)的口令驗(yàn)證機(jī)制。
1.利用單向函數(shù)加密口令
在這種驗(yàn)證機(jī)制中,用戶的口令在系統(tǒng)中以密文的形式存儲,并且對用戶口令的加密應(yīng)使得從口令密文回復(fù)出口令的明文在計(jì)算上是不可行的。
2.利用數(shù)字簽名方法驗(yàn)證口令
在這種驗(yàn)證機(jī)制中,用戶i將其公鑰提交給系統(tǒng),作為驗(yàn)證口令的數(shù)據(jù),系統(tǒng)為每個用戶建立一個時間標(biāo)志Ti(如訪問次數(shù)計(jì)數(shù)器),用戶訪問系統(tǒng)時將其簽名信息
IDi||D((IDi,Ni),Kdi)
提供給系統(tǒng),其中Ni表示本次訪問是第Ni次訪問。系統(tǒng)根據(jù)明文形式的標(biāo)識符IDi查出Kei,并計(jì)算 E(D((IDi,Ni),Kdi),Kei)=<IDi*,Ni*>
在這種方法中,口令是用戶的保密的解密的密鑰Kdi,它不存儲于系統(tǒng)中,所以,任何人都不可通過訪問系統(tǒng)而得到;雖然Kei存儲于系統(tǒng)中,但是由Kei不能推出Kdi;由于從終端到系統(tǒng)的通道上傳輸?shù)氖呛灻麛?shù)據(jù)而不是Kdi本身,所以攻擊者也不能通過截取獲得;由于系統(tǒng)為每用戶設(shè)置了時間標(biāo)志Ti,且僅當(dāng)Ni*=Ti+1是才接收訪問,所以可以抗重播攻擊。
3. 口令的雙向驗(yàn)證
僅僅只有系統(tǒng)驗(yàn)證用戶的身份,而用戶不能驗(yàn)證系統(tǒng)的身份,是不全面的,也是不平等的。為了確保安全保密,用戶和系統(tǒng)應(yīng)能相互平等的驗(yàn)證對方的身份。
4.一次性口令
為了安全,口令應(yīng)當(dāng)能夠更換,而且口令的使用周期越短對安全越有利,最好是一個口令只使用一次,即一次性口令。一個好的口令應(yīng)當(dāng)具備:
(1)應(yīng)使用多種字符
(2)應(yīng)用足夠的長度
(3)應(yīng)盡量隨機(jī)
(4)應(yīng)定期更換
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |