JP6742558B2 - 認証システムおよび認証プログラム - Google Patents

認証システムおよび認証プログラム Download PDF

Info

Publication number
JP6742558B2
JP6742558B2 JP2020512955A JP2020512955A JP6742558B2 JP 6742558 B2 JP6742558 B2 JP 6742558B2 JP 2020512955 A JP2020512955 A JP 2020512955A JP 2020512955 A JP2020512955 A JP 2020512955A JP 6742558 B2 JP6742558 B2 JP 6742558B2
Authority
JP
Japan
Prior art keywords
user
certificate
organization
authentication
client
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
JP2020512955A
Other languages
English (en)
Other versions
JPWO2019198131A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019198131A1 publication Critical patent/JPWO2019198131A1/ja
Application granted granted Critical
Publication of JP6742558B2 publication Critical patent/JP6742558B2/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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、認証連携のための技術に関するものである。
PKI認証によって複数の組織のサービスを利用する場合、各組織のユーザは、利用する端末の数だけクライアント証明書を発行してもらう必要がある。そのため、利便性に欠けていた。PKIはPublic Key Infrastructureの略称である。
特許文献1は、複数のクライアント証明書を用いない方法を開示している。
この方法では、認証連携装置が、サービス提供装置に対して、証明書がインストールされている端末のユーザを提示する。これにより、ユーザは1つの個人認証情報で複数の端末を利用することが可能である。例えば、個人認証情報は、ID(identifier)とパスワードとの組、または、秘密鍵と公開鍵との組である。
特許文献2は次のような方法を開示している。
この方法では、IDaaS事業者を利用することにより、各組織のユーザの個人認証情報がIDaaS事業者で一元管理される。サービス提供装置はIDaaS事業者を通じてユーザ認証を行う。これにより、ユーザが複数の組織のサービスを利用する場合においてユーザ認証が1度で済むようになる。IDaaSはIDentity as a Serviceの略称である。
特開2011−238083号公報 特開2015−090620号公報
特許文献1または特許文献2に開示された方法では、ユーザが所属する組織とサービスを提供する組織とのいずれかが代表して認証連携のためのシステムを稼働させる必要がある。または、第三者が認証連携のためのシステムを稼働させる必要がある。そのため、認証連携を行う複数の組織によって認証連携のためのシステムを分散管理することができない。
本発明は、認証連携システムにおいて、複数の組織の複数のユーザ情報を複数の組織の複数の認証システムで分散管理できるようにすることを目的とする。
本発明の認証システムは、第1ユーザが属する第1組織とは別の組織である他組織の認証システムである。
前記認証システムは、
前記第1ユーザのクライアント証明書用の登録トランザクションを受け付けるトランザクション受付部と、
前記第1ユーザの前記クライアント証明書用の登録トランザクションが受け付けられた場合に前記第1ユーザの前記クライアント証明書をクライアント証明書ブロックチェーンに登録するブロックチェーン管理部と、
前記第1ユーザが前記他組織のサービスにアクセスした場合に前記クライアント証明書ブロックチェーンの中の前記第1ユーザの前記クライアント証明書を用いて前記第1ユーザの認証を行う認証部とを備える。
本発明によれば、認証連携システムにおいて、複数の組織の複数のユーザ情報(クライアント証明書)を複数の組織の複数の認証システムで分散管理することが可能となる。
実施の形態1における認証連携システム100の構成図。 実施の形態1における組織システム110の構成図。 実施の形態1におけるユーザ端末130の構成図。 実施の形態1におけるサーバ装置140の構成図。 実施の形態1における認証システム120の構成図。 実施の形態1における管理装置200の構成図。 実施の形態1における認証装置300の構成図。 実施の形態1における認証局装置400の構成図。 実施の形態1における登録処理のフローチャート。 実施の形態1におけるトランザクションデータ121を示す図。 実施の形態1における発行処理のフローチャート。 実施の形態1における発行処理のフローチャート。 実施の形態1におけるトランザクションデータ122を示す図。 実施の形態1における検証処理(S210)のフローチャート。 実施の形態1における代理証明処理のフローチャート。 実施の形態1における代理証明処理のフローチャート。 実施の形態1におけるログアウト処理のフローチャート。 実施の形態1におけるトランザクションデータ123を示す図。 実施の形態2におけるユーザ端末130の構成図。 実施の形態2における認証装置300の構成図。 実施の形態2における発行処理のフローチャート。 実施の形態2における発行処理のフローチャート。 実施の形態2における自己証明処理のフローチャート。 実施の形態2における自己証明処理のフローチャート。 実施の形態2におけるログアウト処理のフローチャート。 実施の形態3における認証局装置400の構成図。 実施の形態3における検証処理(S210)のフローチャート。 実施の形態4における認証連携システム100の構成図。 各実施の形態における管理装置200のハードウェア構成図。 各実施の形態における認証装置300のハードウェア構成図。 各実施の形態における認証局装置400のハードウェア構成図。
実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
実施の形態1.
認証連携システム100について、図1から図18に基づいて説明する。
***構成の説明***
図1に基づいて、認証連携システム100の構成を説明する。
認証連携システム100は、複数の組織システムを備える。
複数の組織システムは、インターネット101を介して互いに通信する。インターネット101は、ネットワークの一例である。
組織システムは、組織におけるコンピュータシステムである。
実施の形態1において、認証連携システム100は、第1組織システム110Aと第2組織システム110Bと第3組織システム110Cとを備える。
第1組織システム110Aは、第1組織のコンピュータシステムである。
第2組織システム110Bは、第2組織のコンピュータシステムである。
第3組織システム110Cは、第3組織のコンピュータシステムである。
組織システムは、2つであってもよいし、4つ以上であってもよい。
組織システムを特定しない場合、それぞれを組織システム110と称する。
図2に基づいて、組織システム110の構成を説明する。
組織システム110は、認証システム120とユーザ端末群130Gとサーバ装置群140Gとゲートウェイ装置112とを備える。
認証システム120とユーザ端末群130Gとサーバ装置群140Gとゲートウェイ装置112とは、イントラネット111を介して互いに通信する。イントラネット111はネットワークの一例である。
認証システム120とユーザ端末群130Gとサーバ装置群140Gとは、イントラネット111とゲートウェイ装置112とインターネット101とを介して、他の組織システム110と通信する。
ユーザ端末群130Gは、1台以上のユーザ端末である。
ユーザ端末を特定しない場合、それぞれをユーザ端末130と称する。
サーバ装置群140Gは、1台以上のサーバ装置である。サーバ装置はサービスを提供する装置である。サーバ装置はアプリケーションサーバまたはサービス提供装置とも呼ばれる。
サーバ装置を特定しない場合、それぞれをサーバ装置140と称する。
図3に基づいて、ユーザ端末130の構成を説明する。
ユーザ端末130は、プロセッサ131Aとメモリ131Bと補助記憶装置131Cと通信装置131Dと入出力インタフェース131Eといったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ131Aは、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ131Aは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。プロセッサ131Aはブラウザ部132の機能を実現する。
メモリ131Bは揮発性の記憶装置である。メモリ131Bは、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ131BはRAM(Random Access Memory)である。メモリ131Bに記憶されたデータは必要に応じて補助記憶装置131Cに保存される。
補助記憶装置131Cは不揮発性の記憶装置である。例えば、補助記憶装置131Cは、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置131Cに記憶されたデータは必要に応じてメモリ131Bにロードされる。
通信装置131Dはレシーバ及びトランスミッタである。例えば、通信装置131Dは通信チップまたはNIC(Network Interface 認証局rd)である。
入出力インタフェース131Eは入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース131EはUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。USBはUniversal Serial Busの略称である。
図4に基づいて、サーバ装置140の構成を説明する。
サーバ装置140は、プロセッサ141Aとメモリ141Bと補助記憶装置141Cと通信装置141Dといったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ141Aは、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ141Aは、CPU、DSP、またはGPUである。プロセッサ141Aはアプリケーション部142の機能を実現する。
メモリ141Bは揮発性の記憶装置である。メモリ141Bは、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ141BはRAMである。メモリ141Bに記憶されたデータは必要に応じて補助記憶装置141Cに保存される。
補助記憶装置141Cは不揮発性の記憶装置である。例えば、補助記憶装置141Cは、ROM、HDD、またはフラッシュメモリである。補助記憶装置141Cに記憶されたデータは必要に応じてメモリ141Bにロードされる。
通信装置141Dはレシーバ及びトランスミッタである。例えば、通信装置141Dは通信チップまたはNICである。
図5に基づいて、認証システム120の構成を説明する。
認証システム120は、管理装置200と認証装置300と認証局装置400とを備える。
認証装置300は、イントラネット111を介して、管理装置200と認証局装置400と通信する。
図6に基づいて、管理装置200の構成を説明する。
管理装置200は、プロセッサ201とメモリ202と補助記憶装置203と通信装置204といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201は、CPU、DSP、またはGPUである。
メモリ202は揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDD、またはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
通信装置204はレシーバ及びトランスミッタである。例えば、通信装置204は通信チップまたはNICである。
管理装置200は、トランザクション発行部211とトランザクション受付部212と証明書検証部213とブロックチェーン管理部214とトランザクション検証部215といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置203には、トランザクション発行部211とトランザクション受付部212と証明書検証部213とブロックチェーン管理部214とトランザクション検証部215としてコンピュータを機能させるためのプログラムが記憶されている。プログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
さらに、補助記憶装置203にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
つまり、プロセッサ201は、OSを実行しながら、プログラムを実行する。
プログラムを実行して得られるデータは、メモリ202、補助記憶装置203、プロセッサ201内のレジスタまたはプロセッサ201内のキャッシュメモリといった記憶装置に記憶される。
メモリ202はブロックチェーン記憶部290として機能する。但し、他の記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、ブロックチェーン記憶部290として機能してもよい。
管理装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ201の役割を分担する。
プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータで読み取り可能に記録(格納)することができる。
図7に基づいて、認証装置300の構成を説明する。
認証装置300は、プロセッサ301とメモリ302と補助記憶装置303と通信装置304といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ301は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ301はCPU、DSPまたはGPUである。
メモリ302は揮発性の記憶装置である。メモリ302は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ302はRAMである。メモリ302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDDまたはフラッシュメモリである。補助記憶装置303に記憶されたデータは必要に応じてメモリ302にロードされる。
通信装置304はレシーバ及びトランスミッタである。例えば、通信装置304は通信チップまたはNICである。
認証装置300は、認証部311と代理証明部312とログアウト受付部313といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置303には、認証部311と代理証明部312とログアウト受付部313としてコンピュータを機能させるためのプログラムが記憶されている。プログラムは、メモリ302にロードされて、プロセッサ301によって実行される。
さらに、補助記憶装置303にはOSが記憶されている。OSの少なくとも一部は、メモリ302にロードされて、プロセッサ301によって実行される。
つまり、プロセッサ301は、OSを実行しながら、プログラムを実行する。
プログラムを実行して得られるデータは、メモリ302、補助記憶装置303、プロセッサ301内のレジスタまたはプロセッサ301内のキャッシュメモリといった記憶装置に記憶される。
メモリ302は認証情報記憶部391とクライアント秘密鍵記憶部392として機能する。但し、他の記憶装置が、メモリ302の代わりに、又は、メモリ302と共に、認証情報記憶部391とクライアント秘密鍵記憶部392として機能してもよい。
認証装置300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ301の役割を分担する。
プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータで読み取り可能に記録(格納)することができる。
図8に基づいて、認証局装置400の構成を説明する。
認証局装置400は、プロセッサ401とメモリ402と補助記憶装置403と通信装置404といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ401は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ401はCPU、DSPまたはGPUである。
メモリ402は揮発性の記憶装置である。メモリ402は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ402はRAMである。メモリ402に記憶されたデータは必要に応じて補助記憶装置403に保存される。
補助記憶装置403は不揮発性の記憶装置である。例えば、補助記憶装置403は、ROM、HDDまたはフラッシュメモリである。補助記憶装置403に記憶されたデータは必要に応じてメモリ402にロードされる。
通信装置404はレシーバ及びトランスミッタである。例えば、通信装置404は通信チップまたはNICである。
認証局装置400は、秘密鍵生成部411と証明書生成部412といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置403には、秘密鍵生成部411と証明書生成部412としてコンピュータを機能させるためのプログラムが記憶されている。プログラムは、メモリ402にロードされて、プロセッサ401によって実行される。
さらに、補助記憶装置403にはOSが記憶されている。OSの少なくとも一部は、メモリ402にロードされて、プロセッサ401によって実行される。
つまり、プロセッサ401は、OSを実行しながら、プログラムを実行する。
プログラムを実行して得られるデータは、メモリ402、補助記憶装置403、プロセッサ401内のレジスタまたはプロセッサ401内のキャッシュメモリといった記憶装置に記憶される。
メモリ402は認証局秘密鍵記憶部490として機能する。但し、他の記憶装置が、メモリ402の代わりに、又は、メモリ402と共に、認証局秘密鍵記憶部490として機能してもよい。
認証局装置400は、プロセッサ401を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ401の役割を分担する。
プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータで読み取り可能に記録(格納)することができる。
***動作の説明***
認証連携システム100の動作は認証連携方法に相当する。
認証システム120の動作は認証方法に相当する。また、認証方法の手順は認証プログラムの手順に相当する。
認証プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータで読み取り可能に記録(格納)することができる。
認証連携方法および認証方法について、以下の事項を説明する。
(1)ブロックチェーンの構築
(2)ブロックチェーンへの参加
(3)認証局証明書の登録
(4)クライアント証明書の発行
(5)ユーザの代理証明
(6)ユーザのログアウト
実施の形態において、BCはブロックチェーンを意味し、CAは認証局を意味し、CLはクライアントを意味する。また、署名は電子署名を意味する。
まず、(1)ブロックチェーンの構築について説明する。
認証連携システム100において、認証局証明書ブロックチェーン、クライアント証明書ブロックチェーンおよび失効リストブロックチェーンが構築される。
認証局証明書ブロックチェーンは、認証局証明書用のブロックチェーンである。
クライアント証明書ブロックチェーンは、クライアント証明書用のブロックチェーンである。
失効リストブロックチェーンは、失効リスト用のブロックチェーンである。失効リストは、失効されたクライアント証明書のリストである。
それぞれの認証システム120において、ブロックチェーン秘密鍵とブロックチェーン証明書との組が用意される。ブロックチェーン秘密鍵とブロックチェーン証明書との組は、認証局証明書ブロックチェーンとクライアント証明書ブロックチェーンと失効リストブロックチェーンとに共通で使用される。
ブロックチェーン秘密鍵とブロックチェーン証明書との組はブロックチェーン記憶部290に記憶される。つまり、第1組織の認証システム120において、第1組織用のブロックチェーン秘密鍵と第1組織用のブロックチェーン証明書との組がブロックチェーン記憶部290に記憶される。第2組織の認証システム120において、第2組織用のブロックチェーン秘密鍵と第2組織用のブロックチェーン証明書との組がブロックチェーン記憶部290に記憶される。第3組織の認証システム120において、第3組織用のブロックチェーン秘密鍵と第3組織用のブロックチェーン証明書との組がブロックチェーン記憶部290に記憶される。
ブロックチェーン秘密鍵とブロックチェーン証明書との組の生成方法は、ブロックチェーンの実装方式によって異なる。例えば、認証システム120がブロックチェーン秘密鍵とブロックチェーン証明書との組を自ら生成する。または、代表の認証局がそれぞれの認証システム120に対してブロックチェーン秘密鍵とブロックチェーン証明書との組を生成する。
以下では、ブロックチェーン秘密鍵とブロックチェーン証明書との組が認証局証明書ブロックチェーンとクライアント証明書ブロックチェーンと失効リストブロックチェーンとに共通で使用されるものとして説明する。しかし、認証局証明書ブロックチェーンとクライアント証明書ブロックチェーンと失効リストブロックチェーンとのそれぞれで、ブロックチェーン秘密鍵とブロックチェーン証明書との組が異なってもよい。
次に、(2)ブロックチェーンへの参加について説明する。
ブロックチェーンへの参加とは、起動済みのブロックチェーンに対してデータ登録の権利またはデータ参照の権利を得るための処理である。認証システム120がブロックチェーンへの参加によってデータ登録の権利を得た場合、認証システム120は、ブロックチェーンにデータを登録することができる。認証システム120がブロックチェーンへの参加によってデータ参照の権利を得た場合、認証システム120は、ブロックチェーンに登録されているデータを参照することができる。
それぞれの認証システム120は、認証局証明書ブロックチェーンとクライアント証明書ブロックチェーンと失効リストブロックチェーンとのそれぞれに参加する。
ブロックチェーンへの参加のためには、ブロックチェーン起動処理およびブロックチェーン参加処理が必要である。
ブロックチェーン起動処理では、ブロックチェーン起動機能が利用される。ブロックチェーン起動機能は、ブロックチェーンを起動するための処理を実行する機能である。例えば、ブロックチェーンを起動するために提供されたプログラムが実行される。
ブロックチェーン参加処理では、ブロックチェーン参加機能が利用される。ブロックチェーン参加機能は、ブロックチェーンに参加するための処理を実行する機能である。例えば、ブロックチェーンに参加するために提供されたプログラムの実行によって、ブロックチェーンサーバへのアクセスが行われる。また、ブロックチェーンの通信仕様に従って、参加メッセージがやり取りされる。
ブロックチェーンへの参加の方法は、ブロックチェーンによって異なる。例えば、第1組織の認証システム120がブロックチェーンを起動し、第2組織と第3組織とのそれぞれの認証システム120がブロックチェーンに参加する。
それぞれの認証システム120において、認証局秘密鍵と認証局証明書との組が用意される。
認証局秘密鍵は秘密鍵生成部411によって生成され、認証局秘密鍵記憶部490に記憶される。つまり、第1組織の認証システム120において、第1組織用の認証局秘密鍵が認証局秘密鍵記憶部490に記憶される。第2組織の認証システム120において、第2組織用の認証局秘密鍵が認証局秘密鍵記憶部490に記憶される。第3組織の認証システム120において、第3組織用の認証局秘密鍵が認証局秘密鍵記憶部490に記憶される。
認証局証明書は証明書生成部412に生成される。例えば、認証局証明書は、X.509の規格に従って生成される。ブロックチェーン証明書およびクライアント証明書も、例えば、X.509の規格に従って生成される。
認証局証明書には認証局秘密鍵と対を成す認証局公開鍵が含まれる。また、ブロックチェーン証明書にはブロックチェーン秘密鍵と対を成すブロックチェーン公開鍵が含まれ、クライアント証明書にはクライアント秘密鍵と対を成すクライアント公開鍵が含まれる。
認証局秘密鍵と認証局公開鍵との組は、RSA暗号または楕円曲線暗号などのアルゴリズムによって生成される。ブロックチェーン秘密鍵とブロックチェーン公開鍵との組およびクライアント秘密鍵とクライアント公開鍵との組も、RSA暗号または楕円曲線暗号などのアルゴリズムによって生成される。RSAはRivest−Shamir−Adleman cryptosystemの略称である。
次に、(3)認証局証明書の登録について説明する。
それぞれの認証システム120は、認証局証明書を認証局証明書ブロックチェーンに登録する。
図9に基づいて、第1組織の認証局証明書が認証局証明書ブロックチェーンに登録される場合を例にして、登録処理を説明する。
この登録処理は、(3)認証局証明書の登録のための処理である。
ステップS101において、第1組織の認証局証明書用の登録トランザクションが発行される。
認証局証明書用の登録トランザクションは、認証局証明書を認証局証明書ブロックチェーンに登録するためのトランザクションである。
ステップS101の処理は以下の通りである。
第1組織の認証システム120において、トランザクション発行部211は、第1組織の認証局証明書用の登録トランザクションを発行する。具体的には、トランザクション発行部211は、トランザクションデータ121を生成し、トランザクションデータ121をそれぞれの他の認証システム120に送信する。トランザクションデータ121は、ブロックチェーンの機能により送信される。他の認証システム120は、第2組織の認証システム120および第3組織の認証システム120である。
それぞれの他の認証システム120において、トランザクション受付部212は、第1組織の認証局証明書用の登録トランザクションを受け付ける。具体的には、トランザクション受付部212は、トランザクションデータ121を受信する。
図10に基づいて、トランザクションデータ121を説明する。
トランザクションデータ121は、基本情報121Aと所有者情報121Bと認証局証明書121Cとその他情報121Dとを有する。
基本情報121Aは、例えば、トランザクションID(identifier)と、発行元のブロックチェーン証明書と、発行元の署名と、発行時のタイムスタンプとを含む。発行元は、第1組織の認証システム120である。発行元の署名は、発行元のブロックチェーン秘密鍵を用いて生成される。
所有者情報121Bは、認証局証明書の所有者を示す。所有者は、第1組織の認証システム120である。
認証局証明書121Cは、第1組織の認証局証明書である。
図9に戻り、ステップS102から説明を続ける。
ステップS102において、第1組織の認証局証明書が検証される。つまり、トランザクションデータ121に含まれる認証局証明書121Cが検証される。
ステップS102の処理は以下の通りである。
それぞれの他の認証システム120において、証明書検証部213は、第1組織の認証局証明書を検証する。具体的には、証明書検証部213は、トランザクションデータ121から認証局証明書121Cを取得し、認証局証明書121Cを検証する。
例えば、証明書検証部213は、以下に示す方法の少なくともいずれかによって、認証局証明書121Cを検証する。複数の方法で検証を行うことにより、認証局証明書121Cの真偽をより正しく確かめることができる。
証明書検証部213は、認証局証明書121Cの形式を確かめる。具体的には、証明書検証部213は、認証局証明書121Cの形式が認証局証明書の規定の形式と一致することを確かめる。
証明書検証部213は、認証局証明書121Cに含まれる認証局公開鍵を用いて、基本情報121Aの中の発行元の署名を検証する。
証明書検証部213は、認証局証明書121Cの正しさを確かめる。具体的には、証明書検証部213は、発行元の認証システム120と通信することによって、認証局証明書121Cの内容を確認する。
ステップS103において、他の認証システム群によって、検証結果の合意形成が図られる。他の認証システム群は1つ以上の他の認証システム120である。具体的には、他の認証システム群は、第1組織の認証システム120以外の全ての認証システム120である。つまり、他の認証システム群は、第2組織の認証システム120および第3組織の認証システム120である。
ステップS103の処理は以下の通りである。
他の認証システム群において、1つ以上の証明書検証部213は、合意形成機能によって、検証結果の合意形成を図る。
合意形成機能は、コンセンサスアルゴリズムと呼ばれる。
コンセンサスアルゴリズムは、ブロックチェーンの種類によって異なる。有名なコンセンサスアルゴリズムとして、Proof of Work(PoW)およびPractical Byzantine Fault Tolerance(PBFT)などが挙げられる。
認証局証明書は、認証システム120の認証局装置400を証明するものである。そのため、認証局証明書には、高いセキュリティが求められる。
例えば、全ての他の認証システム120において、認証局証明書が正しいと判定された場合にだけ、認証局証明書が正しいという合意が得られる。
合意形成の結果によって、処理は分岐する。
第1組織の認証局証明書が正しいという結果が得られた場合、処理はステップS104に進む。
第1組織の認証局証明書が正しくないという結果が得られた場合、第1組織の認証局証明書が認証局証明書ブロックチェーンに登録されず、処理はステップS105に進む。
ステップS104において、第1組織の認証局証明書が認証局証明書ブロックチェーンに登録される。
ステップS104の処理は以下の通りである。
それぞれの他の認証システム120において、ブロックチェーン管理部214は、第1組織の認証局証明書を認証局証明書ブロックチェーンに登録する。具体的には、ブロックチェーン管理部214は、認証局証明書121Cを認証局証明書ブロックチェーンの一部としてブロックチェーン記憶部290に記憶する。
ステップS105において、登録トランザクションの結果が通知される。
ステップS105の処理は以下の通りである。
それぞれの他の認証システム120において、トランザクション受付部212は、登録結果通知を第1組織の認証システム120に送信する。登録結果通知は、第1組織の認証局証明書が認証局証明書ブロックチェーンに登録されたか否かを示す。
第1組織の認証システム120において、トランザクション発行部211は、登録結果通知を受信する。
次に、(4)クライアント証明書の発行について説明する。
それぞれの認証システム120は、組織内のユーザのためにクライアント証明書を発行する。クライアント証明書の発行は、クライアント証明書ブロックチェーンへのクライアント証明書の登録を意味する。
図11および図12に基づいて、第1組織に属する第1ユーザのためにクライアント証明書が発行される場合を例にして、発行処理を説明する。
この発行処理は、(4)クライアント証明書の発行のための処理である。
ステップS201において、第1ユーザの認証情報が第1組織の認証システム120に送信される。
認証情報は、ユーザを認証するための情報である。例えば、認証情報は、ユーザIDとパスワードとの組、または、生体情報である。
ステップS201の処理は以下の通りである。
第1組織システム110Aにおいて、第1ユーザは、認証情報をユーザ端末130に入力する。
ユーザ端末130のブラウザ部132は、第1組織の認証システム120に認証情報を送信する。
第1組織の認証システム120において、認証部311は認証情報を受信する。
ステップS202において、第1ユーザの認証情報が検証される。
ステップS202の処理は以下の通りである。
第1組織の認証システム120において、認証情報記憶部391には、第1組織のそれぞれのユーザの認証情報が予め登録されている。
認証部311は、受信した認証情報が認証情報記憶部391に登録されているいずれかの認証情報と一致するか判定する。
受信した認証情報が認証情報記憶部391に登録されているいずれかの認証情報と一致する場合、ユーザの認証情報は正しい。
ユーザの認証情報が正しい場合、処理はステップS203に進む。
ユーザの認証情報が正しくない場合、認証部311は、エラーメッセージをユーザ端末130に送信する。ユーザ端末130のブラウザ部132は、エラーメッセージを受信し、エラーメッセージをディスプレイに表示する。そして、処理はステップS201に進む。
ステップS203において、第1ユーザのクライアント秘密鍵が生成される。
ステップS203の処理は以下の通りである。
第1組織の認証システム120において、認証部311は、第1ユーザのクライアント秘密鍵と第1ユーザのクライアント証明書とを発行するための発行要求を送信する。秘密鍵生成部411は、発行要求を受信し、第1ユーザのクライアント秘密鍵を生成する。
ステップS204において、第1ユーザのクライアント証明書が生成される。
ステップS204の処理は以下の通りである。
第1組織の認証システム120において、証明書生成部412は、第1組織の認証局秘密鍵を用いて署名を生成し、第1ユーザのクライアント証明書を生成する。
第1ユーザのクライアント証明書は、第1組織の認証局秘密鍵を用いて生成された署名を含む。
ステップS205において、第1ユーザのクライアント証明書用の登録トランザクションが発行される。
クライアント証明書用の登録トランザクションは、クライアント証明書をクライアント証明書ブロックチェーンに登録するためのトランザクションである。
ステップS205の処理は以下の通りである。
第1組織の認証システム120において、証明書生成部412はクライアント秘密鍵とクライアント証明書との組を送信し、認証部311はクライアント秘密鍵とクライアント証明書との組を受信する。認証部311はクライアント証明書を送信し、トランザクション発行部211はクライアント証明書を受信する。そして、トランザクション発行部211は、第1ユーザのクライアント証明書用の登録トランザクションを発行する。具体的には、トランザクション発行部211は、トランザクションデータ122を生成し、トランザクションデータ122をそれぞれの他の認証システム120に送信する。他の認証システム120は、第2組織の認証システム120および第3組織の認証システム120である。
それぞれの他の認証システム120において、トランザクション受付部212は、第1ユーザのクライアント証明書用の登録トランザクションを受け付ける。具体的には、トランザクション受付部212は、トランザクションデータ122を受信する。
図13に基づいて、トランザクションデータ122を説明する。
トランザクションデータ122は、基本情報122Aと所有者情報122Bとクライアント証明書122Cとその他情報122Dとを有する。
基本情報122Aは、例えば、トランザクションIDと、発行元情報と、発行元のブロックチェーン証明書と、発行元の署名と、発行時のタイムスタンプとを含む。発行元情報は、トランザクションデータ122の発行元を示す。発行元は、第1組織の認証システム120である。発行元の署名は、発行元のブロックチェーン秘密鍵を用いて生成される。
所有者情報122Bは、クライアント証明書の所有者を示す。所有者は第1ユーザである。
クライアント証明書122Cは、第1ユーザのクライアント証明書である。
図11に戻り、ステップS210から説明を続ける。
ステップS210において、第1ユーザのクライアント証明書が検証される。つまり、トランザクションデータ122に含まれるクライアント証明書122Cが検証される。
ステップS210の処理は以下の通りである。
それぞれの他の認証システム120において、証明書検証部213は、第1ユーザのクライアント証明書を検証する。具体的には、証明書検証部213は、トランザクションデータ122からクライアント証明書122Cを取得し、クライアント証明書122Cを検証する。
図14に基づいて、ステップS210における検証処理を説明する。
ステップS211において、証明書検証部213は、トランザクションデータ122の形式を検証する。
例えば、証明書検証部213は、トランザクションデータ122の形式がクライアント証明書用の登録トランザクションの規定の形式と一致するか、および、クライアント証明書122Cの有効期限が切れていないか等を検証する。
トランザクションデータ122の形式が正しい場合、処理はステップS212に進む。
トランザクションデータ122の形式が正しくない場合、証明書検証部213はクライアント証明書122Cが正しくないと判定し、処理は終了する。
ステップS212において、証明書検証部213は、トランザクションデータ122の基本情報122Aから発行元情報を取得する。
そして、証明書検証部213は、発行元情報に基づいて、発行元の認証局証明書をブロックチェーン記憶部290から取得する。
ステップS213において、証明書検証部213は、発行元の認証局証明書から認証局公開鍵を取得する。
また、証明書検証部213は、トランザクションデータ122からクライアント証明書122Cを取得する。
そして、証明書検証部213は、認証局公開鍵を用いて、クライアント証明書122Cの中の署名を検証する。つまり、証明書検証部213は、クライアント証明書122Cの署名が本物であるか検証する。
ステップS214において、証明書検証部213は、クライアント証明書122Cの署名についての検証結果を判定する。
クライアント証明書122Cの署名が正しい場合、証明書検証部213はクライアント証明書122Cが正しいと判定し、処理は終了する。
クライアント証明書122Cの署名が正しくない場合、証明書検証部213はクライアント証明書122Cが正しくないと判定し、処理は終了する。
図11に戻り、ステップS220から説明を続ける。
ステップS221において、他の認証システム群によって、検証結果の合意形成が図られる。他の認証システム群は1つ以上の他の認証システム120である。具体的には、他の認証システム群は、第1組織の認証システム120以外の全ての認証システム120である。つまり、他の認証システム群は、第2組織の認証システム120および第3組織の認証システム120である。
ステップS220の処理は以下の通りである。
他の認証システム群において、1つ以上の証明書検証部213は、合意形成機能によって、検証結果の合意形成を図る。
合意形成機能は、コンセンサスアルゴリズムと呼ばれる。
例えば、多数決によって、検証結果が決定される。つまり、クライアント証明書が正しいという検証結果の数がクライアント証明書が正しくないという検証結果の数よりも多い場合、クライアント証明書が正しいという合意が得られる。
合意形成の結果によって、処理は分岐する。
第1ユーザのクライアント証明書が正しいという結果が得られた場合、処理はステップS231に進む。
第1ユーザのクライアント証明書が正しくないという結果が得られた場合、処理はステップS241に進む。
ステップS231において、第1ユーザのクライアント証明書がクライアント証明書ブロックチェーンに登録される。
ステップS231の処理は以下の通りである。
それぞれの他の認証システム120において、ブロックチェーン管理部214は、第1ユーザのクライアント証明書をクライアント証明書ブロックチェーンに登録する。つまり、ブロックチェーン管理部214は、クライアント証明書122Cをクライアント証明書ブロックチェーンの一部としてブロックチェーン記憶部290に記憶する。
ステップS232において、第1ユーザのクライアント秘密鍵が保存される。
ステップS232の処理は以下の通りである。
それぞれの他の認証システム120において、トランザクション受付部212は、登録完了通知を第1組織の認証システム120に送信する。登録完了通知は、第1ユーザのクライアント証明書がクライアント証明書ブロックチェーンに登録されたことを示す。
第1組織の認証システム120において、トランザクション発行部211は、登録完了通知を受信する。トランザクション発行部211は登録完了通知を送信し、認証部311は登録完了通知を受信する。そして、認証部311は、第1ユーザのクライアント秘密鍵をクライアント秘密鍵記憶部392に保存する。
ステップS232の後、処理はステップS250に進む。
ステップS241において、登録トランザクションの棄却が第1組織の認証システム120に通知される。
ステップS241の処理は以下の通りである。
それぞれの他の認証システム120において、トランザクション受付部212は、棄却通知を第1組織の認証システム120に送信する。棄却通知は、第1ユーザのクライアント証明書用の登録トランザクションが棄却されたことを示す。つまり、棄却通知は、第1ユーザのクライアント証明書がクライアント証明書ブロックチェーンに登録されなかったことを示す。例えば、棄却通知は、棄却理由情報を含む。棄却理由情報は、棄却理由を区別する情報である。例えば、棄却理由情報は、コードまたは文字列などによって棄却理由を示す。
第1組織の認証システム120において、トランザクション発行部211は、棄却通知を受信する。
ステップS242において、第1ユーザのクライアント秘密鍵が削除される。
ステップS242の処理は以下の通りである。
第1組織の認証システム120において、トランザクション発行部211は棄却通知を送信し、認証部311は棄却通知を受信する。そして、認証部311は、第1ユーザのクライアント秘密鍵を削除する。
ステップS242の後、処理はステップS250に進む。
ステップS250において、クライアント証明書の発行結果がユーザ端末130に通知される。
ステップS250の処理は以下の通りである。
第1組織の認証システム120において、認証部311は、発行結果通知をユーザ端末130に送信する。発行結果通知は、第1ユーザのクライアント証明書が発行されたか否かを示す。
第1組織システム110Aにおいて、ユーザ端末130のブラウザ部132は発行結果通知を受信し、発行結果をディスプレイに表示する。例えば、第1ユーザのクライアント証明書が発行されなかった場合、ブラウザ部132は、棄却理由をディスプレイに表示する。
次に、(5)ユーザの代理証明について説明する。
ユーザが他組織のサーバ装置140にアクセスする場合、つまり、ユーザが他組織のサービスにアクセスする場合、ユーザが属する組織の認証システム120が、他組織の認証システム120の代わりにユーザを認証する。
図15および図16に基づいて、第1組織の第1ユーザが第2組織のサービスにアクセスする場合を例にして、代理証明処理を説明する。
この代理証明処理は、(5)ユーザの代理証明のための処理である。
ステップS301において、第1ユーザのクライアント証明書が発行される。つまり、第1ユーザのクライアント証明書がクライアント証明書ブロックチェーンに登録される。
ステップS301の処理は、図11および図12で説明した発行処理に相当する。
ステップS302において、アクセス要求が第2組織のサーバ装置140に送信される。
ステップS302の処理は以下の通りである。
第1組織システム110Aにおいて、第1ユーザは、第2組織のサービスに対するアクセス要求をユーザ端末130に入力する。
アクセス情報は、第1組織と第1ユーザとアクセス内容とを示す。
ユーザ端末130のブラウザ部132は、アクセス要求を第2組織のサーバ装置140に送信する。
第2組織システム110Bにおいて、サーバ装置140はアクセス要求を受信する。
ステップS303において、第1ユーザの認証要求が第2組織の認証システム120に送信される。
ステップS303の処理は以下の通りである。
第2組織システム110Bにおいて、サーバ装置140は、第1ユーザの認証要求を送信する。この認証要求は、第1組織と第1ユーザとを示す。
第2組織の認証システム120において、認証部311は、第1ユーザの認証要求を受信する。
ステップS304において、第1ユーザのクライアント証明書が第2組織のクライアント証明書ブロックチェーンから取得される。
ステップS304の処理は以下の通りである。
第2組織の認証システム120において、認証部311は第1ユーザ識別子を送信し、ブロックチェーン管理部214は第1ユーザ識別子を受信する。ブロックチェーン管理部214は、第1ユーザ識別子に基づいて、第1ユーザのクライアント証明書をクライアント証明書ブロックチェーンから取得する。つまり、ブロックチェーン管理部214は、第1ユーザのクライアント証明書をブロックチェーン記憶部290から取得する。
ステップS305において、第1ユーザのクライアント証明書が検証される。
ステップS305の処理は以下の通りである。
第2組織の認証システム120において、証明書検証部213は、第1ユーザのクライアント証明書から有効期限を取得し、有効期限を現在時刻と比較する。
有効期限が切れている場合、証明書検証部213は、第1ユーザのクライアント証明書が正しくないと判定する。
有効期限が切れていない場合、証明書検証部213は、第1ユーザのクライアント証明書が失効リストブロックチェーンに登録されているか判定する。つまり、証明書検証部213は、第1ユーザのクライアント証明書が失効リストブロックチェーンの一部としてブロックチェーン記憶部290に記憶されているか判定する。証明書検証部213は次のように判定を行う。まず、証明書検証部213は、第1ユーザのクライアント証明書から発行者とシリアル番号との組を取得する。そして、証明書検証部213は、取得した組と同じ組が失効リストブロックチェーンに登録されているか判定する。
第1ユーザのクライアント証明書が失効リストブロックチェーンに登録されている場合、証明書検証部213は、第1ユーザのクライアント証明書が正しくないと判定する。
第1ユーザのクライアント証明書が失効リストブロックチェーンに登録されていない場合、証明書検証部213は、第1ユーザのクライアント証明書が正しいと判定する。
ステップS306において、第1ユーザのクライアント証明書についての検証結果が判定される。
ステップS306の処理は以下の通りである。
第2組織の認証システム120において、証明書検証部213は検証結果通知を送信し、認証部311は検証結果通知を受信する。検証結果通知は、第1ユーザのクライアント証明書が正しいか否かを示す。そして、認証部311は、検証結果通知に基づいて、第1ユーザのクライアント証明書について検証結果を判定する。
第1ユーザのクライアント証明書が正しい場合、処理はステップS311に進む。
第1ユーザのクライアント証明書が正しくない場合、処理はステップS307に進む。
ステップS307において、認証失敗がユーザ端末130に通知される。
ステップS307の処理は以下の通りである。
第2組織の認証システム120において、認証部311は認証失敗通知を送信する。
第2組織システム110Bにおいて、サーバ装置140は認証失敗通知を受信し、認証失敗通知を送信する。ユーザ端末130は認証失敗通知を受信し、認証失敗をディスプレイに表示する。
ステップS307の後、処理は終了する。この場合、第1ユーザは、第2組織のサービスにアクセスすることができない。
ステップS311において、ハローメッセージが第1組織の認証システム120に送信される。
ステップS311の処理は以下の通りである。
第2組織の認証システム120において、認証部311は、ハローメッセージを生成し、ハローメッセージと第1ユーザ識別子とを第1組織の認証システム120に送信する。ハローメッセージは乱数を含む。
第1組織の認証システム120において、代理証明部312は、ハローメッセージと第1ユーザ識別子とを受信する。
ステップS312において、署名メッセージが第2組織の認証システム120に返信される。
ステップS312の処理は以下の通りである。
第1組織の認証システム120において、代理証明部312は、第1ユーザ識別子に基づいて、第1ユーザのクライアント秘密鍵をクライアント秘密鍵記憶部392から取得する。代理証明部312は、第1ユーザのクライアント秘密鍵を用いてハローメッセージを暗号化する。暗号されたハローメッセージが署名メッセージである。代理証明部312は、署名メッセージを第2組織の認証システム120に送信する。
第2組織の認証システム120において、認証部311は署名メッセージを受信する。
ステップS313において、署名メッセージが検証される。
ステップS313の処理は以下の通りである。
第2組織の認証システム120において、認証部311は、第1ユーザのクライアント証明書から第1ユーザのクライアント公開鍵を取得する。認証部311は、第1ユーザのクライアント公開鍵を用いて、署名メッセージを復号する。そして、認証部311は、復号後の署名メッセージがハローメッセージと一致するか判定する。
復号後の署名メッセージがハローメッセージと一致する場合、署名メッセージは正しい。
ステップS314において、署名メッセージの検証結果が判定される。
ステップS314の処理は以下の通りである。
第2組織の認証システム120において、認証部311は、署名メッセージの検証結果を判定する。
署名メッセージが正しい場合、認証部311は第1ユーザが正当なユーザであると判定し、処理はステップS315に進む。
署名メッセージが正しくない場合、認証部311は第1ユーザが不当なユーザであると判定し、処理はステップS316に進む。
ステップS315において、認証成功がユーザ端末130に通知される。
ステップS315の処理は以下の通りである。
第2組織の認証システム120において、認証部311は認証成功通知を送信する。
第2組織システム110Bにおいて、サーバ装置140は認証成功通知を受信し、認証成功通知を送信する。ユーザ端末130は認証成功通知を受信し、認証成功をディスプレイに表示する。
ステップS315の後、処理は終了する。この場合、第1ユーザは、第2組織のサービスにアクセスすることができる。
ステップS316において、認証失敗がユーザ端末130に通知される。
ステップS316の処理は以下の通りである。
第2組織の認証システム120において、認証部311は認証失敗通知を送信する。
第2組織システム110Bにおいて、サーバ装置140は認証失敗通知を受信し、認証失敗通知を送信する。ユーザ端末130は認証失敗通知を受信し、認証失敗をディスプレイに表示する。
ステップS316の後、処理は終了する。この場合、第1ユーザは、第2組織のサービスにアクセスすることができない。
次に、(6)ユーザのログアウトについて説明する。
それぞれの他の認証システム120において、ユーザのクライアント証明書が失効リストブロックチェーンに登録される。
図17に基づいて、第1組織の第1ユーザがログアウトする場合を例にして、ログアウト処理を説明する。
このログアウト処理は、(6)ユーザのログアウトのための処理である。
ステップS401において、ログアウト要求が第1組織の認証システム120に送信される。
ステップS401の処理は以下の通りである。
第1組織システム110Aにおいて、第1ユーザは、ログアウト要求をユーザ端末130に入力する。
ログアウト要求は、第1組織と第1ユーザとを示す。
ユーザ端末130のブラウザ部132は、ロウアウト要求を第1組織の認証システム120に送信する。
第1組織の認証システム120において、ログアウト受付部313はログアウト要求を受信する。
ステップS402において、第1ユーザのクライアント証明書用の失効トランザクションが発行される。
クライアント証明書用の失効トランザクションは、クライアント証明書を失効リストブロックチェーンに登録するためのトランザクションである。
ステップS402の処理は以下の通りである。
第1組織の認証システム120において、ログアウト受付部313は第1ユーザ識別子をトランザクション発行部211に送信する。トランザクション発行部211は、第1ユーザ識別子に基づいて、第1ユーザのクライアント証明書を第1組織のクライアント証明書ブロックチェーンから取得する。そして、トランザクション発行部211は、第1ユーザのクライアント証明書用の失効トランザクションを発行する。具体的には、トランザクション発行部211は、トランザクションデータ123を生成し、トランザクションデータ123をそれぞれの他の認証システム120に送信する。他の認証システム120は、第2組織の認証システム120および第3組織の認証システム120である。
それぞれの他の認証システム120において、トランザクション受付部212は、トランザクションデータ123を受信する。
図18に基づいて、トランザクションデータ123を説明する。
トランザクションデータ123は、基本情報123Aとクライアント証明書情報123Bとその他情報123Cとを有する。
基本情報123Aは、例えば、トランザクションIDと、発行元情報と、発行元のブロックチェーン証明書と、発行元の署名と、発行時のタイムスタンプとを含む。発行元情報は、トランザクションデータ123の発行元を示す。発行元は、第1組織の認証システム120である。発行元の署名は、発行元のブロックチェーン秘密鍵を用いて生成される。
クライアント証明書情報123Bは、第1ユーザのクライアント証明書を識別する。例えば、クライアント証明書情報123Bは、第1ユーザのクライアント証明書について発行元IDとシリアル番号とを示す。
図17に戻り、ステップS403から説明を続ける。
ステップS403において、第1ユーザのクライアント証明書用の失効トランザクションが検証される。
ステップS403の処理は以下の通りである。
それぞれの他の認証システム120において、トランザクション検証部215は、第1ユーザのクライアント証明書用の失効トランザクションを検証する。具体的には、トランザクション検証部215は、トランザクションデータ123を次のように検証する。
トランザクション検証部215は、トランザクションデータ123の形式が正しいか判定する。トランザクションデータ123の形式が失効トランザクションの規定の形式と一致する場合、トランザクションデータ123の形式は正しい。
トランザクションデータ123の形式が正しい場合、トランザクション検証部215は、トランザクションデータ123の中の発行元のブロックチェーン証明書からブロックチェーン公開鍵を取得する。そして、トランザクション検証部215は、ブロックチェーン公開鍵を用いて、トランザクションデータ123の中の発行元の署名を検証する。
発行元の署名が正しい場合、トランザクション検証部215は、トランザクションデータ123から発行元情報とクライアント証明書情報123Bとを取得する。そして、トランザクション検証部215は、トランザクションデータ123の発行元が第1ユーザのクライアント証明書の発行元と一致するか判定する。トランザクションデータ123の発行元が第1ユーザのクライアント証明書の発行元と一致する場合、発行元情報は正しい。
発行元情報が正しい場合、トランザクション検証部215は、失効トランザクションが正しいと判定する。
トランザクションデータ123の形式が正しくない場合、トランザクション検証部215は、失効トランザクションが正しくないと判定する。
発行元の署名が正しくない場合、トランザクション検証部215は、失効トランザクションが正しくないと判定する。
発行元情報が正しくない場合、トランザクション検証部215は、失効トランザクションが正しくないと判定する。
ステップS404において、他の認証システム群によって、検証結果の合意形成が図られる。他の認証システム群は1つ以上の他の認証システム120である。具体的には、他の認証システム群は、第1組織の認証システム120以外の全ての認証システム120である。つまり、他の認証システム群は、第2組織の認証システム120および第3組織の認証システム120である。
ステップS404の処理は以下の通りである。
他の認証システム群において、1つ以上のトランザクション検証部215は、合意形成機能によって、検証結果の合意形成を図る。
合意形成機能は、コンセンサスアルゴリズムと呼ばれる。
例えば、多数決によって、検証結果が決定される。つまり、失効トランザクションが正しいという検証結果の数が失効トランザクションデータが正しくないという検証結果の数よりも多い場合、失効トランザクションが正しいという合意が得られる。
合意形成の結果によって、処理は分岐する。
失効トランザクションが正しいという結果が得られた場合、処理はステップS411に進む。
失効トランザクションが正しくないという結果が得られた場合、処理はステップS421に進む。
ステップS411において、第1ユーザのクライアント証明書が失効リストブロックチェーンに登録される。
ステップS411の処理は以下の通りである。
それぞれの他の認証システム120において、ブロックチェーン管理部214は、第1ユーザのクライアント証明書を失効リストブロックチェーンに登録する。つまり、ブロックチェーン管理部214は、第1ユーザのクライアント証明書の情報を失効リストブロックチェーンの一部としてブロックチェーン記憶部290に記憶する。
ステップS412において、第1ユーザのクライアント秘密鍵が削除される。
ステップS412の処理は以下の通りである。
少なくともいずれかの他の認証システム120において、トランザクション受付部212は、合意形成の結果を第1組織の認証システム120に送信する。
第1組織の認証システム120において、トランザクション発行部211は、合意形成の結果を受信する。トランザクション発行部211は合意形成の結果を送信し、ログアウト受付部313は合意形成の結果を受信する。そして、ログアウト受付部313は、第1ユーザのクライアント秘密鍵をクライアント秘密鍵記憶部392から削除する。
ステップS413において、ログアウトの成功がユーザ端末130に通知される。
ステップS413の処理は以下の通りである。
第1組織の認証システム120において、ログアウト受付部313は、ログアウト成功通知を送信する。
第1組織システム110Aにおいて、ユーザ端末130はログアウト成功通知を受信し、ログアウトの成功をディスプレイに表示する。
ステップS413の後、処理は終了する。この場合、ユーザのログアウトは完了する。
ステップS421において、ログアウトの失敗がユーザ端末130に通知される。
ステップS421の処理は以下の通りである。
少なくともいずれかの他の認証システム120において、トランザクション受付部212は、合意形成の結果を第1組織の認証システム120に送信する。
第1組織の認証システム120において、トランザクション発行部211は、合意形成の結果を受信する。トランザクション発行部211は合意形成の結果を送信し、ログアウト受付部313は合意形成の結果を受信する。そして、ログアウト受付部313は、ログアウト失敗通知を送信する。
第1組織システム110Aにおいて、ユーザ端末130はログアウト失敗通知を受信し、ログアウトの失敗をディスプレイに表示する。
ステップS421の後、処理は終了する。この場合、ユーザのログアウトは完了しない。ユーザのログアウトを完了させるためには、ログアウト処理が再度実行される必要がある。
***実施の形態1の効果***
ユーザは必ず同じ認証装置300によって認証される。具体的には、ユーザはユーザが属する組織の認証装置300によって認証される。そのため、ユーザがユーザ端末群130Gのそれぞれのユーザ端末130を使用する場合であっても、認証装置300に記憶された認証情報を用いてユーザを認証することができる。
それぞれの組織の認証システム120は、ブロックチェーンを用いて連携することによって、クライアント証明書を共有することができる。
代理証明部312は代理証明を実施する。これにより、ユーザは、認証情報を1度入力するだけで、各組織のサービスにアクセスすることができる。
ブロックチェーンが利用されるため、複数の組織の複数の認証システム120において認証情報を安全に共有することが可能となる。そして、ユーザが所属する組織及びサービスを提供する組織で認証連携システム100を運用することができる。
各組織は同じ認証システム120を有する。そのため、ブロックチェーンの運用において、各組織の負担および各組織の責任が同程度になるような調整が可能である。つまり、認証連携システム100において、各組織が負担と責任とを公平に受け持つことが可能である。
実施の形態2.
認証システム120が代理証明機能を有さない形態について、主に実施の形態1と異なる点を図19から図25に基づいて説明する。
***構成の説明***
認証連携システム100の構成は、実施の形態1における構成と同じである(図1参照)。
組織システム110の構成は、実施の形態1における構成と同じである(図2参照)。
図19に基づいて、ユーザ端末130の構成を説明する。
ユーザ端末130は、鍵管理部133と自己証明部134という要素を備える。
メモリ131Bは、クライアント秘密鍵記憶部139の機能を実現する。
その他の構成は、実施の形態1における構成と同じである(図3参照)
サーバ装置140の構成は、実施の形態1における構成と同じである(図4参照)。
認証システム120の構成は、実施の形態1における構成と同じである(図5参照)。
管理装置200の構成は、実施の形態1における構成と同じである(図6参照)。
図20に基づいて、認証装置300の構成を説明する。
認証装置300は、代理証明部312という要素を備えない。
メモリ302は、クライアント秘密鍵記憶部392を有さない。
その他の構成は、実施の形態1における構成と同じである(図7参照)。
認証局装置400の構成は、実施の形態1における構成と同じである(図8参照)。
***動作の説明***
登録処理は、実施の形態1における処理と同じである(図9参照)。
図21および図22に基づいて、発行処理を説明する。
ステップS201からステップS220は、実施の形態1で説明した通りである(図11参照)。
ステップS231の処理は、実施の形態1で説明した通りである(図12参照)。ステップS231の後、処理はステップS251に進む。
ステップS241とステップS242とのそれぞれの処理は、実施の形態1で説明した通りである(図12参照)。ステップS242の後、処理はステップS252に進む。
ステップS251において、クライアント証明書の発行結果と第1ユーザのクライアント秘密鍵とがユーザ端末130に通知される。
ステップS251の処理は以下の通りである。
第1組織の認証システム120において、認証部311は、発行結果通知と第1ユーザのクライアント秘密鍵とをユーザ端末130に送信する。発行結果通知は、第1ユーザのクライアント証明書が発行されたことを示す。
第1組織システム110Aにおいて、ユーザ端末130のブラウザ部132は、発行結果通知と第1ユーザのクライアント秘密鍵とを受信し、発行結果をディスプレイに表示する。
ステップS252において、クライアント証明書の発行結果がユーザ端末130に通知される。
ステップS252の処理は以下の通りである。
第1組織の認証システム120において、認証部311は、発行結果通知をユーザ端末130に送信する。発行結果通知は、第1ユーザのクライアント証明書が発行されなかったことを示す。
第1組織システム110Aにおいて、ユーザ端末130のブラウザ部132は、発行結果通知を受信し、発行結果をディスプレイに表示する。例えば、ユーザ端末130は、棄却理由をディスプレイに表示する。
ステップS253において、第1ユーザのクライアント証明書の発行結果が判定される。
ステップS253の処理は以下の通りである。
ユーザ端末130の鍵管理部133は、発行結果通知に基づいて、第1ユーザのクライアント証明書が発行されたか判定する。
第1ユーザのクライアント証明書が発行された場合、処理はステップS254に進む。
第1ユーザのクライアント証明書が発行されなかった場合、処理は終了する。
ステップS254において、第1ユーザのクライアント秘密鍵が保存される。
ステップS254の処理は以下の通りである。
ユーザ端末130の鍵管理部133は、第1ユーザのクライアント秘密鍵をクライアント秘密鍵記憶部139に保存する。
ステップS254の後、処理は終了する。
図23および図24に基づいて、自己証明処理を説明する。
自己証明処理は、実施の形態1における代理証明処理の代わりに実行される。
ステップS501からステップS507は、代理証明処理のステップS301からステップS307と同じである(図15参照)。
ステップS511において、ハローメッセージがユーザ端末130に送信される。
ステップS511の処理は以下の通りである。
第2組織の認証システム120において、認証部311は、ハローメッセージを生成し、ハローメッセージと第1ユーザ識別子とを第1組織システム110Aのユーザ端末130に送信する。ハローメッセージは乱数を含む。
第1組織システム110Aにおいて、ユーザ端末130の自己証明部134は、ハローメッセージと第1ユーザ識別子とを受信する。
ステップS512において、署名メッセージが第2組織の認証システム120に返信される。
ステップS512の処理は以下の通りである。
第1組織システム110Aにおいて、ユーザ端末130の自己証明部134は、第1ユーザのクライアント秘密鍵をクライアント秘密鍵記憶部139から取得する。自己証明部134は、第1ユーザのクライアント秘密鍵を用いてハローメッセージを暗号化する。暗号されたハローメッセージが署名メッセージである。自己証明部134は、署名メッセージを第2組織の認証システム120に送信する。
第2組織の認証システム120において、認証部311は署名メッセージを受信する。
ステップS513からステップS516は、代理証明処理のステップS313からステップS316と同じである(図16参照)。
図25に基づいて、ログアウト処理を説明する。
ステップS401からステップS404は、実施の形態1で説明した通りである(図17参照)。
ステップS411は、実施の形態1で説明した通りである(図17参照)。
ステップS411の後、処理はステップS414に進む。
ステップS414において、ログアウトの成功がユーザ端末130に通知される。
ステップS414の処理は以下の通りである。
少なくともいずれかの他の認証システム120において、トランザクション受付部212は、合意形成の結果を第1組織の認証システム120に送信する。
第1組織の認証システム120において、トランザクション発行部211は、合意形成の結果を受信する。トランザクション発行部211は合意形成の結果を送信し、ログアウト受付部313は合意形成の結果を受信する。ログアウト受付部313は、ログアウト成功通知を送信する。
第1組織システム110Aにおいて、ユーザ端末130のブラウザ部132はログアウト成功通知を受信し、ログアウトの成功をディスプレイに表示する。
ステップS415において、第1ユーザのクライアント秘密鍵が削除される。
ステップS415の処理は以下の通りである。
第1組織システム110Aにおいて、ユーザ端末130の鍵管理部133は、第1ユーザのクライアント秘密鍵をクライアント秘密鍵記憶部139から削除する。
ステップS421は、実施の形態1で説明した通りである(図17参照)。
***実施の形態2の効果***
認証システム120の認証装置300に代理証明機能を持たせることなく、実施の形態1と同様の機能を有する認証連携システム100を実現することができる。認証装置300は代理証明機能を持たないので、代理証明機能に必要であった計算リソースを認証装置300において削減できる。
実施の形態3.
認証局証明書ブロックチェーンを用いない形態について、主に実施の形態1および実施の形態2と異なる点を図26および図27に基づいて説明する。
***構成の説明***
認証連携システム100の構成は、実施の形態1における構成と同じである(図1参照)。
組織システム110の構成は、実施の形態1における構成と同じである(図2参照)。
ユーザ端末130の構成は、実施の形態1における構成と同じである(図3参照)。
サーバ装置140の構成は、実施の形態1における構成と同じである(図4参照)。
認証システム120の構成は、実施の形態1における構成と同じである(図5参照)。
管理装置200の構成は、実施の形態1における構成と同じである(図6参照)。
認証装置300の構成は、実施の形態1における構成と同じである(図7参照)。
図26に基づいて、認証局装置400の構成を説明する。
認証局装置400において、メモリ402は認証局秘密鍵記憶部490を有さない。
その他の構成は、実施の形態1における構成と同じである(図8参照)。
***動作の説明***
実施の形態3において、認証局秘密鍵と認証局証明書との組は不要である。つまり、認証局証明書ブロックチェーンは不要である。そのため、登録処理(図9参照)は不要である。
実施の形態3では、認証局証明書ブロックチェーンの代わりに、アドレスリストが使用される。
アドレスリストは、それぞれの認証システム120のアドレスを示す。例えば、アドレスリストは、それぞれの管理装置200のIPアドレスを示す。IPはInternet Protocolの略称である。
アドレスリストは、それぞれの認証システム120に記憶される。具体的には、アドレスリストは、それぞれの管理装置200に記憶される。
以下に、アドレスリストの使用方法について説明する。
図11および図12に基づいて、発行処理を説明する。
ステップS201からステップS203は、実施の形態1で説明した通りである。
ステップS204において、第1ユーザのクライアント証明書が生成される。
但し、第1ユーザのクライアント証明書は、第1組織の認証局秘密鍵を用いずに生成される。つまり、第1ユーザのクライアント証明書は、第1組織の認証局秘密鍵を用いて生成される署名を含まない。
ステップS205は、実施の形態1で説明した通りである。
ステップS210において、第1ユーザのクライアント証明書が検証される。
図27に基づいて、検証処理(S210)を説明する。
ステップS211は、実施の形態1で説明した通りである(図14参照)。
トランザクションデータ122の形式が正しい場合、処理はステップS215に進む。
ステップS215において、証明書検証部213は、トランザクションデータ122の送信元アドレスを検証する。トランザクションデータ122の送信元アドレスは、クライアント証明書用の登録トランザクションの発行元のアドレスを意味する。
具体的には、証明書検証部213は、トランザクションデータ122の送信元アドレスがアドレスリストに登録されているか判定する。トランザクションデータ122の送信元アドレスがアドレスリストに登録されている場合、トランザクションデータ122の送信元アドレスは正しい。
トランザクションデータ122の送信元アドレスが正しい場合、証明書検証部213はクライアント証明書122Cが正しいと判定し、処理は終了する。
トランザクションデータ122の送信元アドレスが正しくない場合、証明書検証部213はクライアント証明書122Cが正しくないと判定し、処理は終了する。
***実施の形態3の効果***
認証局証明書ブロックチェーンを用いることなく、実施の形態1と同様の機能を有する認証連携システム100を実現することができる。
実施の形態4.
仮想化技術を利用する形態について、主に実施の形態1から実施の形態3と異なる点を図28に基づいて説明する。
***構成の説明***
図28に基づいて、認証連携システム100の構成を説明する。
認証連携システム100の構成は、実施の形態1における構成と同じである(図1参照)。
但し、それぞれの認証連携システム100は、1台以上の物理計算機を備える。
物理計算機は、仮想化技術により、ユーザ端末130とサーバ装置140と管理装置200と認証装置300と認証局装置400との少なくともいずれかを実装する。具体的な仮想化技術は、仮想マシンまたはコンテナ技術である。
例えば、それぞれの組織システム110において、管理装置200、認証装置300および認証局装置400は、仮想化技術によって、1台の物理計算機に実装される。この場合、それぞれの組織システム110において、認証システム120が仮想化技術によって1台の物理計算機に実装される。
***動作の説明***
認証連携システム100の動作は、実施の形態1から実施の形態3のいずれかにおける動作と同じである。
***実施の形態4の効果***
実施の形態1と同等の機能を持つ認証連携システム100を少ない物理計算機で実現できる。
***実施の形態の補足***
図29に基づいて、管理装置200のハードウェア構成を説明する。
管理装置200は処理回路209を備える。
処理回路209は、トランザクション発行部211とトランザクション受付部212と証明書検証部213とブロックチェーン管理部214とトランザクション検証部215とブロックチェーン記憶部290とを実現するハードウェアである。
処理回路209は、専用のハードウェアであってもよいし、メモリ202に格納されるプログラムを実行するプロセッサ201であってもよい。
処理回路209が専用のハードウェアである場合、処理回路209は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
ASICはAppli認証局tion Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
管理装置200は、処理回路209を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路209の役割を分担する。
処理回路209において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、処理回路209はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
図30に基づいて、認証装置300のハードウェア構成を説明する。
認証装置300は処理回路309を備える。
処理回路309は、認証部311と代理証明部312とログアウト受付部313と認証情報記憶部391とクライアント秘密鍵記憶部392とを実現するハードウェアである。
処理回路309は、専用のハードウェアであってもよいし、メモリ302に格納されるプログラムを実行するプロセッサ301であってもよい。
処理回路309が専用のハードウェアである場合、処理回路309は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
認証装置300は、処理回路309を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路309の役割を分担する。
処理回路309において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、処理回路309はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
図31に基づいて、認証局装置400のハードウェア構成を説明する。
認証局装置400は処理回路409を備える。
処理回路409は、秘密鍵生成部411と証明書生成部412とを実現するハードウェアである。
処理回路409は、専用のハードウェアであってもよいし、メモリ402に格納されるプログラムを実行するプロセッサ401であってもよい。
処理回路409が専用のハードウェアである場合、処理回路409は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
認証局装置400は、処理回路409を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路409の役割を分担する。
処理回路409において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、処理回路409はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
100 認証連携システム、101 インターネット、110 組織システム、110A 第1組織システム、110B 第2組織システム、110C 第3組織システム、111 イントラネット、112 ゲートウェイ装置、120 認証システム、121 トランザクションデータ、121A 基本情報、121B 所有者情報、121C 認証局証明書、121D その他情報、122 トランザクションデータ、122A 基本情報、122B 所有者情報、122C クライアント証明書、122D その他情報、123 トランザクションデータ、123A 基本情報、123B クライアント証明書情報、123C その他情報、130 ユーザ端末、130G ユーザ端末群、131A プロセッサ、131B メモリ、131C 補助記憶装置、131D 通信装置、131E 入出力インタフェース、132 ブラウザ部、133 鍵管理部、134 自己証明部、139 クライアント秘密鍵記憶部、140 サーバ装置、140G サーバ装置群、141A プロセッサ、141B メモリ、141C 補助記憶装置、141D 通信装置、142 アプリケーション部、200 管理装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 通信装置、209 処理回路、211 トランザクション発行部、212 トランザクション受付部、213 証明書検証部、214 ブロックチェーン管理部、215 トランザクション検証部、290 ブロックチェーン記憶部、300 認証装置、301 プロセッサ、302 メモリ、303 補助記憶装置、304 通信装置、309 処理回路、311 認証部、312 代理証明部、313 ログアウト受付部、391 認証情報記憶部、392 クライアント秘密鍵記憶部、400 認証局装置、401 プロセッサ、402 メモリ、403 補助記憶装置、404 通信装置、409 処理回路、411 秘密鍵生成部、412 証明書生成部、490 認証局秘密鍵記憶部。

