新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于USB接口和智能卡的PKI 客戶端設(shè)計(jì)

基于USB接口和智能卡的PKI 客戶端設(shè)計(jì)

作者: 時(shí)間:2013-11-08 來源:網(wǎng)絡(luò) 收藏

b.KEY文件及其文件中的密鑰

每個(gè)DF或MF下有且只有一個(gè)KEY文件,在任何情況下密鑰均無法讀出。在KEY文件中可存放多個(gè)密鑰,每個(gè)密鑰為一條定長記錄。記錄中規(guī)定了其標(biāo)識(shí)、版本、算法、屬性及密鑰本身等相關(guān)內(nèi)容。

在滿足KEY文件的增加權(quán)限時(shí),可用Write KEY命令增加一條記錄。只有在滿足某個(gè)密鑰的使用權(quán)限時(shí)才可以使用該密鑰,在滿足某個(gè)密鑰的修改權(quán)限時(shí)才可以修改該密鑰。

每種密鑰具有其獨(dú)立性,用于一種特定功能的密鑰不可作為它用。本設(shè)計(jì)支持以下幾種密鑰:個(gè)人密碼(PIN)、外部認(rèn)證密鑰、內(nèi)部認(rèn)證密鑰、(Crypt密鑰、PIN解鎖密鑰、PIN重裝密鑰、應(yīng)用維護(hù)密鑰等。

③ 安全體系。主要是對(duì)所傳送的信息進(jìn)行安全性的檢查和處理,防止非法的竊聽或侵入。安全體系包括3部分:安全狀態(tài)、安全屬性和安全機(jī)制。安全狀態(tài)是指當(dāng)前所處的一種系統(tǒng)狀態(tài),這種安全狀態(tài)是在完成復(fù)位應(yīng)答或完成某個(gè)命令后得到的;安全屬性是執(zhí)行特定的命令所需要的安全條件,只有滿足了這個(gè)安全條件,命令才能執(zhí)行;安全機(jī)制是指安全狀態(tài)實(shí)現(xiàn)轉(zhuǎn)移所采取的方法和手段,它是與安全狀態(tài)和安全屬性相聯(lián)系的。

④ 命令解釋。根據(jù)接收到的命令檢查各項(xiàng)參數(shù)是否正確,執(zhí)行相應(yīng)的操作。

IC卡通過與終端之間使用命令與應(yīng)答的通信機(jī)制,即終端,把命令送到1C卡,IC卡接收并處理后發(fā)送響應(yīng)給終端。這種機(jī)制包括兩種應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)——命令應(yīng)用數(shù)據(jù)單元與響應(yīng)應(yīng)用數(shù)據(jù)單元。CLA字節(jié)代表命令的類型。

INS字節(jié)表示命令編碼,P1和P2為具體命令參數(shù)。Lc字節(jié)表示數(shù)據(jù)的長度,只有一個(gè)字節(jié)表示,取值范圍為1~115。如果Lc為0,表示沒有數(shù)據(jù)域。

Le表示期望卡返回的數(shù)據(jù)長度,由單字節(jié)表示,取值范圍為1~115。

響應(yīng)應(yīng)用數(shù)據(jù)單元也包括兩部分:可能存在的響應(yīng)數(shù)據(jù)體(應(yīng)答體)和兩個(gè)狀態(tài)字節(jié)(應(yīng)答尾部),其內(nèi)容為

基于保密的原因,具體的命令代碼和狀態(tài)字節(jié)(SWl、SW2)的編碼略。

(2)算法庫的實(shí)現(xiàn)

算法庫是一個(gè)根據(jù)不同需要可擴(kuò)展的函數(shù)庫。目前,算法庫里有:

◆對(duì)稱加密算法——DES算法、3DES算法、RC2、RC4算法;

◆摘要(散列值)算法——SHA一1算法、MD5算法;

◆非對(duì)稱加密算法——RSA算法、DSA算法、ECC算法。

以上算法全部在設(shè)備內(nèi)實(shí)現(xiàn)。

2.2.2 層的軟件設(shè)計(jì)

層軟件主要完成計(jì)算機(jī)主機(jī)和客戶端設(shè)備之間的數(shù)據(jù)傳輸,完成主機(jī)與IC卡之間交互的命令及響應(yīng)。一方面將主機(jī)來的USB信息包轉(zhuǎn)換成符合IS07816--4標(biāo)準(zhǔn)的智能卡可識(shí)別的命令,另一方面,根據(jù)IS07816--4標(biāo)準(zhǔn),將智能卡的響應(yīng)數(shù)據(jù)轉(zhuǎn)化成USB數(shù)據(jù)包,上傳給主機(jī)。

在USB的初始化中,完成終端設(shè)備USB的自舉過程??紤]到設(shè)備與計(jì)算機(jī)之間的數(shù)據(jù)交換具有數(shù)量少、傳輸速度不要求很高的特點(diǎn),因而將其配置為HID類設(shè)備,實(shí)現(xiàn)在WIN2000、Win Me等環(huán)境下免安裝驅(qū)動(dòng)程序的特點(diǎn)。本設(shè)備使用了3個(gè)端點(diǎn):端點(diǎn)0用于控制信息的傳輸,端點(diǎn)1用于接收主機(jī)發(fā)來的數(shù)據(jù),端點(diǎn)3用于向主機(jī)發(fā)送數(shù)據(jù)。

