您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>傳輸網(wǎng)/接入網(wǎng)/交換網(wǎng)>

公共密鑰密碼,公共密鑰密碼技術(shù)原理介紹

2010年03月20日 15:43 srfitnesspt.com 作者:佚名 用戶評(píng)論(0
關(guān)鍵字:密碼(30131)密鑰(19469)

公共密鑰密碼,公共密鑰密碼技術(shù)原理介紹

公鑰密碼技術(shù)為用戶提供安全的信息交換方式。另外,它還能使主機(jī)具有其他有用的安全技術(shù),包括身份驗(yàn)證(不需要交換敏感信息的遠(yuǎn)程連接)、數(shù)字簽名(用于提供文檔完整性)和不可否認(rèn)(即某人無法否認(rèn)已經(jīng)發(fā)送了某消息)。

按照密碼學(xué)的Kerckhoff原則:“所有算法都是公開的,只有密鑰是保密的”。即安全系統(tǒng)的設(shè)計(jì)者不能指望使用某種秘密的無人知道的算法來保密,而應(yīng)當(dāng)使用一種公開的被驗(yàn)證過的算法——只要密鑰是安全的,已知算法的攻擊者實(shí)際上無法破解秘文的算法才是好的算法。

假設(shè)甲和乙希望在不可靠系統(tǒng)(例如因特網(wǎng))上交換私人的加密消息。他們選擇的加密方法將使偶然捕獲了該傳輸?shù)娜魏稳硕紵o法閱讀該消息。甲使用加密密鑰對(duì)消息進(jìn)行加密。乙必須也具備該密鑰來對(duì)消息進(jìn)行解密?,F(xiàn)在的基本問題是:甲怎樣才能將密鑰交給乙,讓她可以解密消息?甲可以用電話呼叫乙,但是如果電話線被分接了呢?甲可以通過信使進(jìn)行發(fā)送,但密鑰還是可能被盜取。這似乎有點(diǎn)太夸張了,但請(qǐng)想象一下每時(shí)每刻都可能受到攻擊者和外國國防機(jī)構(gòu)監(jiān)視的軍事通信。不僅如此,在競爭激烈的公司領(lǐng)域和金融領(lǐng)域,面臨著同樣的威脅。

傳統(tǒng)上,發(fā)送者和接收者已經(jīng)就密鑰達(dá)成一致意見。在離開港口之前,交給潛水艇的艦長一個(gè)譯碼本,他將用它對(duì)來自基地港的加密無線電報(bào)文進(jìn)行譯碼。這是對(duì)稱密碼技術(shù)(雙方都知道同一個(gè)秘密密鑰),而且通常稱為秘密密鑰密碼技術(shù)。DES(數(shù)據(jù)加密標(biāo)準(zhǔn))是一種常見的秘密密鑰加密。 DES是一種分組加密算法,它所使用的密鑰長度為64位,由占56位長度的實(shí)際密鑰和每個(gè)字節(jié)的第8位的奇偶校驗(yàn)碼這兩部份組成。它以64位為一組,將明文分成若干個(gè)分組,每次利用56位密鑰對(duì)64位的二進(jìn)制明文分組進(jìn)行數(shù)據(jù)加密,產(chǎn)生64位的密文。DES算法的密鑰可以是任意的一個(gè)56位的數(shù),且可在任意的時(shí)候改變。

但對(duì)需要交換消息的各方而言,并非總能夠知道和/或信任對(duì)方,或者此前彼此交換過密鑰。在1976年,Whitfield Diffie和Martin Hellman提出了一種非對(duì)稱公鑰加密的概念。在這種方案中,某個(gè)人使用程序生成兩個(gè)密鑰。這兩個(gè)密鑰通過一種極其難以反演的特殊函數(shù)在數(shù)學(xué)上相互關(guān)聯(lián)。將其中一個(gè)密鑰秘密保存,而將另一個(gè)放在一個(gè)公共位置;后者很類似于電話簿中列出的電話號(hào)碼。為向某人發(fā)送一個(gè)私人消息,您查找他的公鑰,將消息進(jìn)行加密,然后發(fā)送到密鑰的所有者。密鑰所有者用他們的私有密鑰將消息解密。只有私有密鑰可以解密用該公鑰加密的消息。因此,私有密鑰必須保證安全,不對(duì)外泄漏。