Claims (12)

  1. 第1ユーザが属する第1組織とは別の組織である他組織の認証システムであって、
    前記第1ユーザのクライアント証明書用の登録トランザクションを受け付けるトランザクション受付部と、
    前記第1ユーザの前記クライアント証明書用の登録トランザクションが受け付けられた場合に前記第1ユーザの前記クライアント証明書をクライアント証明書ブロックチェーンに登録するブロックチェーン管理部と、
    前記第1ユーザが前記第1組織のユーザ端末から前記他組織のサービスにアクセスした場合に前記クライアント証明書ブロックチェーンの中の前記第1ユーザの前記クライアント証明書を用いて前記第1ユーザの認証を行う認証部と
    を備える認証システム。
  2. 前記認証システムは、証明書検証部を備え、
    前記トランザクション受付部は、前記第1ユーザのログアウト時に、前記第1ユーザの前記クライアント証明書用の失効トランザクションを受け付け、
    前記ブロックチェーン管理部は、前記第1ユーザの前記クライアント証明書用の前記失効トランザクションが受け付けられた場合に前記第1ユーザの前記クライアント証明書を失効リストブロックチェーンに登録し、
    前記証明書検証部は、前記第1ユーザが前記第1組織の前記ユーザ端末から前記他組織のサービスにアクセスした場合に、前記第1ユーザの前記クライアント証明書が前記失効リストブロックチェーンに登録されているか判定し、
    前記認証部は、前記第1ユーザの前記クライアント証明書が前記失効リストブロックチェーンに登録されていない場合に、前記第1ユーザの前記クライアント証明書を用いて前記第1ユーザの認証を行う
    請求項1に記載の認証システム。
  3. 前記認証システムは、証明書検証部を備え、
    前記トランザクション受付部は、前記第1組織の認証局証明書用の登録トランザクションを受け付け、
    前記ブロックチェーン管理部は、前記第1組織の前記認証局証明書用の前記登録トランザクションが受け付けられた場合に前記第1組織の前記認証局証明書を認証局証明書ブロックチェーンに登録し、
    前記証明書検証部は、前記第1ユーザの前記クライアント証明書用の前記登録トランザクションが受け付けられた場合に前記認証局証明書ブロックチェーンの中の前記第1組織の前記認証局証明書を用いて前記第1ユーザの前記クライアント証明書を検証し、
    前記ブロックチェーン管理部は、前記第1ユーザの前記クライアント証明書が正しい場合に前記第1ユーザの前記クライアント証明書を前記クライアント証明書ブロックチェーンに登録する
    請求項1に記載の認証システム。
  4. 前記認証部は、前記第1ユーザが前記第1組織の前記ユーザ端末から前記他組織のサービスにアクセスした場合にハローメッセージを第1組織システムに送信し、前記第1組織システムから前記ハローメッセージに対応する署名メッセージを受信し、前記第1ユーザの前記クライアント証明書を用いて前記署名メッセージを検証し、前記署名メッセージが正しい場合に前記第1ユーザが正当なユーザであると判定する
    請求項3に記載の認証システム。
  5. 前記第1組織システムは、前記第1組織の認証装置を備え、
    前記第1組織の前記認証装置は、前記第1ユーザのクライアント秘密鍵を用いて前記ハローメッセージを暗号化し、暗号化されたハローメッセージを前記署名メッセージとして前記認証システムに送信する代理証明部を備え、
    前記認証部は、前記署名メッセージを受信し、前記第1ユーザの前記クライアント証明書から前記第1ユーザのクライアント公開鍵を取得し、前記第1ユーザの前記クライアント公開鍵を用いて前記署名メッセージを復号し、復号後の署名メッセージが前記ハローメッセージと一致する場合に前記署名メッセージが正しいと判定する
    請求項4に記載の認証システム。
  6. 前記第1組織システムは、前記第1組織の前記ユーザ端末を備え、
    前記第1組織の前記ユーザ端末は、前記第1ユーザのクライアント秘密鍵を用いて前記ハローメッセージを暗号化し、暗号化されたハローメッセージを前記署名メッセージとして前記認証システムに送信する自己証明部を備え、
    前記認証部は、前記署名メッセージを受信し、前記第1ユーザの前記クライアント証明書から前記第1ユーザのクライアント公開鍵を取得し、前記第1ユーザの前記クライアント公開鍵を用いて前記署名メッセージを復号し、復号後の署名メッセージが前記ハローメッセージと一致する場合に前記署名メッセージが正しいと判定する
    請求項4に記載の認証システム。
  7. 前記第1組織システムは、前記第1組織の認証局装置を備え、
    前記第1組織の前記認証局装置は、前記第1組織の認証局秘密鍵を用いて署名を生成し、生成した署名を含めて前記第1ユーザの前記クライアント証明書を生成する証明書生成部を備え、
    前記証明書検証部は、前記第1ユーザの前記クライアント証明書用の前記登録トランザクションが受け付けられた場合に前記第1組織の前記認証局証明書から前記第1組織の認証局公開鍵を取得し、前記第1組織の前記認証局公開鍵を用いて前記署名を検証し、前記署名が正しい場合に前記第1ユーザの前記クライアント証明書が正しいと判定する
    請求項5または請求項6に記載の認証システム。
  8. 前記認証部は、前記第1ユーザが前記第1組織の前記ユーザ端末から前記他組織のサービスにアクセスした場合にハローメッセージを第1組織システムに送信し、前記第1組織システムから前記ハローメッセージに対応する署名メッセージを受信し、前記第1ユーザの前記クライアント証明書を用いて前記署名メッセージを検証し、前記署名メッセージが正しい場合に前記第1ユーザが正当なユーザであると判定する
    請求項1または請求項2に記載の認証システム。
  9. 前記第1組織システムは、前記第1組織の認証装置を備え、
    前記第1組織の認証装置は、前記第1ユーザのクライアント秘密鍵を用いて前記ハローメッセージを暗号化し、暗号化されたハローメッセージを前記署名メッセージとして前記認証システムに送信する代理証明部を備え、
    前記認証部は、前記署名メッセージを受信し、前記第1ユーザの前記クライアント証明書から前記第1ユーザのクライアント公開鍵を取得し、前記第1ユーザの前記クライアント公開鍵を用いて前記署名メッセージを復号し、復号後の署名メッセージが前記ハローメッセージと一致する場合に前記署名メッセージが正しいと判定する
    請求項8に記載の認証システム。
  10. 前記第1組織システムは、前記第1組織の前記ユーザ端末を備え、
    前記第1組織の前記ユーザ端末は、前記第1ユーザのクライアント秘密鍵を用いて前記ハローメッセージを暗号化し、暗号化されたハローメッセージを前記署名メッセージとして前記認証システムに送信する自己証明部を備え、
    前記認証部は、前記署名メッセージを受信し、前記第1ユーザの前記クライアント証明書から前記第1ユーザのクライアント公開鍵を取得し、前記第1ユーザの前記クライアント公開鍵を用いて前記署名メッセージを復号し、復号後の署名メッセージが前記ハローメッセージと一致する場合に前記署名メッセージが正しいと判定する
    請求項8に記載の認証システム。
  11. 前記第1組織システムは、前記第1組織の認証局装置を備え、
    前記第1組織の認証局装置は、前記第1ユーザの前記クライアント秘密鍵を生成する秘密鍵生成部を備える
    請求項9または請求項10に記載の認証システム。
  12. 第1ユーザが属する第1組織とは別の組織である他組織の認証システムのための認証プログラムであって、
    前記第1ユーザのクライアント証明書用の登録トランザクションを受け付けるトランザクション受付処理と、
    前記第1ユーザの前記クライアント証明書用の登録トランザクションが受け付けられた場合に前記第1ユーザの前記クライアント証明書をクライアント証明書ブロックチェーンに登録するブロックチェーン管理処理と、
    前記第1ユーザが前記第1組織のユーザ端末から前記他組織のサービスにアクセスした場合に前記クライアント証明書ブロックチェーンの中の前記第1ユーザの前記クライアント証明書を用いて前記第1ユーザの認証を行う認証処理と
    をコンピュータに実行させるための認証プログラム。