USB的消息處理過程是:USB發(fā)出中斷請(qǐng)求,單片機(jī)響應(yīng)中斷,首先查看各中斷寄存器,找出產(chǎn)生中斷的事件,然后處理。程序的設(shè)計(jì)主要集中在中斷處理服務(wù)程序上。

上述2.2.1節(jié)和2.2.2節(jié)軟件設(shè)計(jì)為PKI終端設(shè)備內(nèi)軟件設(shè)計(jì),整個(gè)軟件采用了Keil C51語言編寫。與匯編相比,C語言在功能、結(jié)構(gòu)、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì)。Keil C51提供了豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。最后生成標(biāo)準(zhǔn)的HEX文件,以直接寫入程序存儲(chǔ)器,如Flash中。

2.2.3應(yīng)用層軟件設(shè)計(jì)

應(yīng)用層(計(jì)算機(jī)主機(jī))軟件開發(fā)主要是提供底層API庫函數(shù),在此基礎(chǔ)上實(shí)現(xiàn)CSP[4](Cryptographic Service Provider,加密服務(wù)提供者)軟件設(shè)計(jì),為用戶提供符合微軟加密服務(wù)要求的中間件。

應(yīng)用程序不能直接與CSP進(jìn)行通信。取而代之,應(yīng)用程序通過調(diào)用由Advapi32.d11和Crypt32.dll模塊所提供的一些CryptoAPI接口函數(shù)來與CSP進(jìn)行通信,從而完成相應(yīng)的功能。操作系統(tǒng)過濾這些函數(shù)調(diào)用,并把它們通過C2ryptoSPI(系統(tǒng)編程接口)傳遞給相應(yīng)的CSP函數(shù)。

整個(gè)軟件的實(shí)現(xiàn)過程為:首先,根據(jù)智能卡COS命令,完成底層API庫函數(shù)CLlB。通過對(duì)庫函數(shù)進(jìn)行封裝生成PKIKEY類,即PKIKEY.CPP,PKIKEY.H,進(jìn)而生成CSP所需的DLL文件,最后通過向微軟申請(qǐng)認(rèn)證,通過后微軟將進(jìn)行簽名。

本設(shè)計(jì)中,可以向客戶提供底層API函數(shù)和CSP兩種中間件接口,以支持客戶的二次開發(fā)。

在應(yīng)用軟件方面,我們?cè)O(shè)計(jì)了客戶端管理工具軟件和管理端管理工具軟件。

客端管理工具實(shí)現(xiàn)的功能:證書的自動(dòng)注冊(cè)注銷,修改用戶密碼等功能。

管理端管理工具實(shí)現(xiàn)的功能:除具有客戶端管理工具的功能外,還提供了格式化設(shè)備、清空設(shè)備、解鎖用戶密碼、修改管理員密碼等功能。

2.3 主要技術(shù)指標(biāo)

操作系統(tǒng):Windows 98/Me/2000/XP,Mac OS 8/9,Linux.

證書及標(biāo)準(zhǔn):PKCS#1l,MS CAPI,PC/SC,X.509 v3證書存儲(chǔ)。

加密算法:MD5,SHA - l,DES/3DES,RC2,RC4,RSA,DSA,ECC等。

接口類型:USB V1.1 A型。

功耗:250 mW。

3 總 結(jié)

本文提出的設(shè)備已經(jīng)小批量生產(chǎn)。它是整個(gè)PKI體系的重要組成部分,可以實(shí)現(xiàn)密鑰安全保管、證書管理、簽名、驗(yàn)證簽名、加/解密和身份認(rèn)證等功能,具有高穩(wěn)定性、高安全性、高可靠性、安裝和攜帶方便、操作簡便、運(yùn)算速度快等特點(diǎn);可廣泛應(yīng)用于要求個(gè)人身份認(rèn)證、識(shí)別、數(shù)據(jù)加密、安全存儲(chǔ)等領(lǐng)域,如電子商務(wù)、電子政務(wù)等,所提供的底層庫函數(shù)和CSP軟件以中間件方式極大地方便了客戶的二次開發(fā)??傊?,本設(shè)計(jì)思想先進(jìn),代表了當(dāng)前該領(lǐng)域的發(fā)展方向,應(yīng)用前景廣泛。

參考文獻(xiàn):

[1].CSPdatasheethttp://www.dzsc.com/datasheet/CSP_2363263.html.
[2].RC2datasheethttp://www.dzsc.com/datasheet/RC2_1191068.html.
[3].SHAdatasheethttp://www.dzsc.com/datasheet/SHA_2043215.html.


上一頁 1 2 下一頁

關(guān)鍵詞: USB接口 智能卡 PKI客戶端

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