JPWO2020080510A1 - 認証認可システム、情報処理装置、機器、認証認可方法及びプログラム - Google Patents

認証認可システム、情報処理装置、機器、認証認可方法及びプログラム Download PDF

Info

Publication number
JPWO2020080510A1
JPWO2020080510A1 JP2020553332A JP2020553332A JPWO2020080510A1 JP WO2020080510 A1 JPWO2020080510 A1 JP WO2020080510A1 JP 2020553332 A JP2020553332 A JP 2020553332A JP 2020553332 A JP2020553332 A JP 2020553332A JP WO2020080510 A1 JPWO2020080510 A1 JP WO2020080510A1
Authority
JP
Japan
Prior art keywords
authorization
authentication
identifier
private key
extended identifier
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
JP2020553332A
Other languages
English (en)
Other versions
JP7115556B2 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020080510A1 publication Critical patent/JPWO2020080510A1/ja
Application granted granted Critical
Publication of JP7115556B2 publication Critical patent/JP7115556B2/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

複数の機器と、前記機器の秘密鍵を生成並びに前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子及び前記秘密鍵を配布するサーバとが含まれる認証認可システムであって、前記サーバは、前記機器の識別子及び前記機器の認可情報を保持する保持手段と、前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子から、前記機器の秘密鍵を生成する生成手段と、前記生成手段により生成された前記秘密鍵と、前記拡張識別子とを前記機器に配布する配布手段と、を有し、前記複数の機器の各々は、自機器の拡張識別子及び秘密鍵を用いて、他の機器との間で相互に認証を行う認証手段と、前記認証手段により前記他の機器との間での認証が成功した場合、前記他の機器の拡張識別子に含まれる認可情報に応じて、前記他の機器から自機器への要求を許可する認可手段と、を有することを特徴する。

Description

