緒論:寫作既是個(gè)人情感的抒發(fā),也是對(duì)學(xué)術(shù)真理的探索,歡迎閱讀由發(fā)表云整理的11篇數(shù)字簽名技術(shù)論文范文,希望它們能為您的寫作提供參考和啟發(fā)。
0.引言
隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)的資源共享滲透到人們的日常生活中,在眾多領(lǐng)域上實(shí)現(xiàn)了網(wǎng)上信息傳輸、無(wú)紙化辦公。因此,信息在網(wǎng)絡(luò)中傳輸?shù)陌踩?、可靠性日趨受到網(wǎng)絡(luò)設(shè)計(jì)者和網(wǎng)絡(luò)用戶的重視數(shù)字簽名技術(shù)是實(shí)現(xiàn)交易安全的核心技術(shù)之一,在保障電子數(shù)據(jù)交換((edi)的安全性上是一個(gè)突破性的進(jìn)展,可以解決否認(rèn)、偽造、篡改及冒充等問題
1.數(shù)字簽名
1.1數(shù)字簽名技術(shù)的功能
數(shù)字簽名必須滿足三個(gè)性質(zhì)
(1)接受者能夠核實(shí)并確認(rèn)發(fā)送者對(duì)信息的簽名,但不能偽造簽名
(2)發(fā)送者事后不能否認(rèn)和抵賴對(duì)信息的簽名。
(3)當(dāng)雙方關(guān)于簽名的真?zhèn)伟l(fā)生爭(zhēng)執(zhí)時(shí),能找到一個(gè)公證方做出仲裁,但公證方不能偽造這一過程
常用的數(shù)字簽名技術(shù)有rsa簽名體制、robin簽名體制、e1gamal簽名體制及在其基礎(chǔ)之上產(chǎn)生的數(shù)字簽名規(guī)范dss簽名體制。
1.2數(shù)字簽名技術(shù)的原理
為了提高安全性,可以對(duì)簽名后的文件再進(jìn)行加密。假如發(fā)送方a要給接收方b發(fā)送消息m,那么我們可以把發(fā)送和接收m的過程簡(jiǎn)單描述如下:
(1)發(fā)送方a先要將傳送的消息m使用自己的私有密鑰加密算法e(al)進(jìn)行簽名,得v=e(al(m))其中,a的私有加密密鑰為al;
(2)發(fā)送方a用自己的私有密鑰對(duì)消息加密以后,再用接收方b的公開密鑰算法ebl對(duì)簽名后的消息v進(jìn)行加密,得c=e(b l (v))。其中,b的公開加密密鑰為6l.
(3)最后,發(fā)送方a將加密后的簽名消息c傳送給接收方b
(4)接收方b收到加密的消息c后,先用自己的私有密鑰算法d(62)對(duì)c進(jìn)行解密,得v=d(h2揮))其中,b的私有解密密鑰為62(5)然后接收方再用發(fā)送方a的公開密鑰算法d(a2)對(duì)解密后的消息v再進(jìn)行解密,得m=d(a2(v))。其中,,a的公開解密密鑰為a2=這就是數(shù)字簽名技術(shù)的基本原理。如果第三方想冒充a向b發(fā)送消息,因?yàn)樗恢?a的密鑰,就無(wú)法做出a對(duì)消息的簽名如果a想否認(rèn)曾經(jīng)發(fā)送消息給b.因?yàn)橹挥衋的公鑰才能解開a對(duì)消息的簽名,.a也無(wú)法否認(rèn)其對(duì)消息的簽名數(shù)字簽名的過程圖l如下:
2. rsa算法
2.1 rsa算法的原理
rsa算法是第一個(gè)成熟的、迄今為止理論上最成功的公開密鑰密碼體制,該算法由美國(guó)的rivest,shamir,adle~三人于1978年提出。它的安全性基于數(shù)論中的enle:定理和計(jì)算復(fù)雜性理論中的下述論斷:求兩個(gè)大素?cái)?shù)的乘積是容易計(jì)算的,但要分解兩個(gè)大素?cái)?shù)的乘積,求出它們的素因子則是非常困難的.它屬于np一完全類
2.2 rsa算法
密鑰的產(chǎn)生
①計(jì)算n用戶秘密地選擇兩個(gè)大素?cái)?shù)f和9,計(jì)算出n=p*q, n稱為rsa算法的模數(shù)明文必須能夠用小于n的數(shù)來(lái)表示實(shí)際上n是幾百比特長(zhǎng)的數(shù)
②計(jì)算 (n)用戶再計(jì)算出n的歐拉函數(shù)(n)二(p-1)*(q-1),(n)定義為不超過n并與n互素的數(shù)的個(gè)數(shù)③選擇。。用戶從[(0, (n)一1〕中選擇一個(gè)與}(n)互素的數(shù)b做為公開的加密指數(shù)
4計(jì)算d。用戶計(jì)算出滿足下式的d : ed = 1 mal (n)(a與h模n同余.記為a二h mnd n)做為解密指數(shù)。
⑤得出所需要的公開密鑰和秘密密鑰:公開密鑰(加密密鑰):pk={e,n} ;
秘密密鑰(解密密鑰);sk=(d,n}
加密和解密過程如下:
設(shè)消息為數(shù)m(m<n)
設(shè)c=(md)mod n,就得到了加密后的消息c;
設(shè)m=(ce)mod n,就得到了解密后的消息m。其中,上面的d和e可以互換
由于rsa算法具有以下特點(diǎn):加密密鑰(即公開密鑰)pk是公開信息,而解密密鑰(即秘密密鑰))sk是需要保密的。加密算法e和解密算法d也都是公開的。雖然秘密密鑰sk是由公開密鑰pk決定的,但卻不能根據(jù)pk計(jì)算出sk。它們滿足條件:①加密密鑰pk對(duì)明文m加密后,再用解密密鑰sk解密,即可恢復(fù)出明文,或?qū)憺?dsk(esk(m))= m②加密密鑰不能用來(lái)解密,即((d娜e,c}m)) } m③在計(jì)算機(jī)上可以容易地產(chǎn)生成對(duì)的pk和sk}④從已知的pk實(shí)際上不可能推導(dǎo)出sk⑤加密和解密的運(yùn)算可以對(duì)調(diào),即:e}(m)(es}(m)(m))=m所以能夠防止身份的偽造、冒充,以及對(duì)信息的篡改。
3. rsa用于數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)
1概述
1.1概念與功能
數(shù)字簽名是防止他人對(duì)傳輸?shù)奈募M(jìn)行破壞.以及確定發(fā)信人的身份的手段該技術(shù)在數(shù)據(jù)單元上附加數(shù)據(jù),或?qū)?shù)據(jù)單元進(jìn)行秘密變換.這種數(shù)據(jù)和變換允許數(shù)據(jù)單元的接收者用以確認(rèn)數(shù)據(jù)單元來(lái)源和數(shù)據(jù)單元的完整性,從而達(dá)到保護(hù)數(shù)據(jù),防止被人進(jìn)行偽造的目的。簡(jiǎn)單說(shuō)來(lái),數(shù)字簽名是指用密碼算法,對(duì)待發(fā)的數(shù)據(jù)進(jìn)行加密處理,生成一段數(shù)據(jù)摘要信息附在原文上一起發(fā)送,接受方對(duì)其進(jìn)行驗(yàn)證,判斷原文真?zhèn)纹浜灻枷胧呛灻荒苣弦粋€(gè)人(個(gè)體)創(chuàng)建,但可以被任何人校驗(yàn).
數(shù)字簽名技術(shù)可以解決數(shù)據(jù)的否認(rèn)、偽造、篡改及冒充等問題,滿足上述要求的數(shù)字簽名技術(shù)有如下主要功能:(1)發(fā)送者事后不能否認(rèn)自己發(fā)送的簽名;(2)接收者能夠核實(shí)發(fā)送者發(fā)送的簽名;(3)接收者不能偽造發(fā)送者的簽名;(4)接收者不能對(duì)發(fā)送者的原文進(jìn)行篡改;(5)數(shù)據(jù)交換中的某一用戶不能冒充另一用戶作為發(fā)送者或接收者
1.2數(shù)字簽名與傳統(tǒng)手寫簽名差別
(1)簽署文件方面:一個(gè)手寫簽名是所簽文件的物理部分,而數(shù)字簽名不是,所以要使用其他的辦法將數(shù)字簽名與所簽文件“綁定”。
(2)驗(yàn)證方面:一個(gè)手寫簽名是通過和一個(gè)真實(shí)的手寫簽名相比較來(lái)驗(yàn)證的而數(shù)字簽名是通過一個(gè)公開的驗(yàn)證算法來(lái)驗(yàn)證:
(3)簽名的復(fù)制:一個(gè)手寫簽名不容易被復(fù)制,因?yàn)閺?fù)制品通常比較容易被鑒別來(lái):而數(shù)字簽名很容易被復(fù)制,因?yàn)橐粋€(gè)文件的數(shù)字簽名的復(fù)制品和原文件是一樣的:所以要使用數(shù)字時(shí)問戳等特殊的技術(shù)避免數(shù)字簽名的重復(fù)使用。
(4)手書簽名是模擬的,且因人而異。數(shù)字簽名是0和1的數(shù)字串,因人和消息而異。
一個(gè)安全有效的簽名方案必須滿足以下要求:1)任何人都可以驗(yàn)證簽名的有效性;2)除了合法的簽名者外,其他人偽造簽名是困難的;3)對(duì)一個(gè)消息的簽名不可復(fù)制為另一個(gè)消息的簽名;4)簽名的消息不可被篡改,一旦被篡改,則任何人都可以發(fā)現(xiàn)消息與簽名的不一致;5)簽名者事后不能否認(rèn)自己的簽名。
安全的數(shù)字簽名實(shí)現(xiàn)的條件:發(fā)方必須向收方提供足夠的非保密信息,以便使其能驗(yàn)證消息的簽名,但又不能泄露用于產(chǎn)生簽名的機(jī)密信息,以防止他人偽造簽名。此外,還有賴于仔細(xì)設(shè)計(jì)的通信協(xié)議:
2原理
數(shù)字簽名有兩種:一種是對(duì)整體消息的簽名,一種是對(duì)壓縮消息的簽名。每一種又可分為兩個(gè)子類:一類是確定性(Deterministi)數(shù)字簽名,其明文與密文是一一對(duì)應(yīng)的,它對(duì)特定消息的簽名不變化;一類是隨機(jī)化的(Randomized)或概率式數(shù)字簽名。
目前的數(shù)字簽名技術(shù)大多是建立在公共密鑰體制的基礎(chǔ)上,其工作原理是:
(1)簽名:發(fā)方將原文用哈希算法求得數(shù)字摘要,用簽名私鑰對(duì)數(shù)字摘要加密得數(shù)字簽名,將原文與數(shù)字簽名一起發(fā)送給接受方。
簽名體制=(M,S,K,v),其中M:明文空間,S:簽名的集合,K:密鑰空間,V:證實(shí)函數(shù)的值域,由真、偽組成。
簽名算法:對(duì)每一m∈M和每一k∈K,易于計(jì)算對(duì)m的簽名s=Sigk(M)∈S
簽名算法或簽名密鑰是秘密的,只有簽名人掌握。
(2)驗(yàn)證:收方驗(yàn)證簽名時(shí),用發(fā)方公鑰解密數(shù)字簽名,得出數(shù)字摘要;收方將原文采用同樣哈希算法又得一新的數(shù)字摘要,將兩個(gè)數(shù)字摘要進(jìn)行比較,如果二者匹配,說(shuō)明經(jīng)簽名的電子文件傳輸成功。
驗(yàn)證算法:
Verk(S,M)∈{真,偽}={0,l1
3基于身份的數(shù)字簽名
3.1優(yōu)勢(shì)
1984年Shamir提出基于身份的加密、簽名、認(rèn)證的設(shè)想,其中身份可以是用戶的姓名、身份證號(hào)碼、地址、電子郵件地址等。系統(tǒng)中每個(gè)用戶都有一個(gè)身份,用戶的公鑰就是用戶的身份,或者是可以通過一個(gè)公開的算法根據(jù)用戶的身份可以容易地計(jì)算出來(lái),而私鑰則是由可信中心統(tǒng)一生成。在基于身份的密碼系統(tǒng)中,任意兩個(gè)用戶都可以安全通信,不需要交換公鑰證書,不必保存公鑰證書列表,也不必使用在線的第三方,只需一個(gè)可信的密鑰發(fā)行中心為每個(gè)第一次接入系統(tǒng)的用戶分配一個(gè)對(duì)應(yīng)其公鑰的私鑰就可以了。基于身份的密碼系統(tǒng)不存在傳統(tǒng)CA頒發(fā)證書所帶來(lái)的存儲(chǔ)和管理開銷問題。
3.2形式化定義
基于身份的數(shù)字簽名由以下4個(gè)算法組成,如圖1所示。
Setup(系統(tǒng)初始化):輸入一個(gè)安全參數(shù)k,輸出系統(tǒng)參數(shù)param、和系統(tǒng)私鑰mk,該算法由密鑰產(chǎn)生機(jī)構(gòu)PKG運(yùn)行,最后PKG公開params,保存mk。Extract(用戶密鑰生成):輸入params、mk和用戶的身份ID,輸出用戶的私鑰diD,該算法由PKG完成,PKG用安全的信道將diD返回給用戶。Sign(簽名):輸入一個(gè)安全參數(shù)r、params、diD以及消息M,輸出對(duì)}肖息M的簽名盯,該算法由用戶實(shí)現(xiàn)。Verify(驗(yàn)證):輸入params、簽名人身份ID、消息m和簽名,輸出簽名驗(yàn)證結(jié)果1或0,代表真和偽,該算法由簽名的驗(yàn)證者完成。其中,簽名算法和驗(yàn)證算法與一般簽名方案形式相同。
4數(shù)字簽名在電子政務(wù)中的應(yīng)用
4.1意義
數(shù)字簽名的過程和政務(wù)公文的加密/解密過程雖然都使用公開密鑰體系,但實(shí)現(xiàn)的過程正好相反,使用的密鑰對(duì)也各不相同。數(shù)字簽名使用的是發(fā)送方的密鑰對(duì),發(fā)送方用自己的私鑰進(jìn)行加密,接收方用發(fā)送方的公鑰進(jìn)行解密。這是一個(gè)一對(duì)多的關(guān)系,即任何擁有發(fā)送方公鑰的人都可以驗(yàn)證數(shù)字簽名的正確性。政務(wù)公文的加密/解密則使用接收方的密鑰對(duì),這是多對(duì)一的關(guān)系,即任何知道接收方公鑰的人都可以向接收方發(fā)送加密公文,只有唯一擁有接收方私鑰的人才能對(duì)公文解密。在實(shí)際應(yīng)用過程中,通常一個(gè)用戶擁有兩個(gè)密鑰對(duì),一個(gè)密鑰對(duì)用來(lái)對(duì)數(shù)字簽名進(jìn)行加密,解密;另一個(gè)密鑰對(duì)用來(lái)對(duì)公文進(jìn)行加密懈密,這種方式提供了更高的安全性。
4.2形式
4.2.1個(gè)人單獨(dú)簽名
由于政務(wù)公文的文件相對(duì)來(lái)說(shuō)都比較大,所以一般需要先對(duì)所要傳輸?shù)脑倪M(jìn)行加密壓縮后形成一個(gè)文件摘要,然后對(duì)這個(gè)文件摘要進(jìn)行數(shù)字簽名。一般由兩個(gè)階段組成:對(duì)原文的數(shù)字簽名和對(duì)數(shù)字簽名的驗(yàn)證。
(1)對(duì)原文的數(shù)字簽名
先采用單向散列哈希算法對(duì)所要傳輸?shù)恼?wù)公文x進(jìn)行加密計(jì)算和壓縮,推算出一個(gè)文件摘要z。然后,公文的發(fā)送方用自己的私鑰SKA對(duì)其加密后形成數(shù)字簽名Y,并將該數(shù)字簽名附在所要傳送的政務(wù)公文后形成一個(gè)完整的信息包(X+Y)。再用接收方的公鑰PKB對(duì)該信息包進(jìn)行加密后,通過網(wǎng)絡(luò)傳輸給接收方。
(2)對(duì)數(shù)字簽名的驗(yàn)證
接收方收到該信息包后,首先用自己的私鑰SKB對(duì)整個(gè)信息包進(jìn)行解密,得到兩部分信息:數(shù)字簽名部分Y和政務(wù)公文原文部分x;其次,接收方利用發(fā)送方的公鑰PKA對(duì)數(shù)字簽名部分進(jìn)行解密,得到一個(gè)文件摘要Z;接著,接收方也采用單向散列哈希算法對(duì)所收到的政務(wù)公文原文部分進(jìn)行加密壓縮,推算出另外一個(gè)文件摘要z1。由于原文的任何改動(dòng)都會(huì)使推算出的文件摘要發(fā)生變化,所以只要比較兩個(gè)文件摘要z和z1就可以知道公文在傳輸途中是否被篡改以及公文的來(lái)源所在。如果兩個(gè)文件摘要相同,那么接收方就能確認(rèn)該數(shù)字簽名是發(fā)送方的,并且說(shuō)明文件在傳輸過程中沒有被破壞。通過數(shù)字簽名能夠?qū)崿F(xiàn)對(duì)原始報(bào)文的鑒別。
對(duì)稱密碼體制是一種傳統(tǒng)密碼體制,也稱為私鑰密碼體制。在對(duì)稱加密系統(tǒng)中,加密和解密采用相同的密鑰。因?yàn)榧咏饷苊荑€相同,需要通信的雙方必須選擇和保存他們共同的密鑰,各方必須信任對(duì)方不會(huì)將密鑰泄密出去,這樣就可以實(shí)現(xiàn)數(shù)據(jù)的機(jī)密性和完整性。
二、非對(duì)稱密碼體制
非對(duì)稱密碼體制也叫公鑰加密技術(shù),該技術(shù)就是針對(duì)私鑰密碼體制的缺陷被提出來(lái)的。在公鑰加密系統(tǒng)中,加密和解密是相對(duì)獨(dú)立的,加密和解密會(huì)使用兩把不同的密鑰,加密密鑰(公開密鑰)向公眾公開,誰(shuí)都可以使用,解密密鑰(秘密密鑰)只有解密人自己知道,非法使用者根據(jù)公開的加密密鑰無(wú)法推算出解密密鑰,顧其可稱為公鑰密碼體制。
采用分組密碼、序列密碼等對(duì)稱密碼體制時(shí),加解密雙方所用的密鑰都是秘密的,而且需要定期更換,新的密鑰總是要通過某種秘密渠道分配給使用方,在傳遞的過程中,稍有不慎,就容易泄露。
公鑰密碼加密密鑰通常是公開的,而解密密鑰是秘密的,由用戶自己保存,不需要往返交換和傳遞,大大減少了密鑰泄露的危險(xiǎn)性。同時(shí),在網(wǎng)絡(luò)通信中使用對(duì)稱密碼體制時(shí),網(wǎng)絡(luò)內(nèi)任何兩個(gè)用戶都需要使用互不相同的密鑰,只有這樣,才能保證不被第三方竊聽,因而N個(gè)用戶就要使用N(N–1)/2個(gè)密鑰。對(duì)稱密鑰技術(shù)由于其自身的局限性,無(wú)法提供網(wǎng)絡(luò)中的數(shù)字簽名。這是因?yàn)閿?shù)字簽名是網(wǎng)絡(luò)中表征人或機(jī)構(gòu)的真實(shí)性的重要手段,數(shù)字簽名的數(shù)據(jù)需要有惟一性、私有性,而對(duì)稱密鑰技術(shù)中的密鑰至少需要在交互雙方之間共享,因此,不滿足惟一性、私有性,無(wú)法用做網(wǎng)絡(luò)中的數(shù)字簽名。相比之下,公鑰密碼技術(shù)由于存在一對(duì)公鑰和私鑰,私鑰可以表征惟一性和私有性,而且經(jīng)私鑰加密的數(shù)據(jù)只能用與之對(duì)應(yīng)的公鑰來(lái)驗(yàn)證,其他人無(wú)法仿冒,所以,可以用做網(wǎng)絡(luò)中的數(shù)字簽名服務(wù)。
具體而言,一段消息以發(fā)送方的私鑰加密之后,任何擁有與該私鑰相對(duì)應(yīng)的公鑰的人均可將它解密。由于該私鑰只有發(fā)送方擁有,且該私鑰是密藏不公開的,所以,以該私鑰加密的信息可看做發(fā)送方對(duì)該信息的簽名,其作用和現(xiàn)實(shí)中的手工簽名一樣有效而且具有不可抵賴性。
一種具體的做法是:認(rèn)證服務(wù)器和用戶各持有自己的證書,用戶端將一個(gè)隨機(jī)數(shù)用自己的私鑰簽名后和證書一起用服務(wù)器的公鑰加密后傳輸?shù)椒?wù)器;使用服務(wù)器的公鑰加密保證了只有認(rèn)證服務(wù)器才能進(jìn)行解密,使用用戶的密鑰簽名保證了數(shù)據(jù)是由該用戶發(fā)出;服務(wù)器收到用戶端數(shù)據(jù)后,首先用自己的私鑰解密,取出用戶的證書后,使用用戶的公鑰進(jìn)行解密,若成功,則到用戶數(shù)據(jù)庫(kù)中檢索該用戶及其權(quán)限信息,將認(rèn)證成功的信息和用戶端傳來(lái)的隨機(jī)數(shù)用服務(wù)器的私鑰簽名后,使用用戶的公鑰進(jìn)行加密,然后,傳回給用戶端,用戶端解密后即可得到認(rèn)證成功的信息。
長(zhǎng)期以來(lái)的日常生活中,對(duì)于重要的文件,為了防止對(duì)文件的否認(rèn)、偽造、篡改等等的破壞,傳統(tǒng)的方法是在文件上手寫簽名。但是在計(jì)算機(jī)系統(tǒng)中無(wú)法使用手寫簽名,而代之對(duì)應(yīng)的數(shù)字簽名機(jī)制。數(shù)字簽名應(yīng)該能實(shí)現(xiàn)手寫簽名的作用,其本質(zhì)特征就是僅能利用簽名者的私有信息產(chǎn)生簽名。因此,當(dāng)它被驗(yàn)證時(shí),它也能被信任的第三方(如法官)在任一時(shí)刻證明只有私有信息的唯一掌握者才能產(chǎn)生此簽名。
由于非對(duì)稱密碼體制的特點(diǎn),對(duì)于數(shù)字簽名的實(shí)現(xiàn)比在對(duì)稱密碼體制下要有效和簡(jiǎn)單的多。
中圖分類號(hào):TP309 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)05-44-03
Abstract: Access to information through the network is becoming more and more popular in people's daily life. At the same time, the information during the network transmission is faced with the security threats such as being intercepted or modified and so on, while digital signature technology can provide a range of security services in the data transmission. This paper designs and implements a digital signature system with C/C++ and the elliptic curve digital signature algorithm. The test shows that the system has a good performance and meets the safety requirements of the signature algorithm.
Key words: network transmission; digital signature; elliptic curve; e-commerce
0 引言
隨著信息和電子技術(shù)的迅速發(fā)展以及網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,世界已經(jīng)步入了信息社會(huì)。在政治、軍事、商業(yè)和日常生活中,人們經(jīng)常需要在紙質(zhì)材料上手寫簽名。手寫簽名具有確認(rèn)、核準(zhǔn)、生效、負(fù)責(zé)等多種作用。近些年隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,陸陸續(xù)續(xù)出現(xiàn)了電子商務(wù)、電子政務(wù)和電子金融系統(tǒng)。在這些系統(tǒng)應(yīng)用中,人們需要通過網(wǎng)絡(luò)信息傳輸對(duì)電子的文件、合同、信件及賬單等進(jìn)行數(shù)字簽名以代替手寫簽名。計(jì)算機(jī)作為國(guó)家的關(guān)鍵基礎(chǔ)設(shè)施和戰(zhàn)略命脈,其安全狀況直接影響到國(guó)家的安全和發(fā)展。信息加密是保證信息安全的關(guān)鍵技術(shù),其理論是信息安全的核心內(nèi)容之一。目前的數(shù)據(jù)加密、數(shù)字簽名、消息認(rèn)證等信息安全技術(shù)都是以密碼技術(shù)作為基礎(chǔ)進(jìn)行設(shè)計(jì)的。
在電子商務(wù)活動(dòng)日益盛行的今天,數(shù)字簽名技術(shù)已經(jīng)受到人們的廣泛關(guān)注與認(rèn)可,其使用已經(jīng)越來(lái)越普遍。各國(guó)對(duì)數(shù)字簽名的使用已頒布了相應(yīng)法案,我國(guó)也于2004年8月通過了《電子簽名法》。目前已有的簽名算法主要有RSA簽名方案、ELGamal簽名方案、橢圓曲線數(shù)字簽名算法、盲數(shù)字簽名方案等等。因此,設(shè)計(jì)出簡(jiǎn)單、安全、高效的數(shù)字簽名系統(tǒng)對(duì)于電子商務(wù)、電子政務(wù)的推廣和應(yīng)用具有十分重要的意義。
1 橢圓曲線公鑰密碼系統(tǒng)簡(jiǎn)介
1985年,Victor Miller和Neal Koblitz首次提出將橢圓曲線用于公鑰密碼學(xué)的思想。其理論基礎(chǔ)是定義在有限域上的某一橢圓曲線上的有理點(diǎn)可構(gòu)成有限交換群[1]。
1.1 橢圓曲線密碼體制
如果能通過某種方法將明文通過適當(dāng)?shù)木幋a方式嵌入到橢圓曲線E上的點(diǎn),則可以定義基于橢圓曲線E的ElGamal公鑰密碼系統(tǒng)[2]。
密鑰生成算法:設(shè)(E,+)是有限域Fp上的橢圓曲線,G是E的循環(huán)子群,生成元為P,其階n足夠大,使得循環(huán)子群G上的離散對(duì)數(shù)問題是難解的。隨機(jī)挑選一個(gè)整數(shù)a,使得1?a?n-1,計(jì)算Q=a?P;公開公鑰(Q,P,G),保存私鑰a。
加密算法:假設(shè)Bob想把明文m加密發(fā)送給Alice,Bob首先獲取Alice的公鑰(Q,P,G),將明文m編碼為群G中的元素Pm,再選取隨機(jī)數(shù)r,1?r?n-1,然后計(jì)算c1=r?P=(x1,y1),c2=Pm+r?Q=(x2,y2),則密文為(c1,c2)。
解密算法:Alice收到密文(c1,c2)后,利用私鑰a計(jì)算出Pm=c2-a?c1,再對(duì)Pm解編碼得到明文m[3]。
1.2 橢圓曲線數(shù)字簽名算法
橢圓曲線數(shù)字簽名算法ECDSA的安全性是基于有限域上橢圓曲線有理點(diǎn)群上離散對(duì)數(shù)問題的困難性。ECDSA已于1999年接受為ANSI X9.62標(biāo)準(zhǔn),于2000年接受為IEEE 1363及FIPS 186-2標(biāo)準(zhǔn)[4]。
1.2.1 參數(shù)建立
⑴ 設(shè)q(>2160)是一個(gè)素?cái)?shù)冪,E是有限域Fq上的一條橢圓曲線(q為素?cái)?shù)或2m。當(dāng)q為素?cái)?shù)時(shí),曲線E選為y2=x3+ax+b。當(dāng)q=2m時(shí),曲線E選為y2+xy=x3+ax2+b)。
⑵ 設(shè)G是E上有理點(diǎn)群E(Fq)上的具有大素?cái)?shù)階n(>2160)的元,稱此元為基點(diǎn)。
⑶ h是單向Hash函數(shù)h,可選擇SHA-1或SHA-256等。
⑷ 隨機(jī)選取整數(shù)d:1
⑸ (q,E,G,h)是公開參數(shù),d與P分別是簽名者的私鑰和公鑰。
1.2.2 簽名生成過程
⑴ 對(duì)消息,Alice隨機(jī)選取一個(gè)整數(shù)k,1?k
⑵ 在群E(Fq)計(jì)算標(biāo)量乘kP=(x1,x2),且認(rèn)為x1是整數(shù)(否則可將它轉(zhuǎn)換為整數(shù))。
⑶ 記r=x1modn。如果r為0,返回第一步。
⑷ 計(jì)算s=k-1(h(m)+dr)modn。如果s為0,則返回第一步。
⑸ (r,s)是Alice對(duì)消息m的簽名。將(r,s)發(fā)送給Bob。
1.2.3 簽名驗(yàn)證過程
Bob收到(r,s)后執(zhí)行以下操作。
⑴ 檢驗(yàn)r與s是否滿足:1?r,s?n-1,如不滿足,則拒絕此簽名。
⑵ 獲取公開參數(shù)(q,E,G,h)及Alice的公鑰P。
⑶ 計(jì)算w=s-1modn。
⑷ 計(jì)算u1=h(m)wmodn及u2=rwmodn。
⑸ 計(jì)算標(biāo)量乘R=u1G+u2P。
⑹ 如果R=O,則拒絕簽名,否則將R的x坐標(biāo)轉(zhuǎn)換成整數(shù),并計(jì)算。
⑺ 檢驗(yàn)v=r是否成立,若成立,則Bob接受簽名,否則拒絕該簽名。
2 簽名系統(tǒng)分析及設(shè)計(jì)
本節(jié)主要討論橢圓曲線數(shù)字簽名系統(tǒng)的總體分析和設(shè)計(jì)。
2.1 域參數(shù)的選取
橢圓曲線密碼體制的安全性是基于有限域上橢圓曲線離散對(duì)數(shù)問題的難解性。為了使簽名系統(tǒng)更加安全,應(yīng)該選取更加安全的橢圓曲線,基于某條橢圓曲線的離散對(duì)數(shù)問題求解難度很大。
設(shè)定義于有限域上的橢圓曲線E,其中q=pn,p是一個(gè)素?cái)?shù)。橢圓曲線E的有理子群E()的階用表示。橢圓曲線好壞的標(biāo)準(zhǔn)在于的大小。Hasse定理給出的是域上橢圓曲線的階,其中q=pn。
對(duì)于超奇異橢圓曲線:
⑴ n是偶數(shù),。
⑵ n是偶數(shù),。
⑶ n是奇數(shù)或偶數(shù),p≠1mod4,t=0。
對(duì)于非超奇異橢圓曲線,t滿足性質(zhì)。
2.2 簽名系統(tǒng)流程
該簽名系統(tǒng)包括簽名和驗(yàn)證兩個(gè)主要過程,分別如圖1和圖2所示。
2.3 系統(tǒng)總體設(shè)計(jì)
簽名系統(tǒng)總體流程圖如圖3所示。
[開始][系統(tǒng)登錄][合法
圖4中,密鑰生成模塊主要負(fù)責(zé)生成簽名所需密鑰;摘要處理模塊主要針對(duì)需要簽名的文檔生成HASH摘要;簽名生成模塊主要對(duì)數(shù)字摘要進(jìn)行簽名并將簽名附加到源文檔末尾;驗(yàn)證模塊即對(duì)簽名進(jìn)行驗(yàn)證并返回驗(yàn)證結(jié)果,用數(shù)字1表示驗(yàn)證通過、數(shù)字0代表未通過。
3 橢圓曲線數(shù)字簽名算法的實(shí)現(xiàn)
該系統(tǒng)利用C/C++基于.NET平臺(tái)設(shè)計(jì)并實(shí)現(xiàn)[5]。系統(tǒng)中常用的運(yùn)算法則為加減乘除和取余運(yùn)算(取余運(yùn)算被包含在除法運(yùn)算中)。因?yàn)镋CDSA算法均是大整數(shù)的運(yùn)算,所以此系統(tǒng)所有運(yùn)算方法均采用有符號(hào)的二進(jìn)制運(yùn)算方法且結(jié)果同樣為有符號(hào)二進(jìn)制數(shù)。由于加法和減法運(yùn)算較為簡(jiǎn)單,下面主要列出乘法和取余數(shù)算法的具體過程。
乘法運(yùn)算算法描述:
step 1 被乘數(shù)與乘數(shù)按低位對(duì)齊;
step 2 取乘數(shù)為運(yùn)算的低位與被乘數(shù)相乘;
step 3 使用加法算法將此次step 2的結(jié)果與step 3的結(jié)果相加;
step 4 重復(fù)step 2直至加數(shù)位數(shù)取完。
取余數(shù)運(yùn)算算法描述:
step 1 被除數(shù)與除數(shù)按低位對(duì)齊;
step 2 依次取被除數(shù)未被運(yùn)算高位直至取出的數(shù)大于等于除數(shù)。當(dāng)此數(shù)值小于除數(shù)是商,上0,否則上1;
step 3 將step 2的得數(shù)按減法算法減去除數(shù);
step 4 重復(fù)step 2直至被減數(shù)取完,step 3的結(jié)果即為余數(shù)。
因?yàn)镋CDSA算法的效率很大程度上取決于倍點(diǎn)算法的效率,所以在此詳述此系統(tǒng)中的倍點(diǎn)算法[6]。在系統(tǒng)運(yùn)行中無(wú)論是簽名過程還是驗(yàn)證過程均需要計(jì)算k*G(x,y)即k倍的點(diǎn)G。k的取值是從1到n(n為基點(diǎn)G的階)n為一個(gè)大素?cái)?shù),所以k的取值可能很大。這就意味著逐步點(diǎn)加的方法將消耗大量的時(shí)間。因此,在此系統(tǒng)中設(shè)計(jì)了一種較為快速的倍點(diǎn)算法,需要輸入橢圓曲線上的點(diǎn)G及整數(shù)K,輸出橢圓曲線上的點(diǎn)P=k*G(x,y),具體過程描述如下:
step 1 令num=1,i=1,P=G;建立數(shù)組point以儲(chǔ)存每一步的點(diǎn)值,Point[0]=G;
step 2 如果num
step 3 計(jì)算num=num/2,n=num,i=i-2;P=point[i];執(zhí)行下列循環(huán):
for j from i to 1
如果 num=k 則輸出P;否則 n=n/2,num=num+n;
P=P+point[j-1];
系統(tǒng)實(shí)現(xiàn)時(shí)初始化過程主要確定簽名系統(tǒng)中各個(gè)參數(shù),簽名過程使用的是ECDSA中的簽名生成算法,可以對(duì)本地文件進(jìn)行簽名。打開系統(tǒng)后,點(diǎn)擊簽名可以對(duì)選定的文檔(TXT文件或者DOC文件)進(jìn)行電子簽名。
簽名成功后,簽名結(jié)果會(huì)追加在文檔末尾,如圖5所示。
文檔驗(yàn)證人收到文檔后,選擇驗(yàn)證按鈕來(lái)對(duì)已簽名文檔進(jìn)行驗(yàn)證。若文檔從未被篡改過,則會(huì)顯示驗(yàn)證成功,如圖6所示;若在傳輸過程中或者是在驗(yàn)證該文當(dāng)前,有人對(duì)簽名后的文檔進(jìn)行修改,則驗(yàn)證結(jié)果提示文件不可信(即有人篡改文檔內(nèi)容)。演示文檔中以刪除“war”為例進(jìn)行驗(yàn)證,結(jié)果如圖7所示。
4 安全性分析
該簽名系統(tǒng)是基于有限域Fq上的橢圓曲線數(shù)字簽名系統(tǒng),其安全性基于橢圓曲線密碼體制的安全性即橢圓曲線上離散對(duì)數(shù)問題的難解性。具體實(shí)現(xiàn)時(shí)還有幾點(diǎn)需要考慮[7]。第一,系統(tǒng)參數(shù)組中使用安全的隨機(jī)數(shù)。簽名算法中使用了隨機(jī)數(shù),每一次的隨機(jī)數(shù)需要安全生成、保存和使用并銷毀,并且每次都使用不同的隨機(jī)數(shù),這在一定程度上可以提高系統(tǒng)的安全性。第二,確定合適的系統(tǒng)參數(shù)。選擇恰當(dāng)?shù)南到y(tǒng)參數(shù)可以保證ECDLP問題的難解性,可以使用NIST推薦的系統(tǒng)參數(shù)。第三,使用安全的Hash函數(shù)。算法中需要使用Hash函數(shù)對(duì)文檔內(nèi)容進(jìn)行處理,好的Hash函數(shù)應(yīng)具有如下特點(diǎn):函數(shù)的正向計(jì)算容易;函數(shù)盡可能隨機(jī)且不可逆??梢赃x取SHA-1等安全的Hash函數(shù)。
5 結(jié)束語(yǔ)
近年來(lái),在電子商務(wù)、電子政務(wù)等快速發(fā)展的推動(dòng)下,數(shù)字簽名技術(shù)也得到了快速發(fā)展和應(yīng)用,并且日益成為內(nèi)容豐富、應(yīng)用廣泛的信息安全技術(shù)領(lǐng)域的核心技術(shù)之一。其中,橢圓曲線數(shù)字簽名算法是眾多簽名算法中廣受關(guān)注的一種算法。本文基于橢圓曲線數(shù)字簽名算法,采用C/C++編程實(shí)現(xiàn)了一個(gè)橢圓曲線數(shù)字簽名系統(tǒng)。通過測(cè)試表明,所設(shè)計(jì)和實(shí)現(xiàn)的簽名系統(tǒng)完全滿足信息防篡改等安全性要求,在電子商務(wù)、電子政務(wù)以及電子金融等領(lǐng)域具有一定的實(shí)用前景。
參考文獻(xiàn):
[1] 張龍軍,沈鈞毅,趙霖.橢圓曲線密碼體制安全性研究[J].西安交通大學(xué)學(xué)報(bào),2001.35(10).
[2] 何大可,彭代淵,唐小虎等.現(xiàn)代密碼學(xué)[M].人民郵電出版社,2009.
[3] 趙澤茂.數(shù)字簽名理論及應(yīng)用研究[D].南京理工大學(xué)博士學(xué)位論文,2005.
[4] 徐茂智,游林.信息安全與密碼學(xué)[M].清華大學(xué)出版社,2007.
關(guān)鍵詞:信息安全;圓錐曲線數(shù)字簽名;登錄系統(tǒng)安全
中圖分類號(hào):TP309 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)35-2463-01
A Secure Login Resolution Scheme
LONG Yong1,CAI Chang-xu2,CAI Chang-shu3
(1. Yunnan Energy School,Qujing 650001,China;puter and Information Department of Qujing Normal University,Qujing 650011,China;3.Yunnan E-government Network Management Center,Kunming 650031,China)
Abstract: The common information system login method adopts only user name and password to authenticate the users.In order to avoid the drawbacks of conventional methods which is vulnerable to the attacks of record keyboard, dictionary guess, SQL injection and so forth, the thesis design a novel scheme adopting Hash algorithm and Conic Curve Digital Signature technology. It can meet the security requirement of authentication, information integrity, non-repudiation.
Key words:information security;conic curve digital signature;system login security
1 前言
在大部分的C/S與B/S的登錄頁(yè)面中,都僅僅采用了用戶名和密碼兩項(xiàng)來(lái)作為登錄用戶身份的驗(yàn)證,用戶名和密碼還直接就以明文的形式存儲(chǔ)在數(shù)據(jù)庫(kù)中,更有甚者,還只有密碼一項(xiàng)來(lái)驗(yàn)證用戶身份,且密碼以明文的形式存儲(chǔ)在數(shù)據(jù)庫(kù)中。這樣的系統(tǒng)都是極度不安全的,黑客打開數(shù)據(jù)庫(kù)、記錄合法用戶的鍵盤敲擊、或者字典猜測(cè)都很容易獲取登錄頁(yè)面的用戶名和密碼。對(duì)于用戶名推薦使用與部門或用戶沒有任何關(guān)聯(lián)的符合一定復(fù)雜性的隨機(jī)字符來(lái)最為用戶名,不得使用Administrator、Admin等。黑客輸入得到的用戶名和密碼就可以登錄系統(tǒng)肆意進(jìn)行相關(guān)的工作了。采用用戶名加密碼的哈西值組合,密碼項(xiàng)就沒有直接存儲(chǔ)在數(shù)據(jù)庫(kù)中,黑客打開數(shù)據(jù)庫(kù)是找不到登錄用戶的密碼項(xiàng)的,這樣的安全性大大強(qiáng)于用戶名和密碼項(xiàng)的組合,但是它還不能抵抗字典猜測(cè)攻擊,更危險(xiǎn)的是,如果沒有對(duì)用戶名和密碼框的輸入進(jìn)行非法字符的過濾,這樣的系統(tǒng)還是很容易受到SQL注入攻擊的,而SQL注入攻擊是一種攻擊效果非常好的攻擊方法。
2 解決方案
為了保證登錄頁(yè)面的安全,必須采取更好的解決方案。本文針對(duì)常規(guī)解決方法的不足,設(shè)計(jì)了如下的安全登錄解決方案:采用單向哈西用戶名+用戶授權(quán)文件+授權(quán)文件完整性校驗(yàn)+數(shù)字簽名技術(shù)來(lái)解決登錄的安全問題。登錄的實(shí)際帳戶在數(shù)據(jù)庫(kù)在不存儲(chǔ)實(shí)際名,而是存儲(chǔ)帳戶名的哈西摘要值,使用SHA-1,建議使用SHA-256。不同的用戶角色授權(quán)文件不同,授權(quán)文件可以是任意格式的文件。完整性校驗(yàn)采用SHA-256算法,數(shù)字簽名算法采用CCDSA算法[1]。CCDSA算法的參數(shù)選取采用文獻(xiàn)[1]中的選取過成。數(shù)字簽名算法不采用國(guó)際上流行算法如RSA,ECDSA,可以在一定的程度上避開了常見密碼算法的已有攻擊算法。本登錄方案從源頭上杜絕了SQL注入攻擊,安全性極高。
登錄的輸入項(xiàng)目有:1)用戶名;2)導(dǎo)入的授權(quán)文件,用戶的私鑰。
本登錄方案的登錄過程如下:
1) 登錄用戶輸入符合一定復(fù)雜性要求的用戶名。
2) 計(jì)算用戶名的SHA-256哈西值,查找數(shù)據(jù)庫(kù)中有無(wú)此哈西值存在,若存在說(shuō)明此用戶是一個(gè)存在的合法用戶,否則退出登錄。
3) 登錄的用戶導(dǎo)入登錄的授權(quán)文件,用SHA-256計(jì)算哈西摘要值,在數(shù)據(jù)庫(kù)中查找有無(wú)此授權(quán)文件的哈西值存在,若存在,則說(shuō)明用戶的授權(quán)文件是完整的,沒有受到非法的篡改,否則退出登錄。
4) 登錄用戶導(dǎo)入自己的私鑰對(duì)計(jì)算出的授權(quán)文件哈西值進(jìn)行圓錐曲線數(shù)字簽名。
5) 登錄的后臺(tái)對(duì)授權(quán)文件的哈西摘要值的數(shù)字簽名驗(yàn)證數(shù)字簽名的合法性,若是合法的數(shù)字簽名,則用戶就可以最終登錄入后臺(tái)管理系統(tǒng)進(jìn)行相關(guān)的操作了,否則退出登錄。
3 結(jié)束語(yǔ)
關(guān)鍵詞:數(shù)字身份數(shù)字簽名RSAPKICA
日常生活中人們到商場(chǎng)購(gòu)物,付款方式一般有兩種:采用現(xiàn)金結(jié)算或采用銀行卡結(jié)算。2006年1月4日和1月5日某媒體連續(xù)刊登了兩篇報(bào)道,題目分別為《刷卡簽名商家有責(zé)辨真?zhèn)巍?、《銀行卡被盜刷商家沒過錯(cuò)》。這兩篇報(bào)道代表兩個(gè)完全對(duì)立的觀點(diǎn),但是闡述的內(nèi)容都具有相當(dāng)?shù)恼f(shuō)服力。這就提出兩個(gè)問題,第一,當(dāng)銀行卡被盜刷的情況下,由此產(chǎn)生的損失到底應(yīng)該由“卡”的所有者承擔(dān),還是應(yīng)該由收款的商家承擔(dān)?第二,能否避免這種損失的發(fā)生?筆者對(duì)兩個(gè)問題的回答是:在現(xiàn)有的法制環(huán)境、技術(shù)手段下,無(wú)法準(zhǔn)確的判斷損失、無(wú)法準(zhǔn)確的分清責(zé)任,也就無(wú)法準(zhǔn)確的判罰;采用新的安全技術(shù)能夠避免這種損失,一旦出現(xiàn)被盜刷的情況,可以依法判罰。
傳統(tǒng)身份識(shí)別、簽名識(shí)別存在的缺陷
在現(xiàn)有金融支付平臺(tái)上使用銀行卡時(shí),支付過程如下:在銀行提供的聯(lián)網(wǎng)POS機(jī)上刷卡,由客戶輸入密碼,密碼驗(yàn)證通過后POS機(jī)打印銀行轉(zhuǎn)賬單據(jù),客戶在轉(zhuǎn)賬單據(jù)上簽名,客戶出示有效身份證明(如身份證),收款員驗(yàn)證客戶簽名及身份證明,收款員打印銷售發(fā)票,至此整個(gè)支付過程結(jié)束。其中收款員驗(yàn)證客戶簽名及身份證明是非常關(guān)鍵的一個(gè)環(huán)節(jié),本文所提出的問題就是針對(duì)這個(gè)環(huán)節(jié)。
該媒體兩篇報(bào)道中支持卡所有者的觀點(diǎn)認(rèn)為,使用手寫簽名是銀行卡不被盜刷的基本保障。這樣可以鑒別刷卡人是否為卡的所有者。在中國(guó)銀聯(lián)頒發(fā)的《收單規(guī)范》中要求收單商戶必須仔細(xì)核對(duì)簽名,以防銀行卡被盜刷。因此從卡的所有者角度出發(fā),收單商戶有責(zé)任對(duì)刷卡人的真實(shí)身份進(jìn)行確認(rèn),對(duì)簽名的真?zhèn)芜M(jìn)行鑒別。如果收單商戶不對(duì)刷卡人的手寫簽名進(jìn)行鑒別,將意味著銀行卡所有者的安全大門完全失去了最基本的設(shè)防。這種情況是任何合法交易對(duì)象,無(wú)論是收單商戶、還是合法卡的所有者所不愿意看到的,將導(dǎo)致?lián)碛秀y行卡的用戶不再敢使用刷卡的方式消費(fèi),也意味著商戶將失去一部份客戶。
而站在收單商戶的立場(chǎng)認(rèn)為,銀行卡被盜刷商家沒有過錯(cuò)。商家無(wú)權(quán)干涉持卡者的消費(fèi)方式,涉及的銀行與銀聯(lián)也沒有義務(wù)對(duì)POS機(jī)操作員進(jìn)行培訓(xùn),重要的是法院則認(rèn)為刷卡過程中是否應(yīng)該對(duì)簽名進(jìn)行鑒別、核對(duì),相關(guān)法律法規(guī)沒有做出特別規(guī)定,也就是說(shuō)沒有法律依據(jù)。所以據(jù)此,如果客戶的銀行卡丟失后沒有及時(shí)掛失造成的損失,收單商戶沒有責(zé)任。
刷卡是一種非常方便的支付方式,但是要得到人們的認(rèn)可、在生活中得以推廣,必須有一個(gè)安全的支付環(huán)境和支付工具,使得卡的所有者、收單商戶、銀行三方的利益都得到充分的保護(hù)。
筆者認(rèn)為,在目前的技術(shù)條件下,要求POS機(jī)操作員僅僅依靠身份證來(lái)識(shí)別刷卡人的真實(shí)身份,同時(shí)要鑒別刷卡人簽名時(shí)的筆跡是一項(xiàng)非常困難的工作。因?yàn)?,一方面現(xiàn)在使用的身份證技術(shù)含量低,容易偽造;另一方面鑒別簽名筆跡是一項(xiàng)技術(shù)性非常強(qiáng)的工作,一般人無(wú)法勝任,只有行業(yè)內(nèi)的專家才能準(zhǔn)確的鑒別,然而在實(shí)際工作中不可能為每一臺(tái)POS機(jī)配備一名這樣的技術(shù)專家。
那么是否能夠找到一種在身份鑒別、簽名鑒別上都非常方便、快捷、安全、實(shí)用的技術(shù),這一問題就是本文論述的核心:RSA非對(duì)稱加密解密技術(shù)應(yīng)用模型。
RSA加密解密算法論述
RSA是一個(gè)非對(duì)稱加密解密算法,由加密解密算法、公共參數(shù)、一對(duì)存在數(shù)學(xué)關(guān)系的公鑰和私鑰構(gòu)成,其中算法、公共參數(shù)、公鑰是可以公開的,私鑰必須秘密保存。RSA的核心在于,加密時(shí)使用私鑰,而解密時(shí)則使用公鑰。
例如:用戶甲擁有公共參數(shù)PN=14803,公鑰PK=151,私鑰SK=8871?,F(xiàn)有明文PM=1234。
用戶甲使用私鑰SK對(duì)明文PM進(jìn)行加密得到密文SM。
SM=PMSKMOD(PN)=12348871MDO(14803)=13960用戶甲將自己的公共參數(shù)PN,公鑰PK,以及密文SM發(fā)送給用戶乙。用戶乙進(jìn)行解密計(jì)算得到明文PM。
PM=SMPKMOD(PN)=13960151MDO(14803)=1234
RSA用作數(shù)字簽名
作為簽名必須具備兩個(gè)特性:防篡改,除簽名者以外的其他人對(duì)簽過名的內(nèi)容做的任何改動(dòng)都將被發(fā)現(xiàn);抗抵賴,簽名者無(wú)法抵賴自己簽名的內(nèi)容。
每一個(gè)RSA的用戶都將擁有一對(duì)公鑰和私鑰。使用私鑰對(duì)明文進(jìn)行加密的過程可以被看作是簽名的過程,形成的密文可以被看作是簽名。當(dāng)密文被改動(dòng)以后就無(wú)法使用公鑰恢復(fù)出明文,這一點(diǎn)體現(xiàn)出作為簽名的防篡改特性;使用公鑰對(duì)密文進(jìn)行解密的過程可以被看作是驗(yàn)證簽名的過程,使用公鑰對(duì)密文進(jìn)行解密恢復(fù)出明文,因?yàn)楣€來(lái)自于簽名的一方(即用私鑰加密生成密文的一方)。因此,簽名一方無(wú)法否認(rèn)自己的公鑰,抵賴使用自己公鑰解密后恢復(fù)出的明文,這一點(diǎn)體現(xiàn)出作為簽名的抗抵賴特性。
RSA用作數(shù)字身份
身份是一個(gè)人的社會(huì)屬性,用于證明擁有者存在的真實(shí)性,例如身份證、駕駛證、軍官證、護(hù)照等。作為身份證明,它必須是一個(gè)不會(huì)被偽造的,如果被偽造則能夠通過鑒別來(lái)發(fā)現(xiàn)。
將RSA技術(shù)應(yīng)用于身份證明。當(dāng)一個(gè)人獲得一對(duì)密鑰后,為了使利用私鑰進(jìn)行的簽名具有法律效力,為了使自己公開的公鑰、公共參數(shù)能夠作為身份被鑒別,一般通過第三方認(rèn)證來(lái)實(shí)現(xiàn)。用戶要將自己的公鑰、公共參數(shù)提交給認(rèn)證中心,申請(qǐng)并注冊(cè)公鑰證書,如果使用過程中有人對(duì)用戶的公鑰證書產(chǎn)生質(zhì)疑,需要驗(yàn)證持有者身份,可以向認(rèn)證中心提出認(rèn)證請(qǐng)求,以確認(rèn)公鑰證書持有者身份的真實(shí)性以及公鑰證書的有效性。因此,可以把這個(gè)公鑰證書看作持有者的一個(gè)數(shù)字身份證。
數(shù)字身份、數(shù)字簽名在線鑒別模型
公鑰證書在使用過程中可能會(huì)涉及到兩個(gè)主體,擁有者與持有者。擁有者是公鑰證書真正的所有者,而持有者則可能是一個(gè)公鑰證書及私鑰的盜用者。目前,認(rèn)證機(jī)構(gòu)的認(rèn)證平臺(tái)一般是建立在PKI公鑰基礎(chǔ)設(shè)施之上。當(dāng)收到對(duì)某一個(gè)公鑰證書的認(rèn)證請(qǐng)求時(shí),認(rèn)證完成后出具的認(rèn)證結(jié)果僅能夠證明公鑰證書本身的真實(shí)性、與之相關(guān)的數(shù)字簽名的不可抵賴性,卻無(wú)法證明持有者就是擁有者。RSA的使用則要求私鑰必須秘密保存,一旦泄露只能及時(shí)掛失,如果在掛失之前被盜用,所產(chǎn)生的損失只能由擁有者自己承擔(dān),這種情況與銀行卡被盜刷是相同的。盡管數(shù)字身份、數(shù)字簽名、數(shù)字認(rèn)證都是非常新的技術(shù)手段,但是就目前的認(rèn)證方式、認(rèn)證過程以及認(rèn)證結(jié)果來(lái)看,依然沒有解決公鑰證書和私鑰被盜用的問題。
本文針對(duì)公鑰證書、私鑰被盜用的問題設(shè)計(jì)出“數(shù)字身份、數(shù)字簽名在線鑒別”模型。
傳統(tǒng)的數(shù)字認(rèn)證過程中,被認(rèn)證的公鑰證書與持有公鑰證書的實(shí)體即證書的持有者之間沒有任何關(guān)聯(lián),即使被認(rèn)證的公鑰證書是真實(shí)的、有效的,也不能證明持有者就是擁有者,這樣就為盜用者提供了可乘之機(jī)。因此,必須對(duì)鑒別模型重新設(shè)計(jì)。
傳統(tǒng)的RSA應(yīng)用模型
用戶甲可以自己生成非對(duì)稱密鑰對(duì),也可以選擇由認(rèn)證中心生成;向認(rèn)證機(jī)構(gòu)提交公鑰和公共參數(shù)申請(qǐng)并注冊(cè)公鑰證書;用戶甲使用私鑰對(duì)明文進(jìn)行加密,形成具有簽名效用的密文,通常要采用HASH函數(shù)進(jìn)行壓縮;用戶甲將公鑰證書以及經(jīng)過數(shù)字簽名的密文發(fā)送給用戶乙;用戶乙使用用戶甲的公鑰鑒別密文的數(shù)字簽名;如果用戶乙對(duì)用戶甲的公鑰證書產(chǎn)生質(zhì)疑,可以提交用戶甲的公鑰證書給認(rèn)證中心進(jìn)行認(rèn)證,認(rèn)證中心對(duì)提交的公鑰證書的真實(shí)性、有效性進(jìn)行認(rèn)證,并將認(rèn)證結(jié)果返回用戶乙。由于數(shù)字身份與數(shù)字簽名的特殊性,提供認(rèn)證服務(wù)的機(jī)構(gòu)不應(yīng)該是一個(gè)商業(yè)化的機(jī)構(gòu),而應(yīng)該是具有政府職能的部門,例如:頒發(fā)身份證的公安局、頒發(fā)駕照的交管局、頒發(fā)護(hù)照的外交部等。在筆者設(shè)計(jì)的模型中,公安局替代傳統(tǒng)的認(rèn)證中心;針對(duì)被認(rèn)證的公鑰證書與持有者缺乏直接的關(guān)聯(lián),在認(rèn)證結(jié)果的信息中,筆者設(shè)計(jì)增加所有者的詳細(xì)信息資料,從而可以通過認(rèn)證結(jié)果來(lái)鑒別持有者的真實(shí)身份。
改造后的RSA應(yīng)用模型
由公安局為用戶甲頒發(fā)一個(gè)公鑰;用戶甲自己選擇公共參數(shù),并生成私鑰;用戶甲將公鑰、公共參數(shù)及個(gè)人的詳細(xì)資料(居住地址、傳統(tǒng)身份證號(hào)、聯(lián)系電話、照片、指紋等)提交給公安局,申請(qǐng)并注冊(cè)數(shù)字身份證(即公鑰證書),數(shù)字身份證的鑒別編號(hào)由公鑰和公共參數(shù)組合而成;用戶甲使用私鑰對(duì)明文進(jìn)行加密,形成具有簽名效用的密文;用戶甲將簽字密文、數(shù)字身份證發(fā)送給用戶乙;用戶乙使用用戶甲的公鑰鑒別密文的數(shù)字簽名,并恢復(fù)密文為明文;如果用戶乙對(duì)用戶甲的公鑰證書產(chǎn)生質(zhì)疑,可以提交用戶甲的公鑰證書給認(rèn)證中心進(jìn)行認(rèn)證,認(rèn)證中心可以根據(jù)不同認(rèn)證的級(jí)別返回不同的認(rèn)證結(jié)果。
在新的模型中,認(rèn)證將分為三級(jí)認(rèn)證。一級(jí)認(rèn)證,返回所有者的身份證號(hào)、住址、聯(lián)系電話;二級(jí)認(rèn)證,在一級(jí)認(rèn)證基礎(chǔ)之上附加返回所有者的照片;三級(jí)認(rèn)證,在二級(jí)認(rèn)證基礎(chǔ)之上附加返回所有者的指紋。
具體選擇哪一種級(jí)別認(rèn)證,取決于應(yīng)用的性質(zhì)。如果是簽署網(wǎng)絡(luò)協(xié)議可以采用一級(jí)認(rèn)證,如果是在線支付可以選擇二級(jí)或三級(jí)認(rèn)證。這樣可以通過認(rèn)證的結(jié)果(聯(lián)系電話、照片、指紋)來(lái)鑒別持有者與所有者身份是否相符。
RSA在刷卡中的應(yīng)用
證書簽發(fā)系統(tǒng):負(fù)責(zé)證書的發(fā)放,如可以通過用戶自己,或是通過目錄服務(wù)。目錄服務(wù)器可以是一個(gè)組織中現(xiàn)有的,也可以是PKI方案中提供的。PKI應(yīng)用:包括在W eb服務(wù)器和瀏覽器之間的通訊、電子郵件、電子數(shù)據(jù)交換(E DI)、在Internet上的信用卡交易和虛擬專業(yè)網(wǎng)(VPN)等。應(yīng)用接口系統(tǒng)(API):一個(gè)完整的PKI必須提供良好的應(yīng)用接口系統(tǒng),讓用戶能夠方便地使用加密、數(shù)字簽名等安全服務(wù),使得各種各樣的應(yīng)用能夠以安全、一致、可信的方式與PKI交互,確保所建立起來(lái)的網(wǎng)絡(luò)環(huán)境的可信性,降低管理和維護(hù)的成本。
基于PKI的電子商務(wù)安全體系電子商務(wù)的關(guān)鍵是商務(wù)信息電子化,因此,電子商務(wù)安全性問題的關(guān)鍵是計(jì)算機(jī)信息的安全性。如何保障電子商務(wù)過程的順利進(jìn)行,即實(shí)現(xiàn)電子商務(wù)的真實(shí)性、完整性、機(jī)密性和不可否認(rèn)性等。PKI體系結(jié)構(gòu)采用證書管理公鑰,通過第三方的可信機(jī)構(gòu),把用戶的公鑰和用戶的其他標(biāo)識(shí)信息(如用戶身份識(shí)別碼、用戶名、身份證件號(hào)、地址等)捆綁在一起,形成數(shù)字證書,以便在Internet上驗(yàn)證用戶的身份。PKI是建立在公鑰理論基礎(chǔ)上的,從公鑰理論出發(fā),公鑰和私鑰配合使用來(lái)保證數(shù)據(jù)傳輸?shù)臋C(jī)密性;通過哈希函數(shù)、數(shù)字簽名技術(shù)及消息認(rèn)證碼等技術(shù)來(lái)保證數(shù)據(jù)的完整性;通過數(shù)字簽名技術(shù)來(lái)進(jìn)行認(rèn)證,且通過數(shù)字簽名,安全時(shí)間戳等技術(shù)提供不可否認(rèn)。因此PKI是比較完整的電子商務(wù)安全解決方案,能夠全面保證信息的真實(shí)性、完整性、機(jī)密性和不可否認(rèn)性。通常電子商務(wù)的參與方一般包括買方、賣方、銀行和作為中介的電子交易市場(chǎng)。首先買方通過瀏覽器登錄到電子交易市場(chǎng)的W eb服務(wù)器并尋找賣方。當(dāng)買方登錄服務(wù)器時(shí),買賣雙方都要在網(wǎng)上驗(yàn)證對(duì)方的電子身份證,這被稱為雙向認(rèn)證。在雙方身份被互相確認(rèn)以后,建立起安全通道,并進(jìn)行討價(jià)還價(jià),之后買方向賣方提交訂單。訂單里有兩種信息:一部分是訂貨信息,包括商品名稱和價(jià)格;另一部分是提交銀行的支付信息,包括金額和支付賬號(hào)。買方對(duì)這兩種信息進(jìn)行雙重?cái)?shù)字簽名,分別用賣方和銀行的證書公鑰加密上述信息。當(dāng)賣方收到這些交易信息后,留下訂貨單信息,而將支付信息轉(zhuǎn)發(fā)給銀行。賣方只能用自己專有的私鑰解開訂貨單信息并驗(yàn)證簽名。同理,銀行只能用自己的私鑰解開加密的支付信息、驗(yàn)證簽名并進(jìn)行劃賬。銀行在完成劃賬以后,通知起中介作用的電子交易市場(chǎng)、物流中心和買方,并進(jìn)行商品配送。整個(gè)交易過程都是在PKI所提供的安全服務(wù)之下進(jìn)行,實(shí)現(xiàn)了真實(shí)性、完整性、機(jī)密性和不可否認(rèn)性。綜上所述,PKI技術(shù)是解決電子商務(wù)安全問題的關(guān)鍵,綜合PKI的各種應(yīng)用,我們可以建立一個(gè)可信任和足夠安全的網(wǎng)絡(luò),能夠全面保證電子商務(wù)中信息的真實(shí)性、完整性、機(jī)密性和不可否認(rèn)性。
計(jì)算機(jī)通信技術(shù)的蓬勃發(fā)展推動(dòng)電子商務(wù)的日益發(fā)展,電子商務(wù)將成為人類信息世界的核心,也是網(wǎng)絡(luò)應(yīng)用的發(fā)展方向,與此同時(shí),信息安全問題也日益突出,安全問題是當(dāng)前電子商務(wù)的最大障礙,如何堵住網(wǎng)絡(luò)的安全漏洞和消除安全隱患已成為人們關(guān)注的焦點(diǎn),有效保障電子商務(wù)信息安全也成為推動(dòng)電子商務(wù)發(fā)展的關(guān)鍵問題之一。電子商務(wù)安全關(guān)鍵技術(shù)當(dāng)前電子商務(wù)普遍存在著假冒、篡改信息、竊取信息、惡意破壞等多種安全隱患,為此,電子商務(wù)安全交易中主要保證以下四個(gè)方面:信息保密性、交易者身份的確定性、不可否認(rèn)性、不可修改性。保證電子商務(wù)安全的關(guān)鍵技術(shù)是密碼技術(shù)。密碼學(xué)為解決電子商務(wù)信息安全問題提供了許多有用的技術(shù),它可用來(lái)對(duì)信息提供保密性,對(duì)身份進(jìn)行認(rèn)證,保證數(shù)據(jù)的完整性和不可否認(rèn)性。廣泛應(yīng)用的核心技術(shù)有:1.信息加密算法,如DE S、RSA、E CC、M DS等,主要用來(lái)保護(hù)在公開通信信道上傳輸?shù)拿舾行畔?,以防被非法竊取。2.數(shù)字簽名技術(shù),用來(lái)對(duì)網(wǎng)上傳輸?shù)男畔⑦M(jìn)行簽名,保證數(shù)據(jù)的完整性和交易的不可否認(rèn)性。數(shù)字簽名技術(shù)具有可信性、不可偽造性和不可重用性,簽名的文件不可更改,且數(shù)字簽名是不可抵賴的。3.身份認(rèn)證技術(shù),安全的身份認(rèn)證方式采用公鑰密碼體制來(lái)進(jìn)行身份識(shí)別。E CC與RSA、DSA算法相比,其抗攻擊性具有絕對(duì)的優(yōu)勢(shì),如160位E CC與1024位RSA、DSA有相同的安全強(qiáng)度。而210位E CC則是與2048比特RSA、DSA具有相同的安全強(qiáng)度。雖然在RSA中可以通過選取較小的公鑰(可以小到3)的方法提高公鑰處理速度,使其在加密和簽名驗(yàn)證速度上與E CC有可比性,但在私鑰的處理速度上(解密和簽名),E CC遠(yuǎn)比RSA、DSA快得多。通過對(duì)三類公鑰密碼體制的對(duì)比,E CC是當(dāng)今最有發(fā)展前景的一種公鑰密碼體制。
橢圓曲線密碼系統(tǒng)E CC密碼安全體制橢圓曲線密碼系統(tǒng)(E lliptic Curve Cry ptosy stem,E CC)是建立在橢圓曲線離散對(duì)數(shù)問題上的密碼系統(tǒng),是1985年由Koblitz(美國(guó)華盛頓大學(xué))和Miller(IBM公司)兩人分別提出的,是基于有限域上橢圓曲線的離散對(duì)數(shù)計(jì)算困難性。近年來(lái),E CC被廣泛應(yīng)用于商用密碼領(lǐng)域,如ANSI(American National Standards Institute)、IE E E、基于門限E C C的《商場(chǎng)現(xiàn)代化》2008年11月(上旬刊)總第556期84少t個(gè)接收者聯(lián)合才能解密出消息。最后,密鑰分配中心通過安全信道發(fā)送給,并將銷毀。2.加密簽名階段:(1)選擇一個(gè)隨機(jī)數(shù)k,,并計(jì)算,。(2)如果r=O則回到步驟(1)。(3)計(jì)算,如果s=O則回到步驟(1)。(4)對(duì)消息m的加密簽名為,最后Alice將發(fā)送給接收者。3.解密驗(yàn)證階段:當(dāng)方案解密時(shí),接收者P收到密文后,P中的任意t個(gè)接收者能夠?qū)γ芪倪M(jìn)行解密。設(shè)聯(lián)合進(jìn)行解密,認(rèn)證和解密算法描述如下:(1)檢查r,要求,并計(jì)算,。(2)如果X=O表示簽名無(wú)效;否則,并且B中各成員計(jì)算,由這t個(gè)接收者聯(lián)合恢復(fù)出群體密鑰的影子。(3)計(jì)算,驗(yàn)證如果相等,則表示簽名有效;否則表示簽名無(wú)效?;陂T限橢圓曲線的加密簽名方案具有較強(qiáng)的安全性,在發(fā)送端接收者組P由簽名消息及無(wú)法獲得Alice的私鑰,因?yàn)閗是未知的,欲從及a中求得k等價(jià)于求解E CDL P問題。同理,攻擊者即使監(jiān)聽到也無(wú)法獲得Alice的私鑰及k;在接收端,接收者無(wú)法進(jìn)行合謀攻擊,任意t-1或少于t-1個(gè)解密者無(wú)法重構(gòu)t-1次多項(xiàng)式f(x),也就不能合謀得到接收者組p中各成員的私鑰及組的私鑰。
結(jié)束語(yǔ)為了保證電子商務(wù)信息安全順利實(shí)現(xiàn),在電子商務(wù)中使用了各種信息安全技術(shù),如加密技術(shù)、密鑰管理技術(shù)、數(shù)字簽名等來(lái)滿足信息安全的所有目標(biāo)。論文對(duì)E CDSA方案進(jìn)行改進(jìn),提出了一種門限橢圓曲線加密簽名方案,該方案在對(duì)消息進(jìn)行加密的過程中,同時(shí)實(shí)現(xiàn)數(shù)字簽名,大大提高了原有方案單獨(dú)加密和單獨(dú)簽名的效率和安全性。
參考文獻(xiàn)
[1]Koblitz N.Elliptic Curve Cryprosystems.Mathematicsof Computation,1987,48:203~209
[2]IEEE P 1363:Standard of Public-Key Cryptography,WorkingDraft,1998~08
電子商務(wù)所具有的廣闊發(fā)展前景,越來(lái)越為世人所矚目。但在Inter給人們帶來(lái)巨大便利的同時(shí),也把人們引進(jìn)了安全陷阱。目前,阻礙電子商務(wù)廣泛應(yīng)用的首要也是最大的問題就是安全問題。電子商務(wù)中的安全問題如得不到妥善解決,電子商務(wù)應(yīng)用就只能是紙上談兵。從事電子商務(wù)活動(dòng)的主體都已普遍認(rèn)識(shí)到電子商務(wù)的交易安全是電子商務(wù)成功實(shí)施的基礎(chǔ),是企業(yè)制訂電子商務(wù)策略時(shí)必須首先要考慮的問題。對(duì)于實(shí)施電子商務(wù)戰(zhàn)略的企業(yè)來(lái)說(shuō),保證電子商務(wù)的安全已成為當(dāng)務(wù)之急。二、電子商務(wù)過程中面臨的主要安全問題
從交易角度出發(fā),電子商務(wù)面臨的安全問題綜合起來(lái)包括以下幾個(gè)方面:
1.有效性
電子商務(wù)以電子形式取代了紙張,那么保證信息的有效性就成為開展電子商務(wù)的前提。因此,要對(duì)網(wǎng)絡(luò)故障、操作錯(cuò)誤、應(yīng)用程序錯(cuò)誤、硬件故障、系統(tǒng)軟件錯(cuò)誤及計(jì)算機(jī)病毒所產(chǎn)生的潛在威脅加以控制和預(yù)防,以保證貿(mào)易數(shù)據(jù)在確定的時(shí)刻、確定的地點(diǎn)是有效的。
2.真實(shí)性
由于在電子商務(wù)過程中,買賣雙方的所有交易活動(dòng)都通過網(wǎng)絡(luò)聯(lián)系,交易雙方可能素昧平生,相隔萬(wàn)里。要使交易成功,首先要確認(rèn)對(duì)方的身份。對(duì)于商家而言,要考慮客戶端不能是騙子,而客戶端也會(huì)擔(dān)心網(wǎng)上商店是否是一個(gè)玩弄欺詐的黑店,因此,電子商務(wù)的開展要求能夠?qū)灰字黧w的真實(shí)身份進(jìn)行鑒別。
3.機(jī)密性
電子商務(wù)作為貿(mào)易的一種手段,其信息直接代表著個(gè)人、企業(yè)或國(guó)家的商業(yè)機(jī)密。如信用卡的賬號(hào)和用戶名被人知悉,就可能被盜用而蒙受經(jīng)濟(jì)損失;訂貨和付款信息被競(jìng)爭(zhēng)對(duì)手獲悉,就可能喪失商機(jī)。因此建立在開放的網(wǎng)絡(luò)環(huán)境電子商務(wù)活動(dòng),必須預(yù)防非法的信息存取和信息在傳輸過程中被非法竊取。三、電子商務(wù)安全中的幾種技術(shù)手段
由于電子商務(wù)系統(tǒng)把服務(wù)商、客戶和銀行三方通過互聯(lián)網(wǎng)連接起來(lái),并實(shí)現(xiàn)了具體的業(yè)務(wù)操作。因此,電子商務(wù)安全系統(tǒng)可以由三個(gè)安全服務(wù)器及CA認(rèn)證系統(tǒng)構(gòu)成,它們遵循共同的協(xié)議,協(xié)調(diào)工作,實(shí)現(xiàn)電子商務(wù)交易信息的完整性、保密性和不可抵賴性等要求。其中采用的安全技術(shù)主要有以下幾種:
1.防火墻(FireWall)技術(shù)
防火墻是一種隔離控制技術(shù),在某個(gè)機(jī)構(gòu)的網(wǎng)絡(luò)和不安全的網(wǎng)絡(luò)(如Inter)之間設(shè)置屏障,阻止對(duì)信息資源的非法訪問,也可以使用防火墻阻止專利信息從企業(yè)的網(wǎng)絡(luò)上被非法輸出。
2.加密技術(shù)
數(shù)據(jù)加密技術(shù)是電子商務(wù)中采取的主要安全措施,貿(mào)易方可根據(jù)需要在信息交換的階段使用。在網(wǎng)絡(luò)應(yīng)用中一般采取兩種加密形式:對(duì)稱加密和非對(duì)稱加密,采用何種加密算法則要結(jié)合具體應(yīng)用環(huán)境和系統(tǒng),而不能簡(jiǎn)單地根據(jù)其加密強(qiáng)度來(lái)做出判斷。
(1)對(duì)稱加密
在對(duì)稱加密方法中,對(duì)信息的加密和解密都使用相同的密鑰。也就是說(shuō),一把鑰匙開一把鎖。這種加密算法可簡(jiǎn)化加密處理過程,貿(mào)易雙方都不必彼此研究和交換專用的加密算法,如果進(jìn)行通信的貿(mào)易方能夠確保私有密鑰在交換階段未曾泄露,那么機(jī)密性和報(bào)文完整性就可以得到保證。不過,對(duì)稱加密技術(shù)也存在一些不足,如果某一貿(mào)易方有n個(gè)貿(mào)易關(guān)系,那么他就要維護(hù)n個(gè)私有密鑰。對(duì)稱加密方式存在的另一個(gè)問題是無(wú)法鑒別貿(mào)易發(fā)起方或貿(mào)易最終方。因?yàn)橘Q(mào)易雙方共享一把私有密鑰。目前廣泛采用的對(duì)稱加密方式是數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),它主要應(yīng)用于銀行業(yè)中的電子資金轉(zhuǎn)賬(EFT)領(lǐng)域。DES對(duì)64位二進(jìn)制數(shù)據(jù)加密,產(chǎn)生64位密文數(shù)據(jù)。使用的密鑰為64位,實(shí)際密鑰長(zhǎng)度為56位(8位用于奇偶校驗(yàn))。解密時(shí)的過程和加密時(shí)相似,但密鑰的順序正好相反。
(2)非對(duì)稱加密/公開密鑰加密
在Inter中使用更多的是公鑰系統(tǒng),即公開密鑰加密。在該體系中,密鑰被分解為一對(duì):公開密鑰PK和私有密鑰SK。這對(duì)密鑰中的任何一把都可作為公開密鑰(加密密鑰)向他人公開,而另一把則作為私有密鑰(解密密鑰)加以保存。公開密鑰用于加密,私有密鑰用于解密,私有密鑰只能由生成密鑰對(duì)的貿(mào)易方掌握,公開密鑰可廣泛,但它只對(duì)應(yīng)于生成該密鑰的貿(mào)易方。在公開密鑰體系中,加密算法E和解密算法D也都是公開的。雖然SK與PK成對(duì)出現(xiàn),但卻不能根據(jù)PK計(jì)算出SK。公開密鑰算法的特點(diǎn)如下:
用加密密鑰PK對(duì)明文X加密后,再用解密密鑰SK解密,即可恢復(fù)出明文,或?qū)憺椋篋SK(EPK(X))=X。
加密密鑰不能用來(lái)解密,即DPK(EPK(X))≠X
在計(jì)算機(jī)上可以容易地產(chǎn)生成對(duì)的PK和SK。
從已知的PK實(shí)際上不可能推導(dǎo)出SK。加密和解密的運(yùn)算可以對(duì)調(diào),即:EPK(DSK(X))=X
常用的公鑰加密算法是RSA算法,加密強(qiáng)度很高。具體做法是將數(shù)字簽名和數(shù)據(jù)加密結(jié)合起來(lái)。發(fā)送方在發(fā)送數(shù)據(jù)時(shí)必須加上數(shù)字簽名,做法是用自己的私鑰加密一段與發(fā)送數(shù)據(jù)相關(guān)的數(shù)據(jù)作為數(shù)字簽名,然后與發(fā)送數(shù)據(jù)一起用接收方密鑰加密。這些密文被接收方收到后,接收方用自己的私鑰將密文解密得到發(fā)送的數(shù)據(jù)和發(fā)送方的數(shù)字簽名,然后用方公布的公鑰對(duì)數(shù)字簽名進(jìn)行解密,如果成功,則確定是由發(fā)送方發(fā)出的。由于加密強(qiáng)度高,而且不要求通信雙方事先建立某種信任關(guān)系或共享某種秘密,因此十分適合Inter網(wǎng)上使用。
3.數(shù)字簽名
數(shù)字簽名技術(shù)是實(shí)現(xiàn)交易安全核心技術(shù)之一,它實(shí)現(xiàn)的基礎(chǔ)就是加密技術(shù)。以往的書信或文件是根據(jù)親筆簽名或印章來(lái)證明其真實(shí)性的。但在計(jì)算機(jī)網(wǎng)絡(luò)中傳送的報(bào)文又如何蓋章呢?這就是數(shù)字簽名所要解決的問題。數(shù)字簽名必須保證以下幾點(diǎn):接收者能夠核實(shí)發(fā)送者對(duì)報(bào)文的簽名;送者事后不能抵賴對(duì)報(bào)文的簽名;接收者不能偽造對(duì)報(bào)文的簽名。現(xiàn)在己有多種實(shí)現(xiàn)數(shù)字簽名的方法,采用較多的就是公開密鑰算法。
4.數(shù)字證書
(1)認(rèn)證中心
在電子交易中,數(shù)字證書的發(fā)放不是靠交易雙方來(lái)完成的,而是由具有權(quán)威性和公正性的第三方來(lái)完成的。認(rèn)證中心就是承擔(dān)網(wǎng)上安全電子交易認(rèn)證服務(wù)、簽發(fā)數(shù)字證書并確認(rèn)用戶身份的服務(wù)機(jī)構(gòu)。
(2)數(shù)字證書
數(shù)字證書是用電子手段來(lái)證實(shí)一個(gè)用戶的身份及他對(duì)網(wǎng)絡(luò)資源的訪問權(quán)限。在網(wǎng)上的電子交易中,如雙方出示了各自的數(shù)字證書,并用它來(lái)進(jìn)行交易操作,那么交易雙方都可不必為對(duì)方身份的真?zhèn)螕?dān)心。
5.消息摘要(MessageDigest)
消息摘要方法也稱為Hash編碼法或MDS編碼法。它是由RonRivest所發(fā)明的。消息摘要是一個(gè)惟一對(duì)應(yīng)一個(gè)消息的值。它由單向Hash加密算法對(duì)所需加密的明文直接作
這篇論文.用,生成一串128bit的密文,這一串密文又被稱為“數(shù)字指紋”(FingerPrint)。所謂單向是指不能被解密,不同的明文摘要成密文,其結(jié)果是絕不會(huì)相同的,而同樣的明文其摘要必定是一致的,因此,這串摘要成為了驗(yàn)證明文是否是“真身”的數(shù)字“指紋”了。四、小結(jié)
一、電子簽名證據(jù)概述
根據(jù)聯(lián)合國(guó)國(guó)際貿(mào)易法委員會(huì)《電子簽名示范法》第二條中的規(guī)定,電子簽名是指“以電子形式表現(xiàn)的數(shù)據(jù),該數(shù)據(jù)在一段數(shù)據(jù)信息之中或附著于或與一段數(shù)據(jù)信息有邏輯上的聯(lián)系,該數(shù)據(jù)可以用來(lái)確定簽名人與數(shù)據(jù)信息的聯(lián)系并且可以表明簽名人對(duì)數(shù)據(jù)信息中的信息的同意?!蔽覈?guó)在《電子簽名法》第二條第一款中對(duì)電子簽名也進(jìn)行了規(guī)定:“本法所稱電子簽名,是指數(shù)據(jù)電文中以電子形式所含、所附用于識(shí)別簽名人身份并表明簽名人認(rèn)可其中內(nèi)容的數(shù)據(jù)。”
綜上所述,我們可以這樣認(rèn)為,電子簽名是在電子數(shù)據(jù)交換中,附屬于數(shù)據(jù)電文中,以電子形式以表明簽名人身份的數(shù)據(jù)。當(dāng)今理論界又把電子簽名有分為廣義的電子簽名和狹義的電子簽名。廣義的電子簽名的定義可以簡(jiǎn)單的分解成以下幾點(diǎn):一是電子簽名是以電子形式存在的;二是電子簽名能確認(rèn)電子合同的內(nèi)容;三是當(dāng)事人通過電子簽名表明其身份,并表明接受合同項(xiàng)下的權(quán)利義務(wù),繼之表明愿意承擔(dān)可能產(chǎn)生的合同責(zé)任;狹義的電子簽名則是指利用特定的加密算法而進(jìn)行的簽名,通常是指數(shù)字簽名。
二、電子簽名證據(jù)的種類
1.數(shù)字簽名(DigitalSignature),即狹義的電子簽名,是以特定的電子簽名技術(shù)所進(jìn)行的簽名。如前所述,數(shù)字簽名是電子簽名的一種,這種觀點(diǎn)被廣泛的學(xué)者所認(rèn)可,一般是指以非對(duì)稱加密技術(shù)所進(jìn)行的電子簽名。它是電子商務(wù)活動(dòng)中使用最為普遍的電子簽名方式。此外,通過動(dòng)態(tài)簽名的識(shí)別,也可以使個(gè)人身份與其簽名發(fā)生特定的聯(lián)系。
2.生物特征簽名(SignatureByBiometries),是指籍由使用者的指紋、聲波、視網(wǎng)膜紋等生理特征作為辨識(shí)的根據(jù),而達(dá)到鑒別作用的簽名。它是與用戶個(gè)人生理特征相聯(lián)系的。
三、電子簽名證據(jù)進(jìn)行審查判斷的方法
(一)電子簽名證據(jù)收集主體的審查
審查判斷電子簽名的收集主體是否適格問題是程序?qū)彶榈氖滓襟E。對(duì)電子簽名證據(jù)進(jìn)行收集和保全的主體都應(yīng)當(dāng)是特定的,不具備法律規(guī)定主體資格的機(jī)關(guān)和個(gè)人將會(huì)否定其證據(jù)資格。在此需要注意的是,除法律規(guī)定之外,需要認(rèn)證方能授予的主體資格一般需要具有相關(guān)資格的主體出具相應(yīng)的證明。此外,由于電子簽名其特殊的證據(jù)特征,這就要求對(duì)我們電子簽名證據(jù)進(jìn)行收集的個(gè)人進(jìn)行審查時(shí),不僅要看其是否具有相關(guān)的身份資格,而且要審查判斷其是否掌握收集電子簽名證據(jù)的相關(guān)技術(shù)。若身份適格但是缺乏相應(yīng)的技術(shù),我們可以認(rèn)定其不具有證據(jù)收集主體資格。
(二)電子簽名證據(jù)能力的審查
證據(jù)能力,又稱為證據(jù)資格,“是指證據(jù)材料能夠作為證據(jù)使用而在法律上享有正當(dāng)性。通常情況下,必須同時(shí)具備真實(shí)性、合法性和關(guān)聯(lián)性等的證據(jù)才具有證據(jù)能力。”對(duì)電子簽名證據(jù)的證據(jù)能力進(jìn)行審查,也就是對(duì)其是否滿足作為證據(jù)使用條件進(jìn)行審查。我國(guó)《電子簽名法》第三條規(guī)定:“當(dāng)事人約定使用電子簽名、數(shù)據(jù)電文的文書,不得僅因?yàn)槠洳捎秒娮雍灻?、?shù)據(jù)電文的形式而否定其法律效力”;第四條規(guī)定:“可靠地電子簽名與手寫或者蓋章具有同等的法律效力”;第七條規(guī)定:“數(shù)據(jù)電文不得僅因?yàn)槠涫且噪娮?、光學(xué)、磁或者類似手段生成、發(fā)送、接收或者存儲(chǔ)而被拒絕作為證據(jù)使用?!睆囊陨蠗l文可知,我國(guó)從立法上對(duì)于數(shù)據(jù)電文和電子簽名的證據(jù)能力及證明力給予了肯定。
另外,我國(guó)《電子簽名法》第五條規(guī)定:“符合下列條件的數(shù)據(jù)電文,視為滿足法律、法規(guī)規(guī)定的原件形式要求:(一)能夠有效地表現(xiàn)所載內(nèi)容并可供隨時(shí)調(diào)取查用;(二)能夠可靠的保證自最初形成時(shí)起,內(nèi)容保持完整,未被更改?!钡?,數(shù)據(jù)電文在儲(chǔ)存和經(jīng)行數(shù)據(jù)交換時(shí)發(fā)生形式的變化并不影響數(shù)據(jù)電文的完整性。上述的規(guī)定表明我國(guó)對(duì)電子簽名證據(jù)的復(fù)印件與原件在功能相同的情況下,具有相同的證明力。
(三)電子簽名證據(jù)來(lái)源的審查
對(duì)電子簽名證據(jù)來(lái)源的審查主要包括以下幾點(diǎn):首先,審查電子簽名證據(jù)是以什么方法、在什么情況下取得的。其次,由于電子簽名證據(jù)是易變的數(shù)字信息,需要可靠的來(lái)源進(jìn)行穩(wěn)定性保障,因此我們對(duì)電子簽名證據(jù)進(jìn)行審查判斷時(shí),要檢驗(yàn)電子簽名證據(jù)的來(lái)源是否客觀真實(shí)。例如,對(duì)生物特征簽名的收集時(shí),我們不僅要利用計(jì)算機(jī)取證技術(shù)進(jìn)行合法的取證,而且要對(duì)取證的對(duì)象的真實(shí)性進(jìn)行逐一的審查。最后,對(duì)未經(jīng)公證的電子簽名證據(jù)的審查,不能因?yàn)槠湮唇?jīng)過公證機(jī)關(guān)公證而喪失證據(jù)資格。沒有經(jīng)過公證機(jī)關(guān)公證的電子簽名證據(jù)只會(huì)導(dǎo)致其證明力下降而非消失。例如EDI中心提供的提單簽發(fā)、傳輸記錄,CA認(rèn)證中心提供的認(rèn)證或公證書以及其他數(shù)字簽名等就具有較強(qiáng)的來(lái)源可靠性,而沒有經(jīng)過這些認(rèn)證的數(shù)據(jù),證據(jù)資格存在一定的瑕疵,但并不因此而失去證據(jù)資格,可以通過數(shù)據(jù)鑒定進(jìn)行補(bǔ)強(qiáng)。
注釋:
何峰,.論電子證據(jù)的審查與舉證.信息網(wǎng)絡(luò)安全.2010(4).
參考文獻(xiàn):
[1]蘇鳳仙,譚德宏.民事訴訟中電子證據(jù)的審查判斷.遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院學(xué)報(bào).2003(2).
中圖分類號(hào):TP393.08文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)12-2789-02
計(jì)算機(jī)網(wǎng)絡(luò)和互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)安全越來(lái)越受到人們的和關(guān)注。網(wǎng)絡(luò)安全措施應(yīng)能勝任、應(yīng)對(duì)不同的威脅和脆弱性,才能實(shí)現(xiàn)網(wǎng)絡(luò)信息的保密性、完整性和可用性。信息的安全與暢通,局域網(wǎng)的安全防范措施已迫在眉睫。
1 網(wǎng)絡(luò)安全業(yè)務(wù)
網(wǎng)絡(luò)通信安全性涉及面很廣泛,甚至在犯罪行為中也涉及到部分網(wǎng)絡(luò)通信的安全性問題,往往會(huì)構(gòu)成嚴(yán)重的犯罪行為。網(wǎng)絡(luò)通信安全自身主要關(guān)心的是確保其他無(wú)關(guān)人員不能讀取,更無(wú)法修改傳送給他人的資料。網(wǎng)絡(luò)通信的安全也對(duì)合法消息的截獲和重播進(jìn)行處理與分析,一般來(lái)說(shuō),網(wǎng)絡(luò)安全問題的出現(xiàn)往往是由于有人惡意對(duì)某種能夠獲取利用的信息和資料進(jìn)行截取和攔截而引起的。
網(wǎng)絡(luò)通信安全的內(nèi)容可以概括為以下幾個(gè)方面。
保密性:保密性是指防止靜態(tài)信息被非授權(quán)訪問和防止動(dòng)態(tài)信息被截取解密;完整性:完整性要求在存儲(chǔ)或傳輸時(shí)信息的內(nèi)容和順序都不被偽造、亂序、重置、插入和修改;可靠性:可靠性是指信息的可信度,包括信息的完整性、準(zhǔn)確性和發(fā)送人的身份認(rèn)證等方面;實(shí)用性:實(shí)用性即信息的加密密鑰不可丟失;可用性:可用性是指主機(jī)存放靜態(tài)信息的可用性和可操作性;占有性:占有性是指存儲(chǔ)信息的主機(jī)、磁盤等信息載體被盜用,導(dǎo)致對(duì)信息占有權(quán)的喪失。保護(hù)信息占有性的方法有使用版權(quán)、專利、商業(yè)秘密、使用物理和邏輯的訪問限制方法,以及維護(hù)和檢查有關(guān)盜竊文件的審計(jì)記錄和使用標(biāo)簽等。
2 網(wǎng)絡(luò)安全保密技術(shù)
密碼學(xué)是基于數(shù)論、概率統(tǒng)計(jì)、橢圓曲線等理論的一門學(xué)科,是計(jì)算機(jī)科學(xué)和數(shù)學(xué)的有機(jī)結(jié)合和發(fā)展。密碼技術(shù)采用密碼技術(shù)對(duì)信息加密,是最常用和有效的安全保護(hù)手段。目前廣泛應(yīng)用的加密技術(shù)主要分為兩類:對(duì)稱算法加密、非對(duì)稱算法加密與公鑰體系
2.1 密碼體制
完成加密和解密的算法。通常,數(shù)據(jù)的加密和解密過程是通過密碼體制(cipher system) +密鑰(keyword)來(lái)控制的。 密碼體制必須易于使用,特別是應(yīng)當(dāng)可以在微型計(jì)算機(jī)是使用。密碼體制的安全性依賴于密鑰的安全性,現(xiàn)代密碼學(xué)不追求加密算法的保密性,而是追求加密算法的完備,即:使攻擊者在不知道密鑰的情況下,沒有辦法從算法找到突破口。
密碼體制可分為兩大類:?jiǎn)舞€體制和雙鑰體制。單鑰體制的加密密鑰和解秘密鑰相同見圖1。其系統(tǒng)的保密性基于密鑰的安全性,但如何產(chǎn)生滿足保密要求的密鑰是這類體制設(shè)計(jì)和實(shí)現(xiàn)的主要課題。另一個(gè)重要問題是如何將密鑰安全可靠地分配給通信對(duì)方,包括密鑰產(chǎn)生、分配、存儲(chǔ)、銷毀等多方面問題。若密鑰管理得不好,則系統(tǒng)安全難以保證。典型的單鑰算法有DES,IDEA等。
而在雙鑰體制下,加密密鑰與解密密鑰是不同的,此時(shí)根本就不需要安全信道來(lái)傳送密鑰,而只需利用本地密鑰發(fā)生器產(chǎn)生解密密鑰即可。雙鑰體制將加密和解密分開見圖2,而系統(tǒng)的安全性在于從公鑰kbl和密文C要推出明文M或解秘密鑰kb2在計(jì)算上是不可能的。由于雙鑰密碼體制的加密和解密不同,且能公開加密密鑰,而僅需保密解密密鑰,所以雙鑰密碼不存在密鑰管理問題。雙鑰密碼還有一個(gè)優(yōu)點(diǎn)是可以擁有數(shù)字簽名等新功能。典型的雙鑰密碼有RSA,ELGAMAL,RABIN,基于橢圓曲線的密碼等。
2.2 雜湊技術(shù)
雜湊技術(shù)是通過雜湊函數(shù)單向不可逆性實(shí)現(xiàn)的。雜湊函數(shù)又稱hash函數(shù),Hash函數(shù)(也稱雜湊函數(shù)或雜湊算法)就是把任意長(zhǎng)的輸入消息串變化成固定長(zhǎng)的輸出串的一種函數(shù)。這個(gè)輸出串稱為該消息的雜湊值。就是一種可將一個(gè) key 對(duì)應(yīng)到一個(gè)索引的函數(shù),一個(gè)可能的雜湊函數(shù)為 h(x)=key % 100 , (% 傳回 key 除以 100 的余數(shù) ) ,這個(gè)函數(shù)僅傳回 key 的末兩位數(shù)。 若一個(gè)特定的 key ,被雜湊到 i ,就降這個(gè) key 及其對(duì)應(yīng)到的紀(jì)錄擠旁 S[i] 。 若一個(gè)特定的 key ,被雜湊到 i ,就降這個(gè) key 及其對(duì)應(yīng)到的紀(jì)錄擠旁 S[i] 。
2.3 數(shù)字簽名技術(shù)
在網(wǎng)絡(luò)環(huán)境下,發(fā)送方不承認(rèn)自己發(fā)送過某一報(bào)文;接收方自己偽造一份報(bào)文,并聲稱它來(lái)自發(fā)送方;網(wǎng)絡(luò)上的某個(gè)用戶冒充另一個(gè)用戶接收或發(fā)送報(bào)文;接收方對(duì)收到的信息進(jìn)行篡改。數(shù)字簽名技術(shù)可以解決上述情況引發(fā)的爭(zhēng)端。數(shù)字簽名與公鑰密碼學(xué)緊密相連,公開密鑰和私有密鑰共同組成了密鑰的主要組成部分。數(shù)字簽名的過程主要包括內(nèi)容:簽名過程使用私有密鑰進(jìn)行:驗(yàn)證過程采用接受方或驗(yàn)證方用公開密鑰進(jìn)行。
一般來(lái)說(shuō),無(wú)法從公開密鑰得出私有密鑰,因此公開密鑰對(duì)私有密鑰的安全不產(chǎn)生影響;即認(rèn)為無(wú)需對(duì)公開密鑰進(jìn)行保密,傳播自由,但需對(duì)私有密鑰進(jìn)行保密。因此,在對(duì)消息進(jìn)行私有密鑰加密時(shí),如果可以利用公開密鑰進(jìn)行解密,即可認(rèn)為該簽名的所有者就是加密者本人簽名。造成這種現(xiàn)象的原因主要是由于其他人的通過公開密鑰不可能對(duì)該消息進(jìn)行解密,也無(wú)法獲悉消息簽名者的私有密鑰來(lái)進(jìn)行解密。
從技術(shù)上來(lái)講,數(shù)字簽名其實(shí)就是通過一個(gè)單向函數(shù)對(duì)要傳送的報(bào)文(或消息)進(jìn)行處理產(chǎn)生別人無(wú)法識(shí)別的一段數(shù)字串,這個(gè)數(shù)字串用來(lái)證明報(bào)文的來(lái)源并核實(shí)報(bào)文是否發(fā)生了變化。在數(shù)字簽名中,私有密鑰是某個(gè)人知道的秘密值,與之配對(duì)的唯一公開密鑰存放在數(shù)字證書或公共數(shù)據(jù)庫(kù)中,用簽名人掌握的秘密值簽署文件,用對(duì)應(yīng)的數(shù)字證書進(jìn)行驗(yàn)證
2.4 身份認(rèn)證技術(shù)
利用Diffie-Hellman密鑰交換協(xié)議是一種較好的解決方案。Diffie-Hellman密鑰交換協(xié)議如下:首先,Alice和Bob雙方約定2個(gè)大整數(shù)n和g,其中1
另一種認(rèn)證體制即基于公鑰的認(rèn)證的過程(圖3)。
分三個(gè)步驟:
1)A選一隨機(jī)數(shù)RA,用B的公鑰加密傳送給B;
2)B將RA解密后再選另一隨機(jī)數(shù)RB和會(huì)話密鑰KS用A的公鑰加密后送給A;
3)A用會(huì)話密鑰KS加密RB傳送給B。A收到第二條消息后可確認(rèn)對(duì)方確是B,因?yàn)槠渌藷o(wú)法獲取RA。同理,B也可認(rèn)證A?;诠€的認(rèn)證有一平前提,即認(rèn)證雙方必須知道對(duì)方的公鑰,而這又涉及到了公鑰證書的管理和CA(Certificate Authorization)的架構(gòu)問題,
3 結(jié)束語(yǔ)
對(duì)計(jì)算機(jī)信息構(gòu)成不安全的因素很多,其中包括人為的因素、自然的因素和偶發(fā)的因素。計(jì)算機(jī)密碼技術(shù)是計(jì)算機(jī)網(wǎng)絡(luò)安全保密技術(shù)中一項(xiàng)非常重要的技術(shù)。而其中人為因素是對(duì)計(jì)算機(jī)信息網(wǎng)絡(luò)安全威脅最大的因素。
參考文獻(xiàn):
[1] 喻鏑.計(jì)算機(jī)網(wǎng)絡(luò)的安全與保密技術(shù)[J].現(xiàn)代計(jì)算機(jī),2000(2).
[2] 宗葉紅,施揚(yáng).TETRA網(wǎng)絡(luò)安全保密技術(shù)研究[J].現(xiàn)代電子技術(shù),2005(11).
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:A
1引言
密碼學(xué)能有效保障信息的機(jī)密性、認(rèn)證性、完整性和不可否認(rèn)性,是信息安全的核心技術(shù)之一,為信息安全提供了深刻的理論依據(jù)和豐富的應(yīng)用實(shí)踐基礎(chǔ)。目前各大高校已為信息安全專業(yè)、計(jì)算機(jī)科學(xué)與技術(shù)、通信工程和信息與計(jì)算科學(xué)專業(yè)的本科生或研究生開設(shè)了密碼學(xué)課程,如北京大學(xué)、上海交通大學(xué)、哈爾濱工業(yè)大學(xué)、武漢大學(xué)、西安電子科技大學(xué)、電子科技大學(xué)等,也有一些教研[1-4]。然而,對(duì)于更多的高校,密碼學(xué)課程的教學(xué)卻處于探索階段。
公立函館未來(lái)大學(xué)(Future University-Hakodate)位于日本北海道函館市龜田中野町,始建于2000年,是一所以信息科學(xué)為特色的公立大學(xué)。該校有兩大學(xué)院(系統(tǒng)信息科學(xué)研究科和系統(tǒng)信息科學(xué)專業(yè))和三學(xué)部(信息建筑學(xué)科、復(fù)雜系統(tǒng)學(xué)科和系統(tǒng)信息科學(xué)部)。學(xué)校研究與教育涵蓋了以硬件為中心的計(jì)算機(jī)科學(xué)、認(rèn)知科學(xué)、信息系統(tǒng)設(shè)計(jì)與復(fù)雜系統(tǒng)。雖建校不久,但該校的密碼學(xué)學(xué)科卻取得了驕人的成績(jī),在高木剛(Tsuyoshi Takagi)教授的帶領(lǐng)下,在雙線性配對(duì)運(yùn)算方向已到達(dá)國(guó)際先進(jìn)水平。筆者在公立函館未來(lái)大學(xué)從事博士后研究期間,旁聽了高木剛教授面向計(jì)算機(jī)專業(yè)碩士生開始的密碼學(xué)課程,并和他交流了教學(xué)經(jīng)驗(yàn)及學(xué)術(shù)思想,感觸頗深。本文就該校密碼學(xué)課程設(shè)置與教學(xué)方法進(jìn)行了描述和討論。
2密碼學(xué)課程的特點(diǎn)
作為信息安全和其他信息科學(xué)類專業(yè)的一門專業(yè)基礎(chǔ)課,密碼學(xué)課程具有以下特點(diǎn)[4]:
(1) 作用和地位十分重要。密碼學(xué)是實(shí)現(xiàn)保密通信和信息系統(tǒng)安全的主要技術(shù)手段和工具,信息安全的保密性、認(rèn)證性、完整性和不可否認(rèn)性等屬性都需要用密碼學(xué)的工具來(lái)完成。隨著計(jì)算機(jī)和計(jì)算機(jī)網(wǎng)絡(luò)在軍事、政務(wù)、金融、商業(yè)等部門的廣泛應(yīng)用,社會(huì)對(duì)計(jì)算機(jī)的依賴越來(lái)越大,如果計(jì)算機(jī)系統(tǒng)的安全受到破壞,將導(dǎo)致社會(huì)的混亂并造成巨大損失。因此,確保計(jì)算機(jī)系統(tǒng)的安全已成為世人關(guān)注的社會(huì)問題并成為信息科學(xué)的熱點(diǎn)研究領(lǐng)域。密碼技術(shù)是信息安全的關(guān)鍵技術(shù)之一,幾乎所有的信息安全技術(shù)都應(yīng)用到密碼技術(shù)。
(2) 覆蓋的內(nèi)容多,涉及的數(shù)學(xué)知識(shí)多。由于發(fā)展歷史較長(zhǎng)和研究問題的特殊性質(zhì),密碼學(xué)從基礎(chǔ)理論到實(shí)用算法,形成的內(nèi)容和分支較多。例如,數(shù)字簽名體制就分為簽名體制、盲簽名體制、環(huán)簽名體制、群簽名體制等10余種簽名體制。同時(shí),密碼學(xué)還涉及較多的數(shù)學(xué)知識(shí),如數(shù)論、抽象代數(shù)、概率論、組合數(shù)學(xué)、計(jì)算復(fù)雜性和信息論等方面的知識(shí)。
(3) 與其他學(xué)科聯(lián)系廣泛。密碼學(xué)與其他學(xué)科具有廣泛聯(lián)系,這些學(xué)科包括應(yīng)用數(shù)學(xué)、通信、計(jì)算機(jī)科學(xué)、信息處理等。從應(yīng)用數(shù)學(xué)的角度看,密碼學(xué)是數(shù)論、抽象代數(shù)等理論的一種應(yīng)用;從通信的角度看,密碼學(xué)是實(shí)現(xiàn)保密通信的一種技術(shù)手段;從計(jì)算機(jī)科學(xué)的角度看,密碼學(xué)是數(shù)據(jù)安全、計(jì)算機(jī)安全和網(wǎng)絡(luò)安全的研究?jī)?nèi)容;從信息處理的角度看,密碼是信息處理的一種形式。密碼學(xué)的研究?jī)?nèi)容決定了它的交叉性和廣泛性,這使得人們能從不同方面去研究密碼學(xué),從而推動(dòng)密碼學(xué)學(xué)科的不斷發(fā)展。各種數(shù)學(xué)和其他學(xué)科研究的新成果也會(huì)很快地應(yīng)用于密碼學(xué)當(dāng)中,例如基于橢圓曲線的加密和簽名方法、量子密碼和數(shù)字水印等。
(4) 實(shí)踐性很強(qiáng)。密碼學(xué)的研究目的就是解決實(shí)際生活當(dāng)中的信息安全問題,例如提供保密性、認(rèn)證性、完整性和不可否認(rèn)性,這些屬性是信息社會(huì)中不可或缺的重要屬性,它們隨著計(jì)算機(jī)的普及,借助于密碼學(xué)的各種算法得以實(shí)現(xiàn)。因此,密碼學(xué)是一門實(shí)踐性很強(qiáng)的課程。只有理論聯(lián)系實(shí)際,才能把這門課程學(xué)好。
3密碼學(xué)課程教學(xué)內(nèi)容的設(shè)置
公立函館未來(lái)大學(xué)的密碼學(xué)課程分為以下幾部分:
(1) 數(shù)學(xué)基礎(chǔ):該部分講述整除、同余、模運(yùn)算、歐幾里得算法、擴(kuò)展的歐幾里得算法、歐拉函數(shù)、群、環(huán)、域和概率論等的基本概念。該部分的教學(xué)目的是使學(xué)生對(duì)密碼學(xué)所需的數(shù)學(xué)知識(shí)有個(gè)大概的了解,為以后的學(xué)習(xí)打下基礎(chǔ)。
(2) 密碼學(xué)基本概念:該部分講述密碼學(xué)的歷史、加密和隱私概念、密碼學(xué)的目標(biāo)、攻擊模型、密碼協(xié)議和可證明安全性等。該部分的教學(xué)目的是使學(xué)生對(duì)密碼學(xué)有個(gè)總體的認(rèn)識(shí),為以后的學(xué)習(xí)打下基礎(chǔ)。
(3) 對(duì)稱密碼體制:該部分講述了流密碼和分組密碼體制。流密碼只是介紹了一些基本概念。分組密碼是本章的重點(diǎn),主要講述了DES、AES和分組密碼的工作模式。該部分的教學(xué)目的是使學(xué)生對(duì)對(duì)稱密碼體制,尤其是分組密碼體制有深刻的認(rèn)識(shí),了解分組密碼設(shè)計(jì)原理和特點(diǎn)。
(4) 公鑰密碼體制:該部分講述公鑰密碼體制的概念、RSA公鑰密碼體制、ElGamal公鑰密碼體制、Rabin公鑰密碼體制、基于橢圓曲線的密碼體制和基于身份的密碼體制。該部分的教學(xué)目的是使學(xué)生對(duì)公鑰密碼體制有個(gè)深刻的理解,了解公鑰密碼體制與對(duì)稱密碼體制的區(qū)別。
(5) 數(shù)字簽名:該部分講述數(shù)字簽名的基本概念、RSA數(shù)字簽名、ElGamal數(shù)字簽名、數(shù)字簽名標(biāo)準(zhǔn)DSS、群簽名、簽名、盲簽名和環(huán)簽名等。該部分的教學(xué)目的是使學(xué)生掌握常用的數(shù)字簽名體制,掌握數(shù)字簽名體制的設(shè)計(jì)原理和特點(diǎn),對(duì)特殊的數(shù)字簽名,如群簽名、簽名、盲簽名和環(huán)簽名有個(gè)初步的認(rèn)識(shí)。
(6)Hash函數(shù):該部分講述Hash函數(shù)的基本概念、MD5、SHA、基于分組密碼的Hash函數(shù)和Hash函數(shù)的應(yīng)用。該部分的教學(xué)目的是使學(xué)生掌握Hash函數(shù)的設(shè)計(jì)原理和要求,對(duì)MD5和SHA兩種重要Hash函數(shù)有個(gè)深刻理解。
(7) 密碼協(xié)議:該部分講述密鑰分配和密鑰交換、認(rèn)證體制、零知識(shí)證明、電子選舉和電子現(xiàn)金等。該部分的教學(xué)目的是使學(xué)生對(duì)密碼應(yīng)用有深刻的理解,對(duì)如何根據(jù)應(yīng)用環(huán)境設(shè)計(jì)密碼協(xié)議有個(gè)基本的認(rèn)識(shí)。
(8) 可證明安全性:該部分講述公鑰密碼和數(shù)字簽名的可證明安全性。包括公鑰加密體制的安全性概念、數(shù)字簽名體制的安全性概念、隨機(jī)預(yù)言模型、RSA-OAEP等。該部分的教學(xué)目的是使學(xué)生對(duì)可證明安全性知識(shí)有個(gè)初步認(rèn)識(shí),能夠?qū)€加密體制和數(shù)字簽名體制進(jìn)行形式化證明。
4密碼學(xué)課程的教學(xué)方法
通過筆者在公立函館未來(lái)大學(xué)密碼學(xué)課程的學(xué)習(xí),總結(jié)出如下教學(xué)方法:
(1) 注重?cái)?shù)學(xué)知識(shí)的講解。學(xué)習(xí)密碼學(xué)需要用到很多數(shù)學(xué)知識(shí),教師在教學(xué)中很重視數(shù)學(xué)知識(shí)的傳授,在第一章中專門講授了密碼學(xué)需要的數(shù)學(xué)知識(shí)。此外,教師在講授其他章節(jié)內(nèi)容時(shí)也常常介紹一些數(shù)學(xué)知識(shí),如在講授RSA算法時(shí)講授了模運(yùn)算和復(fù)雜性理論。
(2) 注重講清各部分的區(qū)別與聯(lián)系,以便于學(xué)生掌握和記憶。密碼學(xué)課程涉及到很多概念,這些概念很難記憶。教師在教學(xué)中注重講解各種概念的區(qū)別與聯(lián)系,如對(duì)稱密碼體制和公鑰密碼體制的區(qū)別和聯(lián)系、公鑰加密體制和數(shù)字簽名體制的區(qū)別和聯(lián)系、分組密碼體制和流密碼體制的區(qū)別和聯(lián)系。通過這些講解,學(xué)生掌握和理解這些知識(shí)就容易多了。
(3) 注意講述歷史知識(shí),激發(fā)學(xué)生興趣。密碼學(xué)涉及到很多有趣的歷史知識(shí)。在講授密碼的起源時(shí),教師介紹了公元前五世紀(jì)斯巴達(dá)人使用的一種叫“天書”(Skytale)的器械。它用一根木棍,將羊皮條緊緊纏在木棒上,密信自上而下寫在羊皮條上,然后將羊皮條解開送出,只有把羊皮條重新纏在一根同樣直徑的木棍上,才能把密信的內(nèi)容讀出來(lái)――這是最早的一種移位密碼。在講解公鑰密碼概念時(shí),他們講解了Diffie和Hellman這兩位公鑰密碼開創(chuàng)者的生平,并將這兩位學(xué)者的照片給學(xué)生看。通過這些歷史知識(shí)的講解,學(xué)生對(duì)密碼學(xué)產(chǎn)生了濃厚的興趣。
(4) 注重與科研工作相結(jié)合。教師在教學(xué)中很注重與科研工作相結(jié)合。他們常常講到自己的科研項(xiàng)目與經(jīng)歷,也常常將最新的研究成果帶到課堂,將最新的論文發(fā)給學(xué)生研讀,使學(xué)生對(duì)最新的研究方向有個(gè)初步認(rèn)識(shí)。
(5) 注重總體理解。某些密碼學(xué)算法涉及的步驟很多,理解比較困難。如DES就涉及到了16輪變換,每輪都有置換和代換運(yùn)算。教師在介紹該算法時(shí)注重總體算法的把握,先讓學(xué)生對(duì)該算法有個(gè)總體的認(rèn)識(shí),然后再講述每一步驟的詳細(xì)算法。
5結(jié)束語(yǔ)
本文介紹了日本公立函館未來(lái)大學(xué)面向計(jì)算機(jī)專業(yè)碩士生開設(shè)的密碼學(xué)課程的具體情況,包括課程內(nèi)容設(shè)置與教學(xué)特點(diǎn)。希望能對(duì)我國(guó)密碼學(xué)課程有一定的啟發(fā)。
參考文獻(xiàn):
[1] 沈瑛,鄭河榮. 密碼學(xué)課程的設(shè)計(jì)與實(shí)踐[J]. 溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào),2003,3(3):76-77.
[2] 段桂華,楊路明. 基于組件技術(shù)的密碼學(xué)理論與技術(shù)實(shí)驗(yàn)教學(xué)方法[J]. 北京電子科技學(xué)院學(xué)報(bào),2006,14(1):44-46.
[3] 丁勇. 信息與計(jì)算科學(xué)專業(yè)密碼學(xué)教學(xué)研究[J]. 桂林電子科技大學(xué)學(xué)報(bào),2008,28(2):131-133.
[4] 李夢(mèng)東. 密碼學(xué)課程設(shè)置與教學(xué)方法探究[J]. 北京電子科技學(xué)院學(xué)報(bào),2007,15(3):61-66.
The Course Design of Cryptology and Its Teaching Method at Future University-Hakodate
LIFa-gen
(School of Computer Science and Engineering, University of Electronic Science and