JP2017139512A - ユーザ許可の確認システム - Google Patents

ユーザ許可の確認システム Download PDF

Info

Publication number
JP2017139512A
JP2017139512A JP2016016836A JP2016016836A JP2017139512A JP 2017139512 A JP2017139512 A JP 2017139512A JP 2016016836 A JP2016016836 A JP 2016016836A JP 2016016836 A JP2016016836 A JP 2016016836A JP 2017139512 A JP2017139512 A JP 2017139512A
Authority
JP
Japan
Prior art keywords
mac
server
message
verification
common 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.)
Granted
Application number
JP2016016836A
Other languages
English (en)
Other versions
JP6527090B2 (ja
Inventor
恒太 井手口
Kota Ideguchi
恒太 井手口
英里子 安藤
Eriko Ando
英里子 安藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016016836A priority Critical patent/JP6527090B2/ja
Priority to EP17150377.4A priority patent/EP3200388B1/en
Priority to US15/404,679 priority patent/US10177918B2/en
Publication of JP2017139512A publication Critical patent/JP2017139512A/ja
Application granted granted Critical
Publication of JP6527090B2 publication Critical patent/JP6527090B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】CPU処理量の少ない、否認不可の担保されたユーザの許可の確認システムを提供する。
【解決手段】以上の課題を解決するため、本発明では、まずCPUに高い処理能力を必要としないMAC関数を利用する。その上で、否認防止の証明となるメッセージの正当性を担保するために、メッセージを複数の秘密鍵で暗号化し、その複数の鍵を複数のサーバに分散させて持たせる。そして各サーバが自らの範囲内でメッセージの正当性を証明し、それら個別の結果を集約することで、メッセージの正当性を担保し、否認防止を実現する。
【選択図】図2

Description

本発明は、ユーザの許可の確認とその否認防止に関する技術に関する。
クライアント機器とサーバからなる情報システム、または、自動車の車載機器とそれと通信するサーバとからなる自動車システムなど、において処理を実行するために、ユーザの許可の確認を取る必要がある場合がある。この場合、情報システムまたは自動車システムはユーザに許可を求めるメッセージを送り、ユーザが許可する旨のメッセージを返信することで確認が取れる。この際、情報システムまたは自動車システムは許可を得たことを事後に説明するために、このメッセージのやり取りのログを取る事ができる。しかし、ログの正当性が疑われた場合、情報システムまたは自動車システムはログの正当性を証明する必要が出てくる。正当性を証明するためには、ログに残されたユーザの許可する旨のメッセージは確かに当該ユーザが作成したものであり、改ざんされていないことが示されればよい。このようなメッセージの作成元とその内容を事後に否認することが出来ない性質を否認防止と呼ぶ。否認防止を可能にする技術として、特許文献1の公開鍵暗号技術の電子署名技術が知られている。特許文献1の技術では、ユーザのメッセージに対して、ユーザが自身の署名鍵を用いて署名を付けることで、事後にメッセージが確かにユーザが生成したものであることを証明することができる。
米国特許第5231668号明細書
特許文献1に記載の方法では、署名を生成する際と署名を検証する際に公開鍵暗号技術のアルゴリズムを処理する必要がある。しかし、公開鍵暗号技術のアルゴリズムの処理は、共通鍵暗号技術のアルゴリズムの処理に比べて、処理量が多く、より多くのCPU時間を消費する。特に、車載機器等の組み込み機器が持つ低スペックなCPUの場合、その時間は長くなる。また、CPUが占有される時間が長いと、他の処理ができないため、特に車載機器のように時々刻々と制御をしているような場合、数msecのオーダーでも影響が出るので安全性上の問題から公開鍵暗号方式は利用できない場合がある。
そこで、本発明は、より少ないCPUの処理量で動作し、かつ、否認防止の性質を持つユーザ許可の確認システムを提供することを目的とする。
以上の課題を解決するため、本発明では、まずCPUに高い処理能力を必要としないMAC関数を利用する。その上で、否認防止の証明となるメッセージの正当性を担保するために、メッセージを複数の秘密鍵で暗号化し、その複数の鍵を複数のサーバに分散させて持たせる。そして各サーバが自らの範囲内でメッセージの正当性を証明し、それら個別の結果を集約することで、メッセージの正当性を担保し、否認防止を実現する。
以上のように、本発明によれば、CPU処理量の少ない、否認不可の担保されたユーザの許可の確認システムを提供することが可能となる。
本発明に係る第一の実施形態のシステム例を示す図。 ユーザ端末を示す概略図。 第一のサーバを示す概略図。 第二のサーバを示す概略図。 メッセージ電文のフォーマットを示す概略図。 ユーザの許可の確認手順を示すフローチャート図。 ユーザの許可の事後の否認を否定する手順を示すフローチャート図。 本発明に係る第一の実施形態のシステム例を示す図。 ユーザ端末を示す概略図。 メッセージ電文のフォーマットを示す概略図。 ユーザの許可の確認手順を示すフローチャート図。 ユーザの許可の事後の否認を否定する手順を示すフローチャート図。
ユーザがユーザ端末での操作を許可したにもかかわらず、事後に許可したことを否認した場合に、この否認を否定できるシステムについて、実施の形態を説明する。
図1は、第一の実施形態のシステムの全体構成図である。第一の実施形態では、ユーザ端末200と第一のサーバ300とは、第一のネットワーク100を介して接続されている。また、第一のサーバと、第二のサーバ400と、は第二のネットワーク110を介して接続されている。なお、第一のネットワーク100と第二のネットワーク110は別のネットワークとは限らず、同一のネットワークでもよい。
図2は、本実施形態におけるユーザ端末200の概略図である。図示するように、ユーザ端末200は、制御部210と、データ送受信部220と、記憶部230と、表示装置240と、入力装置250と、MAC生成部260と、を備える。
ユーザ端末200は、制御部210によって制御され、データ送受信部220を通して、第一のネットワーク100に繋がっている。
記憶部230は、データを格納することができ、第一の共通鍵231と、第二の共通鍵232と、を格納する。
MAC生成部260は、MAC生成関数機能261を備える。
MAC生成関数機能261は、メッセージと共通鍵とを与えられ、対応するメッセージ認証子(MAC) をMAC生成関数Genmacを計算することで生成する。数式にすると、MAC生成関数Genmacは、数1で表される。
Figure 2017139512
ただし、ここでkは前記共通鍵、mは前記メッセージ、macは前記対応するMACである。
前記MAC生成関数Genmacは、暗号学的なMAC関数を利用することができる。一例として、ブロック暗号AESのCMAC利用モードで構成されるMAC関数、ハッシュ関数SHA−256を利用したHMACで構成されるMAC関数、専用MAC関数Chaskey、などが挙げられる。
MAC生成部260は、制御部210から、MAC付加対象のメッセージとヘッダと、第一の共通鍵と、第二の共通鍵と、を受け取り、処理することで、MACが付加されたメッセージ電文500を生成する。
図5は、メッセージ電文のフォーマット500を示した図である。前記、MAC生成部の説明で記載したとおり、メッセージ電文は、ヘッダ510と、メッセージ520と、第一のMAC530と、第二のMAC540と、からなる。ヘッダ510には、メッセージ電文の属性情報、例えば、メッセージ電文のサイズや、第一のMACおよび第二のMACを生成する際に使われる共通鍵のID、などの情報が記載される。
MAC生成部260での、メッセージ電文500の生成手順は次のとおりである。なお、以降では前記ヘッダをh、前記メッセージをm、前記第一の共通鍵をk_1、前記第二の共通鍵をk_2、前記メッセージ電文をm_out、第一のMACをmac_1、第二のMACをmac_2と記載する。
まず、MAC生成部260は前記ヘッダと前記メッセージとを連結したデータと、第一の共通鍵と、をMAC生成関数機能に渡し、第一のMACを得る。数式では数2のように表される。
Figure 2017139512
次に、MAC生成部260は前記ヘッダと前記メッセージとを連結したデータと、第二の共通鍵と、をMAC生成関数機能に渡し、第二のMACを得る。数式では数3のように表される。
Figure 2017139512
そして、MAC生成部260は、前記ヘッダと、前記メッセージと、前記第一のMACと、前記第二のMACと、を連結し、メッセージ電文(数4)を生成する。
Figure 2017139512
なお、このフォーマット500は、端末200のみならず、第一のサーバ300、第二のサーバ400で共有して持っておき、検証の際に利用する。
なお、MAC生成部や、制御部は、具体的には、メモリに読み込んだプログラムをCPU等の処理装置で演算することで実現される。これらは、1つのCPUで実現してもよいし、夫々別のCPUを用いて実現してもよい。
図3は、本実施形態における第一のサーバ300の概略図である。第一のサーバ300は、制御部310と、データ送受信部320と、記憶部330と、MAC検証機能340と、を備える。
第一のサーバ300は、制御部310によって制御され、データ送受信部320を通して、第一のネットワーク100および第二のネットワーク110に繋がっている。
記憶部330は、データを格納することができ、第一の共通鍵231と、メッセージ電文ログ331と、を格納する。
MAC検証部340は、MAC検証関数機能341を備える。
MAC検証関数機能341は、検証対象メッセージと、共通鍵と、検証対象MACと、を与えられ、当該検証対象メッセージと当該検証対象MACの組が、正当な組であるかどうかを検証する機能である。MAC検証関数機能341は次の動作を行う。まず、MAC検証関数機能341は入力された検証対象メッセージと入力された共通鍵とから、正しいMACをGenmac関数で計算する。ここで、Genmac関数はMAC関数機能261で用いられるものと同じ関数である。次に、計算された正しいMACと、入力された検証対象MACと、を比較し、一致した場合は検証成功と判断し関数の値として1を出力し、一致しない場合は検証失敗と判断し関数の値として0を出力する。MAC検証関数を擬似コードで記載すると以下のとおりである。なお、ここではMAC検証関数をVermac、入力される検証対象メッセージをm、入力される共通鍵をk、入力される検証対象MACをmac、とする。
Figure 2017139512
MAC検証部340の動きを説明する。MAC検証部340は、制御部310からメッセージ電文と第一の共通鍵とを受け取り、メッセージ電文の正当性を検証する。まず、MAC検証部340は、メッセージ電文から、メッセージ電文のフォーマット500に従い、ヘッダとメッセージと第一のMACとを抜き出す。次に、MAC検証部は、ヘッダとメッセージとを連結したデータを検証対象メッセージとして、第一の共通鍵を共通鍵として、第一のMACを検証対象MACとして、MAC検証関数機能341に渡し、検証結果を得る。そして、MAC検証部は、得られた検証結果を制御部310に返す。
なお、MAC検証部や、制御部は、具体的には、メモリに読み込んだプログラムをCPU等の処理装置で演算することで実現される。これらは、1つのCPUで実現してもよいし、夫々別のCPUを用いて実現してもよい。
ここで、メッセージ電文500のうち、どの部分が第一のサーバに関係するMACであるかは、事前に決められており、それに従い、MAC検証部は第一のMACを抜き出すことができる。
図4は、本実施形態における第二のサーバ400の概略図である。第二のサーバ400は、制御部410と、データ送受信部420と、記憶部430と、MAC検証機能440と、を備える。
記憶部430は、データを格納することができ、第二の共通鍵232を格納する。
MAC検証部440は、MAC検証関数機能441を備える。
MAC検証関数機能441は、前記MAC検証関数機能341と同一の機能をもつ。
MAC検証部440の動きを説明する。MAC検証部440は、制御部410からメッセージ電文と第二の共通鍵とを受け取り、メッセージ電文の正当性を検証する。まず、MAC検証部440は、メッセージ電文から、メッセージ電文のフォーマット500に従い、ヘッダとメッセージと第二のMACとを抜き出す。次に、MAC検証部は、ヘッダとメッセージとを連結したデータを検証対象メッセージとして、第二の共通鍵を共通鍵として、第二のMACを検証対象MACとして、MAC検証関数機能441に渡し、検証結果を得る。そして、MAC検証部は、得られた検証結果を制御部410に返す。
なお、図3でも説明したとおり、MAC検証部や、制御部は、具体的には、メモリに読み込んだプログラムをCPU等の処理装置で演算することで実現される。これらは、1つのCPUで実現してもよいし、夫々別のCPUを用いて実現してもよい。
また、メッセージ電文500のうち、どの部分が第一のサーバに関係するMACであるかは、事前に決められており、それに従い、MAC検証部は第一のMACを抜き出すことができる。
図6は、本実施形態におけるユーザの許可の確認の手順を表したフローチャートである。
まず、第一のサーバ300からユーザ端末200に処理実行の許可を要求するメッセージを送信する(ステップ601)。ユーザ端末200の制御部210はデータ送受信部220を通して許可要求電文を受信し、許可要求メッセージを描画した画面を表示装置240に出力する(ステップ602)。ユーザはユーザ端末200の入力装置250を用いて、許可要求に対して許可もしくは拒否を入力する(ステップ603)。
ステップ603で許可が入力された場合、ユーザ端末200の制御部210は、記憶部230から第一の共通鍵231と第二の共通鍵232を取得し、許可する旨のメッセージとヘッダと当該第一の共通鍵と、をMAC生成部260に渡し、当該MAC生成部は当該許可する旨のメッセージと、当該ヘッダと、当該第一の共通鍵と、当該第二の共通鍵と、からメッセージ電文500を生成し、制御部に当該メッセージ電文を返す(ステップ604)。制御部210はデータ送受信部220を通して、前期メッセージ電文を第一のサーバ300に送信する(ステップ605)。
第一のサーバの制御部310は、データ送受信部320を通して前記メッセージ電文を受信し、記憶部330から第一の共通鍵231を取得し、当該メッセージ電文と当該第一の共通鍵と、をMAC検証部340に渡し、当該MAC検証部は当該メッセージ電文の正当性を検証し、検証結果を制御部に返す(ステップ606)。
ステップ606で検証が成功した場合、制御部310は、データ送受信部320を通して、メッセージ電文を第二のサーバ400に送信する(ステップ607)。第二のサーバの制御部410は、データ送受信部420を通して前記メッセージ電文を受信し、記憶部430から第二の共通鍵232を取得し、当該メッセージ電文と当該第二の共通鍵と、をMAC検証部440に渡し、当該MAC検証部は当該メッセージ電文の正当性を検証し、検証結果を制御部410に返す(ステップ608)。
ステップ608で検証が成功した場合、制御部420は、データ送受信部420を通して、検証成功した旨のメッセージを第一のサーバ300に送信する(ステップ609)。第一のサーバ300の制御部310は、データ送受信部320を通して前期検証成功した旨のメッセージを受け取り、前記メッセージ電文をメッセージ電文ログ331に追加し、ステップ601でユーザに許可を要求していた処理を実行するサーバ、あるいは、ユーザ端末に処理実行可能のメッセージを送付する(ステップ610)。
処理実行可能のメッセージを受け取ったサーバ、あるいは、ユーザ端末は処理を実行する(ステップ611)。
ステップ603でユーザが拒否を入力した場合、ユーザ端末200は拒否する旨のメッセージを第一のサーバに送信し(ステップ620)、ステップ640に進む。
ステップ606で、正当性の検証が失敗した場合、ステップ640に進む。
ステップ608で、正当性の検証が失敗した場合、第二のサーバ400は検証失敗の旨のメッセージを第一のサーバに送信し(ステップ630)、ステップ640に進む。
ステップ640では、第一のサーバ300は、ステップ601でユーザに許可を要求していた処理を実行する予定だったサーバ、あるいは、ユーザ端末に処理実行不可のメッセージを送付する(ステップ640)。処理実行不可のメッセージを受け取ったサーバ、あるいは、ユーザ端末は処理を実行せずに、中止する(ステップ641)。
なお、ステップ601にて前記第一のサーバ300がユーザの許可を要求するシステムの動作の一例として、第一のサーバ300がユーザ端末200の更新プログラムをユーザ端末200に送付し、ユーザ端末200が当該更新プログラムを実行してプログラムを更新する、ことが挙げられる。また前記システムの動作の他の例として、ユーザ端末200が事前に第一のサーバから受信した更新プログラムを実行してプログラムを更新する、ことが挙げられる。
なお、ユーザが、過去に許可したシステムの動作に関して、許可したことを否認した場合に、第一のサーバ、もしくは、第二のサーバ、第三者は、じっしれいユーザによる否認を否定することができる。図7は、否認を否定する手順を表すフローチャートである。
まず、ユーザによる許可の否認を否定したいサーバもしくは第三者が第一のサーバ300にユーザ許可の確認を要求する(ステップ801)。第一のサーバの制御部310は、格納部330のメッセージ電文ログ331から対応するユーザ許可のメッセージ電文を取得する(ステップ802)。第一のサーバの制御部は、前記メッセージ電文と、格納部から取得する第一の共通鍵331と、をMAC検証部340に渡し、MAC検証部は、前記メッセージ電文と、前記第一の共通鍵と、からメッセージ電文の正当性を検証する(ステップ803)。
ステップ803で、検証が成功した場合、制御部はメッセージ電文を第二のサーバに送信する(ステップ804)。第二のサーバの制御部は、前記メッセージ電文と、格納部から取得する第二の共通鍵と、をMAC検証部に渡し、MAC検証部は、前記メッセージ電文と、第二の共通鍵と、からメッセージ電文の正当性を検証する(ステップ805)。
ステップ805で、検証が成功した場合、第二のサーバは検証が成功した旨のメッセージを第一のサーバに送信する(ステップ806)。第一のサーバは、ユーザの許可の確認がとれた旨のメッセージと、前記メッセージ電文と、をステップ801のサーバもしくは第三者に送信する(ステップ807)。
ステップ803で、検証が失敗した場合、ステップ830に進む。
ステップ805で、検証が失敗した場合、第二のサーバは検証失敗の旨のメッセージを第一のサーバに送信し(ステップ820)、ステップ830に進む。
ステップ830では、第一のサーバは、ユーザ許可の否認が否定できない旨のメッセージをステップ801のサーバもしくは第三者に送付する(ステップ830)。
なお、第一のサーバ300のメッセージ電文ログ331と、第一のサーバ300のMAC検証部340と、第二のサーバのMAC検証部440と、に第三者がアクセスできる場合、図8のフローチャートの各ステップにおいて第一のサーバと第二のサーバが実行している全ての処理を第三者が実行することができる。
なお、ユーザ端末が生成するメッセージ電文の第一のMACおよび第二のMACは式2と式3に記載のものに限らず、第一の共通鍵によるMAC生成と第二の共通鍵によるMAC生成を入れ子にして、生成したMACであってもよい。ここで、入れ子とは、第二の共通鍵で生成したMACを、第一の共通鍵によるMAC生成の入力の一部とすること、または、第一の共通鍵で生成したMACを、第二の共通鍵によるMAC生成の入力の一部とすること、を意味する。例えば、次の数6と数7で表されるmac_12とmac_21をそれぞれ第一のMACと第二のMACとしてもよい。
Figure 2017139512
Figure 2017139512
mac_12およびmac_21をそれぞれ第一のMACおよび第二のMACとする場合、ユーザ端末のMAC生成部およびサーバのMAC検証部は、それぞれ数6および数7に従ってMACの生成および検証を行う。
第二の実施形態は、第一の実施形態を拡張した実施形態であり、第一の実施形態で2つであったサーバを第一のサーバから第NのサーバまでのN個のサーバに拡張した実施形態である。
図8は、第二の実施形態のシステムの全体構成図である。ユーザ端末1200と第一のサーバ1300は第一のネットワーク1100を通して繋がっており、第一のサーバから第NのサーバのN個のサーバは第二のネットワーク1110を通して繋がっている。
図9はユーザ端末1200の概要図である。ユーザ端末は、第一の実施例と同様の構成をとり、制御部、データ送受信部、記憶部、MAC生成部、表示装置、入力装置からなる。記憶部1230には第一の共通鍵から第Nの共通鍵までN個の共通鍵が格納される。
MAC生成部は、第一の実施例と同じMAC生成関数機能1261を備える。
MAC生成部は、制御部から、MAC付加対象のメッセージと、ヘッダと、第一の共通鍵から第Nの共通鍵のN個の共通鍵と、を受け取り、処理することで、MACが付加されたメッセージ電文1500を生成する。
なお、図2の説明と共通する構成についての説明は省略する。
図10は、メッセージ電文1500のフォーマットを示す図である。
MAC生成部1260における、メッセージ電文1500の生成手順は次のとおりである。なお、以降では前記ヘッダをh、前記メッセージをm、第iの共通鍵をk_i、前記メッセージ電文をm_out、第iのMACをmac_iと記載する。
まず、MAC生成部はN個のMACを生成する。例えば、第iのMACについては、MAC生成部は前記ヘッダと前記メッセージを連結したデータと、第iの共通鍵と、をMAC生成関数機能に渡し、第iのMACを得る。数式では次のように表される。
Figure 2017139512
そして、MAC生成部は、前記ヘッダと、前記メッセージと、第一のMACから第NのMACまでのN個のMACと、を連結し、メッセージ電文を生成する。
Figure 2017139512
第一のサーバは、第一の実施例の第一のサーバ300と同様の構成をとり、制御部、データ送受信部、記憶部、MAC検証部とからなる。記憶部に第一の共通鍵が格納される。
第二のサーバから第Nのサーバの各サーバは、第一の実施例の第二のサーバ400と同様の構成をとり、制御部、データ送受信部、記憶部、MAC検証部とからなる。記憶部に格納される共通鍵は各サーバで異なり第kのサーバには第kの共通鍵が格納される。
第一のサーバから第Nのサーバの各サーバのMAC検証部は、第一の実施例と同等のMAC検証関数機能341を備える。
第iのサーバのMAC検証部は、制御部からメッセージ電文と第iの共通鍵を受け取り、メッセージ電文の正当性を検証する。まず、MAC検証部は、メッセージ電文から、メッセージ電文のフォーマット1500に従い、ヘッダとメッセージと第iのMACを抜き出す。次に、MAC検証部は、ヘッダとメッセージを連結したデータを検証対象メッセージとして、第iの共通鍵を共通鍵として、第iのMACを検証対象MACとして、MAC検証関数機能に渡し、検証結果を得る。そして、MAC検証部は、得られた検証結果を制御部に返す。
図11は、第二の実施形態における処理実行確認の手順を表したフローチャートである。なお、ステップにおけるmは、N/2より大きく、かつ、N以下の整数とする。
まず、第一のサーバ1300からユーザ端末1200に処理実行の許可を要求するメッセージを送信する(ステップ1001)。ユーザ端末1200のデータ送受信部1220が許可要求電文を受信し、許可要求メッセージを描画した画面を表示装置1240に出力する(ステップ1002)。ユーザはユーザ端末1200の入力装置1250を用いて、許可要求に対して許可もしくは拒否を入力する(ステップ1003)。
ステップ1003で許可が入力された場合、ユーザ端末1200の制御部1210は、記憶部1230から第一の共通鍵から第Nの共通鍵のN個の共通鍵を取得し、許可する旨のメッセージとヘッダと当該N個の共通鍵と、をMAC生成部1260に渡し、MAC生成部は、メッセージ電文1500を生成し、制御部に当該メッセージ電文を返す(ステップ1004)。制御部1210はデータ送受信部1220を通して、前期メッセージ電文を第一のサーバ1300に送信する(ステップ1005)。
第一のサーバのデータ送受信部は前記メッセージ電文を受信し、当該データ送受信部を通して、当該メッセージ電文を第二のサーバから第NのサーバのN−1個のサーバに送信する(ステップ1006)。
メッセージ電文を得た各第iのサーバにおいて、サーバの制御部は、記憶部から第iの共通鍵を取得し、当該メッセージ電文と当該第iの共通鍵と、をサーバのMAC検証部に渡し、当該MAC検証部は当該メッセージ電文の正当性を検証し、検証結果を制御部に返す(ステップ1007)。各第iのサーバの制御部は、前記検証結果を第一のサーバに送信する(ステップ1008)。第一のサーバは、集まったN個の検証結果のうち、検証に成功したものの数をカウントし、成功数がm個以上かどうかを確認する(ステップ1009)。
ステップ1009で、検証成功数がm個以上の場合、第一のサーバ1300の制御部は、前記メッセージ電文を格納部のメッセージ電文ログに追加し、データ送受信部を通して、ステップ1001でユーザに許可を要求していた処理を実行するサーバ、あるいは、ユーザ端末に処理実行可能のメッセージを送付する(ステップ1010)。処理実行のメッセージを受け取ったサーバ、あるいは、ユーザ端末は処理を実行する(ステップ1011)。
ステップ1003で、拒否の場合、ユーザ端末1200は拒否する旨のメッセージを第一のサーバに送信し(ステップ1020)、ステップ1030に進む。
ステップ1008で、検証成功数がm個未満の場合、ステップ1030に進む。
ステップ1030では、第一のサーバ1300は、ステップ1001でユーザに許可を要求していた処理をする予定だったサーバ、あるいは、ユーザ端末に処理実行不可のメッセージを送付する(ステップ1030)。処理実行不可のメッセージを受け取ったサーバ、あるいは、ユーザ端末は処理を実行せずに、中止する(ステップ1031)。
なお、ユーザが過去に許可したシステム動作に関して、許可したことを否認した場合に、サーバもしくは第三者は、否認を否定することができる。図12は、否認を否定する手順を表すフローチャートである。
まず、ユーザによる許可の否認を否定したいサーバもしくは第三者が第一のサーバにユーザ許可の確認を要求する(ステップ1401)。第一のサーバの制御部は、格納部のメッセージ電文ログから対応するユーザ許可のメッセージ電文を取得する(ステップ1402)。第一のサーバの制御部は、前記メッセージ電文を、第2のサーバから第NのサーバのN−1個のサーバに送信する(ステップ1403)。各サーバの制御部は、前記メッセージ電文と、格納部から取得する自身の持つ共通鍵と、をMAC検証部に渡し、MAC検証部は、前記メッセージ電文と、共通鍵と、からメッセージ電文の正当性を検証する(ステップ1404)。各サーバは、第一のサーバに検証結果を送信する(ステップ1405)。第一のサーバは、集まったN個の検証結果のうち、検証成功したものの数をカウントし、成功数がm個以上かどうかを確認する(ステップ1406)。
ステップ1406で、m個以上の場合、第一のサーバ1300は、ユーザ許可の確認がとれた旨のメッセージと前記メッセージ電文をステップ1401のサーバ、あるいは、第三者に送付する(ステップ1407)。
ステップ1406で、m個未満の場合、第一のサーバは、ユーザ許可の否認が否定できない旨のメッセージを1401のサーバ、あるいは、第三者に送付する(ステップ1420)。
なお、第一のサーバ1300のメッセージ電文ログと、第一のサーバから第Nのサーバの全てのMAC検証部と、に第三者がアクセスできる場合、図12のフローチャートの各ステップにおいて第一のサーバから第Nのサーバが実行している全ての処理を第三者が実行することができる。
なお、第二の実施例において、ユーザ端末1200のMAC生成部1260が生成するメッセージ電文の第iのMACは式6に記載のものに限らない。例えば、第iのMACは、以下の式で表されるmac_i’であってもよい。
Figure 2017139512
ここで、othermac_iは、k_i以外のN−1個の共通鍵とヘッダhとメッセージmとGenmac関数とを利用して計算できる任意の値である。
100 第一のネットワーク、 110 第二のネットワーク、
200 ユーザ端末、 210 制御部、220 データ送受信部、 230 記憶部、
231 第一の共通鍵、 232 第二の共通鍵、 240 表示装置、
250 入力装置、 260 MAC生成部、 261 MAC生成関数機能、
300 第一のサーバ、 310 制御部、 320 データ送受信部
330 記憶部、 331 メッセージ電文ログ、 340 MAC検証部
341 MAC検証関数機能、 400 第二のサーバ 、 410 制御部
420 データ送受信部、 430 記憶部、 440 MAC検証部
441 MAC検証関数機能、 500 メッセージ電文、 510 ヘッダ
520 メッセージ、 530 第一のMAC、 540 第二のMAC
1100 第一のネットワーク、 1110 第二のネットワーク
1200 ユーザ端末、 1210 制御部、 1220 データ送受信部
1230 記憶部、 1240 表示装置、 1250 入力装置
1260 MAC生成部、 1261 MAC生成関数機能、
1300 第一のサーバ、 1500 メッセージ電文

Claims (8)

  1. ユーザによる端末の処理を、複数のサーバを用いて確認する確認システムであって、
    前記複数のサーバは、第一のサーバと第二のサーバであり、
    前記端末と前記第一のサーバは第一のネットワークを介して接続されており、前記第一のサーバと前記第二のサーバは第二のネットワークを介して接続されており、
    前記端末は、
    第一の共通鍵と第二の共通鍵を備える記憶部と、
    前記ユーザによる端末の処理に関するメッセージを前記第一及び第二の共通鍵で暗号化するMAC生成部と、
    前記MAC生成部により生成されたファイルを第一のサーバに送信するデータ送受信部と、を備え、
    前記第一のサーバは、
    受信したファイルを第一の共通鍵で復号化し、ファイルの正当性を検証するMAC検証部と、
    前記MAC検証部による検証で正当性が検証されたファイルを前記第二のサーバに送信し、前記第二のサーバの検証結果を受信するデータ送受信部と、
    前記第二のサーバの検証結果を格納する記憶部と、を備え、
    前記第二のサーバは、
    前記第一のサーバから受信したファイルを前記第二の共通鍵で復号化し、ファイルの正当性を検証するMAC検証部と、
    前記MAC検証部による検証で正当性が検証されたファイルを前記第一のサーバに送信するデータ送受信部と、
    を備えることを特徴とする確認システム。
  2. 請求項1に記載の確認システムにおいて、
    前記第一のサーバは、前記端末が前記第一の共通鍵で生成した第一のMACと当該第一のサーバが有する第一の共通鍵で生成した第三のMACとが一致するかを検証し、
    前記第二のサーバは、前記端末が前記第二の共通鍵で生成した第二のMACと当該第二のサーバが有する第二の共通鍵で生成した第四のMACとが一致するかを検証することを特徴とする確認システム。
  3. 請求項2に記載の確認システムにおいて、
    前記端末のMAC生成部は、前記第一のMACおよび前記第二のMACを、前記第一の共通鍵によるMAC生成と前記第二の共通鍵によるMAC生成とを入れ子にして生成することを特徴とする確認システム。
  4. 請求項3に記載の確認システムであって、
    前記第一のMACと前記第三のMACが一致し、かつ、前記第二のMACと前記第四のMACが一致した場合にのみ、ユーザの実行を許可することを特徴とする確認システム。
  5. 請求項4に記載の確認システムにおいて、
    前記ユーザの実行は、アップデートデータによる端末のアップデートであることを特徴とする確認システム。
  6. 請求項2乃至5のいずれか一項に記載の確認システムにおいて、
    前記サーバはN個あり、
    前記端末のMAC生成部は、第一の共通鍵から第Nの共通鍵までのN個の共通鍵を用いて第一のMACから第NのMACまでのN個のMACを生成し、
    2からN−1の値をとる各kに対して一つ存在する第kのサーバのMAC検証部は、第kの共通鍵を用いて第N+kのMACを生成し、前記第N+kのMACと前記ファイルの第kのMACとが一致するかを検証する確認システム。
  7. 請求項6に記載の確認システムであって、
    1からNのkに対して、m個より多くのkにおいて、前記第kのMACと前記第N+kのMACが一致した場合にユーザの実行を許可することを特徴とする確認システム。
  8. ユーザによる端末の処理を、複数のサーバを用いて確認する確認方法であって、
    前記複数のサーバは、第一のサーバと第二のサーバであり、
    前記端末と前記第一のサーバは第一のネットワークを介して接続されており、前記第一のサーバと前記第二のサーバは第二のネットワークを介して接続されており、
    前記端末は、
    第一の共通鍵と第二の共通鍵を予め備えておき、
    前記ユーザによる端末の処理に関するメッセージを前記第一及び第二の共通鍵で暗号化するMAC生成ステップと、
    前記MAC生成ステップにより生成されたファイルを第一のサーバに送信するデータ送信ステップと、
    前記第一のサーバが、受信したファイルを第一の共通鍵で復号化し、ファイルの正当性を検証するMAC検証するステップと、
    前記第一のサーバによるMAC検証ステップによる検証で正当性が検証されたファイルを前記第二のサーバに送信するステップと、
    前記第二のサーバが、前記第一のサーバから受信したファイルを前記第二の共通鍵で復号化し、ファイルの正当性を検証する第二のサーバによるMAC検証ステップと、
    前記第二のサーバによるMAC検証ステップによる検証で正当性が検証されたファイルを前記第一のサーバに送信するデータ送信ステップと、
    前記第二のサーバの検証結果を第一のサーバが受信して記憶部に格納する記憶ステップと、
    を備えることを特徴とする確認方法。
JP2016016836A 2016-02-01 2016-02-01 ユーザ許可の確認システム Active JP6527090B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016016836A JP6527090B2 (ja) 2016-02-01 2016-02-01 ユーザ許可の確認システム
EP17150377.4A EP3200388B1 (en) 2016-02-01 2017-01-05 User permission check system
US15/404,679 US10177918B2 (en) 2016-02-01 2017-01-12 User permission check system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016016836A JP6527090B2 (ja) 2016-02-01 2016-02-01 ユーザ許可の確認システム

Publications (2)

Publication Number Publication Date
JP2017139512A true JP2017139512A (ja) 2017-08-10
JP6527090B2 JP6527090B2 (ja) 2019-06-05

Family

ID=57737661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016016836A Active JP6527090B2 (ja) 2016-02-01 2016-02-01 ユーザ許可の確認システム

Country Status (3)

Country Link
US (1) US10177918B2 (ja)
EP (1) EP3200388B1 (ja)
JP (1) JP6527090B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092026A (ja) * 2017-11-14 2019-06-13 株式会社デンソー ネットワークシステム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09214556A (ja) * 1995-11-30 1997-08-15 Toshiba Corp パケット転送方法、パケット処理装置、パケット暗号化方法、パケット復号化方法及びパケット暗号処理方法
JP2007013386A (ja) * 2005-06-29 2007-01-18 Hitachi Ltd アドホックネットワーク用の通信端末および通信制御方法
JP2008017463A (ja) * 2006-06-07 2008-01-24 Hitachi Ltd 無線制御セキュリティシステム
US20120131681A1 (en) * 2010-11-19 2012-05-24 Microsoft Corporation Reliable software product validation and activation with redundant security
JP2012204895A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 情報処理装置
JP2014211473A (ja) * 2013-04-17 2014-11-13 株式会社日立製作所 完全性検証システム及び方法
JP2016116075A (ja) * 2014-12-15 2016-06-23 トヨタ自動車株式会社 車載通信システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231668A (en) 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US6915426B1 (en) * 1999-07-23 2005-07-05 Networks Associates Technology, Inc. System and method for enabling authentication at different authentication strength-performance levels
AU6374800A (en) * 1999-08-03 2001-02-19 Amr Mohsen Network-based information management system for the creation, production, fulfillment, and delivery of prescription medications and other complex products and services
WO2001059727A2 (en) * 2000-02-09 2001-08-16 Internetcash.Com Method and system for making anonymous electronic payments on the world wide web
US20050129236A1 (en) * 2003-12-15 2005-06-16 Nokia, Inc. Apparatus and method for data source authentication for multicast security
KR101294816B1 (ko) * 2008-05-29 2013-08-08 엘지전자 주식회사 제어신호 암호화 방법
US9547771B2 (en) * 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
KR102134429B1 (ko) * 2013-10-04 2020-07-15 삼성전자주식회사 컨텐츠 검증 방법 및 장치
KR101746193B1 (ko) * 2013-11-13 2017-06-20 한국전자통신연구원 보안 도우미 서비스 제공장치 및 서비스 제공방법
EP2930535A1 (en) * 2014-04-08 2015-10-14 The European Union, represented by the European Commission Method and system to optimise the authentication of radionavigation signals
JP2018534629A (ja) * 2015-11-22 2018-11-22 アンバウンド テック リミテッド ブールゲートのないマルチパーティ計算を用いて鍵付きハッシュメッセージ認証コード(hmac)を実行する方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09214556A (ja) * 1995-11-30 1997-08-15 Toshiba Corp パケット転送方法、パケット処理装置、パケット暗号化方法、パケット復号化方法及びパケット暗号処理方法
JP2007013386A (ja) * 2005-06-29 2007-01-18 Hitachi Ltd アドホックネットワーク用の通信端末および通信制御方法
JP2008017463A (ja) * 2006-06-07 2008-01-24 Hitachi Ltd 無線制御セキュリティシステム
US20120131681A1 (en) * 2010-11-19 2012-05-24 Microsoft Corporation Reliable software product validation and activation with redundant security
JP2012204895A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 情報処理装置
JP2014211473A (ja) * 2013-04-17 2014-11-13 株式会社日立製作所 完全性検証システム及び方法
JP2016116075A (ja) * 2014-12-15 2016-06-23 トヨタ自動車株式会社 車載通信システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092026A (ja) * 2017-11-14 2019-06-13 株式会社デンソー ネットワークシステム

Also Published As

Publication number Publication date
US20170222810A1 (en) 2017-08-03
EP3200388A1 (en) 2017-08-02
EP3200388B1 (en) 2020-08-26
JP6527090B2 (ja) 2019-06-05
US10177918B2 (en) 2019-01-08

Similar Documents

Publication Publication Date Title
US11323276B2 (en) Mutual authentication of confidential communication
US10015159B2 (en) Terminal authentication system, server device, and terminal authentication method
CN112926051B (zh) 多方安全计算方法和装置
US10637818B2 (en) System and method for resetting passwords on electronic devices
EP3732821B1 (en) Secure provisioning of keys
EP4046325A1 (en) Digital signature generation using a cold wallet
CN109309566B (zh) 一种认证方法、装置、***、设备及存储介质
JP6740545B2 (ja) 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、プログラム
JPWO2019093478A1 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
CN109218251B (zh) 一种防重放的认证方法及***
JP2017139512A (ja) ユーザ許可の確認システム
CN116033415A (zh) 基准站数据传输方法、装置、基准站、服务器及介质
CN111404680B (zh) 口令管理方法和装置
JP2014229968A (ja) 端末認証システムおよび端末認証方法
JP6067474B2 (ja) 電子署名検証方法および電子署名検証システム
JP2008203581A (ja) ネットワークシステム
JP6404958B2 (ja) 認証システム、方法及びプログラム並びにサーバ
KR101737925B1 (ko) 도전-응답 기반의 사용자 인증 방법 및 시스템
CN116032479A (zh) 数据传输方法、装置及存储介质
JP2018117388A (ja) 認証システム、方法及びプログラム、移動機器並びにサーバ
EP3659294A1 (en) Secure messaging
JP2003152697A (ja) 暗号処理制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190325

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: 20190409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190509

R150 Certificate of patent or registration of utility model

Ref document number: 6527090

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150