PKI技術原理(收集 整理 歸納)

對稱加密         symmetric cryptographic
非對稱加密       asymmetric cryptographic
密鑰交換協議     key agreement/exchange
哈希算法         Hash
報文認證碼       MAC
數字簽名         digital signature
數字證書         digital ID/certificate
證書頒發機構     certificate authority
公鑰架構         public key infrastructure
PK 公鑰
SK 私鑰
 
公鑰加密技術 
PKI是建立在公鑰加密技術之上的,那麼要了解PKI則首先要看一下公鑰加密技術。加密是保護數據的科學方法。加密算法在數學上結合了輸入的文本數據和一個加密密鑰,產生加密的數據(密文)。通過一個好的加密算法,通過密文進行反向加密過程,產生原文就不是那麼容易了,需要一個解密密鑰來執行相應的轉換。密碼技術按照加解密所使用的密鑰相同與否,分爲對稱密碼學和非對稱密碼學,前者加解密所使用的密鑰是相同的,而後者加解密所使用的密鑰是不相同的,即一個祕密的加密密鑰(簽字密鑰)和一個公開的解密密鑰(驗證密鑰)。在傳統密碼體制中,用於加密的密鑰和用於解密的密鑰完全相同,通過這兩個密鑰來共享信息。這種體制所使用的加密算法比較簡單,但高效快速,密鑰簡短,破譯困難。然而密鑰的傳送和保管是一個問題。例如,通訊雙方要用同一個密鑰加密與解密,首先,將密鑰分發出去是一個難題,在不安全的網絡上分發密鑰顯然是不合適的;另外,任何一方將密鑰泄露,那麼雙方都要重新啓用新的密鑰。 
 
1976年,美國的密碼學專家DiffieHellman爲解決上述密鑰管理的難題,提出一種密鑰交換協議,允許在不安全的媒體上雙方交換信息,安全地獲取相同的用於對稱加密的密鑰。在此新思想的基礎上,很快出現了非對稱密鑰密碼體制,即公鑰密碼體制(PKI)。自1976年第一個正式的公共密鑰加密算法提出後,又有幾個算法被相繼提出。如Ralph Merkle猜謎法、Diffie-Hellman指數密鑰交換加密算法、RSA加密算法、Merkle-Hellman揹包算法等。目前,結合使用傳統與現代加密算法的具體應用有很多,例如PGPRIPEM等加密軟件,是當今應用非常廣的加密與解密軟件。公共密鑰算法的基本特性是加密和解密密鑰是不同的,其中一個公共密鑰被用來加密數據,而另一個私人密鑰被用來解密數據。這兩個密鑰在數字上相關,但即便使用許多計算機協同運算,要想從公共密鑰中逆算出對應的私人密鑰也是不可能的。這是因爲兩個密鑰生成的基本原理根據一個數學計算的特性,即兩個對位質數相乘可以輕易得到一個巨大的數字,但要是反過來將這個巨大的乘積數分解爲組成它的兩個質數,即使是超級計算機也要花很長的時間。此外,密鑰對中任何一個都可用於加密,其另外一個用於解密,且密鑰對中稱爲私人密鑰的那一個只有密鑰對的所有者才知道,從而人們可以把私人密鑰作爲其所有者的身份特徵。根據公共密鑰算法,已知公共密鑰是不能推導出私人密鑰的。最後使用公鑰時,要安裝此類加密程序,設定私人密鑰,並由程序生成龐大的公共密鑰。使用者向與其聯繫的人發送公共密鑰的拷貝,同時請他們也使用同一個加密程序。之後他人就能向最初的使用者發送用公共密鑰加密成密碼的信息。僅有使用者才能夠解碼那些信息,因爲解碼要求使用者知道公共密鑰的口令,那是惟有使用者自己才知道的私人密鑰。在這些過程當中,信息接受方獲得對方公共密鑰有兩種方法:一是直接跟對方聯繫以獲得對方的公共密鑰;另一種方法是向第三方即可靠的驗證機構(如Certification AuthorityCA),可靠地獲取對方的公共密鑰。
 

 
現在,我們可以看PKI的定義:PKI(Public Key Infrastructure)是一個用非對稱密碼算法原理和技術來實現並提供安全服務的具有通用性的安全基礎設施,是一種遵循標準的利用公鑰加密技術爲網上電子商務、電子政務的開展,提供一整套安全的基礎平臺。PKI,公鑰基礎設施,顧名思義,PKI技術就是利用公鑰理論和技術建立的提供網絡信息安全服務的基礎設施。PKI管理平臺能夠爲網絡中所有需要採用加密和數字簽名等密碼服務的用戶提供所需的密鑰和證書管理,用戶可以利用PKI平臺提供的安全服務進行安全通信。 
PKI公開密鑰基礎設施能夠讓應用程序增強自己的數據和資源的安全,以及與其他數據和資源交換中的安全。使用PKI安全基礎設施像將電器插入牆上的插座一樣簡單。
 
