Ⅰ 身份認證與數字簽名的區別是什麼
主要區別是,性質不同、目的作用不同、方法不同,具體如下:
一、性質不同
1、身份認證
身份認證一般指身份驗證,又稱「驗證」、「鑒權」,是指通過一定的手段,完成對用戶身份的確認。
2、數字簽名
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。
二、目的作用不同
1、身份認證
身份驗證的目的是確認當前所聲稱為某種身份的用戶,確實是所聲稱的用戶。
2、數字簽名
數字簽名是非對稱密鑰加密技術與數字摘要技術的應用,用於鑒別數字信息。
三、方法不同
1、身份認證
身份驗證的方法有很多,基本上可分為:基於共享密鑰的身份驗證、基於生物學特徵的身份驗證和基於公開密鑰加密演算法的身份驗證。不同的身份驗證方法,安全性也各有高低。
2、數字簽名
數字簽名演算法依靠公鑰加密技術來實現的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發布,但私鑰則秘密保存,還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。
普通的數字簽名演算法包括三種演算法:
①、密碼生成演算法。
②、標記演算法。
③、驗證演算法。
Ⅱ 身份認證技術的數字簽名
數字簽名又稱電子加密,可以區分真實數據與偽造、被篡改過的數據。這對於網路數據傳輸,特別是電子商務是極其重要的,一般要採用一種稱為摘要的技術,摘要技術主要是採用 HASH 函數( HASH( 哈希 ) 函數提供了這樣一種計算過程:輸入一個長度不固定的字元串,返回一串定長度的字元串,又稱 HASH 值 ) 將一段長的報文通過函數變換,轉換為一段定長的報文,即摘要。身份識別是指用戶向系統出示自己身份證明的過程,主要使用約定口令、智能卡和用戶指紋、視網膜和聲音等生理特徵。數字證明機制提供利用公開密鑰進行驗證的方法。
Ⅲ 分析數字簽名如何進行發送者的身份認證
首先對發送消息進行hash摘要,然後用自己的私鑰對hash摘要加密,將加密後的內容+原始消息一並發送給接受方。
接受方收到內容後,用發送者的公鑰解密加密後的hash摘要,得到hash摘要的明文,再將發送過來的原始消息使用相同的hash演算法,求得hash摘要。將求得的hash摘要與解密得到的hash摘要進行匹配,若一樣,則證明是發送者發送的,否則,不是發送者發送的。
Ⅳ 數字簽名和數據加密的區別
數字簽名主要經過以下幾個過程:
信息發送者使用一單向散列函數(HASH函數)對信息生成信息摘要;
信息發送者使用自己的私鑰簽名信息摘要;
信息發送者把信息本身和已簽名的信息摘要一起發送出去;
信息接收者通過使用與信息發送者使用的同一個單向散列函數(HASH函數)對接收的信息本身生成新的信息摘要,再使用信息發送者的公鑰對信息摘要進行驗證,以確認信息發送者的身份和信息是否被修改過。
數字加密主要經過以下幾個過程:
當信息發送者需要發送信息時,首先生成一個對稱密鑰,用該對稱密鑰加密要發送的報文;
信息發送者用信息接收者的公鑰加密上述對稱密鑰;
信息發送者將第一步和第二步的結果結合在一起傳給信息接收者,稱為數字信封;
信息接收者使用自己的私鑰解密被加密的對稱密鑰,再用此對稱密鑰解密被發送方加密的密文,得到真正的原文。
數字簽名和數字加密的過程雖然都使用公開密鑰體系,但實現的過程正好相反,使用的密鑰對也不同。數字簽名使用的是發送方的密鑰對,發送方用自己的私有密鑰進行加密,接收方用發送方的公開密鑰進行解密,這是一個一對多的關系,任何擁有發送方公開密鑰的人都可以驗證數字簽名的正確性。數字加密則使用的是接收方的密鑰對,這是多對一的關系,任何知道接收方公開密鑰的人都可以向接收方發送加密信息,只有唯一擁有接收方私有密鑰的人才能對信息解密。另外,數字簽名只採用了非對稱密鑰加密演算法,它能保證發送信息的完整性、身份認證和不可否認性,而數字加密採用了對稱密鑰加密演算法和非對稱密鑰加密演算法相結合的方法,它能保證發送信息保密性。
Ⅳ 什麼是數字簽名技術和身份認證技術
做個簡單比喻:數字簽名 好比 現實中你的簽字
數字簽名,使用數字證書的私鑰對數據加密,以保證數據的完整性、真實性和不可抵賴。
數字簽名(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用於鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用於簽名,另一個用於驗證。
身份認證技術是在計算機網路中確認操作者身份的過程而產生的解決方法。 如何保證以數字身份進行操作的操作者就是這個數字身份合法擁有者,也就是說保證操作者的物理身份與數字身份相對應,身份認證技術就是為了解決這個問題,作為防護網路資產的第一道關口,身份認證有著舉足輕重的作用。
現在的數字簽名技術在網銀中應用廣泛,在進行轉帳時使用U盾做簽名,後台銀行端做簽名的驗證,確保交易沒有被篡改。
身份認證技術實現方式有多種:靜態密碼、智能卡(IC卡)、簡訊密碼、動態口令卡、動態令牌、手機動態口令、USBKEY(即銀行的U盾、K寶、網銀盾)、生物識別技術(指紋、虹膜等)等等
Ⅵ 描述數據加密.數字簽名及證書的簡單原理和實現過程
我是客戶端,你是伺服器端,然後你我通信。
我們都無法確認對方確實就是我們想要進行通信的人,
因此我們各需要有一本由你我都信任的CA機構頒發的並且由CA機構已經蓋了章(即簽名)了的證書,該證書用來確認我們各自的身份,就好象我們的身份證。我們各自的證書都有公鑰以及簽名者(CA機構)等信息
通信時:我向你請求安全連接,然後你把你的證書發過來給我,接著我就進行驗證,驗證證書是否就是你的,即驗證證書上是否有你用你自己私鑰簽的名,若有,則用你證書上的公鑰加密我要發給你的信息,然後發過去給你,然後你就用你的私鑰進行解密以獲得我發給你的信息,若沒有,斷開連接
大概如此
Ⅶ 數據加密,數字證書,數字簽名三者的關系 急用...........謝謝
什麼是數字證書?
由於Internet網電子商務系統技術使在網上購物的顧客能夠極其方便輕松地獲得商家和企業的信息,但同時也增加了對某些敏感或有價值的數據被濫用的風險. 為了保證互聯網上電子交易及支付的安全性,保密性等,防範交易及支付過程中的欺詐行為,必須在網上建立一種信任機制。這就要求參加電子商務的買方和賣方都必須擁有合法的身份,並且在網上能夠有效無誤的被進行驗證。數字證書是一種權威性的電子文檔。它提供了一種在Internet上驗證您身份的方式,其作用類似於司機的駕駛執照或日常生活中的身份證。它是由一個由權威機構----CA證書授權(Certificate Authority)中心發行的,人們可以在互聯網交往中用它來識別對方的身份。當然在數字證書認證的過程中,證書認證中心(CA)作為權威的、公正的、可信賴的第三方,其作用是至關重要的。
數字證書也必須具有唯一性和可靠性。為了達到這一目的,需要採用很多技術來實現。通常,數字證書採用公鑰體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶自己設定一把特定的僅為本人所有的私有密鑰(私鑰),用它進行解密和簽名;同時設定一把公共密鑰(公鑰)並由本人公開,為一組用戶所共享,用於加密和驗證簽名。當發送一份保密文件時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣信息就可以安全無誤地到達目的地了。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。公開密鑰技術解決了密鑰發布的管理問題,用戶可以公開其公開密鑰,而保留其私有密鑰。
數字證書頒發過程一般為:用戶首先產生自己的密鑰對,並將公共密鑰及部分個人身份信息傳送給認證中心。認證中心在核實身份後,將執行一些必要的步驟,以確信請求確實由用戶發送而來,然後,認證中心將發給用戶一個數字證書,該證書內包含用戶的個人信息和他的公鑰信息,同時還附有認證中心的簽名信息。用戶就可以使用自己的數字證書進行相關的各種活動。數字證書由獨立的證書發行機構發布。數字證書各不相同,每種證書可提供不同級別的可信度。可以從證書發行機構獲得您自己的數字證書。
目前的數字證書類型主要包括:個人數字證書、單位數字證書、單位員工數字證書、伺服器證書、VPN證書、WAP證書、代碼簽名證書和表單簽名證書。
隨著Internet的普及、各種電子商務活動和電子政務活動的飛速發展,數字證書開始廣泛地應用到各個領域之中,目前主要包括:發送安全電子郵件、訪問安全站點、網上招標投標、網上簽約、網上訂購、安全網上公文傳送、網上繳費、網上繳稅、網上炒股、網上購物和網上報關等。
數字簽名(Digital Signature)技術是不對稱加密演算法的典型應用。數字簽名的應用過程是,數據源發送方使用自己的私鑰對數據校驗和或其他與數據內容有關的變數進行加密處理,完成對數據的合法「簽名」,數據接收方則利用對方的公鑰來解讀收到的「數字簽名」,並將解讀結果用於對數據完整性的檢驗,以確認簽名的合法性。數字簽名技術是在網路系統虛擬環境中確認身份的重要技術,完全可以代替現實過程中的「親筆簽字」,在技術和法律上有保證。在公鑰與私鑰管理方面,數字簽名應用與加密郵件PGP技術正好相反。在數字簽名應用中,發送者的公鑰可以很方便地得到,但他的私鑰則需要嚴格保密。
數字簽名包括普通數字簽名和特殊數字簽名。普通數字簽名演算法有RSA、ElGmal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。
Ⅷ 數據加密和數據簽名的原理作用
加密可以幫助保護數據不被查看和修改,並且可以幫助在本不安全的信道上提供安全的通信方式。例如,可以使用加密演算法對數據進行加密,在加密狀態下傳輸數據,然後由預定的接收方對數據進行解密。如果第三方截獲了加密的數據,解密數據是很困難的。
在一個使用加密的典型場合中,雙方(小紅和小明)在不安全的信道上通信。小紅和小明想要確保任何可能正在偵聽的人無法理解他們之間的通信。而且,由於小紅和小明相距遙遠,因此小紅必須確保她從小明處收到的信息沒有在傳輸期間被任何人修改。此外,她必須確定信息確實是發自小明而不是有人模仿小明發出的。
加密用於達到以下目的:
保密性:幫助保護用戶的標識或數據不被讀取。
數據完整性:幫助保護數據不更改。
身份驗證:確保數據發自特定的一方。
為了達到這些目的,您可以使用演算法和慣例的組合(稱作加密基元)來創建加密方案。下表列出了加密基元及它們的用法。
加密基元 使用
私鑰加密(對稱加密) 對數據執行轉換,使第三方無法讀取該數據。此類型的加密使用單個共享的機密密鑰來加密和解密數據。
公鑰加密(不對稱加密) 對數據執行轉換,使第三方無法讀取該數據。此類加密使用公鑰/私鑰對來加密和解密數據。
加密簽名 通過創建對特定方唯一的數字簽名來幫助驗證數據是否發自特定方。此過程還使用哈希函數。
加密哈希 將數據從任意長度映射為定長位元組序列。哈希在統計上是唯一的;不同的雙位元組序列不會哈希為同一個值。
私鑰加密
私鑰加密演算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用於加密又用於解密。私鑰加密演算法非常快(與公鑰演算法相比),特別適用於對較大的數據流執行加密轉換。
通常,私鑰演算法(稱為塊密碼)用於一次加密一個數據塊。塊密碼(如 RC2、DES、TrippleDES 和 Rijndael)通過加密將 n 位元組的輸入塊轉換為加密位元組的輸出塊。如果要加密或解密位元組序列,必須逐塊進行。由於 n 很小(對於 RC2、DES 和 TripleDES,n = 8 位元組;n = 16 [默認值];n = 24;對於 Rijndael,n = 32),因此必須對大於 n 的值一次加密一個塊。
基類庫中提供的塊密碼類使用稱作密碼塊鏈 (CBC) 的鏈模式,它使用一個密鑰和一個初始化向量 (IV) 對數據執行加密轉換。對於給定的私鑰 k,一個不使用初始化向量的簡單塊密碼將把相同的明文輸入塊加密為同樣的密文輸出塊。如果在明文流中有重復的塊,那麼在密文流中將存在重復的塊。如果未經授權的用戶知道有關明文塊的結構的任何信息,就可以使用這些信息解密已知的密文塊並有可能發現您的密鑰。若要克服這個問題,可將上一個塊中的信息混合到加密下一個塊的過程中。這樣,兩個相同的明文塊的輸出就會不同。由於該技術使用上一個塊加密下一個塊,因此使用了一個 IV 來加密數據的第一個塊。使用該系統,未經授權的用戶有可能知道的公共消息標頭將無法用於對密鑰進行反向工程。
可以危及用此類型密碼加密的數據的一個方法是,對每個可能的密鑰執行窮舉搜索。根據用於執行加密的密鑰大小,即使使用最快的計算機執行這種搜索,也極其耗時,因此難以實施。使用較大的密鑰大小將使解密更加困難。雖然從理論上說加密不會使對手無法檢索加密的數據,但這確實極大增加了這樣做的成本。如果執行徹底搜索來檢索只在幾天內有意義的數據需要花費三個月的時間,那麼窮舉搜索的方法是不實用的。
私鑰加密的缺點是它假定雙方已就密鑰和 IV 達成協議,並且互相傳達了密鑰和 IV 的值。並且,密鑰必須對未經授權的用戶保密。由於存在這些問題,私鑰加密通常與公鑰加密一起使用,來秘密地傳達密鑰和 IV 的值。
假設小紅和小明是要在不安全的信道上進行通信的雙方,他們可能按以下方式使用私鑰加密。小紅和小明都同意使用一種具有特定密鑰和 IV 的特定演算法(如 Rijndael)。小紅撰寫一條消息並創建要在其上發送該消息的網路流。接下來,她使用該密鑰和 IV 加密該文本,並通過 Internet 發送該文本。她沒有將密鑰和 IV 發送給小明。小明收到該加密文本並使用預先商定的密鑰和 IV 對它進行解密。如果傳輸的內容被人截獲,截獲者將無法恢復原始消息,因為截獲者並不知道密鑰或 IV。在這個方案中,密鑰必須保密,但 IV 不需要保密。在一個實際方案中,將由小紅或小明生成私鑰並使用公鑰(不對稱)加密將私鑰(對稱)傳遞給對方。有關更多信息,請參見本主題後面的有關公鑰加密的部分。
.NET Framework 提供以下實現私鑰加密演算法的類:
DESCryptoServiceProvider
RC2CryptoServiceProvider
RijndaelManaged
公鑰加密
公鑰加密使用一個必須對未經授權的用戶保密的私鑰和一個可以對任何人公開的公鑰。公鑰和私鑰都在數學上相關聯;用公鑰加密的數據只能用私鑰解密,而用私鑰簽名的數據只能用公鑰驗證。公鑰可以提供給任何人;公鑰用於對要發送到私鑰持有者的數據進行加密。兩個密鑰對於通信會話都是唯一的。公鑰加密演算法也稱為不對稱演算法,原因是需要用一個密鑰加密數據而需要用另一個密鑰來解密數據。
公鑰加密演算法使用固定的緩沖區大小,而私鑰加密演算法使用長度可變的緩沖區。公鑰演算法無法像私鑰演算法那樣將數據鏈接起來成為流,原因是它只可以加密少量數據。因此,不對稱操作不使用與對稱操作相同的流模型。
雙方(小紅和小明)可以按照下列方式使用公鑰加密。首先,小紅生成一個公鑰/私鑰對。如果小明想要給小紅發送一條加密的消息,他將向她索要她的公鑰。小紅通過不安全的網路將她的公鑰發送給小明,小明接著使用該密鑰加密消息。(如果小明在不安全的信道如公共網路上收到小紅的密鑰,則小明必須同小紅驗證他具有她的公鑰的正確副本。)小明將加密的消息發送給小紅,而小紅使用她的私鑰解密該消息。
但是,在傳輸小紅的公鑰期間,未經授權的代理可能截獲該密鑰。而且,同一代理可能截獲來自小明的加密消息。但是,該代理無法用公鑰解密該消息。該消息只能用小紅的私鑰解密,而該私鑰沒有被傳輸。小紅不使用她的私鑰加密給小明的答復消息,原因是任何具有公鑰的人都可以解密該消息。如果小紅想要將消息發送回小明,她將向小明索要他的公鑰並使用該公鑰加密她的消息。然後,小明使用與他相關聯的私鑰來解密該消息。
在一個實際方案中,小紅和小明使用公鑰(不對稱)加密來傳輸私(對稱)鑰,而對他們的會話的其餘部分使用私鑰加密。
公鑰加密具有更大的密鑰空間(或密鑰的可能值范圍),因此不大容易受到對每個可能密鑰都進行嘗試的窮舉攻擊。由於不必保護公鑰,因此它易於分發。公鑰演算法可用於創建數字簽名以驗證數據發送方的身份。但是,公鑰演算法非常慢(與私鑰演算法相比),不適合用來加密大量數據。公鑰演算法僅對傳輸很少量的數據有用。公鑰加密通常用於加密一個私鑰演算法將要使用的密鑰和 IV。傳輸密鑰和 IV 後,會話的其餘部分將使用私鑰加密。
.NET Framework 提供以下實現公鑰加密演算法的類:
DSACryptoServiceProvider
RSACryptoServiceProvider
數字簽名
公鑰演算法還可用於構成數字簽名。數字簽名驗證發送方的身份(如果您信任發送方的公鑰)並幫助保護數據的完整性。使用由小紅生成的公鑰,小紅的數據的接收者可以通過將數字簽名與小紅的數據和小紅的公鑰進行比較來驗證是否是小紅發送了該數據。
為了使用公鑰加密對消息進行數字簽名,小紅首先將哈希演算法應用於該消息以創建消息摘要。該消息摘要是數據的緊湊且唯一的表示形式。然後,小紅用她的私鑰加密該消息摘要以創建她的個人簽名。在收到消息和簽名時,小明使用小紅的公鑰解密簽名以恢復消息摘要,並使用與小紅所使用的相同的哈希演算法來散列消息。如果小明計算的消息摘要與從小紅那裡收到的消息摘要完全一致,小明就可以確定該消息來自私鑰的持有人,並且數據未被修改過。如果小明相信小紅是私鑰的持有人,則他知道該消息來自小紅。
請注意,由於發送方的公鑰為大家所周知,並且它通常包含在數字簽名格式中,因此任何人都可以驗證簽名。此方法不保守消息的機密;若要使消息保密,還必須對消息進行加密。
.NET Framework 提供以下實現數字簽名演算法的類:
DSACryptoServiceProvider
RSACryptoServiceProvider
哈希值
哈希演算法將任意長度的二進制值映射為固定長度的較小二進制值,這個小的二進制值稱為哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨後的哈希計算都將產生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的。
消息身份驗證代碼 (MAC) 哈希函數通常與數字簽名一起用於對數據進行簽名,而消息檢測代碼 (MDC) 哈希函數則用於數據完整性。
雙方(小紅和小明)可按下面的方式使用哈希函數來確保數據的完整性。如果小紅對小明編寫一條消息並創建該消息的哈希,則小明可以在稍後散列該消息並將他的哈希與原始哈希進行比較。如果兩個哈希值相同,則該消息沒有被更改;如果值不相同,則該消息在小紅編寫它之後已被更改。為了使此系統發揮作用,小紅必須對除小明外的所有人保密原始的哈希值。
.NET Framework 提供以下實現數字簽名演算法的類:
HMACSHA1
MACTripleDES
MD5CryptoServiceProvider
SHA1Managed
SHA256Managed
SHA384Managed
SHA512Managed
隨機數生成
隨機數生成是許多加密操作不可分割的組成部分。例如,加密密鑰需要盡可能地隨機,以便使生成的密鑰很難再現。加密隨機數生成器必須生成無法以計算方法推算出(低於 p < .05 的概率)的輸出;即,任何推算下一個輸出位的方法不得比隨機猜測具有更高的成功概率。.NET Framework 中的類使用隨機數生成器生成加密密鑰。
RNGCryptoServiceProvider 類是隨機數生成器演算法的實現。
Ⅸ 數字簽名與身份認證有什麼不同
單一的數字簽名,就是通過加密驗證文件完整性,保護文件不被篡改,一旦發生篡改,數字簽名會自動失效。數字簽名可以表示對方身份,但該「身份」僅僅是字面上的「簽名者」的身份,並不代表真正原始簽名者,也就是說,如果有人篡改了文件,卻又偽造了另一個數字簽名,然後簽上,你所看到的是偽造者的「簽名」,而不是原始真正的簽名。雖然你能判斷出該數字簽名發生了變化,進而推斷出這是假簽名,但卻無法認定這被修改過的文件的原始作者究竟是誰,此時數字簽名無法驗證雙方身份,只能表明數據有沒有被篡改過。
現代數字簽名+身份認證復合技術越來流行,比如銀行U盾,因為其綁定了簽名者(持有人)的身份信息,如果發生上述的偽造,那麼通過查詢U盾證書對應綁定的身份,就可以查找出是誰偽造了,從而達到身份認證的目的。
通俗點,A簽名了一份文件給C,但途中B把文件攔截了並篡改了文件,此時簽名失效(消失了),C為了掩人耳目,自己冒充簽上了「A」的名字,C收到文件,發現依然簽著「A」的名字,但是字跡的確和往常不一樣,證明文件被篡改,但還是無法得知是誰改了文件,這就是簽名的作用,防篡改。
如果附加上身份認證系統,就好比C可以識別所有人字跡,那麼C就可以查出是B篡改了文件,此時就是數字簽名與身份認證復合技術了。