999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SD卡硬件加密在工業MP3中的實現

2012-08-10 03:40:48劉宇紅
通信技術 2012年11期
關鍵詞:系統設計

肖 敏,劉宇紅

(貴州大學計算機科學與信息學院,貴州 貴陽 550025)

0 引言

系統的應用背景是關于汽車車載診斷系統(OBD,On-Board Diagnostics)故障代碼的智能語音播放器設計,在汽車運行中過程中把汽車的故障播放出來。其中故障代碼被整理成了2萬多條語音文件,花費近2個月的時間才完成,考慮到這些語音文件的重要性,急需對文件進行加密處理。然而現行的在嵌入式系統中的加密方案全部出現在高端CPU上,如掌上電腦、高端手機,這些終端成本較高并且功耗也比較大,因此如何在工業應用領域中保證在低成本、低功耗的微控制器下實現文件加密就成了該項目研究的重點。

1 系統硬件組成部分

1.1 SD卡

安全數碼卡(SD,Secure Digital Memory Card)是一種為滿足安全、容量、性能和使用環境等各方面的需求而設計的一種存儲介質,卡內含一個智能控制模塊[1]。SD卡之所以稱之為安全數碼卡,是因為該智能控制模塊中固化有硬件加密技術。

SD卡與微控制器的接口有安全數字輸入輸出(SDIO,Secure Digital Input and Output Card)和串行外設接口(SPI,Serial Peripheral Interface)兩種通信模式[2]。可以根據實際需要來選擇使用這兩種通信模式中的一種與卡進行通信,由于不是所有微控制器都帶有SDIO接口,并且SPI協議可以通過普通IO口模擬,所以本系統采用SPI通信模式[3]。

1.2 VS1003音頻解碼器

VS1003是一款廉價的 MP3/WMA/MIDI音頻解碼芯片。芯片內包含一個自主產權的低功耗DSP處理器核VS_DSP,外圍提供了一個支持SPI協議的串行控制數據接口以及一個高品質可變采樣率的ADC和立體聲ADC[4]。

1.3 微控制器STM32F103C8T6

STM32F103C8T6是一款高性能、低功耗、高性價比的工業級MCU,內部集成了2個硬件SPI控制器,正好能滿足該系統的設計,從而節省了硬件成本并控制了產品體積[5]。系統硬件設計框圖如圖1所示。

圖1 系 硬件設計框圖

2 SD卡加密優勢及程序設計要點

2.1 SD卡的加密優勢

SD卡在硬件上內嵌了加密算法,當卡上電時,若卡包含密碼,卡會自動進入鎖定狀態[6]。在這種狀態下讀寫都是不容許的,從而保障了卡內數據的安全。相對閃存中常見的軟件加密,SD卡硬件加密有以下幾大優勢:

(1)安全性高

閃存中的軟件加密是通過加密算法把閃存中的文件進行加密,當該閃存被格式化后,加密功能不復存在,但此時可以通過 PC上的恢復軟件恢復卡中的數據。而SD卡硬件加密以后卡無法在PC機上識別,更無法對卡進行格式化,具有極高的安全性。

(2)實現成本低廉

只需一個廉價的單片機就能對 SD卡內數據加密,而常見的嵌入式設備因為主控CPU的限制很難適應大數據通過軟件算法加密。

(3)操作速度快

軟件加密是對閃存中的單個文件加密,加密的速度取決于算法的難度和CPU的速度,并且加密后讀寫速度會因為要軟件解密而變慢。SD卡加密是對整個磁盤進行加密,純硬件加密不影響讀寫速度。經測試,一張數G的SD卡加密所需要的時間不超過1s,這是軟件加密不可能實現的。這也為數據加密在工業上的應用提供了實時條件。

2.2 SD卡的加密程序設計要點

SD卡密碼和密碼長度保存在128 bit的PWD寄存器和8 bit的PWD_LEN寄存器中,這些寄存器是是非易失性的。與 SD卡加密的操作命令字為CMD42,在寫入CMD42后接著寫入SD卡的命令數據塊即可完成對SD卡硬件加密的操作。圖2是加密命令數據塊的結構。

圖2 與SD卡加密的命令數據塊結構

