基于USB接口和智能卡的PKI客戶端設(shè)計
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):2654
    
    
    計算機(jī)、網(wǎng)絡(luò)、通信技術(shù)的迅猛發(fā)展,使人們的生活和生產(chǎn)方式發(fā)生了深刻變化。高科技在給人們的工作和生活帶來方便、舒適的同時,也給人們增添了許多困擾。安全問題首當(dāng)其沖。pki(public key infrastructure,公鑰基礎(chǔ)設(shè)施)被譽(yù)為現(xiàn)代信息社會安全的基石,也是電子商務(wù)與電子政務(wù)的關(guān)鍵技術(shù)。它能夠為所有網(wǎng)絡(luò)應(yīng)用透明地提供加密和數(shù)字簽名等密碼服務(wù)所必需的密鑰和證書管理功能,能夠提供認(rèn)證、訪問控制、數(shù)據(jù)完整性、機(jī)密性和不可否認(rèn)性等核心安全服務(wù)。通常pki系統(tǒng)主要由認(rèn)證機(jī)構(gòu)、證書庫、密鑰備份及恢復(fù)系統(tǒng)、證書作廢處理系統(tǒng)、pki應(yīng)用接口系統(tǒng)等部分組成。
    pki的基礎(chǔ)是基于非對稱加密算法的,每個用戶需要有一個能夠確保其安全的場所,用以存放一些個人密鑰(private key)、被其直接信任的ca(root ca)名字和證書,以及其他一些重要數(shù)據(jù)。智能卡(smart card)具有安全性高、保密性好的特點,為密鑰的存儲管理提供了良好的介質(zhì)。智能卡具有嵌入卡片內(nèi)部的cpu和存儲器,同時還有一系列的安全機(jī)制來保證內(nèi)部數(shù)據(jù)的安全。利用智能卡卡上cpu的計算能力,可以在卡上進(jìn)行密鑰對的生成和進(jìn)行卡上的簽名和驗證運(yùn)算;同時,利用智能卡出色的安全機(jī)制,能夠?qū)Υ鎯υ谄渲械臄?shù)據(jù)提供強(qiáng)有力的安全保證,這樣在用戶私鑰的整個生命周期內(nèi),都處在智能卡的保護(hù)之下。另外,為了提高設(shè)備使用的靈活性和方便性,采用了usb接口技術(shù),充分發(fā)揮了usb接口的即插即用、總線供電等優(yōu)點,使開發(fā)的設(shè)備具有可攜帶性、靈活性和方便性,可以在各種場合中進(jìn)行簽名和驗證。
    2 pkl客戶端設(shè)備的研制
    pki客戶端設(shè)備是一個全功能、可操作pki系統(tǒng)的必要組成部分。主要提供以下一些功能[1.2]:
    ① 密鑰的產(chǎn)生、更新和保護(hù);
    ② 進(jìn)行加解密或數(shù)字簽名操作;
    ③ 證書管理,包括證書的申請、安裝、存儲及驗證等;
    ④ 與主機(jī)、外圍設(shè)備和系統(tǒng)軟件有良好接口,方便用戶開發(fā)相應(yīng)的高層軟件。
    2.1 客戶端設(shè)備的硬件實現(xiàn)
    要實現(xiàn)本客戶端設(shè)備,在硬件上必須具有智能卡芯片和usb芯片。作為智能卡芯片必須具備至少32 kb用戶數(shù)據(jù)區(qū)(eeprom)和32 kb程序存儲區(qū)及1 kb的ram;另外必須具備協(xié)處理器,能夠進(jìn)行至少1024位模冪運(yùn)算,此外必須具備良好的物理安全性,以確保除了通過本系統(tǒng)外,沒有其他途徑可以獲取智能卡中ram、ee-prom、rom、寄存器的數(shù)據(jù)。而作為usb芯片,只需具備4個端口和滿足usb協(xié)議1.1即可。當(dāng)然,如果能夠把這兩種芯片的功能集成在一起成一顆芯片,會進(jìn)一步提高安全性和進(jìn)一步降低設(shè)備的尺寸。經(jīng)過反復(fù)比較篩選,我們選用了atmel公司的同時具備ic卡和usb接口功能的單一芯片at90s6464c—usb。本芯片還具備硬件隨機(jī)數(shù)發(fā)生器、硬件實現(xiàn)des和3des算法、內(nèi)置rsa、ecc算法等。
    其硬件實現(xiàn)只需要加一個振蕩電路即可。另外,為了指示usb的讀寫操作,加了一個指示燈。在讀寫操作時指示燈亮。
    2.2 客戶端設(shè)備的軟件設(shè)計
    pki客戶端系統(tǒng)的軟件設(shè)計包括計算機(jī)主機(jī)的軟件設(shè)計和硬件設(shè)備中的軟件設(shè)計,具體的層次結(jié)構(gòu)如圖1所示。
    
    
    
    智能卡層的軟件設(shè)計,主要完成cos(chip operation system)軟件和加密算法;usb接口層的軟件設(shè)計,主要完成主機(jī)和智能卡之間的信息傳遞;應(yīng)用層的軟件設(shè)計,主要完成底層的api函數(shù)和csp軟件,為用戶提供開發(fā)接口支持。下面詳細(xì)介紹各部分的設(shè)計。
    2.2.1 智能卡層軟件設(shè)計
    主要包括兩個模塊:卡內(nèi)操作系統(tǒng)cos和算法庫。這是實現(xiàn)pki客戶端設(shè)備的關(guān)鍵部分。
    1)卡內(nèi)操作系統(tǒng)cos的設(shè)計
    智能卡內(nèi)設(shè)計了一個小型的操作系統(tǒng)cos. cos的主要功能是:控制智能卡與外界信息進(jìn)行交換,管理智能卡存儲器中的文件系統(tǒng),并在智能卡內(nèi)完成各種命令的處理。cos的基本功能必須遵循iso7816—4標(biāo)準(zhǔn)[3]。
    cos系統(tǒng)是由傳輸管理、文件管理、安全體系、命令解釋四個功能模塊組成的。
    ① 傳輸管理。按iso7816—3標(biāo)準(zhǔn),監(jiān)督卡與終端之間的通信,保證數(shù)據(jù)正確地傳輸,防止與終端之間通信數(shù)據(jù)被非法竊取和篡改。
    ②文件管理。文件
    
    
    計算機(jī)、網(wǎng)絡(luò)、通信技術(shù)的迅猛發(fā)展,使人們的生活和生產(chǎn)方式發(fā)生了深刻變化。高科技在給人們的工作和生活帶來方便、舒適的同時,也給人們增添了許多困擾。安全問題首當(dāng)其沖。pki(public key infrastructure,公鑰基礎(chǔ)設(shè)施)被譽(yù)為現(xiàn)代信息社會安全的基石,也是電子商務(wù)與電子政務(wù)的關(guān)鍵技術(shù)。它能夠為所有網(wǎng)絡(luò)應(yīng)用透明地提供加密和數(shù)字簽名等密碼服務(wù)所必需的密鑰和證書管理功能,能夠提供認(rèn)證、訪問控制、數(shù)據(jù)完整性、機(jī)密性和不可否認(rèn)性等核心安全服務(wù)。通常pki系統(tǒng)主要由認(rèn)證機(jī)構(gòu)、證書庫、密鑰備份及恢復(fù)系統(tǒng)、證書作廢處理系統(tǒng)、pki應(yīng)用接口系統(tǒng)等部分組成。
    pki的基礎(chǔ)是基于非對稱加密算法的,每個用戶需要有一個能夠確保其安全的場所,用以存放一些個人密鑰(private key)、被其直接信任的ca(root ca)名字和證書,以及其他一些重要數(shù)據(jù)。智能卡(smart card)具有安全性高、保密性好的特點,為密鑰的存儲管理提供了良好的介質(zhì)。智能卡具有嵌入卡片內(nèi)部的cpu和存儲器,同時還有一系列的安全機(jī)制來保證內(nèi)部數(shù)據(jù)的安全。利用智能卡卡上cpu的計算能力,可以在卡上進(jìn)行密鑰對的生成和進(jìn)行卡上的簽名和驗證運(yùn)算;同時,利用智能卡出色的安全機(jī)制,能夠?qū)Υ鎯υ谄渲械臄?shù)據(jù)提供強(qiáng)有力的安全保證,這樣在用戶私鑰的整個生命周期內(nèi),都處在智能卡的保護(hù)之下。另外,為了提高設(shè)備使用的靈活性和方便性,采用了usb接口技術(shù),充分發(fā)揮了usb接口的即插即用、總線供電等優(yōu)點,使開發(fā)的設(shè)備具有可攜帶性、靈活性和方便性,可以在各種場合中進(jìn)行簽名和驗證。
    2 pkl客戶端設(shè)備的研制
    pki客戶端設(shè)備是一個全功能、可操作pki系統(tǒng)的必要組成部分。主要提供以下一些功能[1.2]:
    ① 密鑰的產(chǎn)生、更新和保護(hù);
    ② 進(jìn)行加解密或數(shù)字簽名操作;
    ③ 證書管理,包括證書的申請、安裝、存儲及驗證等;
    ④ 與主機(jī)、外圍設(shè)備和系統(tǒng)軟件有良好接口,方便用戶開發(fā)相應(yīng)的高層軟件。
    2.1 客戶端設(shè)備的硬件實現(xiàn)
    要實現(xiàn)本客戶端設(shè)備,在硬件上必須具有智能卡芯片和usb芯片。作為智能卡芯片必須具備至少32 kb用戶數(shù)據(jù)區(qū)(eeprom)和32 kb程序存儲區(qū)及1 kb的ram;另外必須具備協(xié)處理器,能夠進(jìn)行至少1024位模冪運(yùn)算,此外必須具備良好的物理安全性,以確保除了通過本系統(tǒng)外,沒有其他途徑可以獲取智能卡中ram、ee-prom、rom、寄存器的數(shù)據(jù)。而作為usb芯片,只需具備4個端口和滿足usb協(xié)議1.1即可。當(dāng)然,如果能夠把這兩種芯片的功能集成在一起成一顆芯片,會進(jìn)一步提高安全性和進(jìn)一步降低設(shè)備的尺寸。經(jīng)過反復(fù)比較篩選,我們選用了atmel公司的同時具備ic卡和usb接口功能的單一芯片at90s6464c—usb。本芯片還具備硬件隨機(jī)數(shù)發(fā)生器、硬件實現(xiàn)des和3des算法、內(nèi)置rsa、ecc算法等。
    其硬件實現(xiàn)只需要加一個振蕩電路即可。另外,為了指示usb的讀寫操作,加了一個指示燈。在讀寫操作時指示燈亮。
    2.2 客戶端設(shè)備的軟件設(shè)計
    pki客戶端系統(tǒng)的軟件設(shè)計包括計算機(jī)主機(jī)的軟件設(shè)計和硬件設(shè)備中的軟件設(shè)計,具體的層次結(jié)構(gòu)如圖1所示。
    
    
    
    智能卡層的軟件設(shè)計,主要完成cos(chip operation system)軟件和加密算法;usb接口層的軟件設(shè)計,主要完成主機(jī)和智能卡之間的信息傳遞;應(yīng)用層的軟件設(shè)計,主要完成底層的api函數(shù)和csp軟件,為用戶提供開發(fā)接口支持。下面詳細(xì)介紹各部分的設(shè)計。
    2.2.1 智能卡層軟件設(shè)計
    主要包括兩個模塊:卡內(nèi)操作系統(tǒng)cos和算法庫。這是實現(xiàn)pki客戶端設(shè)備的關(guān)鍵部分。
    1)卡內(nèi)操作系統(tǒng)cos的設(shè)計
    智能卡內(nèi)設(shè)計了一個小型的操作系統(tǒng)cos. cos的主要功能是:控制智能卡與外界信息進(jìn)行交換,管理智能卡存儲器中的文件系統(tǒng),并在智能卡內(nèi)完成各種命令的處理。cos的基本功能必須遵循iso7816—4標(biāo)準(zhǔn)[3]。
    cos系統(tǒng)是由傳輸管理、文件管理、安全體系、命令解釋四個功能模塊組成的。
    ① 傳輸管理。按iso7816—3標(biāo)準(zhǔn),監(jiān)督卡與終端之間的通信,保證數(shù)據(jù)正確地傳輸,防止與終端之間通信數(shù)據(jù)被非法竊取和篡改。
    ②文件管理。文件
熱門點擊
- 為音頻設(shè)備提供高性能的低通30kHz貝塞爾濾
- 帶RF輸出的全數(shù)字調(diào)制器設(shè)計
- DSP基條碼掃描器
- TMS320VC33并行自舉的兩種巧妙實現(xiàn)方
- 支持以太網(wǎng)寬帶接入的IP機(jī)頂盒解決方案
- 基于ARM的MPEG4視頻解碼器
- 外掛Flash的TMS320VC5409引導(dǎo)
- 基于DSP的雷達(dá)視頻信號數(shù)字采集與檢測
- 基于XC166單片機(jī)的DSP優(yōu)化方法
- VINETIC語音處理器在VoIP解決方案中
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究