基於可編程片上系統的通用串行總線密碼鎖的製作方法
2023-10-06 10:08:24 2
專利名稱:基於可編程片上系統的通用串行總線密碼鎖的製作方法
技術領域:
本發明涉及一種基於可編程片上系統的通用串行總線密碼鎖,屬於電子和信息安全技 術領域。
背景技術:
可編程片上系統(Programmable System On Chip,簡稱PSoC)器件是賽普拉斯 (Cypress)半導體器件公司於2003年推出的一種可在系統編程的片上系統。它將一個8 位微控制器與可編程數字陣列、可編程模擬陣列集成在一個晶片上,也稱為可配置型混合 信號陣列。PSoC能實現模擬電路、數字電路和微處理器於一體的電子系統的設計,而不 僅僅是模擬或數字電路的設計,使得系統所需的外圍器件減少,集成度得到提高,成本減少。硬體密碼鎖,是用於計算機加解密和身份認證的物理介質。通過內置算法或權威認證 的數字證書,輔以計算功能較強的CPU,硬體密碼鎖可以在其內部完成全部的加解密和認 證工作,而不需要在計算機內存中保存任何數據,從而大大增強加解密及身份認證的可靠 性和安全性,並很好的彌補傳統的口令認證的缺陷。通用串行總線(USB)密碼鎖是屬於硬體密碼鎖的一種。由於USB技術已經逐步成為 最主流的數據傳輸方式,再加上USB技術本身具有的即插即用和高速性等特點,以USB 作為計算機接口的產品越來越多,因此USB密碼鎖就自然成為了硬體密碼鎖產品中的佼 佼者。名稱為"利用USB密鑰輸入/傳輸/顯示用戶信息的方法及裝置"的發明專利,公開 號為CN 101013944A,該技術的不足之處在於1、 上述專利使用密碼鎖上的輸入鍵盤替代普通鍵盤輸入信息並通過網絡發送,而未 設置啟動密碼,當密碼鎖不慎遺失時,拾取者可以使用密碼鎖,可能會給用戶造成損失。且並未闡明使用鍵盤具體類型。2、 上述專利使用獨立的RSA (Rivest, Shamir, Adleman三人提出的算法)公鑰加密認證算法模塊實現加解密和認證,相當於增加了額外的處理晶片,加大了成本。3、 上述專利只是使用了現在已經廣泛應用的加密與認證算法,並未對這些算法進行 進一步探索,提出改良方案。4、 上述專利沒有說明實現密碼鎖的微處理器的類型。發明內容本發明的目的是通過結合兩種常用安全方法即公鑰密碼與動態密碼的優點,克服這兩 種技術各自不足之處,提出一種改進的安全方法,並在可編程片上系統中實現該安全方法, 製作了一種USB密碼鎖。該USB密碼鎖具有安全性好、成本低的特點。本發明提出的基於可編程片上系統的通用串行總線密碼鎖,包括輸入設備,由12個電容傳感器按鍵組成,用於輸入密碼鎖用戶的個人密碼,以啟動 密碼鎖,輸入設備通過鍵盤接口與第一可編程片上系統晶片相連;輸出設備,由三個發光二極體(LED)和一個液晶顯示屏(LCD)組成,其中的三個 發光二極體用於指示密碼鎖工作狀態,液晶顯示屏用於顯示上述輸入設備的輸入信息,並 顯示系統操作提示信息,三個發光二極體(LED)和一個液晶顯示屏(LCD)分別與第一 可編程片上系統晶片相連;第一可編程片上系統晶片(Ul),用於接收上述輸入設備的輸入信息,並接收通用串 行總線接口發送來的數據,從接收的數據中識別密碼鎖用戶指定的應用服務類型,將應用 服務類型和數據發送至第二可編程系統晶片,第一可編程片上系統晶片通過通信總線與第 二可編程片上系統晶片相連;第二可編程片上系統晶片(U2),用於接收上述第一可編程片上系統晶片的應用服務 類型和數據,並根據其中的應用服務類型對其中的數據進行處理,將處理信息發送至第一 可編程片上系統晶片,並通過第一可編程片上系統晶片的通用串行總線接口將處理信息發 送至密碼鎖用戶的電腦,其中數據處理的具體過程是-當應用服務類型為身份認證時,第二可編程片上系統晶片使用FFS零知識協議算法對 數據進行大數的乘法模除運算;當應用服務類型是數據籤名時,第二可編程片上系統晶片使用SHA256散列算法程序 對數據進行數據摘要運算,得到256位的結果數據;當應用服務類型為加、解密時,第二可編程片上系統晶片利用高級加密標準算法對數 據進行加、解密,在每輪加解密運算過程中使用不同密鑰,密鑰的來源是,由前一密鑰使 用SHA256散列算法計算產生後一密鑰;USB通信接口,用於使第一可編程片上系統晶片與密碼鎖用戶電腦之間實現通信。本發明提出的基於可編程片上系統的通用串行總線密碼鎖的優點是1、 本發明使用電容感應按鍵鍵盤,且此鍵盤僅用於密碼鎖的自身啟動過程,數據並 不發送到密碼鎖以外,即使密碼鎖不慎遺失,由於拾取者不知道啟動密碼,無法啟動密碼 鎖,因此可以給予用戶充分的時間掛失,最大程度減少用戶損失。2、 本發明使用零知識(Zero-Knowledge)協議作為身份認證協議,符合公鑰體系(PKI) 標準,即使密碼被竊造成損失,由於公、私鑰分別由用戶和伺服器保存,二者並不相同, 所以被竊責任歸屬明確,不會產生糾紛。3、 本發明使用的對稱加密算法使用了動態密鑰技術,在每次加解密運算時,使用不 同的加密密鑰,體現了動態密鑰的特性,使得攻擊者難以破解,安全性更好。4、 本發明將公鑰認證和動態密鑰兩種算法合二為一,結合二者的優點。這種嘗試在8 位微處理器上取得了優秀的安全性能。5、 本發明算法全部在可編程片上系統晶片的'8位微處理器內部實現,且使用的晶片 可以節省大量外部設備,有效壓縮成本。6、 本發明既可用於和密碼鎖用戶電腦之間的本地安全通信,還可通過網際網路和安裝 有密碼鎖應用程式的遠程電腦之間的安全通信,因此可以用於網絡安全通信的場合。
圖1是本發明密碼鎖的結構示意圖。圖2是本發明密碼鎖中輸入設備的電路圖。圖3是本發明密碼鎖的液晶顯示器驅動接口原理圖。圖4是本發明密碼鎖的I2C接口電路原理圖。
具體實施方式
本發明提出的基於可編程片上系統的通用串行總線密碼鎖,結合附圖及實施例詳細說 明如下本發明是基於Cypress的PSoC晶片研製的密碼鎖,採用雙晶片方案,融合了公鑰體系 和動態密碼的特點。本發明密碼鎖的結構如圖1所示包括輸入設備,由12個電容傳感器按鍵組成,用於輸入密碼鎖用戶的個人密碼,以啟動 密碼鎖,輸入設備的電路圖如圖2所示,按鍵使用3*4形式排列,共有12個按鍵。分別 連接到晶片U1的P0
P0[7], P1[2] P1[4]和P1[6]埠。輸出設備,由三個發光二極體(LED)和一個液晶顯示屏(LCD)組成,其中的三個 發光二極體用於指示密碼鎖工作狀態,液晶顯示屏用於顯示上述輸入設備的輸入信息,並 顯示系統操作提示信息,其中三個發光二極體(LED)的驅動電路為常規驅動電路,每個 LED串聯1個lk歐姆的電阻,當輸入為高電平時LED點亮,LED的驅動信號連接到晶片 Ul的P4埠。液晶顯示屏(LCD)的驅動電路如圖3所示,液晶接口連接到晶片U1的 引腳P2
—P2[6],具體連接方式為P2
—P2[3]連接到液晶顯示信號輸入端DE4—DE7, P2[4]連接到液晶使能端E, P2[5]連接到液晶復位端RS, P2[6]連接到讀寫控制端R/W。第一可編程片上系統晶片(Ul),用於接收上述輸入設備的輸入信息,並接收通用串 行總線埠發送來的數據,從接收的數據中識別密碼鎖用戶指定的應用服務類型,將應用 服務類型和數據發送至第二可編程系統晶片。Ul的型號為CY8C24794。第一可編程片上 系統晶片通過通信總線與第二可編程片上系統晶片相連,其中的通信總線電路為I2C總線 電路,如圖4所示。圖中兩個電阻是上拉電阻,阻值為lk歐姆。I2C通信的數據信號SDA 和地址信號SCL分別連接到晶片U1和U2的P1[5], Pl[7]引腳。第二可編程片上系統晶片(U2),用於接收上述第一可編程片上系統晶片的應用服務類型和數據,並根據其中的應用服務類型,對其中的數據進行處理,將處理信息發送至第 一可編程片上系統晶片,並通過第一可編程片上系統晶片的串行總線埠將處理信息發送至密碼鎖用戶的電腦,U2的型號為CY8C29466。其中數據處理的具體過程是當應用服務類型為身份認證時,第二可編程片上系統晶片使用FFS(Fiege-Fiat-Shamir) 零知識(Zero-Knowledge)協議算法對數據進行大數的乘法模除運算;當應用服務類型是數據籤名時,第二可編程片上系統晶片使用SHA256散列算法程序 對數據進行數據摘要運算,得到256位的結果數據;當應用服務類型為加、解密時,第二可編程片上系統晶片利用高級加密標準(AES, Advanced Encryption Standard)算法對數據進行加、解密,在每輪加解密運算過程中使用 不同密鑰,密鑰的來源是,由前一密鑰使用SHA256散列算法計算產生後一密鑰;這樣既 保證了密鑰的安全性,又保證了第二可編程片上系統晶片使用的密鑰和密鑰鎖用戶電腦中 使用的密鑰保持一致。USB通信接口,用於使第一可編程片上系統晶片與密碼鎖用戶電腦之間實現通信。 本發明密碼鎖的使用過程為用戶首5^用電容傳感器按鍵輸入用戶密碼,啟動密碼鎖。 密碼鎖與密碼鎖用戶的電腦使用FFS (Fiege-Fiat-Shamir)零知識(Zero-Knowledge)協議 相互通信,進行公鑰體系身份認證。認證通過後,密碼鎖與密碼鎖用戶的電腦之間進行通 信,使用高級加密標準算法對通信數據進行加密和解密。這樣就在一次完整的使用過程中 融合了公鑰體系認證與動態密鑰特性。同時使用鍵盤輸入密碼啟動密碼鎖這一方法的引 入,可以降低密碼鎖遺失或被盜後造成的損失。
權利要求
1、一種基於可編程片上系統的通用串行總線密碼鎖,包括輸入設備,由12個電容傳感器按鍵組成,用於輸入密碼鎖用戶的個人密碼,以啟動密碼鎖,輸入設備通過鍵盤接口與第一可編程片上系統晶片相連;輸出設備,由三個發光二極體(LED)和一個液晶顯示屏(LCD)組成,其中的三個發光二極體用於指示密碼鎖工作狀態,液晶顯示屏用於顯示上述輸入設備的輸入信息,並顯示系統操作提示信息,三個發光二極體(LED)和一個液晶顯示屏(LCD)分別與第一可編程片上系統晶片相連;第一可編程片上系統晶片(U1),用於接收上述輸入設備的輸入信息,並接收通用串行總線接口發送來的數據,從接收的數據中識別密碼鎖用戶指定的應用服務類型,將應用服務類型和數據發送至第二可編程系統晶片,第一可編程片上系統晶片通過通信總線與第二可編程片上系統晶片相連;第二可編程片上系統晶片(U2),用於接收上述第一可編程片上系統晶片的應用服務類型和數據,並根據其中的應用服務類型對其中的數據進行處理,將處理信息發送至第一可編程片上系統晶片,並通過第一可編程片上系統晶片的通用串行總線接口將處理信息發送至密碼鎖用戶的電腦,其中數據處理的具體過程是當應用服務類型為身份認證時,第二可編程片上系統晶片使用FFS零知識協議算法對數據進行大數的乘法模除運算;當應用服務類型是數據籤名時,第二可編程片上系統晶片使用SHA256散列算法程序對數據進行數據摘要運算,得到256位的結果數據;當應用服務類型為加、解密時,第二可編程片上系統晶片利用高級加密標準算法對數據進行加、解密,在每輪加解密運算過程中使用不同密鑰,密鑰的來源是,由前一密鑰使用SHA256散列算法計算產生後一密鑰;USB通信接口,用於使第一可編程片上系統晶片與密碼鎖用戶電腦之間實現通信。
全文摘要
本發明涉及一種基於可編程片上系統的通用串行總線密碼鎖,屬於電子和信息安全技術領域。包括用於輸入密碼鎖用戶的個人密碼,以啟動密碼鎖的輸入設備;用於顯示上述輸入設備的輸入信息,並顯示系統操作提示信息的輸出設備;根據輸入信息和USB接口數據,識別密碼鎖用戶指定的應用服務類型的第一PSoC晶片;對應用服務類型和數據進行運算處理的第二PSoC晶片;以及USB通信接口。本密碼鎖使用的身份認證協議符合公鑰體系標準,因此責任歸屬明確,不會產生糾紛;數據的加解密算法使用了動態密鑰技術,攻擊者難以破解,使通信數據的安全性更好;可用於用戶電腦之間的本地安全通信,也可通過網際網路實現與遠程電腦之間的安全通信,應用範圍廣。
文檔編號H04L9/32GK101325492SQ20081011754
公開日2008年12月17日 申請日期2008年8月1日 優先權日2008年8月1日
發明者華成英, 葉朝輝, 冰 肖, 趙彥博, 郝嘯林 申請人:清華大學