JP7226602B1 - 秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラム - Google Patents

秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラム Download PDF

Info

Publication number
JP7226602B1
JP7226602B1 JP2022013911A JP2022013911A JP7226602B1 JP 7226602 B1 JP7226602 B1 JP 7226602B1 JP 2022013911 A JP2022013911 A JP 2022013911A JP 2022013911 A JP2022013911 A JP 2022013911A JP 7226602 B1 JP7226602 B1 JP 7226602B1
Authority
JP
Japan
Prior art keywords
secure element
management server
device management
secret information
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022013911A
Other languages
English (en)
Other versions
JP2023112251A (ja
Inventor
優 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toppan Inc
Original Assignee
Toppan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toppan Inc filed Critical Toppan Inc
Priority to JP2022013911A priority Critical patent/JP7226602B1/ja
Application granted granted Critical
Publication of JP7226602B1 publication Critical patent/JP7226602B1/ja
Publication of JP2023112251A publication Critical patent/JP2023112251A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】IoTデバイス(デバイス)に保存される秘密情報を抑制しつつ秘密情報の更新時に暗号通信を行う。【解決手段】デバイスにより使用される秘密情報をデバイス管理サーバ(サーバ)が管理して配信し、サーバにより配信された秘密情報がデバイスに接続されたセキュアエレメント(SE)に保存される秘密情報配信システムでは、デバイスにより使用される秘密情報をサーバが配信する前にSEのIDを用いてマスター鍵から生成された派生鍵がSEに予め書き込まれ、サーバによる秘密情報の配信開始時にSEはSEのIDをサーバに送信し、サーバは所有するマスター鍵とSEのIDとを用いてSEが所有する派生鍵と同一の派生鍵を生成し、SEが所有する派生鍵を用いサーバが生成した同一の派生鍵を用いて、SEとサーバとの間の認証と暗号通信とが行われる。【選択図】図1

Description

本発明は、秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラムに関する。
特許文献1には、IoT(Internet of Things)デバイスとデバイス管理サーバとサービス提供サーバとデバイス製造者とを含むデバイス管理システムについて記載されている。特許文献1に記載された技術では、サービス提供サーバとIoTデバイスとの間の通信で使用される証明書および鍵が、デバイス管理サーバから配信される。
ところで、特許文献1には、証明書および鍵が、具体的にどのようなデータ形式で配信されるかについて記載されていない。つまり、特許文献1には、証明書および鍵をデバイス管理サーバからIoTデバイスに配信する時に行われるデバイス管理サーバとIoTデバイスとの間の認証および暗号通信について記載されていない。
デバイス管理サーバとIoTデバイスとの間で認証および暗号通信が行われる場合には、認証および暗号通信に使用される秘密情報(例えば鍵、乱数、認証用データなど)をデバイス管理サーバとIoTデバイスとに保存する必要がある。一方、IoTデバイスに保存可能なデータ量には制限があるため、認証および暗号通信に使用される秘密情報が多い場合には、IoTデバイスに保存領域を確保するためのコストがかかってしまう。
特許文献2には、作業機械における鍵更新システムについて記載されている。特許文献2に記載された技術では、作業機械が情報処理に使用する鍵が、作業機械の記憶装置(鍵管理装置)によって、あるいは、作業機械の外部に設けられた鍵サーバによって管理される。また、作業機械が情報処理に使用する鍵の有効期限が、作業機械のコントローラによって設定される。
特許文献2に記載された技術では、サーバ(更新鍵生成手段)または作業機械のコントローラが更新用の鍵である更新鍵を生成する。また、更新後の鍵が、同じエリア内に存在する他の作業機械に、鍵交換処理によって配布される。
特許文献2に記載された技術では、複数の作業機械の各々の記憶装置が、サーバの鍵および複数の作業機械の全ての鍵を管理しており、鍵は複数の作業機械毎に異なっており、サーバの鍵は複数の作業機械の各々の鍵のいずれとも異なっている。あるいは、特許文献2に記載された技術では、サーバの鍵および複数の作業機械の全ての鍵を作業機械の各々が管理するのではなく、作業機械の外部に設けられた鍵サーバがそれらの鍵を一括管理する。
特許文献2に記載された技術のように、全ての機械が他の全ての機械の暗号鍵を所有する場合には、各機械が保存するデータ量が多くなってしまう。また、1台の機械から情報が漏洩してしまうと、全ての機械に影響を与えてしまうため、個々の機械が高い安全性を有する必要がある。
IoTの分野において、サーバとIoTデバイスとの間で暗号理論を用いた認証を行い、認証が成功したIoTデバイスのみとサーバが通信する技術がある。例えば下記のURLが示すwebサイトに記載されているように、Amazon Web Serviceには、サーバとIoTデバイスとの間で電子証明書を用いて相互に正当性を確認する仕組みがある。
https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/authentication.html
電子証明書の安全性は暗号理論により担保されているが、コンピュータの性能向上や暗号解読技術の進歩により、使用した暗号の情報が解読されてしまうおそれがある。そのため、安全性・信頼性を維持する目的で電子証明書には有効期限が設定されており、継続して通信する場合は有効期限を適切に管理して電子証明書を更新する必要がある。
特許文献1には、IoTデバイスの有効期間を考慮した管理を行う技術について記載されている。特許文献1に記載された技術では、デバイスが使用する公開鍵と秘密鍵とクライアント証明書とをデバイス管理サーバに要求して、配布された公開鍵と秘密鍵とクライアント証明書とを受信して保持することによって、IoTデバイスの有効期間を考慮した管理が行われる。
電子証明書以外の情報を用いた認証を行い、認証が成功したIoTデバイスと通信を行う手法も可能であり、例えば共通鍵と乱数を用いたチャレンジ&レスポンス方式によって認証を行うことが可能である(例えば下記のURLが示すwebサイト等参照)。電子証明書と同様に共通鍵に有効期限を設定および管理して更新してもよい。
https://jpn.nec.com/iot/platform/security/lcdk/index.html
特許文献2に記載された技術では、比較的短い周期で定期的に鍵の更新が行われる。つまり、特許文献2に記載された技術では、電子証明書を使わず暗号鍵に有効期限を設定して、期限が近い暗号鍵の更新が行われる。
特許文献2に記載された技術では、上述したように、更新後の鍵が、同じエリア内に存在する他の作業機械に、鍵交換処理によって配布される。また、特許文献2に記載された技術では、複数の作業機械の各々が認証および暗号化を行い、記憶装置が複数の作業機械の全ての鍵を管理している。つまり、特許文献2に記載された技術では、鍵の更新時に、複数の作業機械の全ての鍵を用いて認証および暗号化が行われる。
特開2020-202500号公報 特開2021-097267号公報
上述したようにIoTデバイスに保存される秘密情報が多いとコストがかかる点に鑑み、本発明は、IoTデバイスに保存される秘密情報を抑制しつつ、秘密情報の更新時に暗号通信を行うことができる秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラムを提供することを目的とする。
本発明の一態様は、IoTデバイスによって使用される秘密情報を、デバイス管理サーバが管理して配信し、前記デバイス管理サーバによって配信された前記秘密情報が、前記IoTデバイスに接続されたセキュアエレメントに保存される秘密情報配信システムであって、前記デバイス管理サーバは、マスター鍵を所有しており、前記IoTデバイスによって使用される前記秘密情報を前記デバイス管理サーバが配信する前に、前記セキュアエレメントのIDを用いて前記マスター鍵から生成された派生鍵が、前記セキュアエレメントに予め書き込まれ、前記デバイス管理サーバによる前記秘密情報の配信開始時に、前記セキュアエレメントは、前記セキュアエレメントのIDを前記デバイス管理サーバに送信し、前記デバイス管理サーバは、前記マスター鍵と前記セキュアエレメントのIDとを用いることによって、前記セキュアエレメントが所有する前記派生鍵と同一の派生鍵を生成し、前記セキュアエレメントが所有する前記派生鍵を用いると共に、前記デバイス管理サーバが生成した前記同一の派生鍵を用いることによって、前記セキュアエレメントおよび前記デバイス管理サーバは、前記セキュアエレメントと前記デバイス管理サーバとの間の認証と、前記秘密情報を前記デバイス管理サーバから前記セキュアエレメントに配信するための前記セキュアエレメントと前記デバイス管理サーバとの間の暗号通信とを行う、秘密情報配信システムである。
本発明の一態様は、IoTデバイスによって使用される秘密情報を、デバイス管理サーバが管理して配信し、前記デバイス管理サーバによって配信された前記秘密情報が、前記IoTデバイスに接続されたセキュアエレメントに保存される秘密情報配信方法であって、前記デバイス管理サーバがマスター鍵を所有するマスター鍵所有ステップと、前記IoTデバイスによって使用される前記秘密情報を前記デバイス管理サーバが配信する前に、前記セキュアエレメントのIDを用いて前記マスター鍵から生成された派生鍵が、前記セキュアエレメントに予め書き込まれる派生鍵書き込みステップと、前記デバイス管理サーバによる前記秘密情報の配信開始時に、前記セキュアエレメントが、前記セキュアエレメントのIDを前記デバイス管理サーバに送信するID送信ステップと、前記デバイス管理サーバが、前記マスター鍵と前記セキュアエレメントのIDとを用いることによって、前記セキュアエレメントが所有する前記派生鍵と同一の派生鍵を生成する同一派生鍵生成ステップと、前記セキュアエレメントが所有する前記派生鍵を用いると共に、前記デバイス管理サーバが生成した前記同一の派生鍵を用いることによって、前記セキュアエレメントおよび前記デバイス管理サーバが、前記セキュアエレメントと前記デバイス管理サーバとの間の認証と、前記秘密情報を前記デバイス管理サーバから前記セキュアエレメントに配信するための前記セキュアエレメントと前記デバイス管理サーバとの間の暗号通信とを行う認証暗号通信ステップとを備える秘密情報配信方法である。
本発明の一態様は、IoTデバイスによって使用される秘密情報を管理して配信するデバイス管理サーバであって、前記デバイス管理サーバによって配信された前記秘密情報は、前記IoTデバイスに接続されたセキュアエレメントに保存され、前記デバイス管理サーバは、マスター鍵を所有しており、前記IoTデバイスによって使用される前記秘密情報を前記デバイス管理サーバが配信する前に、前記セキュアエレメントのIDを用いて前記マスター鍵から生成された派生鍵が、前記セキュアエレメントに予め書き込まれ、前記デバイス管理サーバによる前記秘密情報の配信開始時に、前記デバイス管理サーバは、前記セキュアエレメントによって送信された前記セキュアエレメントのIDを受信し、前記デバイス管理サーバは、前記マスター鍵と前記セキュアエレメントのIDとを用いることによって、前記セキュアエレメントが所有する前記派生鍵と同一の派生鍵を生成し、前記デバイス管理サーバは、前記デバイス管理サーバが生成した前記同一の派生鍵を用いることによって、前記セキュアエレメントが所有する前記派生鍵を用いる前記セキュアエレメントとの間の認証と、前記秘密情報を前記デバイス管理サーバから前記セキュアエレメントに配信するための前記セキュアエレメントとの間の暗号通信とを行う、デバイス管理サーバである。
本発明の一態様は、デバイス管理サーバを構成するコンピュータに、IoTデバイスによって使用される秘密情報を管理して配信する秘密情報管理配信ステップと、マスター鍵を所有するマスター鍵所有ステップとを実行させるためのプログラムであって、前記秘密情報管理配信ステップにおいて配信された前記秘密情報は、前記IoTデバイスに接続されたセキュアエレメントに保存され、前記秘密情報管理配信ステップが実行される前に、前記セキュアエレメントのIDを用いて前記マスター鍵から生成された派生鍵が、前記セキュアエレメントに予め書き込まれ、前記秘密情報管理配信ステップには、前記セキュアエレメントによって送信された前記セキュアエレメントのIDを受信するセキュアエレメントID受信ステップと、前記マスター鍵と前記セキュアエレメントのIDとを用いることによって、前記セキュアエレメントが所有する前記派生鍵と同一の派生鍵を生成する同一派生鍵生成ステップと、前記同一派生鍵生成ステップにおいて生成された前記同一の派生鍵を用いることによって、前記セキュアエレメントが所有する前記派生鍵を用いる前記セキュアエレメントとの間の認証を行う認証ステップと、前記秘密情報を前記セキュアエレメントに配信するための前記セキュアエレメントとの間の暗号通信を行う暗号通信ステップとが含まれる、プログラムである。
本発明によれば、IoTデバイスに保存される秘密情報を抑制しつつ、秘密情報の更新時に暗号通信を行うことができる秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラムを提供することができる。
第1実施形態の秘密情報配信システム1の一例を示す図である。 IoTデバイス11とサービス提供サーバ12との間の暗号通信が行われる前であって、デバイス管理サーバ13からセキュアエレメント14への秘密情報Aの配信が行われる前に第1実施形態の秘密情報配信システム1において行われる事前準備の一例を説明するための図である。 図2に示す事前準備の詳細を説明するためのシーケンス図である。 デバイス管理サーバ13による秘密情報Aの配信開始時に第1実施形態の秘密情報配信システム1において実行される処理の一例を説明するためのシーケンス図である。 IoTデバイス11がセキュアエレメント14内の更新の失敗に対応する処理としてデバイス管理サーバ13にエラー通知を行う例を説明するためのシーケンス図である。 セキュアエレメント14内の更新が失敗する例としてIoTデバイス11からセキュアエレメント14へのデータ送信時にプロトコルエラーが発生する例を説明するためのシーケンス図である。 デバイス管理サーバ13による秘密情報Aの配信開始時に第2実施形態の秘密情報配信システム1において実行される処理の一例を説明するためのシーケンス図である。
<第1実施形態>
以下、添付図面を参照し、本発明の秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラムの実施形態について説明する。
図1は第1実施形態の秘密情報配信システム1の一例を示す図である。
図1に示す例では、秘密情報配信システム1に、IoTデバイス11と、サービス提供サーバ12と、デバイス管理サーバ13と、セキュアエレメント14とが含まれる。
IoTデバイス11は、例えばエアコン、照明装置、冷蔵庫、洗濯機などのアクチュエータ、例えば監視カメラ等のカメラ、センサ等である。
サービス提供サーバ12は、IoTデバイス11にサービスを提供する。IoTデバイス11が例えばエアコン、照明装置、冷蔵庫、洗濯機などのアクチュエータである例では、サービス提供サーバ12が、例えばアクチュエータに対する制御信号を生成する処理、アクチュエータから送信されたデータを分析する処理などを行うサービスを提供する。IoTデバイス11が例えば監視カメラ等のカメラである例では、サービス提供サーバ12が、例えばカメラに対する制御信号を生成する処理、例えばカメラによって撮影された画像を録画する処理、例えばカメラによって撮影された画像を分析する処理などを行うサービスを提供する。IoTデバイス11がセンサである例では、サービス提供サーバ12が、例えばセンサから送信された検出データを分析する処理などを行うサービスを提供する。
デバイス管理サーバ13は、例えばサービス提供サーバ12がIoTデバイス11にサービスを提供するためにIoTデバイス11とサービス提供サーバ12との間の暗号通信が行われる時などに、IoTデバイス11によって使用される秘密情報Aを管理して配信する。
セキュアエレメント14は、耐タンパ性のある例えばICチップ等であり、デバイス管理サーバ13によって配信された秘密情報Aが保存されるセキュリティの高い領域である。セキュアエレメント14は、IoTデバイス11に接続されており、例えばIoTデバイス11内に配置されている。
IoTデバイス11とサービス提供サーバ12とデバイス管理サーバ13とは、ネットワークNWに接続されている。
図2はIoTデバイス11とサービス提供サーバ12との間の暗号通信が行われる前であって、デバイス管理サーバ13からセキュアエレメント14への秘密情報Aの配信が行われる前に第1実施形態の秘密情報配信システム1において行われる事前準備の一例を説明するための図である。
図2に示す例では、セキュアエレメント14のID(identification)を用いてマスター鍵MKから生成された派生鍵DKが、セキュアエレメント14に書き込まれる。詳細には、IoTデバイス11によって使用される秘密情報A(図1参照)をデバイス管理サーバ13が配信する前に、セキュアエレメント14のIDを用いてマスター鍵MKから生成された派生鍵DKが、セキュアエレメント14に書き込まれる。
図3は図2に示す事前準備の詳細を説明するためのシーケンス図である。
図3に示す例では、ステップS1において、デバイス管理サーバ13が、セキュアエレメント14にセキュアエレメント14のIDを要求する。詳細には、デバイス管理サーバ13は、ネットワークNW(図2参照)を介することなく、セキュアエレメント14にセキュアエレメント14のIDを要求する。
次いで、ステップS2では、セキュアエレメント14が、ネットワークNWを介することなく、デバイス管理サーバ13にセキュアエレメント14のIDを送信する。
次いで、ステップS3では、デバイス管理サーバ13が、所有しているマスター鍵MK(図2参照)と、ステップS2においてセキュアエレメント14から送信されたセキュアエレメント14のIDとから、セキュアエレメント14固有の派生鍵DK(図2参照)を生成する。
図3に示す例では、デバイス管理サーバ13が、マスター鍵MKとセキュアエレメント14のIDとを結合してハッシュ関数に入力することによって派生鍵DKを生成する。他の例では、デバイス管理サーバ13が、その手法とは異なる手法によって派生鍵DKを生成してもよい。
図3示す例では、次いで、ステップS4において、デバイス管理サーバ13が、ステップS3において生成された派生鍵DKをセキュアエレメント14に発行する。つまり、セキュアエレメント14のIDを用いてマスター鍵MKから生成された派生鍵DKが、セキュアエレメント14に書き込まれる。
図3に示す例では、上述したように、デバイス管理サーバ13とセキュアエレメント14とが通信を行うことによって派生鍵DKがセキュアエレメント14に発行される。他の例では、セキュアエレメント14の工場(図示せず)とデバイス管理サーバ13とがマスター鍵MKを共有し、セキュアエレメント14の工場が、マスター鍵MKとセキュアエレメント14のIDとからセキュアエレメント14固有の派生鍵DKを生成し、その派生鍵DKをセキュアエレメント14に発行してもよい。
図4はデバイス管理サーバ13による秘密情報Aの配信開始時に第1実施形態の秘密情報配信システム1において実行される処理の一例を説明するためのシーケンス図である。
図4に示す例では、ステップS5において、IoTデバイス11(詳細には、例えばサービス提供サーバ12からサービスの提供を受けようとするIoTデバイス11)が、セキュアエレメント14にセキュアエレメント14のIDを要求する。
次いで、ステップS6では、セキュアエレメント14が、セキュアエレメント14のIDをIoTデバイス11に送信する。
次いで、ステップS7では、IoTデバイス11が、セキュアエレメント14のIDをデバイス管理サーバ13に送信する。また、IoTデバイス11は、秘密情報A(図1参照)の更新が必要であると判断し、秘密情報Aの更新をデバイス管理サーバ13に要求する。
図4に示す例では、IoTデバイス11が、秘密情報Aの更新が必要であると判断するが、他の例では、デバイス管理サーバ13が、秘密情報Aの更新が必要であると判断してもよい。
図4に示す例では、次いで、ステップS8において、デバイス管理サーバ13が、図3のステップS3と同様の手順により、所有しているマスター鍵MK(図2参照)と、ステップS7においてIoTデバイス11から送信されたセキュアエレメント14のIDとを用いることによって、セキュアエレメント14が所有する派生鍵DK(図2参照)と同一の派生鍵DKcopyを生成する。また、デバイス管理サーバ13は、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられる乱数Mを生成する。
次いで、ステップS9では、デバイス管理サーバ13が、ステップS8において生成された乱数MをIoTデバイス11に送信する。
次いで、ステップS10では、IoTデバイス11が、その乱数Mをセキュアエレメント14に送信する。
次いで、ステップS11では、セキュアエレメント14が、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられる乱数N(つまり、上述した乱数Mとは異なる乱数N)を生成する。また、セキュアエレメント14は、図3のステップS4において書き込まれた派生鍵DKと、ステップS10においてIoTデバイス11から送信された乱数Mと、乱数Nとを用いることによって、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられるセッション鍵SK(1回の通信のセッションだけに用いられる暗号鍵)を生成する。更に、セキュアエレメント14は、このセッション鍵SKを用いて認証用のデータXを生成する。
図4に示す例では、セキュアエレメント14が、乱数Mと乱数Nとを結合し、セッション鍵SKで暗号化することによって認証用のデータXを生成する。他の例では、セキュアエレメント14が、異なる手法を用いることによって認証用のデータXを生成してもよい。
図4に示す例では、次いで、ステップS12において、セキュアエレメント14が、乱数Nおよび認証用のデータXをIoTデバイス11に送信する。
次いで、ステップS13では、IoTデバイス11が、乱数Nおよび認証用のデータXをデバイス管理サーバ13に送信する。
次いで、ステップS14では、デバイス管理サーバ13が、ステップS8において生成した同一の派生鍵DKcopyと、ステップS8において生成した乱数Mと、ステップS13においてIoTデバイス11から送信された乱数Nとを用いることによって、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられるセッション鍵SKSを生成する。また、デバイス管理サーバ13は、このセッション鍵SKSを用いて認証用のデータYを生成する。更に、デバイス管理サーバ13は、このセッション鍵SKSを用いることによって、ステップS13においてIoTデバイス11から送信された認証用のデータX(つまり、ステップS11においてセキュアエレメント14によって生成された認証用のデータX)の検証を行う。すなわち、セキュアエレメント14とデバイス管理サーバ13との間の認証がデバイス管理サーバ13において行われる。
図4に示す例では、デバイス管理サーバ13が、乱数Mと乱数Nとを結合してセッション鍵SKで暗号化した結果が認証用のデータXと一致するか否かを確認することによって、認証用のデータXの検証を行う。仮に、セキュアエレメント14が派生鍵DKを所有しない不正なセキュアエレメントである場合、セキュアエレメント14は、デバイス管理サーバ13が生成したセッション鍵と同一のセッション鍵を生成することができず、デバイス管理サーバ13による認証用のデータXの検証が失敗になるような認証用のデータXを生成する(つまり、そのような認証用のデータXしか生成できない)。そのため、デバイス管理サーバ13は、セキュアエレメント14が不正なセキュアエレメントであることを検知することができる。
他の例では、デバイス管理サーバ13が、その手法とは異なる手法を用いることによって、認証用のデータXの検証を行ってもよい。
図4に示す例では、次いで、ステップS15において、デバイス管理サーバ13が、認証用のデータYをIoTデバイス11に送信する。
次いで、ステップS16では、IoTデバイス11が、認証用のデータYをセキュアエレメント14に送信する。
次いで、ステップS17では、セキュアエレメント14が、ステップS11において生成したセッション鍵SKと乱数Mと乱数Nとを用いることによって、ステップS16においてIoTデバイス11から送信された認証用のデータY(つまり、ステップS14においてデバイス管理サーバ13によって生成された認証用のデータY)の検証を行う。すなわち、セキュアエレメント14とデバイス管理サーバ13との間の認証がセキュアエレメント14において行われる。
図4に示す例では、セキュアエレメント14が、乱数Mと乱数Nとを結合してセッション鍵SKで暗号化した結果が認証用のデータYと一致するか否かを確認することによって、認証用のデータYの検証を行う。仮に、デバイス管理サーバ13がマスター鍵MKを所有しない不正なサーバである場合、デバイス管理サーバ13は、セキュアエレメント14が生成したセッション鍵と同一のセッション鍵を生成することができず、セキュアエレメント14による認証用のデータYの検証が失敗になるような認証用のデータYを生成する(つまり、そのような認証用のデータYしか生成できない)。そのため、セキュアエレメント14は、デバイス管理サーバ13が不正なサーバであることを検知することができる。
他の例では、セキュアエレメント14が、その手法とは異なる手法を用いることによって、認証用のデータYの検証を行ってもよい。
図4に示す例では、セキュアエレメント14とデバイス管理サーバ13との間の認証が、セキュアエレメント14およびデバイス管理サーバ13のそれぞれで行われるが、他の例では、セキュアエレメント14とデバイス管理サーバ13との間の認証が、セキュアエレメント14およびデバイス管理サーバ13の一方のみで行われてもよい。
図4に示す例では、次いで、ステップS18において、セキュアエレメント14は、認証用のデータYの検証結果がOK(成功)である旨をIoTデバイス11に送信する。
次いで、ステップS19において、IoTデバイス11は、認証用のデータYの検証結果がOK(成功)である旨をデバイス管理サーバ13に送信する。
次いで、ステップS20において、デバイス管理サーバ13は、セキュアエレメント14から送信された認証用のデータYの検証結果がOK(成功)であるため、IoTデバイス11とサービス提供サーバ12との間の暗号通信においてIoTデバイス11によって使用される秘密情報Aを生成する。つまり、デバイス管理サーバ13は、セキュアエレメント14による認証用のデータYの検証結果に基づいて、秘密情報Aを生成する。また、デバイス管理サーバ13は、ステップS14において生成したセッション鍵SKS(つまり、同一の派生鍵DKcopyを用いて生成したセッション鍵SKS)を用いて秘密情報Aの暗号化を行う。更に、デバイス管理サーバ13は、セッション鍵SKSを用いることによって、認証に用いられるメッセージ認証コード(MAC)を生成して秘密情報Aに付与する。
図4に示す例では、セッション鍵SKSを用いるが、他の例では、同一の派生鍵DKcopyを使用した認証と暗号化ができればよいため、セッション鍵SKSを用いなくてもよい。ただし、前方秘匿性を持たせるためにセッション鍵SKSを用いる方が望ましい。
図4に示す例では、次いで、ステップS21において、デバイス管理サーバ13が、暗号化した秘密情報AおよびMACをIoTデバイス11に送信する。
次いで、ステップS22では、IoTデバイス11が、暗号化した秘密情報AおよびMACをセキュアエレメント14に送信する。
つまり、秘密情報Aをデバイス管理サーバ13からセキュアエレメント14に配信するためのセキュアエレメント14とデバイス管理サーバ13との間の暗号通信が行われる。
図4に示す例では、次いで、ステップS23において、セキュアエレメント14が、ステップS11において生成したセッション鍵SKを用いてMACを検証し、改ざんやすり替えをされていないことを確認する。問題がなければ、セキュアエレメント14は、セッション鍵SKを用いて秘密情報Aを復号し、セキュアエレメント14内の秘密情報Aを更新する。更新完了後(つまり、デバイス管理サーバ13からセキュアエレメント14への秘密情報Aの配信完了後)、セキュアエレメント14は、セッション鍵SKを用いてMACを生成し、そのMACを更新結果に付与する。
次いで、ステップS24では、セキュアエレメント14が、更新結果(OK)(つまり、セキュアエレメント14が更新に成功したこと)およびMACをIoTデバイス11に送信する。
次いで、ステップS25では、IoTデバイス11が、更新結果(OK)およびMACをデバイス管理サーバ13に送信する。
次いで、ステップS26では、デバイス管理サーバ13が、ステップS14において生成したセッション鍵SKSを用いてMACを検証し、改ざんやすり替えをされていないことを確認する。
図4に示す例では、上述したように、例えばIoTデバイス11にサービスを提供するサービス提供サーバ12とIoTデバイス11との間の暗号通信が行われる時などに、IoTデバイス11によって使用される秘密情報Aが、ステップS20~ステップS23において、デバイス管理サーバ13からセキュアエレメント14に配信される。そのため、IoTデバイス11は、デバイス管理サーバ13からセキュアエレメント14に配信された秘密情報Aを使用することによって、サービス提供サーバ12との間の暗号通信を行うことができる。
図4に示す例では、秘密情報Aが、IoTデバイス11にサービスを提供するサービス提供サーバ12とIoTデバイス11との間の暗号通信が行われる時にIoTデバイス11によって使用されるが、他の例では、IoTデバイス11が他の用途に秘密情報Aを用いてもよい。
詳細には、図3および図4に示す例では、秘密情報Aをデバイス管理サーバ13からセキュアエレメント14に配信するために、セキュアエレメント14が、所有する派生鍵DK(図3のステップS4において書き込まれた派生鍵DK)を用いると共に、デバイス管理サーバ13が、ステップS8において生成した同一の派生鍵DKcopyを用いる。
換言すれば、図3および図4に示す例では、IoTデバイス11(あるいは、セキュアエレメント14)は、IoTデバイス11がサービス提供サーバ12との間の暗号通信を行わない時に、例えばステップS11において生成されたセッション鍵SKなどを保存し続ける必要がない。つまり、IoTデバイス11は、デバイス管理サーバ13からセキュアエレメント14に配信された秘密情報Aを用いてサービス提供サーバ12との間の暗号通信を行い、サービス提供サーバ12との間の暗号通信の終了後には、セッション鍵SKなどをセキュアエレメント14から消去することができる。
その結果、図3および図4に示す例では、IoTデバイス11(あるいは、セキュアエレメント14)にセッション鍵SKなどを保存し続ける必要がある場合よりもIoTデバイス11(あるいは、セキュアエレメント14)の記憶容量を抑制しつつ、IoTデバイス11が、デバイス管理サーバ13からセキュアエレメント14に配信された秘密情報Aを用いてサービス提供サーバ12との間の暗号通信を安全に行うことができる。
更に、図3および図4に示す例では、セキュアエレメント14が、所有する派生鍵DK(図3のステップS4において書き込まれた派生鍵DK)を用いると共に、デバイス管理サーバ13が、ステップS8において生成した同一の派生鍵DKcopyを用いることによって、秘密情報Aの更新時に、セキュアエレメント14とデバイス管理サーバ13との間の暗号通信を安全に行うことができる。
また、図3および図4に示す例では、秘密情報Aの更新時にセキュアエレメント14とデバイス管理サーバ13との間の暗号通信を行うために、IoTデバイス11(あるいは、セキュアエレメント14)は、図3のステップS4においてセキュアエレメント14に書き込まれた派生鍵DKを保存しておくだけでよい。
そのため、図3および図4に示す例では、既存の手法(例えばサーバの鍵および複数の作業機械の全ての鍵を記憶する必要がある特許文献2に記載された技術など)より少ない情報を保存するだけで、IoTデバイス11およびセキュアエレメント14内の情報を安全に更新することができる。
ところで、図4に示すような秘密情報Aの更新時などに、例えば通信状況が悪いと、秘密情報A等の更新が、途中で失敗する場合がある。そのような場合、セキュアエレメント14は、デバイス管理サーバ13に対して秘密情報A等の更新を再度要求するか(詳細には、秘密情報A等の更新に必要な情報を再送するか)、あるいは、秘密情報A等の更新に失敗したことをデバイス管理サーバ13に通知する必要がある。
一方、特許文献1あるいは特許文献2には、そのような技術について記載されていない。管理対象の暗号鍵(例えば図4に示す乱数Mなど)を用いてセキュアエレメント14とデバイス管理サーバ13との間の認証および暗号通信を行っている時にデバイス管理サーバ13が秘密情報A等の更新の成否を把握できない場合には、次回以降の秘密情報A等の更新が失敗し続けてしまうおそれがある。
そこで、第1実施形態の秘密情報配信システム1では、デバイス管理サーバ13による秘密情報Aの配信開始時(図4のステップS5以降)に、セキュアエレメント14が、セキュアエレメント14内の更新に途中で失敗し、更新の失敗の原因をIoTデバイス11に送信した場合、IoTデバイス11は、セキュアエレメント14内の更新の失敗の原因に応じて、セキュアエレメント14内の更新の失敗に対応する処理を切り替える。
図5はIoTデバイス11がセキュアエレメント14内の更新の失敗に対応する処理としてデバイス管理サーバ13にエラー通知を行う例を説明するためのシーケンス図である。
図5に示す例では、ステップS35において、IoTデバイス11が、セキュアエレメント14にセキュアエレメント14のIDを要求する。
次いで、ステップS36では、セキュアエレメント14が、セキュアエレメント14のIDをIoTデバイス11に送信する。
次いで、ステップS37では、IoTデバイス11が、セキュアエレメント14のIDをデバイス管理サーバ13に送信する。また、IoTデバイス11は、秘密情報A(図1参照)の更新が必要であると判断し、秘密情報Aの更新をデバイス管理サーバ13に要求する。
次いで、ステップS38では、デバイス管理サーバ13が、所有しているマスター鍵MK(図2参照)と、ステップS37においてIoTデバイス11から送信されたセキュアエレメント14のIDとを用いることによって、セキュアエレメント14が所有する派生鍵DK(図2参照)と同一の派生鍵DKcopyを生成する。また、デバイス管理サーバ13は、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられる乱数Mを生成する。
詳細には、ステップS38において生成される乱数Mのデータ形式に誤りが発生する。例えば、8byteの乱数Mを生成する必要があるにもかかわらず、4byteの乱数Mが生成されてしまう等の誤りが発生する。
次いで、ステップS39では、デバイス管理サーバ13が、ステップS38において生成された乱数M(つまり、データ形式に誤りがある乱数M)をIoTデバイス11に送信する。
次いで、ステップS40では、IoTデバイス11が、その乱数Mをセキュアエレメント14に送信する。
次いで、ステップS41では、セキュアエレメント14が、乱数Mのデータ形式の誤りを検知する。つまり、セキュアエレメント14が、秘密情報Aの更新に途中で失敗する。その結果、図4のステップS11とは異なり、乱数Nの生成、セッション鍵SKの生成および認証用のデータXの生成は行われない。
次いで、ステップS42では、セキュアエレメント14が、IoTデバイス11に対してエラー通知(乱数Mのデータ形式が誤っている旨の通知)を行う。つまり、セキュアエレメント14が、秘密情報Aの更新の失敗の原因をIoTデバイス11に送信する。
図5に示す例では、セキュアエレメント14が、ISO7816-4の規定に基づいて、0x6700という2byteの状態バイトをIoTデバイス11に返すことによって、乱数Mのデータの長さが誤っている状態を通知する。
他の例では、セキュアエレメント14が、その手法とは異なる手法を用いることによって、IoTデバイス11に対してエラー通知を行ってもよい。
図5に示す例では、次いで、ステップS43において、IoTデバイス11が、セキュアエレメント14からのエラー通知によって、乱数Mのデータ形式の誤りを検知する。
次いで、ステップS44では、IoTデバイス11が、秘密情報Aの更新の失敗の原因に応じて、更新の失敗に対応する処理を切り替えて実行する。
図5に示す例では、ステップS44において、IoTデバイス11が、デバイス管理サーバ13に対してエラー通知(乱数Mのデータ形式が誤っている旨の通知)を行う。また、IoTデバイス11は、秘密情報Aの更新をデバイス管理サーバ13に要求する。
詳細には、図5に示す例では、ステップS44において、IoTデバイス11が、ISO7816-4の規定に基づいて、0x6700という2byteの状態バイト(つまり、セキュアエレメント14から送信された状態バイト)をデバイス管理サーバ13にそのまま返す。
他の例では、IoTデバイス11が、その手法とは異なる手法を用いることによって、デバイス管理サーバ13に対してエラー通知を行ってもよい。例えば、IoTデバイス11が、0x6700の意味を解釈した上で「データ形式誤り」という文字列に変換したものをデバイス管理サーバ13に送信してもよい。
更に他の例では、IoTデバイス11が、秘密情報Aの更新の失敗をデバイス管理サーバ13に伝える代わりに、適切なサイズの乱数Mを生成してセキュアエレメント14に送信してもよい。この場合、IoTデバイス11は、生成した乱数Mをデバイス管理サーバ13にも送信する。その結果、IoTデバイス11が生成した乱数Mが、デバイス管理サーバ13によって共有される。
上述したように、図5に示す例では、IoTデバイス11が、秘密情報Aの更新の失敗の原因をデバイス管理サーバ13に送信すると共に、乱数M(つまり、秘密情報Aの更新用のデータ)の再送をデバイス管理サーバ13に要求するが、秘密情報Aの更新の失敗の原因が異なる他の例では、IoTデバイス11が、秘密情報Aの更新の失敗の原因に応じて、セキュアエレメント14に秘密情報Aの更新用のデータを再度送信する、秘密情報Aの更新の失敗の原因をデバイス管理サーバ13に伝える等の処理を切り替えて行う。
図6はセキュアエレメント14内の更新が失敗する例としてIoTデバイス11からセキュアエレメント14へのデータ送信時にプロトコルエラーが発生する例を説明するためのシーケンス図である。
図6に示す例では、ステップS55において、IoTデバイス11が、セキュアエレメント14にセキュアエレメント14のIDを要求する。
次いで、ステップS56では、セキュアエレメント14が、セキュアエレメント14のIDをIoTデバイス11に送信する。
次いで、ステップS57では、IoTデバイス11が、セキュアエレメント14のIDをデバイス管理サーバ13に送信する。また、IoTデバイス11は、秘密情報A(図1参照)の更新が必要であると判断し、秘密情報Aの更新をデバイス管理サーバ13に要求する。
次いで、ステップS58では、デバイス管理サーバ13が、所有しているマスター鍵MK(図2参照)と、ステップS57においてIoTデバイス11から送信されたセキュアエレメント14のIDとを用いることによって、セキュアエレメント14が所有する派生鍵DK(図2参照)と同一の派生鍵DKcopyを生成する。また、デバイス管理サーバ13は、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられる乱数Mを生成する。
次いで、ステップS59では、デバイス管理サーバ13が、ステップS58において生成された乱数MをIoTデバイス11に送信する。
次いで、ステップS60では、IoTデバイス11が、その乱数Mをセキュアエレメント14に送信するものの、プロトコルエラーが発生する(つまり、IoTデバイス11とセキュアエレメント14との間の通信が失敗する)。
そのため、乱数Mを受信できなかったセキュアエレメント14が、ステップS61において、プロトコルエラーが発生した旨の通知(エラー通知)をIoTデバイス11に送信する。
次いで、ステップS62では、IoTデバイス11が、プロトコルエラーを検知する。
次いで、ステップS63では、IoTデバイス11が、乱数Mをセキュアエレメント14に再送する。
図6に示す例では、ステップS63において、IoTデバイス11が、乱数Mをセキュアエレメント14に再送するが、他の例では、IoTデバイス11が、エラーが発生した旨をデバイス管理サーバ13に伝えると共に、乱数Mをセキュアエレメント14に送信する等の処理を中止してもよい。
更に他の例では、IoTデバイス11が、セキュアエレメント14への乱数Mの送信を所定回数だけ試みて、それでもエラーが解決しない場合(つまり、セキュアエレメント14への乱数Mの送信が1度も成功しない場合)に、乱数Mをセキュアエレメント14に送信する等の処理を中止してもよい。
図6に示す例では、次いで、ステップS64において、図4のステップS11と同様に、セキュアエレメント14が、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられる乱数Nを生成する。また、セキュアエレメント14は、図3のステップS4において書き込まれた派生鍵DKと、ステップS63においてIoTデバイス11から再送された乱数Mと、乱数Nとを用いることによって、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられるセッション鍵SKを生成する。更に、セキュアエレメント14は、このセッション鍵SKを用いて認証用のデータXを生成する。
次いで、ステップS65では、図4のステップS12と同様に、セキュアエレメント14が、乱数Nおよび認証用のデータXをIoTデバイス11に送信する。
次いで、ステップS66では、図4のステップS13と同様に、IoTデバイス11が、乱数Nおよび認証用のデータXをデバイス管理サーバ13に送信する。
以降は、図4のステップS14以降の処理と同様な処理が実行され、デバイス管理サーバ13からセキュアエレメント14への秘密情報Aの配信が行われる。
上述したように、図5および図6に示す例では、デバイス管理サーバ13による秘密情報Aの配信開始時(図4のステップS5以降)に、セキュアエレメント14が、セキュアエレメント14内の更新に途中で失敗し、更新の失敗の原因をIoTデバイス11に送信した場合、IoTデバイス11は、セキュアエレメント14内の更新の失敗の原因に応じて、セキュアエレメント14内の更新の失敗に対応する処理(図5のステップS43およびステップS44、図6のステップS62およびステップS63)を切り替える。
そのため、図5および図6に示す例では、セキュアエレメント14が、セキュアエレメント14内の更新に途中で失敗した場合であっても、デバイス管理サーバ13による秘密情報Aの配信(秘密情報Aの更新)を効率的に行うことができる。
<第2実施形態>
以下、本発明の秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラムの第2実施形態について説明する。
第2実施形態の秘密情報配信システム1は、後述する点を除き、上述した第1実施形態の秘密情報配信システム1と同様に構成されている。従って、第2実施形態の秘密情報配信システム1によれば、後述する点を除き、上述した第1実施形態の秘密情報配信システム1と同様の効果を奏することができる。
第2実施形態の秘密情報配信システム1は、図1に示す第1実施形態の秘密情報配信システム1と同様に構成されている。
図7はデバイス管理サーバ13による秘密情報Aの配信開始時に第2実施形態の秘密情報配信システム1において実行される処理の一例を説明するためのシーケンス図である。
図7に示す例では、ステップS75において、IoTデバイス11が、セキュアエレメント14にセキュアエレメント14のIDを要求する。
次いで、ステップS76では、セキュアエレメント14が、セキュアエレメント14のIDをIoTデバイス11に送信する。
次いで、ステップS77では、IoTデバイス11が、セキュアエレメント14のIDをデバイス管理サーバ13に送信する。また、IoTデバイス11は、秘密情報A(図1参照)の更新が必要であると判断し、秘密情報Aの更新をデバイス管理サーバ13に要求する。
図7に示す例では、IoTデバイス11が、秘密情報Aの更新が必要であると判断するが、他の例では、デバイス管理サーバ13が、秘密情報Aの更新が必要であると判断してもよい。
図7に示す例では、次いで、ステップS78において、デバイス管理サーバ13が、図3のステップS3と同様の手順により、所有しているマスター鍵MK(図2参照)と、ステップS77においてIoTデバイス11から送信されたセキュアエレメント14のIDとを用いることによって、セキュアエレメント14が所有する派生鍵DK(図2参照)と同一の派生鍵DKcopyを生成する。また、デバイス管理サーバ13は、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられるハッシュ値B1を生成する。例えば、デバイス管理サーバ13は、同一の派生鍵DKcopyとハッシュ値の連番(1、2、…)を連結した値をハッシュ関数に入力して出力された値をハッシュ値B1とする。つまり、デバイス管理サーバ13は、同一の派生鍵DKcopyを用いてハッシュ値B1を生成する。
次いで、ステップS79では、デバイス管理サーバ13が、ステップS78において生成されたハッシュ値B1をIoTデバイス11に送信する。
次いで、ステップS80では、IoTデバイス11が、そのハッシュ値B1をセキュアエレメント14に送信する。
次いで、ステップS81では、セキュアエレメント14が、受信したハッシュ値B1(つまり、デバイス管理サーバ13によって生成されたハッシュ値B1)の検証を行う。詳細には、セキュアエレメント14が、デバイス管理サーバ13と同一の手法を用いることによって(すなわち、派生鍵DKを用いて)ハッシュ値B1を生成し、生成したハッシュ値B1と受信したハッシュ値B1とが一致することを確認する。仮に、デバイス管理サーバ13がマスター鍵MKを所有しない不正なサーバである場合、デバイス管理サーバ13は、同一の派生鍵DKcopyを生成することができず、セキュアエレメント14によるハッシュ値B1の検証が失敗になるようなハッシュ値B1を生成する(つまり、そのようなハッシュ値B1しか生成できない)。そのため、セキュアエレメント14は、デバイス管理サーバ13が不正なサーバであることを検知することができる。
また、ステップS81において(詳細には、ハッシュ値B1の検証後に)、セキュアエレメント14は、セキュアエレメント14とデバイス管理サーバ13との間の認証に用いられるハッシュ値B2を生成する。例えば、セキュアエレメント14は、派生鍵DKとハッシュ値の連番(1、2、…)を連結した値をハッシュ関数に入力して出力された値をハッシュ値B2とする。つまり、セキュアエレメント14は、派生鍵DKを用いてハッシュ値B2を生成する。セキュアエレメント14がハッシュ値B1を生成する時に用いる連番と、セキュアエレメント14がハッシュ値B2を生成する時に用いる連番とは異なるため、ハッシュ値B1の値とは異なる値を有するハッシュ値B2が、セキュアエレメント14によって生成される(ハッシュ値B1の値とハッシュ値B2の値とが一致する可能性は限りなく低い)。
次いで、ステップS82では、セキュアエレメント14が、ハッシュ値B2をIoTデバイス11に送信する。
次いで、ステップS83では、IoTデバイス11が、そのハッシュ値B2をデバイス管理サーバ13に送信する。
次いで、ステップS84では、デバイス管理サーバ13が、受信したハッシュ値B2(つまり、セキュアエレメント14によって生成されたハッシュ値B2)の検証を行う。詳細には、デバイス管理サーバ13が、セキュアエレメント14と同一の手法を用いることによって(すなわち、同一の派生鍵DKcopyを用いて)ハッシュ値B2を生成し、生成したハッシュ値B2と受信したハッシュ値B2とが一致することを確認する。仮に、セキュアエレメント14が派生鍵DKを所有しない不正なセキュアエレメントである場合、セキュアエレメント14は、デバイス管理サーバ13によるハッシュ値B2の検証が失敗になるようなハッシュ値B2を生成する(つまり、そのようなハッシュ値B2しか生成できない)。そのため、デバイス管理サーバ13は、セキュアエレメント14が不正なセキュアエレメントであることを検知することができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。上述した各実施形態および各例に記載の構成を適宜組み合わせてもよい。
なお、上述した実施形態における秘密情報配信システム1が備える各部(例えばデバイス管理サーバ13)の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
1…秘密情報配信システム、11…IoTデバイス、12…サービス提供サーバ、13…デバイス管理サーバ、14…セキュアエレメント、A…秘密情報、MK…マスター鍵、DK…派生鍵、DKcopy…同一の派生鍵、SK…セッション鍵、SKS…セッション鍵、M…乱数、N…乱数、X…認証用データ、Y…認証用データ、B1…ハッシュ値、B2…ハッシュ値

Claims (6)

  1. IoTデバイスによって使用される秘密情報を、デバイス管理サーバが管理して配信し、
    前記デバイス管理サーバによって配信された前記秘密情報が、前記IoTデバイスに接続されたセキュアエレメントに保存される秘密情報配信システムであって、
    前記デバイス管理サーバは、マスター鍵を所有しており、
    前記IoTデバイスによって使用される前記秘密情報を前記デバイス管理サーバが配信する前に、
    前記セキュアエレメントのIDを用いて前記マスター鍵から生成された派生鍵が、前記セキュアエレメントに予め書き込まれ、
    前記デバイス管理サーバによる前記秘密情報の配信開始時に、
    前記セキュアエレメントは、前記セキュアエレメントのIDを前記デバイス管理サーバに送信し、
    前記デバイス管理サーバは、前記マスター鍵と前記セキュアエレメントのIDとを用いることによって、前記セキュアエレメントが所有する前記派生鍵と同一の派生鍵を生成し、
    前記セキュアエレメントが所有する前記派生鍵を用いると共に、前記デバイス管理サーバが生成した前記同一の派生鍵を用いることによって、前記セキュアエレメントおよび前記デバイス管理サーバは、前記セキュアエレメントと前記デバイス管理サーバとの間の認証と、前記秘密情報を前記デバイス管理サーバから前記セキュアエレメントに配信するための前記セキュアエレメントと前記デバイス管理サーバとの間の暗号通信とを行い、
    前記デバイス管理サーバによる前記秘密情報の配信開始時に、
    前記セキュアエレメントが、前記セキュアエレメント内の前記秘密情報の更新に途中で失敗し、前記秘密情報の更新の失敗の原因を前記IoTデバイスに送信した場合、
    前記IoTデバイスは、前記セキュアエレメント内の前記秘密情報の更新の失敗の原因に応じて、前記セキュアエレメント内の前記秘密情報の更新の失敗に対応する処理を切り替える、
    秘密情報配信システム。
  2. 前記デバイス管理サーバによる前記秘密情報の配信開始時に、
    前記デバイス管理サーバは、前記同一の派生鍵を生成すると共に第1乱数を生成して前記セキュアエレメントに送信し、
    前記セキュアエレメントは、第2乱数を生成すると共に、前記派生鍵と前記第1乱数と前記第2乱数とを用いることによってセッション鍵を生成し、生成したセッション鍵を用いて第1認証用データを生成し、前記第2乱数および前記第1認証用データを前記デバイス管理サーバに送信し、
    前記デバイス管理サーバは、前記同一の派生鍵と前記第1乱数と前記第2乱数とを用いることによってセッション鍵を生成すると共に、生成したセッション鍵を用いて第2認証用データを生成し、生成したセッション鍵を用いることによって前記第1認証用データを検証し、前記第2認証用データを前記セキュアエレメントに送信し、
    前記セキュアエレメントは、前記第1乱数と前記第2乱数と生成したセッション鍵とを用いることによって前記第2認証用データを検証し、
    前記デバイス管理サーバは、前記セキュアエレメントによる前記第2認証用データの検証結果に基づいて、前記秘密情報を生成すると共に、生成したセッション鍵を用いて前記秘密情報を暗号化し、暗号化された前記秘密情報を前記セキュアエレメントに送信する、 請求項1に記載の秘密情報配信システム。
  3. 前記デバイス管理サーバによる前記秘密情報の配信開始時に、
    前記デバイス管理サーバは、前記同一の派生鍵を生成すると共に、前記同一の派生鍵を用いて第1ハッシュ値を生成し、生成した第1ハッシュ値を前記セキュアエレメントに送信し、
    前記セキュアエレメントは、前記派生鍵を用いて生成した第1ハッシュ値を用いることにより、前記デバイス管理サーバによって送信された第1ハッシュ値を検証すると共に、前記派生鍵を用いて第2ハッシュ値を生成し、生成した第2ハッシュ値を前記デバイス管理サーバに送信し、
    前記デバイス管理サーバは、前記同一の派生鍵を用いて生成した第2ハッシュ値を用いることにより、前記セキュアエレメントによって送信された第2ハッシュ値を検証する、 請求項1に記載の秘密情報配信システム。
  4. IoTデバイスによって使用される秘密情報を、デバイス管理サーバが管理して配信し、
    前記デバイス管理サーバによって配信された前記秘密情報が、前記IoTデバイスに接続されたセキュアエレメントに保存される秘密情報配信方法であって、
    前記デバイス管理サーバがマスター鍵を所有するマスター鍵所有ステップと、
    前記IoTデバイスによって使用される前記秘密情報を前記デバイス管理サーバが配信する前に、前記セキュアエレメントのIDを用いて前記マスター鍵から生成された派生鍵が、前記セキュアエレメントに予め書き込まれる派生鍵書き込みステップと、
    前記デバイス管理サーバによる前記秘密情報の配信開始時に、前記セキュアエレメントが、前記セキュアエレメントのIDを前記デバイス管理サーバに送信するID送信ステップと、
    前記デバイス管理サーバが、前記マスター鍵と前記セキュアエレメントのIDとを用いることによって、前記セキュアエレメントが所有する前記派生鍵と同一の派生鍵を生成する同一派生鍵生成ステップと、
    前記セキュアエレメントが所有する前記派生鍵を用いると共に、前記デバイス管理サーバが生成した前記同一の派生鍵を用いることによって、前記セキュアエレメントおよび前記デバイス管理サーバが、前記セキュアエレメントと前記デバイス管理サーバとの間の認証と、前記秘密情報を前記デバイス管理サーバから前記セキュアエレメントに配信するための前記セキュアエレメントと前記デバイス管理サーバとの間の暗号通信とを行う認証暗号通信ステップとを備え、
    前記デバイス管理サーバによる前記秘密情報の配信開始時に、
    前記セキュアエレメントが、前記セキュアエレメント内の前記秘密情報の更新に途中で失敗し、前記秘密情報の更新の失敗の原因を前記IoTデバイスに送信した場合、
    前記IoTデバイスは、前記セキュアエレメント内の前記秘密情報の更新の失敗の原因に応じて、前記セキュアエレメント内の前記秘密情報の更新の失敗に対応する処理を切り替える、
    秘密情報配信方法。
  5. デバイス管理サーバによって管理され配信される、IoTデバイスによって使用される秘密情報を、前記IoTデバイスに接続されたセキュアエレメントに保存する前記IoTデバイスであって、
    前記デバイス管理サーバによる前記秘密情報の配信開始時に、
    前記セキュアエレメント内の前記秘密情報の更新に前記セキュアエレメントが途中で失敗し、前記秘密情報の更新の失敗の原因を前記セキュアエレメントから受信した場合、
    前記セキュアエレメント内の前記秘密情報の更新の失敗の原因に応じて、前記セキュアエレメント内の前記秘密情報の更新の失敗に対応する処理を切り替える、
    IoTデバイス。
  6. デバイス管理サーバによって管理され配信される、IoTデバイスによって使用される秘密情報を、前記IoTデバイスに接続されたセキュアエレメントに保存する前記IoTデバイスのコンピュータに、
    前記デバイス管理サーバによる前記秘密情報の配信開始時に、
    前記セキュアエレメント内の前記秘密情報の更新に前記セキュアエレメントが途中で失敗し、前記秘密情報の更新の失敗の原因を前記セキュアエレメントから受信した場合、
    前記セキュアエレメント内の前記秘密情報の更新の失敗の原因に応じて、前記セキュアエレメント内の前記秘密情報の更新の失敗に対応する処理を切り替えるステップを実行させる、プログラム。
JP2022013911A 2022-02-01 2022-02-01 秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラム Active JP7226602B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022013911A JP7226602B1 (ja) 2022-02-01 2022-02-01 秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022013911A JP7226602B1 (ja) 2022-02-01 2022-02-01 秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラム

Publications (2)

Publication Number Publication Date
JP7226602B1 true JP7226602B1 (ja) 2023-02-21
JP2023112251A JP2023112251A (ja) 2023-08-14

Family

ID=85252024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022013911A Active JP7226602B1 (ja) 2022-02-01 2022-02-01 秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラム

Country Status (1)

Country Link
JP (1) JP7226602B1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000138674A (ja) 1998-10-30 2000-05-16 Matsushita Electric Ind Co Ltd 機器認証および暗号通信システム
JP2002185443A (ja) 2000-12-11 2002-06-28 Hitachi Ltd 秘密鍵管理方法
JP2008506317A (ja) 2004-07-09 2008-02-28 ボルテージ セキュリティー, インコーポレイテッド 導出鍵を用いたセキュアメッセージングシステム
JP2017135599A (ja) 2016-01-28 2017-08-03 サイレックス・テクノロジー株式会社 無線基地局装置、無線通信システム、及び、無線基地局装置の制御方法
JP2018082362A (ja) 2016-11-17 2018-05-24 Kddi株式会社 通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム
JP2020150310A (ja) 2019-03-11 2020-09-17 大日本印刷株式会社 情報処理装置、暗号化データの復号方法及び電子機器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204702A (ja) * 1995-01-30 1996-08-09 Nec Corp 暗号鍵管理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000138674A (ja) 1998-10-30 2000-05-16 Matsushita Electric Ind Co Ltd 機器認証および暗号通信システム
JP2002185443A (ja) 2000-12-11 2002-06-28 Hitachi Ltd 秘密鍵管理方法
JP2008506317A (ja) 2004-07-09 2008-02-28 ボルテージ セキュリティー, インコーポレイテッド 導出鍵を用いたセキュアメッセージングシステム
JP2017135599A (ja) 2016-01-28 2017-08-03 サイレックス・テクノロジー株式会社 無線基地局装置、無線通信システム、及び、無線基地局装置の制御方法
JP2018082362A (ja) 2016-11-17 2018-05-24 Kddi株式会社 通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム
JP2020150310A (ja) 2019-03-11 2020-09-17 大日本印刷株式会社 情報処理装置、暗号化データの復号方法及び電子機器

Also Published As

Publication number Publication date
JP2023112251A (ja) 2023-08-14

Similar Documents

Publication Publication Date Title
US8295492B2 (en) Automated key management system
JP4800624B2 (ja) 暗号鍵を入れ替えるためのシステム、装置及び方法
KR101730689B1 (ko) 전자 액세스 클라이언트들을 저장하기 위한 장치 및 방법들
US10554393B2 (en) Universal secure messaging for cryptographic modules
TWI454112B (zh) 通信網路金鑰管理
US6192130B1 (en) Information security subscriber trust authority transfer system with private key history transfer
US6377691B1 (en) Challenge-response authentication and key exchange for a connectionless security protocol
JP4219965B2 (ja) ワンタイムidによる認証
US8196182B2 (en) Distributed management of crypto module white lists
JP5201716B2 (ja) 暗号モジュール配信システム、暗号管理サーバ装置、暗号処理装置、クライアント装置、暗号管理プログラム、暗号処理プログラム、およびクライアントプログラム
US20060161750A1 (en) Using hardware to secure areas of long term storage in CE devices
AU2018340671B2 (en) Access to secured information
US20110293098A1 (en) Key recovery mechanism
CN109981255B (zh) 密钥池的更新方法和系统
CN110362984B (zh) 多设备运行业务系统的方法及装置
JP2020088726A (ja) 鍵生成装置、鍵更新方法および鍵更新プログラム
CN110557248B (zh) 基于无证书密码学的签密的密钥更新方法和系统
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
CN111131160B (zh) 一种用户、服务及数据认证系统
JP7226602B1 (ja) 秘密情報配信システム、秘密情報配信方法、デバイス管理サーバおよびプログラム
KR101287669B1 (ko) 하드웨어 보안 모듈 다중화 장치 및 그 방법
US20210111906A1 (en) Pseudonym credential configuration method and apparatus
JP7176547B2 (ja) 期限管理システム、及び期限管理方法
JP6040158B2 (ja) ドメインを維持する方法及びデバイス
Harney et al. RFC2093: Group key management protocol (GKMP) specification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220513

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230123

R150 Certificate of patent or registration of utility model

Ref document number: 7226602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150