掃碼下載APP
及時接收最新考試資訊及
備考信息
【摘要】在網(wǎng)絡的發(fā)展中,網(wǎng)絡安全問題越來越突出,在諸多網(wǎng)絡安全技術(shù)中,認證機構(gòu)能夠有效地解決網(wǎng)絡信息的安全問題。本文探討了認證機構(gòu)系統(tǒng)的體系結(jié)構(gòu)以及在實際運行時的具體流程,利用Java設計了認證機構(gòu)系統(tǒng)在實際應用時所需要的類別及實施方案。
1 引言
電子商務給人們的生活和工作帶來了巨大的改變,但在電子商務給人們帶來好處的同時,其安全問題也逐漸暴露出來,而且越來越受到人們的關(guān)注,于是許多關(guān)于網(wǎng)絡安全的新技術(shù)應運而生,其中認證機構(gòu)CA作為解決網(wǎng)絡信息安全問題的開發(fā)性新技術(shù),己經(jīng)得到了廣泛應用。關(guān)于認證機構(gòu)的了解也是在我教學過程中的一個重點讓學生去學習的知識點。
2 認證機構(gòu)CA和數(shù)字證書
2.1 認證機構(gòu)CA
在現(xiàn)在的網(wǎng)上交易過程中,無論是B2B,還是B2C,都面臨著一個問題,就是如何解決交易雙方的身份有效性,交易過程的合法性。認證機構(gòu)CA認證機構(gòu)(certificate Authority)是整個網(wǎng)上電子交易安全的關(guān)鍵環(huán)節(jié),它主要負責產(chǎn)生、分配并管理所有參與網(wǎng)上交易的需要身份認證的實體的數(shù)字證書,為解決用戶信任問題,交易雙方在交易的各個環(huán)節(jié)中都需要檢驗對方數(shù)字證書的有效性,所以,認證機構(gòu)發(fā)放的證書一定要具有權(quán)威性、公證性和可信賴性。CA是一個實體,是證書的簽發(fā)機關(guān),是公鑰基礎設施的核心,為客戶提供簽發(fā)公鑰證書、認證證書、分配證書和管理證書的服務。CA將客戶的公鑰與客戶的名稱及其它屬性關(guān)聯(lián)起來,并制定政策和具體步驟來驗證、識別用戶身份,再對用戶證書進行簽名,確保證書持有者的身份和公鑰的擁有權(quán)。
2.2數(shù)字證書
數(shù)字證書是網(wǎng)絡通訊各方身份信息的一系列數(shù)據(jù),是通過特定的加密算法來實現(xiàn)的.它提供了一種在網(wǎng)上驗證身份的方式,在網(wǎng)上交易時可以用來驗證對方的身份。數(shù)字證書是一個由認證機構(gòu)確認了相應私鑰持有者(人、設備或其他實體)的身份或其它屬性后用數(shù)字方式簽名的包含公開密鑰持有者信息以及公開密鑰的文件。證書主要包括一個公開密鑰、證書名稱及認證機構(gòu)的數(shù)字簽名。一般情況下,數(shù)字證書還包括密鑰的有效時間、發(fā)放證書機關(guān)的名稱、該數(shù)字證書的序列號等信息。
3 CA系統(tǒng)
一個典型的CA系統(tǒng)包括安全服務器、CA服務器、注冊機構(gòu)RA ( Registration Authority)、LDAP(Lightweight Directory Access Protocol)目錄服務器和數(shù)據(jù)庫服務器。其中安全服務器面向普通用戶,用于提供證書申請、瀏覽、證書撤銷列表以及證書下載等安全服務。CA服務器負責證書的頒發(fā)。LDAP服務器提供目錄瀏覽服務,負責將RA服務器傳輸過來的用戶信息及數(shù)字證書加入到服務器上。數(shù)據(jù)庫服務器用于CA數(shù)據(jù)、日志和統(tǒng)計信息的存儲和管理。目前,CA系統(tǒng)己經(jīng)投入使用到很多領(lǐng)域,引入CA系統(tǒng)的必要性主要表現(xiàn)在:信息的加密、網(wǎng)上交易的不可否認性、提供Internet上的各方信任以及保證交易信息的完整性等方面。
4 開發(fā)CA系統(tǒng)
待開發(fā)的CA系統(tǒng)主要包括以下幾個運行實體:根CA、業(yè)務CA、用戶和網(wǎng)站。根CA負責為業(yè)務CA頒發(fā)證書,業(yè)務CA是根CA的用戶,同時又是個人用戶的直接CA,負責為用戶頒發(fā)證書,用戶通過向業(yè)務CA申請證書而獲得訪問網(wǎng)站的權(quán)利,網(wǎng)站負責向用戶提供需要安全認證的web服務。
此CA系統(tǒng)的運行流程如下。
( 1)創(chuàng)建兩個全局對象:根CA全局對象和業(yè)務CA全局對象;
( 2)調(diào)用根CA的構(gòu)造函數(shù),對根CA進行初始化;
( 3)調(diào)用業(yè)務CA的構(gòu)造函數(shù),對業(yè)務以進行初始化,如果業(yè)務CA初始化失敗,則先向根CA申請證書,然后從根CA上下載證書和私鑰;
( 4)業(yè)務CA為用戶頒發(fā)證書;
( 5)用戶從業(yè)務CA上下載證書和私鑰。
在根CA中,存放密鑰和證書的地方均為注冊表,查找密鑰庫和證書庫是通過在注冊表中查找相應項來得到的,創(chuàng)建密鑰庫和證書庫也是在注冊表中實現(xiàn)。作為根CA,首先需要給自己頒發(fā)一個證書,該證書由根CA本身進行簽名,然后利用該證書給其它業(yè)務CA頒發(fā)證書并簽名。在根CA給自己頒發(fā)證書之后,就可以給各業(yè)務CA頒發(fā)證書。在根CA實際頒發(fā)證書時,首先在證書庫和私鑰庫中生成業(yè)務CA的證書和私鑰,具體實現(xiàn)時,可以寫入到注冊表中,也可以寫到數(shù)據(jù)庫中,或者寫到LDAP服務器的相應項中,然后將生成的證書和密鑰寫入到業(yè)務CA的相應硬件中。
在網(wǎng)站方面,應該配置一個PKIserver服務器用來進行加密、解密、簽名和驗簽等各種功能。實際運行時,可以將網(wǎng)站和PKIserver服務器部署在同一臺服務器上。在用戶與網(wǎng)站的交互過程中,網(wǎng)站先返回一個隨機數(shù)給用戶,用戶拿到該隨機數(shù)后,表示網(wǎng)站將要發(fā)送的信息以此隨機數(shù)作為對稱密鑰進行加密,用戶應該先對此隨機數(shù)進行簽名確認,表示正確收到該隨機數(shù),如果該隨機數(shù)在傳輸過程中出錯,則后面進行驗簽時不會通過。網(wǎng)站在收到用戶的確認信息之后,就可以使用用戶的加密證書對密鑰進行加密,并用自己的簽名證書對發(fā)送信息進行簽名,用戶收到信息后,首先使用網(wǎng)站證書的公鑰進行驗證簽名,確認信息正確后,用私鑰解開對稱密鑰,然后用該對稱密鑰解密信息,得到所需的明文信息。如果只是用戶之間進行安全信息的交互,則只需將網(wǎng)站上的證書替換為相應的用戶證書即可。
根據(jù)以上流程,可以為系統(tǒng)設計如下幾個類:
class CABase {
void init(){ }
void downloadCert(){ }
void issueCert(){ }
Boolean isEmpty(){ }
void exportCert(){ }
void importCert(){ }
voidgenerateKey(){ }
}
其中函數(shù)init()用來初始化類對象,函數(shù)downloadCert ()用來實現(xiàn)下載證書的功能,函數(shù)issueCert ()用來實現(xiàn)頒發(fā)證書的功能,函數(shù)isEmpty()用來判斷當前對象是否己經(jīng)初始化,函數(shù)exPortCert ()用來實現(xiàn)輸出證書的功能,函數(shù)imPortCert()用來實現(xiàn)導入證書的功能,函數(shù)generateKey ()用來實現(xiàn)生成密鑰的功能。接著設計類RootCA和BuslCA,這兩個類都繼承類CABase,并且重載了類CABase里init()、downloadCert()、issueCert()三個函數(shù),分別來實現(xiàn)自己業(yè)務的操作。
最后設計類Key,其主要功能是從硬件設備或軟件中讀取證書和密鑰以及向硬件設備寫入證書和密鑰信息。
class Key {
void readCert() {}
void writeCert() {}
void readKey(){}
void writeKey() {}
void generateSignKey(){ }
void exportSignKey() { }
其中函數(shù)readCert()用來實現(xiàn)讀取證書的功能,而函數(shù)writeCert()用來實現(xiàn)寫證書的功能,函數(shù)readKey()用來實現(xiàn)讀取密鑰的功能,而函數(shù)writeKey()用來實現(xiàn)寫密鑰的功能,函數(shù)generateSignKey()用來實現(xiàn)生成簽名密鑰的功能,而函數(shù)exportSignKey()用來實現(xiàn)導出簽名密鑰的功能。
參考文獻:
[1]林楓.電子商務安全技術(shù)及應用[J].北京:北京航空航天大學出版社,2001.
[2]Willialm stallings著,楊明,謝希仁等譯.密碼編碼學與網(wǎng)絡安全、原理與實踐(第二版)[M].北京:電子工業(yè)出版社,2001.
[3]關(guān)振勝.公鑰基礎設施PKI與認證機構(gòu)CA[ M].北京:電子工業(yè)出版社,2002 .
Copyright © 2000 - odtgfuq.cn All Rights Reserved. 北京正保會計科技有限公司 版權(quán)所有
京B2-20200959 京ICP備20012371號-7 出版物經(jīng)營許可證 京公網(wǎng)安備 11010802044457號