專利名稱:信息處理設(shè)備和方法、程序、和記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息處理設(shè)備和方法、用于該設(shè)備的程序、和存儲該程序的記錄介質(zhì),并更具體地,涉及一種使得通信裝置能可靠地彼此驗證的信息處理設(shè)備和方法、用于該設(shè)備的程序、和存儲該程序的記錄介質(zhì)。
背景技術(shù):
在使用IC卡執(zhí)行各種交易的過程中,為了支持安全性,IC卡和讀出器/寫入器一般在執(zhí)行交易之前彼此驗證(相互驗證)(例如參見日本未審專利申請公開第10-20780號)。
圖1和2示出了傳統(tǒng)的相互驗證。為了通過讀出器/寫入器驗證IC卡,如圖1所示,讀出器/寫入器產(chǎn)生隨機數(shù)A,并將該隨機數(shù)A發(fā)送到該IC卡。該IC卡根據(jù)預(yù)定加密算法利用密鑰1而對隨機數(shù)A進行加密。該IC卡還根據(jù)相同的加密算法利用密鑰2而對結(jié)果數(shù)據(jù)進行加密以產(chǎn)生驗證數(shù)據(jù)1,并將該驗證數(shù)據(jù)1發(fā)送到讀出器/寫入器。在讀出器/寫入器和IC卡之間共享該密鑰1和2。在讀出器/寫入器和IC卡的每一個上安裝相同的加密算法。
隨后,讀出器/寫入器接收驗證數(shù)據(jù)1,根據(jù)上述加密算法利用密鑰2而對數(shù)據(jù)進行解密,并還根據(jù)同一加密算法利用密鑰1而對結(jié)果數(shù)據(jù)進行解密。當(dāng)作為解密結(jié)果而獲得隨機數(shù)A時,讀出器/寫入器驗證該IC卡(為合法(valid)IC卡)。
另一方面,為了通過IC卡驗證讀出器/寫入器,如圖2所示,IC卡產(chǎn)生隨機數(shù)B,并將該隨機數(shù)B發(fā)送到讀出器/寫入器。讀出器/寫入器根據(jù)預(yù)定加密算法利用密鑰1而對隨機數(shù)B進行加密。此外,該讀出器/寫入器還根據(jù)相同的加密算法利用密鑰2而對結(jié)果數(shù)據(jù)進行加密以產(chǎn)生驗證數(shù)據(jù)2,并將該驗證數(shù)據(jù)2發(fā)送到IC卡。
IC卡接收驗證數(shù)據(jù)2,根據(jù)上述加密算法利用密鑰2而對所接收的數(shù)據(jù)進行解密,并還根據(jù)同一加密算法利用密鑰1而對結(jié)果數(shù)據(jù)進行解密。當(dāng)作為解密結(jié)果而獲得隨機數(shù)B時,IC卡驗證該讀出器/寫入器(為合法讀出器/寫入器)。
根據(jù)另一方法,為了增加相互驗證的可靠性,取代在讀出器/寫入器和IC卡之間共享的密鑰(例如密鑰1和2),而使用各自根據(jù)要訪問的數(shù)據(jù)類型所確定的密鑰來產(chǎn)生用于相互驗證的密鑰。如圖3所示產(chǎn)生該相互驗證密鑰。
例如,假定數(shù)據(jù)塊D1到D5將通過交易訪問,則讀出器/寫入器或IC卡利用與相應(yīng)數(shù)據(jù)塊D1到D5相關(guān)的密鑰I到V而對讀出器/寫入器和IC卡之間共享的例如文本數(shù)據(jù)的明碼文本進行加密,以產(chǎn)生用于相互驗證的密文密鑰。在這種情況下,讀出器/寫入器和IC卡共享其中每個密鑰與要訪問的對應(yīng)數(shù)據(jù)塊相關(guān)的表。
發(fā)明內(nèi)容
然而,在現(xiàn)有技術(shù)中,用于相互驗證的加密算法局限于預(yù)定的一種。不利地是,當(dāng)?shù)玫接糜诟鶕?jù)加密算法破譯密碼的方法時,降低了相互驗證的可靠性。
考慮到以上缺點而作出了本發(fā)明。期望使得通信裝置能可靠地彼此驗證。
根據(jù)本發(fā)明的實施例,提供了一種信息處理設(shè)備,用于以有線或無線(不接觸的)方式而與另一信息處理設(shè)備通信。該設(shè)備包括以下元件。隨機數(shù)產(chǎn)生部分產(chǎn)生隨機數(shù)。第一驗證數(shù)據(jù)產(chǎn)生部分基于隨機數(shù)產(chǎn)生部分所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān)。驗證數(shù)據(jù)發(fā)送部分將該第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備。驗證數(shù)據(jù)接收部分接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生。解密部分利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密。驗證部分基于解密部分所解密的第二驗證數(shù)據(jù)和隨機數(shù)產(chǎn)生部分所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
該信息處理設(shè)備還可包括加密方法管理部分,用于存儲與所述至少一種加密方法有關(guān)的至少一個信息單元,并將該信息單元提供到解密部分。
與加密方法有關(guān)的每一信息單元可包括指定加密算法的信息和與用于加密或根據(jù)與加密算法對應(yīng)的解密方法解密數(shù)據(jù)的密鑰有關(guān)的信息。該加密方法管理部分可按照預(yù)定順序而將與所述多種不同的加密方法有關(guān)的信息單元依次提供到解密部分。
與相應(yīng)加密方法有關(guān)的信息單元可與所述另一信息處理設(shè)備共享。通過所述另一信息處理設(shè)備根據(jù)相應(yīng)加密方法對充當(dāng)?shù)谝或炞C數(shù)據(jù)的隨機數(shù)進行加密,可產(chǎn)生第二驗證數(shù)據(jù)。
該解密部分可使用與所述另一信息處理設(shè)備所使用的相應(yīng)加密方法對應(yīng)的解密方法來解密第二驗證數(shù)據(jù)。當(dāng)解密部分所解密的第二驗證數(shù)據(jù)與該隨機數(shù)相等時,該驗證部分可驗證所述另一信息處理設(shè)備為合法通信伙伴。
該加密方法管理部分還存儲產(chǎn)生密鑰所需的信息,并基于該信息而產(chǎn)生該密鑰。
所述產(chǎn)生密鑰所需的信息可包括分別與要使用的相應(yīng)類型數(shù)據(jù)相關(guān)的多種不同加密方法有關(guān)的信息單元。該加密方法管理部分根據(jù)與要使用的至少一種類型數(shù)據(jù)相關(guān)的至少一種加密方法而加密與所述另一信息處理設(shè)備共享的明碼文本,以產(chǎn)生密鑰。
有關(guān)加密方法的每一信息單元可包括指定加密算法的信息和有關(guān)用于根據(jù)該加密算法加密數(shù)據(jù)的密鑰的信息。
該信息處理設(shè)備還可接收基于為了通過所述另一信息處理設(shè)備驗證該設(shè)備而產(chǎn)生的隨機數(shù)產(chǎn)生的第三驗證數(shù)據(jù),使用至少一種加密方法而加密充當(dāng)?shù)谌炞C數(shù)據(jù)的隨機數(shù)以產(chǎn)生第四驗證數(shù)據(jù),并且將該第四驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備。
該信息處理設(shè)備可由所述另一信息處理設(shè)備基于第四驗證數(shù)據(jù)而進行驗證。
根據(jù)本發(fā)明的另一實施例,提供了一種用于以有線或無線方式與另一信息處理設(shè)備通信的信息處理設(shè)備的信息處理方法。該方法包括以下步驟產(chǎn)生隨機數(shù);基于所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
根據(jù)本發(fā)明的另一實施例,提供了一種用于以有線或無線(不接觸的)方式與另一信息處理設(shè)備通信的信息處理設(shè)備的程序。該程序使計算機能執(zhí)行以下步驟控制產(chǎn)生隨機數(shù);控制基于所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);控制將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;控制接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;控制利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和控制基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
根據(jù)本發(fā)明的另一實施例,提供了一種其中記錄了用于以有線或無線(不接觸的)方式與另一信息處理設(shè)備通信的信息處理設(shè)備的程序的記錄介質(zhì),該程序使計算機能執(zhí)行以下步驟控制產(chǎn)生隨機數(shù);控制基于所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);控制將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;控制接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;控制利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和控制基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
在本說明書中,術(shù)語“信息處理設(shè)備”不僅意指IC卡,而且意指例如具有IC卡功能的移動電話或PDA的其他數(shù)據(jù)存儲/通信裝置。這些設(shè)備包括至少一個配置為起到IC卡作用的IC芯片。術(shù)語“另一信息處理設(shè)備”不僅意指讀出器/寫入器,而且意指在例如移動電話或PDA的設(shè)備中包括的具有讀出器/寫入器功能的其他通信設(shè)備。
根據(jù)本發(fā)明,在信息處理設(shè)備和方法及其程序中,產(chǎn)生隨機數(shù)?;谒a(chǎn)生的隨機數(shù)而產(chǎn)生與所述另一信息處理設(shè)備的驗證有關(guān)的第一驗證數(shù)據(jù)。將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備。接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生。利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密?;谒饷艿牡诙炞C數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
根據(jù)本發(fā)明,通信裝置可以以高可靠性彼此驗證。
圖1是示出了傳統(tǒng)相互驗證的圖;圖2是圖示了傳統(tǒng)相互驗證的圖;圖3是示出了傳統(tǒng)相互驗證中的密鑰產(chǎn)生的例子的圖;圖4是根據(jù)本發(fā)明實施例的信息處理系統(tǒng)的圖;圖5是裝置A的內(nèi)部結(jié)構(gòu)的方框圖;圖6是裝置B的內(nèi)部結(jié)構(gòu)的方框圖;圖7是圖5中的CPU執(zhí)行的軟件的功能結(jié)構(gòu)的方框圖;圖8是圖6中的CPU執(zhí)行的軟件的功能結(jié)構(gòu)的方框圖;圖9是解釋裝置A和B之間的相互驗證的處理的流程圖;圖10是解釋產(chǎn)生驗證數(shù)據(jù)1的處理的流程圖;圖11是解釋加密隨機數(shù)RanA的處理的流程圖;圖12是示出了在每一算法/密鑰信息管理單元中存儲的信息的例子的圖;圖13是解釋產(chǎn)生驗證數(shù)據(jù)2的處理的流程圖;圖14是解釋解密驗證數(shù)據(jù)1的處理的流程圖;圖15是解釋加密結(jié)果數(shù)據(jù)的處理的流程圖;圖16是解釋產(chǎn)生驗證數(shù)據(jù)3的處理的流程圖;圖17是解釋加密隨機數(shù)RanB的處理的流程圖;圖18是解釋驗證裝置B的處理的流程圖;圖19是解釋解密驗證數(shù)據(jù)2的處理的流程圖;圖20是解釋產(chǎn)生驗證數(shù)據(jù)4的處理的流程圖;圖21是解釋解密驗證數(shù)據(jù)3的處理的流程圖;圖22是解釋解密結(jié)果數(shù)據(jù)的處理的流程圖;圖23是解釋驗證裝置A的處理的流程圖;圖24是解釋解密驗證數(shù)據(jù)4的處理的流程圖;圖25是示出了在每一算法/密鑰信息管理單元中存儲的信息的另一例子的圖;和圖26是解釋產(chǎn)生密文密鑰的處理的流程圖。
具體實施例方式
在描述本發(fā)明的實施例之前,下面討論權(quán)利要求的特征與本發(fā)明的實施例中公開的特定元件之間的對應(yīng)關(guān)系。該描述意欲保證支持要求保護的發(fā)明的實施例中公開的特定元件都在說明書中進行了描述。由此,即使實施例中的元件沒有被描述為與本發(fā)明的某一特征相關(guān),其也不必然意味著該元件不與權(quán)利要求中的特征相關(guān)。相反,即使元件在這里被描述為與權(quán)利要求的某一特征相關(guān),其也不必然意味著該元件不與權(quán)利要求中的其他特征相關(guān)。
此外,該描述不應(yīng)解釋為限制在權(quán)利要求中描述實施例中公開的本發(fā)明的所有方面。也就是說,該描述不否認(rèn)在實施例中描述但沒有在本申請的發(fā)明中要求保護的本發(fā)明的各方面的存在,即將來可通過分案申請要求保護、或可通過修改而另外要求保護的本發(fā)明的各方面的存在。
根據(jù)本發(fā)明的實施例,提供了一種以有線或無線(不接觸的)方式與另一信息處理設(shè)備通信的信息處理設(shè)備(例如圖4的裝置B),該設(shè)備包括隨機數(shù)產(chǎn)生部分(例如用于執(zhí)行圖16的步驟S201的圖8所示的隨機數(shù)產(chǎn)生單元411),用于產(chǎn)生隨機數(shù)(例如隨機數(shù)RanB);第一驗證數(shù)據(jù)產(chǎn)生部分(例如用于執(zhí)行圖16中的步驟S204的圖8所示的驗證數(shù)據(jù)產(chǎn)生單元418),用于基于隨機數(shù)產(chǎn)生部分產(chǎn)生的隨機數(shù)而產(chǎn)生與所述另一信息處理設(shè)備的驗證有關(guān)的第一驗證數(shù)據(jù)(例如驗證數(shù)據(jù)3);驗證數(shù)據(jù)發(fā)送部分(例如用于執(zhí)行圖9的步驟S26的圖8所示的數(shù)據(jù)發(fā)送單元417),用于將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;驗證數(shù)據(jù)接收部分(例如用于執(zhí)行圖9的步驟S28的圖8所示數(shù)據(jù)接收單元416),用于接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù)(例如驗證數(shù)據(jù)4),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;解密部分(例如用于執(zhí)行圖23的步驟S341的圖8所示的解密單元413),用于利用與至少一種加密方法(例如圖12中的加密方法1到3)對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和驗證部分(例如用于執(zhí)行圖23中的步驟S343的圖8所示的驗證單元414),用于基于解密部分所解密的第二驗證數(shù)據(jù)和隨機數(shù)產(chǎn)生部分所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
根據(jù)本發(fā)明的實施例,該信息處理設(shè)備還可包括加密方法管理部分(例如圖8中的算法/密鑰信息管理單元415),用于至少存儲與所述至少一種加密方法有關(guān)的信息,并將該信息單元提供到解密部分。
在根據(jù)本發(fā)明實施例的信息處理設(shè)備中,與加密方法有關(guān)的每一信息單元包括指定加密算法(例如圖12中的每種算法1到3)的信息和與用于加密或根據(jù)與加密算法對應(yīng)的解密方法解密數(shù)據(jù)的密鑰(例如圖12中的每個密鑰1到3)有關(guān)的信息。該加密方法管理部分可按照預(yù)定順序而將與所述多種不同的加密方法有關(guān)的信息單元順序提供到解密部分。
在根據(jù)本發(fā)明實施例的信息處理設(shè)備中,與相應(yīng)加密方法有關(guān)的信息單元被所述另一信息處理設(shè)備共享??梢愿鶕?jù)通過所述另一信息處理設(shè)備的相應(yīng)加密方法(例如圖22中的步驟S321到S323)對充當(dāng)?shù)谝或炞C數(shù)據(jù)的隨機數(shù)(例如隨機數(shù)RanB)進行加密,來產(chǎn)生第二驗證數(shù)據(jù)。
在根據(jù)本發(fā)明實施例的信息處理設(shè)備中,該解密部分根據(jù)與所述另一信息處理設(shè)備使用的相應(yīng)加密方法對應(yīng)的解密方法而解密第二驗證數(shù)據(jù)(例如圖24中的步驟S361到S363)。當(dāng)解密部分所解密的第二驗證數(shù)據(jù)與該隨機數(shù)相等時,該驗證部分可驗證所述另一信息處理設(shè)備為合法通信伙伴。
在根據(jù)本發(fā)明實施例的信息處理設(shè)備中,加密方法管理部分還可存儲產(chǎn)生密鑰所需的信息(例如圖25中的信息),并(根據(jù)例如圖26的處理)基于該信息而產(chǎn)生該密鑰。
在根據(jù)本發(fā)明實施例的信息處理設(shè)備中,產(chǎn)生密鑰所需的信息包括有關(guān)與要使用的相應(yīng)類型數(shù)據(jù)(例如圖25中的數(shù)據(jù)塊1到5)相關(guān)的相應(yīng)加密方法(例如圖25中的加密方法A到E)的信息單元。加密方法管理部分(在例如圖26的步驟S381到387中)根據(jù)與要使用的至少一種類型數(shù)據(jù)對應(yīng)的至少一種加密方法而加密與所述另一信息處理設(shè)備共享的明碼文本,由此產(chǎn)生密鑰。
在根據(jù)本發(fā)明實施例的信息處理設(shè)備中,有關(guān)加密方法的每一信息單元可包括指定加密算法(例如圖25中的每一算法A到D)的信息和有關(guān)用于根據(jù)該加密算法加密數(shù)據(jù)的密鑰(例如圖25中的每一密鑰A到E)的信息。
根據(jù)本發(fā)明的實施例,該信息處理設(shè)備(在例如圖9的步驟S23中)還可接收基于為了驗證該信息處理設(shè)備產(chǎn)生的隨機數(shù)(例如隨機數(shù)RanA)而產(chǎn)生的第三驗證數(shù)據(jù)(例如驗證數(shù)據(jù)1)。該信息處理設(shè)備(在例如圖9的步驟S24中)可使用至少一種加密方法(例如圖12中的加密方法1到3)而加密充當(dāng)?shù)谌炞C數(shù)據(jù)的隨機數(shù)以產(chǎn)生第四驗證數(shù)據(jù)(例如驗證數(shù)據(jù)2),并然后(在例如圖9的步驟S26中)將該第四驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備。
根據(jù)本發(fā)明的實施例,(在例如圖9的步驟S6中)該信息處理設(shè)備可由所述另一信息處理設(shè)備基于第四驗證數(shù)據(jù)而進行驗證。
根據(jù)本發(fā)明的另一個實施例,提供了一種用于以有線或無線(不接觸的)方式與另一信息處理設(shè)備通信的信息處理設(shè)備(例如圖4的裝置B)的信息處理方法,該方法包括以下步驟產(chǎn)生隨機數(shù)(例如隨機數(shù)RanB)(例如圖16中的步驟S201);基于所產(chǎn)生的隨機數(shù)而產(chǎn)生與所述另一信息處理設(shè)備的驗證有關(guān)的第一驗證數(shù)據(jù)(例如驗證數(shù)據(jù)3)(例如圖16中的步驟S204);將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備(例如圖9的步驟S26);接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù)(例如驗證數(shù)據(jù)4),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生(例如圖9的步驟S28);利用與至少一種加密方法(例如圖12中的加密方法1到3)對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密(例如圖23的步驟S341);和基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴(例如圖23中的步驟S343)。
根據(jù)本發(fā)明的另一實施例,提供了一種用于以有線或無線(不接觸的)方式與另一信息處理設(shè)備通信的信息處理設(shè)備(例如圖4的裝置B)的程序,該程序使計算機能執(zhí)行以下步驟控制產(chǎn)生隨機數(shù)(例如隨機數(shù)RanB)(例如圖16中的步驟S201);控制基于所產(chǎn)生的隨機數(shù)而產(chǎn)生與所述另一信息處理設(shè)備的驗證有關(guān)的第一驗證數(shù)據(jù)(例如驗證數(shù)據(jù)3)(例如圖16中的步驟S204);控制將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備(例如圖9的步驟S26);控制接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù)(例如驗證數(shù)據(jù)4),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生(例如圖9的步驟S28);控制利用與至少一種加密方法(例如圖12中的加密方法1到3)對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密(例如圖23的步驟S341);和控制基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴(例如圖23中的步驟S343)。
根據(jù)本發(fā)明的另一實施例,提供了一種其中記錄了用于信息處理設(shè)備(例如圖4的裝置B)的程序的記錄介質(zhì),該信息處理設(shè)備以有線或無線(不接觸的)方式與另一信息處理設(shè)備通信,該程序使計算機能執(zhí)行以下步驟控制產(chǎn)生隨機數(shù)(例如隨機數(shù)RanB)(例如圖16中的步驟S201);控制基于所產(chǎn)生的隨機數(shù)而產(chǎn)生與所述另一信息處理設(shè)備的驗證有關(guān)的第一驗證數(shù)據(jù)(例如驗證數(shù)據(jù)3)(例如圖16中的步驟S204);控制將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備(例如圖9的步驟S26);控制接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù)(例如驗證數(shù)據(jù)4),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生(例如圖9的步驟S28);控制利用與至少一種加密方法(例如圖12中的加密方法1到3)對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密(例如圖23的步驟S341);和控制基于所加密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴(例如圖23中的步驟S343)。
現(xiàn)在將參考附圖而在下面描述本發(fā)明的實施例。圖4示出了根據(jù)本發(fā)明的實施例的信息處理系統(tǒng)。參考圖4,裝置A與裝置B通信以彼此驗證,并在此后執(zhí)行交易。裝置A意欲代表例如用于不接觸式IC卡的讀出器/寫入器。裝置B意欲代表例如不接觸式IC卡。裝置A利用相應(yīng)天線通過無線電而與裝置B通信。
圖5是裝置A(讀出器/寫入器)的內(nèi)部結(jié)構(gòu)的方框圖。
控制單元201包括CPU 211、ROM 212、RAM 213、串行通信控制器(SCC)214、信號處理單元(SPU)216、和用于連接以上組件的總線215。
CPU 211將存儲在ROM 212中的控制程序開發(fā)(develop)到RAM 213中,并基于例如從不接觸式IC卡(裝置B)發(fā)送的響應(yīng)數(shù)據(jù)和從外部處理器提供的控制信號而執(zhí)行各種處理。例如,CPU 211產(chǎn)生要發(fā)送到不接觸式IC卡(裝置B)的命令,并通過總線215將該命令輸出到SPU 216。另外,CPU 211檢驗從不接觸式IC卡(裝置B)發(fā)送的數(shù)據(jù)。
SCC 214經(jīng)由總線215將從通過總線200與其相連的外部處理器發(fā)送的數(shù)據(jù)提供到CPU 211。另外,SCC 214將通過總線215從CPU 211提供的數(shù)據(jù)輸出到通過總線200相連的外部處理器。
當(dāng)通過解調(diào)單元204接收從不接觸式IC卡(裝置B)發(fā)送的響應(yīng)數(shù)據(jù)時,SPU 216對該數(shù)據(jù)執(zhí)行例如二進制相移鍵控(BPSK)解調(diào)(曼徹斯特碼解碼),并將結(jié)果數(shù)據(jù)提供到CPU 211。另外,當(dāng)要發(fā)送到不接觸式IC卡(裝置B)的命令通過總線215而提供到SPU 216時,SPU 216對該命令執(zhí)行BPSK調(diào)制(曼徹斯特碼編碼),并將結(jié)果數(shù)據(jù)輸出到調(diào)制單元202。
調(diào)制單元202基于從SPU 216提供的數(shù)據(jù)而對從振蕩電路(OSC)203提供的預(yù)定頻率的載波執(zhí)行振幅移位鍵控(ASK)調(diào)制,并將該調(diào)制波作為電磁波而通過天線205輸出。另一方面,解調(diào)單元204解調(diào)通過天線205捕獲的調(diào)制波(ASK調(diào)制波),并將所解調(diào)的數(shù)據(jù)輸出到SPU 216。
天線205發(fā)射預(yù)定電磁波并基于電磁波上的負(fù)載變化而確定該不接觸式IC卡(裝置B)是否靠近裝置A。例如,當(dāng)該不接觸式IC卡(裝置B)靠近裝置A時,天線205向/從不接觸式IC卡(裝置B)發(fā)送和接收各種數(shù)據(jù)塊。
圖6是裝置B(不接觸式IC卡)的內(nèi)部結(jié)構(gòu)的方框圖。
如圖6所示,該不接觸式IC卡(裝置B)包括天線(環(huán)形天線)230、電容器231、和在一個芯片上具有除了以上組件之外的其他組件的IC。該不接觸式IC卡以半雙工方式利用電磁感應(yīng)而向/從讀出器/寫入器(裝置A)發(fā)送和接收各種數(shù)據(jù)塊。該不接觸式IC卡不必使形狀為卡。
CPU 221將ROM 222中存儲的控制程序開發(fā)到RAM 223中,并控制不接觸式IC卡的全部操作。例如,當(dāng)天線230接收從讀出器/寫入器(裝置A)輻射的電磁波時,CPU 221響應(yīng)于該電磁波而將IC卡信息發(fā)送到讀出器/寫入器,該IC卡信息包括在該不接觸式IC卡(裝置B)中設(shè)置的卡標(biāo)識號。另外,響應(yīng)于來自讀出器/寫入器(裝置A)的請求,CPU 221將交易所需的信息提供到讀出器/寫入器。
從安排在不接觸式IC卡附近的讀出器/寫入器(裝置A)輻射的預(yù)定頻率電磁波使得包括天線230和電容器231的LC電路諧振。在接口單元229中,ASK(振幅移位鍵控)解調(diào)單元243檢測通過天線230接收的調(diào)制波(ASK調(diào)制波)的包絡(luò)以解調(diào)數(shù)據(jù),并將該數(shù)據(jù)輸出到BPSK(二進制移相鍵控)解調(diào)單元232。
在接口單元229中,ASK解調(diào)單元243對天線230所激勵的交變磁場進行整流,穩(wěn)壓器241將該磁場產(chǎn)生的電壓控制為恒定電平并將該恒定電壓作為DC電源而提供到相應(yīng)組件。如下所述,控制從讀出器/寫入器(裝置A)輻射的電磁波的電功率,使得產(chǎn)生磁場以提供不接觸式IC卡(裝置B)需要的電功率。
在接口單元229中,振蕩電路244在其中具有鎖相環(huán)(PLL)電路,以產(chǎn)生具有和所接收信號的時鐘頻率相同的頻率的時鐘信號。
另外,當(dāng)發(fā)送預(yù)定信息到讀出器/寫入器(裝置A)時,接口單元229響應(yīng)于從BPSK調(diào)制單元228提供的數(shù)據(jù)而導(dǎo)通或斷開例如預(yù)定開關(guān)元件(未示出)。僅當(dāng)該開關(guān)元件處于ON(通)狀態(tài)時,接口單元229才將預(yù)定負(fù)載并聯(lián)連接到天線230,由此改變天線230上的負(fù)載。
ASK調(diào)制單元242根據(jù)天線230上的負(fù)載變化而對從BPSK調(diào)制單元228提供的BPSK調(diào)制波執(zhí)行ASK調(diào)制,并通過天線230而將該調(diào)制分量發(fā)送到讀出器/寫入器(裝置A)。
當(dāng)對ASK解調(diào)單元243所解調(diào)的數(shù)據(jù)進行了BPSK調(diào)制時,BPSK解調(diào)單元232基于從PLL電路(未示出)提供的時鐘信號而對數(shù)據(jù)進行解調(diào)(即執(zhí)行曼徹斯特碼解碼),并將解調(diào)數(shù)據(jù)輸出到數(shù)據(jù)接收單元233。該數(shù)據(jù)接收單元233適當(dāng)?shù)貙⑺峁┑臄?shù)據(jù)輸出到CPU 221。CPU 221使RAM 223或EEPROM 224存儲數(shù)據(jù)。
CPU 221讀出EEPROM 224中存儲的數(shù)據(jù)并將該數(shù)據(jù)提供到數(shù)據(jù)發(fā)送單元227。BPSK調(diào)制單元228對從數(shù)據(jù)發(fā)送單元227提供的數(shù)據(jù)執(zhí)行BPSK調(diào)制(即曼徹斯特碼編碼),并將所調(diào)制的數(shù)據(jù)輸出到ASK調(diào)制單元242。
EEPROM 224適當(dāng)?shù)卮鎯ο嗷ヲ炞C所需的信息和交易所需的信息。
以上描述涉及裝置A是用于不接觸式IC卡的讀出器/寫入器、裝置B是不接觸式IC卡、而裝置A通過無線電與裝置B通信的情況。本發(fā)明也可應(yīng)用到裝置A是用于接觸式IC卡的讀出器/寫入器、裝置B是接觸式IC卡、而裝置A和B通過有線彼此通信的另一情況。另外,本發(fā)明也可應(yīng)用到裝置A是例如個人計算機的信息處理設(shè)備,而裝置B是例如個人數(shù)字助理(PDA)的信息處理設(shè)備的另一情況。
圖7是由圖5中的CPU 211執(zhí)行的軟件的功能結(jié)構(gòu)的方框圖。
隨機數(shù)產(chǎn)生單元311產(chǎn)生與通信伙伴(該情況下,裝置B)執(zhí)行相互驗證所需的隨機數(shù),將所產(chǎn)生的隨機數(shù)提供到加密單元312,并使包括RAM 213的存儲單元存儲該隨機數(shù)。
加密單元312利用預(yù)定加密算法和與該加密算法對應(yīng)的密鑰來加密隨機數(shù)產(chǎn)生單元311產(chǎn)生的隨機數(shù)或?qū)⒃谙旅婷枋龅膹慕饷軉卧?13輸出的數(shù)據(jù),該預(yù)定加密算法基于從算法/密鑰信息管理單元315提供的信息而指定。該加密單元312支持例如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)、三重DES、和高級加密標(biāo)準(zhǔn)(AES)的加密算法。例如,當(dāng)從算法/密鑰信息管理單元315接收到指定DES和對應(yīng)密鑰的信息時,該加密單元312利用DES和該密鑰而加密隨機數(shù)或數(shù)據(jù)。
該解密單元313利用預(yù)定加密算法和與該加密算法對應(yīng)的密鑰而解密通過數(shù)據(jù)接收單元316接收的數(shù)據(jù),該預(yù)定加密算法基于從算法/密鑰信息管理單元315提供的信息而指定。該解密單元313支持例如DES、三重DES、和AES的加密算法。例如,當(dāng)從算法/密鑰信息管理單元315接收到指定DES和對應(yīng)密鑰的信息時,該解密單元313利用DES和該密鑰而解密數(shù)據(jù)。
驗證單元314比較從解密單元313輸出的數(shù)據(jù)和存儲單元中存儲的隨機數(shù),基于比較結(jié)果而檢驗通信伙伴(該例中為裝置B),并將檢驗結(jié)果輸出到數(shù)據(jù)發(fā)送單元317。
該算法/密鑰信息管理單元315存儲有關(guān)至少一種預(yù)置加密算法的信息,即指定該加密算法的至少一個信息單元和有關(guān)對應(yīng)于該加密算法的密鑰的至少一個信息單元,使得該加密算法與對應(yīng)密鑰相關(guān)。該密鑰用于根據(jù)對應(yīng)加密算法而加密數(shù)據(jù)(例如隨機數(shù))。必要時,該算法/密鑰信息管理單元315將這些信息單元提供到加密單元312和解密單元313。另外,該算法/密鑰信息管理單元315將指定各加密算法和各對應(yīng)密鑰的信息單元順序提供到加密單元312或解密單元313。由此,加密單元312可在多級中根據(jù)不同加密算法而順序加密數(shù)據(jù)??商鎿Q地,解密單元313可在多級中根據(jù)不同加密算法而順序解密數(shù)據(jù)。
驗證數(shù)據(jù)產(chǎn)生單元318基于從加密單元312或解密單元313輸出的數(shù)據(jù)而產(chǎn)生驗證數(shù)據(jù),這將在下面進行描述。
數(shù)據(jù)發(fā)送單元317和數(shù)據(jù)接收單元316控制數(shù)據(jù)向/從通信伙伴(該例中為裝置B)的發(fā)送和接收。
圖8是由圖6中的CPU 221執(zhí)行的軟件的功能結(jié)構(gòu)的方框圖。
參考圖8,單元411到418是分別與圖7中的隨機數(shù)產(chǎn)生單元311到驗證數(shù)據(jù)產(chǎn)生單元318對應(yīng)的功能塊。各單元分別與圖7中的對應(yīng)單元具有相同功能。因此,省略其詳細(xì)描述。圖8中的算法/密鑰信息管理單元415對應(yīng)于圖7中的算法/密鑰信息管理單元315。該算法/密鑰信息管理單元415存儲有關(guān)至少一種預(yù)置加密算法的信息,即指定該加密算法的至少一個信息單元和有關(guān)對應(yīng)于該加密算法的密鑰的至少一個信息單元,使得該加密算法與密鑰相關(guān)。該密鑰用于根據(jù)對應(yīng)加密算法而加密數(shù)據(jù)(例如隨機數(shù))。單元315和415共享上述算法信息和密鑰信息。
換言之,算法/密鑰信息管理單元315和415共享指定多種不同加密算法的信息單元和有關(guān)對應(yīng)密鑰的信息單元,所述信息單元的每一個用于根據(jù)對應(yīng)加密算法加密數(shù)據(jù),使得裝置B正確解密從裝置A加密并發(fā)送的數(shù)據(jù),而裝置A正確解密從裝置B加密并發(fā)送的數(shù)據(jù)。算法/密鑰信息管理單元415在必要時將指定各加密算法的信息單元和有關(guān)各對應(yīng)密鑰的信息單元提供到加密單元412或解密單元413。
以與算法/密鑰信息管理單元315類似的方式,算法/密鑰信息管理單元415將指定各加密算法和密鑰的信息單元順序提供到加密單元412或解密單元413。由此,加密單元412可在多級中根據(jù)不同加密算法而加密數(shù)據(jù)??商鎿Q地,解密單元413可在多級中根據(jù)不同加密算法而解密數(shù)據(jù)。
現(xiàn)在將參考圖9的流程圖而描述裝置A和B之間執(zhí)行的相互驗證處理。當(dāng)充當(dāng)不接觸式IC卡的讀出器/寫入器的裝置A的天線205輻射預(yù)定電磁波并基于電磁波的負(fù)載變化而檢測到充當(dāng)不接觸式IC卡的裝置B的接近時,在執(zhí)行交易之前執(zhí)行該處理。
在步驟S1,裝置A發(fā)送輪詢信號到裝置B。在步驟S21,裝置B接收該輪詢信號。在步驟S22,裝置B將對在步驟S21中所接收的輪詢信號的響應(yīng)發(fā)送到裝置A。在步驟S2,裝置A接收該響應(yīng)。由此,裝置A和B之間的相互驗證處理開始。
在步驟S3,裝置A產(chǎn)生將在下面參考圖10所述的驗證數(shù)據(jù)1。該驗證數(shù)據(jù)1用于通過裝置A驗證裝置B并通過加密隨機數(shù)而產(chǎn)生。在步驟S4,裝置A將在步驟S3中產(chǎn)生的驗證數(shù)據(jù)1和充當(dāng)指定要在裝置A和B之間使用的數(shù)據(jù)的信息的存取目標(biāo)列表發(fā)送到裝置B。在步驟S23,裝置B接收該數(shù)據(jù)和信息。取代驗證數(shù)據(jù)1,可發(fā)送該隨機數(shù)而無需進行加密。
在步驟S24,如將在下面參考圖13所述,裝置B基于在步驟S23所接收的驗證數(shù)據(jù)1而產(chǎn)生驗證數(shù)據(jù)2。換言之,在步驟S23所接收的驗證數(shù)據(jù)1被該裝置B解密,而所解密的驗證數(shù)據(jù)1被該裝置B加密,由此產(chǎn)生驗證數(shù)據(jù)2。當(dāng)不加密而發(fā)送隨機數(shù)代替驗證數(shù)據(jù)1時,不必解密該驗證數(shù)據(jù)1。
在步驟S25,如將在下面參考圖16所述,裝置B產(chǎn)生驗證數(shù)據(jù)3。該驗證數(shù)據(jù)2用于通過裝置B驗證裝置A并通過加密隨機數(shù)而產(chǎn)生。在步驟S26,裝置B將在步驟S24中產(chǎn)生的驗證數(shù)據(jù)2和在步驟S25中產(chǎn)生的驗證數(shù)據(jù)3發(fā)送到裝置A。在步驟S5,裝置A接收數(shù)據(jù)塊,即驗證數(shù)據(jù)2和驗證數(shù)據(jù)3。取代驗證數(shù)據(jù)3,可發(fā)送該隨機數(shù)而無需進行加密。
在步驟S6,如將在下面參考圖18所述,裝置A檢驗是否基于步驟S5中接收的數(shù)據(jù)塊的驗證數(shù)據(jù)2而驗證了裝置B。在裝置A檢驗是否驗證了裝置B(即裝置B是否是合法通信伙伴)之后,裝置A輸出該檢驗結(jié)果。
在步驟S7,裝置A確定在步驟S6所獲得的檢驗結(jié)果。在步驟S7,當(dāng)裝置A確定裝置B為合法伙伴時,處理進行到步驟S8。
另一方面,在步驟S7,如果裝置A確定裝置B為非法伙伴,則裝置A發(fā)送錯誤信號到裝置B。在步驟S27,裝置B接收該錯誤信號。在該情況下,裝置A和B之間的相互驗證失敗。該處理終止。
在步驟S8,如下面將參考圖20所述,裝置A基于在步驟S5所接收的數(shù)據(jù)塊的驗證數(shù)據(jù)3而產(chǎn)生驗證數(shù)據(jù)4。換言之,在步驟S5中接收的驗證數(shù)據(jù)3被解密并且解密的驗證數(shù)據(jù)3被裝置A加密,由此產(chǎn)生驗證數(shù)據(jù)4。當(dāng)取代驗證數(shù)據(jù)3而發(fā)送沒有加密的隨機數(shù)時,不必解密該驗證數(shù)據(jù)3。在步驟S9,裝置A將在步驟S8產(chǎn)生的驗證數(shù)據(jù)4發(fā)送到裝置B。在步驟S28,裝置B接收該驗證數(shù)據(jù)4。
在步驟S29,如下面將參考圖23所述,裝置B檢驗是否驗證了裝置A。在裝置B檢驗是否驗證了裝置A(即裝置A是否是合法通信伙伴)之后,裝置B輸出該檢驗結(jié)果。
在步驟S30,裝置B確定在步驟S29所獲得的檢驗結(jié)果。當(dāng)裝置B確定裝置A為合法伙伴時,實現(xiàn)了裝置A和B之間的相互驗證。此后,例如在裝置A和B之間執(zhí)行交易。
另一方面,在步驟S30,當(dāng)裝置B確定裝置A是非法的時,裝置B發(fā)送錯誤信號到裝置A。在步驟S10,裝置A接收該錯誤信號。在該情況下,裝置A和B之間的相互驗證失敗。該處理終止。
現(xiàn)在將參考圖10的流程圖來詳細(xì)描述圖9的步驟S3中產(chǎn)生驗證數(shù)據(jù)1的處理。
在步驟S101,在裝置A中,隨機數(shù)產(chǎn)生單元311產(chǎn)生隨機數(shù)(其后稱為隨機數(shù)RanA)以驗證裝置B。在步驟S102,包括RAM 213的存儲單元存儲在步驟S101中產(chǎn)生的隨機數(shù)RanA。
在步驟S103,如將在下面參考圖11所述,加密單元312加密該隨機數(shù)RanA。在步驟S104,基于所加密的隨機數(shù)RanA而產(chǎn)生驗證數(shù)據(jù)1(例如通過將預(yù)定控制信息添加到所加密的隨機數(shù)RanA)。
驗證數(shù)據(jù)1也可通過將預(yù)定控制信息添加到?jīng)]有加密的隨機數(shù)RanA而產(chǎn)生。在該情況下,跳過步驟S103。
現(xiàn)在將參考圖11的流程圖而詳細(xì)描述圖10的步驟S103中加密隨機數(shù)RanA的處理。
根據(jù)該處理,加密單元312加密該隨機數(shù)RanA。如上所述,加密單元312基于有關(guān)至少一種預(yù)置加密算法的信息,即指定該加密算法的至少一個信息單元和有關(guān)用于根據(jù)該加密算法加密數(shù)據(jù)(例如隨機數(shù))的密鑰的至少一個信息單元,而執(zhí)行加密處理,該算法信息單元和密鑰信息單元由算法/密鑰信息管理單元315提供。
圖12示出了指定算法/密鑰信息管理單元315中存儲的各加密算法的信息單元和有關(guān)各自用于根據(jù)對應(yīng)加密算法加密(或解密)數(shù)據(jù)(例如隨機數(shù))的密鑰的信息單元的例子。圖12中的信息單元如上所述由裝置A和B共享,并也存儲在算法/密鑰信息管理單元415中。
參考圖12,加密方法1包括具有64比特數(shù)據(jù)長度的密鑰1和算法1。在該情況下,算法1充當(dāng)指定多種預(yù)置加密算法中的第一加密算法(例如DES)的信息,而密鑰1用于根據(jù)該加密算法加密數(shù)據(jù)。
類似地,加密方法2包括具有128比特數(shù)據(jù)長度的密鑰2和算法2。在該情況下,算法2充當(dāng)指定預(yù)置加密算法中的第二加密算法(例如AES)的信息,而密鑰2用于根據(jù)該加密算法加密數(shù)據(jù)。
此外,加密方法3包括具有128比特數(shù)據(jù)長度的密鑰3和算法3。在該情況下,算法3充當(dāng)指定預(yù)置加密算法中的第三加密算法(例如三重DES)的信息,而密鑰3用于根據(jù)該加密算法加密數(shù)據(jù)。
假定與相應(yīng)算法1到3對應(yīng)的加密算法是相應(yīng)私鑰(公鑰)密碼系統(tǒng)的加密算法,并且每一密鑰1到3用于加密數(shù)據(jù)并也用于根據(jù)與該加密算法對應(yīng)的解密方法而解密通過對應(yīng)加密算法加密的數(shù)據(jù)。
在裝置A中,算法/密鑰信息管理單元315按順序?qū)⒂嘘P(guān)相應(yīng)加密方法1到3的信息單元依次提供到加密單元312,并且該加密單元312根據(jù)所述加密方法加密數(shù)據(jù)。
換言之,在圖11的步驟S121中,加密單元312利用與算法1對應(yīng)的加密算法和密鑰1而加密隨機數(shù)RanA。
隨后,在步驟S122,加密單元312利用與算法2對應(yīng)的加密算法和密鑰2而加密在步驟S121中加密的數(shù)據(jù)。
而且,在步驟S123,加密單元312利用與算法3對應(yīng)的加密算法和密鑰3而加密在步驟S122中加密的數(shù)據(jù)。
以這種方式,基于隨機數(shù)RanA而產(chǎn)生驗證數(shù)據(jù)1。
現(xiàn)在將參考圖13的流程圖而詳細(xì)描述步驟S24中產(chǎn)生驗證數(shù)據(jù)2的處理。
在步驟S141,如下面將參考圖14所述,裝置B的解密單元413解密該驗證數(shù)據(jù)1。在步驟S142,獲得解密的驗證數(shù)據(jù)1(即隨機數(shù)RanA)作為結(jié)果數(shù)據(jù)。如果隨機數(shù)RanA還沒有被加密并已作為驗證數(shù)據(jù)1而發(fā)送,則不需要步驟S141的解密。
在步驟S143,如下面將參考圖15所述,加密單元412加密該結(jié)果數(shù)據(jù),使得在步驟S142中獲得的結(jié)果數(shù)據(jù)(即隨機數(shù)RanA)再次在裝置B中被加密。在步驟S144,基于加密的數(shù)據(jù)而產(chǎn)生驗證數(shù)據(jù)2(例如通過添加預(yù)定控制信息到該加密的數(shù)據(jù))。
現(xiàn)在將參考圖14的流程圖而詳細(xì)描述圖13的步驟S141中解密驗證數(shù)據(jù)1的處理。
根據(jù)該處理,解密單元413解密該驗證數(shù)據(jù)1。如上所述,解密單元413基于有關(guān)至少一種預(yù)置加密算法的信息,即指定該加密算法的至少一個信息單元和有關(guān)用于根據(jù)該加密算法加密(或解密)數(shù)據(jù)(例如隨機數(shù))的密鑰的至少一個信息單元,而執(zhí)行解密處理,該算法信息單元和密鑰信息單元由算法/密鑰信息管理單元415提供。
在裝置B中,算法/密鑰信息管理單元415將如上面參考圖12所述的有關(guān)加密方法1到3的信息單元按照加密方法3到1的順序而提供到解密單元413,并且該解密單元413根據(jù)加密方法而解密數(shù)據(jù)。
換言之,在圖14的步驟S161,解密單元413利用與算法3對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰3而解密驗證數(shù)據(jù)1。
隨后,在步驟S162,解密單元413利用與算法2對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰2而解密在步驟S161中解密的數(shù)據(jù)。
而且,在步驟S163,解密單元413利用與算法1對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰1而解密在步驟S162中解密的數(shù)據(jù)。
如上面參考圖11所述,通過利用算法1和密鑰1的組合、算法2和密鑰2的組合、以及算法3和密鑰3的組合按照該順序依次加密隨機數(shù)RanA而產(chǎn)生驗證數(shù)據(jù)1。所以,通過利用算法3和密鑰3的組合、算法2和密鑰2的組合、以及算法1和密鑰1的組合而按照該順序依次解密驗證數(shù)據(jù)1,由此獲得隨機數(shù)RanA。換言之,算法/密鑰信息管理單元315和415將指定各預(yù)置加密算法的信息單元和有關(guān)各自用于根據(jù)對應(yīng)加密算法加密數(shù)據(jù)的密鑰的信息單元分別正確地提供到加密單元312和解密單元413。由此,裝置B獲取了在裝置A中產(chǎn)生的隨機數(shù)RanA。
現(xiàn)在將參考圖15的流程圖而詳細(xì)描述圖13的步驟S143中的加密結(jié)果數(shù)據(jù)的處理。
在步驟S181,加密單元412利用與算法3對應(yīng)的加密算法和密鑰3而加密在圖13的步驟S142中獲得的結(jié)果數(shù)據(jù)(即隨機數(shù)RanA)。
在步驟S182,加密單元412利用與算法2對應(yīng)的加密算法和密鑰2而加密在步驟S181中加密的數(shù)據(jù)。
在步驟S183,加密單元412還利用與算法1對應(yīng)的加密算法和密鑰1而加密在步驟S182中加密的數(shù)據(jù)。
以這種方式,結(jié)果數(shù)據(jù)(即隨機數(shù)RanA)再次被加密,并基于所加密的數(shù)據(jù)而產(chǎn)生了該驗證數(shù)據(jù)2。
現(xiàn)在將參考圖16的流程圖而詳細(xì)描述圖9的步驟S25中產(chǎn)生驗證數(shù)據(jù)3的處理。
在步驟S201,在裝置B中,隨機數(shù)產(chǎn)生單元411產(chǎn)生隨機數(shù)(下文中,稱為隨機數(shù)RanB)以驗證該裝置A。在步驟S202,包括RAM 223的存儲單元存儲在步驟S201中產(chǎn)生的隨機數(shù)RanB。
在步驟S203,如下面將參考圖17所述,加密單元412加密隨機數(shù)RanB。在步驟S204,基于所加密的隨機數(shù)RanB而產(chǎn)生驗證數(shù)據(jù)3(例如通過將預(yù)定控制信息添加到加密的隨機數(shù)RanB)。
驗證數(shù)據(jù)3也可通過將預(yù)定控制信息添加到?jīng)]有加密的隨機數(shù)RanB而產(chǎn)生。在這種情況下,跳過步驟S203。
現(xiàn)在將參考圖17的流程圖而詳細(xì)描述圖16的步驟S203中加密隨機數(shù)RanB的處理。
根據(jù)該處理,加密單元412加密該隨機數(shù)RanB。如上所述,加密單元412基于有關(guān)至少一種預(yù)置加密算法的信息,即指定該加密算法的至少一個信息單元和有關(guān)用于根據(jù)該加密算法加密數(shù)據(jù)的密鑰的至少一個信息單元,而執(zhí)行加密處理,該算法信息單元和密鑰信息單元由算法/密鑰信息管理單元415提供。
在裝置B中,算法/密鑰信息管理單元415按照加密方法3到1的順序而將參考圖12描述的有關(guān)各加密方法1到3的信息單元依次提供到加密單元412,并且該加密單元412根據(jù)所述加密方法加密數(shù)據(jù)。
換言之,在步驟S221中,加密單元412利用與算法3對應(yīng)的加密算法和密鑰3而加密隨機數(shù)RanB。
隨后,在步驟S222,加密單元412利用與算法2對應(yīng)的加密算法和密鑰2而加密在步驟S221中加密的數(shù)據(jù)。
在步驟S223,加密單元312還利用與算法1對應(yīng)的加密算法和密鑰1而加密在步驟S222中加密的數(shù)據(jù)。
以這種方式,基于隨機數(shù)RanB而產(chǎn)生驗證數(shù)據(jù)3。
現(xiàn)在將參考圖18的流程圖而詳細(xì)描述圖9的步驟S6中檢驗裝置B的處理。
在步驟S241,如下面將參考圖19所述,解密單元313解密該驗證數(shù)據(jù)2。驗證單元314獲得解密的驗證數(shù)據(jù)2(即隨機數(shù)RanA)作為結(jié)果數(shù)據(jù)。
現(xiàn)在將參考圖19的流程圖而詳細(xì)描述圖18的步驟S241中解密驗證數(shù)據(jù)2的處理。
根據(jù)該處理,解密單元313解密該驗證數(shù)據(jù)2。如上所述,解密單元313基于有關(guān)至少一種預(yù)置加密算法的信息,即指定該加密算法的至少一個信息單元和有關(guān)用于根據(jù)該加密算法加密(或解密)數(shù)據(jù)的密鑰的至少一個信息單元,而執(zhí)行解密處理,該算法信息單元和密鑰信息單元由算法/密鑰信息管理單元315提供。
在裝置A中,算法/密鑰信息管理單元315將如上面參考圖12所述的有關(guān)各加密方法1到3的信息單元按照該順序依次提供到解密單元313,并且該解密單元313根據(jù)該加密方法而解密數(shù)據(jù)。
換言之,在圖19的步驟S261,解密單元313利用與算法1對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰1而解密驗證數(shù)據(jù)2。
隨后,在步驟S262,解密單元313利用與算法2對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰2而解密在步驟S261中解密的數(shù)據(jù)。
在步驟S263,解密單元313進一步利用與算法3對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰3而解密在步驟S262中解密的數(shù)據(jù)。
如上面參考圖15所述,通過利用算法3和密鑰3的組合、算法2和密鑰2的組合、以及算法1和密鑰1的組合按照該順序依次加密裝置B所解密的驗證數(shù)據(jù)1(即隨機數(shù)RanA)而產(chǎn)生驗證數(shù)據(jù)2。所以,通過利用算法1和密鑰1的組合、算法2和密鑰2的組合、以及算法3和密鑰3的組合而按照該順序依次解密驗證數(shù)據(jù)2,由此獲得隨機數(shù)RanA。換言之,算法/密鑰信息管理單元315和415將指定各預(yù)置加密算法的信息單元和有關(guān)各自用于根據(jù)對應(yīng)加密算法加密數(shù)據(jù)的各密鑰的信息單元分別正確地提供到解密單元313和加密單元412。由此,裝置B中加密的隨機數(shù)RanA由裝置A解密和獲得。
再次參考圖18,在步驟S242,驗證單元314將結(jié)果數(shù)據(jù)(即在步驟S241解密的驗證數(shù)據(jù)2)與在圖10的步驟S 102中存儲在存儲單元中的隨機數(shù)RanA進行比較。
已產(chǎn)生了在圖10的步驟S 102中存儲在存儲單元中的隨機數(shù)RanA,以通過裝置A驗證裝置B。除了裝置A之外的裝置不能預(yù)先獲取隨機數(shù)RanA。
該結(jié)果數(shù)據(jù)已從通信伙伴(該例中為裝置B)中獲得。除非該通信伙伴知道裝置A中的解密方法(即如上面參考圖12所述的有關(guān)各加密方法1到3的信息單元被按照該順序依次提供到解密單元313并且數(shù)據(jù)被依次解密的事實),則該通信伙伴不能設(shè)想(assume)要解密的數(shù)據(jù)并加密該數(shù)據(jù)。
如果步驟S241中所解密的驗證數(shù)據(jù)2等于在圖10的步驟S102中存儲在存儲單元中的隨機數(shù)RanA,則該通信伙伴很可能包括與裝置A的算法/密鑰信息管理單元315對應(yīng)的算法/密鑰信息管理單元415。
假設(shè)不包括算法/密鑰信息管理單元415的第三方冒充裝置B,則第三方已查明驗證數(shù)據(jù)2由裝置A利用算法1、2和3按該順序依次解密。另外,第三方已破譯了密鑰1到3并產(chǎn)生了驗證數(shù)據(jù)2。實現(xiàn)上述代碼破譯的可能性實質(zhì)上為0。
所以,如果步驟S242的比較結(jié)果是結(jié)果數(shù)據(jù)(即步驟S241中的解密的驗證數(shù)據(jù)2)與在圖10的步驟S 102存儲在存儲單元中的隨機數(shù)RanA相等,則驗證該裝置B為合法通信伙伴。
在步驟S243,驗證單元314確定步驟S242的比較結(jié)果是否是結(jié)果數(shù)據(jù)的值等于隨機數(shù)的值。
在步驟S243,如果所述值彼此相等,該處理進行到步驟S244。該驗證單元314將指示驗證了裝置B的驗證標(biāo)志設(shè)置為ON狀態(tài)。
另一方面,如果在步驟S243確定所述值不彼此相等,該處理進行到步驟S245。該驗證單元314將上述驗證標(biāo)志設(shè)置為OFF(斷)狀態(tài)。
如上所述,檢驗裝置B。當(dāng)驗證標(biāo)志被設(shè)置為ON狀態(tài)時,在圖9的步驟S7中確定驗證了裝置B。然后,處理進行到步驟S8。如果驗證標(biāo)志被設(shè)置為OFF狀態(tài),則在圖9的步驟S7中確定裝置B沒有通過驗證。裝置A發(fā)送錯誤信號到裝置B。
現(xiàn)在將參考圖20的流程圖詳細(xì)描述在圖9的步驟S8中產(chǎn)生驗證數(shù)據(jù)4的處理。
在步驟S281,如下面將參考圖21所述,裝置A的解密單元313解密該驗證數(shù)據(jù)3。在步驟S282獲得解密的驗證數(shù)據(jù)3(即隨機數(shù)RanB)作為結(jié)果數(shù)據(jù)。如果隨機數(shù)RanB沒有被加密并已作為驗證數(shù)據(jù)3發(fā)送,則不需要步驟S281中的解密。
在步驟S283,如下面將參考圖15所述,加密單元312加密該結(jié)果數(shù)據(jù)。換言之,在步驟S282所獲得的結(jié)果數(shù)據(jù)(即隨機數(shù)RanB)再次被裝置A加密。在步驟S284,基于所加密的數(shù)據(jù)(例如通過將預(yù)定控制信息添加到所加密的數(shù)據(jù))而產(chǎn)生驗證數(shù)據(jù)4。
現(xiàn)在將參考圖21的流程圖詳細(xì)描述在圖20的步驟S281中解密驗證數(shù)據(jù)3的處理。如上所述,在裝置A中,算法/密鑰信息管理單元315將如上面參考圖12所述的有關(guān)各加密方法1到3的信息按照該順序依次提供到解密單元313,解密單元313按照所述加密方法而依次解密數(shù)據(jù)。
換言之,在圖21的步驟S301,解密單元313利用與算法1對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰1而解密驗證數(shù)據(jù)3。
隨后,在步驟S302,解密單元313利用與算法2對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰2而解密在步驟S301中解密的數(shù)據(jù)。
而且,在步驟S303,解密單元313還利用與算法3對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰3而解密在步驟S302中解密的數(shù)據(jù)。
如上面參考圖17所述,通過利用算法3和密鑰3的組合、算法2和密鑰2的組合、以及算法1和密鑰1的組合按照該順序依次加密隨機數(shù)RanB而產(chǎn)生驗證數(shù)據(jù)3。所以,通過利用算法1和密鑰1的組合、算法2和密鑰2的組合、以及算法3和密鑰3的組合而按照該順序依次解密驗證數(shù)據(jù)3,由此獲得隨機數(shù)RanB。換言之,算法/密鑰信息管理單元315和415將指定各預(yù)置加密算法的信息單元和有關(guān)各自用于根據(jù)對應(yīng)加密算法加密數(shù)據(jù)的各密鑰的信息單元分別正確地提供到解密單元313和加密單元412。由此,裝置B中產(chǎn)生的隨機數(shù)RanB由裝置A獲取。
現(xiàn)在將參考圖22的流程圖而詳細(xì)描述圖20的步驟S283中的加密結(jié)果數(shù)據(jù)的處理。
在步驟S321,加密單元312利用與算法1對應(yīng)的加密算法和密鑰1而加密在圖20的步驟S282中獲得的結(jié)果數(shù)據(jù)(即隨機數(shù)RanB)。
在步驟S322,加密單元312利用與算法2對應(yīng)的加密算法和密鑰2而加密在步驟S321中加密的數(shù)據(jù)。
在步驟S323,加密單元312還利用與算法3對應(yīng)的加密算法和密鑰3而加密在步驟S322中加密的數(shù)據(jù)。
以這種方式,結(jié)果數(shù)據(jù)(即隨機數(shù)RanB)再次被加密,并基于所加密的數(shù)據(jù)而產(chǎn)生了驗證數(shù)據(jù)4。
現(xiàn)在將參考圖23的流程圖而詳細(xì)描述圖9的步驟S29中的檢驗裝置A的處理。
在步驟S341,如下面將參考圖24所述,解密單元413解密該驗證數(shù)據(jù)4。驗證單元414獲得解密的驗證數(shù)據(jù)4(即隨機數(shù)RanB)作為結(jié)果數(shù)據(jù)。
現(xiàn)在將參考圖24的流程圖而詳細(xì)描述圖23的步驟S341中的解密驗證數(shù)據(jù)4的處理。如上所述,在裝置B中,算法/密鑰信息管理單元415按照加密方法3到1的順序?qū)⑷缟厦鎱⒖紙D12所述的有關(guān)各加密方法1到3的信息單元依次提供到解密單元413,解密單元413按照所述加密方法而依次解密數(shù)據(jù)。
換言之,在圖24的步驟S361,解密單元413利用與算法3對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰3而解密驗證數(shù)據(jù)4。
隨后,在步驟S362,解密單元413利用與算法2對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰2而解密在步驟S361中解密的數(shù)據(jù)。
在步驟S363,解密單元413還利用與算法1對應(yīng)的加密算法(的對應(yīng)解密算法)和密鑰1而解密在步驟S362中解密的數(shù)據(jù)。
如上面參考圖22所述,通過利用算法1和密鑰1的組合、算法2和密鑰2的組合、以及算法3和密鑰3的組合按照該順序依次加密已由裝置A解密的驗證數(shù)據(jù)3(即隨機數(shù)RanB)而產(chǎn)生驗證數(shù)據(jù)4。所以,通過利用算法3和密鑰3的組合、算法2和密鑰2的組合、以及算法1和密鑰1的組合而按照該順序依次解密驗證數(shù)據(jù)4,由此獲得隨機數(shù)RanB。換言之,算法/密鑰信息管理單元315和415將指定各預(yù)置加密算法的信息單元和有關(guān)各自用于根據(jù)對應(yīng)加密算法加密數(shù)據(jù)的各密鑰的信息單元分別正確地提供到加密單元312和解密單元413。由此,裝置A中加密的隨機數(shù)RanB由裝置B解密和獲得。
再次參考圖23,在步驟S342,驗證單元414將結(jié)果數(shù)據(jù)(即在步驟S341解密的驗證數(shù)據(jù)4)與在圖16的步驟S202中存儲在存儲單元中的隨機數(shù)RanB進行比較。
已產(chǎn)生了在圖16的步驟S202中存儲在存儲單元中的隨機數(shù)RanB,以通過裝置B驗證裝置A。除了裝置B之外的裝置不能預(yù)先獲取隨機數(shù)RanB。
該結(jié)果數(shù)據(jù)已從通信伙伴(該情況下為裝置A)中獲得。除非該通信伙伴知道裝置B中的解密方法(即如上面參考圖12所述的有關(guān)各加密方法1到3的信息單元被按照該順序依次提供到解密單元413并且數(shù)據(jù)被依次解密的事實),則該通信伙伴不能設(shè)想要解密的數(shù)據(jù)并加密該數(shù)據(jù)。
如果步驟S341中所解密的驗證數(shù)據(jù)4不等于在圖16的步驟S202中存儲在存儲單元中的隨機數(shù)RanB,則該通信伙伴很可能包括與裝置B的算法/密鑰信息管理單元415對應(yīng)的算法/密鑰信息管理單元315。
假設(shè)不包括算法/密鑰信息管理單元315的第三方冒充裝置A,則第三方已查明驗證數(shù)據(jù)4由裝置B利用算法3、2和1而按該順序依次解密。另外,第三方已破譯了密鑰3到1并產(chǎn)生了驗證數(shù)據(jù)4。實現(xiàn)上述代碼破譯的可能性實質(zhì)上為0。
所以,如果步驟S342的比較結(jié)果是結(jié)果數(shù)據(jù)(即步驟S341中所解密的驗證數(shù)據(jù)4)與在圖16的步驟S202存儲在存儲單元中的隨機數(shù)RanB相等,則驗證該裝置A為合法通信伙伴。
在步驟S343,驗證單元414確定步驟S342的比較結(jié)果是否是結(jié)果數(shù)據(jù)的值等于隨機數(shù)的值。
在步驟S343,如果確定所述值彼此相等,該處理進行到步驟S344。該驗證單元414將指示驗證了裝置A的驗證標(biāo)志設(shè)置為ON狀態(tài)。
另一方面,如果在步驟S343確定所述值不彼此相等,該處理進行到步驟S345。該驗證單元414將上述驗證標(biāo)志設(shè)置為OFF狀態(tài)。
如上所述,裝置B檢驗裝置A。當(dāng)驗證標(biāo)志被設(shè)置為ON狀態(tài)時,在圖9的步驟S30中確定驗證了裝置A。然后,執(zhí)行交易。如果驗證標(biāo)志被設(shè)置為OFF狀態(tài),則在圖9的步驟S30中確定裝置A沒有通過驗證。裝置B發(fā)送錯誤信號到裝置A。
如上所述,執(zhí)行裝置A和B之間的相互驗證。在裝置A和B中使用不同加密算法和不同密鑰加密或解密用于相互驗證的驗證數(shù)據(jù)塊1到4,由此防止例如冒充的欺詐行為。結(jié)果,可增加相互驗證的可靠性。
以上實施例涉及使用參考圖12所述的與加密方法1到3對應(yīng)的加密算法和對應(yīng)密鑰來產(chǎn)生驗證數(shù)據(jù)塊1到4的情況。各自包括加密算法和密鑰的組合的數(shù)目不限于以上實施例中的數(shù)目。
根據(jù)以上實施例,在裝置A中,算法/密鑰信息管理單元315將有關(guān)以上參考圖12所述的各加密方法1到3的信息單元按照該順序依次提供到加密單元312或解密單元313。在裝置B中,算法/密鑰信息管理單元415按照加密方法3到1的順序?qū)⒂嘘P(guān)各加密方法1到3的信息單元依次提供到加密單元412或解密單元413。例如,在裝置A中,算法/密鑰信息管理單元315可按照加密方法2、加密方法1、和加密方法3的順序?qū)⒂嘘P(guān)各加密方法1到3的信息單元依次提供到加密單元312或解密單元313。因此,在裝置B中,算法/密鑰信息管理單元415可按照加密方法3、加密方法1、和加密方法2的順序?qū)⒂嘘P(guān)各加密方法1到3的信息單元依次提供到加密單元412或解密單元413。
另外,在產(chǎn)生驗證數(shù)據(jù)塊1到4的過程中,不必使用所有加密方法1到3。例如,可在裝置A和B之間預(yù)定與各驗證數(shù)據(jù)塊對應(yīng)的加密方法,使得用加密方法1加密或解密驗證數(shù)據(jù)1、用加密方法2加密或解密驗證數(shù)據(jù)2等等。
以上實施例涉及用預(yù)定密鑰(例如圖12中的密鑰1到3)進行相互驗證的情況。可在每次執(zhí)行相互驗證時,產(chǎn)生和使用密鑰。
在以上情況下,算法/密鑰信息管理單元315和415中的每一個除了存儲以上參考圖12所述的信息單元之外,還存儲例如圖25中示出的信息。
圖25示出了指定在算法/密鑰信息管理單元315和415中存儲的各加密方法的信息單元和有關(guān)各自用于根據(jù)對應(yīng)加密算法加密數(shù)據(jù)的各密鑰的信息單元的另一個例子。參考圖25,數(shù)據(jù)塊1與包括具有64比特數(shù)據(jù)長度的密鑰A和算法A的加密方法A相關(guān)。數(shù)據(jù)塊2與包括具有128比特數(shù)據(jù)長度的密鑰B和算法B的加密方法B相關(guān)。
類似地,數(shù)據(jù)塊3到5分別與加密方法C到E相關(guān)。
數(shù)據(jù)塊1到5被存儲在例如裝置B的EEPROM 224中并用于交易。根據(jù)讀出器/寫入器(裝置A)的類型和用戶指定的交易種類而指定在裝置A和B之間使用數(shù)據(jù)塊1到5中的哪一個?;谠趫D9的步驟S4中發(fā)送的上述存取目標(biāo)列表而預(yù)先在裝置A和B之間發(fā)送指定要使用的數(shù)據(jù)的信息。
例如,當(dāng)裝置A向裝置B通知要使用數(shù)據(jù)塊1到5時,算法/密鑰信息管理單元415產(chǎn)生例如圖26中所示的用于相互驗證的密文密鑰。
圖26是通過算法/密鑰信息管理單元415產(chǎn)生密文密鑰的處理的流程圖。
在步驟S381,算法/密鑰信息管理單元415提取在裝置A和B之間共享的例如文本數(shù)據(jù)的明碼文本。然后,算法/密鑰信息管理單元415按照例如加密方法A到E的順序而將以上參考圖25所述的有關(guān)各加密方法A到E的信息單元依次提供到加密單元412。
換言之,在步驟S382,加密單元412利用對應(yīng)于算法A的加密算法和密鑰A而加密在步驟S381所提取的明碼文本。
隨后,在步驟S383,加密單元412利用對應(yīng)于算法B的加密算法和密鑰B而加密在步驟S382所加密的數(shù)據(jù)。
在步驟S384,加密單元412還利用對應(yīng)于算法C的加密算法和密鑰C而加密在步驟S383所加密的數(shù)據(jù)。
在步驟S385,加密單元412利用對應(yīng)于算法D的加密算法和密鑰D而加密在步驟S384所加密的數(shù)據(jù)。
在步驟S386,加密單元412利用對應(yīng)于算法A的加密算法和密鑰E而加密在步驟S385所加密的數(shù)據(jù)。
在步驟S387,算法/密鑰信息管理單元415將步驟S386中的結(jié)果數(shù)據(jù)存儲為用于相互驗證的密鑰(例如圖12的密鑰1)。
例如,當(dāng)裝置A向裝置B通知數(shù)據(jù)塊1到3是要使用的數(shù)據(jù)時,省略步驟S385和S386。當(dāng)需要多個密鑰時,在步驟S381,提取在裝置A和B之間共享的不同明碼文本??稍陔S后的步驟中加密各個明碼文本。由于以多個步驟(即步驟S382到S386)加密明碼文本,所以第三方很難破解加密的明碼文本。為了數(shù)據(jù)的安全隱蔽,所以不必考慮選擇長文本數(shù)據(jù)。可正確地選擇和提取裝置A和B之間共享的明碼文本。
在裝置A中,算法/密鑰信息管理單元315和加密單元312執(zhí)行與圖26的上述步驟類似的步驟,以產(chǎn)生用于相互驗證的密鑰。省略其詳細(xì)描述。
如上所述,產(chǎn)生用于相互驗證的密鑰。以這種方式,每次執(zhí)行相互驗證時,都改變相互驗證的密鑰(在該例中,根據(jù)要使用的數(shù)據(jù)),由此實現(xiàn)更強的安全性。結(jié)果,可進一步增加相互驗證的可靠性。另外,由于通過以多個步驟利用多種加密算法和密鑰加密明碼文本而產(chǎn)生用于相互驗證的密鑰,所以安全性比傳統(tǒng)密鑰產(chǎn)生方法更強。
在裝置A和B之間的相互驗證中,另一相互驗證方法是可用的在每一相應(yīng)裝置的加密或解密功能上安裝公鑰加密算法,裝置A利用裝置A的私鑰加密隨機數(shù),裝置B利用裝置A的公鑰解密所加密的數(shù)據(jù)以獲得隨機數(shù),裝置B利用裝置B的私鑰加密該隨機數(shù)并發(fā)送所加密的數(shù)據(jù),而裝置A利用其私鑰解密該數(shù)據(jù)以獲得隨機數(shù),使得裝置A和B彼此驗證。然而,根據(jù)公鑰系統(tǒng)執(zhí)行加密或解密增加了例如CPU的算術(shù)處理的負(fù)載。關(guān)于很小且需要節(jié)電性能的例如IC卡的裝置,很難構(gòu)造該裝置使得可以在短時間中執(zhí)行根據(jù)公鑰系統(tǒng)的加密或解密。根據(jù)本發(fā)明,使用具有相對小算術(shù)處理負(fù)載的私鑰加密算法。因此,即使在很小且需要節(jié)電性能的例如IC卡的裝置中,也可能以高可靠性在短時間中執(zhí)行相互驗證。
上述系列處理可通過硬件或軟件來執(zhí)行。當(dāng)通過軟件執(zhí)行這系列處理時,構(gòu)成該軟件的程序通過例如因特網(wǎng)的網(wǎng)絡(luò)被安裝在裝置上、或經(jīng)由總線200被安裝在包括可移動介質(zhì)的記錄介質(zhì)上。
該記錄介質(zhì)包括其中記錄了程序并為了提供程序而配發(fā)給用戶的可移動盤,例如磁盤(包括軟盤)、光學(xué)盤(包括光盤只讀存儲器(CD-ROM)和數(shù)字多功能盤(DVD))、磁光盤(包括微型盤(MD,MiniDisc))、或半導(dǎo)體存儲器。該記錄介質(zhì)還包括例如ROM 212或222的只讀存儲器,其中已記錄了程序、并合并在該設(shè)備中然后被交付給用戶。
在該說明書中,執(zhí)行上述系列處理的步驟可按照上述順序沿時序執(zhí)行、或可并行或單獨執(zhí)行。
本領(lǐng)域普通技術(shù)人員應(yīng)理解,在所附權(quán)利要求或其等同的范圍內(nèi),可根據(jù)設(shè)計需求和其他因素,進行各種改變、組合、子組合和替換。
權(quán)利要求
1.一種信息處理設(shè)備,用于以有線或無線方式與另一信息處理設(shè)備進行通信,該設(shè)備包括隨機數(shù)產(chǎn)生部件,用于產(chǎn)生隨機數(shù);第一驗證數(shù)據(jù)產(chǎn)生部件,用于基于隨機數(shù)產(chǎn)生部件所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);驗證數(shù)據(jù)發(fā)送部件,用于將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;驗證數(shù)據(jù)接收部件,用于接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;解密部件,用于利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和驗證部件,用于基于解密部件所解密的第二驗證數(shù)據(jù)和隨機數(shù)產(chǎn)生部件所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
2.根據(jù)權(quán)利要求1的設(shè)備,還包括加密方法管理部件,用于存儲與所述至少一種加密方法有關(guān)的至少一個信息單元,并將該信息單元提供到解密部件。
3.根據(jù)權(quán)利要求2的設(shè)備,其中與加密方法有關(guān)的每一信息單元包括指定加密算法的信息和與用于加密或根據(jù)與加密算法對應(yīng)的解密方法解密數(shù)據(jù)的密鑰有關(guān)的信息,并且該加密方法管理部件按照預(yù)定順序而將與所述多種不同的加密方法有關(guān)的信息單元依次提供到解密部件。
4.根據(jù)權(quán)利要求3的設(shè)備,其中與相應(yīng)加密方法有關(guān)的信息單元被所述另一信息處理設(shè)備共享,并且通過所述另一信息處理設(shè)備根據(jù)相應(yīng)加密方法對充當(dāng)?shù)谝或炞C數(shù)據(jù)的隨機數(shù)進行加密,而產(chǎn)生第二驗證數(shù)據(jù)。
5.根據(jù)權(quán)利要求4的設(shè)備,其中該解密部件使用與所述另一信息處理設(shè)備使用的相應(yīng)加密方法對應(yīng)的解密方法來解密第二驗證數(shù)據(jù),并且當(dāng)解密部件所解密的第二驗證數(shù)據(jù)與該隨機數(shù)相等時,該驗證部件驗證所述另一信息處理設(shè)備為合法通信伙伴。
6.根據(jù)權(quán)利要求2的設(shè)備,其中該加密方法管理部件還存儲產(chǎn)生密鑰所需的信息,并基于該信息而產(chǎn)生該密鑰。
7.根據(jù)權(quán)利要求6的設(shè)備,其中所述產(chǎn)生密鑰所需的信息包括分別與要使用的相應(yīng)類型數(shù)據(jù)相關(guān)的多種不同加密方法有關(guān)的信息單元,并且該加密方法管理部件根據(jù)與要使用的至少一種類型數(shù)據(jù)相關(guān)的至少一種加密方法而加密與所述另一信息處理設(shè)備共享的明碼文本,以產(chǎn)生密鑰。
8.根據(jù)權(quán)利要求7的設(shè)備,其中有關(guān)加密方法的每一信息單元包括指定加密算法的信息和有關(guān)用于根據(jù)該加密算法加密數(shù)據(jù)的密鑰的信息。
9.根據(jù)權(quán)利要求1的設(shè)備,其中還接收第三驗證數(shù)據(jù),該第三驗證數(shù)據(jù)基于為了通過所述另一信息處理設(shè)備驗證該設(shè)備而產(chǎn)生的隨機數(shù)產(chǎn)生,使用至少一種加密方法而加密充當(dāng)?shù)谌炞C數(shù)據(jù)的隨機數(shù)以產(chǎn)生第四驗證數(shù)據(jù),并且將該第四驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備。
10.根據(jù)權(quán)利要求9的設(shè)備,其中該設(shè)備由所述另一信息處理設(shè)備基于第四驗證數(shù)據(jù)而進行驗證。
11.一種用于以有線或無線方式與另一信息處理設(shè)備通信的信息處理設(shè)備的信息處理方法,該方法包括以下步驟產(chǎn)生隨機數(shù);基于所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
12.一種用于以有線或無線方式與另一信息處理設(shè)備通信的信息處理設(shè)備的程序,該程序使計算機能執(zhí)行以下步驟控制產(chǎn)生隨機數(shù);控制基于所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);控制將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;控制接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;控制利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和控制基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
13.一種其中記錄了用于以有線或無線方式與另一信息處理設(shè)備通信的信息處理設(shè)備的程序的記錄介質(zhì),該程序使計算機能執(zhí)行以下步驟控制產(chǎn)生隨機數(shù);控制基于所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);控制將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;控制接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;控制利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和控制基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
14.一種信息處理設(shè)備,用于以有線或無線方式與另一信息處理設(shè)備進行通信,該設(shè)備包括隨機數(shù)產(chǎn)生部分,用于產(chǎn)生隨機數(shù);第一驗證數(shù)據(jù)產(chǎn)生部分,用于基于隨機數(shù)產(chǎn)生部分所產(chǎn)生的隨機數(shù)而產(chǎn)生第一驗證數(shù)據(jù),該第一驗證數(shù)據(jù)與所述另一信息處理設(shè)備的驗證有關(guān);驗證數(shù)據(jù)發(fā)送部分,用于將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;驗證數(shù)據(jù)接收部分,用于接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù),該第二驗證數(shù)據(jù)由所述另一信息處理設(shè)備基于第一驗證數(shù)據(jù)而產(chǎn)生;解密部分,用于利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和驗證部分,用于基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
全文摘要
本發(fā)明提供了一種信息處理設(shè)備,用于以有線或無線方式與另一信息處理設(shè)備進行通信,該設(shè)備包括隨機數(shù)產(chǎn)生部分,用于產(chǎn)生隨機數(shù);第一驗證數(shù)據(jù)產(chǎn)生部分,用于基于所產(chǎn)生的隨機數(shù)而產(chǎn)生與所述另一信息處理設(shè)備的驗證有關(guān)的第一驗證數(shù)據(jù);驗證數(shù)據(jù)發(fā)送部分,用于將第一驗證數(shù)據(jù)發(fā)送到所述另一信息處理設(shè)備;驗證數(shù)據(jù)接收部分,用于接收與所述另一信息處理設(shè)備的驗證有關(guān)的第二驗證數(shù)據(jù);解密部分,用于利用與至少一種加密方法對應(yīng)的至少一種解密方法而對第二驗證數(shù)據(jù)進行解密;和驗證部分,用于基于所解密的第二驗證數(shù)據(jù)和所產(chǎn)生的隨機數(shù)而檢驗所述另一信息處理設(shè)備是否是合法通信伙伴。
文檔編號H04L9/32GK1746941SQ20051009922
公開日2006年3月15日 申請日期2005年9月7日 優(yōu)先權(quán)日2004年9月7日
發(fā)明者中村光宏 申請人:索尼株式會社