非對(duì)稱公鑰密碼技術(shù)的概念由Diffie和Hellman于1976年提出,但將它變成一種實(shí)用性和商業(yè)性系統(tǒng)的卻是RSA( Rivest、Shamir和Adleman)數(shù)據(jù)系統(tǒng)。Diffie和Hellman最初認(rèn)為,這些密鑰應(yīng)當(dāng)保存在大型公共文件中,然后通過密鑰所有者的名字進(jìn)行引用。該文件其實(shí)是一個(gè)包含名字和密鑰的白頁目錄,與電話簿相似。但該文件可能會(huì)變得極其龐大,因此需要存儲(chǔ)在可以對(duì)其進(jìn)行管理的位置。在RFC 2693中,Loren Kohnfelder提出一種想法,將每個(gè)名稱/密鑰組合從大型文件中分離出來,然后輸入單獨(dú)的記錄中。這些個(gè)別的記錄可以進(jìn)行數(shù)字“簽名”,方法是用可信賴的第三方的公鑰對(duì)它們進(jìn)行加密或散列處理。Kohnfelder將這種簽名的記錄稱為證書,而管理和簽發(fā)這些證書的可信賴的第三方則稱為認(rèn)證機(jī)構(gòu)(CA)。

公開密鑰密碼技術(shù)就是使用兩個(gè)不同的密鑰,其中公開發(fā)布的那把密鑰稱為公共密鑰,僅由擁有者保管的那把密鑰稱為私有密鑰(或?qū)S妹荑€)。如果某一信息采用公用密鑰加密,那么必須使用私有密鑰進(jìn)行解密,由此實(shí)現(xiàn)信息保密。如果某一信息采用私有密鑰加密,那么必須用公有密鑰進(jìn)行解密,由此實(shí)現(xiàn)身份驗(yàn)證。這種加密技術(shù)以RSA為典型代表。圖P-10顯示公鑰密碼技術(shù)的工作過程。甲和乙希望交換可靠消息。甲和乙在同一個(gè)公司網(wǎng)絡(luò)上,因此訪問管理公鑰(在公共網(wǎng)絡(luò)上,由認(rèn)證機(jī)構(gòu)管理)的公司證書服務(wù)器非常方便。

1.乙和甲使用在Web瀏覽器和電子郵件應(yīng)用程序中常見的軟件來生成一組密鑰。

2.將公鑰發(fā)送到公鑰服務(wù)器(證書服務(wù)器),后者將密鑰隨同人員信息捆綁入證書中,并使用分配給證書服務(wù)器的可信密鑰為它簽名。

3.當(dāng)甲希望向乙發(fā)送可靠消息時(shí),他從公鑰服務(wù)器獲得乙的證書。該證書包含乙的公鑰,甲用它來加密消息。然后,他將消息發(fā)給乙。

4.乙接收該消息并用她的私有密鑰對(duì)消息進(jìn)行解密?!?



圖P-10 公共密鑰密碼技術(shù)

公鑰方案解決了向其他需要解密消息的接收方發(fā)送密鑰的問題。事實(shí)上,它允許任何人加密消息,然后發(fā)送給其他的人,而不用預(yù)先交換密鑰。發(fā)送和接收的各方甚至不必彼此了解,不必在同一機(jī)構(gòu),也不必連接到同一網(wǎng)絡(luò)。

公鑰基礎(chǔ)結(jié)構(gòu)(PKI)是管理公鑰的完整系統(tǒng)。它可在企業(yè)網(wǎng)絡(luò)內(nèi)部實(shí)現(xiàn),但通常是指公共環(huán)境中的CA層次體系。它還定義CA如何注冊(cè)用戶,創(chuàng)建和管理證書,而且定義它們的業(yè)務(wù)運(yùn)行過程。IETF PKIX (公鑰基礎(chǔ)結(jié)構(gòu)X.509)工作組已定義了用于因特網(wǎng)的PKI。X.509是由國際電信聯(lián)盟(ITU-T)制定的一種定義證書格式和分布的國際標(biāo)準(zhǔn)。為了提供公用網(wǎng)絡(luò)用戶目錄信息服務(wù), ITU 于 1988 年制定了 X.500 系列標(biāo)準(zhǔn)。其中 X.500 和 X.509 是安全認(rèn)證系統(tǒng)的核心, X.500 定義了一種區(qū)別命名規(guī)則,以命名樹來確保用戶名稱的唯一性; X.509 則為 X.500 用戶名稱提供了通信實(shí)體鑒別機(jī)制,并規(guī)定了實(shí)體鑒別過程中廣泛適用的證書語法和數(shù)據(jù)接口, X.509 稱之為證書。

非常好我支持^.^

(5) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?