PKI的內容 
 
一個完整的PKI系統必須具備權威認證機構(CA)、數字證書庫、密鑰備份及恢復系統、證書作廢系統和應用接口(API)等基本組成部分。 
 
1、權威認證機構(Certificate Authority):權威認證機構簡稱CA,是PKI的核心組成部分,也稱作認證中心。它是數字證書的簽發機構。CA是PKI的核心,是PKI應用中權威的、可信任的、公正的第三方機構。 
 
2、數字證書庫:在使用公鑰體制的網絡環境中,必須向公鑰的使用者證明公鑰的真實合法性。因此,在公鑰體制環境中,必須有一個可信的機構來對任何一個主體的公鑰進行公證,證明主體的身份以及它與公鑰的匹配關係。目前較好的解決方案是引進證書(Certificate)機制。(1)證書。證書是公開密鑰體制的一種密鑰管理媒介。它是一種權威性的電子文檔,形同網絡環境中的一種身份證,用於證明某一主體的身份以及其公開密鑰的合法性。(2)證書庫。證書庫是證書的集中存放地,是網上的一種公共信息庫,供廣大公衆進行開放式查詢。到證書庫訪問查詢,可以得到想與之通信實體的公鑰。證書庫是擴展PKI系統的一個組成部分,CA的數字簽名保證了證書的合法性和權威性。 
 
3、密鑰備份及恢復系統:如果用戶丟失了密鑰,會造成已經加密的文件無法解密,引起數據丟失,爲了避免這種情況,PKI提供密鑰備份及恢復機制。 
 
4、證書作廢系統:有時因爲用戶身份變更或者密鑰遺失,需要將證書停止使用,所以提供證書作廢機制。 
 
5、PKI應用接口系統: PKI應用接口系統是爲各種各樣的應用提供安全、一致、可信任的方式與PKI交互,確保所建立起來的網絡環境安全可信,並降低管理成本。沒有PKI應用接口系統,PKI就無法有效地提供服務。 
 
整個PKI系統中,只有CA會和普通用戶發生聯繫,其他所有部分對用戶來說都是透明的。 
 
爲什麼要使用非對稱加密算法?
 
如果你理解了對稱加密算法的含義,你就理解了非對稱加密算法的意思。你猜對了,非對稱加密算法中的加密密鑰和解密密鑰是不一樣的。要找到一種非對稱加密算法可不是一件容易的事,Ron Rivest, Adi Shamir 和Leonard Adleman終於在1978年提出了RSA公開密鑰算法(以此三人姓名的首字母命名),是現在應用最廣泛的一種非對稱加密算法,這種算法的運算非常複雜,速度也很慢,主要是利用數學上很難分解兩個大素數的乘積的原理。RSA算法的可靠性沒有得到過數學上的論證,但實踐證明它是我們可以依賴的工具。
到底爲什麼我們需要這個笨重、複雜、緩慢的加密算法,在我們有了DES這樣的高速算法的時候?
 
