新四季網

密碼通信系統、密碼處理裝置、電腦程式以及密碼通信方法

2023-10-07 02:38:54

密碼通信系統、密碼處理裝置、電腦程式以及密碼通信方法
【專利摘要】管理裝置(100)存儲主密鑰和臨時密鑰生成用數據,定期地更新臨時密鑰生成用數據。管理裝置(100)根據主密鑰和臨時密鑰生成用數據生成臨時密鑰,對密碼通信裝置(200)通知臨時密鑰和臨時密鑰生成用數據。密碼通信裝置(200)對密碼通信裝置(300)通知臨時密鑰生成用數據,使用臨時密鑰與密碼通信裝置(300)進行密碼通信。密碼通信裝置(300)存儲主密鑰和驗證用數據,定期地更新驗證用數據。密碼通信裝置(300)使用驗證用數據,驗證從密碼通信裝置(200)通知的臨時密鑰生成用數據,使用根據主密鑰和臨時密鑰生成用數據生成的臨時密鑰,與密碼通信裝置(200)進行密碼通信。
【專利說明】密碼通信系統、密碼處理裝置、電腦程式以及密碼通信方法
【【技術領域】】
[0001] 本發明涉及多個裝置進行密碼通信的密碼通信系統。
【【背景技術】】
[0002]在使用網際網路通信、無線通信等能夠容易地進行竊聽的通信方式來進行通信的情況下,為了防止第三人進行竊聽、竄改而利用密碼通信。
[0003]例如,在使用公用密鑰密碼來進行密碼通信的情況下,需要在發送側和接收側共享所使用的密鑰,需要避免使共享的密鑰向外部洩漏。
[0004]【現有技術文獻】
[0005]【專利文獻I】日本特開2010-68396號公報
[0006]【專利文獻2】日本特開2001-251292號公報
[0007]【專利文獻3】日本特開2002-290391號公報

【發明內容】

[0008]如果如在例如自動查表系統中使用的便攜終端那樣小型且可便攜的裝置具有密鑰,則存在使用者丟失裝置,第三人將其拾得,從而密鑰洩漏的可能性。
[0009]本發明的目的在於例如能夠容易地共享、變更在密碼通信中使用的密鑰。
[0010]本發明提供一種密碼通信系統,
[0011]具備管理裝置、第一密碼通信裝置以及第二密碼通信裝置,其特徵在於,
[0012]所述管理裝置具有主密鑰存儲部和臨時密鑰生成部,
[0013]所述管理裝置的所述主密鑰存儲部存儲第一主密鑰,
[0014]所述管理裝置的所述臨時密鑰生成部使用所述管理裝置的所述主密鑰存儲部存儲了的所述第一主密鑰、和臨時密鑰生成用數據,生成第一臨時密鑰,
[0015]所述第一密碼通信裝置具有臨時密鑰生成用數據通知部和密碼通信部,
[0016]所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部對所述第二密碼通信裝置通知所述管理裝置的所述臨時密鑰生成部在所述第一臨時密鑰的生成中使用的所述臨時密鑰生成用數據,
[0017]所述第一密碼通信裝置的所述密碼通信部使用所述管理裝置的所述臨時密鑰生成部生成了的所述第一臨時密鑰,在與所述第二密碼通信裝置之間進行密碼通信,
[0018]所述第二密碼通信裝置具有主密鑰存儲部、臨時密鑰生成用數據驗證部、臨時密鑰生成部以及密碼通信部,
[0019]所述第二密碼通信裝置的所述主密鑰存儲部存儲與所述管理裝置的所述主密鑰存儲部存儲了的所述第一主密鑰相同或者與所述第一主密鑰對應的第二主密鑰,
[0020]所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是否有效,[0021]所述第二密碼通信裝置的所述臨時密鑰生成部在所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定為從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是有效的情況下,使用所述第二密碼通信裝置的所述主密鑰存儲部存儲了的所述第二主密鑰、和所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定為有效的所述臨時密鑰生成用數據,生成與所述管理裝置的所述臨時密鑰生成部生成了的所述第一臨時密鑰相同或者與所述第一臨時密鑰對應的第二臨時密鑰,
[0022]所述第二密碼通信裝置的所述密碼通信部使用所述第二密碼通信裝置的所述臨時密鑰生成部生成了的所述第二臨時密鑰,在與所述第一密碼通信裝置之間進行密碼通?目。
[0023]第二密碼通信裝置使用從第一密碼通信裝置通知的臨時密鑰生成用數據來生成臨時密鑰,所以第一密碼通信裝置和第二密碼通信裝置能夠使用同一或者對應的臨時密鑰進行密碼通信。由此,易於共享或者變更臨時密鑰。
【【專利附圖】

