亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安全裝置的制作方法

文檔序號:6372724閱讀:386來源:國知局
專利名稱:安全裝置的制作方法
技術領域
這里討論的實施例涉及安全裝置。背景持術近來由于內(nèi)建存儲器(外部存儲裝置)中存儲的數(shù)據(jù)以及電路板線路上流動的數(shù)據(jù)的失竊所致的信息泄漏在增加,因此對增加安全功能的需求在增加。為了滿足這種需求,一種可能措施是向內(nèi)建單元的當前系統(tǒng)增加具有數(shù)據(jù)加密功能的安全芯片(安全裝置)。然后,可通過安全芯片將諸如來自電路板上的主機芯片(主機裝置)的微處理器這樣的存儲器中存儲的數(shù)據(jù)以及通過電路板流動的數(shù)據(jù)加密,因此可以防止信息泄漏。另一方面,在安全芯片將通過主機芯片處理的數(shù)據(jù)加密的情況下,經(jīng)由線路將加
密目標數(shù)據(jù)從主機芯片傳送到安全芯片。換言之,未加密數(shù)據(jù)在主機芯片與安全芯片之間的線路上流動。因此,關于信息泄露的新顧慮是主機芯片與安全芯片之間流動的未加密數(shù)據(jù)的失竊。例如,已經(jīng)使用SSL/TLS和流密碼方法來加密數(shù)據(jù)。在SSL/TLS的情況下,服務器向客戶端發(fā)送公鑰,而客戶端基于接收的公鑰(例如RSA、DH)將隨機數(shù)加密,并將加密的隨機數(shù)發(fā)送給服務器。服務器利用與公鑰成對的密鑰將加密的隨機數(shù)解密,獲得隨機數(shù)。因此雙方共享隨機數(shù),并基于共享的隨機數(shù),根據(jù)公共加密算法(例如AES、DES)產(chǎn)生公共密鑰,以及在發(fā)送/接收數(shù)據(jù)之前基于公共密鑰將數(shù)據(jù)加密。在流密碼方法的情況下,發(fā)送側(cè)(例如客戶端)和接收側(cè)(例如服務器)共享計數(shù)器序列和公共密鑰,并分別利用塊密碼(例如AES、DES)分別產(chǎn)生公共流密碼密鑰序列(隨機數(shù)序列)。發(fā)送側(cè)通過對發(fā)送目標數(shù)據(jù)以及流密碼密鑰串進行異或運算(X0R/E0R)產(chǎn)生加擾數(shù)據(jù),并將結(jié)果發(fā)送給接收側(cè),而接收側(cè)通過對接收的加擾數(shù)據(jù)以及流密碼密鑰串進行異或運算(X0R/E0R)將原始數(shù)據(jù)解密。日本專利申請?zhí)亻_No. 2007-336506以及No. H10-222468公開了加密技術的示例。

發(fā)明內(nèi)容
但是,為了使用傳統(tǒng)加密技術,服務器(接收側(cè))和客戶端(發(fā)送側(cè))兩者都必須有加密器件(例如RSA、AES)。例如,在SSL/TLS的情況下產(chǎn)生隨機數(shù)(將成為公共密鑰源)和公共密鑰時,以及在流加密方法的情況下產(chǎn)生流密碼密鑰序列時,服務器和客戶端兩者都必須有加密器件。這意味著根據(jù)傳統(tǒng)加密技術,為了在主機芯片與安全芯片之間將數(shù)據(jù)加密,必須在主機芯片上也安裝加密器件。因此不能實現(xiàn)初始目的,也就是簡單地通過在當前主機芯片上安裝安全芯片,在主機芯片中實現(xiàn)數(shù)據(jù)加密。此外,加密處理的負載高,并且在主機芯片上安裝加密器件增加了整個系統(tǒng)的負載。根據(jù)實施例,一種連接到主機裝置的安全裝置,該主機裝置包括處理器和存儲單元,該處理器進行加擾運算,該存儲單元中存儲第一認證碼,所述安全裝置包括以下部件存儲單元,其中存儲第一認證碼;隨機數(shù)產(chǎn)生單元,產(chǎn)生隨機數(shù);加密單元,將數(shù)據(jù)加密或解密;以及控制器,進行加擾運算,其中所述控制器通過對隨機數(shù)產(chǎn)生單元產(chǎn)生的隨機數(shù)和第一認證碼進行加擾運算,產(chǎn)生第一加擾密鑰,并將第一加擾密鑰發(fā)送到主機裝置,以及控制器從主機裝置接收通過根據(jù)從第一加擾密鑰獲得的隨機數(shù)對加密目標數(shù)據(jù)進行加擾運算產(chǎn)生的加擾數(shù)據(jù),通過對加擾數(shù)據(jù)和隨機數(shù)進行加擾運算產(chǎn)生加密目標數(shù)據(jù),通過加密單元將加密目標數(shù)據(jù)加密而產(chǎn)生加密數(shù)據(jù),并將加密數(shù)據(jù)發(fā)送到主機裝置。