設想你的朋友需要發送一些非常重要、非常機密的信息給你,而你跟外界的每一條通路都被監聽了。那還不簡單,你的朋友用DES對信息加密後傳送給你不就行了,沒有密鑰,就算被人監聽,他也不知道什麼意思呀。可是問題在於你也需要密鑰才能查看這些信息!你必須要知道你的朋友給信息加密的密鑰才能完成對信息的接收!而你的朋友是沒有一種安全的方法傳遞密鑰給你的。如果說經常跟你通信的朋友還可以事先跟你約定好密鑰,那麼Internet上那麼多人和機構是沒有辦法跟你事先就約定好的。公開密鑰系統(也就是非對稱加密系統)的作用就在於,此時,你可以先將加密密鑰正常傳送給你的朋友,讓你的朋友用這個加密密鑰對信息進行加密後傳送給你,然後你再用解密密鑰恢復信息的明文進行閱讀,在這個過程中解密密鑰不會以任何形式傳送,只掌握在你的手中,也就是說你的朋友對信息加密後,他自己也沒辦法再解開進行驗證。監聽者得到了加密密鑰,卻無法得出解密密鑰,也就無法查看信息的明文
 
  加密密鑰和解密密鑰是相對的說法,如果用加密密鑰加密那麼只有解密密鑰才能恢復,如果用解密密鑰加密則只有加密密鑰能解密,所以它們被稱爲密鑰對,其中的一個可以在網絡上發送、公佈,叫做公鑰,而另一個則只有密鑰對的所有人才持有,叫做私鑰,非對稱公開密鑰系統又叫做公鑰系統,是我們現代金融業的基石。
 
 
 
DES
單鑰密碼體制:加密解密用同一把密鑰;不足在於密鑰的管理和傳送
SHA和MD5
消息摘要:數據塊生成一個數字指紋,不管數據塊的大小長度。
RSA
公鑰密碼:公開的加密密鑰,不公開的解密密鑰。
數字簽名DSA
對數字指紋進行RSA加密。兩個優點,發送者不能抵賴(如何保證?),接受者可以驗證正確性,因爲加密密鑰是公開的。
數字簽名使用私鑰來簽名的。
 
PKI原理
PKI 即公共密鑰體系。它利用公共密鑰算法的特點,建立一套證書發放、管理和使用的體系,來支持和完成網絡系統中的身份認證、信息加密、保證數據完整性和抗抵賴性。PKI 體系可以有多種不同的體系結構、實現方法和通信協議。
公共(非對稱)密鑰算法使用加密算法和一對密鑰:一個公共密鑰(公鑰,public key)和一個私有密鑰(私鑰,private key)。其基本原理是:由一個密鑰進行加密的信息內容,只能由與之配對的另一個密鑰才能進行解密。公鑰可以廣泛地發給與自己有關的通信者,私鑰則需要十分安全地存放起來。使用中,甲方可以用乙方的公鑰對數據進行加密並傳送給乙方,乙方可以使用自己的私鑰完成解密。公鑰通過電子證書與其擁有者的姓名、工作單位、郵箱地址等捆綁在一起,由權威機構(CA, Certificate Authority)認證、發放和管理。把證書交給對方時就把自己的公鑰傳送給了對方。證書也可以存放在一個公開的地方,讓別人能夠方便地找到和下載。
公共密鑰方法還提供了進行數字簽名的辦法:簽字方對要發送的數據提取摘要並用自己的私鑰對其進行加密;接收方驗證簽字方證書的有效性和身份,用簽字方公鑰進行解密和驗證,確認被簽字的信息的完整性和抗抵賴性。
公共密鑰方法通常結合使用對稱密鑰(單密鑰)方法,由計算效率高的對稱密鑰方法對文件和數據進行加密。
目前在 Internet 上主要使用 RSA 公共密鑰方法,密鑰長度 512 或 1024 位,是廣泛使用的 SSL/TLS 和S/MIME 等安全通信協議的基礎。
 