根據圖 2,可以把命令數據塊中的第一個字節(即Byte0)稱為命令碼,通過該命令碼的配置可以完成設置密碼、清除的密碼、上鎖與解鎖以及強制擦除卡片的內容等操作。下面分析常見的接種操作方式中的要點。

(1)加密并上鎖

給 SD卡加密并上鎖后,SD卡在沒有解鎖的情況下將不能被讀寫。根據圖 2要上鎖的命令為Bit2=1,設置密碼的命令為Bit0=1,其它的位設置為0,即命令碼為0x05。在SD卡接受CMD42命令字前需要降低SPI的通信速度,這樣才能更好的接受加密指令。SD卡在讀寫數據時塊長度(block)為512Byte,但在寫入密碼前應通過CMD16命令字設置block長度為密碼長度(PWD_LEN)加上兩個 Byte即PWD_LEN+2,在加密操作完成后恢復數據塊長度為512Byte。以設置密碼為“123456”為例,加密并上鎖的關鍵代碼如下:

(2)解鎖

解鎖是指當SD卡加密并上鎖后,用戶輸入密碼操作SD卡內數據的一種方式,在系統丟電后SD卡自動進入上鎖狀態。解鎖的操作和上面的加密上鎖類似,只是把命令碼替換成0x00,然后寫入密碼長度和密碼內容,SD卡接受這些數據后會匹配上一次寫入的密碼,如果匹配成功容許訪問卡中的數據,反之卡保持為鎖定狀態。

(3)強制擦除

如果用戶忘記了SD卡的密碼,可以通過強制擦除命令擦除卡片上的密碼及密碼長度,但此時卡上的數據也隨之刪除。強制擦除的命令碼為0x80,在強制擦除前要將 block設置為 1Byte,具體操作流程如圖3所示。

圖3 強制清除密碼流程

3 系統軟件設計

系統軟件設計主要主要包括 Fat32文件系統移植、對SD卡進行加密與解鎖、MP3文件解碼等幾個部分。

3.1 移植FAT32文件系統

由于FAT16最大只支持2G的容量,所以大容量SD卡中的文件系統必須兼容FAT32文件系統,目前嵌入式系統中文件系統很多比如 C/FS、ZLG/FS、eFSL、FatFS等,其中FatFS文件系統是免費開源的文件系統,它有占用資源少、讀寫速度快、易于移植的優點,并且它完全兼容 FAT32文件系統,并提供了豐富的API[7]。

移植的重點主要在于編寫 diskio.c這個文件,原理是把SD卡讀寫扇區的函數與FatFS文件系統中的讀寫函數進行掛接。diskio總共需要編寫 6個函數,但其中最重要的只有三個函數,他們分別是 disk_initialize、disk_read和disk_write,其它的接口函數如果不需要使用,可以直接返回0。

1)disk_initialize:該函數的功能是初始化存儲媒介,這里是指SD卡。在這個函數中加入SD卡的初始化函數,這樣系統掛載FatFS時SD卡會隨之初始化。

2)disk_read:讀扇區函數,是通過文件系統讀取SD卡最基本的動作之一,此處需要把SD卡驅動中寫單個扇區和寫多個扇區的函數與其掛接。

3)disk_write:寫扇區函數,與讀扇區函一樣,這里要把SD卡驅動中讀單個扇區和讀多個扇區的函數與其掛接。

3.2 在SD卡加密狀態下對MP3解碼

由于VS1003是塊硬件語音解碼芯片,在微控制器從SD卡中讀取MP3文件并轉換成二進制碼流后,通過SPI總線傳送給VS1003就能進行MP3播放[6]。

在系統第一次上電時要判斷SD卡是否有加密,如果沒有加密,在系統上電后馬上給SD卡加密并上鎖,以保護SD卡內的數據的安全,然后匹配密碼進行解鎖,最后用戶就可以操作卡中的數據了。在掛載文件系統后,如果能通過文件系統讀取到卡的信息,如卡的容量、扇區大小就表明卡沒有加密,反之如果讀不到SD卡的基本信息那么該卡已經加密。整個系統軟件設計流程如圖4所示。

圖4 系統軟件設計流程

4 系統整體測試

