本公開涉及對(duì)與局域網(wǎng)連接的設(shè)備進(jìn)行認(rèn)證的技術(shù),尤其涉及在控制器與設(shè)備之間進(jìn)行相互認(rèn)證并更新組密鑰的技術(shù)。
背景技術(shù):
近年來,期待使用了各種歷史信息的服務(wù),所述各種歷史信息從具有網(wǎng)絡(luò)連接功能的家電設(shè)備、AV設(shè)備、住宅設(shè)備等設(shè)備種類(以下,僅稱為“設(shè)備”。)被收集到云服務(wù)器中。以下,將通過連接設(shè)置于家庭內(nèi)的設(shè)備彼此而形成的網(wǎng)絡(luò)稱為家庭局域網(wǎng)。
有時(shí)將特定的設(shè)備(以下,稱為“控制器”。)與這樣的家庭局域網(wǎng)連接,并經(jīng)由控制器進(jìn)行設(shè)備與外部服務(wù)器之間的通信。因此,要求通過安全地設(shè)定控制器與各設(shè)備之間的連接來控制家庭內(nèi)的通信,防止非法設(shè)備的通過欺詐進(jìn)行的連接、由通信內(nèi)容的監(jiān)聽導(dǎo)致的信息泄漏等。例如,對(duì)于前者,可考慮連接設(shè)備的認(rèn)證等對(duì)策,對(duì)于后者,可考慮通信的加密等對(duì)策,合法性經(jīng)過了認(rèn)證的控制器和設(shè)備共有加密密鑰,并進(jìn)行使用了該加密密鑰的加密通信。在存在與控制器連接的多臺(tái)設(shè)備的情況下,通過控制器與該設(shè)備共有同一加密密鑰(以下,稱為“組密鑰”。),進(jìn)行控制器對(duì)多臺(tái)設(shè)備同時(shí)發(fā)送同一信息的組播通信、廣播通信的加密。
在先技術(shù)文獻(xiàn)
非專利文獻(xiàn)
非專利文獻(xiàn)1:NSA Suite B Implementer's Guide to FIPS 186-4(ECDSA)
非專利文獻(xiàn)2:NIST Special Publication 800-56A Revision 2
非專利文獻(xiàn)3:RFC5191Protocol for Carrying Authentication for Network Access(PANA)
技術(shù)實(shí)現(xiàn)要素:
發(fā)明要解決的問題
在上述以往的認(rèn)證系統(tǒng)中,需要進(jìn)行與組密鑰相關(guān)的進(jìn)一步的改善。用于解決問題的手段
提供一種控制器、第一設(shè)備以及第二設(shè)備共有組密鑰,且所述控制器對(duì)所述第一設(shè)備和所述第二設(shè)備進(jìn)行使用所述組密鑰加密了的信息的同時(shí)播報(bào)通信的認(rèn)證系統(tǒng)中的所述控制器、與所述第一設(shè)備以及所述第二設(shè)備之間的認(rèn)證方法,其特征在于,包括:第一相互認(rèn)證步驟,所述控制器與所述第一設(shè)備執(zhí)行相互認(rèn)證,制作組密鑰并共有,并且將所述第一設(shè)備設(shè)定為基準(zhǔn)設(shè)備;第二相互認(rèn)證步驟,所述控制器與所述第二設(shè)備執(zhí)行相互認(rèn)證,并使所述第二設(shè)備也共有在所述第一相互認(rèn)證步驟中制作而成的組密鑰;第三相互認(rèn)證步驟,在所述第二相互認(rèn)證步驟之后,所述控制器與作為所述基準(zhǔn)設(shè)備的所述第一設(shè)備再次執(zhí)行相互認(rèn)證,更新所述組密鑰,并共有更新后的組密鑰;第四相互認(rèn)證步驟,在所述控制器和所述基準(zhǔn)設(shè)備更新所述組密鑰的組密鑰更新定時(shí),所述控制器與不是所述基準(zhǔn)設(shè)備的所述第二設(shè)備執(zhí)行相互認(rèn)證,并使所述第二設(shè)備也共有所述更新后的組密鑰;以及加密步驟,使用所述組密鑰將發(fā)送數(shù)據(jù)加密而生成加密數(shù)據(jù),根據(jù)該發(fā)送數(shù)據(jù)、頭、發(fā)送源地址以及發(fā)送目的地地址生成MAC,并進(jìn)行包括該加密數(shù)據(jù)、該頭、該發(fā)送源地址、該發(fā)送目的地地址以及該MAC的消息的所述同時(shí)播報(bào)通信。
此外,這些總括或具體的技術(shù)方案既可以由系統(tǒng)、裝置、集成電路、計(jì)算機(jī)程序或記錄介質(zhì)來實(shí)現(xiàn),也可以由系統(tǒng)、裝置、方法、集成電路、計(jì)算機(jī)程序以及記錄介質(zhì)的任意組合來實(shí)現(xiàn)。
發(fā)明的效果
根據(jù)本公開,能夠?qū)崿F(xiàn)與認(rèn)證系統(tǒng)中的組密鑰相關(guān)的進(jìn)一步的改善。
附圖說明
圖1是表示認(rèn)證系統(tǒng)10的系統(tǒng)構(gòu)成的概略圖。
圖2是控制器100的主要部分的功能框圖。
圖3是表示連接設(shè)備管理表1000的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
圖4是表示公鑰證書的數(shù)據(jù)結(jié)構(gòu)的一例的圖。
圖5是表示CRL的數(shù)據(jù)結(jié)構(gòu)的一例的圖。
圖6是設(shè)備200a的主要部分的功能框圖。
圖7是表示連接控制器管理表1100的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
圖8是服務(wù)器300的主要部分的功能框圖。
圖9是表示設(shè)備信息管理表1300的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
圖10是表示設(shè)備中的設(shè)備登記處理的步驟的一例的流程圖。
圖11是表示控制器中的設(shè)備登記處理的步驟的一例的流程圖。
圖12是表示設(shè)備登記處理的步驟的一例的時(shí)序圖。
圖13是表示設(shè)備中的會(huì)話更新處理的步驟的一例的流程圖。
圖14是表示控制器中的會(huì)話更新處理的步驟的一例的流程圖。
圖15是表示會(huì)話更新處理的步驟的一例的時(shí)序圖。
圖16是表示設(shè)備中的基于PKI的相互認(rèn)證~共有密鑰的制作的步驟的一例的流程圖。
圖17是表示控制器中的基于PKI的相互認(rèn)證~共有密鑰的制作的步驟的一例的流程圖。
圖18是表示基于PKI的相互認(rèn)證~共有密鑰的制作的步驟的一例的時(shí)序圖。
圖19是表示設(shè)備中的使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作的步驟的一例的流程圖。
圖20是表示控制器中的使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作的步驟的一例的流程圖。
圖21是表示使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作的步驟的一例的時(shí)序圖。
圖22是表示設(shè)備歷史信息發(fā)送處理的步驟的一例的時(shí)序圖。
圖23是表示控制信息發(fā)送處理的步驟的一例的時(shí)序圖。
圖24是加密前和加密后的消息格式的數(shù)據(jù)結(jié)構(gòu)圖。
圖25是表示設(shè)備歷史信息MAC發(fā)送處理的步驟的一例的時(shí)序圖。
圖26是表示控制信息MAC發(fā)送處理的步驟的一例的時(shí)序圖。
圖27是表示實(shí)施方式2涉及的連接設(shè)備管理表2000的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
圖28是表示實(shí)施方式2涉及的設(shè)備中的會(huì)話更新處理的步驟的一例的流程圖。
圖29是表示實(shí)施方式2涉及的控制器中的會(huì)話更新處理的步驟的一例的流程圖。
圖30是表示實(shí)施方式2涉及的會(huì)話更新處理的步驟的一例的時(shí)序圖。
圖31是表示實(shí)施方式3涉及的連接設(shè)備管理表3000的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
圖32是表示實(shí)施方式3涉及的連接控制器管理表3100的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
圖33是表示實(shí)施方式3涉及的設(shè)備中的會(huì)話更新處理的步驟的一例的流程圖。
圖34是表示實(shí)施方式3涉及的控制器中的會(huì)話更新處理的步驟的一例的流程圖。
圖35是表示實(shí)施方式3涉及的會(huì)話更新處理的步驟的一例的時(shí)序圖。
具體實(shí)施方式
(成為本公開的基礎(chǔ)的見解)
為了保持設(shè)備與控制器之間的安全,期望在連接時(shí)進(jìn)行相互認(rèn)證,此后,不是繼續(xù)使用同一組密鑰,而是設(shè)備與控制器重新進(jìn)行相互認(rèn)證并更新組密鑰。
然而,當(dāng)各臺(tái)設(shè)備在各自的定時(shí)進(jìn)行組密鑰的更新時(shí),各設(shè)備會(huì)保持不同的組密鑰。例如,在第一設(shè)備保持有更新后的組密鑰,而第二設(shè)備保持有更新前的組密鑰的情況下,控制器無法進(jìn)行使用了組密鑰的加密信息的同時(shí)發(fā)送。
本公開是鑒于涉及的問題而作出的,提供一種能夠匹配各設(shè)備與控制器之間的組密鑰的更新定時(shí)的認(rèn)證方法。
本公開的一個(gè)技術(shù)方案涉及的認(rèn)證方法通過從連接到控制器的設(shè)備之中設(shè)定基準(zhǔn)設(shè)備,其他設(shè)備基于該基準(zhǔn)設(shè)備中的組密鑰更新的定時(shí)進(jìn)行組密鑰的更新,從而能夠匹配多個(gè)設(shè)備間的組密鑰更新的定時(shí)。
由此,即使控制器與各設(shè)備進(jìn)行相互認(rèn)證和組密鑰更新,控制器也能夠進(jìn)行加密了的信息的同時(shí)發(fā)送。
以下,參照附圖說明本公開的實(shí)施方式。此外,以下的實(shí)施方式是將本公開具體化而成的一例,并不限定本公開的技術(shù)范圍。
<1.實(shí)施方式1>
<1-1.概要>
以下,針對(duì)作為使用了本公開涉及的認(rèn)證方法的一個(gè)實(shí)施方式的認(rèn)證系統(tǒng)10,使用附圖并進(jìn)行說明。
圖1是表示本實(shí)施方式涉及的認(rèn)證系統(tǒng)10的系統(tǒng)構(gòu)成的一例的概略圖。
認(rèn)證系統(tǒng)10是包括與家庭局域網(wǎng)400連接的控制器100和設(shè)備200a、設(shè)備200b、設(shè)備200c的構(gòu)成。認(rèn)證系統(tǒng)10中的控制器100經(jīng)由網(wǎng)絡(luò)500與服務(wù)器300連接,所述網(wǎng)絡(luò)500是互聯(lián)網(wǎng)等通信網(wǎng)。
控制器100和設(shè)備200a~設(shè)備200c與一個(gè)家庭局域網(wǎng)400連接。雖然在圖中沒有示出,但也可以經(jīng)由網(wǎng)絡(luò)設(shè)備(例如集線器、路由器等)連接。另外,設(shè)置控制器100或各設(shè)備的場(chǎng)所不限定于室內(nèi)和室外。
控制器100與設(shè)備200a~設(shè)備200c中的每一個(gè)在開始連接時(shí)進(jìn)行相互認(rèn)證。而且,在相互認(rèn)證的結(jié)果為能夠確認(rèn)彼此的合法性的情況下,共有加密密鑰并進(jìn)行加密通信。以后,控制器與各設(shè)備在各自的預(yù)定的定時(shí)進(jìn)行會(huì)話更新處理,每當(dāng)會(huì)話更新處理時(shí),進(jìn)行相互認(rèn)證,在其結(jié)果為合法的情況下,更新加密密鑰,并繼續(xù)進(jìn)行加密通信。
這樣的控制器100與各設(shè)備在連接時(shí)的相互認(rèn)證中確認(rèn)彼此的合法性后,共同擁有(共有)三種共有密鑰。
第一共有密鑰是在控制器100與各個(gè)設(shè)備之間,在會(huì)話更新處理時(shí)的相互認(rèn)證中使用的共有密鑰。在控制器與設(shè)備連接時(shí),首先,進(jìn)行基于公鑰認(rèn)證基礎(chǔ)設(shè)施(PKI:Public Key Infrastructure)的相互認(rèn)證。另一方面,在利用該P(yáng)KI的相互認(rèn)證以后,在會(huì)話更新處理時(shí),控制器與設(shè)備進(jìn)行的相互認(rèn)證使用該第一共有密鑰來進(jìn)行。以下,在僅記述為“共有密鑰”的情況下,表示在該相互認(rèn)證中使用的共有密鑰。其中,明顯地除去了記載了表示以下說明的組密鑰和會(huì)話密鑰的情況。
由于在控制器與設(shè)備之間的加密通信中使用共有密鑰加密方式,所以控制器與設(shè)備共有(共同擁有)共有密鑰。
第二共有密鑰和第三共有密鑰是用于在該加密通信中使用的共有密鑰,將它們分別稱為組密鑰和會(huì)話密鑰。組密鑰是控制器為了對(duì)多臺(tái)設(shè)備同時(shí)發(fā)送同一信息而使用的加密密鑰,控制器與連接到控制器的全部設(shè)備共有同一組密鑰。會(huì)話密鑰是控制器與各設(shè)備為了進(jìn)行一對(duì)一的單播通信而使用的加密密鑰,控制器在與各個(gè)設(shè)備之間共有不同的加密密鑰。
在這里,在控制器與各設(shè)備之間的通信中設(shè)置會(huì)話有效期間,在該會(huì)話有效期間中能夠利用組密鑰和會(huì)話密鑰。在設(shè)定會(huì)話以后超過會(huì)話有效期間的情況下,控制為不可利用組密鑰和會(huì)話密鑰。此外,為了在會(huì)話有效期間經(jīng)過后也繼續(xù)進(jìn)行加密通信,需要在控制器與各個(gè)設(shè)備之間進(jìn)行會(huì)話更新處理,制作新的組密鑰和會(huì)話密鑰,并設(shè)定新的會(huì)話。
另外,控制器將連接的多臺(tái)設(shè)備中的一臺(tái)設(shè)備設(shè)定為基準(zhǔn)設(shè)備。而且,控制器100與各個(gè)設(shè)備更新組密鑰的定時(shí)基于基準(zhǔn)設(shè)備進(jìn)行會(huì)話更新處理并更新組密鑰的定時(shí),后面將說明具體方法。此外,基準(zhǔn)設(shè)備例如設(shè)為控制器100最初連接的設(shè)備。
服務(wù)器300是對(duì)設(shè)備200a~設(shè)備200c進(jìn)行服務(wù)提供等的外部服務(wù)器。在服務(wù)器300與各設(shè)備進(jìn)行通信時(shí),經(jīng)由控制器100來進(jìn)行。
例如,各設(shè)備經(jīng)由控制器100,將表示設(shè)備的工作的設(shè)備歷史信息發(fā)送給服務(wù)器300。另外,服務(wù)器300經(jīng)由控制器100,向各個(gè)設(shè)備發(fā)送服務(wù)信息。在這里,服務(wù)器300發(fā)送用于使各設(shè)備執(zhí)行預(yù)定功能的控制請(qǐng)求信息。控制器100接收并解讀該控制請(qǐng)求信息,制作并發(fā)送用于使各設(shè)備執(zhí)行的控制命令。而且,接收到該控制命令的各個(gè)設(shè)備執(zhí)行從服務(wù)器300請(qǐng)求的功能。
<1-2.構(gòu)成>
以下,使用附圖,并說明作為本實(shí)施方式涉及的認(rèn)證系統(tǒng)10的主要構(gòu)成要素的控制器100和設(shè)備200a~設(shè)備200c、和與該認(rèn)證系統(tǒng)10連接的服務(wù)器300的各構(gòu)成。
<1-2-1.控制器100>
圖2是控制器100的主要部分的功能框圖,控制器100是包括設(shè)備管理部101、設(shè)備信息保持部102、認(rèn)證處理部103、認(rèn)證信息保持部104以及通信部105的構(gòu)成。另外,雖然未圖示,但控制器100是包括處理器和存儲(chǔ)器的構(gòu)成,設(shè)備管理部101、設(shè)備信息保持部102、認(rèn)證處理部103、認(rèn)證信息保持部104以及通信部105的各功能通過處理器執(zhí)行存儲(chǔ)在存儲(chǔ)器中的程序而實(shí)現(xiàn)。設(shè)備信息保持部102、認(rèn)證信息保持部104中的各數(shù)據(jù)的保持利用存儲(chǔ)器來實(shí)現(xiàn)。
(設(shè)備管理部101)
為了控制控制器100與設(shè)備200a~設(shè)備200c之間的連接,設(shè)備管理部101具有如下功能。
設(shè)備管理部101經(jīng)由通信部105受理對(duì)控制器100的來自設(shè)備的連接請(qǐng)求、會(huì)話更新請(qǐng)求。而且,使認(rèn)證處理部103執(zhí)行與該設(shè)備之間的相互認(rèn)證處理。
在認(rèn)證處理部103中進(jìn)行的認(rèn)證處理的結(jié)果為承認(rèn)該設(shè)備的合法性的情況下,設(shè)備管理部101將連接設(shè)備管理數(shù)據(jù)登記在由設(shè)備信息保持部102保持的連接設(shè)備管理表1000中。將在后面說明連接設(shè)備管理表1000保持的連接設(shè)備管理數(shù)據(jù)的詳細(xì)情況。
設(shè)備管理部101進(jìn)行基準(zhǔn)設(shè)備的設(shè)定。例如,可以將最初與控制器100連接的設(shè)備設(shè)定為基準(zhǔn)設(shè)備。另外,在切斷了與作為基準(zhǔn)設(shè)備登記的設(shè)備之間的連接的情況下,從設(shè)備信息保持部102保持的連接設(shè)備管理表1000中提取其他設(shè)備并設(shè)定為基準(zhǔn)設(shè)備。此時(shí),可以將電源始終為接通的設(shè)備設(shè)定為基準(zhǔn)設(shè)備。設(shè)備管理部101將該基準(zhǔn)設(shè)備的設(shè)定也登記在連接設(shè)備管理表1000中。在進(jìn)行與設(shè)備之間的連接時(shí),認(rèn)證處理部103進(jìn)行是否將該設(shè)備設(shè)定為基準(zhǔn)設(shè)備的判斷,設(shè)備管理部101接受該判斷結(jié)果,并登記在連接設(shè)備管理表1000中。
設(shè)備管理部101參照作為連接設(shè)備管理表1000的項(xiàng)目的會(huì)話更新狀態(tài),并經(jīng)由通信部105,對(duì)會(huì)話未更新的設(shè)備進(jìn)行會(huì)話更新通知。該會(huì)話更新通知是用于對(duì)設(shè)備催促會(huì)話更新的通知,之后,通過重新受理來自設(shè)備側(cè)的對(duì)控制器100的會(huì)話更新請(qǐng)求,從而更新會(huì)話。
設(shè)備管理部101參照作為連接設(shè)備管理表1000的項(xiàng)目的會(huì)話剩余時(shí)間的值,對(duì)于在會(huì)話沒有被更新的狀態(tài)下超過了會(huì)話有效期間的設(shè)備即會(huì)話剩余時(shí)間為零的設(shè)備,通過刪除在與該設(shè)備之間保持的組密鑰、會(huì)話密鑰等加密密鑰的信息,從而禁止與該設(shè)備之間的加密通信。
另外,設(shè)備管理部101將經(jīng)由通信部105從設(shè)備200a~設(shè)備200c接收的加密了的設(shè)備歷史信息進(jìn)行解密。解密后的設(shè)備歷史信息經(jīng)由通信部105發(fā)送給服務(wù)器300。
進(jìn)而,設(shè)備管理部101將經(jīng)由通信部105從服務(wù)器300接收的、設(shè)備的控制請(qǐng)求信息加工成能夠指示設(shè)備的形式后,用組密鑰或會(huì)話密鑰進(jìn)行加密,并經(jīng)由通信部105發(fā)送給設(shè)備。
(設(shè)備信息保持部102)
設(shè)備信息保持部102保持與控制器100連接的設(shè)備200a~設(shè)備200c的信息。圖3是表示為了管理設(shè)備的信息,設(shè)備信息保持部102保持的連接設(shè)備管理表1000的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
連接設(shè)備管理表1000由每臺(tái)設(shè)備的連接設(shè)備管理記錄組構(gòu)成。連接設(shè)備管理記錄是在設(shè)備與控制器連接時(shí)進(jìn)行的設(shè)備登記處理中,在承認(rèn)設(shè)備為合法設(shè)備的情況下登記的數(shù)據(jù),包括設(shè)備ID1010、證書ID1020、共有密鑰1030、組密鑰1040、會(huì)話密鑰1050、會(huì)話剩余時(shí)間1060、會(huì)話更新狀態(tài)1070以及基準(zhǔn)設(shè)備1080這些項(xiàng)目。
一邊使用圖3的數(shù)據(jù)的例示,一邊說明各項(xiàng)目。
設(shè)備ID1010是唯一地確定設(shè)備的識(shí)別符。
證書ID1020是設(shè)備的公鑰證書的證書ID。
共有密鑰1030是在控制器100與設(shè)備之間共有的共有密鑰的數(shù)據(jù)。
組密鑰1040是在控制器100對(duì)多臺(tái)設(shè)備同時(shí)發(fā)送的信息的加密中使用的組密鑰的數(shù)據(jù)。圖3示出了作為與控制器連接的全部設(shè)備的設(shè)備ID1~設(shè)備ID3和共有同一組密鑰“11223…”。此外,在圖3的例示中,示出了設(shè)備ID1~設(shè)備ID3共有一個(gè)組密鑰的項(xiàng)目欄的例子,但也可以按每個(gè)設(shè)備ID而具有單獨(dú)的項(xiàng)目欄,在登記該項(xiàng)目時(shí),對(duì)基準(zhǔn)設(shè)備以外的設(shè)備設(shè)定與基準(zhǔn)設(shè)備相同的組密鑰的數(shù)據(jù)。
會(huì)話密鑰1050是為了對(duì)控制器100與設(shè)備之間的單播通信進(jìn)行加密而使用的會(huì)話密鑰的數(shù)據(jù)。在圖3的例子中也示出了控制器在與設(shè)備ID1~設(shè)備ID3這些各設(shè)備之間共有各自不同的會(huì)話密鑰。
會(huì)話剩余時(shí)間1060是在控制器100與設(shè)備之間設(shè)定的會(huì)話有效期間的剩余期間。在控制器100與設(shè)備之間,設(shè)置預(yù)先確定的預(yù)定會(huì)話有效期間。每當(dāng)設(shè)定或更新會(huì)話時(shí),在會(huì)話剩余時(shí)間1060中登記會(huì)話有效期間。以后,隨著時(shí)間的經(jīng)過,通過使該項(xiàng)目的值倒計(jì)時(shí),會(huì)話剩余時(shí)間1060表示會(huì)話有效期間的剩余期間。
此外,會(huì)話剩余時(shí)間成為零的設(shè)備由設(shè)備管理部101刪除在與該設(shè)備之間保持的組密鑰、會(huì)話密鑰的信息,并禁止加密通信。
會(huì)話更新狀態(tài)1070是表示在控制器100與基準(zhǔn)設(shè)備之間進(jìn)行會(huì)話更新以后的期間,設(shè)備ID表示的設(shè)備是否進(jìn)行了與控制器100之間的會(huì)話更新的數(shù)據(jù)。在控制器100進(jìn)行了與基準(zhǔn)設(shè)備的會(huì)話更新的時(shí)間點(diǎn),將與基準(zhǔn)設(shè)備以外的設(shè)備相關(guān)的會(huì)話更新狀態(tài)1070更新為“未更新”。之后,在控制器100進(jìn)行了與該設(shè)備的會(huì)話更新處理的時(shí)間點(diǎn),將會(huì)話更新狀態(tài)1070更新為“更新完成”。
基準(zhǔn)設(shè)備1080這一項(xiàng)目是表示設(shè)備是否為基準(zhǔn)設(shè)備的數(shù)據(jù)。
關(guān)于會(huì)話更新狀態(tài)1070和基準(zhǔn)設(shè)備1080這些項(xiàng)目,在圖3的例示中,示出了設(shè)備ID1的設(shè)備是基準(zhǔn)設(shè)備。另外,示出了:在控制器100與作為基準(zhǔn)設(shè)備的設(shè)備ID1的設(shè)備進(jìn)行了會(huì)話更新以后,控制器與設(shè)備ID2的設(shè)備是已經(jīng)更新了會(huì)話的狀態(tài),控制器與設(shè)備ID3的設(shè)備為會(huì)話未更新。
(認(rèn)證處理部103)
認(rèn)證處理部103具有進(jìn)行與連接到控制器100的設(shè)備之間的相互認(rèn)證處理的功能。在進(jìn)行與設(shè)備之間的連接時(shí),進(jìn)行基于PKI的相互認(rèn)證,在會(huì)話更新時(shí),進(jìn)行基于挑戰(zhàn)應(yīng)答認(rèn)證的相互認(rèn)證,所述挑戰(zhàn)應(yīng)答認(rèn)證使用了共有密鑰和隨機(jī)數(shù)。
認(rèn)證處理部103從設(shè)備管理部101受理設(shè)備的認(rèn)證請(qǐng)求和該設(shè)備的公鑰證書,并進(jìn)行基于PKI的認(rèn)證處理。具體而言,首先,基于存儲(chǔ)在認(rèn)證信息保持部104中的CRL(Certificate Revocation List:證書撤銷列表),確認(rèn)與取得的設(shè)備的公鑰證書相關(guān)的證書ID未記載在CRL中。而且,使用認(rèn)證站的公鑰來驗(yàn)證附加于公鑰證書的簽名。在這里,認(rèn)證站設(shè)為服務(wù)器300。
另外,認(rèn)證處理部103在控制器100與設(shè)備之間進(jìn)行會(huì)話更新時(shí),進(jìn)行挑戰(zhàn)應(yīng)答認(rèn)證,所述挑戰(zhàn)應(yīng)答認(rèn)證是使用了共有密鑰的相互認(rèn)證。認(rèn)證處理部103也具有在與設(shè)備之間,利用密鑰交換制作該共有密鑰的功能。認(rèn)證處理部103生成隨機(jī)數(shù),并經(jīng)由通信部105發(fā)送給設(shè)備。而且,將設(shè)備用共有密鑰加密并返回的隨機(jī)數(shù)解密用控制器保持的共有密鑰進(jìn)行解密,并通過與自身制作的隨機(jī)數(shù)進(jìn)行對(duì)照來確認(rèn)設(shè)備的合法性。另外,同樣地,認(rèn)證處理部103也通過將從設(shè)備接收到的隨機(jī)數(shù)用共有密鑰加密并返回,進(jìn)行在設(shè)備側(cè)的驗(yàn)證。
認(rèn)證處理部103還具有執(zhí)行會(huì)話的設(shè)定和更新所需的處理的功能。具體而言,制作組密鑰和會(huì)話密鑰,所述組密鑰和會(huì)話密鑰是用于加密控制器100與設(shè)備之間的通信的共有密鑰。另外,設(shè)定會(huì)話有效期間,并經(jīng)由設(shè)備管理部101,將會(huì)話密鑰和組密鑰一起登記在設(shè)備信息保持部102保持的連接設(shè)備管理表1000中。
(認(rèn)證信息保持部104)
認(rèn)證信息保持部104保持控制器100自身的私鑰和公鑰證書。另外,保持有為了在基于PKI的相互認(rèn)證中確認(rèn)對(duì)象設(shè)備的公鑰證書沒有失效而使用的CRL。這樣的私鑰、公鑰證書以及CRL在控制器100的制造時(shí)嵌入。
圖4是表示作為公鑰證書的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)例的、公鑰證書1500的數(shù)據(jù)結(jié)構(gòu)的圖。公鑰證書1500是包括與該證書相關(guān)的版本1510、發(fā)行者1520、有效期間的開始1530、有效期間的結(jié)束1540、證書ID1550、公鑰1560以及作為認(rèn)證站的服務(wù)器300的簽名1570的構(gòu)成。在這里,公鑰1560是控制器自身的公鑰的數(shù)據(jù),簽名1570是使用認(rèn)證站的私鑰制作并賦予的簽名。
圖5是表示作為CRL的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)例的CRL1600的圖。CRL1600是包括與該CRL相關(guān)的CRL版本1610、發(fā)行者1620、發(fā)行日1630、下次發(fā)行日1640、失效的證書ID1650以及作為認(rèn)證站的服務(wù)器的簽名1660的構(gòu)成。在這里,失效的證書ID1650并不限定于一個(gè)ID,也可以保持多個(gè)失效的證書ID。另外,簽名1660是使用認(rèn)證站的私鑰制作并賦予的簽名。
(通信部105)
通信部105是控制器100用于與設(shè)備200a~設(shè)備200c以及服務(wù)器300中的每一個(gè)連接的通信接口。例如,具有如下功能:使用保持在設(shè)備信息保持部102的連接設(shè)備管理表1000中的會(huì)話密鑰和組密鑰,與設(shè)備200a~設(shè)備200c進(jìn)行加密通信。
另外,通信部105具有與服務(wù)器300進(jìn)行加密通信的功能,例如,進(jìn)行SSL(Secure Socket Layer:安全套接層)通信。在這里,作為SSL通信所需的SSL服務(wù)器證書由通信部105保持。
<1-2-2.設(shè)備200a>
設(shè)備200a~設(shè)備200c是具有與網(wǎng)絡(luò)連接的功能的家電設(shè)備、AV設(shè)備以及住宅設(shè)備,具體而言,例如是電視機(jī)、錄像機(jī)、空調(diào)機(jī)、冰箱以及蓄電池等。
以下,使用設(shè)備200a作為代表說明設(shè)備的構(gòu)成。此外,各設(shè)備分別具有固有的功能,在這一點(diǎn)中,如果設(shè)備是另一種設(shè)備,則與其他設(shè)備不相同。例如,如果是洗衣機(jī)則為洗滌功能,如果是空調(diào)機(jī)則為制熱或制冷等功能,由于是通常的功能,所以省略說明。僅針對(duì)作為本申請(qǐng)的發(fā)明的認(rèn)證方法涉及的功能進(jìn)行說明,關(guān)于這一點(diǎn),不言而喻的是,不限于設(shè)備200a,其他設(shè)備也具有相同功能。
圖6是設(shè)備200a的主要部分的功能框圖,設(shè)備200a是包括設(shè)備管理部201、設(shè)備歷史保持部202、設(shè)備信息保持部203、認(rèn)證處理部204、認(rèn)證信息保持部205以及通信部206的構(gòu)成。另外,雖然未圖示,但設(shè)備200a是包括處理器和存儲(chǔ)器的構(gòu)成,設(shè)備管理部201、設(shè)備歷史保持部202、設(shè)備信息保持部203、認(rèn)證處理部204、認(rèn)證信息保持部205以及通信部206的各功能通過處理器執(zhí)行存儲(chǔ)在存儲(chǔ)器中的程序而實(shí)現(xiàn)。設(shè)備歷史保持部202、設(shè)備信息保持部203以及認(rèn)證信息保持部205中的各數(shù)據(jù)的保持利用存儲(chǔ)器來實(shí)現(xiàn)。
(設(shè)備管理部201)
設(shè)備管理部201控制與控制器100之間的連接。具體而言,具有如下功能。
設(shè)備管理部201在與控制器100連接時(shí),經(jīng)由通信部206將連接請(qǐng)求發(fā)送給控制器100。
另外,當(dāng)設(shè)備管理部201經(jīng)由通信部206接收控制器100的公鑰證書時(shí),使認(rèn)證處理部204執(zhí)行基于PKI的認(rèn)證處理。
在認(rèn)證處理部204中進(jìn)行的認(rèn)證處理的結(jié)果為承認(rèn)控制器100的合法性的情況下,設(shè)備管理部201將連接控制器數(shù)據(jù)登記在由設(shè)備信息保持部203保持的連接控制器管理表1100中。將在后面說明連接控制器管理表1100保持的連接控制器數(shù)據(jù)的詳細(xì)情況。
另外,用會(huì)話密鑰加密記錄在設(shè)備歷史保持部202中的與設(shè)備的工作歷史信息相關(guān)的設(shè)備歷史信息,并經(jīng)由通信部206發(fā)送給控制器100。定期或非定期地進(jìn)行與這樣的設(shè)備的工作相關(guān)的設(shè)備歷史信息的發(fā)送,并經(jīng)由控制器100發(fā)送給服務(wù)器300。
進(jìn)而,設(shè)備管理部201參照設(shè)備信息保持部203的連接控制器管理表保持的會(huì)話剩余時(shí)間這一項(xiàng)目,在會(huì)話剩余時(shí)間的值成為事前確定的預(yù)定的閾值以下的時(shí)間點(diǎn)開始會(huì)話更新。預(yù)定閾值例如設(shè)為會(huì)話有效期間的10%的值或會(huì)話更新處理所需要的時(shí)間的兩倍的值等。其中,在設(shè)備管理部201接收到來自控制器100的會(huì)話更新通知的情況下,無論該會(huì)話剩余時(shí)間的值如何,都開始會(huì)話更新。
當(dāng)開始會(huì)話更新時(shí),設(shè)備管理部201使認(rèn)證處理部204執(zhí)行處理。之后,接受認(rèn)證處理部204制作的組密鑰、會(huì)話密鑰以及會(huì)話有效期間,并登記在由設(shè)備信息保持部203保持的連接控制器管理表1100中。
(設(shè)備歷史保持部202)
設(shè)備歷史保持部202具有將設(shè)備200a的工作記錄為設(shè)備歷史信息并保持的功能。每當(dāng)操作設(shè)備200a或執(zhí)行功能時(shí),設(shè)備歷史保持部202將表示這些工作的信息作為設(shè)備歷史信息記錄。此外,雖然設(shè)備歷史信息作為設(shè)備200a經(jīng)由控制器100并發(fā)送給服務(wù)器300的信息的一例示出,但是由于不是本申請(qǐng)的發(fā)明的主要構(gòu)成要素,所以省略數(shù)據(jù)項(xiàng)目等的詳細(xì)說明。
(設(shè)備信息保持部203)
設(shè)備信息保持部203保持與設(shè)備200a連接的控制器100的信息。圖7是表示為了管理控制器的信息,設(shè)備信息保持部203保持的連接控制器管理表1100的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
連接控制器管理表1100由連接控制器管理記錄組構(gòu)成。連接控制器管理記錄是在設(shè)備與控制器連接時(shí)進(jìn)行的設(shè)備登記處理中,在承認(rèn)控制器為合法設(shè)備的情況下登記的數(shù)據(jù),包括控制器ID1110、證書ID1120、共有密鑰1130、組密鑰1140、會(huì)話密鑰1150以及會(huì)話剩余時(shí)間1160這些項(xiàng)目。
使用圖7的例子并對(duì)各項(xiàng)目進(jìn)行說明。
控制器ID1110是唯一地確定控制器的識(shí)別符。
證書ID1120是控制器的公鑰證書的證書ID。
共有密鑰1130是在設(shè)備200a與控制器100之間共有的共有密鑰的數(shù)據(jù)。
組密鑰1140是為了加密控制器100對(duì)設(shè)備同時(shí)發(fā)送的信息而使用的共有密鑰的數(shù)據(jù)。在設(shè)備側(cè),使用該組密鑰將接收到的信息進(jìn)行解密。
會(huì)話密鑰1150是為了進(jìn)行與控制器100之間的加密單播通信而使用的共有密鑰的數(shù)據(jù)。
會(huì)話剩余時(shí)間1160是在與控制器100之間設(shè)定的會(huì)話有效期間的剩余期間。在設(shè)備200a與控制器100之間,設(shè)置預(yù)先確定的預(yù)定會(huì)話有效期間。每當(dāng)設(shè)定或更新會(huì)話時(shí),將會(huì)話有效期間登記在會(huì)話剩余時(shí)間1160中。以后,隨著時(shí)間的經(jīng)過,通過使該項(xiàng)目的值倒計(jì)時(shí),會(huì)話剩余時(shí)間1160表示會(huì)話有效期間的剩余期間。
(認(rèn)證處理部204)
認(rèn)證處理部204具有進(jìn)行與控制器100之間的相互認(rèn)證處理的功能。在進(jìn)行與控制器的連接時(shí),進(jìn)行基于PKI的相互認(rèn)證,在會(huì)話更新時(shí),進(jìn)行基于挑戰(zhàn)應(yīng)答認(rèn)證的相互認(rèn)證,所述挑戰(zhàn)應(yīng)答認(rèn)證使用了共有密鑰和隨機(jī)數(shù)。
從設(shè)備管理部201受理控制器的認(rèn)證請(qǐng)求和該控制器的公鑰證書,并進(jìn)行基于PKI的認(rèn)證處理。具體而言,首先,基于存儲(chǔ)在認(rèn)證信息保持部205中的CRL,確認(rèn)取得的控制器的公鑰證書的證書ID未記載在CRL中。另外,使用認(rèn)證站的公鑰來驗(yàn)證公鑰證書的簽名。在這里,認(rèn)證站設(shè)為服務(wù)器300。
另外,認(rèn)證處理部204在與控制器100之間進(jìn)行會(huì)話更新時(shí),進(jìn)行挑戰(zhàn)應(yīng)答認(rèn)證,所述挑戰(zhàn)應(yīng)答認(rèn)證是使用共有密鑰的相互認(rèn)證。認(rèn)證處理部204也具有在與控制器100之間,利用密鑰交換制作該共有密鑰的功能。認(rèn)證處理部204生成隨機(jī)數(shù),并經(jīng)由通信部206發(fā)送給控制器100。而且,認(rèn)證處理部204用設(shè)備保持的共有密鑰對(duì)控制器100用共有密鑰加密并返回的隨機(jī)數(shù)進(jìn)行解密,并通過與自身制作的隨機(jī)數(shù)進(jìn)行對(duì)照來確認(rèn)控制器的合法性。另外,同樣地,認(rèn)證處理部204也通過用共有密鑰加密從設(shè)備接收到的隨機(jī)數(shù)并返回,從而進(jìn)行在設(shè)備側(cè)的驗(yàn)證。
進(jìn)而,認(rèn)證處理部204具有執(zhí)行會(huì)話的制作和更新所需的處理的功能。具體而言,當(dāng)從設(shè)備管理部201受理會(huì)話更新處理的開始時(shí),經(jīng)由通信部206對(duì)控制器100發(fā)送會(huì)話更新請(qǐng)求。另外,認(rèn)證處理部204經(jīng)由通信部206從控制器100接收更新后的會(huì)話密鑰、組密鑰以及會(huì)話有效期間,并經(jīng)由設(shè)備管理部201登記在設(shè)備信息保持部203保持的連接控制器管理表1100中。
(認(rèn)證信息保持部205)
認(rèn)證信息保持部205保持設(shè)備200a自身的私鑰和公鑰證書。另外,保持有為了在基于PKI的相互認(rèn)證中確認(rèn)公鑰證書沒有失效而使用的CRL。這樣的私鑰、公鑰證書以及CRL在設(shè)備的制造時(shí)嵌入。
由于CRL和公鑰證書的數(shù)據(jù)結(jié)構(gòu)與控制器100的認(rèn)證信息保持部104保持的CRL和公鑰證書相同,所以省略說明。其中,設(shè)備200a的公鑰證書保持的公鑰當(dāng)然是設(shè)備200a的公鑰。
(通信部206)
通信部206是用于與控制器100連接的通信接口。例如,具有如下功能:使用設(shè)備信息保持部203的連接控制器管理表1100保持的會(huì)話密鑰和組密鑰,在與控制器100之間進(jìn)行加密通信。
<1-2-3.服務(wù)器300>
圖8是服務(wù)器300的主要部分的功能框圖,服務(wù)器300是包括設(shè)備信息管理部301、設(shè)備信息保持部302、CRL管理部303、CRL保持部304以及通信部305的構(gòu)成。另外,雖然未圖示,但服務(wù)器300是包括處理器和存儲(chǔ)器的構(gòu)成,設(shè)備信息管理部301、設(shè)備信息保持部302、CRL管理部303、CRL保持部304以及通信部305的各功能通過處理器執(zhí)行存儲(chǔ)在存儲(chǔ)器中的程序而實(shí)現(xiàn)。設(shè)備信息保持部302、CRL保持部304中的各數(shù)據(jù)的保持利用存儲(chǔ)器來實(shí)現(xiàn)。
(設(shè)備信息管理部301)
為了控制設(shè)備信息保持部302,并將與服務(wù)器300連接的控制器的信息加入與控制器連接的設(shè)備的信息進(jìn)行管理,設(shè)備信息管理部301具有以下功能。
設(shè)備信息管理部301將經(jīng)由通信部305從控制器接收到的控制器和設(shè)備的信息登記在設(shè)備信息保持部302保持的設(shè)備信息管理表1300中。
另外,在從控制器接收到在控制器與設(shè)備之間的相互認(rèn)證中判斷為不合法的設(shè)備的信息的情況下,向CRL管理部303通知該設(shè)備的公鑰證書的證書ID。
(設(shè)備信息保持部302)
設(shè)備信息保持部302保持與服務(wù)器300連接的控制器和設(shè)備的信息,圖9是表示設(shè)備信息保持部302具有的、設(shè)備信息管理表1300的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
在設(shè)備信息管理表1300中包括與控制器相關(guān)的控制器ID1310和證書ID1320這些項(xiàng)目。另外,包括與連接到控制器的設(shè)備相關(guān)的設(shè)備ID1330、證書ID1340、設(shè)備歷史信息1350這些項(xiàng)目。使用圖9的例子并說明各項(xiàng)目。
控制器ID1310是唯一地確定控制器的識(shí)別符。
控制器的證書ID1320是控制器的公鑰證書的證書ID。
設(shè)備ID1330是識(shí)別與控制器連接的設(shè)備的設(shè)備ID。在圖9的例子中,示出了用控制器ID1識(shí)別的控制器連接有用設(shè)備ID1、設(shè)備ID2以及設(shè)備ID3識(shí)別的三臺(tái)設(shè)備。
設(shè)備的證書ID1340是設(shè)備的公鑰證書的證書ID。
設(shè)備歷史信息1350是從設(shè)備收集到的設(shè)備歷史信息的數(shù)據(jù)。在這里,也可以是,設(shè)備歷史信息本身由其他表按每臺(tái)設(shè)備保持,并在該設(shè)備歷史信息1350這一項(xiàng)目中保持前往所述其他表的鏈接信息。
(CRL管理部303)
當(dāng)從設(shè)備信息管理部301受理非法設(shè)備的公鑰證書的證書ID時(shí),CRL管理部303發(fā)行CRL。
另外,CRL管理部303保持服務(wù)器300的公鑰和私鑰。
CRL管理部303在發(fā)行CRL時(shí),將使用服務(wù)器300的私鑰制作的簽名賦予給CRL。使用該CRL的控制器和設(shè)備通過使用服務(wù)器300的公鑰驗(yàn)證附加于CRL的簽名,來確認(rèn)CRL為合法。
CRL管理部發(fā)行的CRL經(jīng)由通信部305發(fā)送給控制器和設(shè)備。
(CRL保持部304)
CRL保持部304保持CRL管理部303發(fā)行的CRL。由于CRL的數(shù)據(jù)結(jié)構(gòu)與控制器100的認(rèn)證信息保持部104保持的CRL相同,所以省略說明。
(通信部305)
通信部305是用于與控制器100進(jìn)行通信的通信接口。服務(wù)器300與控制器100之間的通信例如通過SSL通信進(jìn)行。SSL通信所需的證書由通信部305保持。
<1-3.工作>
以下,按順序說明由認(rèn)證系統(tǒng)10進(jìn)行的“設(shè)備登記處理”、“會(huì)話更新處理”、“基于PKI的相互認(rèn)證~共有密鑰的制作”、“使用共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”、“設(shè)備歷史信息發(fā)送處理”、“控制信息發(fā)送處理”、“設(shè)備歷史信息MAC(Message Authentication Code:消息認(rèn)證碼)發(fā)送處理”以及“控制信息MAC發(fā)送處理”。此外,雖然“基于PKI的相互認(rèn)證~共有密鑰的制作”是在“設(shè)備登記處理”中執(zhí)行的處理,“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”是在“設(shè)備登記處理”和“會(huì)話更新處理”中執(zhí)行的處理,但為了方便起見,進(jìn)行子程序化并記載。
(設(shè)備登記處理)
圖10和圖11是表示設(shè)備和控制器各自的設(shè)備登記處理的步驟的一例的流程圖,圖12是表示包括設(shè)備與控制器的授受的、設(shè)備登記處理的步驟的一例的時(shí)序圖。
設(shè)備登記處理是在控制器100與設(shè)備連接時(shí)進(jìn)行的處理,是從設(shè)備向控制器100請(qǐng)求連接并進(jìn)行相互認(rèn)證開始登記彼此的步驟。首先,沿著圖10和圖11的流程圖,說明設(shè)備和控制器各自的處理的概要,沿著圖12的時(shí)序圖,說明包括設(shè)備與控制器的授受的、設(shè)備登記處理的更詳細(xì)的步驟。
沿著圖10的流程圖,說明設(shè)備中的設(shè)備登記處理的概要。
首先,設(shè)備對(duì)控制器發(fā)送連接請(qǐng)求、以及設(shè)備自身的設(shè)備ID以及公鑰證書(步驟S1010)。
接著,設(shè)備通過執(zhí)行“基于PKI的相互認(rèn)證~共有密鑰的制作”這一子程序,在進(jìn)行與控制器之間的相互認(rèn)證后,共有(共同擁有)共有密鑰(步驟S1020)。將在后面說明該子程序處理的詳細(xì)情況。
在步驟S1020的子程序的返回值為“正常”的情況下(步驟S1030為是),設(shè)備通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與控制器進(jìn)行使用了共有密鑰的相互認(rèn)證后,進(jìn)行作為與會(huì)話相關(guān)的信息的、組密鑰和會(huì)話密鑰的制作、會(huì)話有效期間的設(shè)定(步驟S1040)。將在后面說明該子程序處理的詳細(xì)情況。
在步驟S1040的子程序的返回值為“正常”的情況下(步驟S1050為是),設(shè)備將控制器作為合法的連接對(duì)象并登記控制器的信息(步驟S1060)。
另一方面,在步驟S1020的子程序的返回值為“錯(cuò)誤”的情況下(步驟S1030為否),或步驟S1040的子程序的返回值為“錯(cuò)誤”的情況下(步驟S1050為否),設(shè)備結(jié)束設(shè)備登記處理。
接著,沿著圖11的流程圖,說明控制器中的設(shè)備登記處理的概要。
控制器等待設(shè)備的連接請(qǐng)求、設(shè)備ID以及公鑰證書(步驟S1110)。在未接收到設(shè)備的連接請(qǐng)求、設(shè)備ID以及公鑰證書的情況下(步驟S1110為否),控制器繼續(xù)等待來自設(shè)備的連接請(qǐng)求。
在接收到連接請(qǐng)求的情況下(步驟S1110為是),控制器通過執(zhí)行“基于PKI的相互認(rèn)證~共有密鑰的制作”這一子程序,在進(jìn)行了與設(shè)備的相互認(rèn)證后,共有(共同擁有)共有密鑰(步驟S1120)。將在后面說明該子程序處理的詳細(xì)情況。
在步驟S1120的子程序的返回值為“正?!钡那闆r下(步驟S1130為是),控制器通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與設(shè)備進(jìn)行使用了共有密鑰的相互認(rèn)證后,進(jìn)行作為與會(huì)話相關(guān)的信息的、組密鑰和會(huì)話密鑰的制作、會(huì)話有效期間的設(shè)定(步驟S1140)。另外,控制器判斷是否將該設(shè)備設(shè)定為基準(zhǔn)設(shè)備(步驟S1140)。將在后面說明該子程序處理的詳細(xì)情況。
在步驟S1140的子程序的返回值為“正?!钡那闆r下(步驟S1150為是),控制器將控制器和設(shè)備的信息發(fā)送給服務(wù)器300(步驟S1160)。
然后,控制器將設(shè)備作為合法的連接對(duì)象并登記設(shè)備的信息(步驟S1170)。
另一方面,在步驟S1120的子程序的返回值為“錯(cuò)誤”的情況下(步驟S1130為否),或步驟S1140的子程序的返回值為“錯(cuò)誤”的情況下(步驟S1150為否),控制器結(jié)束設(shè)備登記處理。
從現(xiàn)在起,沿著圖12的時(shí)序圖,將更詳細(xì)的處理的內(nèi)容加入設(shè)備與控制器之間的授受并進(jìn)行說明。就設(shè)備而言,雖然用設(shè)備200a的例示進(jìn)行說明,但不言而喻的是,與設(shè)備200b和設(shè)備200c相關(guān)的處理的步驟也與設(shè)備200a相同。另外,作為時(shí)序圖,示出了未發(fā)生錯(cuò)誤的情況的例子,關(guān)于錯(cuò)誤發(fā)生時(shí)的處理,將用文章進(jìn)行補(bǔ)充。
設(shè)備登記處理是新的設(shè)備與控制器100連接時(shí)進(jìn)行的處理。例如,在向控制器所屬的家庭局域網(wǎng)追加新的設(shè)備的定時(shí)、在該網(wǎng)絡(luò)中以電源斷開的狀態(tài)存在的設(shè)備的電源變?yōu)榻油ǖ亩〞r(shí)等執(zhí)行。
設(shè)備200a的設(shè)備管理部201經(jīng)由通信部206,發(fā)送對(duì)控制器100的連接請(qǐng)求(步驟S101)。此時(shí),設(shè)備200a的設(shè)備ID和公鑰證書也一起發(fā)送。
控制器100的設(shè)備管理部101經(jīng)由通信部105受理連接請(qǐng)求,并使認(rèn)證處理部103執(zhí)行基于PKI的相互認(rèn)證。接受該連接請(qǐng)求,控制器100的認(rèn)證處理部103與設(shè)備200a的認(rèn)證處理部204進(jìn)行基于PKI的相互認(rèn)證處理,并確認(rèn)彼此的合法性(步驟S102)。
然后,控制器100的認(rèn)證處理部103與設(shè)備200a的認(rèn)證處理部204通過密鑰交換方式制作共有密鑰(步驟S102)。該共有密鑰在以后進(jìn)行的相互認(rèn)證中使用。為方便起見,將上述步驟S102的“基于PKI的相互認(rèn)證~共有密鑰的制作”子程序化,將在后面說明步驟。此外,來自該子程序處理的返回值為“錯(cuò)誤”的情況下,控制器和設(shè)備結(jié)束設(shè)備登記處理。
接著,控制器100的認(rèn)證處理部103與設(shè)備200a的認(rèn)證處理部204使用制作而成的共有密鑰進(jìn)行相互認(rèn)證,并且進(jìn)行與會(huì)話相關(guān)的信息的制作(步驟S103)。在步驟S103中,重新進(jìn)行使用了共有密鑰的相互認(rèn)證也是為了驗(yàn)證共有密鑰本身。步驟S102中的共有密鑰的制作通過密鑰交換方式進(jìn)行。因此,由于在控制器100和設(shè)備200a的每一個(gè)中通過預(yù)定步驟制作共有密鑰,所以為了確認(rèn)各自制作的共有密鑰相同這一情況,在步驟S103中進(jìn)行使用了共有密鑰的相互認(rèn)證也是有用的。
在使用了共有密鑰的相互認(rèn)證成功的情況下,進(jìn)行作為與會(huì)話相關(guān)的信息的、組密鑰、會(huì)話密鑰以及會(huì)話有效期間的制作(步驟S103)。另外,判斷是否將設(shè)備200a設(shè)定為基準(zhǔn)設(shè)備(步驟S103)。為方便起見,將步驟S103的“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息制作”子程序化,將在后面說明步驟。此外,來自該子程序處理的返回值為“錯(cuò)誤”的情況下,控制器和設(shè)備結(jié)束設(shè)備登記處理。
設(shè)備200a的認(rèn)證處理部204經(jīng)由設(shè)備管理部201,將控制器100的控制器ID以及與該控制器100共有的共有密鑰、組密鑰、會(huì)話密鑰的信息登記在設(shè)備信息保持部203具有的連接控制器管理表1100中。另外,將會(huì)話有效期間登記在連接控制器管理表1100的會(huì)話剩余時(shí)間這一項(xiàng)目中(步驟S104)。
控制器100的設(shè)備管理部101將與控制器100相關(guān)的控制器ID和公鑰證書的證書ID、與設(shè)備200a相關(guān)的設(shè)備ID和公鑰證書的證書ID發(fā)送給服務(wù)器300(步驟S105)。此時(shí),與服務(wù)器進(jìn)行SSL(Secure Socket Layer)通信。
另外,控制器100的設(shè)備管理部101將設(shè)備200a的設(shè)備ID以及與設(shè)備200a共有的共有密鑰、組密鑰、會(huì)話密鑰的信息登記在設(shè)備信息保持部102具有的連接設(shè)備管理表1000中。此時(shí),將會(huì)話有效期間登記在連接設(shè)備管理表1000的會(huì)話剩余時(shí)間這一項(xiàng)目中。另外,在將設(shè)備200a設(shè)定為基準(zhǔn)設(shè)備的情況下,在連接設(shè)備管理表1000的基準(zhǔn)設(shè)備這一項(xiàng)目中登記是基準(zhǔn)設(shè)備這一情況(步驟S106)。在步驟S103的“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息制作”中,進(jìn)行是否設(shè)定為基準(zhǔn)設(shè)備的判斷,例如,將最初與控制器連接的設(shè)備設(shè)定為基準(zhǔn)設(shè)備。
服務(wù)器300經(jīng)由通信部305從控制器100接收控制器和設(shè)備的信息。然后,設(shè)備信息管理部301將該控制器的控制器ID和證書ID、經(jīng)認(rèn)證的設(shè)備的設(shè)備ID和證書ID登記在設(shè)備信息保持部302具有的設(shè)備信息管理表1300中(步驟S107)。
(會(huì)話更新處理)
圖13和圖14是表示設(shè)備和控制器各自的會(huì)話更新處理的步驟的一例的流程圖,圖15是表示包括設(shè)備與控制器之間的授受的、會(huì)話更新處理的步驟的一例的時(shí)序圖。
在會(huì)話更新處理中,設(shè)備與控制器100在重新進(jìn)行相互認(rèn)證后,進(jìn)行組密鑰、會(huì)話密鑰以及會(huì)話剩余時(shí)間的更新。在沿著圖13和圖14的流程圖,說明設(shè)備和控制器各自的處理的概要后,沿著圖15的時(shí)序圖,說明包括設(shè)備與控制器之間的授受的處理的詳細(xì)情況。
首先,沿著圖13的流程圖,說明設(shè)備中的會(huì)話更新處理的概要。無論設(shè)備是基準(zhǔn)設(shè)備還是基準(zhǔn)設(shè)備以外的設(shè)備,都按如下步驟進(jìn)行處理。
為了判定會(huì)話更新的開始,設(shè)備監(jiān)視會(huì)話剩余時(shí)間。或者,等待來自控制器的會(huì)話更新通知(步驟S1210)。在會(huì)話剩余時(shí)間比預(yù)先確定的預(yù)定值大且也沒有接收到來自控制器的會(huì)話更新通知的情況下(步驟S1210為否),繼續(xù)監(jiān)視。
在會(huì)話剩余時(shí)間成為預(yù)先確定的預(yù)定值以下或從控制器接收到會(huì)話更新通知的情況下(步驟S1210為是),為了進(jìn)行會(huì)話更新,設(shè)備對(duì)控制器發(fā)送會(huì)話更新請(qǐng)求(步驟S1220)。
然后,通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與控制器進(jìn)行使用了共有密鑰的相互認(rèn)證后,進(jìn)行作為與會(huì)話相關(guān)的信息的、組密鑰和會(huì)話密鑰的制作、會(huì)話有效期間的設(shè)定(步驟S1230)。將在后面說明該子程序處理的詳細(xì)情況。
在步驟S1230的子程序的返回值為“正常”的情況下(步驟S1240為是),設(shè)備將在步驟S1230中制作的與新的會(huì)話相關(guān)的信息登記為會(huì)話更新信息(步驟S1250)。
另一方面,在步驟S1230的子程序的返回值為“錯(cuò)誤”的情況下(步驟S1240為否),設(shè)備結(jié)束會(huì)話更新處理而不進(jìn)行會(huì)話的更新。
接著,沿著圖14的流程圖,說明控制器中的會(huì)話更新處理的概要。
控制器等待來自設(shè)備的會(huì)話更新請(qǐng)求(步驟S1310)。如果未接收到(步驟S1310為否),則繼續(xù)等待來自設(shè)備的會(huì)話更新請(qǐng)求。
當(dāng)從設(shè)備接收到會(huì)話更新請(qǐng)求時(shí)(步驟S1310為是),通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與設(shè)備進(jìn)行使用了共有密鑰的相互認(rèn)證后,進(jìn)行作為與會(huì)話相關(guān)的信息的、組密鑰和會(huì)話密鑰的制作、會(huì)話有效期間的設(shè)定(步驟S1320)。將在后面說明該子程序處理的詳細(xì)情況。
在步驟S1320的子程序的返回值為“正?!钡那闆r下(步驟S1330為是),控制器將在步驟S1320中制作的與新的會(huì)話相關(guān)的信息登記為會(huì)話更新信息(步驟S1340)。此時(shí),在設(shè)備為基準(zhǔn)設(shè)備的情況下,登記表示與控制器連接的其他各設(shè)備為會(huì)話未更新這一情況的信息。另外,在設(shè)備不是基準(zhǔn)設(shè)備的情況下,登記表示該設(shè)備為會(huì)話更新完成這一情況的信息。即,在基準(zhǔn)設(shè)備進(jìn)行會(huì)話更新以后,按每臺(tái)設(shè)備管理其他各設(shè)備是會(huì)話更新完成還是會(huì)話未更新。
另一方面,在步驟S1320的子程序的返回值為“錯(cuò)誤”的情況下(步驟S1330為否),對(duì)于該設(shè)備,通過不進(jìn)行會(huì)話更新信息的登記,而不更新會(huì)話。
不管是進(jìn)行了與該設(shè)備之間的會(huì)話更新還是沒有進(jìn)行與該設(shè)備之間的會(huì)話更新,在還存在其他會(huì)話沒有更新的設(shè)備的情況下(步驟S1350為是),對(duì)該會(huì)話未更新設(shè)備發(fā)送會(huì)話更新通知(步驟S1360)。此時(shí),雖然既可以對(duì)全部未更新會(huì)話的設(shè)備同時(shí)進(jìn)行會(huì)話更新通知,也可以對(duì)其中的一部分或一臺(tái)設(shè)備發(fā)送,但最終通過對(duì)全部未更新設(shè)備進(jìn)行會(huì)話更新通知并更新會(huì)話,從而更新與全部設(shè)備之間的會(huì)話。當(dāng)然,在步驟S1320中,除去發(fā)生了錯(cuò)誤的設(shè)備。
在對(duì)全部設(shè)備完成會(huì)話更新處理的情況下(步驟S1350為否),結(jié)束會(huì)話更新處理。
從現(xiàn)在起,沿著圖15的時(shí)序圖,將更詳細(xì)的處理加入設(shè)備與控制器之間的授受并進(jìn)行說明。關(guān)于設(shè)備,作為一例,設(shè)為設(shè)備200a是基準(zhǔn)設(shè)備,設(shè)備200b是基準(zhǔn)設(shè)備以外的設(shè)備。另外,關(guān)于時(shí)序圖,示出了未發(fā)生錯(cuò)誤的情況的例子,關(guān)于錯(cuò)誤發(fā)生時(shí)的處理,將用文章進(jìn)行補(bǔ)充。
設(shè)備200a的設(shè)備管理部201監(jiān)視連接控制器管理表1100保持的會(huì)話剩余時(shí)間1160,確認(rèn)是否為預(yù)先確定的預(yù)定的閾值以下。在會(huì)話剩余時(shí)間比預(yù)定值大的情況下,繼續(xù)會(huì)話剩余時(shí)間的監(jiān)視(步驟S141)。此外,設(shè)備200b的設(shè)備管理部201也與設(shè)備200a同樣地進(jìn)行會(huì)話剩余時(shí)間的監(jiān)視,但設(shè)為具有比設(shè)備200a長(zhǎng)的會(huì)話剩余時(shí)間。假設(shè)基準(zhǔn)設(shè)備以外的設(shè)備具有比基準(zhǔn)設(shè)備短的會(huì)話剩余時(shí)間,先進(jìn)行會(huì)話更新處理也沒問題。此時(shí),關(guān)于組密鑰,在后述的“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息制作”的子程序中,取得基準(zhǔn)設(shè)備使用的組密鑰。即,取得與當(dāng)前使用的組密鑰相同的組密鑰,不對(duì)組密鑰進(jìn)行更新。但是,在基準(zhǔn)設(shè)備進(jìn)行會(huì)話更新處理的時(shí)間點(diǎn),清除基準(zhǔn)設(shè)備以外的設(shè)備的會(huì)話更新狀態(tài),由此將該設(shè)備判定為是會(huì)話未更新設(shè)備,從控制器接收會(huì)話更新通知。通過該設(shè)備接受該通知并進(jìn)行會(huì)話更新,與基準(zhǔn)設(shè)備更新組密鑰的定時(shí)相匹配地,該設(shè)備也進(jìn)行組密鑰的更新。
在會(huì)話剩余時(shí)間成為預(yù)定的閾值以下的時(shí)間點(diǎn),設(shè)備200a的設(shè)備管理部201使認(rèn)證處理部204執(zhí)行會(huì)話更新。認(rèn)證處理部204首先經(jīng)由通信部206,將會(huì)話更新請(qǐng)求發(fā)送給控制器100(步驟S142)。
控制器100的設(shè)備管理部101經(jīng)由通信部105受理會(huì)話更新請(qǐng)求,并使認(rèn)證處理部103執(zhí)行相互認(rèn)證處理。控制器100的認(rèn)證處理部103與設(shè)備200a的認(rèn)證處理部204接受該會(huì)話更新請(qǐng)求,并通過基于使用了共有密鑰的挑戰(zhàn)應(yīng)答認(rèn)證的相互認(rèn)證確認(rèn)彼此的合法性(步驟S143)。另外,在通過相互認(rèn)證確認(rèn)了彼此的合法性的情況下,進(jìn)行作為與會(huì)話相關(guān)的信息的、組密鑰、會(huì)話密鑰以及會(huì)話有效期間的制作(步驟S143)。
步驟S143的“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息制作”是與設(shè)備登記處理中的步驟S103同樣的處理,為方便起見進(jìn)行子程序化,將在后面說明步驟。此外,在來自該子程序處理的返回值為“錯(cuò)誤”的情況下,控制器和該設(shè)備200a不更新會(huì)話。即,不進(jìn)行步驟S144和步驟S145的會(huì)話更新信息的登記處理,進(jìn)入步驟S146。然后,在后面的“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息制作”這一子程序中,設(shè)備200b被設(shè)定為基準(zhǔn)設(shè)備。
設(shè)備200a的設(shè)備管理部201將在步驟S143中制作的會(huì)話密鑰、組密鑰以及會(huì)話有效期間登記在設(shè)備信息保持部203具有的連接控制器管理表1100中(步驟S144)。此時(shí),會(huì)話有效期間登記在會(huì)話剩余時(shí)間這一項(xiàng)目中。
另外,控制器100的設(shè)備管理部101將在步驟S143中制作的組密鑰、會(huì)話密鑰以及會(huì)話有效期間登記在設(shè)備信息保持部102具有的連接設(shè)備管理表1000中。會(huì)話有效期間登記在會(huì)話剩余時(shí)間1060這一項(xiàng)目中。此時(shí),與設(shè)備200a相關(guān)的會(huì)話更新狀態(tài)1070設(shè)定為“更新完成”。另外,對(duì)于設(shè)備200a以外的設(shè)備即與基準(zhǔn)設(shè)備以外的設(shè)備相關(guān)的記錄,將會(huì)話更新狀態(tài)1070這一項(xiàng)目更新為“未更新”(步驟S145)。
控制器100的設(shè)備管理部101參照設(shè)備信息保持部102保持的連接設(shè)備管理表1000的會(huì)話更新狀態(tài)1070這一項(xiàng)目,確認(rèn)“未更新”的設(shè)備的有無。在不存在會(huì)話更新狀態(tài)1070這一項(xiàng)目為“未更新”的設(shè)備的情況下,判斷為進(jìn)行了全部設(shè)備的會(huì)話更新處理,并結(jié)束處理。
在存在會(huì)話更新狀態(tài)1070為“未更新”的設(shè)備的情況下,控制器100的設(shè)備管理部101對(duì)該設(shè)備進(jìn)行會(huì)話更新通知(步驟S146)。在圖15的例子中,進(jìn)行對(duì)會(huì)話為未更新的設(shè)備200b的會(huì)話更新通知。此外,在還存在其他會(huì)話未更新的設(shè)備的情況下,對(duì)該設(shè)備也進(jìn)行會(huì)話更新通知,并實(shí)施以后的處理。此時(shí),也可以對(duì)全部會(huì)話為未更新的設(shè)備同時(shí)進(jìn)行會(huì)話更新通知。或者,既可以對(duì)未更新設(shè)備中的一臺(tái)設(shè)備發(fā)送,也可以每次發(fā)送給幾臺(tái)設(shè)備。
設(shè)備200b的設(shè)備管理部201經(jīng)由通信部206受理控制器100發(fā)送來的會(huì)話更新通知,并使認(rèn)證處理部204執(zhí)行會(huì)話更新。認(rèn)證處理部204首先經(jīng)由通信部206,向控制器100發(fā)送會(huì)話更新請(qǐng)求(步驟S147)。
然后,作為基準(zhǔn)設(shè)備以外的設(shè)備的設(shè)備200b也按與步驟S143~S145同樣的步驟進(jìn)行會(huì)話更新(步驟S148~步驟S150),所述步驟S143~S145是與作為基準(zhǔn)設(shè)備的設(shè)備200a相關(guān)的步驟。
其中,在步驟S149中,控制器100的設(shè)備管理部101將在步驟S148中制作的組密鑰、會(huì)話密鑰以及會(huì)話有效期間登記在設(shè)備信息保持部102具有的連接設(shè)備管理表1000中,并且會(huì)話更新狀態(tài)1070這一項(xiàng)目更新為“更新完成”(步驟S149)。
在上述步驟S145中,通過對(duì)全部會(huì)話未更新設(shè)備發(fā)送會(huì)話更新通知,控制器進(jìn)行與全部設(shè)備之間的會(huì)話更新,并共有更新過的組密鑰。
(基于PKI的相互認(rèn)證~共有密鑰的制作)
圖16和圖17是表示設(shè)備和控制器各自的基于PKI的相互認(rèn)證~共有密鑰的制作的步驟的一例的流程圖,圖18是表示包括設(shè)備與控制器之間的授受的、該處理的步驟的一例的時(shí)序圖。沿著圖16和圖17的流程圖,在對(duì)設(shè)備和控制器各自的處理的概要進(jìn)行了說明之后,沿著圖18的時(shí)序圖,說明包括設(shè)備與控制器之間的授受的處理的詳細(xì)情況。
首先,沿著圖16的流程圖,說明設(shè)備中的處理的概要。
設(shè)備等待來自控制器的控制器ID和公鑰證書。在沒有接收到控制器ID和公鑰證書(步驟S1410為否)且接收到錯(cuò)誤的情況下(步驟S1420為是),設(shè)置“錯(cuò)誤”作為該子程序的返回值(步驟S1460)。
在沒有從控制器接收到控制器ID和公鑰證書或者錯(cuò)誤中的任一個(gè)的情況下(步驟S1410為否且步驟S1420為否),繼續(xù)等待來自控制器的信息。
在接收到控制器ID和公鑰證書的情況下(步驟S1410為是),對(duì)從控制器接收到的公鑰證書,確認(rèn)證書ID不在CRL中(步驟S1430)。
然后,在證書ID未記載在CRL中且沒有失效的情況下(步驟S1430為否),驗(yàn)證附加于公鑰證書的簽名(步驟S1440)。
在步驟S1440中,在控制器的公鑰證書的簽名的驗(yàn)證成功的情況下(步驟S1440為是),設(shè)備向控制器通知驗(yàn)證成功(步驟S1470)。
然后,設(shè)備通過與控制器之間的密鑰交換,共有(共同擁有)共有密鑰(步驟S1480)。該密鑰利用于以后的相互認(rèn)證中。另外,設(shè)備將“正常”設(shè)置為該子程序的返回值(步驟S1490)。
另一方面,在公鑰證書的證書ID記載在CRL中的情況(步驟S1430為是)下,或者在簽名驗(yàn)證不成功的情況(步驟S1440為否),判斷為控制器的公鑰證書的驗(yàn)證失敗,設(shè)備對(duì)控制器發(fā)送錯(cuò)誤通知(步驟S1450)。然后,將“錯(cuò)誤”設(shè)置為該子程序的返回值(步驟S1460)。
將在步驟S1490或步驟S1460中設(shè)置的返回值作為該子程序的處理結(jié)果,并返回至調(diào)出源的處理(步驟S1500)。
接著,沿著圖17的流程圖,說明控制器中的處理的概要。
首先,控制器確認(rèn)從設(shè)備接收到的公鑰證書的證書ID不在CRL中(步驟S1610)。
然后,在證書ID未記載在CRL中且沒有失效的情況下(步驟S1610為否),驗(yàn)證附加于公鑰證書的簽名(步驟S1620)。
在公鑰證書的證書ID記載在CRL中的情況(步驟S1610為是),或者在簽名驗(yàn)證不成功的情況(步驟S1620為否)下,設(shè)備的公鑰證書的驗(yàn)證失敗,控制器對(duì)設(shè)備發(fā)送錯(cuò)誤通知(步驟S1630)。
然后,作為該子程序的返回值,設(shè)置“錯(cuò)誤”(步驟S1670)。
在步驟S1620中,在控制器的公鑰證書的簽名驗(yàn)證成功的情況下(步驟S1620為是),等待設(shè)備側(cè)的、對(duì)控制器的公鑰證書的驗(yàn)證結(jié)果(步驟S1650)。
在沒有從設(shè)備接收到驗(yàn)證成功(步驟S1650為否),且接收到錯(cuò)誤通知的情況下(步驟S1660為是),作為該子程序的返回值,設(shè)置“錯(cuò)誤”(步驟S1670)。
在沒有從設(shè)備接收到驗(yàn)證成功(步驟S1650為否),且也沒有接收到錯(cuò)誤的情況下(步驟S1660為否),繼續(xù)等待來自設(shè)備的驗(yàn)證結(jié)果。
在從設(shè)備接收到驗(yàn)證成功的情況下(步驟S1650為是),控制器與設(shè)備通過密鑰交換,共有(共同擁有)共有密鑰(步驟S1680)。該密鑰利用于以后的相互認(rèn)證中。
然后,控制器將“正常”設(shè)置為該子程序的返回值(步驟S1690)。
將在步驟S1690或步驟S1670中設(shè)置的返回值作為該子程序的處理結(jié)果,并返回至調(diào)出源的處理(步驟S1700)。
從現(xiàn)在起,沿著圖18的時(shí)序圖,將更詳細(xì)的處理加入設(shè)備與控制器之間的授受來進(jìn)行說明。就設(shè)備而言,雖然以設(shè)備200a的例示進(jìn)行說明,但不言而喻的是,對(duì)于設(shè)備200b、設(shè)備200c,也按相同的步驟進(jìn)行處理。另外,關(guān)于時(shí)序圖,示出了未發(fā)生錯(cuò)誤的情況的例子,但關(guān)于錯(cuò)誤發(fā)生時(shí)的處理,將用文章進(jìn)行補(bǔ)充。
控制器100的認(rèn)證處理部103確認(rèn)設(shè)備200a的公鑰證書的證書ID沒有記載在由認(rèn)證信息保持部104保持的CRL中(步驟S111)。
在步驟S111中,在設(shè)備200a的證書ID沒有記載在CRL中的情況下,控制器100的認(rèn)證處理部103驗(yàn)證賦予給設(shè)備200a的公鑰證書的認(rèn)證站的電子簽名是否適當(dāng)(步驟S112)。此時(shí)使用的電子簽名方式和驗(yàn)證方法基于ECDSA(Elliptic Curve Digital Signature Algorithm:橢圓曲線數(shù)字簽名算法)。關(guān)于基于ECDSA的電子簽名和驗(yàn)證方法,由于使用記載在非專利文獻(xiàn)1等中的通常的技術(shù),所以省略說明。
在步驟S111中設(shè)備200a的證書ID記載在CRL中的情況下,或者在步驟S112中電子簽名的驗(yàn)證不成功的情況下,認(rèn)證處理部103判斷為設(shè)備200a不是合法設(shè)備,進(jìn)行對(duì)設(shè)備200a的錯(cuò)誤通知,并將返回值“錯(cuò)誤”返回給作為該子程序的調(diào)出源的設(shè)備登記處理。此時(shí),在接收到錯(cuò)誤通知的設(shè)備200a側(cè)也將返回值“錯(cuò)誤”返回,控制器與設(shè)備這兩方結(jié)束該子程序處理。
在步驟S112中電子簽名的驗(yàn)證成功的情況下,控制器100的認(rèn)證處理部103判斷為設(shè)備200a是合法設(shè)備,經(jīng)由通信部105,將控制器自身的控制器ID和公鑰證書發(fā)送給設(shè)備200a(步驟S113)。
設(shè)備200a的設(shè)備管理部201經(jīng)由通信部206受理控制器100的控制器ID和公鑰證書,并使認(rèn)證處理部204執(zhí)行基于PKI的認(rèn)證處理。認(rèn)證處理部204首先確認(rèn)控制器的公鑰證書的證書ID沒有記載在由認(rèn)證信息保持部205保持的CRL中這一情況(步驟S114)。
在步驟S114中,在控制器100的證書ID沒有記載在CRL中的情況下,設(shè)備200a的認(rèn)證處理部204驗(yàn)證賦予給控制器100的公鑰證書的認(rèn)證站的電子簽名是否適當(dāng)(步驟S115)。與步驟S112同樣地,此時(shí)使用的電子簽名方式和驗(yàn)證方法基于ECDSA(Elliptic Curve Digital Signature Algorithm:橢圓曲線數(shù)字簽名算法),并省略說明。
在步驟S114中控制器的證書ID記載在CRL中的情況下,或者在步驟S115中電子簽名的驗(yàn)證不成功的情況下,認(rèn)證處理部204判斷為控制器100不是合法設(shè)備,進(jìn)行對(duì)控制器的錯(cuò)誤通知,并將返回值“錯(cuò)誤”返回給作為該子程序的調(diào)出源的設(shè)備登記處理。此時(shí),在接收到錯(cuò)誤通知的控制器側(cè)也將返回值“錯(cuò)誤”返回,控制器與設(shè)備這兩方結(jié)束該子程序處理。
在步驟S115中電子簽名的驗(yàn)證成功的情況下,設(shè)備200a的認(rèn)證處理部204判斷為控制器100是合法控制器,并對(duì)控制器100通知驗(yàn)證成功(步驟S116)。
接著,設(shè)備200a的認(rèn)證處理部204和控制器100的認(rèn)證處理部103進(jìn)行密鑰交換作為用于將共有密鑰共有的處理(步驟S117、S118)。在這里,實(shí)施的密鑰交換方式設(shè)為ECDH(Elliptic Curve Diffie-Hellman),所述ECDH是使用了橢圓曲線加密的密鑰交換方式。關(guān)于ECDH,由于使用記載在非專利文獻(xiàn)2等中的通常的技術(shù),所以省略詳細(xì)的說明。
在利用ECDH的密鑰交換中,控制器100的認(rèn)證處理部103使用控制器自身的私鑰和設(shè)備200a的公鑰證書所包含的設(shè)備200a的公鑰,通過預(yù)定步驟算出值。另一方面,設(shè)備200a的認(rèn)證處理部204使用設(shè)備自身的私鑰和控制器100的公鑰證書所包含的控制器100的公鑰,通過預(yù)定步驟算出值。在這里,在控制器100和設(shè)備200a的每一個(gè)中算出的值成為相同的結(jié)果。這樣一來,根據(jù)共有的值算出共有密鑰。在本實(shí)施方式中,將AES(Advanced Encryption Standard:高級(jí)加密標(biāo)準(zhǔn))的密鑰長(zhǎng)度128比特作為共有密鑰使用,根據(jù)上述共有的值計(jì)算哈希值,將計(jì)算得到的哈希值的高位的128比特作為共有密鑰。
(使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作)
圖19和圖20分別是表示各個(gè)設(shè)備和控制器之間的每一個(gè)的使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作處理的步驟的一例的流程圖,圖21是表示包括設(shè)備與控制器之間的授受的、該處理的步驟的一例的時(shí)序圖。
在本實(shí)施方式中,作為使用了共有密鑰的相互認(rèn)證,進(jìn)行使用了隨機(jī)數(shù)的挑戰(zhàn)應(yīng)答認(rèn)證。
沿著圖19和圖20的流程圖,在說明了設(shè)備和控制器各自的處理的概要后,沿著圖21的時(shí)序圖,說明包括設(shè)備與控制器之間的授受的處理的詳細(xì)情況。
首先,沿著圖19的流程圖,說明設(shè)備中的使用共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作處理的概要。
設(shè)備等待從控制器接收控制器制作的隨機(jī)數(shù)A,在沒有接收到的情況下(步驟S1810為否),繼續(xù)等待。
在從控制器接收到隨機(jī)數(shù)A的情況下(步驟S1810為是),設(shè)備進(jìn)行接收到的隨機(jī)數(shù)A的加密,并且進(jìn)行作為另一隨機(jī)數(shù)的隨機(jī)數(shù)B的制作(步驟S1820)。
然后,設(shè)備將作為加密了的隨機(jī)數(shù)A的加密隨機(jī)數(shù)A’和隨機(jī)數(shù)B發(fā)送給控制器(步驟S1830)。
之后,設(shè)備等待控制器側(cè)的處理。在沒有從控制器接收到加密隨機(jī)數(shù)B’、加密會(huì)話密鑰、加密組密鑰以及會(huì)話有效期間(步驟S1840為否)且接收到錯(cuò)誤的情況下(步驟S1850為是),將“錯(cuò)誤”設(shè)置為該子程序的返回值(步驟S1880)。
在沒有從控制器接收到加密隨機(jī)數(shù)B’、加密會(huì)話密鑰、加密組密鑰以及會(huì)話有效期間(步驟S1840為否)且也沒有接收到錯(cuò)誤的情況下(步驟S1850為否),繼續(xù)等待接收來自控制器的某一個(gè)信息。
在設(shè)備從控制器接收到加密隨機(jī)數(shù)B’、加密會(huì)話密鑰、加密組密鑰以及會(huì)話有效期間的情況下(步驟S1840為是),首先,進(jìn)行與隨機(jī)數(shù)B相關(guān)的驗(yàn)證(步驟S1860)。設(shè)備用保持的共有密鑰對(duì)接收到的加密隨機(jī)數(shù)B’進(jìn)行解密。在解密后的值與在步驟S1820中設(shè)備自身制作的隨機(jī)數(shù)B一致的情況下,判斷為隨機(jī)數(shù)B的驗(yàn)證成功。
在隨機(jī)數(shù)B的驗(yàn)證不成功的情況下(步驟S1860為否),向控制器進(jìn)行錯(cuò)誤通知(步驟S1870)。
然后,將“錯(cuò)誤”設(shè)置為該子程序的返回值(步驟S1880)。
在隨機(jī)數(shù)B的驗(yàn)證成功的情況下(步驟S1860為是),將從控制器接收到的組密鑰和會(huì)話密鑰解密(步驟S1890)。
然后,設(shè)備對(duì)控制器通知驗(yàn)證成功(步驟S1900)。
將“正?!痹O(shè)置為該子程序的返回值(步驟S1910)。
將在步驟S1910或步驟S1880中設(shè)置的返回值作為該子程序的處理結(jié)果,并返回至調(diào)出源的處理(步驟S1920)。
接著,沿著圖20的流程圖,說明控制器中的使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作處理的概要。
控制器制作隨機(jī)數(shù)A,并發(fā)送給設(shè)備(步驟S2010)。
然后,等待在設(shè)備側(cè)的處理中制作的加密隨機(jī)數(shù)A’和隨機(jī)數(shù)B。在沒有從設(shè)備接收到加密隨機(jī)數(shù)A’和隨機(jī)數(shù)B的情況下(步驟S2020為否),繼續(xù)等待直到接收到。
在接收到加密隨機(jī)數(shù)A’、隨機(jī)數(shù)B的情況下(步驟S2020為是),進(jìn)行與隨機(jī)數(shù)A相關(guān)的驗(yàn)證(步驟S2030)。設(shè)備用保持的共有密鑰將接收到的加密隨機(jī)數(shù)A’解密。解密后的值與在步驟S2010中控制器自身制作的隨機(jī)數(shù)A一致的情況下,判斷為隨機(jī)數(shù)A的驗(yàn)證成功。
在隨機(jī)數(shù)A的驗(yàn)證不成功的情況下(步驟S2030為否),向設(shè)備進(jìn)行錯(cuò)誤通知(步驟S2040)。然后,將“錯(cuò)誤”設(shè)置為該子程序的返回值(步驟S2150)。
在隨機(jī)數(shù)A的驗(yàn)證成功的情況下(步驟S2030為是),將從設(shè)備接收到的隨機(jī)數(shù)B加密(步驟S2050)。
然后,確認(rèn)設(shè)備是否是基準(zhǔn)設(shè)備(步驟S2060)。在設(shè)備為最初對(duì)控制器進(jìn)行了連接請(qǐng)求的設(shè)備的情況下或在切斷了與作為基準(zhǔn)設(shè)備的設(shè)備之間的連接的情況下等未進(jìn)行基準(zhǔn)設(shè)備的設(shè)定的情況下,將該設(shè)備設(shè)為基準(zhǔn)設(shè)備。
在設(shè)備是基準(zhǔn)設(shè)備的情況下(步驟S2060為是),制作組密鑰(步驟S2070)。另一方面,在設(shè)備不是基準(zhǔn)設(shè)備的情況下(步驟S2060為否),由于也與該設(shè)備共有已經(jīng)制作并保持的組密鑰,所以取得組密鑰的數(shù)據(jù)(步驟S2080)。
另外,控制器進(jìn)行會(huì)話密鑰的制作和會(huì)話有效期間的設(shè)定(步驟S2090)。
然后,用共有密鑰對(duì)組密鑰和會(huì)話密鑰進(jìn)行加密(步驟S2100)。
之后,將在步驟S2050~步驟S2100的處理中取得的加密隨機(jī)數(shù)B’、加密會(huì)話密鑰、加密組密鑰以及會(huì)話有效期間發(fā)送給設(shè)備(步驟S2110)。
等待設(shè)備側(cè)的驗(yàn)證結(jié)果,在沒有接收到驗(yàn)證成功(步驟S2120為否),且接收到錯(cuò)誤的情況下(步驟S2140為是),將“錯(cuò)誤”設(shè)置為該子程序的返回值(步驟S2150)。
在沒有接收到設(shè)備側(cè)的驗(yàn)證結(jié)果(步驟S2120為否),且也沒有接收到錯(cuò)誤的情況下(步驟S2140為否),繼續(xù)等待來自設(shè)備的結(jié)果。
在從設(shè)備接收到驗(yàn)證成功的情況下(步驟S2120為是),將“正常”設(shè)置為該子程序的返回值(步驟S2130)。
將在步驟S2130或步驟S2150中設(shè)置的返回值返回至該子程序的調(diào)出源的處理(步驟S2160)。
從現(xiàn)在起,沿著圖21的時(shí)序圖,將更詳細(xì)的處理加入設(shè)備與控制器之間的授受并進(jìn)行說明。就設(shè)備而言,雖然使用設(shè)備200a進(jìn)行說明,但不言而喻的是,對(duì)設(shè)備200b和設(shè)備200c也按同樣的步驟進(jìn)行處理。另外,關(guān)于時(shí)序圖,示出了未發(fā)生錯(cuò)誤的情況的例子,關(guān)于錯(cuò)誤發(fā)生時(shí)的處理,用文章進(jìn)行補(bǔ)充。
首先,控制器100的認(rèn)證處理部103制作任意的隨機(jī)數(shù)A,并向設(shè)備200a發(fā)送(步驟S121)。
設(shè)備200a的認(rèn)證處理部204使用保持的共有密鑰對(duì)經(jīng)由通信部206接收到的隨機(jī)數(shù)A進(jìn)行加密,并制作加密隨機(jī)數(shù)A’(步驟S122)。另外,認(rèn)證處理部204制作任意的隨機(jī)數(shù)B(步驟S122)。
設(shè)備200a的認(rèn)證處理部204將在步驟S122中加密了的加密隨機(jī)數(shù)A’和隨機(jī)數(shù)B發(fā)送給控制器100(步驟S123)。
控制器100的認(rèn)證處理部103接收加密隨機(jī)數(shù)A’和隨機(jī)數(shù)B。認(rèn)證處理部103用共有密鑰對(duì)加密隨機(jī)數(shù)A’進(jìn)行解密。在解密后的值與在步驟S121中控制器自身制作的隨機(jī)數(shù)A一致的情況下,認(rèn)證處理部103判斷為與隨機(jī)數(shù)A相關(guān)的驗(yàn)證成功(步驟S124)。
在步驟S124中隨機(jī)數(shù)A的驗(yàn)證不成功的情況下,控制器的認(rèn)證處理部103進(jìn)行對(duì)設(shè)備的錯(cuò)誤通知,并將返回值“錯(cuò)誤”返回至該子程序的調(diào)出源。此時(shí),在接收到錯(cuò)誤通知的設(shè)備側(cè)也將返回值“錯(cuò)誤”返回,控制器與設(shè)備這兩方結(jié)束該子程序處理。
在步驟S124中隨機(jī)數(shù)A的驗(yàn)證成功的情況下,控制器的認(rèn)證處理部103用共有密鑰對(duì)從設(shè)備200a接收到的隨機(jī)數(shù)B進(jìn)行加密,并制作加密隨機(jī)數(shù)B’(步驟S125)。
接著,控制器的認(rèn)證處理部103參照設(shè)備信息保持部102的連接設(shè)備管理表1000的基準(zhǔn)設(shè)備1080這一項(xiàng)目,確認(rèn)設(shè)備200a是否是基準(zhǔn)設(shè)備。在設(shè)備200a是基準(zhǔn)設(shè)備的情況下,制作組密鑰(步驟S126)。組密鑰設(shè)為AES的密鑰長(zhǎng)度128比特,由于使用任意的通常技術(shù)制作,所以省略說明。另外,在設(shè)備200a為最初對(duì)控制器進(jìn)行了連接請(qǐng)求的設(shè)備的情況下、切斷了與作為基準(zhǔn)設(shè)備的設(shè)備之間的連接的情況下等未進(jìn)行基準(zhǔn)設(shè)備的設(shè)定的情況下,將該設(shè)備200a設(shè)定為基準(zhǔn)設(shè)備,并進(jìn)行組密鑰的制作。
另一方面,在參照連接設(shè)備管理表1000并確認(rèn)了設(shè)備200a不是基準(zhǔn)設(shè)備的情況下,認(rèn)證處理部103從設(shè)備信息保持部102保持的連接設(shè)備管理表1000取得已經(jīng)制作完成的組密鑰的信息。
另外,控制器的認(rèn)證處理部103制作會(huì)話密鑰(步驟S127)。關(guān)于會(huì)話密鑰,與組密鑰同樣地,設(shè)為AES的密鑰長(zhǎng)度128比特,使用任意的通常技術(shù)制作。
接著,控制器的認(rèn)證處理部103設(shè)定會(huì)話有效期間(步驟S128)。此時(shí),認(rèn)證處理部103將預(yù)先確定的預(yù)定值(例如,24小時(shí)或72小時(shí)等)設(shè)為會(huì)話有效期間。
控制器的認(rèn)證處理部103使用共有密鑰,對(duì)在步驟S126、S127中得到的組密鑰和會(huì)話密鑰的信息進(jìn)行加密(步驟S129)。
認(rèn)證處理部103經(jīng)由通信部105,將在步驟S125中進(jìn)行了加密的加密隨機(jī)數(shù)B’、在步驟S129中進(jìn)行了加密的加密組密鑰、加密會(huì)話密鑰以及在步驟S128中設(shè)定的會(huì)話有效期間發(fā)送給設(shè)備200a(步驟S130)。
設(shè)備200a的認(rèn)證處理部204驗(yàn)證從控制器100接收到的加密隨機(jī)數(shù)B’(步驟S131)。認(rèn)證處理部204用保持的共有密鑰對(duì)加密隨機(jī)數(shù)B’進(jìn)行解密。在解密后的值與在步驟S122中設(shè)備200a自身制作的隨機(jī)數(shù)B一致的情況下,認(rèn)證處理部204判斷為隨機(jī)數(shù)B的驗(yàn)證成功。
在步驟S131中隨機(jī)數(shù)B的驗(yàn)證不成功的情況下,認(rèn)證處理部204判斷為控制器100不是合法控制器,并進(jìn)行對(duì)控制器100的錯(cuò)誤通知,將返回值“錯(cuò)誤”返回至該子程序的調(diào)出源。此時(shí),在接收到錯(cuò)誤通知的控制器側(cè)也將返回值“錯(cuò)誤”返回,控制器與設(shè)備這兩方結(jié)束該子程序處理。
在步驟S131中隨機(jī)數(shù)B的驗(yàn)證成功的情況下,設(shè)備200a的認(rèn)證處理部204用共有密鑰對(duì)加密組密鑰和加密會(huì)話密鑰進(jìn)行解密(步驟S132)。
另外,設(shè)備200a的認(rèn)證處理部204對(duì)控制器100通知驗(yàn)證成功(步驟S133)。
(設(shè)備歷史信息發(fā)送處理)
圖22是表示從設(shè)備200a對(duì)服務(wù)器300發(fā)送設(shè)備歷史信息的步驟的一例的時(shí)序圖。定期或不定期地進(jìn)行這樣的設(shè)備歷史信息的發(fā)送。另外,在以下說明中,以設(shè)備200a的例示進(jìn)行步驟的說明,但關(guān)于設(shè)備200b、設(shè)備200c,處理的步驟也同樣如此。
設(shè)備的設(shè)備管理部201用會(huì)話密鑰對(duì)存儲(chǔ)在設(shè)備歷史保持部202中的設(shè)備歷史信息進(jìn)行加密,并與設(shè)備自身的設(shè)備ID一起發(fā)送給控制器100(步驟S161)。
控制器100的設(shè)備管理部101經(jīng)由通信部105接收設(shè)備ID和加密了的設(shè)備歷史信息。然后,從設(shè)備信息保持部102具有的連接設(shè)備管理表1000取得與設(shè)備ID關(guān)聯(lián)的會(huì)話密鑰,并將接收到的設(shè)備歷史信息進(jìn)行解密(步驟S162)。
控制器100的通信部105與服務(wù)器300的通信部305進(jìn)行SSL認(rèn)證,并建立加密通信路徑(步驟S163)。在這里,由于SSL認(rèn)證使用通常的技術(shù),所以省略說明。
控制器100的設(shè)備管理部101經(jīng)由通信部105,將控制器自身的控制器ID、從設(shè)備接收到的設(shè)備ID以及解密后的設(shè)備歷史信息發(fā)送給服務(wù)器300(步驟S164)。
服務(wù)器300的設(shè)備信息管理部301將經(jīng)由通信部305接收到的控制器ID、設(shè)備ID以及設(shè)備歷史信息登記在設(shè)備信息保持部302具有的設(shè)備信息管理表1300中(步驟S165)。
(控制信息發(fā)送處理)
圖23是表示服務(wù)器300執(zhí)行設(shè)備200a的控制的步驟的一例的時(shí)序圖。服務(wù)器300對(duì)控制器100發(fā)送用于控制設(shè)備200a的控制請(qǐng)求信息。受理了控制請(qǐng)求的控制器100制作和發(fā)送對(duì)設(shè)備200a的控制命令,并使設(shè)備200a執(zhí)行與控制請(qǐng)求對(duì)應(yīng)的功能。定期或不定期地進(jìn)行這樣的從服務(wù)器300對(duì)設(shè)備200a的控制請(qǐng)求。在控制請(qǐng)求中,例如包括使設(shè)備執(zhí)行的功能、使顯示器顯示的內(nèi)容等。
在以下說明中,以設(shè)備200a的例示進(jìn)行步驟的說明,但關(guān)于設(shè)備200b、設(shè)備200c,處理的步驟也同樣如此。
服務(wù)器300的通信部305與控制器100的通信部105進(jìn)行SSL認(rèn)證,并建立加密通信路徑(步驟S171)。
服務(wù)器300的設(shè)備信息管理部301制作用于使設(shè)備200a執(zhí)行預(yù)定的工作的控制請(qǐng)求信息。然后,經(jīng)由通信部305發(fā)送給控制器100(步驟S172)。
控制器100的設(shè)備管理部101經(jīng)由通信部105接收控制請(qǐng)求信息。然后,設(shè)備管理部101確認(rèn)該控制請(qǐng)求信息是對(duì)網(wǎng)絡(luò)內(nèi)的哪臺(tái)設(shè)備的怎樣的控制請(qǐng)求,并根據(jù)該控制請(qǐng)求,制作用于使設(shè)備200a執(zhí)行的控制命令(步驟S173)。
然后,在步驟S173中制作的控制命令是面向多個(gè)設(shè)備的指示的情況下,控制器100的設(shè)備管理部101使用組密鑰對(duì)控制命令進(jìn)行加密(步驟S174)。此時(shí),也可以將意味著使用組密鑰進(jìn)行了加密之意的信息賦予給將要發(fā)送的控制命令的頭部分。
在步驟S173中制作的控制命令是面向單一設(shè)備的指示的情況下,控制器100的設(shè)備管理部101使用會(huì)話密鑰對(duì)控制命令進(jìn)行加密(步驟S175)。此時(shí),也可以將意味著使用會(huì)話密鑰進(jìn)行了加密之意的信息賦予給將要發(fā)送的控制命令的頭部分。
控制器100的通信部105將使用組密鑰或會(huì)話密鑰進(jìn)行了加密的控制命令發(fā)送給對(duì)象設(shè)備(步驟S176)。
設(shè)備200a經(jīng)由通信部105接收進(jìn)行了加密的控制命令,并用組密鑰或會(huì)話密鑰進(jìn)行解密(步驟S177)。此時(shí),也可以使用在步驟S174或步驟S175中賦予給頭部分的信息來判斷使用組密鑰或會(huì)話密鑰中的哪一方來進(jìn)行解密的判斷。或者,也可以使用組密鑰和會(huì)話密鑰中的每一個(gè)對(duì)控制命令進(jìn)行解密,并使用解密結(jié)果來進(jìn)行判斷。
(設(shè)備歷史信息MAC發(fā)送處理)
在從設(shè)備向控制器發(fā)送設(shè)備歷史信息的情況下,由本來設(shè)備歷史信息的發(fā)送未被準(zhǔn)許的第三方進(jìn)行的、向發(fā)送源設(shè)備的欺詐發(fā)送有時(shí)會(huì)成為問題。
在這里說明的設(shè)備歷史信息MAC發(fā)送處理為了對(duì)抗上述欺詐發(fā)送,發(fā)送源設(shè)備除了設(shè)備歷史信息的加密以外,還生成包括頭、發(fā)送源地址以及發(fā)送目的地地址的MAC,與加密了的設(shè)備歷史信息一起發(fā)送所生成的MAC。
因此,例如,即使第三方進(jìn)行利用篡改的欺詐發(fā)送,也能夠通過進(jìn)行對(duì)MAC的MAC驗(yàn)證來檢測(cè)該篡改,所述篡改對(duì)頭、發(fā)送源地址以及發(fā)送目的地地址等進(jìn)行改寫,所述MAC包括頭、發(fā)送源地址、發(fā)送目的地地址以及設(shè)備歷史信息。
以下,參照?qǐng)D24、圖25,并列舉設(shè)備200a對(duì)連接到家庭局域網(wǎng)400的全部其他設(shè)備(在這里,設(shè)為設(shè)備200b。)和控制器100組播發(fā)送設(shè)備歷史信息的情況來說明設(shè)備歷史信息MAC發(fā)送處理。
圖24是加密前和加密后的消息格式的數(shù)據(jù)結(jié)構(gòu)圖。
圖24(a)是包括加密前的設(shè)備歷史信息(以下,為了方便起見,也將該加密前的設(shè)備歷史信息和后述的控制信息MAC發(fā)送處理中的加密前的控制信息稱為“發(fā)送數(shù)據(jù)”。)的加密前的消息格式的數(shù)據(jù)結(jié)構(gòu)圖。
如該圖所示,加密前的消息格式由頭2401、發(fā)送源地址2402、發(fā)送目的地地址2403以及發(fā)送數(shù)據(jù)2404構(gòu)成。
頭2401包括在發(fā)送數(shù)據(jù)被分割為多個(gè)包(packet)的情況下賦予的片段的標(biāo)志和片段的編號(hào)等。
發(fā)送源地址2402是對(duì)發(fā)送數(shù)據(jù)2404進(jìn)行發(fā)送的設(shè)備的地址,例如是IP(Internet Protocol:互聯(lián)網(wǎng)協(xié)議)地址、MAC(Media Access Control:媒體訪問控制)地址等,并包括對(duì)將要進(jìn)行發(fā)送的設(shè)備進(jìn)行識(shí)別的信息。
發(fā)送目的地地址2403是接收發(fā)送數(shù)據(jù)2404的設(shè)備或控制器的地址,例如是IP地址、MAC地址等,并包括對(duì)接收的設(shè)備或控制器進(jìn)行識(shí)別的信息。也可以設(shè)為包括組播發(fā)送中的組播地址。
設(shè)備200將發(fā)送數(shù)據(jù)2404作為明文進(jìn)行加密。另外,將頭2401、發(fā)送源地址2402、發(fā)送目的地地址2403以及發(fā)送數(shù)據(jù)2404作為明文來生成MAC。此時(shí),加密也可以用AES加密,MAC的生成用AES的CBC-MAC(Cipher Block Chaining MAC)、HMAC(Hash-based MAC)生成。另外,也可以用AES-CCM(Counter with CBCMAC)或AES-GCM(Galois/Counter Mode)等附認(rèn)證加密來進(jìn)行加密和認(rèn)證用數(shù)據(jù)的制作。在進(jìn)行附認(rèn)證加密的情況下,加密也將發(fā)送數(shù)據(jù)2404作為明文,MAC生成也將頭2401、發(fā)送源地址2402、發(fā)送目的地地址2403以及發(fā)送數(shù)據(jù)2404作為明文來實(shí)施。
圖24(b)是加密后的消息格式的數(shù)據(jù)結(jié)構(gòu)圖。
如該圖所示,加密后的消息格式包括頭2401、發(fā)送源地址2402、發(fā)送目的地地址2403以及附認(rèn)證加密數(shù)據(jù)2405。
附認(rèn)證加密數(shù)據(jù)2405是將加密了的發(fā)送數(shù)據(jù)和MAC結(jié)合而成的數(shù)據(jù)。
圖25是表示以從設(shè)備200a對(duì)連接到家庭局域網(wǎng)400的其他全部設(shè)備和控制器(在這里,是設(shè)備200b和控制器100)組播發(fā)送設(shè)備歷史信息的情況下的步驟作為設(shè)備歷史信息MAC發(fā)送處理步驟的一例的時(shí)序圖。
這樣的設(shè)備歷史信息的發(fā)送定期或不定期地進(jìn)行。
設(shè)備200a用組密鑰對(duì)存儲(chǔ)在設(shè)備歷史保持部202中的設(shè)備歷史信息進(jìn)行加密。此時(shí),也可以將用組密鑰進(jìn)行了加密之意的信息賦予給將要發(fā)送的歷史信息的頭部分。
然后,設(shè)備200a根據(jù)頭、發(fā)送源地址、發(fā)送目的地地址以及歷史信息生成MAC(步驟S2501)。
當(dāng)生成MAC時(shí),設(shè)備200a用圖24(b)所示的加密后的消息格式的形式,利用同時(shí)播報(bào)通信(broadcast)對(duì)設(shè)備200b和控制器100發(fā)送附認(rèn)證加密數(shù)據(jù)(步驟S2502)。另外,此時(shí),設(shè)備200a也一并發(fā)送自身的設(shè)備ID。
控制器100用組密鑰將從設(shè)備200a接收到的加密了的發(fā)送數(shù)據(jù)解密并取得設(shè)備歷史信息,并使用頭、發(fā)送源地址、發(fā)送目的地地址以及發(fā)送數(shù)據(jù)進(jìn)行MAC驗(yàn)證(步驟S2503)。此時(shí),也可以在對(duì)頭賦予了用組密鑰進(jìn)行了加密之意的信息的情況下,參照該信息,決定用組密鑰解密。
在步驟S2504的處理中MAC驗(yàn)證成功的情況下(步驟S2504:是),控制器100在與服務(wù)器300之間進(jìn)行SSL認(rèn)證,并建立加密通信路徑(步驟S2505)。
控制器100將自身的控制器ID、從設(shè)備200a接收到的設(shè)備ID以及解密后的設(shè)備歷史信息發(fā)送給服務(wù)器300(步驟S2506)。
服務(wù)器300將從控制器100接收到的控制器ID、設(shè)備ID以及設(shè)備歷史信息登記在設(shè)備信息保持部302具有的設(shè)備信息管理表1300中(步驟S2507)。
在步驟S2504的處理中MAC驗(yàn)證不成功的情況下(步驟S2504:否),控制器100不進(jìn)行向服務(wù)器300的設(shè)備歷史信息的發(fā)送。另外,也可以在MAC驗(yàn)證不成功的情況下,對(duì)與家庭局域網(wǎng)400連接的全部其他設(shè)備和控制器進(jìn)行MAC驗(yàn)證不成功之意的通知。
設(shè)備200b用組密鑰將從設(shè)備200a接收到的加密了的發(fā)送數(shù)據(jù)解密并取得設(shè)備歷史信息,并使用頭、發(fā)送源地址、發(fā)送目的地地址以及發(fā)送數(shù)據(jù)進(jìn)行MAC驗(yàn)證(步驟S2508)。此時(shí),也可以在對(duì)頭賦予了用組密鑰進(jìn)行了加密之意的信息的情況下,參照該信息,決定用組密鑰解密。
在步驟S2509的處理中MAC驗(yàn)證成功的情況下(步驟S2509:是),設(shè)備200b能夠進(jìn)行利用了設(shè)備歷史信息的處理(步驟S2510)。
在步驟S2509的處理中MAC驗(yàn)證不成功的情況下(步驟S2509:是),設(shè)備200b不進(jìn)行利用了設(shè)備歷史信息的處理。另外,也可以在MAC驗(yàn)證不成功的情況下,對(duì)與家庭局域網(wǎng)400連接的全部其他設(shè)備200和控制器100進(jìn)行MAC驗(yàn)證不成功之意的通知。
在這里,列舉設(shè)備200a對(duì)連接到家庭局域網(wǎng)400的全部其他設(shè)備200和控制器100組播(multicast)發(fā)送設(shè)備歷史信息的情況為例,說明設(shè)備歷史信息MAC發(fā)送處理。
與此相對(duì),也可考慮在步驟S2502的處理中,設(shè)備200a將設(shè)備歷史信息僅向控制器100發(fā)送,而不向與家庭局域網(wǎng)400連接的其他設(shè)備發(fā)送的情況的例子。
在該情況下,不會(huì)發(fā)生步驟S2508~步驟S2510的處理。另外,在該情況下,也可以在步驟S2501的處理中,設(shè)備200a用會(huì)話密鑰加密設(shè)備歷史信息,在步驟S2503的處理中,控制器100用會(huì)話密鑰解密設(shè)備歷史信息。
(控制信息MAC發(fā)送處理)
在從控制器向設(shè)備發(fā)送控制命令的情況下,有時(shí)由本來未被準(zhǔn)許發(fā)送控制命令的第三方進(jìn)行的、向發(fā)送源控制器的欺詐發(fā)送成為問題。
在這里說明的控制信息MAC發(fā)送處理中,為了對(duì)抗上述欺詐發(fā)送,發(fā)送源控制器除了控制命令的加密以外,還生成包括頭、發(fā)送源地址、發(fā)送目的地地址以及控制命令的MAC,與加密了的控制命令一起發(fā)送生成的MAC。
因此,例如,即使第三方進(jìn)行由改寫頭、發(fā)送源地址以及發(fā)送目的地地址等的篡改導(dǎo)致的欺詐發(fā)送,也能夠通過進(jìn)行對(duì)包括頭、發(fā)送源地址以及發(fā)送目的地地址的MAC的MAC驗(yàn)證來檢測(cè)該篡改。
以下,參照?qǐng)D24、26并說明變更了控制信息發(fā)送處理(參照?qǐng)D23等)中的一部分處理而成的控制信息MAC發(fā)送處理。
如上所述,圖24(a)是加密前的消息格式的數(shù)據(jù)結(jié)構(gòu)圖。
在設(shè)備歷史信息MAC發(fā)送處理中,說明了發(fā)送數(shù)據(jù)2404為加密前的設(shè)備歷史信息的情況,但在該控制信息MAC發(fā)送處理中,成為發(fā)送數(shù)據(jù)2404是加密前的控制命令的情況的例子。
如上所述,圖24(b)是加密后的消息格式的數(shù)據(jù)結(jié)構(gòu)圖。
在設(shè)備歷史信息MAC發(fā)送處理中,說明了附認(rèn)證加密數(shù)據(jù)2405是將加密了的歷史信息和MAC結(jié)合而成的數(shù)據(jù)的情況,在該控制信息MAC處理中,成為附認(rèn)證加密數(shù)據(jù)2405是將加密了的控制命令和MAC結(jié)合而成的數(shù)據(jù)的情況的例子。
圖26是表示控制信息MAC發(fā)送處理的步驟的一例的時(shí)序圖。
該控制信息MAC發(fā)送處理是將上述控制信息發(fā)送處理中的處理的一部分變更而成的處理。
定期或不定期地進(jìn)行這樣的控制信息MAC發(fā)送處理。
步驟S2601~步驟S2603的處理與控制信息發(fā)送處理中的步驟S171~步驟S173的處理是同樣的處理。因此,由于這些處理的說明已經(jīng)完成,所以省略。
當(dāng)步驟S2603的處理結(jié)束時(shí),在步驟S2603的處理中生成的控制命令是面向多個(gè)設(shè)備的指示的情況下,控制器100用組密鑰加密所生成的控制命令。此時(shí),也可以將用組密鑰進(jìn)行了加密之意的信息賦予給將要發(fā)送的控制命令的頭部分。
然后,控制器100根據(jù)頭、發(fā)送源地址、發(fā)送目的地地址以及控制命令生成MAC(步驟S2604)。
在步驟S2603的處理中生成的控制命令是面向單一設(shè)備的指示的情況下,控制器100用會(huì)話密鑰加密生成的控制命令。此時(shí),也可以將用組密鑰進(jìn)行了加密之意的信息賦予給將要發(fā)送的控制命令的頭部分。
然后,控制器100根據(jù)頭、發(fā)送源地址、發(fā)送目的地地址以及控制命令生成MAC(步驟S2605)。
當(dāng)生成MAC時(shí),控制器以圖24(b)所示的加密后的消息格式的形式,對(duì)成為對(duì)象的設(shè)備發(fā)送附認(rèn)證加密數(shù)據(jù)(步驟S2606)。
接收到附認(rèn)證加密數(shù)據(jù)的設(shè)備(在這里,作為接收到附認(rèn)證加密數(shù)據(jù)的設(shè)備的代表,例如,使用設(shè)備200a進(jìn)行說明。)用組密鑰或會(huì)話密鑰將從控制器100接收到的加密了的發(fā)送數(shù)據(jù)解密并取得控制命令,并使用頭、發(fā)送源地址、發(fā)送目的地地址以及發(fā)送數(shù)據(jù)進(jìn)行MAC驗(yàn)證(步驟S2607)。此時(shí),也可以在對(duì)頭賦予了用組密鑰進(jìn)行了加密之意的信息或用會(huì)話密鑰進(jìn)行了加密之意的信息的情況下,參照該信息,決定使用組密鑰和會(huì)話密鑰中的哪一個(gè)來進(jìn)行解密。
在步驟S2608的處理中MAC處理成功的情況下(步驟S2608:是),設(shè)備200a按照解密而成的控制命令的指示進(jìn)行工作(步驟S2609)。
在步驟S2608的處理中MAC處理不成功的情況下(步驟S2608:否),設(shè)備200a不按照解密后的控制命令的指示。另外,也可以在MAC驗(yàn)證不成功的情況下,對(duì)與家庭局域網(wǎng)400連接的全部其他設(shè)備200和控制器100進(jìn)行MAC驗(yàn)證不成功之意的通知。
在這里,對(duì)MAC對(duì)象(參照?qǐng)D24(a))包括頭2401、發(fā)送源地址2402、發(fā)送目的地地址2403以及發(fā)送數(shù)據(jù)2404進(jìn)行說明。此外,在利用會(huì)話密鑰加密發(fā)送數(shù)據(jù)的情況下,MAC對(duì)象也可以僅包括發(fā)送數(shù)據(jù)2404。在該情況下,在發(fā)送數(shù)據(jù)2404中包括計(jì)數(shù)器、時(shí)序編號(hào)等。由于僅控制器100和相應(yīng)的設(shè)備200共有會(huì)話密鑰,所以由第三方導(dǎo)致的欺詐或重傳攻擊很困難。
在本公開的一個(gè)技術(shù)方案中,在控制命令的發(fā)送中,可以按如下方式進(jìn)行。
在從控制器100向設(shè)備200的控制命令由多個(gè)控制命令構(gòu)成的情況下,也可以將多個(gè)控制命令作為多個(gè)發(fā)送數(shù)據(jù)進(jìn)行發(fā)送。此時(shí),對(duì)多個(gè)發(fā)送數(shù)據(jù)的頭賦予片段的標(biāo)志、片段的編號(hào)等并進(jìn)行發(fā)送。在頭中有片段的標(biāo)志的情況下,由于控制命令包括多個(gè)發(fā)送數(shù)據(jù),所以接收到發(fā)送數(shù)據(jù)的設(shè)備200在接收到多個(gè)發(fā)送數(shù)據(jù)后執(zhí)行控制命令。此時(shí),在對(duì)全部發(fā)送數(shù)據(jù)加密而生成了MAC的情況下,在多個(gè)發(fā)送數(shù)據(jù)中、某一個(gè)的MAC驗(yàn)證不成功時(shí),不執(zhí)行控制命令。另外,也可以在多個(gè)發(fā)送數(shù)據(jù)中、某一個(gè)的MAC驗(yàn)證不成功的情況下,廢棄發(fā)送數(shù)據(jù)而不進(jìn)行以后的賦予了片段標(biāo)志的發(fā)送數(shù)據(jù)的MAC驗(yàn)證。由此,能夠減輕接收到發(fā)送數(shù)據(jù)的設(shè)備200、控制器100的處理。
也可以在不對(duì)全部發(fā)送數(shù)據(jù)生成MAC的情況下,將全部發(fā)送數(shù)據(jù)的頭、發(fā)送源地址、發(fā)送目的地地址以及控制命令結(jié)合,生成MAC并對(duì)最后的發(fā)送數(shù)據(jù)賦予MAC。由此,能夠僅執(zhí)行一次MAC驗(yàn)證來驗(yàn)證全部發(fā)送數(shù)據(jù)的完整性,并能夠減輕接收到發(fā)送數(shù)據(jù)的設(shè)備200、控制器100的處理。
在這里,關(guān)于控制信息MAC發(fā)送處理,以發(fā)送數(shù)據(jù)2404為控制命令進(jìn)行了說明,但不一定限于發(fā)送數(shù)據(jù)2404為控制命令的情況,例如,也可考慮發(fā)送數(shù)據(jù)2404是從服務(wù)器300對(duì)設(shè)備200a的通知的情況的例子。
在該情況下,不發(fā)生步驟S2603的處理,控制器100將從服務(wù)器300接收到的通知按原樣(直接)作為發(fā)送數(shù)據(jù)2404加以利用,并進(jìn)行步驟S2604以后的處理。另外,在該情況下,在步驟S2608的處理中,設(shè)備200a在MAC處理成功的情況下(步驟S2608:是),進(jìn)行將解密后的通知存儲(chǔ)的處理來取代進(jìn)行步驟S2609的處理,在MAC處理不成功的情況下(步驟S2608:否),不進(jìn)行將解密后的通知存儲(chǔ)的處理。
<1.4匯總>
本實(shí)施方式通過從與控制器連接的多臺(tái)設(shè)備之中設(shè)置基準(zhǔn)設(shè)備,在基準(zhǔn)設(shè)備中的組密鑰更新的定時(shí),控制器進(jìn)行對(duì)其他設(shè)備的更新通知,由此使其他設(shè)備執(zhí)行組密鑰的更新。由此,能夠匹配與控制器連接的多臺(tái)設(shè)備的組密鑰更新定時(shí),即使控制器與各設(shè)備進(jìn)行相互認(rèn)證和組密鑰更新,控制器也能夠進(jìn)行加密了的信息的同時(shí)發(fā)送。
另外,在控制器與設(shè)備之間的相互認(rèn)證中,采用了兩種手續(xù)。在控制器與設(shè)備連接時(shí),進(jìn)行基于PKI的使用了公鑰證書的相互認(rèn)證,另一方面,在以后的會(huì)話更新處理時(shí),進(jìn)行使用了共有密鑰的相互認(rèn)證。通常來說,與基于PKI的相互認(rèn)證比較,使用了共有密鑰的相互認(rèn)證的處理負(fù)荷較低。因此,通過采用使用了共有密鑰的手續(xù)作為會(huì)話更新時(shí)的相互認(rèn)證處理,能夠減輕與相互認(rèn)證相關(guān)的處理負(fù)荷。
<2.實(shí)施方式2>
<2-1.概要>
本實(shí)施方式涉及的認(rèn)證系統(tǒng)的不同之處在于,將控制器與各設(shè)備之間的會(huì)話剩余時(shí)間設(shè)定為在相同時(shí)刻具有同樣的值。
以下,為了便于說明,對(duì)于與實(shí)施方式1同樣的構(gòu)成,使用相同的標(biāo)號(hào)。另外,對(duì)于與實(shí)施方式1同樣的構(gòu)成,省略說明并重點(diǎn)說明不同之處。
<2-2.構(gòu)成>
本實(shí)施方式中的認(rèn)證系統(tǒng)、控制器、設(shè)備、服務(wù)器的構(gòu)成分別是與實(shí)施方式1中的認(rèn)證系統(tǒng)10、控制器100、設(shè)備200a~設(shè)備200c、服務(wù)器300同樣的構(gòu)成。但是,控制器100的設(shè)備信息保持部102保持的連接設(shè)備管理表的數(shù)據(jù)結(jié)構(gòu)與實(shí)施方式1一部分不同。
圖24是表示本實(shí)施方式中的連接設(shè)備管理表2000的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
連接設(shè)備管理表2000保持有連接設(shè)備管理記錄組,所述連接設(shè)備管理記錄組是連接著的每臺(tái)設(shè)備的數(shù)據(jù),在各記錄中,包括設(shè)備ID2010、證書ID2020、共有密鑰2030、組密鑰2040、會(huì)話密鑰2050、會(huì)話剩余時(shí)間2060、會(huì)話更新狀態(tài)2070以及基準(zhǔn)設(shè)備2080這些項(xiàng)目。與實(shí)施方式1的不同之處在于,用共同的值對(duì)具有同一組密鑰2040的設(shè)備設(shè)定會(huì)話剩余時(shí)間2060。例如,在圖24中,設(shè)備ID1與設(shè)備ID2保持有作為同一組密鑰的“11223…”,關(guān)于會(huì)話剩余時(shí)間,也均具有“13:40:50”這樣的相同的值。<2-3.工作>
與實(shí)施方式1同樣地,在本實(shí)施方式中,認(rèn)證系統(tǒng)10也進(jìn)行“設(shè)備登記處理”、“會(huì)話更新處理”、“基于PKI的相互認(rèn)證~共有密鑰的制作”、“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”、“設(shè)備歷史信息發(fā)送處理”以及“控制信息發(fā)送處理”。首先,說明“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”的步驟,關(guān)于其他各處理,也按順序以與實(shí)施方式1的不同之處為中心進(jìn)行說明。
(使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作)
與實(shí)施方式1同樣地,沿著圖21的時(shí)序圖中的步驟S121至步驟S133,控制器與設(shè)備進(jìn)行使用了共有密鑰的相互認(rèn)證,并制作作為與會(huì)話相關(guān)的信息的組密鑰、會(huì)話密鑰以及會(huì)話有效期間。
其中,步驟S128中的控制器100的會(huì)話有效期間的設(shè)定方法與實(shí)施方式1不同。
在本實(shí)施方式中,在設(shè)備為基準(zhǔn)設(shè)備的情況下,控制器100的認(rèn)證處理部103將預(yù)先確定的預(yù)定值(例如24小時(shí)或72小時(shí)等)設(shè)定為會(huì)話有效期間。但是,在設(shè)備不是基準(zhǔn)設(shè)備的情況下,按如下方式設(shè)定會(huì)話有效期間(步驟S128)。
控制器100的認(rèn)證處理部103參照設(shè)備信息保持部102具有的連接設(shè)備管理表2000的會(huì)話剩余時(shí)間2060,取得基準(zhǔn)設(shè)備的會(huì)話剩余時(shí)間值。然后,將取得的值設(shè)定為該設(shè)備的會(huì)話有效期間。
以圖24所示的連接設(shè)備管理表2000的數(shù)據(jù)為例進(jìn)行說明,在設(shè)定不是基準(zhǔn)設(shè)備的設(shè)備ID2的設(shè)備所涉及的會(huì)話有效期間時(shí),從連接設(shè)備管理表2000取得作為基準(zhǔn)設(shè)備的設(shè)備ID1的會(huì)話剩余時(shí)間,并設(shè)定為設(shè)備ID2的會(huì)話有效期間。
這樣,通過將不是基準(zhǔn)設(shè)備的設(shè)備的會(huì)話有效期間與該會(huì)話有效期間的設(shè)定時(shí)間點(diǎn)的、基準(zhǔn)設(shè)備的會(huì)話剩余期間相匹配地設(shè)定,這樣一來,基準(zhǔn)設(shè)備和基準(zhǔn)設(shè)備以外的設(shè)備具有近似的會(huì)話剩余時(shí)間。
(設(shè)備登記處理)
與實(shí)施方式1同樣地,沿著圖12的時(shí)序圖中的步驟S101至步驟S107,控制器與設(shè)備進(jìn)行連接請(qǐng)求、基于PKI的相互認(rèn)證~共有密鑰的制作、使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作以及各控制器和設(shè)備的登記。
如上述“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”的步驟記載的那樣,在步驟S103中,將不是基準(zhǔn)設(shè)備的設(shè)備的會(huì)話有效期間設(shè)定為基準(zhǔn)設(shè)備的會(huì)話剩余時(shí)間。
在步驟S104中,與實(shí)施方式1的相同之處在于,無論設(shè)備是否是基準(zhǔn)設(shè)備,設(shè)備側(cè)登記的會(huì)話有效期間都將從控制器100接收到的會(huì)話有效期間登記為會(huì)話剩余時(shí)間。
在步驟S106中,在控制器進(jìn)行不是基準(zhǔn)設(shè)備的設(shè)備的設(shè)備登記時(shí),會(huì)話剩余期間這一項(xiàng)目可以以共有基準(zhǔn)設(shè)備的會(huì)話剩余時(shí)間的形式登記,也可以將在步驟S103中設(shè)定的會(huì)話有效期間登記為會(huì)話剩余時(shí)間。在以任一種形式登記的情況下,圖12的時(shí)序圖中的步驟S103、步驟S104以及步驟S106都立即實(shí)施,并且在控制器100的連接設(shè)備管理表2000中設(shè)定的基準(zhǔn)設(shè)備和不是基準(zhǔn)設(shè)備的設(shè)備所涉及的會(huì)話剩余時(shí)間以及在設(shè)備側(cè)的連接控制器管理表1100中設(shè)定的會(huì)話剩余時(shí)間具有近似值。
(會(huì)話更新處理)
圖25和圖26是表示設(shè)備和控制器各自的、在本實(shí)施方式中的會(huì)話更新處理的步驟的一例的流程圖,圖27是表示包括設(shè)備與控制器之間的授受的、會(huì)話更新處理的步驟的一例的時(shí)序圖。
沿著圖25和圖26的流程圖,在說明了設(shè)備和控制器各自的處理的概要后,沿著圖27的時(shí)序圖,說明包括設(shè)備與控制器之間的授受的處理的詳細(xì)情況。
首先,沿著圖25的流程圖,說明設(shè)備中的會(huì)話更新處理的概要。
設(shè)備監(jiān)視在設(shè)備與控制器之間設(shè)定的會(huì)話剩余時(shí)間,并確認(rèn)是否為預(yù)先確定的預(yù)定值以下(步驟S3010)。在會(huì)話剩余時(shí)間比預(yù)定值大的情況下(步驟S3010為否),繼續(xù)監(jiān)視。
在會(huì)話剩余時(shí)間為預(yù)先確定的預(yù)定值以下的情況下(步驟S3010為是),為了進(jìn)行會(huì)話更新,設(shè)備對(duì)控制器發(fā)送會(huì)話更新請(qǐng)求(步驟S3020)。
然后,通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與控制器進(jìn)行使用了共有密鑰的相互認(rèn)證后,進(jìn)行作為與會(huì)話相關(guān)的信息的組密鑰和會(huì)話密鑰的制作、會(huì)話有效期間的設(shè)定(步驟S3030)。
在步驟S3030的子程序的返回值為“正?!钡那闆r下(步驟S3040為是),設(shè)備將在步驟S3030中制作的與新的會(huì)話相關(guān)的信息登記為會(huì)話更新信息(步驟S3050)。
另一方面,在步驟S3030的子程序的返回值為“錯(cuò)誤”的情況下(步驟S3040為否),結(jié)束會(huì)話更新處理而不進(jìn)行會(huì)話的更新。
接著,沿著圖26的流程圖,說明控制器中的會(huì)話更新處理的概要。
控制器等待來自設(shè)備的會(huì)話更新請(qǐng)求(步驟S3110)。如果未接收到(步驟S3110為否),則繼續(xù)等待來自設(shè)備的會(huì)話更新請(qǐng)求。
當(dāng)控制器從設(shè)備接收到會(huì)話更新請(qǐng)求時(shí)(步驟S3110為是),通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與設(shè)備進(jìn)行使用了共有密鑰的相互認(rèn)證之后,進(jìn)行作為與會(huì)話相關(guān)的信息的組密鑰、會(huì)話密鑰以及會(huì)話有效期間的設(shè)定(步驟S3120)。
在步驟S3130的子程序的返回值為“正?!钡那闆r下(步驟S3130為是),控制器將在步驟S3120中制作的與新的會(huì)話相關(guān)的信息登記為會(huì)話更新信息(步驟S3140)。
另一方面,在步驟S3120的子程序的返回值為“錯(cuò)誤”的情況下(步驟S3130為否),不進(jìn)行與正在執(zhí)行該會(huì)話更新的設(shè)備之間的會(huì)話更新。
然后,在還存在沒有更新會(huì)話的設(shè)備的情況下(步驟S3150為是),返回至最初的步驟,等待來自該會(huì)話未更新設(shè)備的會(huì)話更新請(qǐng)求(步驟S3110)。
在對(duì)全部設(shè)備完成會(huì)話更新處理的情況下(步驟S3150為否),結(jié)束會(huì)話更新處理。
從現(xiàn)在起,沿著圖27的時(shí)序圖,以與實(shí)施方式1的差別為中心,加入設(shè)備與控制器之間的授受來進(jìn)行說明。關(guān)于設(shè)備,作為一例,設(shè)為設(shè)備200a是基準(zhǔn)設(shè)備,設(shè)備200b是基準(zhǔn)設(shè)備以外的設(shè)備。
在會(huì)話剩余時(shí)間成為預(yù)定的閾值以下的時(shí)間點(diǎn),設(shè)備的設(shè)備管理部201向認(rèn)證處理部204指示會(huì)話更新。受理了指示的認(rèn)證處理部204經(jīng)由通信部206,將會(huì)話更新請(qǐng)求發(fā)送給控制器100(步驟S202、步驟S207)。
在這里,在本實(shí)施方式中,基準(zhǔn)設(shè)備以外的設(shè)備具有與基準(zhǔn)設(shè)備保持的會(huì)話剩余時(shí)間近似的會(huì)話剩余時(shí)間。因此,在近似的定時(shí)實(shí)施步驟S202和步驟S207,由此在相同的定時(shí)實(shí)施控制器與各設(shè)備之間的組密鑰更新。
關(guān)于“基于PKI的相互認(rèn)證~共有密鑰的制作”、“設(shè)備歷史信息發(fā)送處理”以及“控制信息發(fā)送處理”,由于與實(shí)施方式1相同,所以省略說明。
<2-4.匯總>
在本實(shí)施方式涉及的認(rèn)證系統(tǒng)中,通過基于基準(zhǔn)設(shè)備以外的會(huì)話有效期間設(shè)定時(shí)間點(diǎn)的、基準(zhǔn)設(shè)備的會(huì)話剩余時(shí)間來設(shè)定基準(zhǔn)設(shè)備以外的設(shè)備的該會(huì)話有效期間,從而基準(zhǔn)設(shè)備與基準(zhǔn)設(shè)備以外的設(shè)備具有近似的值作為會(huì)話剩余時(shí)間。因此,通過各設(shè)備基于該會(huì)話剩余時(shí)間進(jìn)行會(huì)話更新處理,從而在近似的定時(shí)實(shí)施組密鑰的更新,且即使控制器與各設(shè)備進(jìn)行相互認(rèn)證和組密鑰更新,控制器也能夠進(jìn)行加密了的信息的同時(shí)發(fā)送。
<3.實(shí)施方式3>
<3-1.概要>
本實(shí)施方式涉及的認(rèn)證系統(tǒng)的不同之處在于:控制器和各設(shè)備保持用于當(dāng)前使用的組密鑰和用于更新后使用的組密鑰這兩種組密鑰。
以下,為了便于說明,對(duì)于與上述實(shí)施方式同樣的構(gòu)成,使用相同的標(biāo)號(hào)。另外,對(duì)于與上述實(shí)施方式同樣的構(gòu)成,省略說明并重點(diǎn)說明不同之處。
<3-2.構(gòu)成>
本實(shí)施方式中的認(rèn)證系統(tǒng)、控制器、設(shè)備、服務(wù)器的構(gòu)成分別是與實(shí)施方式2中的認(rèn)證系統(tǒng)10、控制器100、設(shè)備200a~設(shè)備200c、服務(wù)器300同樣的構(gòu)成。但是,控制器100的設(shè)備信息保持部102保持的連接設(shè)備管理表的數(shù)據(jù)結(jié)構(gòu)的一部分和設(shè)備信息保持部203保持的連接控制器管理表的數(shù)據(jù)結(jié)構(gòu)的一部分與上述實(shí)施方式不同。
圖28是表示在本實(shí)施方式中控制器100的設(shè)備信息保持部102具有的連接設(shè)備管理表3000的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
連接設(shè)備管理表3000存儲(chǔ)有連接設(shè)備管理記錄組,所述連接設(shè)備管理記錄組是連接著的每臺(tái)設(shè)備的數(shù)據(jù),在各記錄中,包括設(shè)備ID3010、證書ID3020、共有密鑰3030、組密鑰(當(dāng)前)3040、組密鑰(新)3050、會(huì)話密鑰3060、會(huì)話剩余時(shí)間3070、會(huì)話更新狀態(tài)3080以及基準(zhǔn)設(shè)備3090這些項(xiàng)目。關(guān)于組密鑰,具有組密鑰(當(dāng)前)和組密鑰(新)這兩個(gè)項(xiàng)目。
圖29是表示在本實(shí)施方式中設(shè)備的設(shè)備信息保持部203具有的連接控制器管理表3100的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)的一例的圖。
連接控制器管理表3100存儲(chǔ)有連接控制器管理記錄組,所述連接控制器管理記錄組是連接著的控制器的數(shù)據(jù),在各記錄中,包括控制器ID3110、證書ID3120、共有密鑰3130、組密鑰(當(dāng)前)3140、組密鑰(新)3150、會(huì)話密鑰3160以及會(huì)話剩余時(shí)間3170這些項(xiàng)目。與連接設(shè)備管理表3000同樣地,關(guān)于組密鑰,具有組密鑰(當(dāng)前)和組密鑰(新)這兩個(gè)項(xiàng)目。
在這里,控制器和各設(shè)備使用作為組密鑰(當(dāng)前)保持的加密密鑰,進(jìn)行控制器對(duì)各設(shè)備同時(shí)發(fā)送的信息的加密。另一方面,組密鑰(新)是保持在控制器與基準(zhǔn)設(shè)備之間的會(huì)話更新處理中新制作的組密鑰的項(xiàng)目。
<3-3.工作>
與實(shí)施方式2同樣地,本實(shí)施方式中的認(rèn)證系統(tǒng)10也進(jìn)行“設(shè)備登記處理”、“會(huì)話更新處理”、“基于PKI的相互認(rèn)證~共有密鑰的制作”、“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”、“設(shè)備歷史信息發(fā)送處理”以及“控制信息發(fā)送處理”。
(設(shè)備登記處理)
與實(shí)施方式2同樣地,沿著圖12的時(shí)序圖中的步驟S101至步驟S107,控制器與設(shè)備進(jìn)行連接請(qǐng)求、基于PKI的相互認(rèn)證~共有密鑰的制作、使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作以及各控制器和設(shè)備的登記。
其中,在步驟S104中,在設(shè)備200a的認(rèn)證處理部204經(jīng)由設(shè)備管理部201登記連接控制器管理表3100時(shí),在步驟S103中制作的組密鑰的信息登記在組密鑰(當(dāng)前)3140這一項(xiàng)目中(步驟S104)。
另外,在步驟S106中,在控制器100的設(shè)備管理部101登記連接設(shè)備管理表3000時(shí),組密鑰的信息也登記在組密鑰(當(dāng)前)3040這一項(xiàng)目中(步驟S106)。
(會(huì)話更新處理)
圖30和圖31是表示設(shè)備和控制器各自的、在本實(shí)施方式中的會(huì)話更新處理的步驟的一例的流程圖,圖32是表示包括設(shè)備與控制器之間的授受的、會(huì)話更新處理的步驟的一例的時(shí)序圖。
沿著圖30和圖31的流程圖,在說明設(shè)備和控制器中的處理的概要后,沿著圖32的時(shí)序圖,說明包括設(shè)備與控制器之間的授受的處理的詳細(xì)情況。
首先,沿著圖30的流程圖,說明設(shè)備中的會(huì)話更新處理的概要。
設(shè)備監(jiān)視在該設(shè)備與控制器之間設(shè)定的會(huì)話剩余時(shí)間,并確認(rèn)是否為預(yù)先確定的預(yù)定值以下(步驟S4010)。在會(huì)話剩余時(shí)間比預(yù)定值大的情況下(步驟S4010為否),繼續(xù)監(jiān)視。
在會(huì)話剩余時(shí)間為預(yù)先確定的預(yù)定值以下的情況下(步驟S4010為是),為了進(jìn)行會(huì)話更新,設(shè)備對(duì)控制器發(fā)送會(huì)話更新請(qǐng)求(步驟S4020)。
然后,通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與控制器進(jìn)行使用了共有密鑰的相互認(rèn)證后,進(jìn)行作為與會(huì)話相關(guān)的信息的組密鑰和會(huì)話密鑰的制作、會(huì)話有效期間的設(shè)定(步驟S4030)。
在步驟S4030的子程序的返回值為“正?!钡那闆r下(步驟S4040為是),進(jìn)入步驟S4050,設(shè)備將在步驟S4030中制作的與新的會(huì)話相關(guān)的信息登記為會(huì)話更新信息(步驟S4050)。
然后,設(shè)備等待來自控制器的組密鑰更新通知(步驟S4060)。在沒有接收到組密鑰更新通知的情況下(步驟S4060為否),繼續(xù)等待直到接收到。
在接收到組密鑰更新通知的情況下(步驟S4060為是),通過替換當(dāng)前使用的組密鑰和在步驟S4030中新制作的組密鑰來進(jìn)行組密鑰的更新(步驟S4070)。
另一方面,在步驟S4030的子程序的返回值為“錯(cuò)誤”的情況下(步驟S4040為否),結(jié)束會(huì)話更新處理而不進(jìn)行會(huì)話更新。
接著,沿著圖31的流程圖,說明控制器中的會(huì)話更新處理的概要。
控制器等待來自設(shè)備的會(huì)話更新請(qǐng)求(步驟S4110)。如果未接收到(步驟S4110為否),則繼續(xù)等待來自設(shè)備的會(huì)話更新請(qǐng)求。
當(dāng)從設(shè)備接收到會(huì)話更新請(qǐng)求時(shí)(步驟S4110為是),控制器通過執(zhí)行“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”這一子程序,在與設(shè)備進(jìn)行使用了共有密鑰的相互認(rèn)證后,進(jìn)行作為與會(huì)話相關(guān)的信息的組密鑰和會(huì)話密鑰的制作、會(huì)話有效期間的設(shè)定(步驟S4120)。
在步驟S4120的子程序的返回值為“正?!钡那闆r下(步驟S4130為是),控制器將在步驟S4120中制作的與新的會(huì)話相關(guān)的信息登記為會(huì)話更新信息(步驟S4140)。
另一方面,在步驟S4120的子程序的返回值為“錯(cuò)誤”的情況下(步驟S4130為否),不進(jìn)行對(duì)正在執(zhí)行該會(huì)話更新的設(shè)備的會(huì)話更新。
在還存在沒有更新會(huì)話的設(shè)備的情況下(步驟S4150為是),返回最初的步驟,等待來自該會(huì)話未更新設(shè)備的會(huì)話更新請(qǐng)求(步驟S4110)。
在對(duì)全部設(shè)備完成會(huì)話更新處理的情況下(步驟S4150為否),對(duì)使用同一組密鑰的設(shè)備發(fā)送組密鑰更新通知(步驟S4160)。
然后,控制器自身也通過替換當(dāng)前使用的組密鑰和在步驟S4120中新制作的組密鑰來進(jìn)行組密鑰的更新(步驟S4170)。
從現(xiàn)在起,沿著圖32的時(shí)序圖,以與實(shí)施方式2的差別為中心,加入設(shè)備與控制器之間的授受進(jìn)行說明。關(guān)于設(shè)備,作為一例,設(shè)為設(shè)備200a是基準(zhǔn)設(shè)備,設(shè)備200b是基準(zhǔn)設(shè)備以外的設(shè)備。
在本實(shí)施方式中,與實(shí)施方式2同樣地,各設(shè)備根據(jù)會(huì)話剩余時(shí)間請(qǐng)求對(duì)控制器的會(huì)話更新,并進(jìn)行使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作。然后,設(shè)備與控制器登記會(huì)話更新信息。
在步驟S304和步驟S310中,各設(shè)備的設(shè)備管理部201將制作而成的會(huì)話密鑰、組密鑰以及會(huì)話有效時(shí)間登記在設(shè)備信息保持部203保持的連接控制器管理表3100中。此時(shí),制作而成的組密鑰的信息登記在組密鑰(新)3150這一項(xiàng)目中。
另外,在步驟S305和步驟S309中,控制器的設(shè)備管理部101將制作而成的會(huì)話密鑰、組密鑰以及會(huì)話有效時(shí)間登記在設(shè)備信息保持部102具有的連接設(shè)備管理表3000中。此時(shí),制作而成的組密鑰的信息登記在組密鑰(新)3050這一項(xiàng)目中。關(guān)于會(huì)話更新狀態(tài)3080,與上述實(shí)施方式同樣地,在進(jìn)行與基準(zhǔn)設(shè)備之間的會(huì)話更新時(shí),將基準(zhǔn)設(shè)備以外的設(shè)備所涉及的會(huì)話更新狀態(tài)3080的值設(shè)定為“未更新”。然后,在進(jìn)行與基準(zhǔn)設(shè)備以外的設(shè)備之間的會(huì)話更新時(shí),更新為“更新完成”。
然后,控制器100的設(shè)備管理部101參照連接設(shè)備管理表3000的會(huì)話更新狀態(tài)3080這一項(xiàng)目,確認(rèn)是否有“未更新”的設(shè)備。此時(shí),在存在會(huì)話更新狀態(tài)這一項(xiàng)目為“未更新”的設(shè)備的情況下,等待來自該設(shè)備的會(huì)話更新請(qǐng)求。在不存在會(huì)話更新狀態(tài)為“未更新”的設(shè)備的情況下,控制器的設(shè)備管理部101對(duì)使用同一組密鑰進(jìn)行加密通信的全部設(shè)備進(jìn)行組密鑰更新通知(步驟S311)。
當(dāng)設(shè)備的設(shè)備管理部201接收到組密鑰更新通知時(shí),用連接控制器管理表3100的組密鑰(新)3150保持的值來覆寫更新組密鑰(當(dāng)前)3140的值,并刪除設(shè)置在組密鑰(新)3150中的值。
控制器100的設(shè)備管理部101也同樣地,在用連接設(shè)備管理表3000的組密鑰(新)3050保持的值覆寫更新組密鑰(當(dāng)前)3040之后,刪除設(shè)定在組密鑰(新)3050中的值。
關(guān)于“基于PKI的相互認(rèn)證~共有密鑰的制作”、“使用了共有密鑰的相互認(rèn)證~與會(huì)話相關(guān)的信息的制作”、“設(shè)備歷史信息發(fā)送處理”以及“控制信息發(fā)送處理”,由于與上述實(shí)施方式2相同,所以省略說明。
其中,在控制器向設(shè)備同時(shí)發(fā)送的信息的加密中使用的加密密鑰使用控制器和設(shè)備各自作為“組密鑰(當(dāng)前)”保持的加密密鑰。
<3-4.匯總>
在本實(shí)施方式涉及的認(rèn)證系統(tǒng)中,將在控制器與各設(shè)備之間的會(huì)話更新處理中新制作而成的組密鑰保持在與用于加密通信的組密鑰不同的場(chǎng)所。而且,在與連接到控制器的全部設(shè)備之間進(jìn)行會(huì)話更新處理的時(shí)間點(diǎn),控制器進(jìn)行對(duì)設(shè)備的組密鑰更新通知,控制器和各設(shè)備實(shí)施組密鑰的切換。由此,控制器和多個(gè)設(shè)備能夠在相同的定時(shí)進(jìn)行組密鑰的更新,即使控制器與各設(shè)備進(jìn)行相互認(rèn)證和組密鑰更新,控制器也能夠進(jìn)行加密了的信息的同時(shí)發(fā)送。
<4.變形例>
以上,基于實(shí)施方式說明了使用本公開涉及的認(rèn)證方法的認(rèn)證系統(tǒng),但當(dāng)然也能夠按以下方式進(jìn)行變形,本公開不限于上述實(shí)施方式所示的認(rèn)證方法。
(1)在上述實(shí)施方式中,控制器和設(shè)備與一個(gè)網(wǎng)絡(luò)連接。該網(wǎng)絡(luò)既可以是家庭局域網(wǎng),也可以是其他局域網(wǎng)。
(2)在上述實(shí)施方式中,對(duì)一個(gè)控制器設(shè)定了一個(gè)組密鑰,但也可以設(shè)定多個(gè)組密鑰。此時(shí),按使用相同的組密鑰的設(shè)備設(shè)定一臺(tái)基準(zhǔn)設(shè)備。
(3)在上述實(shí)施方式中,在刪除了控制器與基準(zhǔn)設(shè)備之間的連接的情況下,控制器從設(shè)備信息保持部保持的連接設(shè)備管理表中提取其他設(shè)備并設(shè)定為基準(zhǔn)設(shè)備。此時(shí),基準(zhǔn)設(shè)備可以指定電源始終接通的設(shè)備。例如,可以指定冰箱等電源始終接通并工作的設(shè)備。
(4)在上述實(shí)施方式中的使用了共有密鑰的相互認(rèn)證中,進(jìn)行使用共有密鑰和隨機(jī)數(shù)的挑戰(zhàn)應(yīng)答認(rèn)證,但并不限定于此。例如,也可以使用RFC5191Protocol for Carrying Authentication for Network Access(PANA)的認(rèn)證方式。關(guān)于RFC5191,由于使用記載在非專利文獻(xiàn)3中的通常的技術(shù),所以省略說明。
在使用RFC5191的情況下,也可以進(jìn)一步使用EAP-PSK進(jìn)行認(rèn)證。另外,也可以使用作為EAP-PSK的協(xié)商的結(jié)果導(dǎo)出的EMSK來導(dǎo)出會(huì)話密鑰。進(jìn)而,作為此時(shí)的密鑰導(dǎo)出函數(shù),也可以使用HMAC_SHA2_256。
(5)在上述實(shí)施方式中,在設(shè)備登記處理時(shí)和會(huì)話更新處理時(shí),控制器制作組密鑰,并對(duì)設(shè)備分發(fā)。但是,不限定于此,也可以通過在控制器與基準(zhǔn)設(shè)備之間進(jìn)行基于ECDH、DH(Diffie-Hellman)的密鑰交換,從而共有組密鑰。
另外,控制器和基準(zhǔn)設(shè)備分別生成隨機(jī)數(shù),并用共有密鑰加密所生成的隨機(jī)數(shù)并發(fā)送給對(duì)方。而且,也可以用共有密鑰解密接收到的加密隨機(jī)數(shù),并將自身生成的隨機(jī)數(shù)與解密得到的隨機(jī)數(shù)的異或運(yùn)算的結(jié)果作為組密鑰。
這亦可以作為控制器和各設(shè)備中的會(huì)話密鑰的制作步驟使用。
(6)本公開涉及的控制器可以是用于控制器的專用設(shè)備。另外,也可以是設(shè)置于家庭的配電盤。既可以是其他的電視機(jī)等AV設(shè)備,也可以是家電設(shè)備等。
(7)控制器也可以具有顯示連接的設(shè)備的耗電量(功耗量)、蓄電池的功耗以及太陽光發(fā)電的發(fā)電量的功能。
(8)本公開涉及的控制器與設(shè)備之間的通信方式可以是Ethernet(注冊(cè)商標(biāo))、Wi-Fi(Wireless Fidelity)、特定小功率無線、電力線通信以及Bluetooth(注冊(cè)商標(biāo))。
(9)在上述實(shí)施方式1中,在會(huì)話更新處理中,在存在會(huì)話未更新的設(shè)備的情況下,通過對(duì)該設(shè)備發(fā)送會(huì)話更新通知,使設(shè)備開始會(huì)話更新。在這里,也可以在該設(shè)備的電源沒有接通的情況下,控制器對(duì)該設(shè)備定期地發(fā)送會(huì)話更新通知。
(10)在上述實(shí)施方式1中,在會(huì)話更新處理中,在存在會(huì)話未更新的設(shè)備的情況下,通過對(duì)該設(shè)備發(fā)送會(huì)話更新通知,使設(shè)備開始會(huì)話更新。在這里,也可以在根據(jù)在該設(shè)備中有正在執(zhí)行的處理等判斷為設(shè)備不能開始會(huì)話更新處理的情況下,從該設(shè)備對(duì)控制器通知會(huì)話更新的延期時(shí)間,在該延期時(shí)間經(jīng)過后,進(jìn)行會(huì)話更新處理。
(11)在上述實(shí)施方式中,用連接設(shè)備管理表、連接控制器管理表具有的會(huì)話剩余時(shí)間來管理會(huì)話的有效期限。但是,不限定于此,也可以用會(huì)話的開始日期和時(shí)刻、會(huì)話的結(jié)束日期和時(shí)間來管理。例如,也可以在用會(huì)話的開始日期和時(shí)刻進(jìn)行管理的情況下,預(yù)先設(shè)定預(yù)定的會(huì)話有效期間,對(duì)在會(huì)話開始日期和時(shí)刻上追加了會(huì)話有效期間得到的日期和時(shí)間與當(dāng)前的日期和時(shí)間進(jìn)行比較,并判斷是否更新會(huì)話。另外,例如,也可以在用會(huì)話的結(jié)束日期和時(shí)間進(jìn)行管理的情況下,對(duì)當(dāng)前的日期和時(shí)間與會(huì)話的結(jié)束日期和時(shí)間進(jìn)行比較,并判斷是否更新會(huì)話。
(12)在上述實(shí)施方式中,在會(huì)話更新處理中,在設(shè)備側(cè),基于會(huì)話剩余時(shí)間判斷會(huì)話更新的定時(shí),通過向控制器發(fā)送會(huì)話更新請(qǐng)求來開始會(huì)話更新。但是,不限定于此,也可以在控制器側(cè),基于會(huì)話剩余時(shí)間判斷會(huì)話更新的定時(shí),并開始會(huì)話更新。
(13)在上述實(shí)施方式中,在設(shè)備與控制器之間,共有了用于進(jìn)行一對(duì)一加密單播通信的會(huì)話密鑰。但是,也可以不共有會(huì)話密鑰,用組密鑰進(jìn)行設(shè)備與控制器間的全部加密通信。
(14)在上述實(shí)施方式中,在會(huì)話更新處理中,更新組密鑰和會(huì)話密鑰這兩方,但不限定于此,也可以在會(huì)話更新處理時(shí)中,僅更新組密鑰或僅更新會(huì)話密鑰。
(15)具體而言,作為上述實(shí)施方式中的認(rèn)證系統(tǒng)涉及的裝置的控制器、設(shè)備以及服務(wù)器由處理器、存儲(chǔ)器等構(gòu)成。在存儲(chǔ)器中記錄有計(jì)算機(jī)程序。通過處理器按照記錄在存儲(chǔ)器中的計(jì)算機(jī)程序進(jìn)行工作,各裝置實(shí)現(xiàn)其功能。在這里,計(jì)算機(jī)程序是為了實(shí)現(xiàn)預(yù)定的功能而將表示對(duì)計(jì)算機(jī)的指令的多條命令代碼組合而構(gòu)成的。
(16)構(gòu)成上述實(shí)施方式中的認(rèn)證系統(tǒng)涉及的各裝置的構(gòu)成要素的一部分或全部可以包括一個(gè)系統(tǒng)LSI(Large Scale Integration:大規(guī)模集成電路)。構(gòu)成上述各裝置的構(gòu)成要素的各部分既可以形成為獨(dú)立的單片,也可以形成為包括一部分或全部的單片。
另外,雖然在這里記述為系統(tǒng)LSI,但根據(jù)集成度的不同,有時(shí)也稱呼為IC(Integrated Circuit:集成電路)、LSI、超級(jí)LSI以及超大規(guī)模LSI。另外,集成電路化的方法不限于LSI,也可以用專用電路或通用處理器來實(shí)現(xiàn)。在LSI制造后,也可以利用可編程的FPGA(Field Programmable Gate Array:現(xiàn)場(chǎng)可編程門陣列)、能夠?qū)SI內(nèi)部的電路單元的連接、設(shè)定重構(gòu)的可重構(gòu)處理器。
進(jìn)而,如果因半導(dǎo)體技術(shù)的進(jìn)步或派生的其他技術(shù)出現(xiàn)代替LSI的集成電路化的技術(shù),當(dāng)然也可以使用該技術(shù)進(jìn)行功能塊的集成化。也有可能應(yīng)用生物技術(shù)等。
(17)構(gòu)成上述實(shí)施方式中的認(rèn)證系統(tǒng)涉及的各裝置的構(gòu)成要素的一部分或全部可以由可拆裝于各裝置的IC卡或單個(gè)模塊構(gòu)成。該IC卡或該模塊也可以具有防篡改性。
(18)本公開也可以是上述的方法。另外,既可以是利用計(jì)算機(jī)實(shí)現(xiàn)這些方法的計(jì)算機(jī)程序,也可以是由所述計(jì)算機(jī)程序構(gòu)成的數(shù)字信號(hào)。也可以將這些計(jì)算機(jī)程序存儲(chǔ)在存儲(chǔ)器中,并利用處理器執(zhí)行。
另外,本公開也可以將所述計(jì)算機(jī)程序或所述數(shù)字信號(hào)記錄于計(jì)算機(jī)可讀記錄介質(zhì),例如軟盤、硬盤、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注冊(cè)商標(biāo))Disc)以及半導(dǎo)體存儲(chǔ)器等。另外,也可以是記錄在這些記錄介質(zhì)中的所述數(shù)字信號(hào)。
另外,本公開也可以經(jīng)由電通信線路、無線或有線通信線路、以互聯(lián)網(wǎng)為代表的網(wǎng)絡(luò)以及數(shù)據(jù)同時(shí)播報(bào)等傳送所述計(jì)算機(jī)程序或所述數(shù)字信號(hào)。
另外,本公開是具備處理器和存儲(chǔ)器的計(jì)算機(jī)系統(tǒng),所述存儲(chǔ)器記錄有上述計(jì)算機(jī)程序,所述處理器按照所述計(jì)算機(jī)程序工作。
此外,也可以通過將所述計(jì)算機(jī)程序或所述數(shù)字信號(hào)記錄在所述記錄介質(zhì)中進(jìn)行移送、或者通過將所述計(jì)算機(jī)程序或所述數(shù)字信號(hào)經(jīng)由所述網(wǎng)絡(luò)等移送,從而由其他獨(dú)立的計(jì)算機(jī)系統(tǒng)實(shí)施。
(19)本公開也可以將上述各實(shí)施方式和上述各變形例部分地組合。
<5.補(bǔ)充>
以下,進(jìn)一步說明本公開涉及的認(rèn)證方法的一個(gè)實(shí)施方式及其效果。
(a)本公開涉及的認(rèn)證方法是控制器、第一設(shè)備以及第二設(shè)備共有組密鑰,且所述控制器對(duì)所述第一設(shè)備和所述第二設(shè)備進(jìn)行使用所述組密鑰加密了的信息的同時(shí)發(fā)送的認(rèn)證系統(tǒng)中的所述控制器、所述第一設(shè)備以及所述第二設(shè)備之間的認(rèn)證方法,其特征在于,包括:第一相互認(rèn)證步驟,所述控制器與所述第一設(shè)備執(zhí)行相互認(rèn)證,制作組密鑰并共有,并且將所述第一設(shè)備設(shè)定為基準(zhǔn)設(shè)備;第二相互認(rèn)證步驟,所述控制器與所述第二設(shè)備執(zhí)行相互認(rèn)證,并使所述第二設(shè)備也共有在所述第一相互認(rèn)證步驟中制作而成的組密鑰;第三相互認(rèn)證步驟,在所述第二相互認(rèn)證步驟之后,所述控制器與作為所述基準(zhǔn)設(shè)備的所述第一設(shè)備再次執(zhí)行相互認(rèn)證,更新所述組密鑰,并共有更新后的組密鑰;以及第四相互認(rèn)證步驟,在所述控制器和所述基準(zhǔn)設(shè)備更新所述組密鑰的組密鑰更新定時(shí),所述控制器與不是所述基準(zhǔn)設(shè)備的所述第二設(shè)備執(zhí)行相互認(rèn)證,并使所述第二設(shè)備也共有所述更新后的組密鑰。
由此,通過從連接到控制器的設(shè)備之中設(shè)定基準(zhǔn)設(shè)備,其他設(shè)備基于該基準(zhǔn)設(shè)備中的組密鑰更新的定時(shí)進(jìn)行組密鑰的更新,從而能夠匹配多個(gè)設(shè)備間的組密鑰更新的定時(shí),即使控制器與各設(shè)備進(jìn)行相互認(rèn)證和組密鑰更新,控制器也能夠進(jìn)行加密了的信息的同時(shí)發(fā)送。
(b)也可以在上述(a)涉及的認(rèn)證方法中,所述控制器、所述第一設(shè)備以及所述第二設(shè)備與一個(gè)家庭局域網(wǎng)連接。
由此,能夠匹配連接到家庭局域網(wǎng)的控制器與各個(gè)設(shè)備之間的組密鑰更新定時(shí),即使控制器與各設(shè)備進(jìn)行相互認(rèn)證和組密鑰更新,控制器也能夠進(jìn)行加密了的信息的同時(shí)發(fā)送。
(c)在上述(a)涉及的認(rèn)證方法中,還可以包括組密鑰更新通知步驟,當(dāng)所述控制器與作為所述基準(zhǔn)設(shè)備的所述第一設(shè)備更新所述組密鑰并共有時(shí),對(duì)沒有共有該更新后的組密鑰的所述第二設(shè)備發(fā)送組密鑰更新通知,所述組密鑰更新定時(shí)是所述第二設(shè)備接收到所述組密鑰更新通知的定時(shí)。
由此,在控制器與基準(zhǔn)設(shè)備之間更新組密鑰以后,沒有共有該更新后的組密鑰的設(shè)備從控制器接收組密鑰更新通知并更新組密鑰,由此能夠匹配與控制器連接的多臺(tái)設(shè)備的組密鑰更新定時(shí)。
(d)在上述(a)涉及的認(rèn)證方法中,在所述第一相互認(rèn)證步驟中,所述控制器與所述第一設(shè)備還設(shè)定第一會(huì)話期間,在所述第二相互認(rèn)證步驟中,所述控制器與所述第二設(shè)備還設(shè)定基于所述第一會(huì)話期間和從所述第一會(huì)話期間設(shè)定時(shí)間點(diǎn)起的經(jīng)過期間的第二會(huì)話期間,所述控制器和所述第一設(shè)備基于從所述第一會(huì)話期間設(shè)定時(shí)間點(diǎn)起的經(jīng)過期間和所述第一會(huì)話期間,開始所述第三相互認(rèn)證步驟,所述組密鑰更新定時(shí)是基于從所述第二會(huì)話期間設(shè)定時(shí)間點(diǎn)起的經(jīng)過期間和所述第二會(huì)話期間的定時(shí)。
由此,控制器與基準(zhǔn)設(shè)備以外的設(shè)備之間的會(huì)話期間基于控制器與基準(zhǔn)設(shè)備之間的會(huì)話剩余期間而設(shè)定,通過與連接到控制器的各設(shè)備基于該會(huì)話期間進(jìn)行組密鑰更新,能夠匹配與控制器連接的多臺(tái)設(shè)備的組密鑰更新定時(shí)。
(e)在上述(a)涉及的認(rèn)證方法中,也可以包括第一共有密鑰共有步驟,所述控制器擁有控制器自身的私鑰和公鑰證書,所述第一設(shè)備擁有第一設(shè)備自身的私鑰和公鑰證書,進(jìn)而所述控制器和所述第一設(shè)備制作第一共有密鑰并共有;所述第一相互認(rèn)證步驟中的相互認(rèn)證是基于公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure),使用彼此擁有的所述公鑰證書進(jìn)行相互認(rèn)證的公鑰認(rèn)證,所述第三相互認(rèn)證步驟中的相互認(rèn)證是使用所述第一共有密鑰進(jìn)行相互認(rèn)證的共有密鑰認(rèn)證。
在這里,例如,在控制器與設(shè)備連接時(shí),進(jìn)行基于PKI的使用公鑰證書的相互認(rèn)證,另一方面,在以后的會(huì)話更新處理時(shí),進(jìn)行使用了共有密鑰的相互認(rèn)證。與通常基于PKI的相互認(rèn)證比較,使用了共有密鑰的相互認(rèn)證的處理負(fù)荷較低,因此通過采用使用了共有密鑰的手續(xù),能夠減輕與相互認(rèn)證相關(guān)的處理負(fù)荷。
(f)也可以在上述(e)涉及的認(rèn)證方法中,所述第一共有密鑰共有步驟中,所述控制器和所述第一設(shè)備通過密鑰交換共有第一共有密鑰,所述共有密鑰認(rèn)證中,所述控制器和所述第一設(shè)備基于使用相互制作而成的隨機(jī)數(shù)和所述第一共有密鑰的挑戰(zhàn)應(yīng)答認(rèn)證進(jìn)行相互認(rèn)證。
由此,控制器和設(shè)備能夠通過使用了共有密鑰和隨機(jī)數(shù)的挑戰(zhàn)應(yīng)答認(rèn)證,確認(rèn)彼此的合法性。
(g)也可以是,在上述(e)涉及的認(rèn)證方法中,包括第二共有密鑰共有步驟,所述第二設(shè)備擁有第二設(shè)備自身的私鑰和公鑰證書,進(jìn)而所述控制器和所述第二設(shè)備制作第二共有密鑰并共有,所述第二相互認(rèn)證步驟中的相互認(rèn)證是基于公鑰基礎(chǔ)設(shè)施,并使用彼此擁有的所述公鑰證書進(jìn)行相互認(rèn)證的公鑰認(rèn)證,所述第四相互認(rèn)證步驟中的相互認(rèn)證是使用所述第二共有密鑰進(jìn)行相互認(rèn)證的共有密鑰認(rèn)證。
由此,控制器和與控制器連接的全部設(shè)備組合進(jìn)行基于PKI的相互認(rèn)證、和使用共有密鑰的相互認(rèn)證這兩種手續(xù),由此能夠減輕與相互認(rèn)證相關(guān)的處理負(fù)荷。
(h)本公開涉及的認(rèn)證系統(tǒng)是控制器、第一設(shè)備以及第二設(shè)備共有組密鑰,且所述控制器對(duì)所述第一設(shè)備和所述第二設(shè)備進(jìn)行使用所述組密鑰加密了的信息的同時(shí)發(fā)送的認(rèn)證系統(tǒng),其特征在于,具備:第一相互認(rèn)證單元,所述控制器與所述第一設(shè)備執(zhí)行相互認(rèn)證,制作組密鑰并共有,并且將所述第一設(shè)備設(shè)定為基準(zhǔn)設(shè)備;第二相互認(rèn)證單元,所述控制器與所述第二設(shè)備執(zhí)行相互認(rèn)證,并使所述第二設(shè)備也共有在所述第一相互認(rèn)證步驟中制作而成的組密鑰;第三相互認(rèn)證單元,在所述第二相互認(rèn)證步驟之后,所述控制器與作為所述基準(zhǔn)設(shè)備的所述第一設(shè)備再次執(zhí)行相互認(rèn)證,更新所述組密鑰,并共有更新后的組密鑰;以及第四相互認(rèn)證單元,在所述控制器和所述基準(zhǔn)設(shè)備更新所述組密鑰的組密鑰更新定時(shí),使所述控制器與不是所述基準(zhǔn)設(shè)備的所述第二設(shè)備執(zhí)行相互認(rèn)證,并使所述第二設(shè)備也共有所述更新后的組密鑰。
由此,通過從連接到控制器的設(shè)備之中設(shè)定基準(zhǔn)設(shè)備,其他設(shè)備基于該基準(zhǔn)設(shè)備中的組密鑰更新的定時(shí)進(jìn)行組密鑰的更新,從而能夠匹配多個(gè)設(shè)備間的組密鑰更新的定時(shí),即使控制器與各設(shè)備進(jìn)行相互認(rèn)證和組密鑰更新,控制器也能夠進(jìn)行加密了的信息的同時(shí)發(fā)送。
產(chǎn)業(yè)上的可利用性
本公開涉及的認(rèn)證方法能夠活用于在控制器對(duì)連接的多臺(tái)設(shè)備進(jìn)行使用組密鑰加密了的信息的同時(shí)發(fā)送的網(wǎng)絡(luò)系統(tǒng)中,控制器與各設(shè)備之間的相互認(rèn)證和組密鑰更新等。
標(biāo)號(hào)說明
10 認(rèn)證系統(tǒng)
100 控制器
101 設(shè)備管理部
102 設(shè)備信息保持部
103 認(rèn)證處理部
104 認(rèn)證信息保持部
105 通信部
200a、200b、200c 設(shè)備
201 設(shè)備管理部
202 設(shè)備歷史保持部
203 設(shè)備信息保持部
204 認(rèn)證處理部
205 認(rèn)證信息保持部
206 通信部
300 服務(wù)器
301 設(shè)備信息管理部
302 設(shè)備信息保持部
303 CRL管理部
304 CRL保持部
305 通信部
400 家庭局域網(wǎng)
500 網(wǎng)絡(luò)
1000 連接設(shè)備管理表
1100 連接控制器管理表
1300 設(shè)備信息管理表
2000 連接設(shè)備管理表
3000 連接設(shè)備管理表
3100 連接控制器管理表