加密
 
數據加密技術從技術上的實現分爲在軟件和硬件兩方面。按作用不同,數據加密技術主要分爲數據傳輸、數據存儲、數據完整性的鑑別以及密鑰管理技術這四種。
 
在網絡應用中一般採取兩種加密形式:對稱密鑰和公開密鑰,採用何種加密算法則要結合具體應用環境和系統,而不能簡單地根據其加密強度來作出判斷。因爲除了加密算法本身之外,密鑰合理分配、加密效率與現有系統的結合性,以及投入產出分析都應在實際環境中具體考慮。
 
對於對稱密鑰加密。其常見加密標準爲DES等,當使用DES時,用戶和接受方採用64位密鑰對報文加密和解密,當對安全性有特殊要求時,則要採取IDEA和三重DES等。作爲傳統企業網絡廣泛應用的加密技術,祕密密鑰效率高,它採用KDC來集中管理和分發密鑰並以此爲基礎驗證身份,但是並不適合Internet環境。
 
在Internet中使用更多的是公鑰系統。即公開密鑰加密,它的加密密鑰和解密密鑰是不同的。一般對於每個用戶生成一對密鑰後,將其中一個作爲公鑰公開,另外一個則作爲私鑰由屬主保存。常用的公鑰加密算法是RSA算法,加密強度很高。具體作法是將數字簽名和數據加密結合起來。發送方在發送數據時必須加上數據簽名,做法是用自己的私鑰加密一段與發送數據相關的數據作爲數字簽名,然後與發送數據一起用接收方密鑰加密。當這些密文被接收方收到後,接收方用自己的私鑰將密文解密得到發送的數據和發送方的數字簽名,然後,用發佈方公佈的公鑰對數字簽名進行解密,如果成功,則確定是由發送方發出的。數字簽名每次還與被傳送的數據和時間等因素有關。由於加密強度高,而且並不要求通信雙方事先要建立某種信任關係或共享某種祕密,因此十分適合Internet網上使用。
 
 
 
常規密鑰密碼體制
 
所謂常規密鑰密碼體制,即加密密鑰與解密密鑰是相同的。
 
在早期的常規密鑰密碼體制中,典型的有代替密碼,其原理可以用一個例子來說明:
 
將字母a,b,c,d,…,w,x,y,z的自然順序保持不變,但使之與D,E,F,G,…,Z,A,B,C分別對應(即相差3個字符)。若明文爲student則對應的密文爲VWXGHQW(此時密鑰爲3)。
 
由於英文字母中各字母出現的頻度早已有人進行過統計,所以根據字母頻度表可以很容易對這種代替密碼進行破譯。
 
數據加密標準DES
 
DES算法原是IBM公司爲保護產品的機密於1971年至1972年研製成功的,後被美國國家標準局和國家安全局選爲數據加密標準,並於1977年頒佈使用。ISO也已將DES作爲數據加密標準。
 
DES對64位二進制數據加密,產生64位密文數據。使用的密鑰爲64位,實際密鑰長度爲56位(有8位用於奇偶校驗)。解密時的過程和加密時相似,但密鑰的順序正好相反。
  
DES的保密性僅取決於對密鑰的保密,而算法是公開的。DES內部的複雜結構是至今沒有找到捷徑破譯方法的根本原因。現在DES可由軟件和硬件實現。美國AT&T首先用LSI芯片實現了DES的全部工作模式,該產品稱爲數據加密處理機DEP。
 
公開密鑰密碼體制
 
公開密鑰(public key)密碼體制出現於1976年。它最主要的特點就是加密和解密使用不同的密鑰,每個用戶保存着一對密鑰 公開密鑰PK和祕密密鑰SK,因此,這種體制又稱爲雙鑰或非對稱密鑰密碼體制。
 
在這種體制中,PK是公開信息,用作加密密鑰,而SK需要由用戶自己保密,用作解密密鑰。加密算法E和解密算法D也都是公開的。雖然SK與PK是成對出現,但卻不能根據PK計算出SK。公開密鑰算法的特點如下:
 
