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