什么是數(shù)字證書?
¤是由證書簽證機(jī)關(guān)(CA)簽發(fā)的對(duì)用戶的公鑰的認(rèn)證。因此,證書的內(nèi)容應(yīng)包括CA的信息、用戶信息、用戶公鑰及CA簽發(fā)時(shí)間及有效期等內(nèi)容。目前國(guó)際上對(duì)證書的格式及認(rèn)證方法遵從X.509體系標(biāo)準(zhǔn)。
¤數(shù)字證書實(shí)際上是一份電子文檔
¤數(shù)字證書是一段包含用戶身份信息、用戶公鑰信息以及身份驗(yàn)證機(jī)構(gòu)數(shù)字簽名的數(shù)據(jù)。身份驗(yàn)證機(jī)構(gòu)的數(shù)字簽名可以確保證書信息的真實(shí)性。證書格式及證書內(nèi)容遵循X.509標(biāo)準(zhǔn)。
¤數(shù)字證書又稱為數(shù)字標(biāo)識(shí)(Digital Certificate,Digital ID)。它提供了一種在Internet上身份驗(yàn)證的方式,是用來標(biāo)志和證明網(wǎng)絡(luò)通信雙方身份的數(shù)字信息文件,與司機(jī)駕照或日常生活中的身份證相似。在網(wǎng)上進(jìn)行電子商務(wù)活動(dòng)時(shí),交易雙方需要使用數(shù)字證書來表明自己的身份,并使用數(shù)字證書來進(jìn)行有關(guān)的交易操作。通俗地講,數(shù)字證書就是個(gè)人或單位在Internet的身份證。數(shù)字證書主要包括三方面的內(nèi)容:證書所有者的信息、證書所有者的公開密鑰和證書頒發(fā)機(jī)構(gòu)的簽名。
證書里包含了什么?
¤一個(gè)標(biāo)準(zhǔn)的X.509數(shù)字證書包含以下一些內(nèi)容:
證書的版本信息;
證書的序列號(hào),每個(gè)證書都有一個(gè)唯一的證書序列號(hào);
證書所使用的簽名算法;
證書的發(fā)行機(jī)構(gòu)名稱,命名規(guī)則一般采用X.500格式;
證書的有效期,現(xiàn)在通用的證書一般采用UTC時(shí)間格式,它的計(jì)時(shí)范圍為1950-2049;
證書所有人的名稱,命名規(guī)則一般采用X.500格式;
證書所有人的公開密鑰;
證書發(fā)行者對(duì)證書的簽名。
數(shù)字證書能解決什么問題?
在使用數(shù)字證書的過程中應(yīng)用公開密鑰加密技術(shù),建立起一套嚴(yán)密的身份認(rèn)證系統(tǒng),它能夠保證:
信息除發(fā)送方和接受方外不被其他人竊取;
信息在傳輸過程中不被篡改;
接收方能夠通過數(shù)字證書來確認(rèn)發(fā)送方的身份;
發(fā)送方對(duì)于自己發(fā)送的信息不能抵賴。
以電子郵件為例,數(shù)字證書主要可以解決:
保密性:通過使用發(fā)件人的數(shù)字證書對(duì)電子郵件加密,只有收件人才能閱讀加密的郵件,這樣保證在Internet上傳遞的電子郵件信息不會(huì)被他人竊取,即使發(fā)錯(cuò)郵件,收件人由于無法解密而不能夠看到郵件內(nèi)容。
完整性:利用發(fā)件人數(shù)字證書在傳送前對(duì)電子郵件進(jìn)行數(shù)字簽名不僅可確定發(fā)件人身份,而且可以判斷發(fā)送的信息在傳遞的過程中是否被篡改過。
身份認(rèn)證:在Internet上傳遞電子郵件的雙方互相不能見面,所以必須有方法確定對(duì)方的身份。利用發(fā)件人數(shù)字證書在傳送前對(duì)電子郵件進(jìn)行數(shù)字簽名即可確定發(fā)件人身份,而不是他人冒充的。
不可否認(rèn)性:發(fā)件人的數(shù)字證書只有發(fā)件人唯一擁有,故發(fā)件人利用其數(shù)字證書在傳送前對(duì)電子郵件進(jìn)行數(shù)字簽名后,發(fā)件人就無法否認(rèn)發(fā)送過此電子郵件。
數(shù)字證書的原理是什么?
數(shù)字證書采用PKI(Public Key Infrastructure)公開密鑰基礎(chǔ)架構(gòu)技術(shù),利用一對(duì)互相匹配的密鑰進(jìn)行加密和解密。每個(gè)用戶自己設(shè)定一把特定的僅為本人所知的私有密鑰(私鑰),用它進(jìn)行解密和簽名;同時(shí)設(shè)定一把公共密鑰(公鑰),由本人公開,為一組用戶所共享,用于加密和驗(yàn)證簽名。當(dāng)發(fā)送一份保密文件時(shí),發(fā)送方使用接收方的公鑰對(duì)數(shù)據(jù)加密,而接收方則使用自己的私鑰解密,通過數(shù)字的手段保證加解密過程是一個(gè)不可逆過程,即只有用私有密鑰才能解密,這樣保證信息安全無誤地到達(dá)目的地。用戶也可以采用自己的私鑰對(duì)發(fā)送信息加以處理,形成數(shù)字簽名。由于私鑰為本人所獨(dú)有,這樣可以確定發(fā)送者的身份,防止發(fā)送者對(duì)發(fā)送信息的抵賴性。接收方通過驗(yàn)證簽名還可以判斷信息是否被篡改過。在公開密鑰基礎(chǔ)架構(gòu)技術(shù)中,最常用一種算法是RSA算法,其數(shù)學(xué)原理是將一個(gè)大數(shù)分解成兩個(gè)質(zhì)數(shù)的乘積,加密和解密用的是兩個(gè)不同的密鑰。即使已知明文、密文和加密密鑰(公開密鑰),想要推導(dǎo)出解密密鑰(私密密鑰),在計(jì)算上是不可能的。按現(xiàn)在的計(jì)算機(jī)技術(shù)水平,要破解目前采用的1024位RSA密鑰,需要上千年的計(jì)算時(shí)間。
數(shù)字證書的應(yīng)用
現(xiàn)有持證人甲向持證人乙傳送數(shù)字信息,為了保證信息傳送的真實(shí)性、完整性和不可否認(rèn)性,需要對(duì)要傳送的信息進(jìn)行數(shù)字加密和數(shù)字簽名,其傳送過程如下:
(1) 甲準(zhǔn)備好要傳送的數(shù)字信息(明文)。
(2) 甲對(duì)數(shù)字信息進(jìn)行哈希(hash)運(yùn)算,得到一個(gè)信息摘要。
(3) 甲用自己的私鑰(SK)對(duì)信息摘要進(jìn)行加密得到甲的數(shù)字簽名,并將其附在數(shù)字信息上。
(4) 甲隨機(jī)產(chǎn)生一個(gè)加密密鑰(DES密鑰),并用此密鑰對(duì)要發(fā)送的信息進(jìn)行加密,形成密文。
(5) 甲用乙的公鑰(PK)對(duì)剛才隨機(jī)產(chǎn)生的加密密鑰進(jìn)行加密,將加密后的DES密鑰連同密文一起傳送給乙。
(6) 乙收到甲傳送過來的密文和加過密的DES密鑰,先用自己的私鑰(SK)對(duì)加密的DES密鑰進(jìn)行解密,得到DES密鑰。
(7) 乙然后用DES密鑰對(duì)收到的密文進(jìn)行解密,得到明文的數(shù)字信息,然后將DES密鑰拋棄(即DES密鑰作廢)。
(8) 乙用甲的公鑰(PK)對(duì)甲的數(shù)字簽名進(jìn)行解密,得到信息摘要。
(9) 乙用相同的hash算法對(duì)收到的明文再進(jìn)行一次hash運(yùn)算,得到一個(gè)新的信息摘要。
(10)乙將收到的信息摘要和新產(chǎn)生的信息摘要進(jìn)行比較,如果一致,說明收到的信息沒有被修改過。
在(5)處用到的PK,是否來自乙所持有的的數(shù)字證書?若是,從何處得到該數(shù)字證書?關(guān)于此過程的加密解密,是怎樣實(shí)現(xiàn)?
A 如何獲得通訊對(duì)方的公鑰并且相信此公鑰是由某個(gè)身份確定的人擁有的,這就要用到電子證書。電子證書是由大家共同信任的第三方---認(rèn)證中心(Certificate Authority,CA)來頒發(fā)的,有某人的身份信息、公鑰和CA的數(shù)字簽名。任何一個(gè)信任CA的通訊一方,都可以通過驗(yàn)證對(duì)方電子證書上的CA數(shù)字簽名來建立起和對(duì)方的信任,并且獲得對(duì)方的公鑰以備使用。
數(shù)字證書的使用
每一個(gè)用戶有一個(gè)各不相同的名字,一個(gè)可信的證書認(rèn)證中心(CA)給每個(gè)用戶分配一個(gè)唯一的名字并簽發(fā)一個(gè)包含名字和用戶公開密鑰的證書。
如果甲想和乙通信,他首先必須從數(shù)據(jù)庫中取得乙的證書,然后對(duì)它進(jìn)行驗(yàn)證。如果他們使用相同的CA,事情就很簡(jiǎn)單。甲只需驗(yàn)證乙證書上CA的簽名;如果他們使用不同的CA,問題就復(fù)雜了。甲必須從CA的樹形結(jié)構(gòu)底部開始,從底層CA往上層CA查詢,一直追蹤到同一個(gè)CA為止,找出共同的信任CA。
證書可以存儲(chǔ)在網(wǎng)絡(luò)中的數(shù)據(jù)庫中。用戶可以利用網(wǎng)絡(luò)彼此交換證書。當(dāng)證書撤銷后,它將從證書目錄中刪除,然而簽發(fā)此證書的CA仍保留此證書的副本,以備日后解決可能引起的糾紛。
如果用戶的密鑰或CA的密鑰被破壞,從而導(dǎo)致證書的撤銷。每一個(gè)CA必須保留一個(gè)已經(jīng)撤銷但還沒有過期的證書廢止列表(CRL)。當(dāng)甲收到一個(gè)新證書時(shí),首先應(yīng)該從證書廢止列表(CRL)中檢查證書是否已經(jīng)被撤銷。
數(shù)字證書由誰來頒發(fā),如何頒發(fā)?
數(shù)字證書是由認(rèn)證中心頒發(fā)的。
認(rèn)證中心是一家能向用戶簽發(fā)數(shù)字證書以確認(rèn)用戶身份的管理機(jī)構(gòu)。為了防止數(shù)字憑證的偽造,認(rèn)證中心的公共密鑰必須是可靠的,認(rèn)證中心必須公布其公共密鑰或由更高級(jí)別的認(rèn)證中心提供一個(gè)電子憑證來證明其公共密鑰的有效性,后一種方法導(dǎo)致了多級(jí)別認(rèn)證中心的出現(xiàn)。
數(shù)字證書頒發(fā)過程如下:用戶首先產(chǎn)生自己的密鑰對(duì),并將公共密鑰及部分個(gè)人身份信息傳送給認(rèn)證中心。認(rèn)證中心在核實(shí)身份后,將執(zhí)行一些必要的步驟,以確信請(qǐng)求確實(shí)由用戶發(fā)送而來,然后,認(rèn)證中心將發(fā)給用戶一個(gè)數(shù)字證書,該證書內(nèi)包含用戶的個(gè)人信息和他的公鑰信息,同時(shí)還附有認(rèn)證中心的簽名信息。用戶就可以使用自己的數(shù)字證書進(jìn)行相關(guān)的各種活動(dòng)。