SD卡經過該系統加密后通過讀卡器插入PC機,PC機無法檢測到SD卡的盤符,不能對SD卡進行任何操作。在執行強制擦除命令后,SD卡中的文件系統被破壞,此時PC機依舊無法打開該卡,如果需要繼續使用該SD卡,需要在PC上重新格式化。在格式化前后都無法通過數據恢復軟件恢復任何數據,該測試所使用的恢復軟件有:EasyRecovery、DiskGenius和金山數據恢復等等。

經過運行測試,系統可以在加密的情況下流暢的播放320kb/s的高品質MP3音樂文件,成功完成了帶加密功能的工業MP3的實現。

[1] SanDisk Limited.SanDisk SD Card Product Manual[EB/OL].(2004-11-15)[2012-05-02].http://www.flas hgenie.net/img/productmanualsdcardv2.2final.pdf.

[2] 孟惠霞.基于ARM的SD卡文件系統設計[J].通信技術,2009,42(07):135-137.

[3] 范逵.一種基于熱插拔的 SD卡在交換機上的設計與實現[J].通信技術,2009,42(07):222-225.

[4] VLSI Solution.VS1003 User Mannual[S]. USA:[s.l.],2008.

[5] STMicroelectronics.RM0008 Reference Manual[S].USA:[s.l.],2009.

[6] 婁曉晉.基于 USB 和 SD 接口智能卡的 CSP設計[J].信息安全與通信保密,2007(01):153-155.

[7] 李世奇.基于FatFs文件系統的SD卡存儲器設計[J].測控技術,2011(12):79-81.

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 欧美在线一二区| 久久免费精品琪琪| 免费看av在线网站网址| 亚洲国产成人久久精品软件| 真人高潮娇喘嗯啊在线观看| 亚洲视频三级| 国产黄在线免费观看| 台湾AV国片精品女同性| 国模粉嫩小泬视频在线观看| 欧美不卡视频在线观看| 久久久精品国产亚洲AV日韩 | 久久精品aⅴ无码中文字幕| 国产精品网址你懂的| 理论片一区| 欧美一级专区免费大片| 少妇高潮惨叫久久久久久| 色噜噜在线观看| 色综合色国产热无码一| 欧美日本在线一区二区三区| 日韩毛片基地| 免费一看一级毛片| 伊人久久精品无码麻豆精品| 欧美天堂在线| 色综合天天娱乐综合网| 人妻91无码色偷偷色噜噜噜| 欧洲极品无码一区二区三区| 国产手机在线观看| 国产高清免费午夜在线视频| 夜精品a一区二区三区| 欧美www在线观看| 国产成在线观看免费视频| 亚洲AⅤ永久无码精品毛片| 色偷偷一区二区三区| 国产精品久久国产精麻豆99网站| 日韩福利在线视频| 婷婷亚洲最大| 亚洲VA中文字幕| 成人一区在线| 久久国语对白| 国产精品丝袜视频| 成人综合久久综合| 毛片在线看网站| 国产高潮流白浆视频| 午夜小视频在线| 99久久无色码中文字幕| 欧美精品H在线播放| 四虎AV麻豆| 视频二区国产精品职场同事| 日韩无码黄色| 亚洲va在线∨a天堂va欧美va| 久99久热只有精品国产15| 亚洲色精品国产一区二区三区| 99ri精品视频在线观看播放 | 91精品国产91久久久久久三级| 国产精品美女网站| 日韩精品毛片| 国内精品小视频在线| 91麻豆精品视频| 国产欧美日韩一区二区视频在线| 精品成人免费自拍视频| 最新国产网站| 国产乱子伦一区二区=| 亚洲AⅤ无码日韩AV无码网站| 四虎影视无码永久免费观看| 操操操综合网| 欧美一级片在线| 成人国产精品一级毛片天堂 | 亚洲第一成人在线| 一区二区三区四区精品视频| 99久久国产综合精品2020| 久久无码av一区二区三区| 国产成人区在线观看视频| 中文字幕1区2区| 亚洲精品欧美日本中文字幕| 亚洲欧州色色免费AV| 丁香五月激情图片| 久久中文电影| 成人免费视频一区二区三区| 伊人久热这里只有精品视频99| 欧美日韩国产在线播放| 亚洲一区毛片| 国内99精品激情视频精品|