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的定義:PKIPublic Key Infrastructure)是一個用非對稱密碼算法原理和技術來實現並提供安全服務的具備通用性的安全基礎設施,是一種遵循標準的利用公鑰加密技術爲網上電子商務、電子政務的開展,提供一整套安全的基礎平臺。PKI,公鑰基礎設施,顧名思義,PKI技術就是利用公鑰理論和技術創建的提供網絡信息安全服務的基礎設施。PKI管理平臺可以爲網絡中全部須要採用加密和數字簽名等密碼服務的用戶提供所需的密鑰和證書管理,用戶能夠利用PKI平臺提供的安全服務進行安全通訊。
PKI公開密鑰基礎設施可以讓應用程序加強本身的數據和資源的安全,以及與其餘數據和資源交換中的安全。使用PKI安全基礎設施像將電器插入牆上的插座同樣簡單。
 
 
 
PKI的內容
 
一個完整的PKI系統必須具有權威認證機構(CA)、數字證書庫、密鑰備份及恢復系統、證書做廢系統和應用接口(API)等基本組成部分。
 
1、權威認證機構(Certificate Authority):權威認證機構簡稱CA,是PKI的核心組成部分,也稱做認證中心。它是數字證書的簽發機構。CAPKI的核心,是PKI應用中權威的、可信任的、公正的第三方機構。
 
2、數字證書庫:在使用公鑰體制的網絡環境中,必須向公鑰的使用者證實公鑰的真實合法性。所以,在公鑰體制環境中,必須有一個可信的機構來對任何一個主體的公鑰進行公證,證實主體的身份以及它與公鑰的匹配關係。目前較好的解決方案是引進證書(Certificate)機制。(1)證書。證書是公開密鑰體制的一種密鑰管理媒介。它是一種權威性的電子文檔,形同網絡環境中的一種×××,用於證實某一主體的身份以及其公開密鑰的合法性。(2)證書庫。證書庫是證書的集中存放地,是網上的一種公共信息庫,供廣大公衆進行開放式查詢。到證書庫訪問查詢,能夠獲得想與之通訊實體的公鑰。證書庫是擴展PKI系統的一個組成部分,CA的數字簽名保證了證書的合法性和權威性。
 
3、密鑰備份及恢復系統:若是用戶丟失了密鑰,會形成已經加密的文件沒法解密,引發數據丟失,爲了不這種狀況,PKI提供密鑰備份及恢復機制。
 
4、證書做廢系統:有時由於用戶身份變動或者密鑰遺失,須要將證書中止使用,因此提供證書做廢機制。
 
5PKI應用接口系統: 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。公開密鑰算法的特色以下:
 
一、用加密密鑰PK對明文X加密後,再用解密密鑰SK解密,便可恢復出明文
寫爲:DSK(EPK(X))=X  
二、加密密鑰不能用來解密,即DPK(EPK(X))≠X
三、在計算機上能夠容易地產生成對的PK和SK。
四、從已知的PK實際上不可能推導出SK。
五、加密和解密的運算能夠對調,即: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。
 
接受方還必須有一個機制,以確保密鑰對是屬於真正的發送者的。而不是屬於沒個發送方的模仿者的。這是經過受信任的第三方頒發的證書來完成的,該證書證明了公鑰全部者的身份標識。
相關文章
相關標籤/搜索