本発明は、認証認可システム、情報処理装置、機器、認証認可方法及びプログラムに関する。
近年、IoT(Internet of Things)機器同士で通信を行ったり、IoT機器とゲートウェイ機器やクラウド上のサーバ装置等とが通信を行ったりする場合に、互いの正当性を確認するための認証と、IoT機器が保持するデータや機能等へのアクセスを許可するための認可とが重要になってきている。通常、認証及び認可はそれぞれ独立に行われ、一般的には、まず認証を行って互いの正当性を確認した後に、認可情報であるアクセス可能なデータや機能等を確認する。例えば、スマートフォンが家電を操作する場合、まずスマートフォンと家電との間で認証を行って互いの正当性を確認し、互いの正当性が確認された後に、家電はスマートフォンに対して操作権限を認可する。これにより、スマートフォンで家電が操作できるようになる。
このように、IoTの分野では、認証及び認可はそれぞれ独立に行うものの、基本的には認証及び認可(以降、認証及び認可をまとめて「認証認可」とも表す。)の両方を行うことが一般的である。
ここで、IoT機器を対象とする認証プロトコルとしては、例えば、パスワード、PKI(Public Key Infrastructure)を用いた電子証明書、IDベース暗号を用いた認証付き鍵共有プロトコル等が知られている。認証プロトコルとしてパスワードを用いた場合、各IoT機器に対してパスワードを設定する必要があり、また定期的にパスワードを変更することが好ましいため、IoT機器の数が膨大である場合にはその運用が困難となることがある。したがって、IoT機器を対象とする認証プロトコルとしては、PKIを用いた電子証明書やIDベース暗号を用いた認証付き鍵共有プロトコルが用いられる場合が多い。なお、鍵共有プロトコルは、鍵交換プロトコルとも呼ばれる。
ところで、IDベース暗号とは、任意の文字列で表されたID等の識別子を公開鍵とすることができる公開鍵暗号である。IoT機器でIDベース暗号を用いる場合には、例えば、IoT機器の製造番号や製造コード、シリアルナンバー等を公開鍵することができる。この特徴を用いて認証付き鍵共有も可能となる。
認証付き鍵共有プロトコルとは、一般に、暗号化通信のための鍵共有を行いたいデバイス(例えば、IoT機器やサーバ装置等)同士が互いに認証を行った上で、この認証に成功した場合に共有鍵を生成するプロトコルである。認証付き鍵共有プロトコルとしては、例えば、Pin(Personal identification number)入力を用いた認証付きの鍵共有プロトコルであるM−Pin Full、ペアリングベースの認証付き鍵共有プロトコルであるFSU(Fujioka-Suzuki-Ustaoglu)、Chen−Cheng−Smart等が知られている。認証付き鍵共有プロトコルでは、マスター秘密鍵を鍵生成センタ(KGC:Key Generation Center、以降、「KGC」とも表す。)が保持し、このマスター秘密鍵から各デバイスの秘密鍵が生成されることで認証が行われる。
一方で、認可プロトコルとしては、OAUTH2プロトコル等が知られている。OAUTH2プロトコルでは、デバイスは、認可サーバからアクセストークンを取得し、そのアクセストークンをアクセス先デバイスに提示することで、アクセス先デバイスが保持するデータや機能等を利用することができるようになる。このとき、何等かの認証によりデバイスの正当性確認を行い、この正当性が確認された後にアクセストークンが発行される。これ以外にも、PKIの枠組みで認可を実現する方法として、アクセストークンを電子証明書内に記載し、その電子証明書(以降、アクセストークンが記載された電子証明書を「権限証明書」と表す。)をアクセストークンとして用いる方法もある。IoT機器の認証プロトコルとしてPKI(Public Key Infrastructure)を用いた電子証明書が用いられる場合、この方法を用いることで、PKIのみで認証認可が可能となる。
以上のように、デバイス同士が認証認可を行う場合は、まず何等かの認証を行って互いの正当性を確認した後に、アクセス元のデバイスがアクセストークン又は権限証明書の発行を受けて、そのアクセストークン又は権限証明書をアクセス先のデバイスに提示することで実現される。したがって、認証認可は、認証プロトコルと認可プロトコルとを様々に組み合わせることで実現することができる。
小松文子, 日本電気(株), 「プライバシ保護のためのアーキテクチャ」, IPSJ Magazine Vol.48 No.7, pp.737-743, 2017.7
ここで、IoT機器は、消費電力の制約等から狭帯域の無線ネットワークが用いられることが多く、通信速度が遅かったり、通信が不安定であったりする場合がある。このため、IoT機器で認証認可を行う場合には、通信負荷(つまり、通信量や通信回数等)が少ないことが望ましい。
本発明は、上記の点に鑑みてなされたもので、認証認可に伴う通信負荷を削減することを目的とする。
上記目的を達成するため、本発明の実施の形態は、複数の機器と、前記機器の秘密鍵を生成並びに前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子及び前記秘密鍵を配布するサーバとが含まれる認証認可システムであって、前記サーバは、前記機器の識別子及び前記機器の認可情報を保持する保持手段と、前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子から、前記機器の秘密鍵を生成する生成手段と、前記生成手段により生成された前記秘密鍵と、前記拡張識別子とを前記機器に配布する配布手段と、を有し、前記複数の機器の各々は、自機器の拡張識別子及び秘密鍵を用いて、他の機器との間で相互に認証を行う認証手段と、前記認証手段により前記他の機器との間での認証が成功した場合、前記他の機器の拡張識別子に含まれる認可情報に応じて、前記他の機器から自機器への要求を許可する認可手段と、を有することを特徴する。
認証認可に伴う通信負荷を削減することができる。
本発明の実施の形態における認証認可システムの全体構成の一例を示す図である。 本発明の実施の形態における認証認可基盤のハードウェア構成の一例を示す図である。 本発明の実施の形態における機器のハードウェア構成の一例を示す図である。 本発明の実施の形態における認証認可システムの機能構成の一例を示す図である。 本発明の実施の形態における拡張識別子の登録処理の一例を示す図である。 拡張識別子の構成の一例を示す図である。 拡張識別子の構成の一例を示す図である。 拡張識別子の構成の一例を示す図である。 本発明の実施の形態における認証認可処理の一例を示すフローチャートである。 本発明の実施の形態における相互認証処理の一例を示すフローチャートである。 本発明の実施の形態における相互認証処理の変形例を示すフローチャートである。
以下、本発明の実施の形態について説明する。本発明の実施の形態では、IDベース暗号を用いた認証プロトコルによる認証を行う場合に、認証処理と認可処理とを同一の処理内で行う(言い換えれば、認証処理内で認可処理も行う)ことで、認証認可に伴う通信負荷(通信量や通信回数等)を削減することが可能な認証認可システム1について説明する。
ここで、本発明の実施の形態では、IDベース暗号を用いた認証プロトコルの識別子として、認可に用いる情報(例えば、認可情報等)を含む識別子(以降では、この識別子を「拡張識別子」と表す。)を用いることで、認証認可を同一の処理内で行うことを実現する。そのため、従来のKGCとは異なり、本発明の実施の形態におけるKGC(以降、「AuthID−KGC」(認証認可ID&鍵発行センタ)とも表す。)には、認可に用いる情報を管理し、拡張識別子を生成する手段と、秘密鍵の他に拡張識別子を配布する手段とが含まれる。
すなわち、例えば、機器Aと機器Bとで認証認可を行う場合、機器A及び機器Bはそれぞれ自身の拡張識別子に対応する秘密鍵を用いて相互に正当性を確認する。そして、相互に正当性が確認された場合、機器A及び機器Bはそれぞれ相手の拡張識別子に含まれる認可情報等を参照すること、相手に認可があるか否かを確認する。ここで、拡張識別子に対応する秘密鍵はAuthID−KGCにより生成され、各機器に予め配布される。したがって、本発明の実施の形態では、AuthID−KGCが拡張識別子を用いて秘密鍵を生成及び配布することで、当該拡張識別子に対応する機器に対して認可を与えている、ということができる。
このように、本発明の実施の形態では、IDベース暗号を用いた認証プロトコルによる相互認証を行った後、相手の拡張識別子を参照するだけで、相手の認可を確認することができる。このため、各機器は認可のための通信負荷(例えば、認可サーバとの通信に発生する負荷等)を削減することができる。
<全体構成>
まず、本発明の実施の形態における認証認可システム1の全体構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における認証認可システム1の全体構成の一例を示す図である。
図1に示すように、本発明の実施の形態における認証認可システム1には、認証認可基盤10と、1台以上の機器20とが含まれる。また、認証認可基盤10と、各機器20とは、例えばインターネット等の通信ネットワークNを介して通信可能に接続されている。
認証認可基盤10は、AuthID−KGCとして機能するコンピュータ又はコンピュータシステムである。認証認可基盤10は、例えば機器20の管理者(以降、「機器管理者」とも表す。)からの要求(拡張識別子の登録要求)に応じて、拡張識別子を認証認可基盤10に登録すると共に、この拡張識別子から秘密鍵を生成し、当該拡張識別子に対応する機器20に当該秘密鍵を配布する。なお、機器管理者は、例えば、認証認可基盤10と通信ネットワークNを介して接続される端末を用いて拡張識別子の登録要求を行っても良いし、認証認可基盤10を操作することで拡張識別子の登録要求を行っても良い。
機器20は、例えば、各種センサデバイスや組込み機器、ウェアラブルデバイス、デジタル家電、監視カメラ装置、照明機器、医療機器、産業用機器等の種々のIoT機器である。機器20は、他の機器20との間でIDベース暗号を用いた認証プロトコルにより認証(つまり、正当性の確認)を行って、認証認可を行う。このとき、機器20は、認証認可基盤10から配布された秘密鍵を用いて、他の機器20との間で認証を行う。
以降では、複数の機器20の各々を区別して表す場合は、「機器20A」、「機器20B」等と表す。また、機器20が他の機器20のデータや機能等を操作(アクセスも含む)又は利用する場合、当該他の機器20は当該機器20の認可を確認することから、以降では、当該機器20(つまり、データの操作や機能の利用を行う側の機器20)を「被認可機器20」、当該他の機器20(つまり、被認可機器20を認可して、自身がデータへの操作や機能の利用を許可する側の機器20)を「認可機器20」とも表す。なお、例えば、2台の機器20が相互にデータや機能等の操作又は利用することもあるため、1台の機器20が被認可機器20かつ認可機器20となることも有り得る。
なお、本発明の実施の形態における機器20は、一般的なPC(パーソナルコンピュータ)よりもハードウェア資源(例えば、プロセッサの処理性能やメモリ量等)が乏しいIoT機器等であるものとして説明するが、機器20はIoT機器以外であっても良い。例えば、機器20は、スマートフォンやタブレット端末等であっても良い。
なお、図1に示す認証認可システム1の構成は一例であって、他の構成であっても良い。例えば、上述した機器管理者が利用する端末が認証認可システム1に含まれていても良い。また、機器20が、機器20以外の何等かの機器又は装置(例えば、ゲートウェイ機器やサーバ等)との間で認証認可を行う場合には、当該機器又は装置が認証認可システム1に含まれていても良い。
<ハードウェア構成>
次に、本発明の実施の形態における認証認可基盤10及び機器20のハードウェア構成について説明する。
≪認証認可基盤10≫
以降では、本発明の実施の形態における認証認可基盤10のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における認証認可基盤10のハードウェア構成の一例を示す図である。
図2に示すように、本発明の実施の形態における認証認可基盤10は、入力装置11と、表示装置12と、RAM(Random Access Memory)13と、ROM(Read Only Memory)14と、プロセッサ15と、外部I/F16と、通信I/F17と、補助記憶装置18とを有する。これら各ハードウェアは、それぞれがバス19を介して通信可能に接続されている。
入力装置11は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置12は、例えばディスプレイ等であり、ユーザに対して各種処理結果等を表示するのに用いられる。なお、認証認可基盤10は、入力装置11及び表示装置12のうちの少なくとも一方を有していなくても良い。
RAM13は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM14は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。プロセッサ15は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等であり、ROM14や補助記憶装置18等からプログラムやデータをRAM13上に読み出して処理を実行する演算装置である。なお、認証認可基盤10は、プロセッサ15として、CPU及びGPUの両方を有していても良いし、CPU及びGPUのいずれか一方のみを有していても良い。
外部I/F16は、外部装置とのインタフェースである。外部装置には、記録媒体16a等がある。記録媒体16aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。記録媒体16aには、認証認可基盤10が有する各機能を実現する1以上のプログラム等が記録されていても良い。
通信I/F17は、認証認可基盤10を通信ネットワークNに接続するためのインタフェースである。認証認可基盤10は、通信I/F17を介して、機器20との間でデータ通信を行うことができる。
補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。補助記憶装置18には、認証認可基盤10が有する各機能を実現する1以上のプログラム等が記憶されている。
本発明の実施の形態における認証認可基盤10は、図2に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図2では、本発明の実施の形態における認証認可基盤10が1台の情報処理装置(コンピュータ)で実現されている場合を示したが、これに限られない。本発明の実施の形態における認証認可基盤10は、複数台の情報処理装置(コンピュータ)で実現されていても良い。
≪機器20≫
以降では、本発明の実施の形態における機器20のハードウェア構成について、図3を参照しながら説明する。図3は、本発明の実施の形態における機器20のハードウェア構成の一例を示す図である。
図3に示すように、本発明の実施の形態における機器20は、プロセッサ21と、メモリ装置22と、通信I/F23とを有する。これら各ハードウェアは、それぞれがバス24を介して通信可能に接続されている。
プロセッサ21は、例えばMPU(Micro Processing Unit)やCPU等であり、メモリ装置22からプログラムやデータを読み出して処理を実行する演算装置である。
メモリ装置22は、例えばRAMやROM、フラッシュメモリ等であり、各種データやプログラム等を記憶する。メモリ装置22には、本発明の実施の形態における機器20が有する各機能を実現する1以上のプログラム等が記憶されている。
通信I/F23は、機器20を通信ネットワークNに接続するためのインタフェースである。機器20は、通信I/F23を介して、他の機器20や認証認可基盤10等との間でデータ通信を行うことができる。
本発明の実施の形態における機器20は、図3に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
<機能構成>
次に、本発明の実施の形態における認証認可システム1の機能構成について、図4を参照しながら説明する。図4は、本発明の実施の形態における認証認可システム1の機能構成の一例を示す図である。
≪認証認可基盤10≫
図4に示すように、本発明の実施の形態における認証認可基盤10は、通信部101と、登録処理部102とを有する。これら各機能部は、認証認可基盤10にインストールされた1以上のプログラムがプロセッサ15に実行させる処理により実現される。
また、本発明の実施の形態における認証認可基盤10は、記憶部103を有する。記憶部103は、例えば補助記憶装置18等を用いて実現可能である。なお、記憶部103は、認証認可基盤10と通信ネットワークNを介して接続される記憶装置等を用いて実現されていても良い。
通信部101は、機器20や他の装置(例えば、機器管理者が利用する端末等)等との間で各種通信を行う。登録処理部102は、例えば機器管理者からの要求(拡張識別子の登録要求)に応じて、拡張識別子を認証認可基盤10に登録すると共に、秘密鍵の生成及び配布を行う。
ここで、拡張識別子とは、後述するように、機器20の識別子と、認可に用いられる情報(例えば、認可情報等)とが含まれる情報である。また、機器20の識別子とは、当該機器20を識別する情報のことであり、例えば、機器20の製造番号、製造コード、シリアルナンバー等である。これら以外にも、機器20の識別子として、電話番号やメールアドレス等が用いられも良い。また、機器20の識別子として、製造番号や製造コード、シリアルナンバー、電話番号、メールアドレス等を組み合わせた情報が用いられても良い。
記憶部103は、登録処理部102によって登録された拡張識別子が記憶される。なお、記憶部103には、拡張識別子以外にも、例えば、当該拡張識別子に対応する秘密鍵等が記憶されていても良い。
≪機器20≫
図4に示すように、本発明の実施の形態における機器20は、通信部201と、認証認可処理部202とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムがプロセッサ21に実行させる処理により実現される。
また、本発明の実施の形態における機器20は、記憶部203を有する。記憶部203は、例えばメモリ装置22等を用いて実現可能である。
通信部201は、他の機器20や認証認可基盤10、他の装置等との間で各種通信を行う。認証認可処理部202は、自身の拡張識別子や秘密鍵等を用いて、他の機器20との間で相互に認証を行うと共に、相手の拡張識別子を参照することで、相手に与えられた認可を確認する。
記憶部203は、認証認可基盤10から配布された自身の秘密鍵や拡張識別子等を記憶する。また、記憶部203は、相互認証の相手の機器20の拡張識別子や相互認証に必要な各種情報等も記憶する。
<処理の詳細>
次に、本発明の実施の形態における認証認可システム1の処理の詳細について説明する。
≪拡張識別子の登録処理≫
以降では、認証認可基盤10に拡張識別子を登録する処理(拡張識別子の登録処理)について、図5を参照しながら説明する。図5は、本発明の実施の形態における拡張識別子の登録処理の一例を示す図である。
まず、登録処理部102は、例えば機器管理者からの拡張識別子の登録要求を受け付ける(ステップS101)。上述したように、機器管理者は、例えば、認証認可基盤10と通信ネットワークNを介して接続される端末を用いて拡張識別子の登録要求を行っても良いし、認証認可基盤10を操作することで拡張識別子の登録要求を行っても良い。
ここで、被認可機器20の拡張識別子の登録要求を行う場合、機器管理者は、当該被認可機器20の識別子と、認可情報とを指定する。認可情報としては、認可機器20の識別子や当該認可機器20に対する操作権限(つまり、被認可機器20に許可する操作等の権限)等が含まれる。更に、認可情報に有効期限を設ける場合等には、機器管理者は、当該有効期限を示す日付(又は日時)を指定しても良い。
一方で、認可機器20の拡張識別子の登録要求を行う場合、機器管理者は、当該認可機器20の識別子を指定する。
このように、機器管理者は、少なくとも機器20の識別子を指定することで、拡張識別子の登録要求を行う。なお、或る機器20が被認可機器20であると同時に認可機器20である場合も有り得る。この場合は、当該或る機器20の拡張識別子の登録要求には、認可情報等が指定される。
次に、登録処理部102は、上記のステップS101で受け付けた拡張識別子の登録要求に基づいて、拡張識別子を作成し、記憶部103に保存する(ステップS102)。
ここで、拡張識別子の構成の一例について、図6を参照しながら説明する。図6は、拡張識別子の構成の一例を示す図である。
図6Aは、被認可機器20の拡張識別子であり、当該被認可機器20の識別子と、日付と、認可情報とで構成されている。また、認可情報には、認可機器20の識別子が含まれている。この拡張識別子は、被認可機器20と認可機器20とで相互認証が成功した場合に、被認可機器20から認可機器20へのアクセスが許可(認可)されることを示している。なお、日付は、認可情報の有効期限であっても良いし、拡張識別子の生成日であっても良いし、拡張識別子自体の有効期限であっても良いし、又はこれらの組み合わせであっても良い。
図6Aの拡張識別子は、例えば、被認可機器20の識別子の「#A」、日付を「YYYYMMDD」、認可機器20の識別子を「#B」とした場合、「#A_YYYYMMDD_#B」等と表すことができる。
図6Bは、被認可機器20の拡張識別子であり、当該被認可機器20の識別子と、日付と、認可情報とで構成されている。また、認可情報には、認可機器20の識別子と、当該認可機器20への許可動作とが含まれている。この拡張識別子は、被認可機器20と認可機器20とで相互認証が成功した場合に、被認可機器20から認可機器20に対して、当該許可動作に指定されている動作(例えば、データの操作や機能の利用等)が許可(認可)されることを示している。なお、日付は、上記と同様に、認可情報の有効期限であっても良いし、拡張識別子の生成日であっても良いし、拡張識別子自体の有効期限であっても良いし、又はこれらの組み合わせであっても良い。
図6Bの拡張識別子は、例えば、被認可機器20の識別子の「#A」、日付を「YYYYMMDD」、認可機器20の識別子を「#B」、許可動作を「#OPEN」(例えば、ファイル参照)とした場合、「#A_YYYYMMDD_#B_#OPEN」等と表すことができる。
図6Cは、認可機器20の拡張識別子であり、当該認可機器20の識別子と、日付とで構成されている。なお、日付は、拡張識別子の生成日であっても良いし、拡張識別子自体の有効期限であっても良いし、又はこれらの組み合わせであっても良い。
図6Cの拡張識別子は、例えば、認可機器20の識別子の「#B」、日付を「YYYYMMDD」とした場合、「#B_YYYYMMDD」等と表すことができる。
このように、被認可機器20の拡張識別子(例えば図6Aや図6B)には、当該被認可機器20の識別子に対して、当該被認可機器20の認可情報が対応付けられている。これにより、認可機器20は、この認可情報を参照することで、被認可機器20に対してデータの操作や機能の利用等の認可することができるようになる。なお、上記の図6Bでは、一例として、拡張識別子の認可情報に許可動作が含まれる場合を示したが、認可情報には、これ以外にも、種々の情報が含まれていても良い。例えば、被認可機器20に対して禁止する操作や機能等を明示的に指定したい場合には、禁止動作が含まれていても良い。また、認可情報には、例えば、当該認可情報が失効しているか否かを示す失効情報が含まれていても良い。
次に、登録処理部102は、上記のステップS102で作成した拡張識別子から秘密鍵を生成する(ステップS103)。
最後に、登録処理部102は、機器20に対して、当該機器20の拡張識別子と、当該拡張識別子から生成された秘密鍵とを配布する(ステップS104)。このとき、拡張識別子は全ての機器20に対して配布(又は公開)されても良いし、被認可機器20の拡張識別子が認可機器20に対して配布(又は公開)されるようにしても良い。
これにより、当該機器20の記憶部203には、認証認可基盤10から配布された拡張識別子及び秘密鍵が保存される。なお、認証認可基盤10から機器20へ拡張識別子及び秘密鍵を配布する方法としては、例えば、通信部101により通信ネットワークNを介して配布されても良いし、外部記録媒体等を介して配布されても良い。
以上のように、機器20の識別子が含まれる拡張識別子が認証認可基盤10に登録され、当該機器20に対して、当該拡張識別子と、当該拡張識別子から生成された秘密鍵とが配布される。
≪認証認可処理≫
以降では、機器20同士で認証及び認可を行う処理(認証認可処理)について、図7を参照しながら説明する。図7は、本発明の実施の形態における認証認可処理の一例を示すフローチャートである。
図7に示す認証認可処理では、一例として、被認可機器20を「機器20A」、認可機器20を「機器20B」として、機器20Aと機器20Bとの間で認証認可処理を行う場合について説明する。また、一例として、IDベース暗号を用いた認証付き鍵共有プロトコルであるFSUを用いて、機器20Aと機器20Bとの間の相互認証を行うものとする。
(記号の定義)
以降で用いる記号を次のように定義する。
ID:機器20Aの拡張識別子
ID:機器20Bの拡張識別子
A,1:機器20Aの秘密鍵
B,2:機器20Bの秘密鍵
k:セキュリティパラメータ
p,q:p≠qを満たす素数
:有限体F上の楕円曲線E:=E(F)における部分群
:Fのk次拡大体上の楕円曲線
Figure 2020080510
における部分群
:Gの生成元
:Gの生成元
:qを法とする剰余類
z∈Z:マスター秘密鍵
=zg∈G(v=1,2):マスター公開鍵
:文字列(すなわち、オクテット列)からG上の元を生成する関数
:文字列からG上の元を生成する関数
H:鍵導出関数
e:BN(Barret-Naehrig)曲線上のOptimal Ateペアリング
なお、BN曲線上のOptimal Ateペアリングについては、例えば、以下の参考文献1を参照されたい。
[参考文献1]
K. Kasamatsu, S. Kanno, T. Kobayashi and Y. Kawahara: Optimal Ate Pairing draft-kasamatsu-optimal-ate-pairings-00. Network Working Group Internet-Draft: to apper.
ここで、上記で定義した各記号のうち、マスター秘密鍵z、秘密鍵DA,1及びDB,2以外は公開情報であるものとする。
まず、機器20Aと機器20Bとの間で相互認証(FSUを用いた相互認証)を行う(ステップS201)。FSUを用いた相互認証の処理の詳細については後述する。
上記のステップS201での相互認証が成功した場合(すなわち、機器20Aと機器20Bとの間で互いに正当性が確認された場合)、機器20Bの認証認可処理部202は、機器20Aの拡張識別子IDに含まれる認可情報を参照して、当該機器20Aを認可する(ステップS202)。すなわち、機器20Bの認証認可処理部202は、当該認可情報に応じて、当該機器20Aからの要求(例えば、データの操作要求や機能の実行要求等)を許可する。例えば、機器20Bの認証認可処理部202は、自身の識別子のみが当該認可情報に指定されている場合、機器20Aに対して、自身へのアクセスを認可(許可)する。また、例えば、機器20Bの認証認可処理部202は、自身の識別子と、許可動作とが当該認可情報に指定されている場合、機器20Aに対して、当該許可動作が示す動作(例えば、データの操作や機能の利用等)を認可(許可)する。
なお、機器20Bの認証認可処理部202は、拡張識別子IDに含まれる日付を参照して、認可情報が有効期限内であるか否かを判定し、有効期限内である場合にのみ機器20Aを認可しても良い。又は、機器20Bの認証認可処理部202は、拡張識別子IDの認可情報に禁止動作や失効情報等が含まれる場合には、これらの情報を参照して、禁止動作以外を認可(許可)したり、認可情報が失効しているか否かを判定したりしても良い。
次に、機器20Aは、通信部201を介して、上記のステップS202で認可された動作(例えば、データの操作や機能の利用等)を機器20Bに対して実行する(ステップS203)。すなわち、機器20Aの通信部201は、上記のステップS202で認可された動作に応じて、データの操作要求や機能実行要求等を機器20Bに送信する。
一方で、上記のステップS201での相互認証が失敗した場合(すなわち、機器20A及び機器20Bの少なくとも一方の機器20で正当性が確認されなかった場合)、機器20Bの認証認可処理部202は、機器20Bからのアクセスを拒否する(ステップS204)。
以上のように、認可機器20と被認可機器20との間で相互認証が成功した場合、認可機器20は、被認可機器20の拡張識別子に含まれる認可情報を参照することで、この被認可機器20の所定の動作(例えば、データの操作や機能の利用等)を認可することができる。このため、認可機器20及び被認可機器20は認可のための通信(例えば、認可サーバへの通信等)を行う必要がなくなり、通信負荷を削減することができる。
≪相互認証処理(FSU)≫
次に、上記のステップS201の相互認証処理の詳細について、図8を参照しながら説明する。図8は、本発明の実施の形態における相互認証処理の一例を示すフローチャートである。
ここで、上述したように、秘密鍵DA,1及びDB,2は認証認可基盤10により生成される。これらの秘密鍵DA,1及びDB,2は、認証認可基盤10の登録処理部102が以下を計算することにより生成される。
A,1=zQA,1=zH(ID)∈G
B,2=zQB,2=zH(ID)∈G
また、QA,1=H(ID)及びQB,2=H(ID)は、認証認可基盤10から機器20A及び機器20Bに配布(又は公開)されているものとする。ただし、QA,1=H(ID)及びQB,2=H(ID)は、機器20A及び機器20Bでそれぞれ計算されても良い。
なお、上記の秘密鍵DA,1及びDB,2の計算方法に示されるように、認証認可基盤10の登録処理部102は、QA,1及びQB,2をそれぞれz倍することで秘密鍵DA,1及びDB,2をそれぞれ生成している。このため、認証認可基盤10の登録処理部102は、秘密鍵を生成するための計算を、CPUの代わりにGPUを用いて並列実行することで、多数の拡張識別子に対して秘密鍵を効率的に生成することができる。また、この場合、一般にGPUはCPUに比べて安価であることが多いため、認証認可基盤10の構築に要するコストも削減することができるようになる。
機器20Aの認証認可処理部202は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XA,1=xと短期公開鍵XA,2=xとを計算する(ステップS301)。これにより、短期秘密鍵xと、短期公開鍵XA,1及びXA,1とが生成される。なお、短期秘密鍵xと、短期公開鍵XA,1及びXA,1とは、例えば、機器20Aの記憶部203に記憶される。
機器20Bの認証認可処理部202は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XB,1=xと短期公開鍵XB,2=xとを計算する(ステップS302)。これにより、短期秘密鍵xと、短期公開鍵XB,1及びXB,1とが生成される。なお、短期秘密鍵xと、短期公開鍵XB,1及びXB,1とは、例えば、機器20Bの記憶部203に記憶される。
機器20Aの通信部201は、拡張識別子IDと、拡張識別子IDと、短期公開鍵XA,1と、短期公開鍵XA,2とを機器20Bに送信する(ステップS303)。
機器20Bの認証認可処理部202は、楕円曲線E及びXA,2に関するGROUPMEMBERSHIPTEST関数値と、楕円曲線E及びXA,1に関するGROUPMEMBERSHIPTEST関数値とが共に1であり、かつ、e(XA,1,g)=e(g,XA,2)であるか否かを確認する(ステップS304)。ここで、GROUPMEMBERSHIPTEST関数は、引数として楕円曲線Eと点Pとが指定される関数であり、点Pが楕円曲線E上の点である場合に1、そうでない場合に0となる関数である。
なお、上記のステップS304において、GROUPMEMBERSHIPTEST関数値が0又はe(XA,1,g)≠e(g,XA,2)である場合、相互認証処理が失敗したものとして、処理を終了するか又は上記のステップS301からやり直す。以降では、上記のステップS304において、GROUPMEMBERSHIPTEST関数値が共に1で、かつ、e(XA,1,g)=e(g,XA,2)であると確認されたものとする。
機器20Bの認証認可処理部202は、以下により共有値σ,σ,σ,σを計算する(ステップS305)。
σ=e(QA,1,DB,2
σ=e(QA,1+XA,1,DB,2+x
σ=xA,1
σ=xA,2
次に、機器20Bの通信部201は、拡張識別子IDと、拡張識別子IDと、短期公開鍵XB,1と、短期公開鍵XB,2とを機器20Aに送信する(ステップS306)。
機器20Aの認証認可処理部202は、楕円曲線E及びXB,2に関するGROUPMEMBERSHIPTEST関数値と、楕円曲線E及びXB,1に関するGROUPMEMBERSHIPTEST関数値とが共に1であり、かつ、e(XB,1,g)=e(g,XB,2)であるか否かを確認する(ステップS307)。
なお、上記のステップS307において、GROUPMEMBERSHIPTEST関数値が0又はe(XB,1,g)≠e(g,XB,2)である場合、相互認証処理が失敗したものとして、処理を終了するか又は上記のステップS301からやり直す。以降では、上記のステップS307において、GROUPMEMBERSHIPTEST関数値が共に1で、かつ、e(XB,1,g)=e(g,XB,2)であると確認されたものとする。
機器20Aの認証認可処理部202は、以下により共有値σ,σ,σ,σを計算する(ステップS308)。
σ=e(DA,1,QB,2
σ=e(DA,1+x,QB,2+XB,2
σ=xB,1
σ=xB,2
次に、機器20Aの認証認可処理部202は、以下によりsidを計算する(ステップS309)。なお、sidはセッションIDである。
Figure 2020080510
また、機器Bの認証認可処理部202は、上記のステップS309と同様に、以下によりsidを計算する(ステップS310)。
Figure 2020080510
機器20Aの認証認可処理部202は、以下により共有鍵Kを生成する(ステップS311)。
Figure 2020080510
なお、この共有鍵Kは、例えば、機器20Aの記憶部203に記憶される。
また、機器20Bの認証認可処理部202は、上記のステップS311と同様に、以下により共有鍵Kを生成する(ステップS312)。
Figure 2020080510
なお、この共有鍵Kは、例えば、機器20Bの記憶部203に記憶される。
これにより、機器20Aと機器20Bとの間で共有鍵Kが共有される。そして、機器20Aと機器20Bとは、この共有鍵Kにより相互認証を行う(ステップS313)。
以上のように、FSUを用いて、機器20Aと機器20Bとの間で相互認証を行うことができる。ここで、上記のステップS308で機器20Aが計算するσに着目すると、σ=e(DA,1,QB,2)となっている。このため、機器20Aが接続する接続先のQB,2(=H(ID))が固定的な場合には、このσを一度計算した上で、その計算結果を記憶部203等に保持しておくことで、次回の計算ではσの計算を省略することができる。また、QB,2自体は公開情報であるため、QB,2が一定の規則で生成される場合は当該QB,2を事前に計算した上で、σも事前に計算しておくことも可能である。
これにより、機器20Aは、相互認証に要する処理を効率的に行うことができるようになる。特に、機器20Aは、一般的なPC等よりもハードウェア資源が乏しいIoT機器等であるため、σを事前に計算しておくこと等により、相互認証に要する処理をより効率的に行うことができる(つまり、CPUの処理負荷を少なくすることができると共に、高速に実行することができる)ようになる。
<相互認証処理の変形例>
以降では、図7のステップS201の相互認証処理の変形例として、機器20間の通信量がより少なくなり、かつ、各機器20での計算量がより少なくなるようにFSUを改良したプロトコルによって相互認証処理を行う場合について説明する。
(記号の定義)
まず、本変形例で用いる記号を次のように定義する。
ID:機器20Aの拡張識別子
ID:機器20Bの拡張識別子
:機器20Aの秘密鍵
:機器20Bの秘密鍵
k:セキュリティパラメータ
p,q:p≠qを満たす素数
:有限体F上の楕円曲線E:=E(F)における部分群
:Fのk次拡大体上の楕円曲線
Figure 2020080510
における部分群
:Gの生成元
:Gの生成元
:qを法とする剰余類
z∈Z:マスター秘密鍵
Z=zg∈G:マスター公開鍵
:文字列(すなわち、オクテット列)からZ上の元を生成する関数
:文字列からZ上の元を生成する関数
:文字列からZ上の元を生成する関数
H:鍵導出関数
K:共有鍵
e:G×G上で定義されたペアリング演算
ここで、上記で定義した各記号のうち、マスター秘密鍵z、秘密鍵D及びD以外は公開情報であるものとする。なお、GとGとは逆であっても良い。また、群の元やZの元を関数に入力する場合には、当該元を表す文字列を関数に入力するものとする。
また、上述したように、秘密鍵D及びDは認証認可基盤10により生成される。これらの秘密鍵D及びDは、認証認可基盤10の登録処理部102が以下を計算することにより生成される。
Figure 2020080510
Figure 2020080510
ここで、i=H(ID)、i=H(ID)である。これらi及びiは、認証認可基盤10で生成されても良いし、機器20で生成されても良い。すなわち、例えば、秘密鍵Dを生成する際に、認証認可基盤10でiを生成しても良いし、機器20Aでiを生成して認証認可基盤10に公開しても良い。同様に、例えば、秘密鍵Dを生成する際に、認証認可基盤10でiを生成しても良いし、機器20Bでiを生成して認証認可基盤10に公開しても良い。なお、機器20A及び機器20Bのそれぞれでi及びiを生成することが簡便であるが、例えば、機器20の計算リソースが限られており、Hの計算に多くの計算リソースが必要な場合等には認証認可基盤10でi及びiを生成することが好ましい。
≪相互認証処理の変形例≫
次に、図7のステップS201の相互認証処理の変形例について、図9を参照しながら説明する。図9は、本発明の実施の形態における相互認証処理の変形例を示すフローチャートである。
機器20Aの認証認可処理部202は、r∈Zをランダムに選択した上で、短期秘密鍵
Figure 2020080510
を生成すると共に、短期公開鍵X=x(z+i)gを生成する(ステップS401)。なお、短期秘密鍵x及び短期公開鍵Xは、例えば、機器20Aの記憶部203に記憶される。
同様に、機器20Bの認証認可処理部202は、r∈Zをランダムに選択した上で、短期秘密鍵
Figure 2020080510
を生成すると共に、短期公開鍵X=x(z+i)gを生成する(ステップS402)。なお、短期秘密鍵x及び短期公開鍵Xは、例えば、機器20Bの記憶部203に記憶される。
次に、機器20Aの通信部201は、拡張識別子IDと短期公開鍵Xとを機器20Bに送信する(ステップS403)。なお、このとき、機器20Aの通信部201は、拡張識別子IDも機器20Bに送信しても良い。
同様に、機器20Bの通信部201は、拡張識別子IDと短期公開鍵Xとを機器20Aに送信する(ステップS404)。なお、このとき、機器20Bの通信部201は、拡張識別子IDも機器20Aに送信しても良い。
次に、機器20Aの認証認可処理部202は、上記のステップS401で生成した短期秘密鍵xを記憶部203から削除する(ステップS405)。同様に、機器20Bの認証認可処理部202は、上記のステップS402で生成した短期秘密鍵xを記憶部203から削除する(ステップS406)。
なお、上記のステップS405及びステップS406で短期秘密鍵x及び短期秘密鍵xをそれぞれ削除しているが、これは、他方の機器20から拡張識別子及び短期公開鍵を受信するまでの間に短期秘密鍵が流出することを防止するためである。すなわち、例えば、機器20Aが拡張識別子ID及び短期公開鍵Xを機器20Bに送信した後、機器20Aが拡張識別子ID及び短期公開鍵Xを機器20Bから受信するまでの間には或る程度の時間を要することがある。このため、この時間の間における短期秘密鍵xの流出を防止するために、機器20Aは、拡張識別子ID及び短期公開鍵Xを機器20Bに送信した後、短期秘密鍵xを削除している。短期秘密鍵xを削除している理由についても同様である。ただし、短期秘密鍵x及びxを削除しない運用も可能である(つまり、ステップS405〜ステップS406と、後述するステップS407〜ステップS408とを実行しない運用も可能である。)。
ここで、機器20Aは、拡張識別子ID及び短期公開鍵Xを機器20Bから受信した時点で、以降のステップS405、ステップS407、ステップS409、ステップS411、ステップS413及びステップS415を実行可能である。同様に、機器20Bは、拡張識別子ID及び短期公開鍵Xを機器20Aから受信した時点で、以降のステップS406、ステップS408、ステップS410、ステップS412、ステップS414及びステップS416を実行可能である
機器20Aの認証認可処理部202は、短期秘密鍵
Figure 2020080510
を再度生成する(ステップS407)。なお、短期秘密鍵xは、機器20Aの記憶部203に記憶される。
同様に、機器20Bの認証認可処理部202は、短期秘密鍵
Figure 2020080510
を再度生成する(ステップS408)。なお、短期秘密鍵xは、機器20Bの記憶部203に記憶される。
次に、機器20Aの認証認可処理部202は、以下により公開情報d及びdを生成する(ステップS409)。
=H(X,ID,ID
=H(X,ID,ID
同様に、機器20Bの認証認可処理部202は、以下により公開情報d及びdを生成する(ステップS410)。
=H(X,ID,ID
=H(X,ID,ID
ここで、上記のステップS409及びステップS410では公開情報d及びdを機器20A及び機器20Bが生成するものとしたが、認証認可基盤10が生成しても良い。機器20A及び機器20Bのそれぞれで公開情報d及びdを生成することが簡便であるが、例えば、機器20の計算リソースが限られており、Hの計算に多くの計算リソースが必要な場合等には認証認可基盤10で公開情報d及びdを生成することが好ましい。なお、公開情報d及びdが生成されるタイミングは、短期公開鍵X及びXの生成後、後述する共有値σの生成前であれば、任意のタイミングで良い。
次に、機器20Aの認証認可処理部202は、以下により共有値σを計算する(ステップS411)。
=(x+d)(X+d(z+i)g
σ=e(F,D
同様に、機器20Bの認証認可処理部202は、以下により共有値σを計算する(ステップS412)。
=(x+d)(X+d(z+i)g
σ=e(F,D
次に、機器20Aの認証認可処理部202は、以下によりsidを計算する(ステップS413)。
Figure 2020080510
同様に、機器20Bの認証認可処理部202は、以下によりsidを計算する(ステップS414)。
Figure 2020080510
機器20Aの認証認可処理部202は、以下により共有鍵Kを生成する(ステップS415)。
Figure 2020080510
なお、この共有鍵Kは、例えば、機器20Aの記憶部203に記憶される。
同様に、機器20Bの認証認可処理部202は、以下により共有鍵Kを生成する(ステップS416)。
Figure 2020080510
なお、この共有鍵Kは、例えば、機器20Bの記憶部203に記憶される。
これにより、機器20Aと機器20Bとの間で共有鍵Kが共有される。そして、機器20Aと機器20Bとは、この共有鍵Kにより相互認証を行う(ステップS417)。
以上のように、機器20間の通信量がより少なくなり、かつ、各機器20での計算量がより少なくなるようにFSUを改良したプロトコルを用いて、機器20Aと機器20Bとの間で相互認証を行うことができる。ここで、本変形例では、図8で説明した相互認証処理と比較すると、機器20Aと機器20Bとの間で送受信される短期公開鍵がX及びXのみであるため、機器20Aと機器20Bとの間の通信量を削減することが可能となる。また、機器20A及び機器20Bでのペアリング演算の回数がそれぞれ1回であるため、機器20A及び機器20Bの計算量も削減することが可能となる。このため、機器20がIoT機器等である場合であっても、相互認証に要する処理をより効率的に行うことができるようになる。
<まとめ>
以上のように、本発明の実施の形態における認証認可システム1では、被認可機器20と認可機器20との間で相互認証を行った後、認可機器20が被認可機器20の拡張識別子を参照することで、認可機器20から被認可機器20への認可を行うことができる。このため、本発明の実施の形態における認証認可システム1によれば、認可機器20及び被認可機器20は認可のための通信(例えば、認可サーバへの通信等)を行う必要がなくなり、通信負荷を削減することができる。
また、各機器20の認可情報が拡張識別子に含まれているため、例えば機器管理者は、この拡張識別子に含まれる認可情報を変更や更新等するだけで、各機器20間での認可を容易に制御することができる。
更に、通常、認証サーバと認可サーバとが別々に構築されることが一般的であるが、本発明の実施の形態における認証認可システム1では、認証及び認可を認証認可基盤10のみで実現することができる。このため、例えば、認証サーバと認可サーバとの間の連携が不要になり、認証及び認可に必要なサーバの構築を容易に行うこともできるようになる。したがって、例えば、多数の機器20を用いて実験的に何等かの処理を試行するような環境を構築する場合にも、本発明の実施の形態における認証認可システム1を用いることで、容易に環境を構築することもできるようになる。
なお、上記の実施の形態では、機器20同士で、一方が被認可側、他方が認可側であるものとして認証認可を行う場合について説明したが、これに限られず、例えば、認可側はサーバ装置等であっても良い。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変形が可能である。
本願は、日本国に2018年10月19日に出願された基礎出願2018−197875号に基づくものであり、その全内容はここに参照をもって援用される。
1 認証認可システム
10 認証認可基盤
20 機器
101 通信部
102 登録処理部
103 記憶部
201 通信部
202 認証認可処理部
203 記憶部
N 通信ネットワーク

Claims (8)

  1. 複数の機器と、前記機器の秘密鍵を生成並びに前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子及び前記秘密鍵を配布するサーバとが含まれる認証認可システムであって、
    前記サーバは、
    前記機器の識別子及び前記機器の認可情報を保持する保持手段と、
    前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子から、前記機器の秘密鍵を生成する生成手段と、
    前記生成手段により生成された前記秘密鍵と、前記拡張識別子とを前記機器に配布する配布手段と、を有し、
    前記複数の機器の各々は、
    自機器の拡張識別子及び秘密鍵を用いて、他の機器との間で相互に認証を行う認証手段と、
    前記認証手段により前記他の機器との間での認証が成功した場合、前記他の機器の拡張識別子に含まれる認可情報に応じて、前記他の機器から自機器への要求を許可する認可手段と、
    を有することを特徴する認証認可システム。
  2. 前記認可情報には、前記自機器の識別子と、前記自機器が許可する前記他の機器からのデータ操作又は機能の利用とが含まれ、
    前記認可手段は、
    前記認可情報に含まれる前記データ操作又は前記機能の利用の要求を許可する、ことを特徴とする請求項1に記載の認証認可システム。
  3. 前記拡張識別子には、前記認可情報の有効期限が含まれ、
    前記認可手段は、
    現在の日又は日時が前記有効期限以内である場合、前記認可情報に応じて、前記他の機器から自機器への要求を許可する、ことを特徴とする請求項1又は2に記載の認証認可システム。
  4. 前記認証手段は、
    IDベース暗号を用いた認証付き鍵共有プロトコルにより前記他の機器との間で相互に認証を行う、ことを特徴とする請求項1乃至3の何れか一項に記載の認証認可システム。
  5. 相互に認証及び認可を行う複数の機器それぞれの秘密鍵を生成する情報処理装置であって、
    前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子から、前記機器の秘密鍵を生成する生成手段と、
    前記機器に対して前記秘密鍵及び前記拡張識別子を配布する配布手段と、
    を有することを特徴とする情報処理装置。
  6. 他の機器との間で認証及び認可を行う機器であって、
    前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子から生成された秘密鍵を用いて、前記他の機器との間で相互に認証を行う認証手段と、
    前記認証手段により前記他の機器との間での認証が成功した場合、前記他の機器の拡張識別子に含まれる認可情報に応じて、前記他の機器から自機器への要求を許可する認可手段と、
    を有することを特徴とする機器。
  7. 複数の機器と、前記機器の秘密鍵を生成並びに前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子及び前記秘密鍵を配布するサーバとが含まれる認証認可システムに用いられる認証認可方法であって、
    前記機器の識別子及び前記機器の認可情報を保持するサーバが、
    前記機器を識別する識別子と前記機器の認可情報とが含まれる拡張識別子から、前記機器の秘密鍵を生成する生成手順と、
    前記生成手順により生成された前記秘密鍵と、前記拡張識別子とを前記機器に配布する配布手順と、を実行し、
    前記複数の機器の各々が、
    自機器の拡張識別子及び秘密鍵を用いて、他の機器との間で相互に認証を行う認証手順と、
    前記認証手順で前記他の機器との間での認証が成功した場合、前記他の機器の拡張識別子に含まれる認可情報に応じて、前記他の機器から自機器への要求を許可する認可手順と、
    を実行することを特徴する認証認可方法。
  8. コンピュータを、請求項5に記載の情報処理装置における各手段又は請求項6に記載の機器における各手段として機能させるためのプログラム。
JP2020553332A 2018-10-19 2019-10-18 認証認可システム及び認証認可方法 Active JP7115556B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018197875 2018-10-19
JP2018197875 2018-10-19
PCT/JP2019/041048 WO2020080510A1 (ja) 2018-10-19 2019-10-18 認証認可システム、情報処理装置、機器、認証認可方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2020080510A1 true JPWO2020080510A1 (ja) 2021-09-02
JP7115556B2 JP7115556B2 (ja) 2022-08-09

Family

ID=70283936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020553332A Active JP7115556B2 (ja) 2018-10-19 2019-10-18 認証認可システム及び認証認可方法

Country Status (5)

Country Link
US (1) US20210344515A1 (ja)
EP (1) EP3836482A4 (ja)
JP (1) JP7115556B2 (ja)
CN (1) CN112805960B (ja)
WO (1) WO2020080510A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230396614A1 (en) * 2020-10-26 2023-12-07 Nippon Telegraph And Telephone Corporation Authentication-permission system, equipment, authentication-permission method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009033402A (ja) * 2007-07-26 2009-02-12 Mitsubishi Electric Corp Idベース暗号システム及び送信端末装置及び配送サーバ装置及び受信端末装置
JP2010016465A (ja) * 2008-07-01 2010-01-21 Mitsubishi Electric Corp 権限検証装置及び利用者端末装置及び鍵生成装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及び鍵生成方法及びアクセス制御方法
JP2017126970A (ja) * 2016-01-15 2017-07-20 富士通株式会社 共有鍵生成プログラム、共有鍵生成方法および情報処理端末

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101254209B1 (ko) * 2004-03-22 2013-04-23 삼성전자주식회사 디바이스와 휴대용 저장장치간에 권리 객체를 이동,복사하는 방법 및 장치
CN101521569B (zh) * 2008-02-28 2013-04-24 华为技术有限公司 实现服务访问的方法、设备及系统
US9025767B2 (en) * 2010-03-24 2015-05-05 Nokia Corporation Method and apparatus for querying content protected by identity-based encryption
JP5553914B1 (ja) * 2013-01-08 2014-07-23 日本電信電話株式会社 認証システム、認証装置、及び認証方法
CN106409310B (zh) 2013-08-06 2019-11-19 华为技术有限公司 一种音频信号分类方法和装置
JP6166484B2 (ja) * 2014-02-05 2017-07-19 アップル インコーポレイテッド コントローラとアクセサリとの通信のための統一的通信プロトコル
US9674705B2 (en) * 2015-04-22 2017-06-06 Kenneth Hugh Rose Method and system for secure peer-to-peer mobile communications
CN106603586B (zh) * 2015-10-14 2020-09-29 阿里巴巴集团控股有限公司 一种生成设备标识的方法、装置和系统
WO2017167771A1 (en) * 2016-03-29 2017-10-05 Koninklijke Philips N.V. Handshake protocols for identity-based key material and certificates
US11316820B2 (en) * 2016-04-14 2022-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Registration of data packet traffic for a wireless device
CN109905877B (zh) * 2017-12-08 2020-11-10 大唐移动通信设备有限公司 通信网络系统的消息验证方法、通信方法和通信网络系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009033402A (ja) * 2007-07-26 2009-02-12 Mitsubishi Electric Corp Idベース暗号システム及び送信端末装置及び配送サーバ装置及び受信端末装置
JP2010016465A (ja) * 2008-07-01 2010-01-21 Mitsubishi Electric Corp 権限検証装置及び利用者端末装置及び鍵生成装置及びアクセス制御システム及びコンピュータプログラム及び権限検証方法及び操作要求通知方法及び鍵生成方法及びアクセス制御方法
JP2017126970A (ja) * 2016-01-15 2017-07-20 富士通株式会社 共有鍵生成プログラム、共有鍵生成方法および情報処理端末

Also Published As

Publication number Publication date
US20210344515A1 (en) 2021-11-04
CN112805960B (zh) 2024-05-17
EP3836482A4 (en) 2022-05-04
JP7115556B2 (ja) 2022-08-09
EP3836482A1 (en) 2021-06-16
WO2020080510A1 (ja) 2020-04-23
CN112805960A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
TWI738835B (zh) 資料安全保障系統及方法、裝置
US9467430B2 (en) Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware
US20240073003A1 (en) Method of data transfer, a method of controlling use of data and cryptographic device
JP3999655B2 (ja) レベル化された機密保護があるアクセス制御のための方法及び装置
JP4723251B2 (ja) 機器固有の機密保護データの安全な組み込みと利用
US10516654B2 (en) System, apparatus and method for key provisioning delegation
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
WO2019127278A1 (zh) 安全访问区块链的方法、装置、系统、存储介质及电子设备
EP2262164A1 (en) Secure data transfer
JP7115556B2 (ja) 認証認可システム及び認証認可方法
KR20150016802A (ko) 보안장치 및 이를 이용하는 데이터 이동 방법
JP2007310619A (ja) 認証方式及びこれを用いた認証システム
JP4499575B2 (ja) ネットワークセキュリティ方法およびネットワークセキュリティシステム
WO2023116239A1 (zh) 权限确定方法、装置、计算机设备和计算机可读存储介质
WO2021010444A1 (ja) 鍵交換システム、通信装置、鍵交換方法及びプログラム
WO2020240741A1 (ja) 鍵交換システム、通信装置、鍵交換方法及びプログラム
JP2018011190A (ja) 機器リスト作成システムおよび機器リスト作成方法
Omote Is the Blockchain Useful for Sharing Sensitive Data?
JP2021034979A (ja) 鍵交換システム、機器、情報処理装置、鍵交換方法及びプログラム
JP2015230520A (ja) 認証装置、認証方法、認証プログラム、及び認証システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220616

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220711

R150 Certificate of patent or registration of utility model

Ref document number: 7115556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150