JP2020512955A 2018-04-09 2018-04-09 認証システムおよび認証プログラム Active JP6742558B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/014949 WO2019198131A1 (ja) 2018-04-09 2018-04-09 認証システムおよび認証プログラム

Publications (2)

Publication Number Publication Date
JPWO2019198131A1 JPWO2019198131A1 (ja) 2020-07-30
JP6742558B2 true JP6742558B2 (ja) 2020-08-19

Family

ID=68164628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020512955A Active JP6742558B2 (ja) 2018-04-09 2018-04-09 認証システムおよび認証プログラム

Country Status (6)

Country Link
US (1) US11652647B2 (ja)
JP (1) JP6742558B2 (ja)
CN (1) CN111989892B (ja)
GB (1) GB2583686B (ja)
SG (1) SG11202007876QA (ja)
WO (1) WO2019198131A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7443036B2 (ja) * 2019-12-03 2024-03-05 株式会社サイバーリンクス 担保バッジ表示システム、担保バッジ表示システムのプログラム
CN111478881A (zh) * 2020-03-04 2020-07-31 深圳壹账通智能科技有限公司 组织与联盟的双向推荐方法、装置、设备及存储介质
KR102636275B1 (ko) * 2020-11-27 2024-02-14 클라우드마인즈 로보틱스 컴퍼니 리미티드 이동 네트워크 접속 시스템, 방법, 저장 매체 및 전자 장치
WO2023017580A1 (ja) * 2021-08-11 2023-02-16 株式会社KPMG Ignition Tokyo アバター認証システム、アバター認証方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
JP2003244134A (ja) * 2002-02-14 2003-08-29 Toyota Motor Corp 認証システム
WO2006065973A2 (en) * 2004-12-15 2006-06-22 Exostar Corporation Enabling trust in a federated collaboration of networks
US20080077795A1 (en) * 2006-09-25 2008-03-27 Macmillan David M Method and apparatus for two-way authentication without nonces
JP5325061B2 (ja) * 2009-09-25 2013-10-23 株式会社日立製作所 鍵管理装置および鍵管理方法
JP5604176B2 (ja) 2010-05-12 2014-10-08 日本放送協会 認証連携装置およびそのプログラム、機器認証装置およびそのプログラム、ならびに、認証連携システム
US20130311382A1 (en) * 2012-05-21 2013-11-21 Klaus S. Fosmark Obtaining information for a payment transaction
US9203832B2 (en) * 2013-03-12 2015-12-01 Cable Television Laboratories, Inc. DTCP certificate authentication over TLS protocol
US9641335B2 (en) 2013-09-16 2017-05-02 Axis Ab Distribution of user credentials
JP6071847B2 (ja) 2013-11-06 2017-02-01 株式会社東芝 認証システム、方法及びプログラム
US20150288680A1 (en) * 2014-04-02 2015-10-08 Cleversafe, Inc. Distributing registry information in a dispersed storage network
JP6319006B2 (ja) * 2014-09-18 2018-05-09 富士通株式会社 認証サービス方法、認証サービスサーバ、及び認証サービスシステム
CN104639534B (zh) * 2014-12-30 2019-02-12 北京奇虎科技有限公司 网站安全信息的加载方法和浏览器装置
EP3292484B1 (en) * 2015-05-05 2021-07-07 Ping Identity Corporation Identity management service using a block chain
US9705682B2 (en) * 2015-07-06 2017-07-11 Verisign, Inc. Extending DNSSEC trust chains to objects outside the DNS
CN107851253B (zh) 2015-07-13 2022-03-04 日本电信电话株式会社 合约合意方法、合意验证方法、合约合意系统、合意验证装置、合约合意装置、计算机可读记录介质
US10454689B1 (en) * 2015-08-27 2019-10-22 Amazon Technologies, Inc. Digital certificate management
JP6452156B2 (ja) 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
WO2017171165A1 (ko) * 2015-12-14 2017-10-05 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
KR20170111942A (ko) * 2016-03-30 2017-10-12 안찬제 고유정보연동 오티피(otp) 방식의 전자 인증 방법 및 전자 인증 시스템
US10411905B2 (en) * 2016-07-01 2019-09-10 Intel Corporation Public key infrastructure using blockchains
KR101723405B1 (ko) * 2016-07-04 2017-04-06 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
US10547457B1 (en) * 2016-10-21 2020-01-28 Wells Fargo Bank N.A. Systems and methods for notary agent for public key infrastructure names
KR102414732B1 (ko) * 2017-04-05 2022-06-28 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
US11038682B2 (en) * 2017-05-26 2021-06-15 Cloudminds (Shanghai) Robotics Co., Ltd. Communication method, apparatus and system, electronic device, and computer readable storage medium
CN112865982A (zh) * 2017-07-26 2021-05-28 创新先进技术有限公司 数字证书管理方法、装置及电子设备
US10628566B2 (en) * 2017-11-20 2020-04-21 International Business Machines Corporation Authentication using delegated identities
CN110084068B (zh) * 2018-01-26 2023-09-29 阿里巴巴集团控股有限公司 区块链系统及用于区块链系统的数据处理方法
KR102181600B1 (ko) * 2018-03-30 2020-11-23 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
CN111937348B (zh) * 2018-04-09 2024-02-09 三菱电机株式会社 认证系统及计算机可读取的记录介质

