首頁 / 應用電子技術 / (usb加密芯片)

        (usb加密芯片)

        Time:2024-01-04 10:28:31 Read:152 作者:CEO

        摘要:本文介紹了采用CH375和單片機實現的一種基於USB HOST技術的嵌入式文件加解密係統。本係統采用基於隨機算子的輕量級加密算法對USB移動存儲設備中的文件進行加密。加密和解密文件。關鍵詞:USB HOST加解密' title='加解密' 加解密' title='文件加解密' title='文件加解密'文件加解密' 文件加解密隨機算子嵌入式係統信息通信技術隨著信息安全和通信加解密的快速發展,個人隱私在軍事情報、國家秘密等方麵尤為突出。數據加密技術' title='加密技術' 加密技術無疑是保護信息安全最有效的方法。傳統的文件加密方法基於PC平台,無法滿足移動應用的應用需求。基於PC的加密技術要求明文到密文的轉換必須經過PC鏈路。如果不能保證PC軟件和硬件絕對可靠,則可能會丟失機密性。該係統基於嵌入式設計,可以便攜式使用,並且在完成加密或解密過程後,可以擦除芯片程序或破壞芯片,以避免加密和解密硬件的丟失。這種設計提高了係統的安全性,並提供了便攜使用的可能性。具有一定的理論意義和較高的使用價值。 1 USB HOST 控製器CH375 CH375 是USB 總線通用接口芯片,支持USB HOST 主機模式和USB DEVICE/SLAVE 設備模式。 CH375具有8位數據總線、讀、寫、片選控製線和中斷輸出,可以方便地連接到微控製器/DSP/MCU/MPU等控製器的係統總線上。 CH375的USB主機模式支持常用的USB全速設備。外部微控製器可以根據相應的USB協議通過CH375與USB設備進行通信。 CH375 還具有內置固件,可處理大容量存儲設備的特殊通信協議。外部微控製器可以直接以扇區為基本單位讀寫常用的USB存儲設備(包括USB硬盤/USB閃存盤/U盤)[1]。 CH375的接口框圖如圖1所示。 2 係統結構嵌入式文件加解密係統主要分為四部分:計算處理模塊、按鈕及狀態顯示模塊、USB通信模塊、電源模塊。係統結構框圖如圖2所示。計算處理模塊由P89V51RD2單片機、32KB RAM 62256及其外圍電路組成,負責加解密計算和整個係統的控製。密鑰產生用於加密和解密操作的控製信號,LED顯示當前係統狀態。 USB通信模塊對USB存儲設備進行數據傳輸和文件操作。電源模塊為係統供電,並為USB總線提供5V供電電壓。 3 本係統中基於CH375 的USB HOST 硬件設計實現3.1 CH375 與P89V51RD2 單片機的接口部分CH375 與P89V51RD2 單片機的接口如圖3 所示。CH375 的TXD 引腳通過下拉電阻接地。 1k左右的電阻或直接接地,使CH375工作在並口模式。 CH375的CS#連接到單片機的A15引腳。端口地址範圍為0000H~7FFFH。為了避免衝突,外部RAM地址在8000H以上。電容C3用於CH375內部電源節點的去耦。 C3為獨石或高頻陶瓷電容器,容量為0.01F。電容C4和C5用於外部電源去耦。 C4為獨石或高頻陶瓷電容器,容量為0.1F。晶體X1、電容器C1、C2組成CH375的時鍾振蕩電路。 USB-HOST主機模式需要相對準確的時鍾頻率。 X1的頻率為12MHz0.4。 C1、C2為獨石或高頻陶瓷電容器,容量約為15pF。如果上電過程緩慢且斷電後放電時間較長,CH375將無法可靠複位。因此,在RSTI引腳與VCC之間接一個容量為0.47F的電容C11,可以減少幹擾。

        設計印刷電路板PCB時,需要注意:去耦電容C3、C4應盡量靠近CH375所連接的引腳;使UD+、UD-信號線接近平行走線,並盡量在兩側提供地線或覆銅,以減少外界幹擾信號幹擾;盡量縮短XI、XO管腳相關的信號線長度,以減少高頻時鍾對外界的幹擾,並在相關元件周圍用地線或鍍銅層包圍。 3.2 P89V51RD2 單片機擴展部分P89V51RD2 單片機擴展部分電路圖如圖4 所示。MCS-51 單片機使用U2 來鎖存A7~A0 地址。 U3用於簡單地址譯碼,產生所需的片選信號,因此本係統中CH375芯片的片選地址範圍為B000H~BFFFH。本係統中CH375需要占用兩個地址:地址BXX1H用於寫命令,地址BXX0H用於讀寫數據。 3.3 電源電路部分電源電路部分如圖5所示,用於給USB總線供電。設計時除了考慮自身功耗外,更重要的是保證為總線提供直流5V/500mA電源。本設計采用的芯片均工作在直流5V,因此采用常見的直流電壓轉換芯片A7805。係統工作時,隻需外接能夠輸出7V至20V直流電壓的電源適配器(可插入鋰電池組或連接汽車12V電源方便攜帶使用)。 4 係統軟件設計4.1 係統工作流程CH375 的文件讀寫模式分為扇區模式和字節模式。本係統采用較快的扇區模式,每次讀取4個扇區的數據,循環讀寫直至文件末尾。其工作流程如圖6所示。 4.2 單片機軟件編寫單片機軟件相對複雜。以下是編寫CH375程序時的要點: CH375芯片占用兩個地址位。單片機的A0腳為選定的命令數據口,通過8位並口對CH375芯片進行讀寫。所有操作命令均由命令碼、若幹輸入數據和若幹輸出數據'title='輸出數據'輸出數據組成。有些命令不需要輸入數據,有些命令沒有輸出數據[2]。 CH375 上單片機的操作步驟如下: (1) 當A0=1 時,向命令口寫入命令碼; (2) 如果命令有輸入數據,則在A0=0 時依次寫入輸入數據,一次一個字節; (3) 如果命令有輸出數據,則在A0=0時依次讀取輸出數據,一次一個字節; (4) 命令執行完畢後,可以暫停或轉到(1)繼續執行下一條命令。 CH375芯片專門用於處理USB通信。 CH375接收到數據或發送數據後,以中斷方式通知單片機進行處理。 CH375 內部中斷邏輯圖如圖7 所示,單片機通過CH375 芯片接收數據的處理步驟如下: (1) 當CH375 接收到來自USB 主機的數據時,首先鎖定當前USB 緩衝區以防止被後續數據覆蓋,然後將INT# 引腳設置為低電平。向微控製器請求中斷。 (2) 當單片機進入中斷服務程序時,首先執行GET_STATUS命令來獲取中斷狀態。 (3) GET_STATUS 命令完成後,CH375 將INT# 引腳恢複為高電平並取消中斷請求。 (4) 由於通過上述GET_STATUS 命令獲取到的中斷狀態為“下載成功”,因此單片機執行RD_USB_DATA 命令來讀取CH375 接收到的數據。 (5)CH375在RD_USB_DATA命令完成後釋放當前緩衝區,以便USB通信可以繼續。 (6)單片機退出中斷服務程序。單片機通過CH375芯片發送數據的處理步驟如下: (1)單片機執行WR_USB_DATA命令,將要發送的數據寫入CH375。 (2)CH375被動等待USB主機在需要時檢索數據。

        (usb加密芯片)

        (3) USB主機取走數據後,CH375首先鎖定當前USB緩衝區,防止數據重複發送,然後將INT#引腳設置為低電平,向單片機請求中斷。 (4) 當單片機進入中斷服務程序時,首先執行GET_STATUS命令來獲取中斷狀態。 (5) GET_STATUS 命令完成後,CH375 將INT# 引腳恢複為高電平並取消中斷請求。 (6) 由於通過上述GET_STATUS 命令獲取到的中斷狀態為“上傳成功”,因此單片機執行WR_USB_DATA 命令寫入另一組要發送到CH375 的數據。如果沒有後續數據發送,則微控製器不需要執行WR_USB_DATA命令。 (7) 微控製器執行UNLOCK_USB命令。 (8)UNLOCK_USB 命令完成後,CH375 釋放當前緩衝區,以便USB 通信可以繼續。 (9)單片機退出中斷服務程序。 (10)如果單片機已寫入另一組要發送的數據,則轉(2),否則結束。 4.3 加密算法設計本係統采用基於隨機因素的輕量級加密算法。傳統的替代和替代加密技術都比較脆弱。同一文件或所有文件中相同的明文M是相同的密文C,因此通過頻率統計很容易破解。針對傳統置換加密技術的缺點,本係統在加密文件時加入了隨機因素,使得明文在不同的位置對應的密文會有所不同。基本過程如下: (1) 首先,將明文M 采用某種方法進行“無序”排序:例如,將每10 個字節分成一組,先在每組內按倒序排列,然後交換組內的奇數和偶數位置,完成組換位的目的。 (2)其次,對“混沌”排序的二級明文M進行加密:加密後的明文到密文的轉換不是固定的,而是隨機的,稱為隨機加密因子。基本過程如下: 取出二次明文中當前需要加密的字節SB。 計算SB的隨機加密因子Factor。 將SB轉換為DB,DB=SB XOR Factor[3]。其中SB為明文,DB為加密後的密文。隨機加密因子Factor由兩部分組成:密鑰Key和SB的位置偏移p(mod 256)。設密鑰為:“華中科技大學EI DSP實驗室Zoe”,共69個字符。當前需要加密的二級明文是字母A(SB的ASCII碼是65,它在文件中的偏移量p是第234個字節)。密鑰計算方法如下: 234 mod 69=27,密碼密鑰中的第27個字母為i(ASCII碼為105),因此Key=105。隨機加密因子Factor=(105+234=339)mod 256=73。密文DB=SB XOR因子=65 XOR 73=8。如果第236個字節也是字母A,則可以計算出對應的Factor=85,密文為17。可見,同一個明文在文件中的位置不同,對應的密文也不同,這使得很難通過頻率統計來破解。係統硬件可以與計算上不複雜的任何加密算法一起使用。 5 係統實驗結果與討論5.1 供電測試根據USB規範,當USB總線連接USB設備時,總線需要提供大約500mA的電流。連接USB 存儲設備時不可避免地會出現瞬時電壓下降。如果壓降太大,係統將無法正常工作。這裏,需要對係統工作時的電壓進行監測。測試結果顯示,連接USB設備時電壓高於4.6V,係統無異常。 5.2 文件加密精度測試使用本係統對U盤中1KB到1MB的10個文件進行加密,並使用UltraEdite-32自動將得到的密文與正確的密文進行比較。結果全部正確。可見加密過程更加可靠。

        5.3 速度測試使用本係統對U盤中大小為1KB至10MB的10個文件進行加密,並記錄完成時間(從按鍵操作到LED顯示完成)。實測平均加密速度為35KB/s,與CH375宣稱的100KB/s至200KB/s的讀寫速度相去甚遠。原因是加密操作涉及讀取明文和寫入密文,使數據傳輸量增加一倍;並且加密計算也占用了單片機的工作時間。為了提高速度,可以使用高性能的MCU,也可以對某些子程序使用混合彙編語言編程。本文詳細介紹了基於CH375和51單片機的嵌入式USB文件加解密係統的設計。該係統將文件加密和解密與PC機分離,方便易用,並且采用隨機加密因子,與傳統方法相比,大大提高了密文的抗破解能力。參考文獻[1]馬偉計算機USB係統原理及主從設計[M].北京:北京航空航天大學出版社,2004[2]USB總線通用接口芯片CH375 U盤文件級子程序庫說明。南京勤恒電子有限公司,2004[3]施林祥,何海輝,魏樹濤。一種文件加密方法的實現,計算機工程,2004,(12)。

        Copyright © 2002-2024 應用電子技術網 版權所有 
        備案號:

        免責聲明: 1、本站部分內容係互聯網收集或編輯轉載,並不代表本網讚同其觀點和對其真實性負責。 2、本頁麵內容裏麵包含的圖片、視頻、音頻等文件均為外部引用,本站一律不提供存儲。 3、如涉及作品內容、版權和其它問題,請在30日內與本網聯係,我們將在第一時間刪除或斷開鏈接! 4、本站如遇以版權惡意詐騙,我們必奉陪到底,抵製惡意行為。 ※ 有關作品版權事宜請聯係客服郵箱:478923*qq.com(*換成@)