一種智能密鑰設備的製作方法
2023-06-14 19:07:11 2
專利名稱:一種智能密鑰設備的製作方法
技術領域:
本發明涉及信息安全領域,尤其涉及一種智能密鑰設備。
背景技術:
現在是密碼的時代,網上密碼安全問題已經成為目前最大的網絡安全隱患,網上銀行、網路遊戲、支付平臺、網上證券交易等等各方面,密碼無處不在,帶給我們更多的安全。但是密碼在給我們必要的安全保障的同時,也存在一些問題,一旦密碼丟失或被盜,則帶來很多的麻煩。經常會看到報導網絡密碼被盜的事件,木馬病毒,自我保護意識差被網絡釣魚,或者密碼被暴力破解等等都是造成密碼安全問題的因素,為此有必要採取一些密碼安全的保障措施,為保護網上密碼增設一道屏障。
智能密鑰設備是一種密鑰存儲器,通常由一個MCU(主控制單元)或者是智慧卡晶片再配合一些外圍的器件來實現其功能。MCU等主控制單元可以包含一些IO管腳,可以包含串行通信的接口或者一些其他控制管腳。
在使用智能密鑰設備的時候,一般需要進行用戶密碼的驗證。但是密碼輸入的時候都面臨著前邊提到的密碼使用中遇到的種種不安全的情況,這樣都導致了智能密鑰設備的更多不安全因素。
顯示技術的發展取得了長足的進展,人們不用局限於體積龐大,功耗也很高的顯示器件,體積小耗電低性能優的顯示器件很容易就可以得到,並且不必花費太多的精力就可以開發成功,得到應用。液晶顯示器件、OLED、LED等都是不錯的選擇,尤其液晶技術。液晶顯示具有工作電壓低、功耗低、顯示信息量大、壽命長、不產生電磁輻射汙染、可以顯示複雜的文字及圖形等優點。
輸入裝置的現狀也很樂觀,不僅僅形式多樣,而且可以做到體積小巧,功耗小,開發簡單,成本也不會很貴。
但是,目前卻沒有智能密鑰設備結合顯示裝置和輸入裝置這樣的應用,來更好的保護智能密鑰設備使用過程中的密碼安全。
發明內容
為了更好的保護智能密鑰設備使用過程中的數據的安全,本發明提供一種智能密鑰設備,用戶輸入數據不經過主機端的輸入裝置,直接從智能密鑰設備輸入,而且能夠在每次使用時出現不同的提示,用戶每次根據提示輸入設備的信息也就每次都在變化,這樣就不用擔心木馬程序截獲口令,使得本發明更適合在公共場合使用。
本發明通過以下方案實現一種智能密鑰設備,包括MCU,還包括輸入裝置、顯示裝置,所述輸入裝置、顯示裝置分別與MCU連接;所述顯示裝置包括顯示器件。
所述輸入裝置上的按鍵可以是按鈕、觸摸鍵、微型開關、光電開關、感應式開關等不同形式。
所述顯示器件可以是液晶顯示器件、OLED、LED等任何在價格、性能、外形等等方面滿足用戶需求的顯示器件。
所述輸入裝置和顯示裝置可以是結合在一起的,如觸控螢幕等模塊。
所述智能密鑰設備和主機通過USB接口通信。
所述輸入裝置上的開關可以與MCU直接連接或者通過阻容器件和MCU連接,將輸入裝置的輸入信號直接發送給MCU。
所述輸入裝置還可以包括串行模塊,輸入裝置上的開關通過串行模塊與MCU連接,MCU和輸入裝置通過串行通信方式來獲得輸入的狀態,串行模塊用於採集輸入裝置的輸入信號並且將信息串行輸入到MCU。
所述輸入裝置還可以包括並行模塊,輸入裝置上的按鍵開關通過並行模塊與MCU連接,MCU和輸入裝置通過並行通信方式來獲得輸入的狀態,並行模塊用於採集輸入裝置的輸入信號並且將信息並行輸入到MCU。也可以不使用並行模塊,是開關通過並行方式和MCU連接。
所述輸入裝置的開關可以使用矩陣式連接方式連接到MCU,MCU可以採用掃描方式檢查輸入埠的連接情況,也可以利用中斷和IO結合的方式來判斷輸入埠的情況。
所述顯示裝置的顯示器件可以與MCU直接連接,由MCU直接控制顯示。
所述顯示裝置還可以包括串行模塊,MCU通過串行通信方式和串行模塊通信,串行模塊獲得MCU的輸出數據來控制顯示器件。串行模式可以使用2線、3線等等多種模式。
所述顯示裝置還可以包括並行模塊,MCU通過並行通信方式和並行模塊通信,並行模塊獲得MCU的輸出數據來控制顯示器件。並行模式可以採用8位、4位等多種方式。
所述顯示裝置是液晶顯示裝置的時候,可以與MCU使用總線訪問的方式,液晶顯示裝置的總線控制方式使用起來也比較簡單方便,顯示裝置和MCU通過數據總線以及其他的控制信號線共同完成豐富多彩的顯示。
智能密鑰設備根據數據處理的需要在顯示裝置上顯示一些提示的數據,這些提示可以是每次都固定不變的也可以是每次都在變化的,信息在顯示之前根據不同的需要被智能密鑰設備按照一定的規則進行變化處理之後再顯示;通過智能密鑰設備上的輸入裝置輸入數據,智能密鑰設備直接對該數據進行處理。這些提示的數據可以是對密碼的提示,輸入數據可以是密碼,智能密鑰設備所作的處理可為密碼驗證。這樣免去了用戶私密信息固定不變的模式,並且通過連接於智能密鑰設備的輸入裝置輸入到智能密鑰設備中,避免了私密信息需要輸入到應用端的不安全操作,進而避免木馬程序盜得變化較少的用戶密碼。
當智能密鑰設備在顯示裝置上顯示提示信息,提示輸入數據時,通過智能密鑰設備上的輸入裝置輸入數據,智能密鑰設備對輸入的數據經過加密處理之後再發送給主機,主機解密後使用,或者智能密鑰設備不作處理,直接發送給主機使用。以上應用可防止鍵盤漏洞。
智能密鑰設備也可以根據網絡遠端或者是主機端應用程式的需求,在顯示裝置上提示需要輸入的信息,這些信息也可以是每次不變或者變化的,顯示的信息在顯示之前根據應用的不同需求經過處理,或按照規則進行變化或者智能密鑰設備對其作加密處理或者不作任何處理直接顯示,通過智能密鑰設備上的輸入裝置輸入數據,主機將智能密鑰設備輸入的數據發送給網絡遠端處理或者輸入主機端交給應用程式使用。這些提示的信息可以是登錄網絡的密碼的提示,也可以是應用需要的一些關鍵信息,這些信息參與到網絡遠端登錄網絡的驗證或者是應用程式使用中。輸入的數據可為登錄網絡的密碼,網絡遠端所作的處理為登錄驗證。輸入的數據也可以是應用需要的關鍵信息,發送給應用程式使用。上面提到的信息顯示之前所作的變化或者運算可以是加密算法運算、散列運算或其他自定義算法,具體來說可以包含RSA、DES、3DES、HMAC-MD5、TEA以及取反、倒序、異或等等。此外,當在提示輸入密碼時,按輸入裝置上的特定按鍵開關,可從顯示裝置獲得一個一次性密碼,然後將這個一次性口令通過輸入裝置輸入給應用程式使用,從而使智能密鑰設備提供一次性口令的功能。
本發明避免了固定不變的用戶密碼通過主機端的輸入裝置輸入潛在存在密碼安全隱患的主機端,防止木馬程序竊取用戶的私密信息,並且不會削弱設備本身的安全特性。本發明還可以防止鍵盤漏洞,更有效的保護用戶需要使用的數據。顯示裝置的提示信息可以是每次都在隨機變化的,並且設備和用戶中間存在約定的規則,可以按照顯示裝置的提示分別獲得各自正確的密碼。只要這個規則不洩漏,密碼就是安全的。而且是每次在變化的,甚至可以做到是一次性的,大大的增加了密碼的隨機性,並且用戶不必每次都記得設備的密碼,防止為了記憶簡單導緻密碼設置簡單易於被破解。輸入裝置和顯示裝置在製作上可以做到簡潔、小巧,易用等特點,因此設備本身的易用、便攜等優點也不會受到影響。而且,顯示裝置的加入,使得智能密鑰設備從外觀上來說更新穎、美觀。另外,輸入裝置和顯示裝置的加入不會增加太多的開發成本和設備成本,因此也不會導致開發難度加大等問題。隨著輸入裝置和顯示裝置的新技術的發展,智能密鑰設備附加輸入裝置和顯示裝置的方式將會得到更好的發展。輸入裝置和顯示裝置附加在智能密鑰設備上的模式,使得密碼信息得到更好的保護,更方便用戶的使用,為智能密鑰設備拓展出新的天地。
圖1是本發明的硬體結構框圖;圖2是本發明實施例1的內部連接的示意圖;圖3是本發明進行PIN碼驗證以及登錄網絡的應用流程圖;圖4是本發明進行鍵盤加密流程圖;圖5是本發明使用一次性口令功能的流程圖;圖6是本發明實施例2的內部連接的示意圖;圖7是本發明實施例3的內部連接的示意圖。
具體實施例方式
下面結合附圖和具體實施例對本發明進行更詳細的描述。
實施例1如圖1所示,為本發明的硬體結構框圖。其中智能密鑰設備101和主機端104的USB埠連接。MCU105負責完成智能密鑰設備101的功能,當然此處也可以根據需要為MCU105擴展別的外圍電路。如果MCU105部分不能直接和主機104通信,還可以為MCU105加上接口單元(圖中未示)用來和主機104連接並輔助MCU105完成通信。輸入裝置107與MCU105通訊,將接收到的輸入信號發送給MCU105。顯示裝置106接收MCU105的輸出信號完成顯示功能。
如圖2所示,輸入裝置和MCU採用矩陣式連接方式。在IO不充足的情況下,輸入用開關可以採用矩陣式連接的方式,用X+Y個IO口通過掃描方式檢查輸入埠,判斷X*Y個按鍵開關的開關情況。也可以利用中斷和IO結合的方式來判斷輸入埠的情況。
在圖2中,每條水平線和垂直線不是直接連通,通過一個按鍵開關連接,這樣7個IO口可以構成12個按鍵開關,這種排列方式會比直接連接的複雜,識別起來也會複雜一些。圖中列線通過電阻連接正電源VCC,將行線對應的IO(P1.0~P1.2)作為輸出,列線連接的IO(P1.3~P1.6)作為輸入,這樣,行線輸出低電平,在沒有按鍵開關按下的時候所有輸入端都是高電平,相反有按鍵開關按下的時候對應的列線所在的輸入埠為低電平。通過將行線分別置低的方式來判斷是哪一根行線上的按鍵開關被按下,由此確定了唯一的一個位置,從而確定是哪個位置的按鍵開關按下,通過查表或別的方式獲得對應的輸入值。
MCU與顯示裝置採用總線訪問方式,圖中DB0~DB7是數據線,和MCU的數據線連接,C/D是通道選通信號,C/D為1表示指令,C/D為0表示數據通道,CS為片選信號,RD和WR分別為讀控制和寫控制信號線,和MCU的各個可以用於控制的管腳連接。MCU通過這些數據線和控制線來設置所需要的顯示方式,並傳輸需要顯示的信息給顯示裝置。對各個管腳的訪問時序可以由MCU控制。
如圖3中所示,當步驟301智能密鑰設備連接到主機之後,步驟302智能密鑰設備收到來自主機的應用程式請求,主機端要求對智能密鑰設備的使用,則步驟303,智能密鑰設備通過顯示裝置顯示密碼提示碼提示用戶進行數據輸入,這個步驟中,智能密鑰設備按照不同的使用需求對待顯示的數據進行運算或者其他處理或者不作任何處理,然後再顯示,提示用戶需要利用智能密鑰設備上的輸入裝置輸入數據,即PIN碼或者關鍵信息,步驟304用戶在看到提示信息之後通過輸入裝置進行輸入,並不是將這些信息通過主機端的輸入裝置輸入到主機。本例中按照下邊的流程應用,智能密鑰設備獲得用戶輸入的信息後,步驟305判斷是否是驗證PIN碼,如是,則進行步驟306,在設備內執行用戶PIN碼校驗,步驟307判斷驗證是否成功,如驗證通過,步驟308用戶可以繼續使用智能密鑰設備進行相關的其他操作,驗證失敗則步驟309用戶為非法,智能密鑰設備不能繼續工作。如果步驟305判斷為否,則智能密鑰設備此時用作網絡登錄的應用,步驟310主機將從輸入裝置獲得的關鍵信息發送給網絡遠端用於登錄網絡,使這一關鍵信息參與到登錄過程的驗證當中,這個關鍵信息在從輸入裝置獲得以後可先由智能密鑰設備進行加密處理以後再傳輸給主機,主機發送給網絡遠端使用;也可以從智能密鑰設備不作處理就發送給主機由主機端進行加密處理然後再發送給網絡遠端。步驟311判斷登錄是否成功,如驗證通過登錄成功,則步驟312用戶可以正常的訪問網站信息,否則步驟313用戶將被拒絕使用網站信息。在實際的使用中,步驟305以及305之後的兩種應用可以分別使用,不做在一起。
上面提到的顯示裝置的提示和正確的PIN碼之間存在一定的法則,只要用戶和設備遵守共同的私密的法則,則這種PIN碼校驗方式即為相對安全的。即顯示裝置顯示的提示信息並不是用戶要輸入的數據,智能密鑰設備採用和用戶約定的計算法則,例如對提示信息倒序,或者是異或,對數據進行處理,然後作為給用戶的提示數據,用戶在得到提示信息之後對數據作相應的變化從而得到用戶應該輸入的信息,然後用戶將這個新計算得到的信息輸入給智能密鑰設備作為PIN碼校驗的數據。對這種變化法則簡單的舉例來說明一下。當智能密鑰設備需要輸入的信息是1234的時候,智能密鑰設備對這個數據進行變化,倒序變化為4321,然後通過顯示器件顯示;用戶通過顯示裝置看到的提示信息即為4321,於是用戶作互逆的處理即也倒序處理得到1234,然後將1234輸入到智能密鑰設備用於校驗密碼使用。這種提示以及計算方式也可以簡化為直接使用提示的信息作為輸入,或者提示的信息是每次使用的時候隨時隨機生成的,增加了使用的靈活性。提示的信息可以是在每次變化的,甚至可以做到是一次性的。大大的增加了密碼的隨機性,並且用戶不必每次都記得設備的密碼,防止用戶為了記憶簡單導緻密碼設置簡單易於被破解。
圖4為智能密鑰設備的另一種工作方法,實現類似鍵盤加密的功能。即通過輸入裝置輸入的數據並不是直接被智能密鑰設備拿來使用,而是通過智能密鑰設備對數據進行處理,比如加密或者重新編碼,然後發送給應用程式使用,也可以不作處理,直接發送給應用程式。例如進行網絡登錄或者別的需要和用戶交互信息的應用。這種應用可以防止鍵盤漏洞,更有效的保護用戶需要使用的數據。步驟401,連接智能密鑰設備到主機的USB埠,步驟402,智能密鑰設備接收主機請求對設備的使用,例如應用準備登錄網絡的時候網絡要求身份識別口令,步驟403智能密鑰設備的顯示裝置顯示提示用戶從輸入裝置輸入數據,步驟404用戶將數據通過輸入裝置輸入給設備,步驟405智能密鑰設備接收到數據之後對數據做加密處理,步驟406智能密鑰設備將處理後的數據發送給主機,例如作為口令登錄網絡,步驟407主機有了用戶的處理過的數據之後即可進行相關的操作,例如正確的口令,則登錄成功;錯誤的口令,則登錄失敗。
圖5為智能密鑰設備的另一種工作方法,實現一次性口令功能。步驟501,智能密鑰設備連接到主機;步驟502,智能密鑰設備接收到應用程式的口令驗證請求;步驟503,用戶按輸入裝置上的特定按鈕,生成一個一次性口令;步驟504,顯示裝置顯示這個一次性口令;步驟505,用戶看到一次性口令之後通過輸入裝置輸入或者不使用輸入裝置而是利用這個一次性口令進行別的操作;步驟506,智能密鑰設備將數據發送給應用程式;步驟507,應用程式使用該數據工作。
實施例2如圖6所示,輸入裝置和MCU採用串行通信的方式。輸入裝置通過一個串行模塊和一些用於輸入的開關組成,該串行模塊為併入串出器件,將並行輸入的信息轉換成串行的信號發送給智能密鑰設備的MCU,MCU根據收到的串行信號判斷是對應著什麼樣的輸入。該串行模塊可以採用74系列的並行輸入轉為串行輸出的74166。
圖6中MCU和顯示裝置之間並行連接,可以利用主控晶片的IO等控制數碼管的顯示。顯示器件採用數碼管,也可以採用幾個數碼管集成在一起的模塊,顯示控制非常方便。智能密鑰設備需要顯示的內容通過這些數碼管顯示,顯示的內容是用戶輸入的提示信息。
本實施例的工作過程同實施例1。
實施例3輸入裝置和MCU採用並行通信的方式。輸入裝置可以由開關直接構成和MCU並行連接,MCU直接獲得開關輸入的狀態。也可以包括並行模塊,輸入裝置上的按鍵開關通過並行模塊與MCU連接,MCU和輸入裝置通過並行通信方式來獲得輸入的狀態,並行模塊用於採集輸入裝置的輸入信號並且將信息並行輸出給MCU。這種並行模塊的應用可以作為輸入的一個緩存,這裡就不畫出相關的示意圖了。
如果智能密鑰設備的MCU有足夠的IO口的話,即可為每一個按鍵開關連接一個IO口,這樣很容易的就可以實現輸入裝置和MCU連接。
如圖7所示,圖中輸入裝置可以是一個10路的開關,分別對應MCU的10個輸入IO口。當有開關按下的時候,相應的IO口會獲得相關的輸入信息。通過查表的方式即可獲得輸入的數字。同時,圖7所示的連接方式也體現了開關通過阻容和MCU連接這種情況。
圖7中MUC和顯示裝置之間通過串行方式通信。MCU的Data和Clk信號分別提供串行通信需要的數據以及時鐘,顯示器件可以採用數碼管,它和串並轉換的晶片(例如74LC164)共同構成顯示裝置,當有顯示需求的時候設備的MCU發送串行數據到串入並出轉換晶片,將串行數據轉換為對數碼管的控制信號,輸出到顯示裝置。顯示器件即可顯示MCU需要輸出的數字了。如果一個顯示裝置不夠的話還可以並行的連接多個,以達到目的。
本實施例的工作過程同實施例1。
以上對本發明所提供的一種智能密鑰設備,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其實現思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種智能密鑰設備,包括MCU,其特徵在於還包括輸入裝置和顯示裝置,所述輸入裝置、顯示裝置分別與MCU連接;所述顯示裝置包括顯示器件。
2.根據權利要求1所述智能密鑰設備,其特徵在於輸入裝置上的開關為按鈕或觸摸鍵或微型開關或光電開關或者感應式開關。
3.根據權利要求1所述智能密鑰設備,其特徵在於所述顯示器件為液晶顯示器件或OLED或LED。
4.根據權利要求1所述智能密鑰設備,其特徵在於所述輸入裝置和顯示裝置是觸控螢幕模塊。
5.根據權利要求1所述智能密鑰設備,其特徵在於智能密鑰設備通過USB接口和主機通信。
6.根據權利要求1或2所述智能密鑰設備,其特徵在於所述輸入裝置上的開關與MCU直接連接或通過阻容器件和MCU連接,將輸入裝置的輸入信號直接發送給MCU。
7.根據權利要求1或2所述智能密鑰設備,其特徵在於所述輸入裝置包括串行模塊,輸入裝置上的開關通過串行模塊與MCU連接,MCU和輸入裝置通過串行通信方式來獲得輸入的狀態,串行模塊用於採集輸入裝置的輸入信號並且將信息串行輸入到MCU。
8.根據權利要求1或2所述智能密鑰設備,其特徵在於所述輸入裝置包括並行模塊,輸入裝置上的開關通過並行模塊與MCU連接,MCU和輸入裝置通過並行通信方式來獲得輸入的狀態,並行模塊用於採集輸入裝置的輸入信號並且將信息並行輸入到MCU。
9.根據權利要求1或2所述智能密鑰設備,其特徵在於所述輸入裝置的開關矩陣式連接到MCU。
10.根據權利要求1或3所述智能密鑰設備,其特徵在於所述顯示裝置的顯示器件與MCU直接連接,由MCU直接控制顯示器件顯示。
11.根據權利要求1或3所述智能密鑰設備,其特徵在於所述顯示裝置包括串行模塊,MCU通過串行通信方式和串行模塊通信,串行模塊獲得MCU的輸出數據來控制顯示器件。
12.根據權利要求1或3所述智能密鑰設備,其特徵在於所述顯示裝置包括並行模塊,MCU通過並行通信方式和並行模塊通信,並行模塊獲得MCU的輸出數據來控制顯示器件。
13.根據權利要求1或3所述智能密鑰設備,其特徵在於所述顯示裝置與MCU使用總線訪問的方式,顯示裝置和MCU通過數據總線以及控制信號線共同完成顯示。
14.根據權利要求1所述智能密鑰設備,其特徵在於智能密鑰設備根據數據處理的需要在顯示裝置上顯示提示的信息,通過智能密鑰設備上的輸入裝置輸入數據,設備對這些輸入的數據進行處理。
15.根據權利要求1所述智能密鑰設備,其特徵在於智能密鑰設備根據網絡遠端或者是主機端應用程式的需求,在顯示裝置上顯示提示信息,通過智能密鑰設備上的輸入裝置輸入數據,主機將智能密鑰設備輸入的數據發送給網絡遠端處理或者輸入主機端交給應用程式使用。
16.根據權利要求9所述智能密鑰設備,其特徵在於MCU採用掃描方式檢查輸入埠的連接情況,或利用中斷和IO結合的方式來判斷輸入埠的情況。
17.根據權利要求14所述智能密鑰設備,其特徵在於輸入的數據為密碼,智能密鑰設備所作的處理為密碼驗證。
18.根據權利要求15所述的智能密鑰設備,其特徵在於顯示的信息以及通過輸入裝置輸入的數據是與登錄網絡的密碼或者是應用程式中的關鍵信息相關的信息,這些信息參與到網絡遠端登錄網絡的驗證或應用程式使用中。
19.根據權利要求15所述的智能密鑰設備,其特徵在於智能密鑰設備對輸入的數據經過加密處理之後發送給主機,主機再解密使用;或者智能密鑰設備不作處理,直接發給主機使用。
20.根據權利要求14或15所述的智能密鑰設備,其特徵在於智能密鑰設備發送到顯示裝置的提示信息固定不變或是每次不同,根據應用的要求,顯示的信息經過智能密鑰設備進行運算變化之後,再顯示在顯示裝置上。
21.根據權利要求20所述的智能密鑰設備,其特徵在於信息在提供給顯示器件顯示之前所作的變化和運算包括加解密算法運算、散列運算、自定義算法運算。
22.根據權利要求21所述的智能密鑰設備,其特徵在於變化和運算為RSA、DES、3DES、HMAC-MD5、TEA以及取反、倒序、異或運算。
全文摘要
本發明公開了一種智能密鑰設備,包括MCU,還包括輸入裝置、顯示裝置,所述輸入裝置、顯示裝置分別與MCU連接;所述顯示裝置包括顯示器件。智能密鑰設備根據數據處理的需要在顯示裝置上顯示提示的信息,通過智能密鑰設備上的輸入裝置輸入數據,設備對這些輸入的數據進行處理。也可以根據網絡遠端或者是主機端應用程式的需求,在顯示裝置上提示信息,通過輸入裝置輸入數據,主機將輸入的數據發送給網絡遠端處理或者交給應用程式使用。本發明有效避免了用戶密碼通過主機端的輸入裝置輸入存在密碼安全隱患的主機端,防止木馬程序竊取用戶的私密信息,且不會削弱本身的安全性。本發明還可以防止鍵盤漏洞,更有效地保護用戶的數據。
文檔編號H04L29/06GK1921392SQ20061011318
公開日2007年2月28日 申請日期2006年9月19日 優先權日2006年9月19日
發明者陸舟, 於華章 申請人:北京飛天誠信科技有限公司