【附圖說明】】
[0024]圖1是示出實施方式I中的密碼通信系統800的整體結構的一個例子的系統結構圖。
[0025]圖2是示出實施方式I中的管理裝置100、密碼通信裝置200以及密碼通信裝置300的硬體資源的一個例子的硬體結構圖。
[0026]圖3是示出實施方式I中的管理裝置100的功能塊的一個例子的塊結構圖。
[0027]圖4是示出實施方式I中的密碼通信裝置200的功能塊的一個例子的塊結構圖。
[0028]圖5是示出實施方式I中的密碼通信裝置300的功能塊的一個例子的塊結構圖。
[0029]圖6是示出實施方式I中的初始化處理S601的流程的一個例子的流程圖。
[0030]圖7是示出實施方式I中的更新處理S602的流程的一個例子的流程圖。
[0031]圖8是示出實施方式I中的臨時密鑰通知處理S603的流程的一個例子的流程圖。
[0032]圖9是示出實施方式I中的密碼通信處理S604的流程的一個例子的流程圖。
[0033]圖10是示出實施方式3中的自動查表系統801的整體結構的一個例子的圖。
[0034]圖11是示出實施方式3中的管理伺服器101的功能塊的一個例子的圖。
[0035]圖12是示出實施方式3中的便攜終端201的功能塊的一個例子的圖。
[0036]圖13是示出實施方式3中的查表儀表301的功能塊的一個例子的圖。
[0037]圖14是示出實施方式3的管理伺服器101中的密鑰信息管理部161的詳細的功能塊的一個例子的圖。
[0038]圖15是示出實施方式3的便攜終端201中的面向管理伺服器通信部221的詳細的功能塊的一個例子的圖。
[0039]圖16是示出實施方式3的便攜終端201中的面向查表儀表通信部291的詳細的功能塊的一個例子的圖。
[0040]圖17是示出實施方式3的查表儀表301中的面向便攜終端通信部391的詳細的功能塊的一個例子的圖。
[0041] 圖18是示出實施方式3中的臨時密鑰通知處理S603的流程的一個例子的流程圖。[0042]圖19是示出實施方式3中的密碼通信處理S604的流程的一個例子的流程圖。
[0043]圖20是示出實施方式4中的密碼通信系統800的整體結構的一個例子的系統結構圖。
[0044] 圖21是示出實施方式4中的密碼通信裝置500的整體結構的一個例子的系統結構圖。
[0045]圖22是示出實施方式4中的初始化處理S601的流程的一個例子的流程圖。
[0046]圖23是示出實施方式4中的更新處理S602的流程的一個例子的流程圖。
[0047]圖24是示出實施方式4中的密碼通信處理S604的流程的一個例子的流程圖。
[0048]圖25是示出實施方式5中的自動查表系統801的整體結構的一個例子的圖。
[0049]圖26是示出實施方式5中的查表儀表301的功能塊的一個例子的圖。
[0050]圖27是示出實施方式6中的管理裝置100的功能塊的一個例子的塊結構圖。
[0051]圖28是示出實施方式6中的密碼通信裝置200的功能塊的一個例子的塊結構圖。
[0052]圖29是示出實施方式6中的密碼通信裝置300的功能塊的一個例子的塊結構圖。
[0053]圖30是示出實施方式6中的臨時密鑰通知處理S603的流程的一個例子的流程圖。
[0054]圖31是示出實施方式6中的密碼通信處理S604的流程的一個例子的流程圖。
[0055]圖32是示出實施方式7中的密碼通信裝置200的功能塊的一個例子的塊結構圖。
[0056]圖33是示出實施方式7中的密碼通信處理S604的流程的一個例子的流程圖。
[0057]圖34是示出實施方式8中的管理伺服器101的功能塊的一個例子的圖。
[0058]圖35是示出實施方式8中的便攜終端201的功能塊的一個例子的圖。
[0059]圖36是示出實施方式8中的查表儀表301的功能塊的一個例子的圖。
[0060]圖37是示出實施方式8的管理伺服器101中的復位分組生成部166的詳細的功能塊的一個例子的圖。
[0061]圖38是示出實施方式8的便攜終端201中的面向管理伺服器通信部221以及面向查表儀表通信部291的詳細的功能塊的一個例子的圖。
[0062]圖39是示出實施方式8的查表儀表301中的面向便攜終端通信部391的詳細的功能塊的一個例子的圖。
[0063]圖40是示出實施方式8中的復位分組通知處理S605的流程的一個例子的流程圖。
[0064]圖41是示出實施方式8中的代編號復位處理S606的流程的一個例子的流程圖。
[0065]【符號說明】
[0066]100:管理裝置;101:管理伺服器;102:管理部;110、111、310、311:主密鑰存儲部;130、230:臨時密鑰生成用數據存儲部;131、331:代編號計數器;140:臨時密鑰生成用數據更新部;150、250:臨時密鑰生成用數據通知部;156、356:時鐘;160、164、174、360、364:臨時密鑰生成部;161:密鑰信息管理部;162、172:認證部;163、173、363:主密鑰選擇部;165:初始化指令生成部;166:復位分組生成部;170:臨時密鑰通知部;171、177:輸出判定部;175、285:初始化指令通知部;176:分組生成部;200、300、500:密碼通信裝置;201:便攜終端;202:通信部;220、320:臨時密鑰生成用數據取得部;221:面向管理伺服器通信部;222:臨時密鑰發行要求生成部;223:臨時密鑰信息取得部;224:復位分組發行要求生成部;225:復位分組取得部;260:臨時密鑰取得部;265、365:初始化指令取得部;270:臨時密鑰存儲部;275:初始化指令存儲部;281:消息生成部;290、390:密碼通信部;291、371:面向查表儀表通信部;292、392:加密部;293、393:復用部;294、394:分離部;295,395:解密部;296、396:接收判定部;297:復位分組輸出部;301:查表儀表;302:驗證部;330:驗證用數據存儲部;340:驗證用數據更新部;350:臨時密鑰生成用數據驗證部;375:初始化指令驗證部;381:消息處理部;391:面向便攜終端通信部;397:響應消息生成部;398:消息驗證部;411、431:主密鑰;412、432:代編號;413、435:臨時密鑰;414:輸出判定信號;416:生成時刻;417:常數;418、438:當前時刻;419:復位分組;421:臨時密鑰發行要求;422:密鑰類別信息;423:消息;424:加密消息;425:認證信息;426、436:密文;427、437:驗證結果;428:復位分組發行要求;433:響應;434:加密響應;439:復位響應;440:消息認證符;800:密碼通信系統;801:自動查表系統;802:無線網;803:公共網;911:處理裝置;912:輸入裝置;913:輸出裝置;914:存儲裝置;915:通信裝置;S601:初始化處理;S602:更新處理;S603:臨時密鑰通知處理;S604:密碼通信處理;S605:復位分組通知處理;S606:代編號復位處理;S611、S631:主密鑰存儲工序;S612:臨時密鑰生成用數據初始化工序;S613、S633:周期經過判定工序;S614:臨時密鑰生成用數據更新工序;S615:臨時密鑰要求接受工序;S616、S637、S644、S655、S672、S684、S694、S702:臨時密鑰生成工序;S617:初始化指令生成工序;S618:臨時密鑰通知工序;S619、S624:臨時密鑰生成用數據通知工序;S620、S629:初始化指令通知工序;S621:臨時密鑰要求工序;S622:臨時密鑰取得工序;S623、S635:臨時密鑰生成用數據取得工序;S625、S638:密碼通信工序;S626:拒絕取得工序;S627:初始化指令要求工序;S628、S648:初始化指令取得工序;S632:驗證用數據初始化工序;S634:驗證用數據更新工序;S636:臨時密鑰生成用數據驗證工序;S641:臨時密鑰發行要求生成工序;S642、S682:認證工序;S643、S654、S671、S683、S693、S701:主密鑰選擇工序;S645、S686:輸出工序;S646:臨時密鑰信息取得工序;S647:拒絕通知工序;S649:初始化指令驗證工序;S651、S673:加密工序;S652、S674、S704:復用工序;S653、S675、S692:分離工序;S656、S676:解密工序;S657、S677、S696:接收判定工序;S660:消息處理工序;S681:復位分組發行要求生成工序;S685:分組生成工序;S687:復位分組取得工序;S691:復位分組輸出工序;S695:消息驗證工序;S697:代編號復位工序;S703:響應消息生成工序;S705:復位響應取得工序。
【【具體實施方式】】
[0067]實施方式1.[0068]使用圖1~圖9,說明實施方式I。
[0069]圖1是示出該實施方式中的密碼通信系統800的整體結構的一個例子的系統結構圖。 [0070]密碼通信系統800具備例如管理裝置100、密碼通信裝置200、以及密碼通信裝置300。
[0071]管理裝置100 (密碼處理裝置)保管有主密鑰。管理裝置100使用所保管著的主密鑰來生成臨時密鑰。
[0072]密碼通信裝置200 (密碼處理裝置)與管理裝置100使用安全的方式進行通信,取得管理裝置100生成的臨時密鑰。密碼通信裝置200使用所取得的臨時密鑰,在與密碼通信裝置300之間進行密碼通信。
[0073]密碼通信裝置300 (密碼處理裝置)保管有主密鑰。密碼通信裝置300所保管的主密鑰既可以是與管理裝置100所保管的主密鑰相同的主密鑰,也可以是與管理裝置100所保管的主密鑰對應的主密鑰。密碼通信裝置300使用所保管的主密鑰來生成臨時密鑰。密碼通信裝置300生成的臨時密鑰既可以是與管理裝置100生成的臨時密鑰相同的臨時密鑰,也可以是與管理裝置100生成的臨時密鑰對應的臨時密鑰。密碼通信裝置300使用自身生成了的臨時密鑰,在與密碼通信裝置200之間進行密碼通信。
[0074]圖2是示出該實施方式中的管理裝置100、密碼通信裝置200以及密碼通信裝置300的硬體資源的一個例子的硬體結構圖。
[0075]管理裝置100、密碼通信裝置200以及密碼通信裝置300是例如計算機。計算機具有例如處理裝置911、輸入裝置912、輸出裝置913、存儲裝置914以及通信裝置915。
[0076]處理裝置911通過執行存儲裝置914存儲了的電腦程式,處理數據,控制輸入裝置912、輸出裝置913、存儲裝置914以及通信裝置915。
[0077]存儲裝置914存儲處理裝置911所執行的電腦程式、處理裝置911所處理的數據等。
[0078]輸入裝置912從計算機的外部輸入信息,變換為處理裝置911可處理的數據。輸入裝置912變換了的數據既可以是處理裝置911直接處理的結構,也可以是存儲裝置914臨時地存儲的結構。例如,輸入裝置912是鍵盤、滑鼠等操作輸入裝置,輸入由操作計算機的操作者實施的操作。或者,輸入裝置912是麥克風,輸入聲音。或者,輸入裝置912是照相機,對圖像進行攝影。或者,輸入裝置912是傳感器,測定溫度、電壓等物理量。或者,輸入裝置912是模擬數字變換電路,將模擬信號變換為數字數據。
[0079]輸出裝置913對處理裝置911處理了的數據、存儲裝置914存儲了的數據進行變換,輸出到計算機的外部。例如,輸出裝置913是液晶顯示裝置,輸出圖像。或者,輸出裝置913是揚聲器,輸出聲音。或者,輸出裝置913是數字模擬變換電路,生成模擬信號。
[0080]通信裝置915在與其他裝置之間進行通信。通信裝置915接受其他裝置發送了的信號,輸入所接收的信號表示的信息,變換為處理裝置911可處理的數據。S卩,通信裝置915是輸入裝置912的一種。另外,通信裝置915將處理裝置911處理了的數據、存儲裝置914存儲了的數據變換為信號,發送到其他裝置。即,通信裝置915是存儲裝置914的一種。
[0081]以下說明的功能塊是通過處理裝置911執行存儲裝置914存儲了的電腦程式而實現的。另外,其是一個例子,以下說明的功能塊也可以通過其他結構實現。例如,也可以通過模擬電路、數字電路等電子電路、其他電氣結構、機械結構、其他結構,實現以下說明的功能塊。
[0082]圖3是示出該實施方式中的管理裝置100的功能塊的一個例子的塊結構圖。
[0083]管理裝置100具有例如主密鑰存儲部110、臨時密鑰生成用數據存儲部130、臨時密鑰生成用數據更新部140、臨時密鑰生成用數據通知部150、臨時密鑰生成部160以及臨時密鑰通知部170。
[0084]主密鑰存儲部110使用存儲裝置914存儲主密鑰(第一主密鑰)。主密鑰存儲部110存儲的主密鑰是為了生成當密碼通信裝置200在與密碼通信裝置300之間進行密碼通信時使用的臨時密鑰而使用的數據。為了防止主密鑰的洩漏,主密鑰存儲部110也可以是使用例如具有抗篡改性的存儲裝置914,來存儲主密鑰的結構。主密鑰存儲部110存儲的主密鑰既可以是預定的且無法變更的結構,也可以是在有例如主密鑰洩漏了的疑慮的情況等必要的情況下能夠變更的結構。
[0085]臨時密鑰生成用數據存儲部130使用存儲裝置914存儲臨時密鑰生成用數據。臨時密鑰生成用數據存儲部130存儲的臨時密鑰生成用數據與主密鑰存儲部110存儲了的主密鑰同樣地是為了生成臨時密鑰而使用的數據。即使使用相同的主密鑰,只要臨時密鑰生成用數據不同,則能生成不同的臨時密鑰。
[0086]臨時密鑰生成用數據更新部140使用處理裝置911,更新臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據。臨時密鑰生成用數據更新部140例如每當經過規定的周期(例如I日)時,反覆更新臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據。由此,每當經過規定的周期時,所生成的臨時密鑰發生變化。
[0087]關於臨時密鑰生成用數據,只要能夠判別新舊,則可以是任意的數據。
[0088]例如,臨時密鑰生成用數據是表示數值的數據。在更新臨時密鑰生成用數據的情況下,臨時密鑰生成用數據更新部140計算對臨時密鑰生成用數據所表示的數值加上了規定的增量值(例如I)而得到的和。臨時密鑰生成用數據更新部140將臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據用表示所計算出的和的數據來更新。臨時密鑰生成用數據存儲部130將舊的臨時密鑰生成用數據用更新了的新的臨時密鑰生成用數據來置換並存儲。由此,新的臨時密鑰生成用數據表示大的數值,所以能夠通過比較2個臨時密鑰生成用數據表示的數值,來判別哪一個臨時密鑰生成用數據新。
[0089]臨時密鑰生成部160使用處理裝置911生成臨時密鑰(第一臨時密鑰)。臨時密鑰生成部160使用主密鑰存儲部110存儲了的主密鑰、和臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,生成臨時密鑰。
[0090]關於臨時密鑰生成部160生成臨時密鑰的方式,只要是滿足以下的條件的方式,則可以是任意的方式。
[0091]第一條件是指,只要主密鑰和臨時密鑰生成用數據的組相同,就生成相同或者同類的臨時密鑰。另外,同類的臨時密鑰是指,生成能夠用相同的密鑰解密的密文、或者、能夠對用相同的密鑰加密了的密文進行解密的一群臨時密鑰。
[0092]第二條件是指,只要主密鑰以及臨時密鑰生成用數據中的某一方不同,就生成不相同並且也不是同類的臨時密鑰。由此,如果臨時密鑰生成用數據被更新,則通過能夠對利用使用更新前的舊的臨時密鑰生成用數據來生成的臨時密鑰而生成的密文進行解密、或者、生成能夠用使用更新前的舊的臨時密鑰生成用數據而生成的臨時密鑰進行解密的密文的密鑰,無法對利用使用更新後的新的臨時密鑰生成用數據來生成的臨時密鑰而生成的密文進行解密、或者、無法生成能夠用使用更新後的新的臨時密鑰生成用數據而生成的臨時密鑰解密的密文。
[0093]第三條件是指,無法根據臨時密鑰生成用數據、和使用其來生成的臨時密鑰,推測主密鑰。由此,能夠防止主密鑰的洩漏。
[0094]例如,臨時密鑰生成部160使用主密鑰存儲部110存儲了的主密鑰,對臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據進行加密。臨時密鑰生成部160將加密了的密文作為臨時密鑰。
[0095]或者,臨時密鑰生成部160使用具有單向性的散列函數,將主密鑰存儲部110存儲了的主密鑰、和臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據作為散列函數的輸入,計算散列值。臨時密鑰生成部160將所計算的散列值作為臨時密鑰。
[0096]臨時密鑰通知部170對密碼通信裝置200通知臨時密鑰生成部160生成了的臨時密鑰。例如,臨時密鑰通知部170使用通信裝置915,對密碼通信裝置200發送臨時密鑰生成部160生成了的臨時密鑰。
[0097]關於通知臨時密鑰的方式,只要是能夠防止臨時密鑰的洩漏的方式,則可以是任意的方式。例如,臨時密鑰通知部170使用加密了的通信,發送臨時密鑰。或者,對管理裝置100和密碼通信裝置200進行直接有線連接,進行臨時密鑰的發送。
[0098]臨時密鑰生成用數據通知部150對密碼通信裝置200通知在臨時密鑰生成部160生成臨時密鑰通知部170對密碼通信裝置200通知的臨時密鑰時使用的臨時密鑰生成用數據。例如,臨時密鑰生成用數據通知部150使用通信裝置915,對密碼通信裝置200發送臨時密鑰生成用數據存儲部130存儲了的臨時密鑰。另外,也可以是以使臨時密鑰與臨時密鑰生成用數據的對應關係明確化的方式,例如,將臨時密鑰通知部170通知的臨時密鑰、和臨時密鑰生成用數據通知部150通知的臨時密鑰生成用數據匯集為一個而發送的結構。
[0099]圖4是示出該實施方式中的密碼通信裝置200的功能塊的一個例子的塊結構圖。
[0100]密碼通信裝置200 (第一密碼通信裝置)具有例如臨時密鑰生成用數據取得部220、臨時密鑰生成用數據存儲部230、臨時密鑰生成用數據通知部250、臨時密鑰取得部260、臨時密鑰存儲部270、以及密碼通信部290。
[0101]臨時密鑰取得部260取得從管理裝置100的臨時密鑰通知部170通知的臨時密鑰(第一臨時密鑰)。例如,臨時密鑰取得部260使用通信裝置915,接收臨時密鑰通知部170發送了的臨時密鑰。
[0102]臨時密鑰存儲部270使用存儲裝置914存儲臨時密鑰取得部260取得了的臨時密鑰。為了防止臨時密鑰的洩漏,例如,臨時密鑰取得部260也可以是使用具有抗篡改性的存儲裝置914來存儲臨時密鑰的結構。
[0103]臨時密鑰生成用數據取得部220取得從管理裝置100的臨時密鑰生成用數據通知部150通知的臨時密鑰生成用數據。例如,臨時密鑰生成用數據取得部220使用通信裝置915,接收臨時密鑰生成用數據通知部150發送了的臨時密鑰生成用數據。
[0104]臨時密鑰生成用數據存儲部230使用存儲裝置914,存儲臨時密鑰生成用數據取得部220取得了的臨時密鑰生成用數據。
[0105]臨時密鑰生成用數據通知部250對密碼通信裝置300通知臨時密鑰生成用數據存儲部230存儲了的臨時密鑰生成用數據。例如,臨時密鑰生成用數據通知部250使用通信裝置915,對密碼通信裝置300發送臨時密鑰生成用數據取得部220存儲了的臨時密鑰生成用數據。
[0106]密碼通信部290使用臨時密鑰存儲部270存儲了的臨時密鑰,在與密碼通信裝置300之間進行密碼通信。例如,密碼通信部290利用處理裝置911,使用臨時密鑰通知部170存儲了的臨時密鑰來生成密文,利用通信裝置915,對密碼通信裝置300發送所生成的密文。或者,密碼通信部290利用通信裝置915,接收密碼通信裝置300發送了的密文,利用處理裝置911,使用密碼通信部290存儲了的臨時密鑰,對所接收的密文進行解密。
[0107]圖5是示出該實施方式中的密碼通信裝置300的功能塊的一個例子的塊結構圖。
[0108]密碼通信裝置300(第二密碼通信裝置)具有例如主密鑰存儲部310、臨時密鑰生成用數據取得部320、驗證用數據存儲部330、驗證用數據更新部340、臨時密鑰生成用數據驗證部350、臨時密鑰生成部360以及密碼通信部390。
[0109]主密鑰存儲部310利用存儲裝置914存儲主密鑰(第二主密鑰)。主密鑰存儲部310存儲的主密鑰是為了生成當密碼通信裝置300在與密碼通信裝置200之間進行密碼通信時使用的臨時密鑰而使用的數據。為了防止主密鑰的洩漏,主密鑰存儲部310也可以是例如使用具有抗篡改性的存儲裝置914來存儲主密鑰的結構。主密鑰存儲部310存儲的主密鑰既可以是預定的且無法變更的結構,也可以是在有例如主密鑰洩漏了的疑慮的情況等必要的情況下能夠進行變更的結構。
[0110]關於主密鑰存儲部310存儲的主密鑰,只要是通過與管理裝置100的臨時密鑰生成部160在臨時密鑰的生成中使用的臨時密鑰生成用數據組合,而能夠生成與臨時密鑰生成部160生成了的臨時密鑰相同或者與該臨時密鑰對應的臨時密鑰的密鑰即可。此處,「2個臨時密鑰對應」是指,關於使用一方的臨時密鑰而加密了的密文,能夠使用另一方的臨時密鑰來解密的關係。另外,「2個主密鑰對應」是指,能夠根據2個主密鑰生成相同或者對應的臨時密鑰的關係。
[0111]主密鑰存儲部310存儲的主密鑰既可以是與管理裝置100的主密鑰存儲部110存儲了的主密鑰相同的主密鑰,也可以是不同的主密鑰。也可以是在主密鑰存儲部310存儲了的主密鑰、和管理裝置100的主密鑰存儲部110存儲了的主密鑰不同的情況下,無法根據主密鑰存儲部310存儲了的主密鑰來推測管理裝置100的主密鑰存儲部110存儲了的主密鑰的結構。由此,即使在主密鑰存儲部310存儲了的主密鑰洩漏了的情況下,也能夠防止得知管理裝置100的主密鑰存儲部110存儲了的主密鑰。
[0112]另外,也可以是在有多個密碼通信裝置300的情況下,各個密碼通信裝置300的主密鑰存儲部310存儲不同的主密鑰的結構。在該情況下,也可以是使用某個密碼通信裝置300的主密鑰存儲部310存儲了的主密鑰來生成的臨時密鑰、和使用其他密碼通信裝置300的主密鑰存儲部310存儲了的主密鑰來生成的臨時密鑰不對應的結構。由此,即使在某個密碼通信裝置300的主密鑰存儲部310存儲了的主密鑰洩漏了的情況下,也能夠防止生成能夠在與其他密碼通信裝置300之間進行密碼通信的臨時密鑰的情況。
[0113]驗證用數據存儲部330利用存儲裝置914存儲驗證用數據。驗證用數據是指,為了驗證從密碼通信裝置200通知的臨時密鑰生成用數據是否有效而使用的數據。
[0114]驗證用數據更新部340利用處理裝置911更新驗證用數據存儲部330存儲了的驗證用數據。驗證用數據更新部340每當經過例如規定的周期(例如I日)時,反覆更新驗證用數據存儲部330存儲了的驗證用數據。
[0115]關於驗證用數據,只要是能夠將舊的臨時密鑰生成用數據判定為是無效的數據,則可以是任意的數據。
[0116]例如,驗證用數據是表示數值的數據。在更新驗證用數據的情況下,驗證用數據更新部340計算對驗證用數據表示的數值加上了規定的增量值(例如I)而得到的和。驗證用數據更新部340將驗證用數據存儲部330存儲了的驗證用數據用表示所計算出的和的數據來更新。驗證用數據存儲部330將舊的驗證用數據用更新了的新的驗證用數據置換來存儲。
[0117]驗證用數據更新部340以使驗證用數據表示的數值增加的速度與臨時密鑰生成用數據表示的數值增加的速度大致相同的方式,更新驗證用數據。例如,驗證用數據更新部340按照與管理裝置100的臨時密鑰生成用數據更新部140更新臨時密鑰生成用數據的周期相同的周期更新驗證用數據,對驗證用數據表示的數值,加上與管理裝置100的臨時密鑰生成用數據更新部140對臨時密鑰生成用數據表示的數值加上的增量值相同的增量值。或者,驗證用數據更新部340按照臨時密鑰生成用數據的更新周期的η倍(η是正的實數)周期更新驗證用數據,將臨時密鑰生成用數據的增量值的η倍增量值加到驗證用數據表示的數值。
[0118]臨時密鑰生成用數據取得部320取得從密碼通信裝置200的臨時密鑰生成用數據通知部250通知的臨時密鑰生成用數據。例如,臨時密鑰生成用數據取得部320利用通信裝置915,接收臨時密鑰生成用數據通知部250發送了的臨時密鑰生成用數據。
[0119]臨時密鑰生成用數據驗證部350利用處理裝置911,驗證臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據。臨時密鑰生成用數據驗證部350使用驗證用數據存儲部330存儲了的驗證用數據,判定臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是否有效。
[0120]例如,臨時密鑰生成用數據驗證部350比較臨時密鑰生成用數據表示的數值、和驗證用數據表示的數值。在臨時密鑰生成用數據表示的數值是驗證用數據表示的數值以上的情況下,臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據是有效的。在臨時密鑰生成用數據表示的數值小於驗證用數據表示的數值的情況下,臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據不是有效的。
[0121]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的情況下,驗證用數據存儲部330利用存儲裝置914,將臨時密鑰生成用數據驗證部350判定為是有效的臨時密鑰生成用數據存儲為驗證用數據。
[0122]在初始狀態下,驗證用數據存儲部330將例如表示臨時密鑰生成用數據表示的數值的最小值的數據預先存儲為最初的驗證用數據。在該時間點,驗證用數據存儲部330所存儲的驗證用數據表示的數值一定是管理裝置100的臨時密鑰生成用數據存儲部130所存儲的臨時密鑰生成用數據表示的數值以下。
[0123]通過驗證用數據更新部340更新驗證用數據存儲部330存儲了的驗證用數據,驗證用數據表示的數值逐漸變大。另外,通過臨時密鑰生成用數據更新部140更新管理裝置100的臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,臨時密鑰生成用數據表示的數值也逐漸變大。由於兩者增加的速度大致相同,所以驗證用數據存儲部330所存儲的驗證用數據表示的數值始終是管理裝置100的臨時密鑰生成用數據存儲部130所存儲的臨時密鑰生成用數據表示的數值以下。
[0124]因此,如果密碼通信裝置200的臨時密鑰生成用數據通知部250對密碼通信裝置300通知的臨時密鑰生成用數據是最新的數據,則臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的。另外,在最初的有效性判定時,有驗證用數據存儲部330存儲了的驗證用數據表示的數值、和管理裝置100的臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值不同的可能性,在該情況下,即使密碼通信裝置200的臨時密鑰生成用數據通知部250對密碼通信裝置300通知的臨時密鑰生成用數據不一定是最新的數據,臨時密鑰生成用數據驗證部350也有時判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的。
[0125]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的情況下,驗證用數據存儲部330將臨時密鑰生成用數據驗證部350判定為是有效的臨時密鑰生成用數據存儲為驗證用數據,所以如果密碼通信裝置200的臨時密鑰生成用數據通知部250對密碼通信裝置300通知的臨時密鑰生成用數據是最新的數據,則在該時間點,驗證用數據存儲部330存儲了的驗證用數據、和管理裝置100的臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據相同。S卩,管理裝置100和密碼通信裝置300同步。因此,在其以後,如果密碼通信裝置200的臨時密鑰生成用數據通知部250對密碼通信裝置300通知的臨時密鑰生成用數據並非最新的數據,則臨時密鑰生成用數據驗證部350不判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的。
[0126]通過設為這樣的結構,能夠容易地取得管理裝置100與密碼通信裝置300之間的同步。
[0127]另外,在密碼通信裝置300的時鐘的前進比管理裝置100的時鐘的前進慢的情況下,驗證用數據存儲部330存儲了的驗證用數據表示的數值增加的速度比管理裝置100的臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值增加的速度更慢。但是,每當密碼通信裝置200的臨時密鑰生成用數據通知部250對密碼通信裝置300通知最新的臨時密鑰生成用數據時,取得管理裝置100與密碼通信裝置300之間的同步,所以能夠防止驗證用數據存儲部330存儲了的驗證用數據表示的數值、與管理裝置100的臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值的差變大的情況。
[0128]臨時密鑰生成部360在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的情況下,利用處理裝置911生成臨時密鑰。臨時密鑰生成部360使用主密鑰存儲部310存儲了的主密鑰、和臨時密鑰生成用數據驗證部350判定為是有效的臨時密鑰生成用數據,生成臨時密鑰。
[0129]關於臨時密鑰生成部360生成臨時密鑰的方式,只要是滿足以下的條件的方式,則可以是任意的方式。
[0130]第一條件是指,如果主密鑰和臨時密鑰生成用數據的組相同,則能生成相同或者同類的臨時密鑰。
[0131]第二條件是指,如果主密鑰是與管理裝置100的臨時密鑰生成部160在臨時密鑰的生成中使用的主密鑰相同或者與該主密鑰對應的主密鑰,一次密鑰生成用數據與臨時密鑰生成部160在臨時密鑰的生成中使用的臨時密鑰生成用數據相同,則生成與臨時密鑰生成部160生成了的臨時密鑰相同或者與該臨時密鑰對應的臨時密鑰。相反地,在其以外的情況下,生成不與臨時密鑰生成部160生成了的臨時密鑰相同並且不與臨時密鑰生成部160生成了的臨時密鑰對應的臨時密鑰。
[0132]第三條件是指,無法根據臨時密鑰生成用數據、和使用利用該數據生成的臨時密鑰而生成的密文,推測臨時密鑰、主密鑰。由此,能夠防止臨時密鑰、主密鑰的洩漏。[0133]例如,臨時密鑰生成部360使用主密鑰存儲部310存儲了的主密鑰,對臨時密鑰生成用數據驗證部350判定為是有效的臨時密鑰生成用數據進行加密。臨時密鑰生成部360將加密了的密文作為臨時密鑰。
[0134]或者,臨時密鑰生成部360使用具有單向性的散列函數,將主密鑰存儲部310存儲了的主密鑰、和臨時密鑰生成用數據驗證部350判定為是有效的臨時密鑰生成用數據作為散列函數的輸入,計算散列值。臨時密鑰生成部360將所計算出的散列值作為臨時密鑰。
[0135]密碼通信部390使用臨時密鑰生成部360生成了的臨時密鑰,在與密碼通信裝置200之間進行密碼通信。例如,密碼通信部390使用通信裝置915,接收密碼通信裝置200的密碼通信部290發送了的密文,利用處理裝置911,使用臨時密鑰生成部360生成了的臨時密鑰,對所接收到的密文進行解密。或者,密碼通信部390利用處理裝置911,使用臨時密鑰生成部360生成了的臨時密鑰來生成密文,利用通信裝置915,對密碼通信裝置200發送所生成的密文。
[0136]主密鑰存儲部310存儲了的主密鑰是與管理裝置100的主密鑰存儲部110存儲了的主密鑰相同或者與該主密鑰對應的主密鑰。另外,臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是與在管理裝置100的臨時密鑰生成部160生成密碼通信裝置200的密碼通信部290在密碼通信中使用的臨時密鑰時使用的臨時密鑰生成用數據相同的數據。因此,臨時密鑰生成部360生成的臨時密鑰是與密碼通信裝置200的密碼通信部290在密碼通信中使用的臨時密鑰相同或者與該臨時密鑰對應的臨時密鑰。因此,密碼通信部390能夠對密碼通信裝置200的密碼通信部290加密了的密文進行解密,能夠生成密碼通信裝置200的密碼通信部290能夠解密的密文。
[0137]另外,考慮密碼通信裝置200的臨時密鑰生成用數據存儲部230存儲了的臨時密鑰生成用數據、和臨時密鑰存儲部270存儲了的臨時密鑰的組洩漏,而獲得了臨時密鑰生成用數據和臨時密鑰的組的第三人與密碼通信裝置300進行密碼通信,想要從密碼通信裝置300竊聽信息的情況。
[0138]如果驗證用數據更新部340更新了驗證用數據存儲部330存儲了的驗證用數據,則第三人獲得了的臨時密鑰生成用數據以及使用該臨時密鑰生成用數據生成的臨時密鑰並非最新的。因此,即使第三人對密碼通信裝置300通知了獲得的臨時密鑰生成用數據,臨時密鑰生成用數據驗證部350也將其判定為不是有效的。由此,能夠防止第三人與密碼通信裝置300進行密碼通信。
[0139]接下來,說明動作。
[0140]在密碼通信系統800中的處理中大致劃分有初始化處理S601、更新處理S602、臨時密鑰通知處理S603以及密碼通信處理S604。
[0141]在初始化處理S601中,管理裝置100、密碼通信裝置300對主密鑰、臨時密鑰生成用數據、驗證用數據等進行初始化。
[0142]在更新處理S602中,管理裝置100、密碼通信裝置300定期地更新臨時密鑰生成用數據、驗證用數據。
[0143]在臨時密鑰通知處理S603中,管理裝置100生成臨時密鑰,對密碼通信裝置200通知所生成的臨時密鑰。
[0144]在密碼通信處理S604中,密碼通信裝置200和密碼通信裝置300協商在密碼通信中使用的臨時密鑰,進行密碼通信。
[0145]圖6是示出該實施方式中的初始化處理S601的流程的一個例子的流程圖。
[0146]管理裝置100在初始化處理S601中,例如,執行主密鑰存儲工序S611、和臨時密鑰生成用數據初始化工序S612。
[0147]在主密鑰存儲工序S611中,管理裝置100的主密鑰存儲部110取得主密鑰。
[0148]例如,在管理裝置100的外部設置了主密鑰生成裝置。主密鑰存儲部110利用通信裝置915與主密鑰生成裝置進行通信,從而取得主密鑰生成裝置生成了的管理裝置100用的主密鑰。或者,在管理裝置100的內部設置了主密鑰生成部。主密鑰存儲部110利用處理裝置911取得主密鑰生成部生成了的管理裝置100用的主密鑰。
[0149]主密鑰存儲部110利用存儲裝置914存儲所取得的主密鑰。
[0150]在臨時密鑰生成用數據初始化工序S612中,管理裝置100的臨時密鑰生成用數據存儲部130對臨時密鑰生成用數據進行初始化。
[0151]例如,臨時密鑰生成用數據存儲部130取得臨時密鑰生成用數據的初始數據。臨時密鑰生成用數據存儲部130取得的初始數據表示例如臨時密鑰生成用數據表示的數值的最小值。臨時密鑰生成用數據存儲部130利用存儲裝置914,將所取得的初始數據存儲為臨時密鑰生成用數據。
[0152]密碼通信裝置300在初始化處理S601中,例如,執行主密鑰存儲工序S631、和驗證用數據初始化工序S632。另外,密碼通信裝置300與管理裝置100無關地執行初始化處理S601。S卩,密碼通信裝置300執行初始化處理S601的定時無需與管理裝置100執行初始化處理S601的定時相同。
[0153]在主密鑰存儲工序S631中,密碼通信裝置300的主密鑰存儲部310取得與在主密鑰存儲工序S611中管理裝置100的主密鑰存儲部110存儲了的主密鑰相同或者與該主密鑰對應的主密鑰。
[0154]例如,主密鑰存儲部310使用通信裝置915與主密鑰生成裝置進行通信,從而取得主密鑰生成裝置生成了的密碼通信裝置300用的主密鑰。或者,主密鑰存儲部310使用通信裝置915與管理裝置100進行通信,從而取得管理裝置100的主密鑰生成部生成了的密碼通信裝置300用的主密鑰。
[0155]主密鑰存儲部310使用存儲裝置914存儲所取得的主密鑰。
[0156]在驗證用數據初始化工序S632中,密碼通信裝置300的驗證用數據存儲部330對驗證用數據進行初始化。
[0157]例如,驗證用數據存儲部330取得驗證用數據的初始數據。驗證用數據存儲部330取得的初始數據表示例如臨時密鑰生成用數據表示的數值的最小值。驗證用數據存儲部330使用存儲裝置914將所取得的初始數據存儲為驗證用數據。
[0158]圖7是示出該實施方式中的更新處理S602的流程的一個例子的流程圖。
[0159]管理裝置100在更新處理S602中,例如,執行周期經過判定工序S613和臨時密鑰生成用數據更新工序S614。
[0160]在周期經過判定工序S613中,管理裝置100的臨時密鑰生成用數據更新部140判定是否經過了預定的更新周期。例如,臨時密鑰生成用數據更新部140使用處理裝置911,比較從前次的更新起的經過時間和更新周期,在經過時間大於更新周期的情況下,判定為經過了更新周期。
[0161]在判定為經過了更新周期的情況下,臨時密鑰生成用數據更新部140使處理進入到臨時密鑰生成用數據更新工序S614。
[0162]在臨時密鑰生成用數據更新工序S614中,管理裝置100的臨時密鑰生成用數據更新部140更新臨時密鑰生成用數據。
[0163]例如,臨時密鑰生成用數據更新部140使用處理裝置911,取得臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據。臨時密鑰生成用數據更新部140使用處理裝置911,計算合計了所取得的臨時密鑰生成用數據表示的數值、和預定的增量值而得的合計值。臨時密鑰生成用數據更新部140使用表示所計算的合計值的數據,更新臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據。臨時密鑰生成用數據存儲部130代替舊的臨時密鑰生成用數據,將表示臨時密鑰生成用數據更新部140新計算出的合計值的數據,使用存儲裝置914存儲為臨時密鑰生成用數據。
[0164]之後,臨時密鑰生成用數據更新部140使處理返回到周期經過判定工序S613,等待經過接下來的更新周期。
[0165]密碼通信裝置300在更新處理S602中,例如,執行周期經過判定工序S633和驗證用數據更新工序S634。另外,密碼通信裝置300與管理裝置100無關地執行更新處理S602。即,密碼通信裝置300執行更新處理S602的定時無需與管理裝置100執行更新處理S602的定時相同。
[0166]在周期經過判定工序S633中,密碼通信裝置300的驗證用數據更新部340判定是否經過了預定的更新周期。例如,驗證用數據更新部340使用處理裝置911,比較從前次的更新起的經過時間和更新周期,在經過時間大於更新周期的情況下,判定為經過了更新周期。
[0167]在判定為經過了更新周期的情況下,驗證用數據更新部340使處理進入到驗證用數據更新工序S634。
[0168]在驗證用數據更新工序S634中,密碼通信裝置300的驗證用數據更新部340更新驗證用數據。
[0169]例如,驗證用數據更新部340使用處理裝置911,取得驗證用數據存儲部330存儲了的驗證用數據。驗證用數據更新部340使用處理裝置911,計算合計了所取得的驗證用數據表示的數值和預定的增量值而得到的合計值。驗證用數據更新部340使用表示所計算出的合計值的數據,更新驗證用數據存儲部330存儲了的驗證用數據。驗證用數據存儲部330代替舊的驗證用數據,將表示驗證用數據更新部340新計算出的合計值的數據,使用存儲裝置914存儲為驗證用數據。
[0170]之後,驗證用數據更新部340使處理返回到周期經過判定工序S633,等待經過接下來的更新周期。
[0171]圖8是示出該實施方式中的臨時密鑰通知處理S603的流程的一個例子的流程圖。
[0172]管理裝置100在臨時密鑰通知處理S603中,例如,執行臨時密鑰要求接受工序S615、臨時密鑰生成工序S616、臨時密鑰通知工序S618、以及臨時密鑰生成用數據通知工序 S619。
[0173]另外,密碼通信裝置200在臨時密鑰通知處理S603中,例如,執行臨時密鑰要求工序S621、臨時密鑰取得工序S622、以及臨時密鑰生成用數據取得工序S623。
[0174]在臨時密鑰要求工序S621中,密碼通信裝置200的臨時密鑰取得部260對管理裝置100要求臨時密鑰。例如,臨時密鑰取得部260使用通信裝置915,對管理裝置100發送要求臨時密鑰的臨時密鑰要求消息。
[0175]在臨時密鑰要求接受工序S615中,管理裝置100的臨時密鑰通知部170接受來自密碼通信裝置200的要求。例如,臨時密鑰通知部170使用通信裝置915,接收密碼通信裝置200的臨時密鑰取得部260發送了的臨時密鑰要求消息。
[0176]另外,為了確認是否可以對密碼通信裝置200通知臨時密鑰,也可以是管理裝置100認證密碼通信裝置200的結構。例如,在密碼通信裝置200中設置認證信息輸入部,在管理裝置100中設置認證信息驗證部。密碼通信裝置200的認證信息輸入部使用輸入裝置912,輸入利用者的指紋等生物體信息、口令等認證信息。密碼通信裝置200的臨時密鑰取得部260使用處理裝置911,生成包括認證信息輸入部輸入了的認證信息的臨時密鑰要求消息。管理裝置100的認證信息驗證部使用處理裝置911,驗證從密碼通信裝置200通知的臨時密鑰要求消息中包含的認證信息,從而認證密碼通信裝置200。在認證失敗了的情況下,管理裝置100不執行以後的工序,而結束臨時密鑰通知處理S603。由此,能夠防止在正規的利用者以外的人員操作密碼通信裝置200的情況下,管理裝置100對密碼通信裝置200通知臨時密鑰的情況。
[0177]在臨時密鑰生成工序S616中,管理裝置100的臨時密鑰生成部160使用處理裝置911,根據主密鑰存儲部110存儲了的主密鑰、和臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,生成臨時密鑰。
[0178]在臨時密鑰通知工序S618中,管理裝置100的臨時密鑰通知部170對密碼通信裝置200通知在臨時密鑰生成工序S616中臨時密鑰生成部160生成了的臨時密鑰。
[0179]在臨時密鑰取得工序S622中,密碼通信裝置200的臨時密鑰取得部260取得在臨時密鑰通知工序S618中管理裝置100的臨時密鑰通知部170通知了的臨時密鑰。密碼通信裝置200的臨時密鑰存儲部270使用存儲裝置914,存儲臨時密鑰取得部260取得了的臨時密鑰。
[0180]在臨時密鑰生成用數據通知工序S619中,管理裝置100的臨時密鑰生成用數據通知部150對密碼通信裝置200通知在臨時密鑰生成工序S616中臨時密鑰生成部160生成在臨時密鑰通知工序S618中臨時密鑰通知部170對密碼通信裝置200通知的臨時密鑰時使用的臨時密鑰生成用數據。
[0181]在臨時密鑰生成用數據取得工序S623中,密碼通信裝置200的臨時密鑰生成用數據取得部220取得在臨時密鑰生成用數據通知工序S619中管理裝置100的臨時密鑰生成用數據通知部150通知了的臨時密鑰生成用數據。密碼通信裝置200的臨時密鑰生成用數據存儲部230使用存儲裝置914存儲臨時密鑰生成用數據取得部220取得了的臨時密鑰生成用數據。
[0182]圖9是示出該實施方式中的密碼通信處理S604的流程的一個例子的流程圖。
[0183]密碼通信裝置200在密碼通信處理S604中,例如,執行臨時密鑰生成用數據通知工序S624、和密碼通信工序S625。
[0184]另外,密碼通信裝置300在密碼通信處理S604中,例如,執行臨時密鑰生成用數據取得工序S635、臨時密鑰生成用數據驗證工序S636、臨時密鑰生成工序S637、以及密碼通信工序S638。
[0185]在臨時密鑰生成用數據通知工序S624中,密碼通信裝置200的臨時密鑰生成用數據通知部250對密碼通信裝置300通知臨時密鑰生成用數據存儲部230存儲了的臨時密鑰生成用數據。
[0186]在臨時密鑰生成用數據取得工序S635中,密碼通信裝置300的臨時密鑰生成用數據取得部320取得在臨時密鑰生成用數據通知工序S624中密碼通信裝置200的臨時密鑰生成用數據通知部250通知了的臨時密鑰生成用數據。
[0187]另外,密碼通信裝置200也可以是如下結構:不僅對密碼通信裝置300通知臨時密鑰生成用數據,還向密碼通信裝置300通知識別密碼通信裝置200的識別數據、認證信息等為了在與密碼通信裝置300之間開始密碼通信而所需的信息。
[0188]在臨時密鑰生成用數據驗證工序S636中,密碼通信裝置300的臨時密鑰生成用數據驗證部350使用處理裝置911,根據驗證用數據存儲部330存儲了的驗證用數據、和臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據,判定臨時密鑰生成用數據是否有效。
[0189]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據不是有效的情況下,密碼通信裝置300不執行其以後的工序,而結束密碼通信處理S604。
[0190]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據是有效的情況下,驗證用數據存儲部330使用存儲裝置914,代替此前存儲的驗證用數據,將臨時密鑰生成用數據驗證部350判定為有效的臨時密鑰生成用數據存儲為新的驗證用數據。由此,管理裝置100和密碼通信裝置300緩慢地同步。
[0191]另外,密碼通信裝置300也可以是對密碼通信裝置200通知驗證結果的結構。另夕卜,密碼通信裝置300也可以是如下結構:不僅對密碼通信裝置200發送驗證結果,而且還對密碼通信裝置200發送識別密碼通信裝置300的識別數據、認證信息等為了在與密碼通信裝置200之間開始密碼通信而所需的信息。
[0192]在臨時密鑰生成工序S637中,密碼通信裝置300的臨時密鑰生成部360使用處理裝置911,根據主密鑰存儲部310存儲了的主密鑰、和臨時密鑰生成用數據驗證部350判定為是有效的臨時密鑰生成用數據,生成臨時密鑰。
[0193]在密碼通信工序S625中,密碼通信裝置200的密碼通信部290使用臨時密鑰存儲部270存儲了的臨時密鑰,在與密碼通信裝置300之間進行密碼通信。
[0194]在密碼通信工序S638中,密碼通信裝置300的密碼通信部390使用在臨時密鑰生成工序S637中臨時密鑰生成部360生成了的臨時密鑰,在與密碼通信裝置200之間進行密碼通信。
[0195]例如,密碼通信裝置200的密碼通信部290利用處理裝置911,使用臨時密鑰存儲部270存儲了的臨時密鑰來生成密文,利用通信裝置915,對密碼通信裝置300發送所生成的密文。密碼通信裝置300的密碼通信部390利用通信裝置915,接收密碼通信裝置200發送了的密文,利用處理裝置911,使用臨時密鑰生成部360生成了的臨時密鑰而對密文進行解密。另外,密碼通信裝置300的密碼通信部390利用處理裝置911,使用臨時密鑰生成部360生成了的臨時密鑰來生成密文,利用通信裝置915,對密碼通信裝置200發送所生成的密文。密碼通信裝置200的密碼通信部290利用通信裝置915,接收密碼通信裝置300發送了的密文,利用處理裝置911,使用臨時密鑰存儲部270存儲了的臨時密鑰,對所接收到的密文進行解密。
[0196] 另外,也可以是並非立即開始密碼通信,而使用協商了的臨時密鑰,對為了開始密碼通信而所需的信息進行加密,在密碼通信裝置200與密碼通信裝置300之間交換的結構。例如,密碼通信裝置200和密碼通信裝置300根據交換了的信息相互進行認證。或者,密碼通信裝置200和密碼通信裝置300根據交換了的信息,協商在密碼通信中使用的密鑰,使用協商了的密鑰來進行密碼通信。
[0197]如以上那樣,通過判定臨時密鑰生成用數據的有效性,能夠防止密碼通信裝置200和密碼通信裝置300使用舊的臨時密鑰進行密碼通信。
[0198]例如,在密碼通信裝置200小型且可便攜的情況下,有密碼通信裝置200的合法的利用者丟失密碼通信裝置200,第三人拾得密碼通信裝置200而濫用的可能性。如果由於驗證用數據的更新,第三人拾得了的密碼通信裝置200中保存的臨時密鑰成為舊的密鑰,則該密碼通信裝置200無法在與密碼通信裝置300之間進行密碼通信。因此,能夠防止信息從密碼通信裝置300洩漏。另外,在密碼通信裝置200中,保存了臨時密鑰和臨時密鑰生成用數據,但未保存主密鑰。無法根據臨時密鑰和臨時密鑰生成用數據,推測主密鑰,所以即使拾得了密碼通信裝置200的第三人從密碼通信裝置200取出了臨時密鑰、臨時密鑰生成用數據,主密鑰也不會洩漏。
[0199]實施方式2.[0200]說明實施方式2。
[0201]另外,關於與實施方式I共同的部分,附加同一符號而省略說明。
[0202]該實施方式中的密碼通信系統800的整體結構、管理裝置100、密碼通信裝置200、300的硬體結構以及塊結構與實施方式I相同,所以僅說明不同的部分。
[0203]在密碼通信裝置300中,在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的,驗證用數據存儲部330將該臨時密鑰生成用數據存儲為驗證用數據的情況下,驗證用數據更新部340對從前次的更新起的經過時間進行復位。即,驗證用數據更新部340在從驗證用數據存儲部330將臨時密鑰生成用數據存儲為驗證用數據起的經過時間達到了規定的更新周期時,更新驗證用數據存儲部330存儲了的驗證用數據。
[0204]在密碼通信裝置300的時鐘不正確,密碼通信裝置300的時鐘的前進比管理裝置100的時鐘的前進快的情況下,驗證用數據存儲部330存儲了的驗證用數據表示的數值增加的速度比管理裝置100的臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值增加的速度更快。在這樣的狀態下,驗證用數據存儲部330存儲了的驗證用數據表示的數值最終會比管理裝置100的臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值更大,即使是最新的臨時密鑰生成用數據,臨時密鑰生成用數據驗證部350仍判定為不是有效的,所以無法進行密碼通信裝置200與密碼通信裝置300之間的密碼通信。
[0205]在臨時密鑰生成用數據驗證部350判定為密碼通信裝置200對密碼通信裝置300通知的臨時密鑰生成用數據是有效的時間點,在管理裝置100中,從臨時密鑰生成用數據更新部140更新了臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據起已經經過了某種程度的時間。因此,在密碼通信裝置300中,如果從該時間點起驗證用數據更新部340重新測定經過時間,則下次的驗證用數據的更新比管理裝置100中的臨時密鑰生成用數據的更新更慢。因此,只要密碼通信裝置200和密碼通信裝置300某種程度定期地進行通信,則即使在密碼通信裝置300的時鐘的前進比管理裝置100的時鐘的前進更快的情況下,也能夠防止驗證用數據存儲部330存儲了的驗證用數據表示的數值增加的速度比臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值增加的速度更快。
[0206]實施方式3.[0207]使用圖10~圖19,說明實施方式3。
[0208]另外,關於與實施方式I或者實施方式2共同的部分,附加同一符號而省略說明。
[0209]圖10是示出該實施方式中的自動查表系統801的整體結構的一個例子的圖。
[0210]自動查表系統801(密碼通信系統)具有例如管理伺服器101、便攜終端201、以及查表儀表301。
[0211]查表儀表301和便攜終端201使用無線網802進行通信。便攜終端201和管理伺服器101使用公共網803進行通信。在便攜終端201和管理伺服器101的通信中,使用例如SSL(Secure Socket Layer:安全套接層)等安全的通信路徑。無線通信和公共網通信無需一定同時進行。
[0212]另外,通常存在多個便攜終端201、查表儀表301。
[0213]管理伺服器101、便攜終端201以及查表儀表301的硬體結構與例如在實施方式I中說明的管理裝置100、密碼通信裝置200、密碼通信裝置300相同。
[0214]圖11是示出該實施方式中的管理伺服器101的功能塊的一個例子的圖。
[0215]管理伺服器101 (管理裝置)具有例如主密鑰存儲部111、代編號計數器131以及密鑰信息管理部161。
[0216]主密鑰存儲部Ill存儲有主密鑰411 (第一主密鑰)。主密鑰411是在公用密鑰密碼中使用的密鑰,查表儀表301也具有相同的密鑰。在有多個查表儀表301的情況下,既可以是在多個查表儀表301中使用公用的主密鑰的結構,也可以是針對每個查表儀表301而使用不同的單獨的主密鑰的結構。
[0217]代編號計數器131 (臨時密鑰生成用數據存儲部)存儲有代編號412 (臨時密鑰生成用數據)。代編號計數器131 (臨時密鑰生成用數據更新部)與日期時間同步地,使代編號412遞增。或者,代編號計數器131也可以是每當經過一定期間(例如24小時)時使代編號412遞增的結構。
[0218]密鑰信息管理部161從便攜終端201接收臨時密鑰發行要求421。密鑰信息管理部161從代編號計數器131接受代編號412。密鑰信息管理部161從主密鑰存儲部111接受主密鑰411。密鑰信息管理部161 (臨時密鑰生成部)根據主密鑰411和代編號412生成臨時密鑰413 (第一臨時密鑰)。密鑰信息管理部161 (臨時密鑰通知部、臨時密鑰生成用數據通知部)對便攜終端201送出臨時密鑰413和代編號412。
[0219]圖12是示出該實施方式中的便攜終端201的功能塊的一個例子的圖。
[0220] 便攜終端201 (第一密碼通信裝置)具有例如面向管理伺服器通信部221、消息生成部281以及面向查表儀表通信部291。[0221]面向管理伺服器通信部221對管理伺服器101的密鑰信息管理部161送出臨時密鑰發行要求421。面向管理伺服器通信部221也可以是將口令、指紋等生物識別技術、其他認證信息作為臨時密鑰發行要求421的一部分送出的結構。另外,面向管理伺服器通信部221將密鑰類別信息422作為臨時密鑰發行要求421送出。密鑰類別信息422表示所使用的密鑰的類別。由此,在主密鑰針對每個查表儀表301不同的情況等下,能夠根據用途分開使用多個密鑰。
[0222]面向管理伺服器通信部221 (臨時密鑰取得部、臨時密鑰生成用數據取得部)從管理伺服器101接收臨時密鑰413和代編號412。面向管理伺服器通信部221將所接收到的臨時密鑰413和代編號412交給面向查表儀表通信部291。
[0223]消息生成部281生成針對查表儀表301的消息423。
[0224]面向查表儀表通信部291與查表儀表301進行通信。
[0225]例如,面向查表儀表通信部291接受消息生成部281生成的消息423。面向查表儀表通信部291用臨時密鑰413對消息423進行加密。面向查表儀表通信部291生成消息標識符。面向查表儀表通信部291連接對消息423進行加密而得到的密文、消息標識符以及代編號412來生成加密消息424。面向查表儀表通信部291 (臨時密鑰生成用數據通知部、密碼通信部)對查表儀表301送出加密消息424。
[0226]另外,面向查表儀表通信部291 (密碼通信部)從查表儀表301接收加密響應434。面向查表儀表通信部291用臨時密鑰413對加密響應434進行解密。
[0227]圖13是示出該實施方式中的查表儀表301的功能塊的一個例子的圖。
[0228]查表儀表301 (第二密碼通信裝置)具有例如主密鑰存儲部311、代編號計數器331、消息處理部381以及面向便攜終端通信部391。
[0229]主密鑰存儲部311存儲有主密鑰431 (第二主密鑰)。
[0230]代編號計數器331 (驗證用數據存儲部)存儲有代編號432 (驗證用數據)。代編號計數器331 (驗證用數據更新部)與日期時間同步地使代編號432遞增。或者,代編號計數器331也可以是每當經過一定期間(例如24小時)時使代編號432遞增的結構。
[0231]面向便攜終端通信部391與便攜終端201進行通信。
[0232]例如,面向便攜終端通信部391 (臨時密鑰生成用數據取得部)接收加密消息424。面向便攜終端通信部391從代編號計數器331取得代編號432。面向便攜終端通信部391 (臨時密鑰生成用數據驗證部)比較代編號432、和在加密消息424中包含的代編號412。
[0233]在代編號432比代編號412新的情況下,面向便攜終端通信部391廢棄加密消息424,作為加密響應434將出錯消息送出到便攜終端201。
[0234]在代編號432與代編號412相同、或者比代編號412舊的情況下,面向便攜終端通信部391從主密鑰存儲部311取得主密鑰431。面向便攜終端通信部391 (臨時密鑰生成部)根據代編號412和主密鑰431,生成臨時密鑰(第二臨時密鑰)。面向便攜終端通信部391生成與臨時密鑰413相同的密鑰。面向便攜終端通信部391 (密碼通信部)用所生成的臨時密鑰對加密消息424進行解密,再現消息423。面向便攜終端通信部391驗證再現了的消息423。
[0235]在驗證成功了的情況下,面向便攜終端通信部391對消息處理部381送出消息423。另外,在代編號432比代編號412舊的情況下,面向便攜終端通信部391將代編號412改寫為代編號計數器331。
[0236]或者,面向便攜終端通信部391接收消息處理部381生成的響應433。面向便攜終端通信部391從代編號計數器331取得代編號432。面向便攜終端通信部391從主密鑰存儲部311取得主密鑰431。面向便攜終端通信部391 (臨時密鑰生成部)根據代編號432和主密鑰431生成臨時密鑰(第二臨時密鑰)。面向便攜終端通信部391 (密碼通信部)對響應433進行加密。面向便攜終端通信部391生成消息認證符。面向便攜終端通信部391生成加密響應434。面向便攜終端通信部391對便攜終端201的面向查表儀表通信部291送出加密響應434。
[0237]消息處理部381處理面向查表儀表通信部291解密了的消息423,生成響應433。消息處理部381對面向便攜終端通信部391送出響應433。
[0238]圖14是示出該實施方式的管理伺服器101中的密鑰信息管理部161的詳細的功能塊的一個例子的圖。
[0239]密鑰信息管理部161具有例如認證部162、主密鑰選擇部163、臨時密鑰生成部164以及輸出判定部171。
[0240]認證部162從便攜終端201 (面向管理伺服器通信部221)接收臨時密鑰發行要求
421。認證部162根據在臨時密鑰發行要求421中包含的認證信息,決定是否處理臨時密鑰發行要求421。例如,認證部162根據認證信息進行發送者的認證。在決定為不處理臨時密鑰發行要求421的情況下,認證部162對輸出判定部171輸出表示不輸出密鑰的意思的輸出判定信號414。在決定為處理臨時密鑰發行要求421的情況下,認證部162從臨時密鑰發行要求421分離密鑰類別信息422。認證部162將密鑰類別信息422交給主密鑰選擇部163。
[0241]另外,在不進行認證的情況下,也可以沒有認證部162。
[0242]在認證部162中,主密鑰選擇部163根據密鑰類別信息422,從主密鑰存儲部111存儲了的多個主密鑰411中選擇在臨時密鑰的生成中使用的主密鑰411。在主密鑰存儲部111存儲了的多個主密鑰411中,不存在與密鑰類別信息422對應的主密鑰411的情況下,主密鑰選擇部163對輸出判定部171輸出表示不輸出密鑰的意思的輸出判定信號414。
[0243]另外,在主密鑰存儲部111存儲了的主密鑰411是一種的情況下,也可以沒有主密鑰選擇部163。
[0244]臨時密鑰生成部164取得主密鑰選擇部163選擇了的主密鑰411、和代編號計數器131存儲了的代編號412。臨時密鑰生成部164根據主密鑰411和代編號412,生成臨時密鑰413。例如,在臨時密鑰生成部164中,作為臨時密鑰413,生成通過規定的加密方式用主密鑰411對代編號412進行了加密的數據。或者,在臨時密鑰生成部164中,用將代編號412和主密鑰411作為輸入的帶密鑰的散列函數生成散列值作為臨時密鑰413。另外,關於臨時密鑰生成部164在臨時密鑰413的生成中使用的密鑰生成方式,需要根據代編號412和主密鑰411唯一地生成臨時密鑰413、以及無法根據臨時密鑰413和代編號412推測主密鑰 411。
[0245]代編號計數器131保有代編號412。如果經過一定期間(例如I日),則代編號計數器131使代編號412增加I個。[0246]輸出判定部171(臨時密鑰通知部、臨時密鑰生成用數據通知部)判定是否輸出臨時密鑰生成部164生成的臨時密鑰413和代編號412。
[0247]在從認證部162、主密鑰選擇部163接收了表示不輸出密鑰的意思的輸出判定信號414的情況下,輸出判定部171不輸出臨時密鑰413和代編號412。另外,輸出判定部171也可以是代替其,而將規定的出錯代碼輸出到便攜終端201 (面向管理伺服器通信部221)的結構。
[0248]在未從認證部162、主密鑰選擇部163接收表示不輸出密鑰的意思的輸出判定信號414的情況下,輸出判定部171對便攜終端201 (面向管理伺服器通信部221)輸出臨時密鑰413和代編號412。
[0249]圖15是示出該實施方式的便攜終端201中的面向管理伺服器通信部221的詳細的功能塊的一個例子的圖。
[0250]面向管理伺服器通信部221具有例如臨時密鑰發行要求生成部222、和臨時密鑰信息取得部223。
[0251]臨時密鑰發行要求生成部222從例如輸入裝置912接收密鑰類別信息422、和認證信息425。輸入裝置912是例如鍵盤那樣的字符串輸入裝置。或者,輸入裝置912是指紋讀取裝置那樣的取得生物識別信息的裝置。臨時密鑰發行要求生成部222在存儲裝置914的規定的存儲區域中存儲有密鑰類別信息422。
[0252]臨時密鑰發行要求生成部222根據所取得的認證信息425和密鑰類別信息422,生成臨時密鑰發行要求421。臨時密鑰發行要求生成部222生成的臨時密鑰發行要求421包括認證信息425、和密鑰類別信息422。
[0253]臨時密鑰發行要求生成部222對管理伺服器101 (密鑰信息管理部161)送出臨時密鑰發行要求421。
[0254]另外,在管理伺服器101不進行利用者認證的情況下,臨時密鑰發行要求生成部222也可以是不取得認證信息425的結構。在該情況下,臨時密鑰發行要求421也可以是不包括認證信息425的結構。
[0255]另外,在所使用的密鑰是一種的情況下,臨時密鑰發行要求生成部222也可以是不從輸入裝置912取得密鑰類別信息422的結構。在該情況下,臨時密鑰發行要求生成部222也可以是在內部生成密鑰類別信息422的結構。或者,臨時密鑰發行要求421也可以是不包括密鑰類別信息422的結構。
[0256]在從管理伺服器101接收了針對臨時密鑰發行要求421的響應的情況下,臨時密鑰發行要求生成部222對面向查表儀表通信部291送出密鑰類別信息422。
[0257]臨時密鑰信息取得部223 (臨時密鑰取得部、臨時密鑰生成用數據取得部)從管理伺服器101接收臨時密鑰413和代編號412。臨時密鑰信息取得部223對面向查表儀表通信部291送出臨時密鑰413和代編號412。
[0258]圖16是示出該實施方式的便攜終端201中的面向查表儀表通信部291的詳細的功能塊的一個例子的圖。
[0259]面向查表儀表通信部291具有例如加密部292、復用部293、分離部294、解密部295以及接收判定部296。
[0260]消息生成部281生成對便攜終端201發送的消息423。消息生成部281對加密部292送出消息423。
[0261]加密部292從面向管理伺服器通信部221接收臨時密鑰413。加密部292用臨時密鑰413對消息423進行加密。加密部292生成消息認證符。加密部292生成密文426。密文426包括對消息423進行加密而得到的密文主體、和消息認證符。
[0262]例如,加密部292按照規定的利用模式,執行AES (Advanced EncryptionStandard:高級加密標準)、TDES (Triple Data Encryption Standard:三重數據加密標準)等公用密鑰密碼,對消息423進行加密。
[0263]另外,例如,加密部292按照規定的利用模式,執行AES、TDES等公用密鑰密碼,生成消息認證符。或者,加密部292執行帶密鑰的密碼散列等,生成消息認證符。
[0264]復用部293從面向管理伺服器通信部221接收密鑰類別信息422和密鑰類別信息
422。復用部293對密鑰類別信息422、代編號412、以及密文426進行復用,來生成加密消息424。復用部293 (臨時密鑰生成用數據通知部、密碼通信部)對便攜終端201 (面向查表儀表通信部291)送出加密消息424。
[0265]分離部294從便攜終端201 (面向查表儀表通信部291)接收加密響應434。分離部294將加密響應434分離為密文436和代編號432。
[0266]解密部295從面向管理伺服器通信部221接收臨時密鑰413。解密部295使用臨時密鑰413,對密文436 進行解密,生成響應433。解密部295使用與查表儀表301中的面向便攜終端通信部391使用了的加密方式對應的解密方式,對密文436進行解密。
[0267]另外,解密部295進行密文436的消息驗證,生成驗證結果427。解密部295使用與查表儀表301中的面向便攜終端通信部391使用了的消息認證符生成方式對應的驗證方式,驗證密文436。
[0268]解密部295輸出響應433和驗證結果427。
[0269]接收判定部296從面向管理伺服器通信部221接收代編號412。接收判定部296根據代編號412、代編號432以及驗證結果427進行輸出判定。判定基準如下所述。
[0270].當解密部295在消息驗證中失敗了的情況下,不輸出響應433。
[0271].在代編號432比代編號412舊的情況下,不輸出響應433。
[0272]?當解密部295在消息驗證中成功、並且代編號432與代編號412相同或比代編號412新的情況下,輸出響應433。
[0273]在輸出響應433這樣的判定結果的情況下,接收判定部296對消息生成部281輸出響應433。
[0274]圖17是示出該實施方式的查表儀表301中的面向便攜終端通信部391的詳細的功能塊的一個例子的圖。
[0275]面向便攜終端通信部391具有例如主密鑰選擇部363、臨時密鑰生成部364、加密部392、復用部393、分離部394、解密部395以及接收判定部396。
[0276]分離部394從便攜終端201 (面向查表儀表通信部291)接收加密消息424。分離部394將加密消息424分離為密鑰類別信息422、密文426以及代編號412。
[0277]主密鑰選擇部363根據密鑰類別信息422,從主密鑰存儲部311存儲了的多個主密鑰431中選擇在臨時密鑰435的生成中使用的主密鑰431。
[0278]臨時密鑰生成部364根據主密鑰選擇部363選擇了的主密鑰431、和代編號412,生成臨時密鑰435。臨時密鑰生成部364通過與管理伺服器101中的密鑰信息管理部161的臨時密鑰生成部164相同的臨時密鑰生成方式,生成臨時密鑰435。
[0279]解密部395使用臨時密鑰435,對密文426進行解密,生成消息423。解密部395使用與便攜終端201中的面向查表儀表通信部291的加密部292使用了的加密方式對應的解密方式,對密文426進行解密。
[0280] 另外,解密部395進行密文426的消息驗證,生成驗證結果437。解密部395使用與便攜終端201中的面向查表儀表通信部291的加密部292使用了的消息認證符生成方式對應的驗證方式,驗證密文426。
[0281]解密部395輸出密文426和驗證結果437。
[0282]接收判定部396從代編號計數器331取得代編號432。接收判定部396根據代編號432、代編號412以及驗證結果437,進行輸出判定。判定基準如下所述。
[0283].當解密部395在消息驗證中失敗了的情況下,不輸出消息423。
[0284].在代編號412比代編號432舊的情況下,不輸出消息423。
[0285]?當解密部395在消息驗證中成功、並且代編號412與代編號432相同或比代編號432新的情況下,輸出消息423。
[0286]在判定為輸出消息423的情況下,接收判定部396對消息處理部381輸出消息
423。
[0287]另外,在消息驗證中成功、並且代編號412比代編號432新的情況下,接收判定部396將代編號計數器331存儲了的值重寫為代編號412。
[0288]在代編號計數器331中,如果從所保持的代編號432被變更起經過了一定期間(例如I日),則使所保有的代編號432增加I個。
[0289]加密部392從消息處理部381接收響應433。加密部392使用臨時密鑰435,對響應433進行加密。另外,加密部392生成消息認證符。加密部392生成密文436。加密部392使用例如與便攜終端201中的面向查表儀表通信部291的加密部292相同的加密方式以及消息認證符生成方式,生成密文436。
[0290]復用部393對密鑰類別信息422、代編號432以及密文436進行復用,生成加密響應434。復用部393對便攜終端201 (面向查表儀表通信部291)送出加密響應434。
[0291]接下來,說明動作。
[0292]圖18是示出該實施方式中的臨時密鑰通知處理S603的流程的一個例子的流程圖。
[0293]臨時密鑰通知處理S603具有例如臨時密鑰發行要求生成工序S641、認證工序S642、主密鑰選擇工序S643、臨時密鑰生成工序S644、輸出工序S645以及臨時密鑰信息取得工序S646。
[0294]在臨時密鑰發行要求生成工序S641中,便攜終端201的臨時密鑰發行要求生成部222生成臨時密鑰發行要求421。臨時密鑰發行要求生成部222對管理伺服器101 (密鑰信息管理部161)發送臨時密鑰發行要求421。
[0295]在認證工序S642中,管理伺服器101的認證部162接收臨時密鑰發行要求421。認證部162驗證臨時密鑰發行要求421。在驗證失敗了的情況下,認證部162結束臨時密鑰通知處理S603。在驗證成功了的情況下,認證部162從臨時密鑰發行要求421分離密鑰類別信息422,使處理進入到主密鑰選擇工序S643。
[0296]在主密鑰選擇工序S643中,管理伺服器101的主密鑰選擇部163根據密鑰類別信息422,選擇主密鑰411。在密鑰類別信息422是非法的情況下,主密鑰選擇部163結束臨時密鑰通知處理S603。在密鑰類別信息422正確的情況下,主密鑰選擇部163使處理進入到臨時密鑰生成工序S644。
[0297]在臨時密鑰生成工序S644中,管理伺服器101的臨時密鑰生成部164根據主密鑰411和代編號412,生成臨時密鑰413。
[0298]在輸出工序S645中,管理伺服器101的輸出判定部171對便攜終端201 (面向管理伺服器通信部221)發送臨時密鑰413和代編號412。
[0299]在臨時密鑰信息取得工序S646中,便攜終端201的臨時密鑰信息取得部223接收臨時密鑰413和代編號412。臨時密鑰信息取得部223對面向查表儀表通信部291輸出臨時密鑰413和代編號412。臨時密鑰發行要求生成部222對面向查表儀表通信部291輸出密鑰類別信息422。
[0300]另外,也可以在該時間點,管理伺服器101與便攜終端201之間的通信切斷。
[0301]圖19是示出該實施方式中的密碼通信處理S604的流程的一個例子的流程圖。
[0302]密碼通信處理S604具有例如加密工序S651、復用工序S652、分離工序S653、主密鑰選擇工序S654、臨時密鑰生成工序S655、解密工序S656、接收判定工序S657、消息處理工序S660、主密鑰選擇工序S671、臨時密鑰生成工序S672、加密工序S673、復用工序S674、分離工序S675、解密工序S676以及接收判定工序S677。
[0303]在加密工序S651中,便攜終端201的加密部292使用臨時密鑰413,對消息423進行加密,生成密文426。
[0304]在復用工序S652中,便攜終端201的復用部293對密文426、代編號412、以及密鑰類別信息422進行復用,生成加密消息424。復用部293對查表儀表301 (面向便攜終端通信部391)發送加密消息424。
[0305]在分離工序S653中,查表儀表301的分離部394接收加密消息424。分離部394將加密消息424分離為密文426、代編號412以及密鑰類別信息422。
[0306]在主密鑰選擇工序S654中,查表儀表301的主密鑰選擇部363根據密鑰類別信息422選擇主密鑰431。主密鑰選擇部363存儲密鑰類別信息422。
[0307]在臨時密鑰生成工序S655中,查表儀表301的臨時密鑰生成部364根據主密鑰431和代編號412,生成臨時密鑰435。
[0308]在解密工序S656中,查表儀表301的解密部395使用臨時密鑰435,對密文426進行解密,生成消息423和驗證結果437。
[0309]在接收判定工序S657中,查表儀表301的接收判定部396根據代編號412、代編號432以及驗證結果437,判定是否輸出消息423。在判定為不輸出消息423的情況下,接收判定部396結束密碼通信處理S604。在判定為輸出消息423的情況下,接收判定部396輸出消息423。代編號計數器331存儲代編號412。
[0310]在消息處理工序S660中,查表儀表301的消息處理部381處理消息423,生成響應433。
[0311]在主密鑰選擇工序S671中,查表儀表301的主密鑰選擇部363根據所存儲的密鑰類別信息422,選擇主密鑰431。主密鑰選擇部363輸出所選擇的主密鑰431和密鑰類別信息 422。
[0312]在臨時密鑰生成工序S672中,查表儀表301的臨時密鑰生成部364根據主密鑰431和代編號432,生成臨時密鑰435。在臨時密鑰生成工序S672中臨時密鑰生成部364生成的臨時密鑰435與在臨時密鑰生成工序S655中臨時密鑰生成部364生成了的臨時密鑰435相同。
[0313]在加密工序S673中,查表儀表301的加密部392使用在臨時密鑰生成工序S672中臨時密鑰生成部364生成了的臨時密鑰435,對響應433進行加密,生成密文436。另外,加密部392也可以是使用在臨時密鑰生成工序S655中臨時密鑰生成部364生成了的臨時密鑰435,對響應433進行加密的結構。在該情況下,也可以沒有主密鑰選擇工序S671以及臨時密鑰生成工序S672。
[0314]在復用工序S674中,查表儀表301的復用部393對密文436、代編號432、以及密鑰類別信息422進行復用,生成加密響應434。復用部393對便攜終端201 (面向查表儀表通信部291)發送加密響應434。
[0315]在分離工序S675中,便攜終端201的分離部294接收加密響應434。分離部294將加密響應434分離為密文436和代編號432。
[0316]在解密工序S676中,便攜終端201的解密部295對密文436進行解密,生成響應433和驗證結果427。
[0317]在接收判定工序S677中,便攜終端201的接收判定部296根據代編號432、代編號412以及驗證結果427,判定是否輸出響應433。在判定為輸出響應433的情況下,接收判定部296對消息生成部281輸出響應433。
[0318]該實施方式中的通信裝置(便攜終端201、查表儀表301)在公用密鑰密碼通信中,使用臨時地生成的密碼密鑰進行通信。
[0319]通信裝置保持預先在裝置之間共享的主密鑰、和以一定期間單調增加的計數器,從所述計數器取得計數器值,根據所述主密鑰和所述計數器值生成臨時密鑰,使用所述臨時密鑰針對規定的消息生成消息認證符,發送所述計數器值、所述消息以及所述消息認證符。
[0320]通信裝置(便攜終端201)經由公共網從規定的伺服器(管理伺服器101)取得所述臨時密鑰和所述計數器值,用所述臨時密鑰針對規定的消息生成消息認證符,發送所述計數器值、所述消息、以及所述消息認證符。
[0321]通信裝置(便攜終端201、查表儀表301)用所述臨時密鑰對消息進行加密。
[0322]通信裝置(便攜終端201、查表儀表301)接收通過其他通信裝置發送的消息。
[0323]通信裝置保持預先在裝置之間共享的主密鑰、和以一定期間單調增加的計數器,根據所述主密鑰和所接收的計數器值生成臨時密鑰,進行所接收的消息的驗證,在消息驗證成功、並且所接收的計數器值與從所述計數器取得的計數器值相同或者比其更新的情況下,受理該消息。
[0324]通信裝置(查表儀表301)在所接收的計數器值比從所述計數器取得的計數器值新的情況下,將所述計數器的值更新為所述接收到的計數器值。
[0325]該實施方式中的自動查表系統801 (密碼通信系統)根據主密鑰和代編號生成臨時密鑰,用於加密。代編號針對每一定期間被更新,所以臨時密鑰也能夠更新。因此,即使密鑰從便攜終端洩漏,在一定期間之後也能夠無效化。
[0326]另外,成為接收側的便攜終端通信部比較送來的代編號和自身保持的代編號。因此,即使假設臨時密鑰洩漏,在與臨時密鑰對應的代編號成為無效的時間點,無法使用該臨時密鑰。
[0327]進而,查表儀表內的便攜終端通信部在消息驗證成功、自身保持的代編號比送來的代編號舊的情況下,重寫自身的代編號,所以能夠取得代編號的同步。由於進行消息驗證,所以即使假設攻擊者發送了任意的代編號,也能夠探測其非法。
[0328]實施方式4.[0329]使用圖20~圖24,說明實施方式4。
[0330]另外,關於與實施方式I~實施方式3共同的部分,附加同一符號而省略說明。
[0331]圖20是示出該實施方式中的密碼通信系統800的整體結構的一個例子的系統結構圖。
[0332]密碼通信系統800具有多個密碼通信裝置500。多個密碼通信裝置500相互進行密碼通信。
[0333]密碼通信裝置500的硬體結構與例如在實施方式I中說明的管理裝置100、密碼通信裝置200、密碼通信裝置300相同。
[0334]圖21是示出該 實施方式中的密碼通信裝置500的整體結構的一個例子的系統結構圖。
[0335]密碼通信裝置500具有例如管理部102、通信部202以及驗證部302。
[0336]管理部102(管理裝置)管理主密鑰、臨時密鑰生成用數據,生成臨時密鑰。
[0337]管理部102具有例如主密鑰存儲部110、臨時密鑰生成用數據存儲部130、臨時密鑰生成用數據更新部140以及臨時密鑰生成部160。
[0338]主密鑰存儲部110利用存儲裝置914,存儲了主密鑰。在多個密碼通信裝置500中,主密鑰存儲部110所存儲的主密鑰全部相同。
[0339]臨時密鑰生成用數據存儲部130利用存儲裝置914,存儲了臨時密鑰生成用數據。在多個密碼通信裝置500中,臨時密鑰生成用數據存儲部130所存儲的臨時密鑰生成用數據未必相同。
[0340]臨時密鑰生成用數據更新部140利用處理裝置911,每當經過規定的周期時,反覆更新臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據。
[0341]臨時密鑰生成部160利用處理裝置911,生成臨時密鑰。臨時密鑰生成部160使用主密鑰存儲部Iio存儲了的主密鑰、和臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,生成臨時密鑰。
[0342]通信部202 (第一密碼通信裝置)對其他密碼通信裝置500通知為了管理部102生成臨時密鑰而使用的臨時密鑰生成用數據,並且使用管理部102生成了的臨時密鑰,在與其他密碼通信裝置500之間進行密碼通信。
[0343]通信部202具有例如臨時密鑰生成用數據通知部250、和密碼通信部290。
[0344]臨時密鑰生成用數據通知部250對其他密碼通信裝置500通知臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據。例如,臨時密鑰生成用數據通知部250利用通信裝置915,對其他密碼通信裝置500發送臨時密鑰生成用數據。
[0345]密碼通信部290使用臨時密鑰生成部160生成了的臨時密鑰,在與其他密碼通信裝置500之間進行密碼通信。例如,密碼通信部290利用處理裝置911,生成使用臨時密鑰生成部160生成了的臨時密鑰進行了加密的密文,利用通信裝置915,發送到其他密碼通信裝置500。或者,密碼通信部290利用通信裝置915,接收其他密碼通信裝置500發送了的密文,利用處理裝置911,使用臨時密鑰生成部160生成了的臨時密鑰,對所接收的密文進行解密。
[0346]驗證部302驗證從其他密碼通信裝置500通知的臨時密鑰生成用數據。
[0347]驗證部302具有例如臨時密鑰生成用數據取得部320、和臨時密鑰生成用數據驗證部350。
[0348]臨時密鑰生成用數據取得部320取得從其他密碼通信裝置500通知的臨時密鑰生成用數據。例如,臨時密鑰生成用數據取得部320利用通信裝置915,接收其他密碼通信裝置500發送了的臨時密鑰生成用數據。
[0349]臨時密鑰生成用數據驗證部350利用處理裝置911,判定臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是否有效。臨時密鑰生成用數據驗證部350使用臨時密鑰生成用數據存儲部130 (驗證用數據存儲部)存儲了的臨時密鑰生成用數據(驗證用數據),判定臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是否有效。
[0350]臨時密鑰生成用數據驗證部350比較臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據、和臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據,判定哪一個數據較新。
[0351]在臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據比臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據舊的情況下,臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據不是有效的。
[0352]在臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據比臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據新的情況下,臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的。
[0353]另外,在取得了的臨時密鑰生成用數據、和臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據是相同的新舊度的情況下,臨時密鑰生成用數據驗證部350也判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的。
[0354]例如,臨時密鑰生成用數據是表示數值的數據,臨時密鑰生成用數據更新部140 (驗證用數據更新部)每當經過規定的周期時,計算對臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值加上了規定的增量值而得的和。臨時密鑰生成用數據更新部140用表示所計算出的和的數據,更新臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據。臨時密鑰生成用數據存儲部130代替此前存儲的舊的臨時密鑰生成用數據,存儲更新了的新的臨時密鑰生成用數據。在多個密碼通信裝置500中,如果臨時密鑰生成用數據表示的數值增加的速度大致相同,則臨時密鑰生成用數據更新部140更新臨時密鑰生成用數據的周期、對臨時密鑰生成用數據表示的數值加上的增量值無需一定相同。
[0355]臨時密鑰生成用數據驗證部350比較臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據表示的數值、和臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據表示的數值,判定為數值更大的一方為較新。
[0356]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的情況下,臨時密鑰生成用數據存儲部130代替此前存儲的舊的臨時密鑰生成用數據,而存儲臨時密鑰生成用數據驗證部350判定為是有效的臨時密鑰生成用數據。
[0357]臨時密鑰生成部160根據更新了的臨時密鑰生成用數據,生成臨時密鑰。密碼通信部290使用臨時密鑰生成部160根據更新了的臨時密鑰生成用數據生成了的臨時密鑰,在與通知了臨時密鑰生成用數據的其他密碼通信裝置500之間進行密碼通信。
[0358]接下來,說明動作。
[0359]在密碼通信系統800中的處理中,大致分為初始化處理S601、更新處理S602以及密碼通信處理S604。
[0360]在初始化處理S601中,密碼通信裝置500對主密鑰、臨時密鑰生成用數據等進行初始化。
[0361]在更新處理S602中,密碼通信裝置500定期地更新臨時密鑰生成用數據。
[0362]在密碼通信處理S604中,密碼通信裝置500在與其他密碼通信裝置500之間協商在密碼通信中使用的臨時密鑰,進行密碼通信。
[0363]圖22是示出該實施方式中的初始化處理S601的流程的一個例子的流程圖。
[0364]在初始化處理S601中,密碼通信裝置500執行例如主密鑰存儲工序S611、和臨時密鑰生成用數據初始化工序S612。另外,多個密碼通信裝置500執行初始化處理S601的定時無需相同。
[0365]在主密鑰存儲工序S611中,密碼通信裝置500的主密鑰存儲部110取得主密鑰。主密鑰存儲部Iio利用存儲裝置914,存儲所取得的主密鑰。
[0366]在臨時密鑰生成用數據初始化工序S612中,密碼通信裝置500的臨時密鑰生成用數據存儲部130對臨時密鑰生成用數據進行初始化。
[0367]圖23是示出該實施方式中的更新處理S602的流程的一個例子的流程圖。
[0368]在更新處理S602中,密碼通信裝置500執行例如周期經過判定工序S613、和臨時密鑰生成用數據更新工序S614。
[0369]在周期經過判定工序S613中,密碼通信裝置500的臨時密鑰生成用數據更新部140判定是否經過了預定的更新周期。
[0370]在判定為經過了更新周期的情況下,臨時密鑰生成用數據更新部140使處理進入到臨時密鑰生成用數據更新工序S614。
[0371]在臨時密鑰生成用數據更新工序S614中,密碼通信裝置500的臨時密鑰生成用數據更新部140更新臨時密鑰生成用數據。
[0372]之後,臨時密鑰生成用數據更新部140使處理返回到周期經過判定工序S613,等待經過接下來的更新周期。
[0373]另外,臨時密鑰生成用數據更新部140既可以是將由臨時密鑰生成用數據更新部140實施的前次的更新時刻作為起點,判定是否經過了更新周期的結構,也可以是在上次的更新之後,在臨時密鑰生成用數據存儲部130存儲了臨時密鑰生成用數據驗證部350判定為有效的臨時密鑰生成用數據的情況下,將該時間點作為起點,判定是否經過了更新周期的結構。
[0374]圖24是示出該實施方式中的密碼通信處理S604的流程的一個例子的流程圖。
[0375]主動地開始密碼通信的一側(以下稱為「呼叫側」)的密碼通信裝置500在密碼通信處理S604中,執行臨時密鑰生成工序S616、臨時密鑰生成用數據通知工序S624、臨時密鑰生成用數據取得工序S635b、臨時密鑰生成用數據驗證工序S636b、臨時密鑰生成工序S637b以及密碼通信工序S625。
[0376]接受來自呼叫側的密碼通信裝置500的要求而被動地進行密碼通信的一側(以下稱為「被叫側」)的密碼通信裝置500在密碼通信處理S604中,執行臨時密鑰生成用數據取得工序S635、臨時密鑰生成用數據驗證工序S636、臨時密鑰生成工序S616b、臨時密鑰生成用數據通知工序S624b、臨時密鑰生成工序S637以及密碼通信工序S638。
[0377]在臨時密鑰生成工序S616中,呼叫側的密碼通信裝置500的臨時密鑰生成部160根據主密鑰存儲部Iio存儲了的主密鑰、和臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,生成臨時密鑰。
[0378]在臨時密鑰生成用數據通知工序S624中,呼叫側的密碼通信裝置500的臨時密鑰生成用數據通知部250對被叫側的密碼通信裝置500通知在臨時密鑰生成工序S616中臨時密鑰生成部160在臨時密鑰的生成中使用的臨時密鑰生成用數據。
[0379]在臨時密鑰生成用數據取得工序S635中,被叫側的密碼通信裝置500的臨時密鑰生成用數據取得部320取得從呼叫側的密碼通信裝置500通知的臨時密鑰。
[0380]在臨時密鑰生成用數據驗證工序S636中,被叫側的密碼通信裝置500的臨時密鑰生成用數據驗證部350根據臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,判定在臨時密鑰生成用數據取得工序S635中臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是否有效。
[0381]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據是有效的情況下,被叫側的密碼通信裝置500的臨時密鑰生成用數據存儲部130將臨時密鑰生成用數據驗證部350判定為有效的臨時密鑰生成用數據存儲為新的臨時密鑰生成用數據。被叫側的密碼通信裝置500使處理進入到臨時密鑰生成工序S637。
[0382]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據不是有效的情況下,被叫側的密碼通信裝置500不更新臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,使處理進入到臨時密鑰生成工序S616b。
[0383]在臨時密鑰生成工序S637中,被叫側的密碼通信裝置500的臨時密鑰生成部160根據主密鑰存儲部Iio存儲了的主密鑰、和在臨時密鑰生成用數據驗證工序S636中臨時密鑰生成用數據存儲部130新存儲了的臨時密鑰生成用數據,生成臨時密鑰。在臨時密鑰生成工序S637中被叫側的密碼通信裝置500的臨時密鑰生成部160生成的臨時密鑰是與在臨時密鑰生成工序S616中呼叫側的密碼通信裝置500的臨時密鑰生成部160生成了的臨時密鑰相同或者與該臨時密鑰對應的臨時密鑰。
[0384]被叫側的密碼通信裝置500使處理進入到密碼通信工序S638。
[0385]在臨時密鑰生成工序S616b中,被叫側的密碼通信裝置500的臨時密鑰生成部160根據主密鑰存儲部Iio存儲了的主密鑰、和臨時密鑰生成用數據存儲部130本來存儲的臨時密鑰生成用數據,生成臨時密鑰。
[0386]在臨時密鑰生成用數據通知工序S624b中,被叫側的密碼通信裝置500的臨時密鑰生成用數據通知部250對呼叫側的密碼通信裝置500通知在臨時密鑰生成工序S616b中臨時密鑰生成部160在臨時密鑰的生成中使用的臨時密鑰生成用數據。
[0387]在從被叫側的密碼通信裝置500通知了臨時密鑰生成用數據的情況下,呼叫側的密碼通信裝置500使處理進入到臨時密鑰生成用數據取得工序S635b。
[0388]在臨時密鑰生成用數據取得工序S635b中,呼叫側的密碼通信裝置500的臨時密鑰生成用數據取得部320取得從被叫側的密碼通信裝置500通知的臨時密鑰生成用數據。
[0389]在臨時密鑰生成用數據驗證工序S636b中,呼叫側的密碼通信裝置500的臨時密鑰生成用數據驗證部350根據臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據,判定在臨時密鑰生成用數據取得工序S635b中臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是否有效。
[0390]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據不是有效的情況下,雙方的密碼通信裝置500判定為對方的臨時密鑰生成用數據不是有效的,所以無法開始密碼通信。因此,結束密碼通信處理S604。
[0391]在臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據是有效的情況下,呼叫側的密碼通信裝置500的臨時密鑰生成用數據存儲部130將臨時密鑰生成用數據驗證部350判定為有效的臨時密鑰生成用數據存儲為新的臨時密鑰生成用數據。
[0392]在臨時密鑰生成工序S637b中,呼叫側的密碼通信裝置500的臨時密鑰生成部160根據主密鑰存儲部Iio存儲了的主密鑰、和在臨時密鑰生成用數據驗證工序S636b中臨時密鑰生成用數據存儲部130新存儲了的臨時密鑰生成用數據,生成臨時密鑰。在臨時密鑰生成工序S637b中呼叫側的密碼通信裝置500的臨時密鑰生成部160生成的臨時密鑰是與在臨時密鑰生成工序S616中被叫側的密碼通信裝置500的臨時密鑰生成部160生成了的臨時密鑰相同或者與該臨時密鑰對應的臨時密鑰。
[0393]在密碼通信工序S625中,呼叫側的密碼通信裝置500的密碼通信部290使用在臨時密鑰生成工序S616(或者臨時密鑰生成工序S637b)中臨時密鑰生成部160生成了的臨時密鑰,在與被叫側的密碼通信裝置500之間進行密碼通信。
[0394]在密碼通信工序S638中,被叫側的密碼通信裝置500的密碼通信部290使用在臨時密鑰生成工序S637(或者臨時密鑰生成工序S616b)中臨時密鑰生成部160生成了的臨時密鑰,在與呼叫側的密碼通信裝置500之間進行密碼通信。
[0395]這樣,通過一個裝置(密碼通信裝置500)具有在實施方式I中說明的三個裝置(管理裝置100、密碼通信裝置200以及密碼通信裝置300)的功能,多個密碼通信裝置500能夠相互進行密碼通信。另外,該實施方式中的臨時密鑰生成用數據兼具作為實施方式I中的臨時密鑰生成用數據的作用和作為驗證用數據的作用。因此,密碼通信裝置500無需具有在實施方式I中說明的驗證用數據存儲部330、驗證用數據更新部340。
[0396]在呼叫側的密碼通信裝置500的時鐘的前進、和被叫側的密碼通信裝置500的時鐘的前進不同的情況下,如果呼叫側的時鐘的前進更快,則呼叫側的臨時密鑰生成用數據表示的數值增加的速度比被叫側更快,所以被叫側的臨時密鑰生成用數據驗證部350判定為呼叫側的臨時密鑰生成用數據是有效的,使臨時密鑰生成用數據在呼叫側統一,進行密碼通信。
[0397]相逆地,在被叫側的時鐘更快的情況下,有被叫側的臨時密鑰生成用數據驗證部350判定為呼叫側的臨時密鑰生成用數據不是有效的可能性。在該情況下,從被叫側對呼叫側通知臨時密鑰生成用數據,使臨時密鑰生成用數據在被叫側統一,進行密碼通信。
[0398]這樣,每當密碼通信裝置500彼此進行密碼通信時,臨時密鑰生成用數據向時鐘的前進快的一方統一。
[0399]另外,臨時密鑰生成用數據驗證部350也可以是即使在臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據比臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據舊的情況下,在其差是規定的範圍內的情況下,也判定為臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的結構。在該情況下,臨時密鑰生成用數據存儲部130也可以是不更新所存儲的臨時密鑰生成用數據的結構。
[0400]實施方式5.[0401]使用圖25~圖26,說明實施方式5。
[0402]另外,關於與實施方式I~實施方式4共同的部分,附加同一符號而省略說明。
[0403]圖25是示 出該實施方式中的自動查表系統801的整體結構的一個例子的圖。
[0404]自動查表系統801具有管理伺服器101、便攜終端201、以及多個查表儀表301。另外,也可以存在多個便攜終端201。
[0405]查表儀表301不僅在與便攜終端201之間進行密碼通信,而且在查表儀表301彼此之間,也使用無線網802來進行密碼通信。此時,查表儀表301無需與管理伺服器101進行通信。
[0406]管理伺服器101、便攜終端201以及查表儀表301的硬體結構、管理伺服器101以及便攜終端201的塊結構與實施方式3相同。
[0407]圖26是示出該實施方式中的查表儀表301的功能塊的一個例子的圖。
[0408]查表儀表301除了在實施方式3中說明的功能塊以外,還具有面向查表儀表通信部371。另外,面向便攜終端通信部391省略了圖示。
[0409]消息處理部381生成針對其他查表儀表301的消息423a,送出到面向查表儀表通信部371,接受面向查表儀表通信部371生成了的來自其他查表儀表301的響應433b。
[0410]另外,消息處理部381處理面向查表儀表通信部371生成了的來自其他查表儀表301的消息423b,生成響應433a,送出到面向查表儀表通信部371。
[0411]面向查表儀表通信部371從消息處理部381接收消息423a/響應433a。面向查表儀表通信部371從代編號計數器331接受代編號432a。面向查表儀表通信部371使用主密鑰存儲部311存儲了的主密鑰431、和代編號432a,生成臨時密鑰。面向查表儀表通信部371使用所生成的臨時密鑰,對消息處理部381生成了的消息423a/響應433a進行加密,生成加密消息424a/加密響應434a。面向查表儀表通信部371將加密消息424a/加密響應434a送到其他查表儀表301。
[0412]另外,面向查表儀表通信部371從其他查表儀表301接收加密消息424b/加密響應434b。面向查表儀表通信部371從代編號計數器331取得代編號432a。面向查表儀表通信部371比較加密消息424b/加密響應434b中包含的代編號432b、和代編號432a。在代編號432b與代編號432a相同或者比代編號432a新的情況下,面向查表儀表通信部371使用主密鑰存儲部311存儲了的主密鑰431、和代編號432b,生成臨時密鑰。面向查表儀表通信部371使用所生成的臨時密鑰,對加密消息424b/加密響應434b進行解密,生成消息423b/響應433b。面向查表儀表通信部371對加密消息424b/加密響應434b進行消息驗證。
[0413]在驗證通過了的情況下,面向查表儀表通信部371受理加密消息424b/加密響應434b,對消息處理部381送出所生成的消息423b/響應433b。另外,在代編號432b比代編號432a新的情況下,面向查表儀表通信部371將代編號計數器331的值重寫為代編號432b。
[0414]該實施方式中的面向查表儀表通信部371的動作的詳細內容與實施方式3中的查表儀表301的面向便攜終端通信部391相同,所以省略詳細的說明。
[0415]該實施方式中的自動查表系統801在密碼通信中使用臨時密鑰,進而能夠使該密鑰以一定期間無效化。另外,即使不進行與管理伺服器的通信,也能夠取得設備之間的代編號的同步。
[0416]實施方式6.[0417]使用圖27~圖31,說明實施方式6。
[0418]另外,關於與實施方式I~實施方式5共同的部分,附加同一符號而省略說明。
[0419]該實施方式中的密碼通信系統800的整體結構、管理裝置100、密碼通信裝置200、300的硬體結構與實施方式I相同。
[0420]圖27是示出該實施方式中的管理裝置100的功能塊的一個例子的塊結構圖。
[0421]管理裝置100除了在實施方式I中說明的功能塊以外,還具有初始化指令生成部165、和初始化指令通知部175。
[0422]初始化指令生成部165使用處理裝置911,生成初始化指令。初始化指令是用於對密碼通信裝置300的驗證用數據存儲部330存儲了的驗證用數據進行初始化的指令。
[0423]初始化指令生成部165生成的初始化指令具有有效期限。
[0424]例如,初始化指令包括表示初始化指令的有效期限的有效期限信息。密碼通信裝置300根據在初始化指令中包含的有效期限信息,判定初始化指令是否有效。
[0425]或者,初始化指令包括表示初始化指令生成部165生成了該初始化指令的日期、時刻等的生成時刻信息。密碼通信裝置300根據在初始化指令中包含的生成時刻信息,在從初始化指令生成部165生成初始化指令起,經過了規定的期間(例如I日)的情況下,判定為該初始化指令不是有效的。
[0426]另外,初始化指令生成部165生成的初始化指令也可以是包括表示應該對驗證用數據進行初始化的初始值的信息的結構。在該情況下,也可以是將臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據作為驗證用數據的初始值的結構。
[0427]另外,初始化指令生成部165生成的初始化指令證明是管理裝置100生成了該指令並具有密碼通信裝置300可驗證的形式。
[0428]例如,使用主密鑰存儲部110存儲了的主密鑰,對初始化指令進行了加密。密碼通信裝置300 使用主密鑰存儲部310存儲了的主密鑰,對初始化指令進行解密。如果能夠對初始化指令正確地進行解密,則可知對初始化指令進行了加密的部件知曉主密鑰,所以能夠判定為管理裝置100生成了初始化指令。
[0429]或者,初始化指令也可以是利用使用主密鑰存儲部110存儲了的主密鑰、和規定的臨時密鑰生成用數據而生成的臨時密鑰進行加密的結構。關於密碼通信裝置300,如果知曉在對初始化指令進行加密時使用的臨時密鑰的生成中使用的臨時密鑰生成用數據,則密碼通信裝置300能夠使用主密鑰存儲部310存儲了的主密鑰、和預先知曉的臨時密鑰生成用數據來生成臨時密鑰,使用所生成的臨時密鑰對初始化指令進行解密。
[0430]另外,在對初始化指令進行加密時使用的臨時密鑰的生成中使用的臨時密鑰生成用數據也可以並非預定的數據。例如,初始化指令生成部165也可以是隨機地生成臨時密鑰生成用數據來生成臨時密鑰,結合使用所生成的臨時密鑰加密了的部分、和未加密的臨時密鑰生成用數據,而作為初始化指令的結構。或者,初始化指令生成部165也可以是將驗證用數據的初始值用作臨時密鑰生成用數據而生成臨時密鑰,結合使用所生成的臨時密鑰加密了的部分、和未加密的驗證用數據的初始值,而作為初始化指令的結構。另外,在初始化指令包括未加密的臨時密鑰生成用數據、和通過使用該臨時密鑰生成用數據生成的臨時密鑰加密了的部分的情況下,加密了的部分也可以是對包括該臨時密鑰生成用數據的數據進行了加密的部分。
[0431]初始化指令通知部175對密碼通信裝置200通知初始化指令生成部165生成了的初始化指令。例如,初始化指令通知部175使用通信裝置915,對密碼通信裝置200發送初始化指令生成部165生成了的初始化指令。
[0432]圖28是示出該實施方式中的密碼通信裝置200的功能塊的一個例子的塊結構圖。
[0433]密碼通信裝置200除了在實施方式I中說明的功能塊以外,還具有初始化指令取得部265、初始化指令存儲部275以及初始化指令通知部285。
[0434]初始化指令取得部265取得從管理裝置100的初始化指令通知部175通知的初始化指令。例如,初始化指令取得部265使用通信裝置915,接收初始化指令通知部175發送了的初始化指令。
[0435]初始化指令存儲部275利用存儲裝置914,存儲初始化指令取得部265取得了的初始化指令。
[0436]初始化指令通知部285對密碼通信裝置300通知初始化指令存儲部275存儲了的初始化指令。例如,初始化指令通知部285利用通信裝置915,對密碼通信裝置300發送初始化指令。
[0437]初始化指令通知部285對密碼通信裝置300通知初始化指令的情況是,例如,密碼通信裝置300的臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據通知部250通知了的臨時密鑰生成用數據不是有效的,無法開始密碼通信的情況。在該情況下,考慮為由於某種異常,密碼通信裝置300的驗證用數據存儲部330所存儲的驗證用數據錯誤。因此,通過對密碼通信裝置300通知初始化指令,對密碼通信裝置300的驗證用數據存儲部330所存儲的驗證用數據進行初始化。
[0438]圖29是示出該實施方式中的密碼通信裝置300的功能塊的一個例子的塊結構圖。
[0439]密碼通信裝置300除了在實施方式I中說明的功能塊以外,還具有初始化指令取得部365、和初始化指令驗證部375。
[0440]初始化指令取得部365取得從密碼通信裝置200的初始化指令存儲部275通知的初始化指令。例如,初始化指令取得部365利用通信裝置915,接收初始化指令通知部285發送了的初始化指令。[0441 ] 初始化指令驗證部375利用處理裝置911,驗證初始化指令取得部365取得了的初始化指令是否有效。初始化指令驗證部375根據初始化指令是由管理裝置100生成的合法的指令、和有效期限未到這2點,判斷初始化指令的有效性。
[0442]例如,初始化指令驗證部375使用主密鑰存儲部310存儲了的主密鑰、和規定的臨時密鑰生成用數據,生成臨時密鑰。初始化指令驗證部375使用所生成的臨時密鑰,對初始化指令取得部365取得了的初始化指令進行解密。在初始化指令能正確地解密了的情況下,初始化指令驗證部375判定為初始化指令合法。
[0443]或者,初始化指令驗證部375將初始化指令取得部365取得了的初始化指令分離為加密了的部分、和臨時密鑰生成用數據,使用主密鑰存儲部310存儲了的主密鑰、和分離了的臨時密鑰生成用數據來生成臨時密鑰。初始化指令驗證部375使用所生成的臨時密鑰,對分離了的加密了的部分進行解密。初始化指令驗證部375從解密了的結果取得臨時密鑰生成用數據。在分離了的臨時密鑰生成用數據、和所取得的臨時密鑰生成用數據一致的情況下,初始化指令驗證部375判定為初始化指令是合法的。
[0444]另外,例如,初始化指令驗證部375從初始化指令取得部365取得了的初始化指令中,取得有效期限信息。初始化指令驗證部375比較通過所取得的有效期限信息所表示的有效期限、和當前的時刻,判定有效期限是否已到。
[0445]或者,初始化指令驗證部375從初始化指令取得部365取得了的初始化指令中,取得表示生成了初始化指令的日期的生成時刻信息。初始化指令驗證部375計算從當前的日期起規定的日數前的日期,比較所計算出的日期、和生成時刻信息表示的日期。在生成時刻信息表示的日期與所計算出的日期相等、或者比所計算出的日期新的情況下,初始化指令驗證部375判定為初始化指令是有效期限內。
[0446]或者,初始化指令驗證部375從初始化指令取得部365取得了的初始化指令中,取得表示生成了初始化指令的時刻的生成時刻信息。初始化指令驗證部375根據當前的時亥IJ、和所取得的生成時刻信息表示的時刻,計算從生成初始化指令起的經過時間。在所計算出的經過時間比規定的有效期間短的情況下,初始化指令驗證部375判定為初始化指令是有效期限內。
[0447]在初始化指令驗證部375判定為初始化指令取得部365取得了的初始化指令有效的情況下,驗證用數據存儲部330對所存儲的驗證用數據進行初始化。
[0448]例如,驗證用數據存儲部330利用存儲裝置914,將預定的初始值存儲為驗證用數據。
[0449]或者,驗證用數據存儲部330利用處理裝置911,從初始化指令驗證部375判定為是有效的初始化指令,取得驗證用數據的初始值,將所取得的初始值存儲為驗證用數據。
[0450]圖30是示出該實施方式中的臨時密鑰通知處理S603的流程的一個例子的流程圖。
[0451]管理裝置100在臨時密鑰通知處理S603中,除了在實施方式I中說明的工序以夕卜,還執行初始化指令生成工序S617、和初始化指令通知工序S620。
[0452]密碼通信裝置200在臨時密鑰通知處理S603中,除了在實施方式I中說明的工序以外,還執行初始化指令取得工序S628。
[0453]在初始化指令生成工序S617中,管理裝置100的初始化指令生成部165生成初始化指令。例如,初始化指令生成部165生成初始化指令,該初始化指令包括在臨時密鑰生成工序S616中臨時密鑰生成部160在臨時密鑰的生成中使用的臨時密鑰生成用數據作為驗證用數據的初始值。
[0454]在初始化指令通知工序S620中,管理裝置100的初始化指令通知部175對密碼通信裝置200通知在初始化指令生成工序S617中初始化指令生成部165生成了的初始化指令。另外,管理裝置100也可以是將初始化指令與臨時密鑰、臨時密鑰生成用數據匯集為一個而發送的結構。
[0455]在初始化指令取得工序S628中,密碼通信裝置200的初始化指令取得部265取得在初始化指令通知工序S620中管理裝置100的初始化指令通知部175通知了的初始化指令。初始化指令存儲部275利用存儲裝置914,存儲初始化指令取得部265取得了的初始化指令。
[0456]另外,管理裝置100也可以並非作為針對來自密碼通信裝置200的臨時密鑰要求的響應,將初始化指令與臨時密鑰、臨時密鑰生成用數據一起通知到密碼通信裝置200,而是如下結構:從密碼通信裝置200,與臨時密鑰要求獨立地,接收要求初始化指令的初始化指令要求,作為針對其的響應,通知初始化指令。
[0457]圖31是示出該實施方式中的密碼通信處理S604的流程的一個例子的流程圖。
[0458]密碼通信裝置200在密碼通信處理S604中,除了在實施方式I中說明的工序以夕卜,還執行拒絕取得工序S626、和初始化指令通知工序S629。
[0459]密碼通信裝置300在密碼通信處理S604中,除了在實施方式I中說明的工序以夕卜,還執行拒絕通知工序S647、初始化指令取得工序S648以及初始化指令驗證工序S649。
[0460]在臨時密鑰生成用數據驗證工序S636中密碼通信裝置300的臨時密鑰生成用數據驗證部350判定為在臨時密鑰生成用數據取得工序S635中密碼通信裝置300的臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據不是有效的情況下,臨時密鑰生成用數據驗證部350使處理進入到拒絕通知工序S647。
[0461]在拒絕通知工序S647中,密碼通信裝置300的臨時密鑰生成用數據驗證部350對密碼通信裝置200通知拒絕利用使用所通知的臨時密鑰生成用數據生成的臨時密鑰進行的密碼通信的意思。例如,臨時密鑰生成用數據驗證部350利用通信裝置915,對密碼通信裝置200發送表示該意思的拒絕消息。
[0462]在拒絕取得工序S626中,密碼通信裝置200的臨時密鑰生成用數據通知部250取得拒絕通知工序S647中的通知。例如,臨時密鑰生成用數據通知部250利用通信裝置915,接收密碼通信裝置300的臨時密鑰生成用數據驗證部350發送了的拒絕消息。
[0463]在初始化指令通知工序S629中,密碼通信裝置200的初始化指令通知部285對密碼通信裝置300通知初始化指令存儲部275存儲了的初始化指令。
[0464]在初始化指令取得工序S648中,密碼通信裝置300的初始化指令取得部365取得在初始化指令通知工序S629中密碼通信裝置200的初始化指令通知部285通知了的初始化指令。
[0465]在初始化指令驗證工序S649中,密碼通信裝置300的初始化指令驗證部375判定在初始化指令取得工序S648中初始化指令取得部365取得了的初始化指令是否有效。
[0466]例如,初始化指令驗證部375判定初始化指令是否合法。[0467]在判定為初始化指令是不合法的情況下,初始化指令驗證部375判定為初始化指令不是有效的,結束密碼通信處理S604。
[0468]在判定為初始化指令是合法的情況下,初始化指令驗證部375判定初始化指令的有效期限是否已到。
[0469]在判定為初始化指令的有效期限已到的情況下,初始化指令驗證部375判定為初始化指令不是有效的,結束密碼通信處理S604。
[0470]在判定為初始化指令的有效期限未到的情況下,初始化指令驗證部375從初始化指令取得驗證用數據的初始值。初始化指令驗證部375在用所取得的驗證用數據的初始值,對驗證用數據存儲部330存儲了的驗證用數據進行了初始化的情況下,判定臨時密鑰生成用數據驗證部350是否判定為在臨時密鑰生成用數據取得工序S635中臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據是有效的。
[0471]在即使對驗證用數據進行了初始化但臨時密鑰生成用數據仍沒有變為有效的情況下,初始化指令驗證部375判定為初始化指令不是有效的,結束密碼通信處理S604。
[0472]在如果對驗證用數據進行初始化則臨時密鑰生成用數據成為有效的情況下,初始化指令驗證部375判定為初始化指令是有效的。驗證用數據存儲部330利用存儲裝置914,將在初始化指令中包含的初始值存儲為驗證用數據。初始化指令驗證部375使處理進入到臨時密鑰生成工序S637。
[0473]另外,初始化指令驗證部375也可以是如下結構:如果對驗證用數據進行初始化則不管臨時密鑰生成 用數據是否成為有效,在初始化指令是合法並且有效期限未到的情況下,都判定為初始化指令是有效的。在該情況下,在對驗證用數據存儲部330存儲了的驗證用數據進行了初始化之後,臨時密鑰生成用數據驗證部350再次判定臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據的有效性。或者,也可以是暫時結束密碼通信處理S604,密碼通信裝置200對密碼通信裝置300重發臨時密鑰生成用數據的結構。
[0474]管理裝置100通過對密碼通信裝置200通知初始化指令,對密碼通信裝置200提供對密碼通信裝置300所存儲的驗證用數據進行初始化的權限。由此,密碼通信裝置200能夠對密碼通信裝置300所存儲的驗證用數據進行初始化,所以即使在由於某種原因而驗證用數據成為異常值的情況下,也能夠使驗證用數據返回正常值,在密碼通信裝置200與密碼通信裝置300之間進行密碼通信。
[0475]在初始化指令中有有效期限,所以在有效期限過期了的情況下,無法用初始化指令,對密碼通信裝置300所存儲的驗證用數據進行初始化。由此,例如,即使在丟失密碼通信裝置200而第三人拾得了的情況等初始化指令洩漏了的情況下,也能夠防止第三人濫用初始化指令,對密碼通信裝置300所存儲的驗證用數據進行初始化,信息從密碼通信裝置300洩漏。
[0476]實施方式7.[0477]使用圖32~圖33,說明實施方式7。
[0478]另外,關於與實施方式I~實施方式6共同的部分,附加同一符號而省略說明。
[0479]該實施方式中的密碼通信系統800的整體結構、管理裝置100、密碼通信裝置200、300的硬體結構與實施方式6相同。
[0480]圖32是示出該實施方式中的密碼通信裝置200的功能塊的一個例子的塊結構圖。[0481]密碼通信裝置200不具有在實施方式6中說明的功能塊中的初始化指令存儲部275。S卩,密碼通信裝置200不存儲初始化指令。
[0482]在有必要使初始化指令通知部285對密碼通信裝置300通知初始化指令的情況下,初始化指令取得部265與管理裝置100進行通信,取得初始化指令。初始化指令通知部285對密碼通信裝置300通知初始化指令取得部265取得了的初始化指令。
[0483]管理裝置100以及密碼通信裝置300的塊結構與實施方式6相同,所以僅說明不同的部分。
[0484]在密碼通信裝置300中,臨時密鑰生成用數據驗證部350在臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據表示的數值是驗證用數據存儲部330存儲了的驗證用數據表示的數值以上的情況下,判定為臨時密鑰生成用數據是有效的。
[0485]但是,在初始化指令驗證部375判定為初始化指令取得部365取得了的初始化指令是有效的,驗證用數據存儲部330存儲了的驗證用數據被初始化了的情況下,臨時密鑰生成用數據驗證部350在從驗證用數據被初始化起經過規定的期間(例如I日)為止的期間,僅在臨時密鑰生成用數據表示的數值和驗證用數據表示的數值相等的情況下,判定為臨時密鑰生成用數據是有效的。在臨時密鑰生成用數據表示的數值大於驗證用數據表示的數值的情況下,臨時密鑰生成用數據驗證部350判定為臨時密鑰生成用數據不是有效的。
[0486]接下來,說明動作。
[0487]臨時密鑰通知處理S603中的工序與實施方式I相同。即,在臨時密鑰通知處理S603中,管理裝置100不生成初始化指令,對密碼通信裝置200不通知初始化指令。
[0488]圖33是示出該實施方式中的密碼通信處理S604的流程的一個例子的流程圖。
[0489]密碼通信裝置200在密碼通信處理S604中,除了在實施方式6中說明的工序以夕卜,還執行初始化指令要求工序S627、和初始化指令取得工序S628。
[0490]另外,關於管理裝置100所執行的工序,省略了圖示。管理裝置100在密碼通信處理S604中,執行初始化指令要求接受工序、初始化指令生成工序S617、以及初始化指令通知工序S620。
[0491 ] 在初始化指令要求工序S627中,密碼通信裝置200的初始化指令取得部265對管理裝置100要求初始化指令。例如,初始化指令取得部265利用通信裝置915,對管理裝置100發送要求初始化指令的初始化指令要求消息。初始化指令要求消息包括例如密碼通信裝置200的利用者輸入了的口令、密碼通信裝置200的利用者的指紋和其他生物體信息等對密碼通信裝置200的利用者進行認證的認證信息。
[0492]在初始化指令要求接受工序中,管理裝置100的初始化指令通知部175接受來自密碼通信裝置200的要求。例如,初始化指令通知部175利用通信裝置915,接收密碼通信裝置200的初始化指令取得部265發送了的初始化指令要求消息。初始化指令通知部175驗證在初始化指令要求消息中包含的認證信息,來認證密碼通信裝置200的利用者。在認證失敗了的情況下,管理裝置100不執行以後的工序。
[0493]在初始化指令生成工序S617中,管理裝置100的初始化指令生成部165生成初始化指令,該初始化指令包括臨時密鑰生成用數據存儲部130存儲了的臨時密鑰生成用數據作為認證用數據的初始值。
[0494]在初始化指令通知工序S620中,管理裝置100的初始化指令通知部175對密碼通信裝置200通知在初始化指令生成工序S617中初始化指令生成部165生成了的初始化指令。
[0495] 在初始化指令取得工序S628中,密碼通信裝置200的初始化指令取得部265取得在臨時密鑰通知工序S618中管理裝置100的初始化指令通知部175通知了的初始化指令。
[0496]在初始化指令通知工序S629中,密碼通信裝置200的初始化指令通知部285對密碼通信裝置300通知在初始化指令取得工序S628中初始化指令取得部265取得了的初始化指令。
[0497]在初始化指令驗證工序S649中,密碼通信裝置300的初始化指令驗證部375在判定為初始化指令取得工序S648中初始化指令取得部365取得了的初始化指令合法、並且有效期限未到的情況下,取得在初始化指令中包含的驗證用數據的初始值。初始化指令驗證部375比較在臨時密鑰生成用數據取得工序S635中臨時密鑰生成用數據取得部320取得了的臨時密鑰生成用數據、和所取得的驗證用數據的初始值。
[0498]在臨時密鑰生成用數據、和驗證用數據的初始值不一致的情況下,初始化指令驗證部375判定為初始化指令不是有效的,結束密碼通信處理S604。
[0499]在臨時密鑰生成用數據、和驗證用數據的初始值一致的情況下,初始化指令驗證部375判定為初始化指令是有效的。
[0500]例如,在密碼通信裝置200小型且可便攜的情況下,有密碼通信裝置200的合法的利用者丟失密碼通信裝置200,第三人將其拾得而濫用的可能性。但是,如果由於驗證用數據的更新,第三人拾得了的密碼通信裝置200中保存的臨時密鑰成為舊的密鑰,則該密碼通信裝置200無法在與密碼通信裝置300之間進行密碼通信。
[0501]另外,初始化指令未保存於密碼通信裝置200中,所以第三人無法對密碼通信裝置300所存儲的驗證用數據進行初始化。
[0502]假設通過某種手段,第三人另外獲得了初始化指令。設為第三人想要對密碼通信裝置300通知初始化指令,對密碼通信裝置300所存儲的驗證用數據進行初始化。但是,如果第三人拾得了的密碼通信裝置200中保存的臨時密鑰以及在其生成中使用的臨時密鑰生成用數據、和第三人與其獨立地獲得了的初始化指令中包含的驗證用數據的初始值不一致,則該密碼通信裝置200無法在與密碼通信裝置300之間進行密碼通信。
[0503]因此,能夠防止信息從密碼通信裝置300洩漏。
[0504]實施方式8.[0505]使用圖34~圖41,說明實施方式8。
[0506]另外,關於與實施方式I~實施方式7共同的部分,附加同一符號而省略說明。
[0507]該實施方式中的自動查表系統801 (密碼通信系統)的整體結構、管理伺服器101、便攜終端201以及查表儀表301的硬體結構與實施方式3相同。
[0508]圖34是示出該實施方式中的管理伺服器101的功能塊的一個例子的圖。
[0509]管理伺服器101 (管理裝置)除了在實施方式3中說明的結構以外,還具有時鐘156、和復位分組生成部166。另外,密鑰信息管理部161省略了圖不。
[0510]時鐘156測量當前時刻418。例如,時鐘156利用通信裝置915,與時刻伺服器進行通信,按照NTP (Network Time Protocol:網絡時間協議)等結構與時刻伺服器取得同步,從而測量正確的當前時刻418。時鐘輸出所測量的當前時刻418。[0511]復位分組生成部166(初始化指令生成部)從便攜終端201接受復位分組發行要求428。復位分組生成部166從代編號計數器131取得代編號412。復位分組生成部166從時鐘156取得當前時刻418。復位分組生成部166生成用於將查表儀表301的代編號432復位為代編號412的復位分組419 (初始化指令)。復位分組生成部166對便攜終端201送出復位分組419。
[0512]圖35是示出該實施方式中的便攜終端201的功能塊的一個例子的圖。
[0513]便攜終端201的塊結構與在實施方式3中說明的結構相同,所以僅說明不同的點。另外,消息生成部281省略了圖示。
[0514]面向管理伺服器通信部221生成復位分組發行要求428。面向管理伺服器通信部221對管理伺服器101 (復位分組生成部166)送出復位分組發行要求428。
[0515]面向管理伺服器通信部221從管理伺服器101 (復位分組生成部166)接受復位分組 419。
[0516]面向查表儀表通信部291從面向管理伺服器通信部221接受復位分組419。面向查表儀表通信部291 (初始化指令通知部)對查表儀表301送出復位分組419。
[0517]圖36是示出該實施方式中的查表儀表301的功能塊的一個例子的圖。
[0518]查表儀表301除了在實施方式3中說明的功能塊以外,還具有時鐘356。
[0519]時鐘356測量當前時刻438。例如,時鐘356利用通信裝置915,與時刻伺服器進行通信,按照NTP等結構與時刻伺服器取得同步,從而測量正確的當前時刻438。時鐘輸出所測量的當前時刻438。
[0520]面向便攜終端通信部391 (初始化指令驗證部)從便攜終端201接受復位分組419。面向便攜終端通信部391從時鐘356取得當前時刻438。面向便攜終端通信部391利用時鐘356、和主密鑰存儲部311存儲了的主密鑰431,驗證復位分組419。在驗證成功了的情況下,面向便攜終端通信部391從復位分組419取得代編號412。面向便攜終端通信部391對消息處理部381送出代編號412。
[0521]面向便攜終端通信部391從代編號412接受響應433。面向便攜終端通信部391對響應433進行加密來生成復位響應439 (加密響應)。面向便攜終端通信部391對便攜終端201送出復位響應439。
[0522]消息處理部381從面向便攜終端通信部391接受代編號412。消息處理部381將代編號計數器331的值重寫為代編號412。消息處理部381生成表示驗證結果的響應433。消息處理部381對面向便攜終端通信部391 (面向查表儀表通信部291)送出響應433。
[0523]圖37是示出該實施方式的管理伺服器101中的復位分組生成部166的詳細的功能塊的一個例子的圖。
[0524]復位分組生成部166具有例如認證部172、主密鑰選擇部173、臨時密鑰生成部174、分組生成部176以及輸出判定部177。另外,認證部172、主密鑰選擇部173、臨時密鑰生成部174以及輸出判定部177也可以是將密鑰信息管理部161的認證部162、主密鑰選擇部163、臨時密鑰生成部164以及輸出判定部171與密鑰信息管理部161共用的結構。
[0525]認證部172從便攜終端201 (面向管理伺服器通信部221)接收復位分組發行要求428。認證部172根據在復位分組發行要求428中包含的認證信息,決定是否處理復位分組發行要求428。例如,認證部172根據認證信息認證發送者。另外,在不進行認證的情況下,也可以沒有認證部172。
[0526]在決定為不處理復位分組發行要求428的情況下,認證部172對輸出判定部177輸出表不不輸出復位分組419的意思的輸出判定信號414。
[0527]主密鑰選擇部173從主密鑰存儲部111存儲了的多個主密鑰411中任意地選擇主密鑰411。例如,主密鑰選擇部173隨機地選擇主密鑰411。
[0528]主密鑰選擇部173生成與所選擇的主密鑰411對應的密鑰類別信息422。
[0529]臨時密鑰生成部174根據主密鑰選擇部173選擇了的主密鑰411、和規定的常數,生成臨時密鑰413。臨時密鑰生成部174代替代編號412而使用常數來生成臨時密鑰413。例如,在臨時密鑰生成部174中,作為臨時密鑰413,生成通過規定的加密方式用主密鑰411對常數進行了密碼的數據。或者,在臨時密鑰生成部174中,作為臨時密鑰413,使用輸入了常數和主密鑰411的帶密鑰的散列函數來生成散列值。另外,臨時密鑰生成部174在臨時密鑰413的生成中使用的密鑰生成方式需要根據常數和主密鑰411唯一地生成臨時密鑰413、以及無法根據臨時密鑰413和常數推測主密鑰411。
[0530]在臨時密鑰生成部174在臨時密鑰413的生成中使用的常數中,例如,設定可作為代編號412輸入的數的最大值。例如,在用16比特的二進位數來表現代編號412的情況下,臨時密鑰生成部174按照16進位表現將「FFFF」用作常數來生成臨時密鑰413。另外,在代編號412的最大值另外確定了的情況下,也可以是使用該值的結構。
[0531]分組生成部176從代編號計數器131取得代編號412。在分組生成部176中,作為復位分組419的生成時刻,從時鐘156取得當前時刻418。分組生成部176針對代編號412、生成時刻、密鑰類別信息422以及主密鑰選擇部173在臨時密鑰413的生成中使用的常數,生成消息驗證符。分組生成部176生成包括代編號412、生成時刻、密鑰類別信息422、常數以及消息驗證符的復位分組419。
[0532]輸出判定部177判定是否輸出分組生成部176生成了的復位分組419。
[0533]在從認證部172接收了表示不輸出復位分組419的意思的輸出判定信號414的情況下,輸出判定部177判定為不輸出復位分組419。在該情況下,輸出判定部177也可以是代替復位分組419,而輸出規定的出錯代碼的結構。
[0534]在未從認證部172接收表示不輸出復位分組419的意思的輸出判定信號414的情況下,輸出判定部177判定為輸出復位分組419。輸出判定部177對便攜終端201輸出復位分組419。
[0535]圖38是示出該實施方式的便攜終端201中的面向管理伺服器通信部221以及面向查表儀表通信部291的詳細的功能塊的一個例子的圖。
[0536]面向管理伺服器通信部221除了在實施方式3中說明的功能塊以外,還具有復位分組發行要求生成部224和復位分組取得部225。另外,臨時密鑰發行要求生成部222以及臨時密鑰信息取得部223省略了圖示。
[0537]復位分組發行要求生成部224從輸入裝置912接受認證信息425。輸入裝置912是例如鍵盤那樣的字符串輸入裝置。或者,輸入裝置912是指紋讀取裝置那樣的取得生物識別信息的裝置。
[0538]復位分組發行要求生成部224根據所取得的認證信息425生成復位分組發行要求428。復位分組發行要求生成部224生成的復位分組發行要求428包括認證信息425。[0539]復位分組發行要求生成部224對管理伺服器101 (復位分組生成部166)送出復位分組發行要求428。
[0540]另外,在管理伺服器101不進行利用者認證的情況下,復位分組發行要求生成部224也可以是不取得認證信息425的結構。在該情況下,復位分組發行要求428也可以是不包括認證信息425的結構。
[0541]復位分組取得部225從管理伺服器101接收復位分組419。復位分組取得部225對面向查表儀表通信部291送出復位分組419。
[0542]面向查表儀表通信部291除了在實施方式3中說明的功能塊以外,還具有復位分組輸出部297。另外,加密部292、復用部293、分離部294、解密部295以及接收判定部296省略了圖示。
[0543]復位分組輸出部297從面向管理伺服器通信部221接收復位分組419。復位分組輸出部297將所接收的復位分組419原樣地送出到查表儀表301 (面向便攜終端通信部391)。
[0544]圖39是示出該實施方式的查表儀表301中的面向便攜終端通信部391的詳細的功能塊的一個例子的圖。
[0545]面向便攜終端通信部391除了在實施方式3中說明的結構以外,還具有響應消息生成部397和消息驗證部398。另外,加密部392以及解密部395省略了圖示。
[0546]分離部394從便 攜終端201 (面向查表儀表通信部291)接收復位分組419。分離部394從復位分組419分離密鑰類別信息422和常數417。
[0547]主密鑰選擇部363根據密鑰類別信息422,從主密鑰存儲部311存儲了的多個主密鑰431中,選擇主密鑰431。
[0548]臨時密鑰生成部364根據主密鑰選擇部363選擇了的主密鑰431、和常數417,生成臨時密鑰435。臨時密鑰生成部364通過與管理伺服器101中的密鑰信息管理部161的臨時密鑰生成部174相同的臨時密鑰生成方式,生成臨時密鑰435。
[0549]消息驗證部398使用臨時密鑰435,進行復位分組419的消息驗證,生成驗證結果
437。消息驗證部398從復位分組419,分離代編號412和生成時刻416。消息驗證部398使用與管理伺服器101中的分組生成部176使用了的消息認證符生成方式對應的驗證方式,驗證復位分組419。
[0550]接收判定部396從時鐘356取得當前時刻438。接收判定部396根據當前時刻
438、生成時刻416以及驗證結果437,進行輸出判定。判定基準如下所述。
[0551].當消息驗證部398在消息驗證中失敗了的情況下,不輸出代編號412。
[0552].在生成時刻416是相對當前時刻438舊(早)一定以上(例如I日以上)的時間的情況下,不輸出代編號412。
[0553]?當消息驗證部398在消息驗證中成功、並且生成時刻416比當前時刻438新或者生成時刻416與當前時刻438的差是一定以下(例如I日以下)的時間的情況下,輸出代編號412。
[0554]在判定為輸出代編號412的情況下,接收判定部396對消息處理部381輸出代編號 412。
[0555]消息處理部381從接收判定部396接受代編號412。消息處理部381將代編號計數器331的值重寫為代編號412。[0556]消息處理部381生成響應433。另外,也可以是並非消息處理部381生成響應433、而是接收判定部396生成響應433的結構。
[0557]另外,在消息處理部381受理復位分組419而重寫了代編號計數器331的值的情況下,接收判定部396也可以是在從重寫代編號計數器331的值起一定期間(例如I日)為止的期間僅在代編號412和代編號432 —致了時,受理加密消息424來輸出消息423的結構。
[0558]響應消息生成部397從消息處理部381接收響應433。響應消息生成部397使用臨時密鑰435,根據響應433生成消息認證符440。響應消息生成部397使用例如與管理伺服器101中的復位分組生成部166的分組生成部176相同的消息認證符生成方式,生成消息認證符440。
[0559]復用部393對密鑰類別信息422、代編號432、響應433以及消息認證符440進行復用,生成復位響應439。復用部393對便攜終端201 (面向查表儀表通信部291)送出復位響應439。
[0560]接下來,說明動作。
[0561]圖40是示出該實施方式中的復位分組通知處理S605的流程的一個例子的流程圖。
[0562]復位分組通知處理S605具有例如復位分組發行要求生成工序S681、認證工序S682、主密鑰選擇工序S683、臨時密鑰生成工序S684、分組生成工序S685、輸出工序S686以及復位分組取得工序S687。
[0563]在復位分組發行要求生成工序S681中,便攜終端201的復位分組發行要求生成部224生成復位分組發行要求428。復位分組發行要求生成部224對管理伺服器101 (復位分組生成部166)發送復位分組發行要求428。
[0564]在認證工序S682中,管理伺服器101的認證部172接收復位分組發行要求428。認證部172驗證復位分組發行要求428。在驗證失敗了的情況下,認證部172結束復位分組通知處理S605。在驗證成功了的情況下,認證部172使處理進入到主密鑰選擇工序S683。
[0565]在主密鑰選擇工序S683中,管理伺服器101的主密鑰選擇部173任意地選擇主密鑰411。主密鑰選擇部173生成與所選擇的主密鑰411對應的密鑰類別信息422。
[0566]在臨時密鑰生成工序S684中,管理伺服器101的臨時密鑰生成部174根據主密鑰411和常數417,生成臨時密鑰413。
[0567]在分組生成工序S685中,管理伺服器101的分組生成部176使用臨時密鑰413,根據密鑰類別信息422、常數417、代編號412以及當前時刻418,生成復位分組419。
[0568]在輸出工序S686中,管理伺服器101的輸出判定部177對便攜終端201 (面向管理伺服器通信部221)發送復位分組419。
[0569]在復位分組取得工序S687中,便攜終端201的復位分組取得部225接收復位分組419。復位分組取得部225對面向查表儀表通信部291輸出復位分組419。
[0570]圖41是示出該實施方式中的代編號復位處理S606的流程的一個例子的流程圖。
[0571]代編號復位處理S606具有例如復位分組輸出工序S691、分離工序S692、主密鑰選擇工序S693、臨時密鑰生成工序S694、消息驗證工序S695、接收判定工序S696、代編號復位工序S697、主密鑰選擇工序S701、臨時密鑰生成工序S702、響應消息生成工序S703、復用工序S704以及復位響應取得工序S705。
[0572]在復位分組輸出工序S691中,便攜終端201的復位分組輸出部297對查表儀表301 (面向便攜終端通信部391)發送復位分組419。
[0573]在分離工序S692中,查表儀表301的分離部394接收復位分組419。分離部394從復位分組419,分離密鑰類別信息422和常數417。
[0574]在主密鑰選擇工序S693中,查表儀表301的主密鑰選擇部363根據密鑰類別信息422,選擇主密鑰431。主密鑰選擇部363存儲密鑰類別信息422。
[0575]在臨時密鑰生成工序S694中,查表儀表301的臨時密鑰生成部364根據主密鑰431和常數417,生成臨時密鑰435。
[0576]在消息驗證工序S695中,查表儀表301的響應消息生成部397使用臨時密鑰435,驗證復位分組419,生成代編號412、生成時刻416以及驗證結果437。
[0577]在接收判定工序S696中,查表儀表301的接收判定部396根據生成時刻416、當前時刻438以及驗證結果437,判定是否輸出代編號412。在判定為不輸出代編號412的情況下,接收判定部396結束代編號復位處理S606。在判定為輸出代編號412的情況下,接收判定部396輸出代編號412。
[0578]在代編號復位工序S697中,查表儀表301的消息處理部381將代編號計數器331存儲了的代編號432用代編號412重寫。代編號計數器331存儲代編號412。消息處理部381生成響應433。
[0579]在主密鑰選擇工序S701中,查表儀表301的主密鑰選擇部363根據所存儲的密鑰類別信息422,選擇主密鑰431。主密鑰選擇部363輸出所選擇出的主密鑰431和密鑰類別信息422。
[0580]在臨時密鑰生成工序S702中,查表儀表301的臨時密鑰生成部364根據主密鑰431和代編號432,生成臨時密鑰435。在臨時密鑰生成工序S702中臨時密鑰生成部364生成的臨時密鑰435與在臨時密鑰生成工序S694中臨時密鑰生成部364生成了的臨時密鑰435相同。
[0581]在響應消息生成工序S703中,查表儀表301的響應消息生成部397使用在臨時密鑰生成工序S672中臨時密鑰生成部364生成了的臨時密鑰435,生成消息認證符440。另夕卜,響應消息生成部397也可以是使用在臨時密鑰生成工序S655中臨時密鑰生成部364生成了的臨時密鑰435來生成消息認證符440的結構。在該情況下,也可以沒有主密鑰選擇工序S671以及臨時密鑰生成工序S672。
[0582]在復用工序S704中,查表儀表301的復用部393對響應433、消息認證符440、代編號432以及密鑰類別信息422進行復用,生成復位響應439。復用部393對便攜終端201 (面向查表儀表通信部291)發送復位響應439。
[0583]在復位響應取得工序S705中,便攜終端201的面向查表儀表通信部291接收復位響應439。
[0584]另外,也可以是管理伺服器101和查表儀表301直接進行通信,管理伺服器101對查表儀表301直接發送復位分組419的結構。
[0585]該實施方式中的通信裝置(查表儀表301)接受對在管理伺服器(101)中生成的計數器值進行復位的信號,將所述計數器的值更新為所述復位信號中包含的計數器值。[0586]管理伺服器(101)生成對計數器值進行復位的信號。
[0587]管理伺服器根據預先共享的主密鑰、和規定的常數生成臨時密鑰,至少針對修正後的計數器值、信號的生成日期時間,生成消息驗證符,將所述常數、所述修正後的計數器值、所述信號的生成日期時間、所述消息驗證符作為復位信號發送。
[0588]通信裝置(查表儀表301)接收從管理伺服器(101)發送了的復位信號。
[0589]通信裝置在至少進行了針對修正後的計數器值、信號的生成日期時間的消息認證之後,比較自身具有的時鐘的當前時刻、和復位信號中包含的生成日期時間,在所述生成日期時間比所述當前時刻新、或者其差是一定以下的情況下,將自身具有的計數器的值更新為所述修正後的計數器值。
[0590]關於該實施方式中的自動查表系統801 (密碼通信系統),即使查表儀表(301)的代編號比管理伺服器(101)超前,也能夠與管理伺服器的代編號匹配。另外,由於在復位分組中放入了日期,所以通過在儀表中具有時鐘,能夠使舊的復位分組、非法取得的復位分組無效化。進而,在接收到復位分組之後起一定期間(例如I日),在消息的受理條件中僅接受與用復位分組更新了的代編號相同的編號,從而即使在代編號的更新過程中,也不會被改寫,而能夠可靠地取得同步。
[0591]總結.[0592]以上,在各實施方式中說明的結構是一個例子,也可以是其他結構。例如,也可以是組合了在不同的實施方式中說明的結構的結構,也可以是將並非本質性的部分的結構用其他結構置換了的結構。
[0593]以上說明的密碼通信系統(密碼通信系統800、自動查表系統801)具備管理裝置(100、密碼通信裝置500、管理伺服器101)、第一密碼通信裝置(密碼通信裝置200、500、便攜終端201)以及第二密碼通信裝置(密碼通信裝置300、500、查表儀表301)。
[0594]上述管理裝置具有主密鑰存儲部(110、111)、和臨時密鑰生成部(160、164)。
[0595]上述管理裝置的上述主密鑰存儲部存儲第一主密鑰(主密鑰411)。
[0596]上述管理裝置的上述臨時密鑰生成部使用上述管理裝置的上述主密鑰存儲部存儲了的上述第一主密鑰、和臨時密鑰生成用數據(代編號412),生成第一臨時密鑰(臨時密鑰 413)。
[0597]上述第一密碼通信裝置具有臨時密鑰生成用數據通知部(250、面向查表儀表通信部291)、和密碼通信部(290、面向查表儀表通信部291)。
[0598]上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部對上述第二密碼通信裝置通知上述管理裝置的上述臨時密鑰生成部在上述第一臨時密鑰的生成中使用的上述臨時密鑰生成用數據。
[0599]上述第一密碼通信裝置的上述密碼通信部使用上述管理裝置的上述臨時密鑰生成部生成了的上述第一臨時密鑰,在與上述第二密碼通信裝置之間進行密碼通信。
[0600]上述第二密碼通信裝置具有主密鑰存儲部(310、311)、臨時密鑰生成用數據驗證部(350、接收判定部396)、臨時密鑰生成部(360、364)以及密碼通信部(390、面向便攜終端通信部391)。
[0601]上述第二密碼通信裝置的上述主密鑰存儲部存儲與上述管理裝置的上述主密鑰存儲部存儲了的上述第一主密鑰相同或者與上述第一主密鑰對應的第二主密鑰(主密鑰431)。
[0602]上述第二密碼通信裝置的上述臨時密鑰生成用數據驗證部判定從上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據是否有效。
[0603]上述第二密碼通信裝置的上述臨時密鑰生成部在上述第二密碼通信裝置的上述臨時密鑰生成用數據驗證部判定為從上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據是有效的情況下,使用上述第二密碼通信裝置的上述主密鑰存儲部存儲了的上述第二主密鑰、和上述第二密碼通信裝置的上述臨時密鑰生成用數據驗證部判定為有效的上述臨時密鑰生成用數據,生成與上述管理裝置的上述臨時密鑰生成部生成了的上述第一臨時密鑰相同或者與上述第一臨時密鑰對應的第二臨時密鑰(臨時密鑰435)。
[0604]上述第二密碼通信裝置的上述密碼通信部使用上述第二密碼通信裝置的上述臨時密鑰生成部生成了的上述第二臨時密鑰,在與上述第一密碼通信裝置之間進行密碼通?目。
[0605]第二密碼通信裝 置使用從第一密碼通信裝置通知的臨時密鑰生成用數據來生成臨時密鑰,所以第一密碼通信裝置和第二密碼通信裝置能夠使用同一或者對應的臨時密鑰進行密碼通信。
[0606]上述管理裝置(100、密碼通信裝置500、管理伺服器101)還具有臨時密鑰生成用數據存儲部(130、代編號計數器131)、和臨時密鑰生成用數據更新部(140、代編號計數器131)。
[0607]上述管理裝置的上述臨時密鑰生成用數據存儲部存儲上述管理裝置的上述臨時密鑰生成部(160、164)在上述第一臨時密鑰(臨時密鑰413)的生成中使用的臨時密鑰生成用數據(代編號412)。
[0608]上述管理裝置的上述臨時密鑰生成用數據更新部每當經過規定的周期時,反覆更新上述管理裝置的上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據。
[0609]上述第二密碼通信裝置(密碼通信裝置300、500、查表儀表301)還具有驗證用數據存儲部(330、臨時密鑰生成用數據存儲部130、代編號計數器331)、和驗證用數據更新部(340、臨時密鑰生成用數據更新部140、代編號計數器331)。
[0610]上述第二密碼通信裝置的上述驗證用數據存儲部存儲驗證用數據(臨時密鑰生成用數據、代編號432)。
[0611]上述第二密碼通信裝置的上述驗證用數據更新部每當經過規定的周期時,反覆更新上述第二密碼通信裝置的上述驗證用數據存儲部存儲了的上述驗證用數據。
[0612]上述第二密碼通信裝置的上述臨時密鑰生成用數據驗證部使用上述第二密碼通信裝置的上述驗證用數據存儲部存儲了的上述驗證用數據,判定從上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據是否有效。
[0613]管理裝置反覆更新臨時密鑰生成用數據,與其相應地,第二密碼通信裝置反覆更新驗證用數據,所以能夠使根據舊的臨時密鑰生成用數據生成的臨時密鑰無效。由此,即使第一臨時密鑰從第一密碼通信裝置洩漏,也能夠防止第三人在與第二密碼通信裝置之間進行密碼通信。另外,第一密碼通信裝置不知道第一主密鑰,所以第一主密鑰不會從第一密碼通信裝置洩漏。因此,即使信息從第一密碼通信裝置洩漏,第三人也無法生成能夠與第二密碼通信裝置進行密碼通信的第一臨時密鑰。
[0614]上述管理裝置(100、密碼通信裝置500、管理伺服器101)的上述臨時密鑰生成用數據存儲部(130、代編號計數器131)存儲了的上述臨時密鑰生成用數據(代編號412)、以及上述第二密碼通信裝置(密碼通信裝置300、500、查表儀表301)的上述驗證用數據存儲部(330、臨時密鑰生成用數據存儲部130、代編號計數器331)存儲了的上述驗證用數據(臨時密鑰生成用數據、代編號432)是表示數值的數據。
[0615]上述管理裝置的上述臨時密鑰生成用數據更新部(140、代編號計數器131)計算對上述管理裝置的上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據表示的上述數值加上了規定的增量值而得到的和,將上述管理裝置的上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據用表示所計算出的上述和的數據來更新。
[0616]上述第二密碼通信裝置的上述驗證用數據更新部(340、臨時密鑰生成用數據更新部140、代編號計數器331)每當經過上述管理裝置的上述臨時密鑰生成用數據更新部更新上述臨時密鑰生成用數據的上述規定的周期的大致η倍(η是正的實數)的周期時,計算對上述第二密碼通信裝置的上述驗證用數據存儲部存儲了的上述驗證用數據表示的上述數值,加上了上述管理裝置的上述臨時密鑰生成用數據更新部在上述臨時密鑰生成用數據的更新中使用的上述規定的增量值的η倍的增量值的和,將上述第二密碼通信裝置的上述驗證用數據存儲部存儲了的上述驗證用數據用表示所計算出的上述和的數據來更新。
[0617]上述第二密碼通信裝置的上述臨時密鑰生成用數據驗證部(350、接收判定部396)在從上述第一密碼通信裝置(密碼通信裝置200、500、便攜終端201)的上述臨時密鑰生成用數據通知部(250、面向查表儀表通信部291)通知的上述臨時密鑰生成用數據表示的上述數值是上述第二密碼通信裝置的上述驗證用數據存儲部存儲了的上述驗證用數據表示的上述數值以上的情況下,判定為從上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據是有效的。
[0618]由此,能夠容易地判定臨時密鑰生成用數據是否有效。
[0619]上述第二密碼通信裝置(密碼通信裝置300、500、查表儀表301)的上述驗證用數據存儲部(330、臨時密鑰生成用數據存儲部130、代編號計數器331)在上述第二密碼通信裝置的上述臨時密鑰生成用數據驗證部(350、接收判定部396)判定為從上述第一密碼通信裝置(密碼通信裝置200、500、便攜終端201)的上述臨時密鑰生成用數據通知部(250、面向查表儀表通信部291)通知的上述臨時密鑰生成用數據(代編號412)有效的情況下,將上述第二密碼通信裝置的上述臨時密鑰生成用數據驗證部判定為有效的上述臨時密鑰生成用數據存儲為上述驗證用數據(臨時密鑰生成用數據、代編號432)。
[0620]由此,能夠使管理裝置的臨時密鑰生成用數據、和第二密碼通信裝置的驗證用數據容易地同步。
[0621]上述管理裝置(100、管理伺服器101)還具有初始化指令生成部(165、復位分組生成部166) ο
[0622]上述管理裝置的上述初始化指令生成部生成對上述第二密碼通信裝置(密碼通信裝置300、查表儀表301)的上述驗證用數據存儲部(330、代編號計數器331)存儲了的驗證用數據(代編號432)進行初始化的初始化指令(復位分組419)。
[0623]上述第一密碼通信裝置(密碼通信裝置200、便攜終端201)還具有初始化指令通知部(285、復位分組輸出部297)。
[0624]上述第一密碼通信裝置的上述初始化指令通知部對上述第二密碼通信裝置通知上述管理裝置的上述初始化指令生成部生成了的上述初始化指令。
[0625]上述第二密碼通信裝置還具有初始化指令驗證部(375、接收判定部396)。
[0626]上述第二密碼通信裝置的上述初始化指令驗證部判定從上述第一密碼通信裝置的上述初始化指令通知部通知的上述初始化指令是否有效。
[0627]上述第二密碼通信裝置的上述驗證用數據存儲部在上述第二密碼通信裝置的上述初始化指令驗證部判定為從上述第一密碼通信裝置的上述初始化指令通知部通知的上述初始化指令是有效的情況下,對所存儲的上述驗證用數據進行初始化。
[0628]由此,即使在由於某種原因,而驗證用數據成為異常值的情況下,也能夠對驗證用數據進行初始化,而返回到正常值。
[0629]上述第二密碼通信裝置(密碼通信裝置300、查表儀表301)的上述初始化指令驗證部(375、接收判定部396)在生成從上述第一密碼通信裝置(密碼通信裝置200、便攜終端201)的上述初始化指令通知部(285、復位分組輸出部297)通知的上述初始化指令(復位分組419)起未經過規定的期間的情況下,判定為從上述第一密碼通信裝置的上述初始化指令通知部通知的上述初始化指令是有效的。
[0630]由此,能夠使舊的初始化指令成為無效,所以即使在初始化指令洩漏了的情況,也能夠防止第三人濫用初始化指令而在與第二密碼通信裝置之間進行密碼通信。
[0631]上述管理裝置(100、管理伺服器101)的上述初始化指令生成部(165、復位分組生成部166)生成了的上述初始化指令(復位分組419)包括表示生成了上述初始化指令的日期的信息。
[0632]上述第二密碼通信裝置(密碼通信裝置300、查表儀表301)的上述初始化指令驗證部(375、接收判定部396)在從上述第一密碼通信裝置(密碼通信裝置200、便攜終端201)的上述初始化指令通知部(285、復位分組輸出部297)通知的上述初始化指令中所包含的上述信息表示的上述日期是從當前的日期起前規定的日數以後的情況下,判定為從上述第一密碼通信裝置的上述初始化指令通知部通知的上述初始化指令是有效的。
[0633]由此,能夠使從生成起經過了規定的日數以上的初始化指令成為無效。
[0634]上述管理裝置(100、管理伺服器101)的上述初始化指令生成部(165、復位分組生成部166)生成了的上述初始化指令(復位分組419)包括表示上述管理裝置的上述臨時密鑰生成用數據存儲部(130、代編號計數器131)存儲了的上述臨時密鑰生成用數據(代編號412)的信息。
[0635]上述第二密碼通信裝置(密碼通信裝置300、查表儀表301)的上述驗證用數據存儲部(330、代編號計數器331)通過將上述第二密碼通信裝置的上述初始化指令驗證部(375、接收判定部396)判定為有效的上述初始化指令中包含的上述信息表示的上述臨時密鑰生成用數據存儲為上述驗證用數據(代編號432),對上述驗證用數據進行初始化。
[0636]由此,能夠使管理裝置的臨時密鑰生成用數據和第二密碼通信裝置的驗證用數據同步。
[0637]上述第二密碼通信裝置(密碼通信裝置300、查表儀表301)的上述臨時密鑰生成用數據驗證部(350、接收判定部396)在直至從上述第二密碼通信裝置的上述驗證用數據存儲部(330、代編號計數器331)對上述驗證用數據(代編號432)進行初始化起經過規定的期間為止的期間,從上述第一密碼通信裝置(密碼通信裝置200、便攜終端201)的上述臨時密鑰生成用數據通知部(250、面向查表儀表通信部291)通知的上述臨時密鑰生成用數據(代編號412)表示的上述數值等於上述第二密碼通信裝置的上述驗證用數據存儲部(330、代編號計數器331)存儲了的上述驗證用數據(代編號432)表示的上述數值的情況下,判定為從上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據是有效的,在上述第二密碼通信裝置的上述驗證用數據存儲部對上述驗證用數據進行初始化之前、以及從上述第二密碼通信裝置的上述驗證用數據存儲部對上述驗證用數據進行初始化起經過了規定的期間之後,在從上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據表示的上述數值是上述第二密碼通信裝置的上述驗證用數據存儲部存儲了的上述驗證用數據表示的上述數值以上的情況下,判定為從上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據是有效的。
[0638]由此,在從驗證用數據被初始化起經過規定的期間為止的期間,僅接受等於被初始化了的驗證用數據的臨時密鑰生成用數據,所以即使在初始化指令、臨時密鑰洩漏了的情況下,也能夠防止第三人與第二密碼通信裝置進行密碼通信。
[0639]上述管理裝置(100、管理伺服器101)的上述初始化指令生成部(165、復位分組生成部166)生成了的上述初始化指令(復位分組419)包括使用上述管理裝置的上述主密鑰存儲部(110、111)存儲了的第一主密鑰(主密鑰411)進行加密而得到的信息。
[0640]上述第二密碼通信裝置(密碼通信裝置300、查表儀表301)的上述初始化指令驗證部(375、消息驗證部398)使用上述第二密碼通信裝置的上述主密鑰存儲部(310、311)存儲了的第二主密鑰(主密鑰431),對從上述第一密碼通信裝置(密碼通信裝置200、便攜終端201)的上述初始化指令通知部(285、復位分組輸出部297)通知的上述初始化指令中包含的信息進行解密。
[0641]由此,能夠驗證知曉第一主密鑰的裝置生成了初始化指令。
[0642]上述第一密碼通信裝置(密碼通信裝置200、便攜終端201)是從上述管理裝置物理上分離而構成的裝置。
[0643]上述管理裝置(100、管理伺服器101)還具有臨時密鑰通知部(170、輸出判定部171)、和臨時密鑰生成用數據通知部(150、輸出判定部171)。
[0644]上述管理裝置的上述臨時密鑰通知部對上述第一密碼通信裝置通知上述管理裝置的上述臨時密鑰生成部(160、臨時密鑰生成部164)生成了的上述第一臨時密鑰(臨時密鑰 413)。
[0645]上述管理裝置的上述臨時密鑰生成用數據通知部對上述第一密碼通信裝置通知上述管理裝置的上述臨時密鑰生成部在上述第一臨時密鑰的生成中使用的上述臨時密鑰生成用數據(代編號412)。
[0646]上述第一密碼通信裝置還具有臨時密鑰存儲部(270)、和臨時密鑰生成用數據存儲部(230)。
[0647]上述第一密碼通信裝置的上述臨時密鑰存儲部存儲從上述管理裝置的上述臨時密鑰通知部通知的上述第一臨時密鑰。[0648]上述第一密碼通信裝置的上述臨時密鑰生成用數據存儲部存儲從上述管理裝置的上述臨時密鑰生成用數據通知部通知的上述臨時密鑰生成用數據。
[0649]上述第一密碼通信裝置的上述臨時密鑰生成用數據通知部(250、面向查表儀表通信部291)對上述第二密碼通信裝置(300、查表儀表301)通知上述第一密碼通信裝置的上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據。
[0650]通過第一密碼通信裝置預先取得並存儲臨時密鑰和臨時密鑰生成用數據,能夠減少與管理裝置通信的次數。另外,第一密碼通信裝置不知道第一主密鑰,所以即使在信息從第一密碼通信裝置洩漏了的情況下,也能夠防止第三人生成能夠與第二密碼通信裝置進行密碼通信的臨時密鑰。
[0651]上述第一密碼通信裝置(密碼通信裝置200、便攜終端201)可便攜。
[0652]第一密碼通信裝置可便攜,所以有第一密碼通信裝置的利用者丟失第一密碼通信裝置,第三人拾得,從而第一密碼通信裝置存儲了的信息洩漏的可能性。但是,第一密碼通信裝置不知道第一主密鑰,所以能夠防止第三人生成能夠與第二密碼通信裝置進行密碼通信的臨時密鑰。
[0653]以上說明的密碼處理裝置(管理裝置100、密碼通信裝置200、300、500、管理伺服器101、便攜終端201、查表儀表301)具有主密鑰存儲部(110、310、111、311)和臨時密鑰生成部(160、360、164、364)。
[0654]上述主密鑰存儲部存儲主密鑰(411、431)。
[0655]上述臨時密鑰生成部使用上述主密鑰存儲部存儲了的上述主密鑰、和臨時密鑰生成用數據(代編號412、432),生成臨時密鑰(413、435)。
[0656]由於根據主密鑰和臨時密鑰生成用數據生成臨時密鑰,所以能夠容易地變更在密碼通信中使用的臨時密鑰。
[0657]上述密碼處理裝置(密碼通信裝置300、500、查表儀表301)還具有臨時密鑰生成用數據驗證部(350、接收判定部396)、和密碼通信部(390、面向便攜終端通信部391)。
[0658]上述臨時密鑰生成用數據驗證部判定從其他密碼處理裝置(密碼通信裝置200、500、便攜終端201、查表儀表301)通知的臨時密鑰生成用數據(代編號412、432)是否有效。
[0659]上述臨時密鑰生成部在上述臨時密鑰生成用數據驗證部判定為從上述其他密碼處理裝置通知的上述臨時密鑰生成用數據是有效的情況下,使用上述主密鑰存儲部(110、310、111、311)存儲了的上述主密鑰(411、431)、和上述臨時密鑰生成用數據驗證部判定為有效的上述臨時密鑰生成用數據,生成臨時密鑰(435)。
[0660]上述密碼通信部(390、面向便攜終端通信部391)使用上述臨時密鑰生成部生成了的上述臨時密鑰,在與上述其他密碼處理裝置之間進行密碼通信。
[0661]判定從其他密碼處理裝置通知的臨時密鑰生成用數據的有效性,利用使用判定為有效的臨時密鑰生成用數據而生成的臨時密鑰來進行密碼通信,所以能夠容易地協商在密碼通信中使用的臨時密鑰。
[0662]上述密碼處理裝置(密碼通信裝置300、500、查表儀表301)還具有臨時密鑰生成用數據存儲部(130、驗證用數據存儲部330、代編號計數器331)、和臨時密鑰生成用數據更新部(140、驗證用數據更新部340、代編號計數器331)。[0663]上述臨時密鑰生成用數據存儲部存儲上述臨時密鑰生成部(160、360、364)在上述臨時密鑰(413、435)的生成中使用的臨時密鑰生成用數據(代編號432)。
[0664]上述臨時密鑰生成用數據更新部每當經過規定的周期時,反覆更新上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據。
[0665]上述臨時密鑰生成用數據驗證部(350、接收判定部396)使用上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據,判定從上述其他密碼處理裝置(密碼通信裝置200、500、便攜終端201、查表儀表301)通知的上述臨時密鑰生成用數據(代編號412,432)是否有效。
[0666]能夠使舊的臨時密鑰生成用數據成為無效,所以即使在臨時密鑰洩漏了的情況下,也能夠防止第三人與密碼處理裝置進行密碼通信。
[0667]上述臨時密鑰生成用數據存儲部(130、驗證用數據存儲部330、代編號計數器331)存儲了的上述臨時密鑰生成用數據(代編號432)是表示數值的數據。
[0668]上述臨時密鑰生成用數據更新部(140、驗證用數據更新部340、代編號計數器331)計算對上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據表示的上述數值加上了規定的增量值而得的和,將上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據用表示所計算出的上述和的數據來更新。
[0669]上述臨時密鑰生成用數據驗證部(350、接收判定部396)在從上述其他密碼處理裝置(密碼通信裝置200、500、便攜終端201、查表儀表301)通知的上述臨時密鑰生成用數據(代編號412)表示的上述數值是上述臨時密鑰生成用數據存儲部存儲了的上述臨時密鑰生成用數據表示的上述數值以上的情況下,判定為從上述其他密碼處理裝置通知的上述臨時密鑰生成用數據是有效的。
[0670]由此,能夠容易地判定臨時密鑰生成用數據的有效性。
[0671]上述臨時密鑰生成用數據存儲部(130、驗證用數據存儲部330、代編號計數器331)在上述臨時密鑰生成用數據驗證部(350、接收判定部396)判定為從上述其他密碼處理裝置(密碼通信裝置200、500、便攜終端201、查表儀表301)通知的上述臨時密鑰生成用數據(代編號412、432)是有效的情況下,存儲上述臨時密鑰生成用數據驗證部判定為有效的上述臨時密鑰生成用數據。
[0672]由此,能夠在密碼處理裝置之間,使臨時密鑰生成用數據容易地同步。
[0673]上述密碼處理裝置(密碼通信裝置300、查表儀表301)還具有初始化指令驗證部(初始化指令驗證部375、接收判定部396)。
[0674]上述初始化指令驗證部判定從上述其他密碼處理裝置(密碼通信裝置200、便攜終端201、管理伺服器101)通知的初始化指令(復位分組419)是否有效。
[0675]上述臨時密鑰生成用數據存儲部(驗證用數據存儲部330、代編號計數器331)在上述初始化指令驗證部判定為從上述其他密碼處理裝置通知的上述初始化指令是有效的情況下,對存儲了的上述臨時密鑰生成用數據(代編號432)進行初始化。
[0676]由此,即使在由於某種原因而臨時密鑰生成用數據成為異常值的情況下,也能夠使臨時密鑰生成用數據返回為正常值。
[0677]上述密碼處理裝置(密碼通信裝置200、500、便攜終端201、查表儀表301)還具有臨時密鑰生成用數據通知部(250、面向查表儀表通信部291)、和密碼通信部(290、面向查表儀表通信部291、371)。
[0678]上述臨時密鑰生成用數據通知部對其他密碼處理裝置(密碼通信裝置300、500、查表儀表301)通知上述臨時密鑰生成部(160、164、364)在上述臨時密鑰(臨時密鑰413、435)的生成中使用的上述臨時密鑰生成用數據(代編號412、432)。
[0679]上述密碼通信部使用上述臨時密鑰生成部生成了的上述臨時密鑰,在與上述其他密碼通信裝置之間進行密碼通信。
[0680]利用使用對其他密碼處理裝置通知的臨時密鑰生成用數據而生成的臨時密鑰來進行密碼通信,所以能夠容易地協商在密碼通信中使用的臨時密鑰。
[0681]以上說明的管理裝置(100、密碼通信裝置500、管理伺服器101)、第一密碼通信裝置(密碼通信裝置200、500、便攜終端201)、第二密碼通信裝置(密碼通信裝置300、500、查表儀表301)以及密碼處理裝置(管理裝置100、密碼通信裝置200、300、500、管理伺服器101、便攜終端201、查表儀表301)能夠通過計算機執行電腦程式來實現。
[0682]根據使計算機作為管理裝置、第一密碼通信裝置、第二密碼通信裝置或者密碼處理裝置發揮功能的電腦程式,能夠容易地實現起到以上說明的效果的密碼通信系統、密碼處理裝置。
[0683]例如,在自動查表系統(801)中,查表儀表(301)和外部裝置(便攜終端201)進行通信,對電力信息、控制信息進行通信。此時,有時在無線區間中進行通信,需要保護它們免於竊聽等非法行為。為了保護信息免於竊聽、竄改等非法行為,利用針對信息實施加密來發送、並在接收側解密來利用的密碼通信系統。
[0684]在密碼通信系統中,需要謀求在發送接收者之間共享在加密中使用的密鑰。特別是在使用被稱為公用密鑰密碼的密碼的情況下,需要防止共享了的密鑰洩漏到外部。
[0685]根據以上說明的密碼通信系統,能夠容易地變更在加密中使用的密鑰。另外,即使在丟失便攜終端,萬一非法者取得了該終端的情況下,也無法取得所有查表儀表的查表信肩、O
[0686]另外,能夠在客戶端-伺服器之間使計數器容易地同步。即使在計數器偏移了的情況下,也能夠修正偏移,所以即使在偏移超過了一定範圍的情況下也能夠進行通信。
[0687]另外,即使臨時密鑰洩漏,也能夠通過經過一定期間而使臨時密鑰自動地成為無效化。
[0688]另外,無需使查表儀表的時鐘、和便攜終端的時鐘完全同步。因此,無需獨立地擔保時刻同步信息的精度、準確性。
[0689]根據以上說明的密碼通信系統,能夠提供雖然使用臨時密鑰,但仍實現密鑰的無效化和密鑰的同步的通信裝置。
[0690]另外,以上說明的密碼通信系統不限於自動查表系統中的查表儀表與便攜終端之間的通信,而還能夠應用於任意的裝置的密碼通信。
【權利要求】
1.一種密碼通信系統,具備管理裝置、第一密碼通信裝置以及第二密碼通信裝置,其特徵在於, 所述管理裝置具有主密鑰存儲部和臨時密鑰生成部, 所述管理裝置的所述主密鑰存儲部存儲第一主密鑰, 所述管理裝置的所述臨時密鑰生成部使用所述管理裝置的所述主密鑰存儲部存儲了的所述第一主密鑰、和臨時密鑰生成用數據,生成第一臨時密鑰, 所述第一密碼通信裝置具有臨時密鑰生成用數據通知部和密碼通信部, 所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部對所述第二密碼通信裝置通知所述管理裝置的所述臨時密鑰生成部在所述第一臨時密鑰的生成中使用的所述臨時密鑰生成用數據, 所述第一密碼通信裝置的所述 密碼通信部使用所述管理裝置的所述臨時密鑰生成部生成了的所述第一臨時密鑰,在與所述第二密碼通信裝置之間進行密碼通信, 所述第二密碼通信裝置具有主密鑰存儲部、臨時密鑰生成用數據驗證部、臨時密鑰生成部以及密碼通信部, 所述第二密碼通信裝置的所述主密鑰存儲部存儲與所述管理裝置的所述主密鑰存儲部存儲了的所述第一主密鑰相同或者與所述第一主密鑰對應的第二主密鑰, 所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是否有效, 所述第二密碼通信裝置的所述臨時密鑰生成部在所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定為從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是有效的情況下,使用所述第二密碼通信裝置的所述主密鑰存儲部存儲了的所述第二主密鑰、和所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定為有效的所述臨時密鑰生成用數據,生成與所述管理裝置的所述臨時密鑰生成部生成了的所述第一臨時密鑰相同或者與所述第一臨時密鑰對應的第二臨時密鑰, 所述第二密碼通信裝置的所述密碼通信部使用所述第二密碼通信裝置的所述臨時密鑰生成部生成了的所述第二臨時密鑰,在與所述第一密碼通信裝置之間進行密碼通信。
2.根據權利要求1所述的密碼通信系統,其特徵在於, 所述管理裝置還具有臨時密鑰生成用數據存儲部和臨時密鑰生成用數據更新部,所述管理裝置的所述臨時密鑰生成用數據存儲部存儲所述管理裝置的所述臨時密鑰生成部在所述第一臨時密鑰的生成中使用的臨時密鑰生成用數據, 所述管理裝置的所述臨時密鑰生成用數據更新部每當經過規定的周期時,反覆更新所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據, 所述第二密碼通信裝置還具有驗證用數據存儲部和驗證用數據更新部, 所述第二密碼通信裝置的所述驗證用數據存儲部存儲驗證用數據, 所述第二密碼通信裝置的所述驗證用數據更新部每當經過規定的周期時,反覆更新所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據, 所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部使用所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據,判定從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是否有效。
3.根據權利要求2所述的密碼通信系統,其特徵在於, 所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據、以及所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據是表示數值的數據, 所述管理裝置的所述臨時密鑰生成用數據更新部計算對所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據表示的所述數值加上了規定的增量值而得的和,將所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據用表示所計算出的所述和的數據來更新, 所述第二密碼通信裝置的所述驗證用數據更新部每當經過所述管理裝置的所述臨時密鑰生成用數據更新部更新所述臨時密鑰生成用數據的所述規定的周期的大致η倍(η是正實數)的周期時,計算對所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據表示的所述數值加上了所述管理裝置的所述臨時密鑰生成用數據更新部在所述臨時密鑰生成用數據的更新中使用的所述規定的增量值的η倍增量值而得的和,將所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據用表示所計算出的所述和的數據來更新, 在從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據表示的所述數值是所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據表示的 所述數值以上的情況下,所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定為從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是有效的。
4.根據權利要求2所述的密碼通信系統,其特徵在於, 所述第二密碼通信裝置的所述驗證用數據存儲部在所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定為從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是有效的情況下,將所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部判定為有效的所述臨時密鑰生成用數據存儲為所述驗證用數據。
5.根據權利要求1至4中的任意一項所述的密碼通信系統,其特徵在於, 所述第二密碼通信裝置還具有驗證用數據存儲部, 所述第二密碼通信裝置的所述驗證用數據存儲部存儲驗證用數據, 所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部使用所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據,判定從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是否有效, 所述管理裝置還具有初始化指令生成部, 所述管理裝置的所述初始化指令生成部生成對所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的驗證用數據進行初始化的初始化指令, 所述第一密碼通信裝置還具有初始化指令通知部, 所述第一密碼通信裝置的所述初始化指令通知部對所述第二密碼通信裝置通知所述管理裝置的所述初始化指令生成部生成了的所述初始化指令, 所述第二密碼通信裝置還具有初始化指令驗證部, 所述第二密碼通信裝置的所述初始化指令驗證部判定從所述第一密碼通信裝置的所述初始化指令通知部通知的所述初始化指令是否有效, 所述第二密碼通信裝置的所述驗證用數據存儲部在所述第二密碼通信裝置的所述初始化指令驗證部判定為從所述第一密碼通信裝置的所述初始化指令通知部通知的所述初始化指令是有效的情況下,對所存儲的所述驗證用數據進行初始化。
6.根據權利要求5所述的密碼通信系統,其特徵在於, 在生成從所述第一密碼通信裝置的所述初始化指令通知部通知的所述初始化指令起未經過規定的期間的情況下,所述第二密碼通信裝置的所述初始化指令驗證部判定為從所述第一密碼通信裝置的所述初始化指令通知部通知的所述初始化指令是有效的。
7.根據權利要求6所述的密碼通信系統,其特徵在於, 所述管理裝置的所述初始化指令生成部生成了的所述初始化指令包括表示生成了所述初始化指令的日期的信息, 在從所述第一密碼通信裝置的所述初始化指令通知部通知的所述初始化指令中包含的所述信息表示的所述日期是與從當前的日期起規定的日數之前的日期相比在後的情況下,所述第二密碼通信裝置的所述初始化指令驗證部判定為從所述第一密碼通信裝置的所述初始化指令通知部通知的所述初始化指令是有效的。
8.根據權利要求5所述的密碼通信系統,其特徵在於, 所述管理裝置還具有臨時密鑰生成用數據存儲部和臨時密鑰生成用數據更新部,所述管理裝置的所述臨時密 鑰生成用數據存儲部存儲所述管理裝置的所述臨時密鑰生成部在所述第一臨時密鑰的生成中使用的臨時密鑰生成用數據, 所述管理裝置的所述臨時密鑰生成用數據更新部每當經過規定的周期時,反覆更新所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據, 所述第二密碼通信裝置還具有驗證用數據更新部, 所述第二密碼通信裝置的所述驗證用數據更新部每當經過規定的周期時,反覆更新所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據, 所述管理裝置的所述初始化指令生成部生成了的所述初始化指令包括表示所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據的信息, 所述第二密碼通信裝置的所述驗證用數據存儲部通過將所述第二密碼通信裝置的所述初始化指令驗證部判定為有效的所述初始化指令中包含的所述信息表示的所述臨時密鑰生成用數據存儲為所述驗證用數據,對所述驗證用數據進行初始化。
9.根據權利要求8所述的密碼通信系統,其特徵在於, 所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據、以及所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據是表示數值的數據, 所述管理裝置的所述臨時密鑰生成用數據更新部計算對所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據表示的所述數值加上了規定的增量值而得的和,將所述管理裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據用表示所計算出的所述和的數據來更新, 所述第二密碼通信裝置的所述驗證用數據更新部每當經過所述管理裝置的所述臨時密鑰生成用數據更新部更新所述臨時密鑰生成用數據的所述規定的周期的大致η倍(η是正的實數)的周期時,計算對所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據表示的所述數值加上了所述管理裝置的所述臨時密鑰生成用數據更新部在所述臨時密鑰生成用數據的更新中使用的所述規定的增量值的η倍增量值而得的和,將所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據用表示所計算出的所述和的數據來更新, 所述第二密碼通信裝置的所述臨時密鑰生成用數據驗證部在從所述第二密碼通信裝置的所述驗證用數據存儲部對所述驗證用數據進行初始化起經過規定的期間為止的期間,從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據表示的所述數值等於所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據表示的所述數值的情況下,判定為從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是有效的,在所述第二密碼通信裝置的所述驗證用數據存儲部對所述驗證用數據進行初始化之前、以及從所述第二密碼通信裝置的所述驗證用數據存儲部對所述驗證用數據進行初始化起經過了規定的期間之後,在從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據表示的所述數值是所述第二密碼通信裝置的所述驗證用數據存儲部存儲了的所述驗證用數據表示的所述數值以上的情況下,判定為從所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據是有效的。
10.根據權利要求5所述的密碼通信系統,其特徵在於, 所述管理裝置的所述初始化指令生成部生成了的所述初始化指令包括使用所述管理裝置的所述主密鑰存儲部存儲了的所述第一主密鑰進行加密而得到的信息, 所述第二密碼通信裝 置的所述初始化指令驗證部使用所述第二密碼通信裝置的所述主密鑰存儲部存儲了的所述第二主密鑰,對從所述第一密碼通信裝置的所述初始化指令通知部通知的所述初始化指令中包含的信息進行解密。
11.根據權利要求1至4中的任意一項所述的密碼通信系統,其特徵在於, 所述第一密碼通信裝置是從所述管理裝置物理上分離地構成的裝置, 所述管理裝置還具有臨時密鑰通知部和臨時密鑰生成用數據通知部, 所述管理裝置的所述臨時密鑰通知部對所述第一密碼通信裝置通知所述管理裝置的所述臨時密鑰生成部生成了的所述第一臨時密鑰, 所述管理裝置的所述臨時密鑰生成用數據通知部對所述第一密碼通信裝置通知所述管理裝置的所述臨時密鑰生成部在所述第一臨時密鑰的生成中使用的所述臨時密鑰生成用數據, 所述第一密碼通信裝置還具有臨時密鑰存儲部和臨時密鑰生成用數據存儲部, 所述第一密碼通信裝置的所述臨時密鑰存儲部存儲從所述管理裝置的所述臨時密鑰通知部通知的所述第一臨時密鑰, 所述第一密碼通信裝置的所述臨時密鑰生成用數據存儲部存儲從所述管理裝置的所述臨時密鑰生成用數據通知部通知的所述臨時密鑰生成用數據, 所述第一密碼通信裝置的所述臨時密鑰生成用數據通知部對所述第二密碼通信裝置通知所述第一密碼通信裝置的所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據。
12.根據權利要求11所述的密碼通信系統,其特徵在於, 所述第一密碼通信裝置是可便攜的。
13.一種密碼處理裝置,其特徵在於, 具有主密鑰存儲部和臨時密鑰生成部 , 所述主密鑰存儲部存儲主密鑰, 所述臨時密鑰生成部使用所述主密鑰存儲部存儲了的所述主密鑰、和臨時密鑰生成用數據,生成臨時密鑰。
14.根據權利要求13所述的密碼處理裝置,其特徵在於, 所述密碼處理裝置還具有臨時密鑰生成用數據驗證部和密碼通信部, 所述臨時密鑰生成用數據驗證部判定從其他密碼處理裝置通知的臨時密鑰生成用數據是否有效, 在所述臨時密鑰生成用數據驗證部判定為從所述其他密碼處理裝置通知的所述臨時密鑰生成用數據是有效的情況下,所述臨時密鑰生成部使用所述主密鑰存儲部存儲了的所述主密鑰、和所述臨時密鑰生成用數據驗證部判定為有效的所述臨時密鑰生成用數據,生成所述臨時密鑰, 所述密碼通信部使用所述臨時密鑰生成部生成了的所述臨時密鑰,在與所述其他密碼處理裝置之間進行密碼通信。
15.根據權利要求14所述的密碼處理裝置,其特徵在於, 所述密碼處理裝置還具有臨時密鑰生成用數據存儲部和臨時密鑰生成用數據更新部,所述臨時密鑰生成用數據存儲部存儲所述臨時密鑰生成部在所述臨時密鑰的生成中使用的臨時密鑰生成用數據, 所述臨時密鑰生成用數據更新部每當經過規定的周期時,反覆更新所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據, 所述臨時密鑰生成用數據驗證部使用所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據,判定從所述其他密碼處理裝置通知的所述臨時密鑰生成用數據是否有效。
16.根據權利要求15所述的密碼處理裝置,其特徵在於, 所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據是表示數值的數據, 所述臨時密鑰生成用數據更新部計算對所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據表示的所述數值加上了規定的增量值而得的和,將所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據用表示所計算出的所述和的數據來更新, 在從所述其他密碼處理裝置通知的所述臨時密鑰生成用數據表示的所述數值是所述臨時密鑰生成用數據存儲部存儲了的所述臨時密鑰生成用數據表示的所述數值以上的情況下,所述臨時密鑰生成用數據驗證部判定為從所述其他密碼處理裝置通知的所述臨時密鑰生成用數據是有效的。
17.根據權利要求16所述的密碼處理裝置,其特徵在於, 在所述臨時密鑰生成用數據驗證部判定為從所述其他密碼處理裝置通知的所述臨時密鑰生成用數據是有效的情況下,所述臨時密鑰生成用數據存儲部存儲所述臨時密鑰生成用數據驗證部判定為有效的所述臨時密鑰生成用數據。
18.根據權利要求15至17中的任意一項所述的密碼處理裝置,其特徵在於, 所述密碼處理裝置還具有初始化指令驗證部, 所述初始化指令驗證部判定從所述其他密碼處理裝置通知的初始化指令是否有效,在所述初始化指令驗證部判定為從所述其他密碼處理裝置通知的所述初始化指令是有效的情況下,所述臨時密鑰生成用數據存儲部對所存儲的所述臨時密鑰生成用數據進行初始化。
19.根據權利要求13至17中的任意一項所述的密碼處理裝置,其特徵在於, 所述密碼處理裝置還具有臨時密鑰生成用數據通知部和密碼通信部, 所述臨時密鑰生成用數據通知部對其他密碼處理裝置通知所述臨時密鑰生成部在所述臨時密鑰的生成中使用的所述臨時密鑰生成用數據, 所述密碼通信部使用所述臨時密鑰生成部生成了的所述臨時密鑰,在與所述其他密碼通信裝置之間進行密碼通信。
20.一種電腦程式,其特徵在於, 通過計算機執行該計算 機程序,使所述計算機作為權利要求1至4中的任意一項所述的密碼通信系統中的管理裝置、第一密碼通信裝置及第二密碼通信裝置、以及權利要求13或14所述的密碼處理裝置的至少某一個發揮功能。
21.—種密碼通信方法,是具備管理裝置、第一密碼通信裝置以及第二密碼通信裝置的密碼通信系統中的密碼通信方法,其特徵在於, 所述管理裝置存儲第一主密鑰, 所述第二密碼通信裝置存儲與所述管理裝置存儲了的所述第一主密鑰相同或者與所述第一主密鑰對應的第二主密鑰, 所述管理裝置使用所述管理裝置存儲了的所述第一主密鑰、和臨時密鑰生成用數據,生成第一臨時密鑰, 所述第二密碼通信裝置判定從所述第一密碼通信裝置通知的所述臨時密鑰生成用數據是否有效, 在所述第二密碼通信裝置判定為從所述第一密碼通信裝置通知的所述臨時密鑰生成用數據是有效的情況下,所述第二密碼通信裝置使用所述第二密碼通信裝置存儲了的所述第二主密鑰、和所述第二密碼通信裝置判定為有效的所述臨時密鑰生成用數據,生成與所述管理裝置生成了的所述第一臨時密鑰相同或者與所述第一臨時密鑰對應的第二臨時密鑰, 所述第一密碼通信裝置對所述第二密碼通信裝置通知所述管理裝置在所述第一臨時密鑰的生成中使用的所述臨時密鑰生成用數據, 所述第一密碼通信裝置使用所述管理裝置生成了的所述第一臨時密鑰,在與所述第二密碼通信裝置之間進行密碼通信, 所述第二密碼通信裝置使用所述第二密碼通信裝置生成了的所述第二臨時密鑰,在與所述第一密碼通信裝置之間進行密碼通信。
【文檔編號】H04L9/16GK103947150SQ201180075018
【公開日】2014年7月23日 申請日期:2011年11月24日 優先權日:2011年11月24日
【發明者】山口晃由, 小林信博, 村上由美子, 佐藤恆夫 申請人:三菱電機株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