周榮彪
(中央民族大學 100081)
數(shù)字簽名簡述
周榮彪
(中央民族大學 100081)
在計算機的大眾普及和數(shù)字信息技術的高速發(fā)展的今天,人類已跨入了數(shù)字信息化的時代,信息技術的重要性與日俱增,已經深入了我們這代人的每一個角落,人們的日常工作和生活都離不開它。但,凡事都具有其兩面性,利弊并存。
數(shù)字簽名 信息化 網絡
信息技術更是首當其沖,因信息的各種操作行為常常都是在網絡上進行的,而因特網又是全球、開放、共享的,也就等同于任何人都可以隨意地接入,這中間就不可避免的會出現(xiàn)一些惡意的非法訪問者。所以也必定會出現(xiàn)能夠保證網絡信息安全的技術。信息安全主要包括以下幾方面的內容:可用性、完整性、機密性、不可否認和可控制性。[1]
在網絡環(huán)境條件下,我們需要存儲、傳輸大量的信息,同時也雙方通信也有可能會為了一己私利出現(xiàn)損害另一方的利益的行為,為了實現(xiàn)信息安全所包含的這些特性數(shù)字簽名技術就運而生。
傳統(tǒng)簽名就是我們手寫的能夠證明我們身份或者物品所屬真?zhèn)蔚淖C明;而在網絡大行其道的今天,傳統(tǒng)簽名跟不上時代的腳步,從而演化出了今天的數(shù)字簽名。數(shù)字簽名,是公鑰密碼學中一個重要的應用,相當于是傳統(tǒng)手寫簽名的數(shù)字化,它具有實現(xiàn)確認信息來源的可靠性及其自身完整性等重要功能,是當前電子商務與電子政務中應用最為廣泛一種電子簽名方法。故數(shù)字簽名作為密碼學的核心技術其對信息安全的重要性不言而喻。[2]
數(shù)字簽名,本質就是一個比特串或是一個比特串的碼表示,它將我們所感興趣的電子數(shù)據(jù)置于一個密碼私鑰上。
在數(shù)字簽名出現(xiàn)之前,為確定重要文件的有效性,人們所使用的都是傳統(tǒng)的簽名,即手寫簽名。而事實證明傳統(tǒng)的簽名是極易被偽造的,相比之下在這方面數(shù)字簽名的優(yōu)勢是明顯的,如果攻擊者沒有得到產生簽名的私鑰,那么他想要對用數(shù)字簽名方案所生成的簽名進行偽造攻擊,這在計算上是不可行的。[3]
傳統(tǒng)的手寫簽名不僅可以被偽造,而且簽名者也可以不承認其之前簽過名的文件。但是在使用數(shù)字簽名對文件進行簽名后,簽名者想要否認這一過程,是很困難的,這是因為數(shù)字簽名與用戶姓名、書面簽名形式沒有任何關系,數(shù)字簽名在產生過程中使用的是密朗,驗證過程使用的是與密胡相對應的公胡。所以數(shù)字簽名相對于傳統(tǒng)的手寫簽名又具有了一個重要的特性,那就是不可否認性,即抗抵賴性。數(shù)字證書就是數(shù)字簽名這一特性的很好應用。
傳統(tǒng)手寫簽名由于其易模仿性與易否認性,很容易引起數(shù)據(jù)收發(fā)雙方的爭執(zhí),在爭執(zhí)出現(xiàn)時,作為仲裁者的第三方往往由于缺乏充分的證據(jù),不能給出正確的判斷。數(shù)字簽名則不同,它是通過某種密碼運算,生成一系列符號與代碼組成相應的電子密碼進行簽名,并且可以對數(shù)字簽名進行技術驗證,其準確程度也是傳統(tǒng)手寫簽名與圖章驗證不能相比的。另外,當數(shù)字簽名中出現(xiàn)爭執(zhí)時,作為第三方的仲裁者可以獲得足夠的證據(jù)來進行正確的判定。也給出了數(shù)字簽名的相關定義:數(shù)字簽名是對數(shù)據(jù)單元進行的密碼變換,或其本身就是一些數(shù)據(jù),這些數(shù)據(jù)是附加于數(shù)據(jù)單元之上的,這類變換或數(shù)據(jù)允許數(shù)據(jù)單元的接收者,用以確認數(shù)據(jù)弟元的來源與其完整性,并對數(shù)據(jù)進行保護,防止被攻擊者偽造。
數(shù)字簽名是以公明密碼體制為基礎的,在這一體制中公鑰和私鑰組成了用戶密明,其中公鑰是公開的,私鑰是不公幵的。在公鑰體制下的簽名,用戶用自己的私鑰對原始數(shù)據(jù)的哈希摘要進行加密,然后信息接收者使用信息發(fā)送者的公鑰對附在原始信息后的數(shù)字簽名進行解密后獲得哈希摘要,并通過與用自己收到的原始數(shù)據(jù)產生的哈希摘要對照,便可確信原始信息是否被篡改,這樣就保證了數(shù)據(jù)傳輸?shù)牟豢煞裾J性。數(shù)字簽名就是消息發(fā)送方使用其私有密鑰對要發(fā)送的消息進行加密操作,而消息的接受方如果可以閑簽名者的公鑰對密文實現(xiàn)正確的解密,那么就可以確定此消息是由發(fā)送方簽名的,對消息的來源完整性進廳了認證。因為從公明不能推導出相應的私朗,所以對公鉬進行公〕下與共享不會與私銷的保密要求相矛盾。
目前,數(shù)字簽名已成為一種應對網絡安全問題的有效手段。在數(shù)字簽名中消息的發(fā)送教首先會使用一個單向散列函數(shù)對該消息進行一個數(shù)學變換,并使用算法獲得一個特征數(shù)據(jù),即數(shù)據(jù)摘要,這個數(shù)據(jù)可以驗證消息的來源與消息的完整性(即消息未被總改或部分丟失),之后發(fā)送者再用自己的私有密鋼對獲得的數(shù)據(jù)摘要進行加密,形成了相應的數(shù)字簽名,將得到的數(shù)字簽名與要傳送的消息一起進行加密后發(fā)送,這樣就好像是在所發(fā)送的消息上進行蓋章或者簽名,接收方對接收到的密文進行驗證,來確定其接收到的消息的正確性與消息的來源。對于不同的消息信息,發(fā)送方所給出的數(shù)字簽名肯定是不一樣的。
因為通過算法得到的特征數(shù)據(jù),即數(shù)據(jù)摘要,其在計算上是不可逆的,也就是說通過這一數(shù)掘是不能得到消息全文的,假如消息在傳送的過程中被攻擊者非法獲取,并被進行了改動,即使改動很小重新推導出的數(shù)據(jù)摘耍也是不同的。
并且,私有密明是只有發(fā)送方才可以知道的,這樣其他任何人都不能生成相應的文件,即沒有私銷,非法操作者不能對消息進行復制。使用私有密明是數(shù)字簽名產生的唯一方法,它可以確保數(shù)字簽名不被偽造,同時函數(shù)的單向性又保證了信息不會被調換。所以說數(shù)字簽名不僅僅可以用于對身份的確認,它還可以在信息進行網上傳輸過程中,保障其真實性、不可否認性即不可抵賴性)與完整性。
由RSA算法知在密鑰的產生部分中起決定性作用的是素數(shù)的選擇,對隨機數(shù)作素性檢測,如果m是一個素數(shù),且a不是m的倍數(shù),那么
因此對于整數(shù)m,只需計算am( mod m),再將結果與a比較,如果兩者相同,則m為素數(shù)。選取a=2,則a一定不會是任何素數(shù)的倍數(shù)。根據(jù)所選的素數(shù)的不同產生不同的密鑰。
[1]趙澤茂. 數(shù)字簽名理論及應用研究[D].南京理工大學,2005.
[2]吳克力. 數(shù)字簽名理論與算法研究[D].南京理工大學,2005.
[3]肖攸安,李臘元. 數(shù)字簽名技術的發(fā)展[J]. 交通與計算機,2003,(02):6-9.