圖I是描述根據(jù)本實施例的安裝在系統(tǒng)中的半導體裝置100的示例的示意圖。圖2是描述根據(jù)本實施例的主機芯片10和安全芯片20的構(gòu)造的示例的示意圖。圖3是描述根據(jù)第一實施例的主機芯片10與安全芯片20之間的處理的示例的示意圖。圖4是描述根據(jù)第一實施例的主機芯片10與安全芯片20之間的處理的示例的示
意圖。圖5是描述在將加密數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20,并通過安全芯片20的加密單元24將加密數(shù)據(jù)解密的情況下,數(shù)據(jù)的加擾的示意圖。圖6是描述在將加密數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20,并通過安全芯片20的加密單元24將加密數(shù)據(jù)解密的情況下,數(shù)據(jù)的加擾的示意圖。圖7是描述根據(jù)第二實施例的主機芯片10與安全芯片20之間的處理的示例的示意圖。圖8是描述根據(jù)第二實施例的主機芯片10與安全芯片20之間的處理的示例的示意圖。圖9是描述根據(jù)第三實施例的主機芯片10與安全芯片20之間的處理的示例的示意圖。圖10是描述根據(jù)第三實施例的主機芯片10與安全芯片20之間的處理的示例的
示意圖。
具體實施例方式下面根據(jù)附圖描述實施例。但是要注意,技術范圍不限于下述實施例,而是覆蓋權(quán)利要求及其等同物中所述的內(nèi)容。圖I是描述根據(jù)本實施例的安裝在系統(tǒng)中的半導體裝置100的示例的示意圖。圖I中的半導體裝置100包括主機芯片10、安全芯片20、其他單元30、外部存儲器40和通信單元50,并且這些組件經(jīng)由總線連接。安全芯片20經(jīng)由總線或串行線與主機芯片10相連接,并且,例如使用RSA或AES對從主機芯片10傳送的數(shù)據(jù)進行加密處理或解密處理。例如,通過主機芯片10處理的數(shù)據(jù)被傳送到安全芯片20,轉(zhuǎn)換為加密數(shù)據(jù),然后被傳送到外部存儲器40、通信單元50以及其他單元30。經(jīng)由通信單元50從外部設備接收的加密數(shù)據(jù)以及存儲在外部存儲器40中的加密數(shù)據(jù)被傳送到安全芯片20,解密為原始數(shù)據(jù),然后被傳送到主機芯片10并處理。圖2是描述根據(jù)本實施例的主機芯片10和安全芯片20的構(gòu)造的示例的示意圖。根據(jù)本實施例的主機芯片10例如包括處理器11、認證碼Al、認證碼A2以及用于處理器11所進行的處理的存儲器12。安全芯片20例如包括控制器21、存儲器22、認證碼Al、認證碼A2、隨機數(shù)產(chǎn)生單元23以及加密單元24。安全芯片20的隨機數(shù)產(chǎn)生單元23產(chǎn)生真隨機數(shù)或偽隨機數(shù),且安全芯片20的加密單元24對數(shù)據(jù)進行高度加密處理和解密處理。圖2中主機芯片10的處理器11以及安全芯片20的控制器21具有運算功能,例如算術運算和邏輯運算。主機芯片10和安全芯片20共享認證碼Al和認證碼A2。認證碼Al和認證碼A2是大約16位的數(shù)字值,且可從外部設備輸入。下面先描述第一實 施例的處理。認證碼A2不用于第一實施例和第二實施例,僅用于第三實施例。[第一實施例]圖3和圖4是描述根據(jù)第一實施例的主機芯片10與安全芯片20之間的處理的示例的示意圖。圖3和圖4描述在將未加密數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20的情況下數(shù)據(jù)的加擾。具體而言,未加密數(shù)據(jù)被加擾,從主機芯片10發(fā)送到安全芯片20,安全芯片20在加擾狀態(tài)下恢復數(shù)據(jù),并獲得未加密數(shù)據(jù)。安全芯片20將未加密數(shù)據(jù)加密,進一步將數(shù)據(jù)加擾,并將加擾的密碼數(shù)據(jù)發(fā)送到主機芯片10。在本實施例中,主機芯片10和安全芯片20保持相同的認證碼Al。下面先描述對數(shù)據(jù)的加擾運算。根據(jù)本實施例,將異或(下面稱為X0R)運算用于加擾運算。XOR運算被包括在主機芯片10的處理器11和安全芯片20的控制器21的基本處理功能中。在基于XOR運算的加擾運算中,根據(jù)要成為密鑰的數(shù)值將目標數(shù)據(jù)的數(shù)值加擾。具體而言,通過確定與數(shù)值X (數(shù)值X是密鑰)的XOR將目標數(shù)值A加擾,并產(chǎn)生數(shù)值B作為結(jié)果。通過確定數(shù)值B與數(shù)值X的XOR恢復數(shù)值A。換言之,通過產(chǎn)生的加擾數(shù)據(jù)(數(shù)值B)與密鑰(數(shù)值X)的XOR運算將通過數(shù)據(jù)(數(shù)值A)與密鑰(數(shù)值X)的XOR運算產(chǎn)生的加擾數(shù)據(jù)(數(shù)值B)恢復為原始數(shù)據(jù)(數(shù)值A)。在基于XOR運算加擾的情況下,需要密鑰來從加擾數(shù)據(jù)恢復原始數(shù)據(jù)。因為第三方不知道密鑰,所以第三方不能基于加擾數(shù)據(jù)恢復原始數(shù)據(jù)。加擾運算不限于XOR運算。只要能夠恢復原始數(shù)據(jù),就可以通過其他運算,例如算術運算,或者通過XOR運算與算術運算的組合,進行加擾運算。再參照圖3,主機芯片10首先發(fā)出初始化命令,通知安全芯片20啟動處理(a)。當接收初始化命令時,安全芯片20利用隨機數(shù)產(chǎn)生單元23產(chǎn)生隨機數(shù)Rl (b)。然后安全芯片20的隨機數(shù)產(chǎn)生單元23通過對隨機數(shù)Rl和認證碼Al進行XOR運算產(chǎn)生加擾密鑰SI (c)。然后安全芯片20將產(chǎn)生的加擾密鑰S I連同初始化處理結(jié)果一起發(fā)送到主機芯片10(d)。當接收加擾密鑰SI時,主機芯片10通過根據(jù)事先保持的認證碼Al對加擾密鑰SI進行XOR運算,獲得隨機數(shù)Rl (e)。因此主機芯片10和安全芯片20共享隨機數(shù)Rl以及認證碼Al。主機芯片10通過對加密目標數(shù)據(jù)Dl和共享的隨機數(shù)Rl進行XOR運算,產(chǎn)生加擾數(shù)據(jù)Xl (f),并將加擾數(shù)據(jù)Xl連同加密指令一起發(fā)送到安全芯片20 (g)。當接收加密指令和加擾數(shù)據(jù)Xl時,安全芯片20通過根據(jù)隨機數(shù)Rl對加擾數(shù)據(jù)Xl進行XOR運算,獲得數(shù)據(jù)Dl (h)。然后安全芯片20的加密單元24通過對數(shù)據(jù)Dl進行加密處理,產(chǎn)生加密數(shù)據(jù)El (i)。然后安全芯片20通過對加密數(shù)據(jù)El和隨機數(shù)Rl進行XOR運算,產(chǎn)生加擾的密碼數(shù)據(jù)Yl (j)。然后如圖4所示,安全芯片20產(chǎn)生隨機數(shù)R2 (k),隨機數(shù)R2是用于下一加擾的新隨機數(shù)。然后安全芯片20通過對產(chǎn)生的隨機數(shù)R2和隨機數(shù)Rl進行XOR運算,產(chǎn)生加擾密鑰S2 (I)。然后安全芯片20將加擾密鑰S2連同圖3的處理j中產(chǎn)生的加擾的密碼數(shù)據(jù)Yl一起發(fā)送到主機芯片10 (m)。當接收加擾的密碼數(shù)據(jù)Yl和加擾密鑰S2時,主機芯片10通過根據(jù)隨機數(shù)Rl對加擾的密碼數(shù)據(jù)Yl進行XOR運算,獲得加密數(shù)據(jù)El (η)。主機芯片10還通過根據(jù)隨機數(shù)Rl對接收的加擾密鑰S2進行XOR運算,獲得隨機數(shù)R2 (ο)。因此主機芯片10可獲得與加密目標數(shù)據(jù)Dl對應的加密數(shù)據(jù)El,并且新隨機數(shù)R2被主機芯片10和安全芯片20共享。如果下一加密目標數(shù)據(jù)D2仍然存在,則主機芯片10通過對加密目標數(shù)據(jù)D2和新隨機數(shù)R2進行XOR運算,產(chǎn)生加擾數(shù)據(jù)Χ2 (P),并將加擾數(shù)據(jù)Χ2發(fā)送到安全芯片20 (q)。安全芯片20通過根據(jù)隨機數(shù)R2對接收的加擾數(shù)據(jù)X2進行XOR運算,獲得加密目標數(shù)據(jù)D2(r)。就像先前的加密目標數(shù)據(jù)Dl—樣,加密單元24將數(shù)據(jù)D2轉(zhuǎn)換為加密數(shù)據(jù)E2。然后通過對加密數(shù)據(jù)E2和隨機數(shù)R2進行XOR運算,產(chǎn)生加擾密碼數(shù)據(jù)Y2。然后安全芯片20產(chǎn)生隨機數(shù)R3 (未示出),并將隨機數(shù)R3連同加擾密碼數(shù)據(jù)Y2 —起發(fā)送到主機芯片10,隨
機數(shù)R3是用于加擾的新隨機數(shù)。因此,通過在發(fā)送/接收數(shù)據(jù)之前根據(jù)主機芯片10和安全芯片20共享的隨機數(shù)將數(shù)據(jù)加擾,安全芯片20防止了要發(fā)送/接收的數(shù)據(jù)的泄漏。每次進行預定次數(shù)的發(fā)送/接收會話時,改變隨機數(shù),并根據(jù)先前會話的隨機數(shù)(在第一會話的情況下是認證碼Al)將數(shù)據(jù)加擾,并發(fā)送到主機芯片10,主機芯片10根據(jù)該隨機數(shù)恢復加擾數(shù)據(jù),從而共享該數(shù)據(jù)。圖3和圖4中的示例是從主機芯片10向安全芯片20發(fā)送加密目標數(shù)據(jù)(未加密數(shù)據(jù))的情況。下面描述從主機芯片10向安全芯片20發(fā)送解密目標數(shù)據(jù)(加密數(shù)據(jù))的情況。圖5和圖6是描述在將加密數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20,并通過安全芯片20的加密單元24將加密數(shù)據(jù)解密的情況下,數(shù)據(jù)的加擾的示意圖。就像圖3和圖4 一樣,主機芯片10和安全芯片20保持相同的認證碼Al。在圖5中,主機芯片10和安全芯片20共享圖3所示的隨機數(shù)Rl,主機芯片10通過對加密數(shù)據(jù)El和隨機數(shù)Rl進行XOR運算,產(chǎn)生加擾密碼數(shù)據(jù)Yl (f),并連同解密指令一起將加擾密碼數(shù)據(jù)Yl發(fā)送到安全芯片20 (g)。安全芯片20通過根據(jù)隨機數(shù)Rl對接收的加擾密碼數(shù)據(jù)Yl進行XOR運算,獲得加密數(shù)據(jù)El (h)。然后安全芯片20的加密單元24通過將加密數(shù)據(jù)El解密,產(chǎn)生數(shù)據(jù)Dl。然后在數(shù)據(jù)Dl的加擾處理之前,安全芯片20產(chǎn)生新隨機數(shù)R2(j)。安全芯片20通過對新產(chǎn)生的隨機數(shù)R2 (而不是隨機數(shù)Rl (如同圖3的情況))和數(shù)據(jù)Dl進行XOR運算,產(chǎn)生加擾數(shù)據(jù)Xl (k)。與加密數(shù)據(jù)(本示例中為El)相比,當從加擾狀態(tài)恢復數(shù)據(jù)時,未加密數(shù)據(jù)(本示例中為Dl)的泄漏風險更高。因此安全芯片根據(jù)隨機數(shù)R2(新產(chǎn)生且首次使用)而不是隨機數(shù)Rl (之前已經(jīng)用于加擾)將未加密數(shù)據(jù)加擾。這使得更加難以恢復未加密數(shù)據(jù)。但是本實施例不限于本示例,安全芯片20可根據(jù)隨機數(shù)Rl而不是處理k中的隨機數(shù)R2將未加密數(shù)據(jù)Dl加擾。如圖6所示,安全芯片20通過對隨機數(shù)I和隨機數(shù)2進行XOR運算,產(chǎn)生加擾密鑰S2 (I),并將加擾密鑰S2連同加擾數(shù)據(jù)Xl —起發(fā)送到主機芯片10 (m)。主機芯片10通過根據(jù)隨機數(shù)Rl進行XOR運算,獲得隨機數(shù)R2 (ο)。然后主機芯片10通過根據(jù)隨機數(shù)R2對加擾數(shù)據(jù)Xl進行XOR運算,獲得數(shù)據(jù)Dl (η)。因此通過主機芯片10獲得數(shù)據(jù)Dl (數(shù)據(jù)Dl是加密數(shù)據(jù)El的解密數(shù)據(jù)),并通過主機芯片10和安全芯片20共享隨機數(shù)R2。如果待解密的下一加密數(shù)據(jù)Ε2仍然存在,則主機芯片10通過對加密數(shù)據(jù)Ε2和隨機數(shù)R2進行XOR運算,產(chǎn)生加擾密碼數(shù)據(jù)Υ2(ρ)。后續(xù)處理與圖5和圖6中的處理g到處理η相同。因此,為了將數(shù)據(jù)加密,根據(jù)本實施例的安全芯片(安全裝置)20通過對隨機數(shù)產(chǎn)生單元23產(chǎn)生的隨機數(shù)和認證碼進行加擾運算,產(chǎn)生加擾密鑰,并將加擾密鑰發(fā)送到主機芯片(主機裝置)10。安全芯片20從主機芯片10接收通過根據(jù)從加擾密鑰獲得的隨機數(shù)對加密目標數(shù)據(jù)進行加擾運算產(chǎn)生的加擾數(shù)據(jù)。安全芯片20通過對加擾數(shù)據(jù)和隨機數(shù)進行加擾運算,產(chǎn)生加密目標數(shù)據(jù),通過利用加密單元24將加密目標數(shù)據(jù)加密,產(chǎn)生加密數(shù)據(jù),并將加密數(shù)據(jù)發(fā)送到主機芯片10。另一方面,為了將數(shù)據(jù)解密,根據(jù)本實施例的安全芯片20通過對隨機數(shù)產(chǎn)生單元23產(chǎn)生的隨機數(shù)和認證碼進行加擾運算,產(chǎn)生加擾密鑰,并將加擾密鑰發(fā)送到主機芯片
10。安全芯片20還通過利用加密單元24將加密數(shù)據(jù)解密,產(chǎn)生解密數(shù)據(jù),通過對解密數(shù)據(jù)和隨機數(shù)進行加擾運算,產(chǎn)生加擾數(shù)據(jù),并將加擾數(shù)據(jù)發(fā)送到主機芯片10。然后安全芯片20通過使得主機芯片10的處理器11根據(jù)從加擾密鑰獲得的隨機數(shù)對加擾數(shù)據(jù)進行加擾運算,從加擾數(shù)據(jù)獲得解密數(shù)據(jù)。在主機芯片10中,通過首次根據(jù)認證碼以及對于第二或隨后發(fā)送/接收會話的每次會話根據(jù)先前會話的隨機數(shù),對加擾密鑰進行加擾運算,獲得隨機數(shù)。在第二或隨后發(fā)送/接收會話的每次會話中,安全芯片20通過對當前發(fā)送/接收會話的隨機數(shù)和先前發(fā)送/接收會話的隨機數(shù)進行加擾運算,產(chǎn)生加擾密鑰,并將加擾密鑰發(fā)送到主機芯片10。主機芯片10通過根據(jù)先前發(fā)送/接收會話的隨機數(shù)對所發(fā)送的加擾密鑰進行加擾運算,獲得當前發(fā)送/接收會話的隨機數(shù)。因此,根據(jù)本實施例的安全芯片20可通過在發(fā)送/接收之前將與主機芯片10交換的數(shù)據(jù)加擾,防止數(shù)據(jù)的泄漏,而主機芯片10不需要進行高度加密處理的加密單元24。因為安全芯片20不使用將數(shù)據(jù)加擾的高度加密處理,所以能降低系統(tǒng)的負載,并且能防止由于加擾所致通信速度的下降。根據(jù)主機芯片10與安全芯片20之間共享的隨機數(shù)將數(shù)據(jù)加擾。因此即使第三方認識到加擾數(shù)據(jù)是根據(jù)隨機數(shù)加擾,也不能將加擾數(shù)據(jù)恢復,因為第三方不知道隨機數(shù)的數(shù)值。該隨機數(shù)由安全芯片20根據(jù)先前隨機數(shù)(或者認證碼,如果是第一次會話)加擾并發(fā)送到主機芯片10,并且主機芯片10通過根據(jù)先前隨機數(shù)(或者認證碼,如果是第一次會話)恢復加擾的隨機數(shù)來共享隨機數(shù)。因此即使第三方獲得加擾密鑰,也不能從加擾密鑰恢復隨機數(shù)的數(shù)值,除非先前隨機數(shù)(或者認證碼,如果是第一次會話)被檢測到。因此,根據(jù)本實施例的安全芯片20使得難以基于加擾數(shù)據(jù)來恢復數(shù)據(jù),即使第三方認識到數(shù)據(jù)的加擾過程也是如此。根據(jù)本實施例的安全芯片20,只要安全芯片20具有用于產(chǎn)生隨機數(shù)的隨機數(shù)產(chǎn)生單元23就足矣,并且主機芯片10不需要有隨機數(shù)產(chǎn)生單元23。換言之,根據(jù)本實施例的主機芯片10除了事先提供的運算功能之外,在存儲器12中有認證碼就足矣,并且不需要有加密單元24和隨機數(shù)產(chǎn)生單元23。因此只要將本實施例的安全芯片20安裝在具有主機芯片10的傳統(tǒng)系統(tǒng)的電路板上,就可將主機芯片10與安全芯片20之間的數(shù)據(jù)加擾,并能防
止數(shù)據(jù)泄漏。在本實施例中,每次進行預定次數(shù)的發(fā)送/接收會話時,改變用于將數(shù)據(jù)加擾的隨機數(shù)。因此即使第三方分析隨機數(shù),在進行預定次數(shù)的會話之后,用于將數(shù)據(jù)加擾的隨機數(shù)也被改變。因此,本實施例的安全芯片20使得難以連續(xù)分析加擾數(shù)據(jù),因此可將數(shù)據(jù)泄漏范圍最小化。在本實施例中,每次進行發(fā)送/接收會話時改變隨機數(shù),但是改變隨機數(shù)的頻率不限于此。改變隨機數(shù)的頻率 可以是每進行了多次發(fā)送/接收會話時,或者是每次進行發(fā)送或接收處理時。在本實施例中,加密數(shù)據(jù)El和E2也變?yōu)榧訑_目標。但是,在加密數(shù)據(jù)的情況下,即使從加擾狀態(tài)下恢復數(shù)據(jù),數(shù)據(jù)內(nèi)容的泄漏風險也低,這是因為數(shù)據(jù)是加密的。因此,力口密數(shù)據(jù)不必總是加擾目標,并且至少如果恢復了數(shù)據(jù)則其風險高的加密數(shù)據(jù)可以是加擾目標。根據(jù)本實施例的安全芯片20每次進行預定次數(shù)的發(fā)送/接收會話時改變隨機數(shù),但是不改變認證碼。在安全芯片20和主機芯片10中,例如,臨時產(chǎn)生和使用的隨機數(shù)被存儲在諸如RAM的存儲器中,而認證碼被存儲在諸如非易失性存儲器的存儲器中。在非易失性存儲器的情況下,如果電源不穩(wěn)定,或者如果寫入次數(shù)有限制,那么在更新數(shù)據(jù)時可能出現(xiàn)錯誤和數(shù)據(jù)損壞。但是在根據(jù)本實施例的安全芯片20中不改變認證碼,因此不必擔心在改變認證碼時需要的非易失性存儲器的更新過程中認證碼的損壞或丟失。即使RAM等等中存儲的隨機數(shù)由于電源不穩(wěn)定而丟失,安全芯片20也可以響應于新的初始化命令,根據(jù)認證碼和新產(chǎn)生的隨機數(shù)重啟數(shù)據(jù)的加擾處理(圖3和圖5中的a)。[第二實施例]在與主機芯片共享新產(chǎn)生的隨機數(shù)的加擾處理中,根據(jù)第二實施例的安全芯片20不是根據(jù)先前會話的隨機數(shù)而是根據(jù)認證碼將隨機數(shù)加擾。下面參照附圖描述該處理。圖7和圖8是描述根據(jù)第二實施例的主機芯片10與安全芯片20之間的處理的示例的示意圖。就像圖3和圖4 一樣,圖7和圖8描述在將未加密數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20的情況下數(shù)據(jù)的加擾。就像第一實施例一樣,主機芯片10和安全芯片20保持相同的認證碼Al。圖7中的處理與根據(jù)第一實施例的圖3中的處理相同。主機芯片10和安全芯片20共享隨機數(shù)Rl,并且主機芯片10通過將加密目標數(shù)據(jù)Dl加擾,產(chǎn)生加擾數(shù)據(jù)Xl,并將加擾數(shù)據(jù)Xl發(fā)送到安全芯片20 (g)。安全芯片20從加擾數(shù)據(jù)Xl獲得加密目標數(shù)據(jù)D1,并將數(shù)據(jù)Dl加密。根據(jù)隨機數(shù)Rl將加密數(shù)據(jù)El加擾(j)。然后如圖8所示,安全芯片20產(chǎn)生隨機數(shù)R2 (隨機數(shù)R2是用于下一加擾的新隨機數(shù)),并將隨機數(shù)R2加擾(I)。在本實施例中,安全芯片20通過根據(jù)認證碼Al而不是隨機數(shù)Rl對產(chǎn)生的隨機數(shù)R2進行XOR運算,產(chǎn)生加擾密鑰S2。加擾密鑰S2連同加擾密碼數(shù)據(jù)Yl —起被發(fā)送到主機芯片10 (m)。然后主機芯片10通過根據(jù)隨機數(shù)Rl對加擾密碼數(shù)據(jù)Yl進行XOR運算,獲得加密數(shù)據(jù)El (η),并通過根據(jù)認證碼Al而不是隨機數(shù)Rl對加擾密鑰S2進行XOR運算,獲得隨機數(shù)R2(o)。因此主機芯片10獲得加密目標數(shù)據(jù)Dl的加密數(shù)據(jù)El,并且在主機芯片10與安全芯片20之間共享隨機數(shù)R2。后續(xù)處理與圖4中的處理P至處理r相同。圖7和圖8中的示例是將加密目標數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20的情況,但是將解密目標數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20的情況也相同。在這種情況下,也根據(jù)認證碼Al將通過安全芯片20產(chǎn)生的新隨機數(shù)加擾,并將新隨機數(shù)發(fā)送到主機芯片10,主機芯片10通過根據(jù)認證碼Al恢復加擾的隨機數(shù),共享新隨機數(shù)。根據(jù)隨機數(shù)將通過安全芯片20解密的數(shù)據(jù)加擾,并將其發(fā)送到主機芯片10,主機芯片10通過根據(jù)隨機數(shù)進行加擾運算,恢復加擾數(shù)據(jù)。因此,為了將數(shù)據(jù)加密,根據(jù)本實施例的安全芯片20通過對隨機數(shù)產(chǎn)生單元23產(chǎn)生的隨機數(shù)和認證碼進行加擾運算,產(chǎn)生加擾密鑰,并將加擾密鑰發(fā)送到主機芯片10。安全芯片20從主機芯片10接收通過根據(jù)從加擾密鑰獲得的隨機數(shù)對加密目標數(shù)據(jù)進行加擾運算產(chǎn)生的加擾數(shù)據(jù)。安全芯片20通過對加擾數(shù)據(jù)和隨機數(shù)進行加擾運算,產(chǎn)生加密目標數(shù)
據(jù),通過利用加密單元24將加密目標數(shù)據(jù)加密,產(chǎn)生加密數(shù)據(jù),并將加密數(shù)據(jù)發(fā)送到主機芯片10。另一方面,為了將數(shù)據(jù)解密,根據(jù)本實施例的安全芯片20通過對隨機數(shù)產(chǎn)生單元23產(chǎn)生的隨機數(shù)和認證碼進行加擾運算,產(chǎn)生加擾密鑰,并將加擾密鑰發(fā)送到主機芯片10。安全芯片20還通過利用加密單元24將加密數(shù)據(jù)解密,產(chǎn)生解密數(shù)據(jù),通過對解密數(shù)據(jù)和隨機數(shù)進行加擾運算,產(chǎn)生加擾數(shù)據(jù),并將加擾數(shù)據(jù)發(fā)送到主機芯片10。然后安全芯片20通過使得主機芯片10的處理器11根據(jù)從加擾密鑰獲得的隨機數(shù)對加擾數(shù)據(jù)進行加擾運算,從加擾數(shù)據(jù)獲得解密數(shù)據(jù)。在主機芯片10中,通過根據(jù)認證碼對加擾密鑰進行加擾運算,獲得隨機數(shù)。因此,根據(jù)本實施例的安全芯片20可通過在發(fā)送/接收之前將與主機芯片10交換的數(shù)據(jù)加擾,防止數(shù)據(jù)的泄漏,而主機芯片10不需要加密單元24。因為安全芯片20不使用將數(shù)據(jù)加擾的高度加密處理,所以能降低系統(tǒng)的負載,并且能防止由于加擾所致通信速度的下降。根據(jù)主機芯片10與安全芯片20之間共享的隨機數(shù)將數(shù)據(jù)加擾。因此即使第三方認識到加擾數(shù)據(jù)是根據(jù)隨機數(shù)加擾,也不能將加擾數(shù)據(jù)恢復,因為第三方不知道隨機數(shù)的數(shù)值。該隨機數(shù)由安全芯片20根據(jù)認證碼Al加擾并發(fā)送到主機芯片10,并且主機芯片10通過根據(jù)認證碼Al恢復加擾的隨機數(shù)來共享隨機數(shù)。因此即使第三方獲得加擾密鑰,也不能從加擾密鑰恢復隨機數(shù)的數(shù)值,除非認證碼Al被檢測到。因此,根據(jù)本實施例的安全芯片20使得難以基于加擾數(shù)據(jù)來恢復數(shù)據(jù),即使第三方認識到加擾過程也是如此。根據(jù)本實施例的安全芯片20,只要安全芯片20具有用于產(chǎn)生隨機數(shù)的隨機數(shù)產(chǎn)生單元23就足矣,并且主機芯片10不需要有隨機數(shù)產(chǎn)生單元23。因此可將主機芯片10與安全芯片20之間的數(shù)據(jù)加擾,并且只要將本實施例的安全芯片20安裝在具有主機芯片10的傳統(tǒng)系統(tǒng)的電路板上,就能防止數(shù)據(jù)泄漏。此外,每次進行預定次數(shù)的發(fā)送/接收會話時,改變用于將數(shù)據(jù)加擾的隨機數(shù)。因此,本實施例的安全芯片20使得難以連續(xù)分析加擾數(shù)據(jù),因此可將數(shù)據(jù)泄漏范圍最小化。[第三實施例]根據(jù)第三實施例的安全芯片20有兩個認證碼(下面稱為“第一認證碼”和“第二認證碼”)。第一認證碼用于加擾,以與主機芯片共享新產(chǎn)生的隨機數(shù),就像第二實施例一樣。第二認證碼用于產(chǎn)生第二加擾密鑰,第二加擾密鑰用于將數(shù)據(jù)加擾。下面參照附圖描述該處理。圖9和圖10是描述根據(jù)第三實施例的主機芯片10與安全芯片20之間的處理的不例的不意圖。就像第一實施例的圖3和圖4 一樣,圖9和圖10描述將未加密數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20的情況下數(shù)據(jù)的加擾。在本實施例中,主機芯片10和安全芯片20事先共享第一認證碼Al和第二認證碼A2。在圖9中,當接收初始化命令時(a),安全芯片20產(chǎn)生隨機數(shù)Rl (b)。然后通過對隨機數(shù)Rl和第一認證碼Al進行XOR運算,產(chǎn)生第一加擾密鑰Sll (c)。然后安全芯片20將產(chǎn)生的第一加擾密鑰Sll連同初始化處理的結(jié)果一起發(fā)送到主機芯片10(d)。至此的處理與第一實施例以及第二實施例相同。然后本實施例的安全芯片20通過對產(chǎn)生的隨機數(shù)Rl和第二認證碼A2進行XOR
運算,產(chǎn)生第二加擾密鑰S21(d)。另一方面,主機芯片10通過根據(jù)事先保持的第一認證碼Al對第一加擾密鑰Sll進行XOR運算,獲得隨機數(shù)Rl (f),就像第一實施例和第二實施例一樣。然后本實施例的主機芯片10通過對獲得的隨機數(shù)Rl和第二認證碼A2進行XOR運算,產(chǎn)生第二加擾密鑰S21 (g)。因此主機芯片10和安全芯片20不僅共享第一認證碼Al和第二認證碼A2,而且共享隨機數(shù)Rl和第二加擾密鑰S21。然后本實施例的主機芯片10通過對加密目標數(shù)據(jù)Dl和第二加擾密鑰S21進行XOR運算,產(chǎn)生加擾數(shù)據(jù)Xl (h),并將加擾數(shù)據(jù)Xl連同加密指令一起發(fā)送到安全芯片20 (i)。當接收加擾數(shù)據(jù)Xl時,安全芯片20根據(jù)產(chǎn)生的第二加擾密鑰S21對加擾數(shù)據(jù)Xl進行XOR運算,并獲得加密目標數(shù)據(jù)Dl (j)。然后通過安全芯片20的加密單元24將數(shù)據(jù)Dl加密,并產(chǎn)生加密數(shù)據(jù)El (k)。然后安全芯片20通過對加密數(shù)據(jù)El和第二加擾密鑰S21進行XOR運算,產(chǎn)生加擾密碼數(shù)據(jù)Yl (I)。然后如圖10所示,安全芯片20產(chǎn)生新隨機數(shù)R2 (m),并通過對隨機數(shù)R2和第一認證碼Al進行XOR運算,產(chǎn)生新的第一加擾密鑰S12 (η)。然后安全芯片20將第一加擾密鑰S 12連同圖9的處理I中產(chǎn)生的加擾密碼數(shù)據(jù)Yl—起發(fā)送到主機芯片10(0)。然后安全芯片20通過對隨機數(shù)R2和第二認證碼Α2進行XOR運算,產(chǎn)生第二加擾密鑰S22 (ρ)。接收加擾密碼數(shù)據(jù)Yl和第一加擾密鑰S12的主機芯片10通過根據(jù)與安全芯片20共享的第二加擾密鑰S21對加擾密碼數(shù)據(jù)Yl進行XOR運算,獲得加密數(shù)據(jù)El (q)。主機芯片10還通過根據(jù)第一認證碼Al對接收的第一加擾密鑰S12進行XOR運算,獲得隨機數(shù)R2(r)。因此主機芯片10獲得與加密目標數(shù)據(jù)Dl對應的加密數(shù)據(jù)El,并且主機芯片10和安全芯片20共享隨機數(shù)R2。如果下一加密目標數(shù)據(jù)D2仍然存在,則主機芯片10通過對隨機數(shù)R2和第二認證碼A2進行XOR運算,產(chǎn)生第二加擾密鑰S2 (S)。然后主機芯片10通過對加密目標數(shù)據(jù)D2和加擾密鑰S22進行XOR運算,產(chǎn)生加擾數(shù)據(jù)X2 (未示出),并將加擾數(shù)據(jù)X2發(fā)送到安全芯片20 (未示出)。安全芯片20通過根據(jù)處理ρ中產(chǎn)生的第二加擾密鑰S22對接收的加擾數(shù)據(jù)X2進行XOR運算,獲得加密目標數(shù)據(jù)D2。后續(xù)處理與圖9和圖10中的處理k至處理q相同。圖9和圖10中的示例是將加密目標數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20的情況,但是將解密目標數(shù)據(jù)從主機芯片10發(fā)送到安全芯片20的情況也相同。在這種情況下,也根據(jù)認證碼Al將通過安全芯片20產(chǎn)生的新隨機數(shù)加擾,并將新隨機數(shù)發(fā)送到主機芯片10,主機芯片10通過根據(jù)認證碼Al恢復隨機數(shù),共享新隨機數(shù)。根據(jù)第二加擾密鑰將通過安全芯片解密的數(shù)據(jù)加擾,并將其發(fā)送到主機芯片10,第二加擾密鑰通過根據(jù)第二認證碼A2將隨機數(shù)加擾獲得。主機芯片10通過根據(jù)第二加擾密鑰對加擾數(shù)據(jù)進行加擾運算,獲得解密數(shù)據(jù)。因此,為了將數(shù)據(jù)加密,根據(jù)本實施例的安全芯片20通過對隨機數(shù)產(chǎn)生單元23產(chǎn)生的隨機數(shù)和第一認證碼進行加擾運算,產(chǎn)生第一加擾密鑰,并將第一加擾密鑰發(fā)送到主機芯片10。安全芯片20還通過對隨機 數(shù)和第二認證碼進行加擾運算,產(chǎn)生第二加擾密鑰。安全芯片20從第一芯片10接收根據(jù)第二加擾密鑰對加密目標數(shù)據(jù)進行加擾運算產(chǎn)生的加擾數(shù)據(jù),第二加擾密鑰通過對從第一加擾密鑰獲得的隨機數(shù)和第二認證碼進行加擾運算而產(chǎn)生。安全芯片20通過對加擾數(shù)據(jù)和第二加擾密鑰進行加擾運算,獲得加密目標數(shù)據(jù),通過利用加密單元24將加密目標數(shù)據(jù)加密,產(chǎn)生加密數(shù)據(jù),并將加密數(shù)據(jù)發(fā)送到主機芯片10。另一方面,為了將數(shù)據(jù)解密,根據(jù)本實施例的安全芯片20通過對隨機數(shù)產(chǎn)生單元23產(chǎn)生的隨機數(shù)和第一認證碼進行加擾運算,產(chǎn)生第一加擾密鑰,并將第一加擾密鑰發(fā)送到主機芯片10。安全芯片20還通過對隨機數(shù)和第二認證碼進行加擾運算,產(chǎn)生第二加擾密鑰。安全芯片20通過利用加密單元將加密數(shù)據(jù)解密,產(chǎn)生解密數(shù)據(jù),通過對解密數(shù)據(jù)和第二加擾密鑰進行加擾運算,產(chǎn)生加擾數(shù)據(jù),并將加擾數(shù)據(jù)發(fā)送到主機芯片10。然后安全芯片20通過使得主機芯片10的處理器11根據(jù)第二加擾密鑰對加擾數(shù)據(jù)進行加擾運算,從加擾數(shù)據(jù)獲得解密數(shù)據(jù),第二加擾密鑰通過對從第一加擾密鑰獲得的隨機數(shù)和第二認證碼進行加擾運算而產(chǎn)生。在主機芯片10中,通過根據(jù)第一認證碼對第一加擾密鑰進行加擾運算,獲得隨機數(shù)。因此,根據(jù)本實施例的安全芯片20可通過在發(fā)送/接收之前將與主機芯片10交換的數(shù)據(jù)加擾,防止數(shù)據(jù)的泄漏,而主機芯片10不需要加密單元24。因為安全芯片20不使用將數(shù)據(jù)加擾的高度加密處理,所以能降低系統(tǒng)的負載,并且能防止由于加擾所致通信速度的下降。根據(jù)第二加擾密鑰將數(shù)據(jù)加擾,第二加擾密鑰通過根據(jù)第二認證碼將主機芯片10與安全芯片20之間共享的隨機數(shù)加擾而產(chǎn)生。因此第三方不能恢復加擾數(shù)據(jù),除非除了隨機數(shù)之外還知道第二認證碼。換言之,即使將隨機數(shù)恢復,不知道第二認證碼的第三方也不能恢復加擾數(shù)據(jù)。這使得第三方更加難以恢復加擾數(shù)據(jù)。因此根據(jù)本實施例的安全芯片20能夠更有效地防止主機芯片10與安全芯片20之間的數(shù)據(jù)泄漏。根據(jù)本實施例的安全芯片20,只要安全芯片20具有用于產(chǎn)生隨機數(shù)的隨機數(shù)產(chǎn)生單元23就足矣,并且主機芯片10不需要有隨機數(shù)產(chǎn)生單元23。因此只要將本實施例的安全芯片20安裝在具有主機芯片10的傳統(tǒng)系統(tǒng)的電路板上,就可將主機芯片10與安全芯片20之間的數(shù)據(jù)加擾,并能防止數(shù)據(jù)泄漏。此外,每次進行預定次數(shù)的發(fā)送/接收會話時,改變要成為用于將數(shù)據(jù)加擾的第二加擾密鑰的源的隨機數(shù)。因此,本實施例的安全芯片20使得難以連續(xù)分析加擾數(shù)據(jù),因此可將數(shù)據(jù)泄漏范圍最小化。
如上所述,本實施例的安全芯片20有兩個認證碼,并根據(jù)加擾密鑰將數(shù)據(jù)加擾,所述加擾密鑰基于利用第一認證碼共享的隨機數(shù)和第二認證碼。因此,本實施例的安全芯片20可以在不對主機芯片10的硬件做任何改變的情況下,以高度安全性實現(xiàn)數(shù)據(jù)加擾,同時降低整個系統(tǒng)的負載。結(jié)果,安全芯片20可以更有效地防止數(shù)據(jù)泄漏。根據(jù)本實施例,通過根據(jù)第一認證碼對要共享的隨機數(shù)進行加擾運算,產(chǎn)生第一加擾密鑰。但是,可以通過基于先前發(fā)送/接收會話的隨機數(shù)而不是第一認證碼,對要共享的隨機數(shù)進行加擾運算,來產(chǎn)生第一加擾密鑰。在這種情況下,在第二或隨后發(fā)送/接收會話的每次會話中,安全芯片20通過對當前發(fā)送/接收會話的隨機數(shù)和先前發(fā)送/接收會話的隨機數(shù)進行加擾運算,產(chǎn)生第一加擾密鑰,并且主機芯片10通過根據(jù)先前發(fā)送/接收會話的隨機數(shù)對第一加擾密鑰進行加擾
運算,獲得當前發(fā)送/接收會話的隨機數(shù)。因此即使第三方檢測到第一認證碼,不知道先前發(fā)送/接收會話的隨機數(shù)的第三方也不能從第一加擾密鑰恢復當前發(fā)送/接收會話的隨機數(shù)。上面描述了主機芯片10與安全芯片20之間的數(shù)據(jù)加擾。但是根據(jù)本實施例的數(shù)據(jù)加擾不限于主機芯片10與安全芯片20之間的數(shù)據(jù)加擾,而是也可以適用于兩個其他方(例如服務器和客戶端)之間通信中的數(shù)據(jù)加擾。這里引用的所有示例和條件性語言都是為了教導的目的,以幫助讀者理解實施例以及發(fā)明人為促進現(xiàn)有技術而貢獻的概念,并且應當解釋為并非對這些特別引用的示例和條件的限制,說明書中這些示例的組織也不涉及說明實施例的優(yōu)劣。雖然詳細描述了實施例,但是應當理解,在不脫離本發(fā)明精神和范圍的情況下,可對其作出各種改變、替代和變化。
權(quán)利要求
1.一種連接到主機裝置的安全裝置,所述主機裝置包括處理器和存儲單元,所述處理器進行加擾運算,所述存儲單元中存儲第一認證碼, 所述安全裝置包括 存儲單元,在該存儲單元中存儲所述第一認證碼; 隨機數(shù)產(chǎn)生單元,該隨機數(shù)產(chǎn)生單元產(chǎn)生隨機數(shù); 加密單元,該加密單元將數(shù)據(jù)加密或解密;以及 控制器,該控制器進行加擾運算,其中 所述控制器通過對所述隨機數(shù)產(chǎn)生單元產(chǎn)生的隨機數(shù)和所述第一認證碼進行加擾運算,產(chǎn)生第一加擾密鑰,并將所述第一加擾密鑰發(fā)送到所述主機裝置,以及 所述控制器從所述主機裝置接收通過根據(jù)從所述第一加擾密鑰獲得的隨機數(shù)對加密目標數(shù)據(jù)進行加擾運算產(chǎn)生的加擾數(shù)據(jù),通過對所述加擾數(shù)據(jù)和所述隨機數(shù)進行加擾運算產(chǎn)生所述加密目標數(shù)據(jù),通過所述加密單元將所述加密目標數(shù)據(jù)加密而產(chǎn)生加密數(shù)據(jù),并將所述加密數(shù)據(jù)發(fā)送到所述主機裝置。
2.根據(jù)權(quán)利要求I的安全裝置,其中 所述主機裝置使用所述處理器,通過基于所述第一認證碼進行加擾運算,從所述第一加擾密鑰獲得所述隨機數(shù)。
3.根據(jù)權(quán)利要求I的安全裝置,其中 在所述加擾數(shù)據(jù)的每次發(fā)送/接收會話中改變所述隨機數(shù),以及 在第二或隨后發(fā)送/接收會話的每次會話中, 所述控制器通過對當前發(fā)送/接收會話的隨機數(shù)和先前發(fā)送/接收會話的隨機數(shù)進行加擾運算,產(chǎn)生所述第一加擾密鑰,以及 所述主機裝置使用所述處理器,通過利用先前發(fā)送/接收會話的隨機數(shù)進行加擾運算,從所述第一加擾密鑰獲得當前發(fā)送/接收會話的隨機數(shù)。
4.根據(jù)權(quán)利要求I的安全裝置,其中 在所述加擾數(shù)據(jù)的每次發(fā)送/接收會話中改變所述隨機數(shù),以及 在第二或隨后發(fā)送/接收會話的每次會話中, 所述控制器通過對當前發(fā)送/接收會話的隨機數(shù)和所述第一認證碼進行加擾運算,產(chǎn)生所述第一加擾密鑰,以及 所述主機裝置使用所述處理器,通過利用所述第一認證碼進行加擾運算,從所述第一加擾密鑰獲得當前發(fā)送/接收會話的隨機數(shù)。
5.根據(jù)權(quán)利要求I的安全裝置,其中 所述加擾運算包括異或運算。
6.一種連接到主機裝置的安全裝置,所述主機裝置包括處理器和存儲單元,所述處理器進行加擾運算,所述存儲單元中存儲第一認證碼和第二認證碼, 所述安全裝置包括 存儲單元,在該存儲單元中存儲所述第一認證碼和所述第二認證碼; 隨機數(shù)產(chǎn)生單元,該隨機數(shù)產(chǎn)生單元產(chǎn)生隨機數(shù); 加密單元,該加密單元將數(shù)據(jù)加密或解密;以及 控制器,該控制器進行加擾運算,其中所述控制器通過對所述隨機數(shù)產(chǎn)生單元產(chǎn)生的隨機數(shù)和所述第一認證碼進行加擾運算,產(chǎn)生第一加擾密鑰,并將所述第一加擾密鑰發(fā)送到所述主機裝置,通過對所述隨機數(shù)和所述第二認證碼進行加擾運算,產(chǎn)生第二加擾密鑰,以及 所述控制器從所述主機裝置接收通過根據(jù)所述第二加擾密鑰對加密目標數(shù)據(jù)進行加擾運算產(chǎn)生的加擾數(shù)據(jù),通過對所述加擾數(shù)據(jù)和所述第二加擾密鑰進行加擾運算產(chǎn)生所述加密目標數(shù)據(jù),通過所述加密單元將所述加密目標數(shù)據(jù)加密而產(chǎn)生加密數(shù)據(jù),并將所述加密數(shù)據(jù)發(fā)送到所述主機裝置,所述第二加擾密鑰是通過對從所述第一加擾密鑰獲得的隨機數(shù)和所述第二認證碼進行加擾運算產(chǎn)生的。
7.根據(jù)權(quán)利要求6的安全裝置,其中 所述主機裝置使用所述處理器,通過基于所述第一認證碼進行加擾運算,從所述第一加擾密鑰獲得所述隨機數(shù)。
8.根據(jù)權(quán)利要求6的安全裝置,其中 在所述加擾數(shù)據(jù)的每次發(fā)送/接收會話中改變所述隨機數(shù),以及 在第二或隨后發(fā)送/接收會話的每次會話中, 所述控制器通過對當前發(fā)送/接收會話的隨機數(shù)和先前發(fā)送/接收會話的隨機數(shù)進行加擾運算,產(chǎn)生所述第一加擾密鑰,以及 所述主機裝置使用所述處理器,通過利用先前發(fā)送/接收會話的隨機數(shù)進行加擾運算,從所述第一加擾密鑰獲得當前發(fā)送/接收會話的隨機數(shù)。
9.根據(jù)權(quán)利要求6的安全裝置,其中 在所述加擾數(shù)據(jù)的每次發(fā)送/接收會話中改變所述隨機數(shù),以及 在第二或隨后發(fā)送/接收會話的每次會話中, 所述控制器通過對當前發(fā)送/接收會話的隨機數(shù)和所述第一認證碼進行加擾運算,產(chǎn)生所述第一加擾密鑰,以及 所述主機裝置使用所述處理器,通過利用所述第一認證碼進行加擾運算,從所述第一加擾密鑰獲得當前發(fā)送/接收會話的隨機數(shù)。
10.根據(jù)權(quán)利要求6的安全裝置,其中 所述加擾運算包括異或運算。
11.一種連接到主機裝置的安全裝置,所述主機裝置包括處理器和存儲單元,所述處理器進行加擾運算,所述存儲單元中存儲第一認證碼和第二認證碼, 所述安全裝置包括 存儲單元,在該存儲單元中存儲所述第一認證碼和所述第二認證碼; 隨機數(shù)產(chǎn)生單元,該隨機數(shù)產(chǎn)生單元產(chǎn)生隨機數(shù); 加密單元,該加密單元將數(shù)據(jù)加密或解密;以及 控制器,該控制器進行加擾運算,其中 所述控制器通過對所述隨機數(shù)產(chǎn)生單元產(chǎn)生的隨機數(shù)和所述第一認證碼進行加擾運算,產(chǎn)生第一加擾密鑰,并將所述第一加擾密鑰發(fā)送到所述主機裝置,通過對所述隨機數(shù)和所述第二認證碼進行加擾運算,產(chǎn)生第二加擾密鑰,以及 所述控制器通過所述加密單元將加密數(shù)據(jù)解密,產(chǎn)生解密數(shù)據(jù),通過對所述解密數(shù)據(jù)和所述第二加擾密鑰進行加擾運算,產(chǎn)生加擾數(shù)據(jù),并將所述加擾數(shù)據(jù)發(fā)送到所述主機裝置,以及 所述控制器使得所述主機裝置的所述處理器根據(jù)所述第二加擾密鑰對所述加擾數(shù)據(jù)進行加擾運算,并從所述加擾數(shù)據(jù)獲得所述解密數(shù)據(jù),所述第二加擾密鑰是通過對從所述第一加擾密鑰獲得的隨機數(shù)和所述第二認證碼進行加擾運算產(chǎn)生的。
12.根據(jù)權(quán)利要求11的安全裝置,其中 所述主機裝置使用所述處理器,通過基于所述第一認證碼進行加擾運算,從所述第一加擾密鑰獲得所述隨機數(shù)。
13.根據(jù)權(quán)利要求11的安全裝置,其中 在所述加擾數(shù)據(jù)的每次發(fā)送/接收會話中改變所述隨機數(shù),以及 在第二或隨后發(fā)送/接收會話的每次會話中, 所述控制器通過對當前發(fā)送/接收會話的隨機數(shù)和先前發(fā)送/接收會話的隨機數(shù)進行所述加擾運算,產(chǎn)生所述第一加擾密鑰,以及 所述主機裝置使用所述處理器,通過利用先前發(fā)送/接收會話的隨機數(shù)進行加擾運算,從所述第一加擾密鑰獲得當前發(fā)送/接收會話的隨機數(shù)。
14.根據(jù)權(quán)利要求11的安全裝置,其中 在所述加擾數(shù)據(jù)的每次發(fā)送/接收會話中改變所述隨機數(shù),以及 在第二或隨后發(fā)送/接收會話的每次會話中, 所述控制器通過對當前發(fā)送/接收會話的隨機數(shù)和所述第一認證碼進行加擾運算,產(chǎn)生所述第一加擾密鑰,以及 所述主機裝置使用所述處理器,通過利用所述第一認證碼進行加擾運算,從所述第一加擾密鑰獲得當前發(fā)送/接收會話的隨機數(shù)。
15.根據(jù)權(quán)利要求11的安全裝置,其中 所述加擾運算包括異或運算。
全文摘要
本發(fā)明涉及一種安全裝置,其連接到主機裝置,該主機裝置包括進行加擾運算的處理器和存儲單元,所述安全裝置包括存儲單元,其中存儲第一認證碼;隨機數(shù)產(chǎn)生單元;加密單元;以及進行加擾運算的控制器,其中控制器通過對隨機數(shù)和第一認證碼進行加擾運算,產(chǎn)生第一加擾密鑰,并將第一加擾密鑰發(fā)送到主機裝置,以及控制器從主機裝置接收通過根據(jù)隨機數(shù)對加密目標數(shù)據(jù)進行加擾運算產(chǎn)生的加擾數(shù)據(jù),通過對加擾數(shù)據(jù)和隨機數(shù)進行加擾運算產(chǎn)生加密目標數(shù)據(jù),產(chǎn)生加密數(shù)據(jù),并將加密數(shù)據(jù)發(fā)送到主機裝置。
文檔編號G06F21/62GK102880836SQ20121022968
公開日2013年1月16日 申請日期2012年6月29日 優(yōu)先權(quán)日2011年7月15日
發(fā)明者山下晉 申請人:富士通半導體股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1