1、用加密密鑰PK對明文X加密後,再用解密密鑰SK解密,即可恢復出明文
寫爲:DSK(EPK(X))=X  
2、加密密鑰不能用來解密,即DPK(EPK(X))≠X 
3、在計算機上可以容易地產生成對的PK和SK。 
4、從已知的PK實際上不可能推導出SK。 
5、加密和解密的運算可以對調,即:EPK(DSK(X))=X 
 
在公開密鑰密碼體制中,最有名的一種是RSA體制。它已被ISO/TC97的數據加密技術分委員會SC20推薦爲公開密鑰數據加密標準。
 
數字簽名
 
數字簽名技術是實現交易安全的核心技術之一,它的實現基礎就是加密技術。在這裏,我們介紹數字簽名的基本原理。
 
以往的書信或文件是根據親筆簽名或印章來證明其真實性的。但在計算機網絡中傳送的報文又如何蓋章呢?這就是數字簽名所要解決的問題。數字簽名必須保證以下幾點:
 
接收者能夠覈實發送者對報文的簽名;發送者事後不能抵賴對報文的簽名;接收者不能僞造對報文的簽名。
  
現在已有多種實現各種數字簽名的方法,但採用公開密鑰算法要比常規算法更容易實現。下面就來介紹這種數字簽名。
 
發送者A用其祕密解密密鑰SKA對報文X進行運算,將結果DSKA(X)傳送給接收者B。B用已知的A的公開加密密鑰得出EPKA(DSKA(X))=X。因爲除A外沒有別人能具有A的解密密鑰SKA,所以除A外沒有別人能產生密文DSKA(X)。這樣,報文X就被簽名了。 用私鑰加密發送給對方。對方只能用自己的公鑰打開。以實現覈實發送者對報文的簽名。
 
假若A要抵賴曾發送報文給B。B可將X及DSKA(X)出示給第三者。第三者很容易用PKA去證實A確實發送消息X給B。反之,如果是B將X僞造成X',則B不能在第三者面前出示DSKA(X')。這樣就證明B僞造了報文。可以看出,實現數字簽名也同時實現了對報文來源的鑑別。
  
但是上述過程只是對報文進行了簽名。對傳送的報文X本身卻未保密。因爲截到密文DSKA(X)並知道發送者身份的任何人,通過查問手冊即可獲得發送者的公開密鑰PKA,因而能夠理解報文內容。則可同時實現祕密通信和數字簽名。SKA和SKB分別爲A和B的祕密密鑰,而PKA和PKB分別爲A和B的公開密鑰。
 
密鑰的管理
 
對稱密鑰加密方法致命的一個弱點就是它的密鑰管理十分困難,因此它很難在電子商務的實踐中得到廣泛的應用。在這一點上,公開密鑰加密方法佔有絕對的優勢。不過,無論實施哪種方案,密鑰的管理都是要考慮的問題。當網絡擴得更大、用戶增加更多時尤其如此。一家專門從事安全性諮詢的公司Cypress Consulting的總裁CyArdoin說:“在所有加密方案中,都必須有人來管理密鑰。”
 
目前,公認的有效方法是通過密鑰分配中心KDC來管理和分配公開密鑰。每個用戶只保存自己的祕密密鑰和KDC的公開密鑰PKAS。用戶可以通過KDC獲得任何其他用戶的公開密鑰。
 
首先,A向KDC申請公開密鑰,將信息(A,B)發給KDC。KDC返回給A的信息爲(CA,CB),其中,CA=DSKAS(A,PKA,T1),CB=DSKAS(B,PKB,T2)。CA和CB稱爲證書(Certificate),分別含有A和B的公開密鑰。KDC使用其解密密鑰SKAS對CA和CB進行了簽名,以防止僞造。時間戳T1和T2的作用是防止重放攻擊。
 
  最後,A將證書CA和CB傳送給B。B獲得了A的公開密鑰PKA,同時也可檢驗他自己的公開密鑰PKB。
 
