新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于MC9S08JS16和AES的USB Key設(shè)計

基于MC9S08JS16和AES的USB Key設(shè)計

作者: 時間:2010-12-15 來源:網(wǎng)絡(luò) 收藏

隨著互聯(lián)網(wǎng)與電子商務(wù)的發(fā)展,網(wǎng)絡(luò)信息安全問題顯得尤為重要。數(shù)據(jù)保密變換或信息加密,成為對計算機(jī)信息進(jìn)行保護(hù)的最實用和最可靠的方法。各種加密技術(shù)如軟件自校驗、密碼加密、鑰匙盤等軟加密技術(shù)和擴(kuò)展卡、并行口軟件加密狗等硬加密技術(shù)應(yīng)運而生,而USB接口密鑰(USB )憑借其獨特的優(yōu)勢和極高的安全性備受青睞。
USB 是一種通過USB(通用串行總線)接口直接與計算機(jī)相連、具有密碼驗證功能、可靠高速的小型存儲設(shè)備。USB 的設(shè)計小巧精致、攜帶方便。由于是USB接口設(shè)備,USB Key通過USB端口提供的電源來工作,不需要額外的電源。USB Key自身所具備的存儲器用于存儲一些個人信息或證書,USB Key的內(nèi)部密碼算法可以為數(shù)據(jù)傳輸提供安全的管道,適用于單機(jī)或網(wǎng)絡(luò)應(yīng)用的安全防護(hù)產(chǎn)品。

1 系統(tǒng)工作原理及硬件設(shè)計
USB Key(簡稱Ukey)通過USB接口與PC機(jī)相連,用戶可以通過位于PC機(jī)的客戶端向Ukey發(fā)出命令,Ukey通過內(nèi)部固件中算法實現(xiàn)數(shù)據(jù)加密,然后將加密后的數(shù)據(jù)返回客戶端。其工作原理如圖1所示。設(shè)計選用了8位USB微控制器(MCU)JS16,JS16型MCU內(nèi)置全速USB2.0控制器并集成了1個USB收發(fā)器,同時含有高達(dá)16 KB的Flash和512 B的RAM。

本文引用地址:http://m.butianyuan.cn/article/187683.htm


用戶可以通過片內(nèi)專用的3.3 V穩(wěn)壓器或VUSB3.3引腳外接3.3 V電源為USB收發(fā)器和上拉電阻提供電源,這里采用片內(nèi)的3.3 V穩(wěn)壓器為USB收發(fā)器提供電源(須使能USBCTL0寄存器的USBVREN位),硬件連接圖如圖2所示。


USB模塊需要兩個時鐘源,分別為24 MHz總線時鐘和48 MHz參考時鐘。48 MHz時鐘源由MCGOUT直接產(chǎn)生,為了獲得48MHz時鐘速率,MCG(通用時鐘產(chǎn)生器)必須被適當(dāng)配置為PLL使能的外部占用模式PEE(PLL EngagedExternal),外接一晶振。JS16的USB模塊選擇內(nèi)部上拉電阻(使能USBCTL0寄存器USBPU位)USB主機(jī)通過檢測上拉電阻檢測USB設(shè)備的聯(lián)結(jié)并確定設(shè)備速度。

2 系統(tǒng)軟件設(shè)計
2.1 USB設(shè)備初始化

圖3為USB模塊初始化流程圖,固件代碼初始化USB模塊,使其準(zhǔn)備聯(lián)結(jié)到USB主機(jī)。通過設(shè)置USBCTL0寄存器的RESET位,重置USB模塊和所有寄存器為默認(rèn)狀態(tài),完成對USB RAM,BD(buffer descriptor)寄存器的初始化,特別是對于端點0的BD,設(shè)置EPAD寄存器,指示端點寄存器在USB RAM中的存儲,為了接收DATA0數(shù)據(jù)包,狀態(tài)與控制寄存器設(shè)置為(DTS=1,OWN=1,DATAO/1=0)。使能端點0,并根據(jù)硬件設(shè)計配置USB模塊,使能上拉電阻,3.3 V穩(wěn)壓器與PHY。開放USB模塊和USB中斷,設(shè)備被置為連接狀態(tài)。


2.2 加密算法
系統(tǒng)采用128位高級加密標(biāo)準(zhǔn)(Riindael)算法進(jìn)行數(shù)據(jù)加密。(Advanced Encxyption Standard)是美國國家標(biāo)準(zhǔn)與技術(shù)研究所用于加密電子數(shù)據(jù)的規(guī)范,用于代替現(xiàn)有的DES算法,AES作為新一代的數(shù)據(jù)加密標(biāo)準(zhǔn)匯聚了強安全性、高性能、高效率、易用和靈活等優(yōu)點,被預(yù)期能成為公認(rèn)的加密包括金融、電信和政府?dāng)?shù)字信息的方法。
AES算法是基于置換和代替的。置換是數(shù)據(jù)的重新排列,而代替是用一個單元數(shù)據(jù)替換另一個。AES加密例程開始是拷貝16字節(jié)的輸入數(shù)組到一個名為State(態(tài))的4x4字節(jié)矩陣中。AES算法加密過程如圖4所示。


上一頁 1 2 3 下一頁

關(guān)鍵詞: AES Key MC9 S08

評論


相關(guān)推薦

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

關(guān)閉