Also Published As

Publication number Publication date
WO2019198131A1 (ja) 2019-10-17
GB202013096D0 (en) 2020-10-07
US11652647B2 (en) 2023-05-16
GB2583686B (en) 2022-03-30
SG11202007876QA (en) 2020-09-29
JPWO2019198131A1 (ja) 2020-07-30
GB2583686A (en) 2020-11-04
CN111989892A (zh) 2020-11-24
US20200374138A1 (en) 2020-11-26
CN111989892B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
WO2020062668A1 (zh) 一种身份认证方法、身份认证装置及计算机可读介质
CN107231351B (zh) 电子证件的管理方法及相关设备
TWI497336B (zh) 用於資料安全之裝置及電腦程式
JP6742558B2 (ja) 認証システムおよび認証プログラム
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
CN111046352A (zh) 一种基于区块链的身份信息安全授权系统与方法
US11522849B2 (en) Authentication system and computer readable medium
JP2023503607A (ja) 自動デジタル証明書検証のための方法およびデバイス
CN112396421B (zh) 一种基于区块链通证的身份认证系统及方法
CN114666168B (zh) 去中心化身份凭证验证方法、装置,以及,电子设备
CN114760071B (zh) 基于零知识证明的跨域数字证书管理方法、系统和介质
TW201909013A (zh) 在公開匿名環境驗證身份及保護隱私的系統與方法
CN112948789B (zh) 身份认证方法及装置、存储介质及电子设备
CN108259180B (zh) 一种量子指定验证者签名的方法
Boontaetae et al. RDI: Real digital identity based on decentralized PKI
KR20200016506A (ko) 익명 디지털 아이덴티티 수립 방법
CN116996229A (zh) 一种数字证书生成方法及相关装置
CN112422534B (zh) 电子证书的信用评估方法以及设备
CN115242471A (zh) 信息传输方法、装置、电子设备及计算机可读存储介质
TWI828001B (zh) 使用多安全層級驗證客戶身分與交易服務之系統及方法
CN116975936B (zh) 金融资质证明方法、金融资质验证方法
TWI813905B (zh) 以線上快速認證之認證機制啟用數位憑證之系統及方法
KR20240075095A (ko) 토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법
CN114900300A (zh) 云服务临时登录密钥认证方法、装置、设备及存储介质
CN115776381A (zh) 基于区块链系统的密钥处理方法、装置、介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200416

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200416

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200609

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200728

R150 Certificate of patent or registration of utility model

Ref document number: 6742558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250