PKI的主要目的是通過自動管理密鑰跟證書,可以爲用戶建立起一個安全的網絡運行環境,使用戶可以在多種應用環境下方便的使用加密和數字簽名技術,從而保證網上數據的機密性,完整性,有效性。
 
數據的機密性是指數據在傳輸過程中不能被非授權者偷看
數據的完整性是指數據在傳輸過程中不能被非法的竄改
數據的有效性是指數據不能被隨便否認
 
一個有效的PKI系統必須是安全的,透明的,用戶在獲得加密和數字簽名服務時,是不需要詳細瞭解PKI怎樣管理證書和密鑰的。
 
密鑰是一種用來加密或解密信息的值,即使算法是公開的,也不會破壞其安全性,因爲數據如果沒有密鑰則無法讀取。
 
PKI 是一種新的安全技術,它由公鑰加密技術,數字證書,證書發放機構(CA),註冊權威機構(RA)等基本成分共同組成。
 
數字證書用於internet intranet extranet 上的用戶身份驗證
 
CA是一個可信任的實體,它根據CA頒發策略負責發佈,更新和吊銷證書
 
註冊權威機構RA 接受用戶的請求,負責將用戶的有關申請信息存檔備案,並存儲在數據庫中,等待審覈,並將審覈通過的證書請求發送給證書頒發機構。RA分擔了CA的部分任務,管理更方便。
 
比較成熟的對稱加密 DES 3DES IDEA
 
非對稱加密的特點
密鑰是成對出現的,這兩個密鑰互不相同,兩個密鑰可以互相機密和解密
不能根據一個密鑰來推算得出另一個密鑰
公鑰對外公開,私鑰只有私鑰的持有人才知道
私鑰應該由密鑰的持有人妥善保管
 
接收方生成一對密鑰(公鑰和私鑰),並將公鑰向外傳遞公開
得到該公鑰的發送方使用接收方的公鑰,對信息進行加密後,再發送給接受方
接受方受到信息後,再用自己的私鑰對信息進行解密
 
非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要,但加密和解密花費時間長,速度慢,它不適合對文件加密,而只適合用於少量數據進行加密。因爲,在實際應用中,將非對稱加密和對稱加密混合使用。
 
發送方用對稱加密的方法,將文件加密後傳給對方
發送方再將對稱密鑰(即發送方和接受方應該共同擁有的密鑰)通過非對稱加密的方法加密後傳給對方
接收方使用私鑰解密得到對稱密鑰
用對稱密鑰解密去解讀對稱加密的密文,從而得到明文信息
 
公認的非對稱加密算法是 RSA 算法
 
我發給的人。確保不被別人所得到。是利用加密算法
給我的人。我確定是這個人發的。用的是數字簽名。有不可抵賴性
 
HASH算法也稱爲雜湊算法,這是一個簡單的不可逆過程。HASH算法在確保文件的完整性和不可更改性上也有和好的用途。
 
輸入一個長度不固定的字符串,返回一串固定長度的字符串,又稱爲HASH值,通常也稱爲雜湊值(HASH Value)
 
每一個消息輸入單項雜湊函數中,將產生一個雜湊值,這個雜湊值可以保證輸入消息的唯一性(不同雜湊值表示不同輸入消息)
 
如果通過一個不安全的傳輸通道的消息在傳輸前的雜湊值和消息經傳輸後的雜湊值相同,那麼可以認爲接受到的信息在很高的概率上與發送消息是相同的,從而可以保證傳輸消息的完整性
 
在某一特定的時間內,無法查找經HASH操作後生成特定HASH值的原報文。
也無法查找兩個經HASH操作後生成相同HASH值的不同報文
 
HASH 算法常用的有SHA 和 MD5
 
數據加密只能保證所發送的數據的機密性,確不能完全保證數據的完整性和不可抵賴性,即不能保證數據在傳遞過程中不被人篡改和不被人冒名頂替發送。
 
數字簽名提供了身份驗證和數據完整性,使接受方可確認該發送方的身份標識,並證實消息在傳遞過程中內容沒有被篡改。這樣可以防止某個消息的發送方試圖通過替換另一個用戶的身份發送消息。
 
消息有簽發者即發送方自己簽名發送,簽名者不能否認或難以否認
消息自簽發到接受這段過程中未曾做過修改,簽發的消息是真實的。
 
數字簽名頁可以用於時間戳,即可以同時簽署消息發送的時間。用戶可以用他的私鑰簽名消息和生成時間戳,證實該消息在某一段時間中存在。數字簽名同樣可以用來確認某一公鑰屬於某人。因爲對消息進行數字簽名時,可以產生一個代表該消息的消息摘要。該消息摘要通過發送方的私鑰加密的,接受方可以使用發送方的公鑰進行解密。
 
發送方簽名某個消息時,將創建一個消息摘要(用HASH算法)
發送方用自己的私鑰加密消息摘要
將消息摘要做爲消息的附件和消息一起發送給接收方
當接收方收到消息後,就用該發送方的公鑰解密此消息摘要
同時,接受方再用發送方的公鑰解密消息,然後用同樣的算法創建出一個新的消息摘要,並將他與解密的消息摘要進行比較。
如果兩個消息摘要互相匹配,則可保證完整性,簽名就會認爲是有效的。
 
過程
 
發送方
 
1 原文+隨機密鑰(對稱)--用隨機密鑰加密原文
 
2 原文+HASH 算法--消息摘要
 
3 隨機密鑰(對稱)+接受方的公鑰--只有接受方的私鑰才能打開取得對稱密鑰
 
4 消息摘要+發送方私鑰--接受方用發送方公鑰解開取得摘要消息
 
以上四個過程最後生成了 加密數據和加密的摘要消息
 
接受方
 
1 首先用自己的私鑰解開發送過來的加密的對稱密鑰
 
2 取得對稱密鑰就可以解開加密的原文
 
3 用發送方的公鑰解開加密的消息摘要
 
4 用解開的原文用同樣的HASH算法算出一個消息摘要
 
5 對比傳過來的在發送方的消息摘要和現在接受的文章的消息摘要是否匹配。匹配則說明信息沒有被改動過。
 
其中使用了對稱密鑰 非對稱的公鑰 私鑰 還有HASH 算法
 
數據經過了加密。如果想解開數據就必須有接受方的私鑰。可是私鑰是不傳輸的。所以很難破解數據。但是這個加密是使用接受方的公鑰加密的。而公鑰是公開的。所以有人可以採用接受方的公鑰再僞造數據部分。這樣和數據摘要一起發給接受方。因爲是採用接受方公鑰所加密的。所以接受方可以打開被篡改的數據。可是這種篡改的數據再經過HASH算法無法跟發送過來的消息摘要相同。從而被證明是篡改的或被有損的。而因爲消息摘要是用發送方的私鑰來加密的。如果要僞造就必須有發送方的私鑰。而發送方的私鑰也是不在網絡上傳送的。這樣只有得到雙方的私鑰才能僞造。
 
數字簽名一般不採用非對稱加密算法 RSA等。而是發送方對整個數據進行變換,得到一個值,將其作爲消息摘要和簽名,接受者使用發送者的公鑰對消息摘要進行解密運算。如果其結果與原摘要一致,則此數字簽名有效,證明對方的身份是真實的。一般數字簽名中使用的加密算法有HASH算法,安全的HASH算法等。再HASH算法中,目前比較多的是MD5。
 
接受方還必須有一個機制,以確保密鑰對是屬於真正的發送者的。而不是屬於沒個發送方的模仿者的。這是通過受信任的第三方頒發的證書來完成的,該證書證實了公鑰所有者的身份標識。



轉載自http://3layer.blog.51cto.com/57448/20430/,感謝原作者的分享,再次轉載請註明出處。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章