JPWO2019163040A1 - アクセス管理システム、及びそのプログラム - Google Patents

アクセス管理システム、及びそのプログラム Download PDF

Info

Publication number
JPWO2019163040A1
JPWO2019163040A1 JP2020501912A JP2020501912A JPWO2019163040A1 JP WO2019163040 A1 JPWO2019163040 A1 JP WO2019163040A1 JP 2020501912 A JP2020501912 A JP 2020501912A JP 2020501912 A JP2020501912 A JP 2020501912A JP WO2019163040 A1 JPWO2019163040 A1 JP WO2019163040A1
Authority
JP
Japan
Prior art keywords
key
transaction
user
node
signature
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
JP2020501912A
Other languages
English (en)
Other versions
JP6976405B2 (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.)
Zettant Inc
Original Assignee
Zettant Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zettant Inc filed Critical Zettant Inc
Publication of JPWO2019163040A1 publication Critical patent/JPWO2019163040A1/ja
Application granted granted Critical
Publication of JP6976405B2 publication Critical patent/JP6976405B2/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
    • 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

Abstract

暗号化ベースのアクセス制御において、耐障害性を向上させることができる。トランザクションが管理される分散型データベースにアクセス可能なコンピュータを、第1ユーザのアクセス権限を示すための第1鍵であって、分散型データベースにおいて第1ユーザに関連づけられていない第1鍵を取得する取得手段、第1鍵の検証を行う検証手段、第1鍵に関する情報を、分散型データベースにアクセス可能な1以上の第2ユーザのコンピュータと共有する共有手段、第1鍵の情報と、第1ユーザのデジタル署名とを含み、第1鍵の使用の承認を依頼する第1トランザクションを生成する生成手段、及び第1トランザクションが、1以上の第2ユーザにデジタル署名され、分散型データベースに登録されるために、第1トランザクションを1以上の第2ユーザのコンピュータに送信する送信手段、として機能させる。

Description

本発明は、アクセス管理システム、及びそのプログラム等に関する。
近年、アクセス制御の方法として、暗号化ベースの制御方法が注目されている。暗号化ベースのアクセス制御方法では、アクセスが許可される主体のみが復号可能にデータが暗号化され、当該データの復号可否に基づいて、主体の権限の検証が行われる(例えば非特許文献1)。
S. Kamara and K. Lauter, "Cryptographic cloud storage," in Proc. FC 2010, Jan. 2010, pp. 136-149
非特許文献1をはじめとする従来の暗号化ベースのアクセス制御方法では、認証局(CA:Certificate Authority)等の中央サーバが、アクセス制御用の暗号鍵や復号鍵を発行する。したがって、従来の暗号化ベースのアクセス制御方法によって管理されるシステムでは、システムの信頼性は、中央サーバの信頼度に依存することになる。このようなシステムでは、中央サーバが乗っ取られると、中央サーバの信頼性に基づいて発行されたすべての鍵が信頼できなくなることから、中央サーバが単一障害点(SPOF:Single Point Of Failure)となってしまう。これを防ぐために中央サーバのセキュリティレベルを強化するには大きな費用がかかってしまう。
そこで、本発明は、上記事情に鑑み、暗号化ベースのアクセス制御において、耐障害性を向上させることを目的とするものである。
本発明によるプログラムは、トランザクションが管理される分散型データベースにアクセス可能なコンピュータを、第1ユーザのアクセス権限を示すための第1鍵であって、分散型データベースにおいて第1ユーザに関連づけられていない第1鍵を取得する取得手段、第1鍵の検証を行う検証手段、第1鍵に関する情報を、分散型データベースにアクセス可能な1以上の第2ユーザのコンピュータと共有する共有手段、第1鍵の情報と、第1ユーザのデジタル署名とを含み、第1鍵の使用の承認を依頼する第1トランザクションを生成する生成手段、及び第1トランザクションが、1以上の第2ユーザにデジタル署名され、分散型データベースに登録されるために、第1トランザクションを1以上の第2ユーザのコンピュータに送信する送信手段、として機能させる。
本発明のプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
また、本明細書等において、「部」とは、単に物理的構成を意味するものではなく、その構成が有する機能をソフトウェアによって実現する場合も含む。また、1つの構成が有する機能が2つ以上の物理的構成により実現されても、2つ以上の構成の機能が1つの物理的構成により実現されてもよい。
本発明によれば、暗号化ベースのアクセス制御において、耐障害性を向上させることができる。
本発明の実施形態におけるアクセス管理システムの構成図である。 本発明の実施形態におけるノードの機能ブロックの一例を示す図である。 本発明の実施形態におけるトランザクションのデータ構造の一例を模式的に示す図である。 本発明の実施形態におけるトランザクションのデータ構造の一例を模式的に示す図である。 本発明の実施形態におけるトランザクションのデータ構造の一例を模式的に示す図である。 本発明の実施形態におけるノードの処理の流れの一例を示すフローチャートである。 本発明の実施形態におけるノードの機能ブロックの一例を示す図である。 本発明の実施形態におけるノードの処理の流れの一例を示すフローチャートである。 本発明の実施形態におけるユーザ認証の仕組みを模式的に示す図である。 本発明の実施形態における端末のハードウェア構成の一例を示す図である。
[第1の実施形態]
以下、本発明の実施の形態の1つについて詳細に説明する。なお、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均等なものに置換した実施の形態を採用することが可能であり、かかる実施の形態も本発明の範囲に含まれる。
<1.システム構成の概要>
図1は、本発明に係るアクセス管理システム1のシステム構成の一例を示している。アクセス管理システム1は、暗号化ベースのアクセス制御に用いられる鍵への操作の管理を行う。鍵は、暗号化ベースのアクセス制御において、ユーザのアクセス権限を示す情報として用いられる。本実施形態では、アクセス管理システム1で用いられる鍵は、公開鍵暗号方式における公開鍵及び秘密鍵である。ただし、アクセス管理システム1において用いられる鍵の暗号方式は、公開鍵暗号方式に限定されず、例えば共通鍵暗号方式でもよい。
鍵への操作は、鍵の生成、更新、又は失効を含む。アクセス管理システム1では、あるユーザ(操作者)が鍵に対して操作を行う場合、他の1以上のユーザ(承認者)が承認を行う。ここで、「鍵への操作を承認する」とは、鍵への操作が生成・更新である場合、使用される鍵を承認することであり、鍵への操作が失効である場合、失効操作を承認することである。1以上の承認者が、鍵への操作を承認することで、鍵の信頼性をユーザが相互に担保することが可能となる。これにより、アクセス管理システム1においては、一部の承認者の信頼性が損なわれたとしても、他の承認者の信頼性に基づいて、システム全体の信頼性を継続することができる。
さらにアクセス管理システム1では、承認者は、固定のユーザである必要はなく、操作対象の鍵の所有者に応じて異なってもよく、また、鍵の所有者が同一であっても、鍵への操作のたびに異なるユーザが承認者になってもよい。この結果、ある承認者の信頼性が損なわれたとしても、影響範囲を、信頼性が損なわれた承認者にのみ承認された鍵に限定することができる。これによって、システム全体としては、信頼性を継続することができる。
図1に示すように、アクセス管理システム1は、インターネット等のネットワークNに接続された複数のノード10A、10B、10C(以下、これらのノードをまとめて単に「ノード10」とも呼ぶ。)と、データベース30とを備えている。図1の例では、一例として3つのノードを記載しているが、ノードの数に限定はない。
ネットワークNは、無線ネットワークや有線ネットワークにより構成される。通信ネットワークの一例としては、携帯電話網や、PHS(Personal Handy−phone System)網、無線LAN(Local Area Network)、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation )、WiMax(登録商標)、赤外線通信、Bluetooth(登録商標)、有線LAN、電話線、電灯線ネットワーク、IEEE1394等に準拠したネットワークがある。
ノード10は、ネットワークNに接続されたコンピュータであり、アクセス管理システム1が提供する所定のアプリケーションがインストールされている。なお、所定のアプリケーションは、ノード10にあらかじめインストールされていてもよいし、ダウンロード等によってノード10に事後的にインストールされてもよい。
典型的には、ノード10は、携帯電話やスマートフォン、PC(Personal Computer)、PDA(Personal Digital Assistants)、タブレット、ウェアラブル(Wearable)端末、サーバ装置、ゲーム機等である。ノード10A、10B、及びノード10Cは、ネットワークNを介して互いにP2P(Peer to Peer)接続されており、分散型台帳システムを構成している。もっとも、ノード10は分散型台帳システムにアクセス可能に構成されていればよく、必ずしも分散型台帳システムを構成する態様に限定されない。なお、各ノードはネットワークNを介さずに直接P2P接続されてもよい。
以下の説明では、ノード10A,10B,10Cのユーザを、それぞれユーザA,B,Cとする。ユーザA,B,Cのそれぞれにはアクセス管理システム1で一意な識別子が割り当てられている。識別子は、例えば、ユーザがアクセス管理システム1に登録を行う場合に付与される一意な識別子や、メールアドレス、ノードの識別子、ノードにインストールされるアプリケーションにより識別されるID等である。
一例として、ユーザAを操作者、ノード10Aを操作ノードとし、ユーザB,Cを承認者、ノード10B,10Cを承認ノードとして説明する。なお、操作ノードと承認ノードとは別ノードである必要はなく、単一のノードが操作ノードと承認ノードとの双方の機能を有する構成でもよい。また、各ノードのユーザは一人に限定されず、1つのノードが複数のユーザによって共有されてもよい。
データベース30は、本実施形態ではネットワークNに接続される、ストレージ管理用のサーバに構築される。なお、これに限定されず、データベース30は、例えばネットワークNに接続されるWEBサーバ上に構築されてもよい。
なお、本実施形態では、アクセス管理システム1の各構成は、ネットワークNを介して接続される例を説明するが、これに限定されない。例えば、ノード10はプライベートなネットワークに接続され、データベース30はノード10が接続されるプライベートなネットワークとインターネットを介して接続される構成でもよい。同様に、ノード10はインターネットを介して接続され、データベース30はインターネットに接続可能なプライベートなネットワークに接続される構成でもよい。
<2.データベース30>
データベース30には、アクセス管理システム1において管理される鍵の情報が登録されている。一例として、データベース30には、公開鍵と、暗号化された秘密鍵と、が対応付けられたレコードが登録されている。この場合には、後述するトランザクションには公開鍵と、暗号化された秘密鍵のハッシュ値が含まれることが好ましい。なお、後述するように、トランザクションに公開鍵の本体が含まれる場合には、データベース30はなくてもよい。また、データベース30の各レコードは、鍵の所有者であるユーザの識別子や、登録されている鍵に操作を行ったトランザクションのID、ユーザの信頼度を示す情報等を含んでもよい。ユーザの信頼度を示す情報は、例えば、アクセス管理システム1においてそのユーザが過去に不正を行ったか等を示す情報である。さらに、データベース30には、公開鍵や秘密鍵の識別子が管理される構成でもよい。
<3.ノード10>
<3−1.操作ノード(ノード10A)>
次に、図2を用いて操作ノードであるノード10Aの機能構成について説明する。図2は、本実施形態に係るノード10Aの機能ブロック図である。図2に示すように、ノード10Aは、記憶部130と、鍵取得部111と、鍵検証部112と、トランザクション生成部114と、署名実行部115と、データベース制御部116と、を有している。さらに、図2に示すように、記憶部130には、ユーザAの秘密鍵と、分散型台帳131が記録されている。分散型台帳131は、分散型台帳システムを構成する複数のノード10に格納される分散型データベースである。ただし、すべてのノード10が分散型台帳131を有している必要はなく、一部のノード10のみが分散型台帳131を有している構成でもよい。
(1)分散型台帳
図3乃至図5は、分散型台帳131(分散型データベースの一例である。)で管理するトランザクションのデータ構造の一部を模式的に示す図である。分散型台帳131では、複数のトランザクションそれぞれを格納したブロックが、1列に連なった数珠つなぎの構造で記録されている。なお、図3乃至図5の例では、1つのブロックは1つのトランザクションしか有していない例を示しているが、1つのブロックが複数のトランザクションを有してもよい。また、トランザクションは必ずしもブロックに格納されている必要はなく、トランザクションそのものが数珠つなぎとなっている構成でもよい。
図3は、分散型台帳131において管理される鍵生成トランザクション(第1トランザクションの一例である。)を含むブロック1の構造の一例を示す図である。鍵生成トランザクションは、生成した新たな鍵の承認を求めるトランザクションである。図3では一例として、ユーザA(第1ユーザの一例である。)が生成した鍵(第1鍵の一例である。)の承認のための鍵生成トランザクションを示している。
鍵生成トランザクションには、例えば、以下のデータが格納されている。
・ユーザAの生成された鍵のデータ
・ユーザAの署名
・他ユーザ(承認者ともいう。1以上の第2ユーザの一例である。)の署名
生成された鍵のデータは、ユーザAが新たに使用する鍵を識別可能な情報であり、例えば鍵生成トランザクションにおいて承認される鍵ペアの公開鍵のハッシュ値である。なお、生成された鍵のデータとして、公開鍵のハッシュ値の代わりに公開鍵のデータそのものや、公開鍵のアクセス管理システム1において一意な識別子が鍵生成トランザクションに格納される構成でもよい。また、鍵生成トランザクションは、さらに生成される公開鍵あるいは既存の別の公開鍵で暗号化された秘密鍵を含んでもよい。また、生成される公開鍵と秘密鍵の鍵ペアは、ユーザA個人の鍵ペアに限定されず、ユーザAが提供するサービスで利用される鍵ペアでもよい。
ユーザAの署名は、鍵生成トランザクションにおいて承認される鍵ペアの秘密鍵を用いて生成されたデジタル署名である。なお、以下の説明では「デジタル署名」を単に「署名」ともいい、「鍵を用いてデジタル署名を生成」することを、単に「署名する」や「署名を行う」ともいう。
承認者の署名は、ユーザA以外の任意の数のユーザが、生成された鍵を承認する際に、自身の秘密鍵を用いて生成した署名である。図3の例では、鍵生成トランザクションには2人のユーザ(ユーザB,C)の署名が含まれているが、承認者の署名の数は、1以上の任意の数でよい。また、承認者として署名を生成するユーザは、例えば、ユーザA(つまり、新たに鍵を生成するユーザ)が指定することができる。他にも、承認者は、アクセス管理システム1に含まれるノード10のユーザからランダムに選択されてもよいし、あらかじめアクセス管理システム1の管理者によって選択されたユーザでもよい。また、必要な承認者の署名の数は、あらかじめアクセス管理システム1の管理者により定められてもよいし、ユーザAにより指定されてもよいし、ランダムに決定されてもよい。つまり、鍵生成トランザクションにおいて承認者として選ばれるユーザは、固定ではなく不定である。
なお、本実施形態では、各ユーザの署名は、鍵生成トランザクションのうち、署名が生成される領域を除いたデータ(すなわち、「ユーザAの生成された鍵のデータ(本実施形態では公開鍵のハッシュ値)」)のハッシュ値をダイジェストとし、自身の秘密鍵を用いて当該ダイジェストを暗号化することで生成される。
図4は分散型台帳131において管理される鍵更新トランザクション(第2トランザクションの一例である。)を含むブロックB2の構造の一例を示す図である。鍵更新トランザクションは、アクセス管理システム1において承認された鍵(第1鍵の一例である。)を新たな鍵(第2鍵の一例である。)に更新することについて、承認を求めるためのトランザクションである。図4では一例として、図3に示した鍵生成トランザクションにおいて承認されたユーザAの鍵についてn回目の更新を行う際の鍵更新トランザクションを示している。
鍵更新トランザクションには、例えば、以下のデータが格納されている。
・1つ前のトランザクションデータのハッシュ値
・ユーザAの更新済みの鍵のデータ
・ユーザAの署名
・他ユーザ(承認者)の署名
なお、鍵更新トランザクションは、上記の他に、1つ前のトランザクションへのポインタを含んでもよい。
1つ前のトランザクションとは、鍵のn回目の更新を行う鍵更新トランザクションの場合、鍵のn−1回目の更新を行ったトランザクションを指す。なお、今回の鍵更新トランザクションが初めて鍵を更新するものである場合、1つ前のトランザクションは、鍵生成トランザクションを指す。鍵更新トランザクションの1つ前のトランザクションも当然さらに1つ前のトランザクションデータのハッシュ値を含む構成である。このように、すべての鍵更新トランザクションは、鍵生成トランザクションまで数珠つなぎとなるデータ構造を有している。そうすると、鍵更新トランザクションは、鍵が生成されたトランザクションから鍵更新トランザクションまでのすべての鍵の更新履歴のハッシュ値を含んでいることになる。鍵更新トランザクションがこのような構成をとることで、途中のトランザクションに改ざんが行われたとしても、検知が容易になる。
更新済みの鍵のデータは、例えば鍵更新トランザクションにおいて、新たな鍵として承認される更新後の公開鍵のハッシュ値である。なお、更新済みの鍵データは新たな鍵を識別可能な情報であればよく、例えば公開鍵の識別子でもよい。鍵更新トランザクションには、さらに更新後の公開鍵で暗号化された更新後の秘密鍵が含まれてもよい。
ユーザAの署名は、更新前後のそれぞれの秘密鍵を用いて生成された署名である。言い換えると、今回(n回目)の更新後の秘密鍵と、前回(n−1回目)の更新後の秘密鍵とを用いて生成された署名である。ただし、鍵更新トランザクションにおいて更新される鍵が、ユーザAが提供するサービスで利用される鍵等、ユーザA自身の署名に用いる鍵とは別の鍵である場合には、ユーザAは署名用の鍵を用いて署名を生成することも可能である。
承認者の署名は、ユーザA以外の任意の数のユーザが、更新された鍵を承認する際に、自身の秘密鍵を用いて生成した署名である。承認者の署名は、例えば鍵更新トランザクションの起源となる鍵生成トランザクションが有する承認者の署名と同一のユーザの署名である。ただし、これに限定されず、承認者として署名するユーザ及びその数は、鍵更新トランザクションのたびにユーザA(鍵の更新者)が選択する構成でもよいし、ランダムに決められる構成でもよいし、更新の回数に応じて署名するユーザをあらかじめアクセス管理システム1の管理者が設定しておく構成でもよい。つまり、鍵更新トランザクションにおいて承認者として選ばれるユーザは、固定ではなく不定である。
鍵更新トランザクションにおいても、各ユーザの署名は、鍵更新トランザクションのうち、署名を行う領域を除いたデータ(すなわち、「1つ前のトランザクションデータのハッシュ値」と「ユーザAの更新済みの鍵のデータ(本実施形態では公開鍵のハッシュ値)」)のハッシュ値をダイジェストとし、自身の秘密鍵を用いて当該ダイジェストを暗号化することで生成される。
図5は分散型台帳131において管理される鍵失効トランザクション(第3トランザクションの一例である。)を含むブロックB3の構造の一例を示す図である。鍵失効トランザクションは、アクセス管理システム1において生成した鍵を失効させるトランザクションである。図5では一例として、図3に示した鍵生成トランザクションにおいて生成したユーザAの鍵を失効させる鍵失効トランザクションを示している。
鍵失効トランザクションには、例えば、以下のデータが格納されている。
・1つ前のトランザクションデータのハッシュ値
・ユーザAの鍵の失効情報
・ユーザAの署名
・他ユーザ(承認者)の署名
なお、鍵失効トランザクションは、上記の他に、1つ前のトランザクションへのポインタを含んでもよい。
ユーザAの鍵の失効情報は、ユーザAの鍵が失効したことを特定可能な情報である。失効情報は、例えば、鍵の失効日、失効理由等を含む。失効理由は、典型的には鍵の所有者からの申請(秘密鍵の紛失や盗難、サービスの利用停止等)の他、システム管理者による失効登録(利用者の義務違反等)が挙げられる。なお、失効情報には、さらに失効対象となる鍵を識別可能な情報(例えば公開鍵本体と暗号化された秘密鍵等)が含まれてもよい。
ユーザAの署名は、例えば、失効対象となる鍵を用いて生成された署名である。ただし、鍵失効トランザクションにおいて失効される鍵が、ユーザAが提供するサービスで利用される鍵等、ユーザA自身の署名に用いる鍵とは別の鍵である場合には、ユーザAは署名用の鍵を用いて署名を生成することも可能である。なお、失効操作を行うのがユーザA以外のユーザ(すなわち失効対象の鍵の所有者以外のユーザ)である場合には、ユーザA(鍵の所有者)の署名はなくてもよい。この場合には、鍵失効トランザクションには、ユーザAの署名の代わりに失効操作者の署名が含まれる。
承認者の署名は、ユーザA以外の任意の数のユーザが、鍵の失効を承認する際に、自身の秘密鍵を用いて生成した署名である。承認者として署名するユーザ及びその数は、鍵更新トランザクションと同様、起源となる鍵生成トランザクションに含まれる承認者の署名と同一のユーザの署名でもよいし、失効者やアクセス管理システム1の管理者が指定してもよいし、ランダムに決められてもよい。つまり、鍵失効トランザクションにおいて承認者として選ばれるユーザは、固定ではなく不定である。
鍵失効トランザクションにおいても、各ユーザの署名は、鍵更新トランザクションのうち、署名が生成される領域を除いたデータ(すなわち、「1つ前のトランザクションデータのハッシュ値」と「ユーザAの鍵の失効情報」)のハッシュ値をダイジェストとし、自身の秘密鍵を用いて当該ダイジェストを暗号化することで生成される。
図2に戻り、ノード10の各機能部の詳細について説明する。以下の説明では、鍵生成トランザクション、鍵更新トランザクション、及び鍵失効トランザクションをまとめて単「トランザクション」ともいう。
(2)鍵取得部111
鍵取得部111(取得手段の一例である。)は、操作対象となる鍵の情報を取得する。例えば操作が鍵の生成である場合には、鍵取得部111は、鍵を生成することができる。生成される鍵は、分散型台帳131、及び/又はデータベース30において、ユーザAと関連付けられていない鍵である。
また、操作が鍵の更新である場合には、鍵取得部111は、更新後の新たな鍵を生成する。更新後の新たな鍵は、分散型台帳131、及び/又はデータベース30において、ユーザAと関連付けられていない鍵である。さらに鍵取得部111は、データベース30を参照して、更新対象の鍵を取得する。
操作が鍵の失効である場合には、鍵取得部111は、処理を行わない。ただし、この場合にも、鍵取得部111は、データベース30を参照して失効対象の鍵を取得してもよい。
なお、鍵取得部111はデータベース30から鍵を取得する際には、操作対象の鍵が承認されたトランザクションのIDやユーザAの識別子に基づいてデータベース30を検索することができる。また、鍵取得部111は、鍵を生成する代わりに、他ノードに鍵の生成を依頼し、他ノードにおいて生成された鍵を取得する構成でもよい。この場合、鍵を生成する他ノードは、例えばアクセス管理システム1の管理ノードであることが好ましい。
(3)鍵検証部112
鍵検証部112(検証手段の一例である。)は、鍵取得部111が取得した鍵のうち、少なくともユーザAが新たに使用する鍵について、正常に機能するか検証を行う。例えば鍵検証部112は、鍵取得部111が生成した鍵ペアや、他ノードに生成を依頼した鍵ペアについて、一方の鍵が暗号化したデータを他方の鍵で復号可能か否かの検証を行う。
(4)トランザクション生成部113
トランザクション生成部113(生成手段の一例である。)は、鍵の操作に関するトランザクションを生成する。トランザクションの各構成の生成処理について具体的に説明する。
まず、トランザクション生成部113は、鍵のデータとして、例えば、鍵検証部112が検証した公開鍵から所定のハッシュ関数を使ってハッシュ値を生成する。なお、トランザクション生成部113は鍵のデータとして、公開鍵の識別子を用いてもよい。また、トランザクションが暗号化された秘密鍵を含む場合には、トランザクション生成部113は、秘密鍵に対応する公開鍵もしくは既存の別の公開鍵を用いて、秘密鍵の暗号化を行う。
次に、トランザクション生成部113は、生成するトランザクションが鍵更新トランザクション又は鍵失効トランザクションである場合には、1つ前のトランザクションのハッシュ値を生成する。今回生成するトランザクションの1つ前のトランザクションは、操作(更新・失効)対象の鍵が承認されたトランザクションである。そこでまず、トランザクション生成部113は、操作対象となる鍵が承認されたトランザクションIDを特定する。例えば、トランザクション生成部113は、トランザクションIDをユーザAから指定される構成でもよいし、ユーザAから更新対象となる鍵の指定を受け付け、データベース30を参照して、指定された鍵に対応するトランザクションIDを特定する構成でもよい。トランザクションIDを特定すると、トランザクション生成部113は、分散型台帳131を参照して、特定したトランザクションIDに対応するトランザクションを取得し、当該トランザクションのハッシュ値を算出する。
なお、生成するトランザクションが鍵失効トランザクションの場合には、トランザクション生成部113は、さらに失効情報を生成する。失効情報は、例えばユーザAからの入力を受付けて生成することができる。
最後にトランザクション生成部113は、ネットワークNにおいて一意なトランザクションIDを採番し、トランザクションを生成する。
(5)署名実行部114
署名実行部114は、ユーザAの署名用の鍵を用いてトランザクションに署名を行う。一例として、署名実行部114は、トランザクション生成部113が生成したトランザクションのうち、署名が格納される領域を除くデータのハッシュ値を計算し、ダイジェストを生成する。そして、署名実行部114は生成したダイジェストをユーザAの秘密鍵を用いて暗号化することで、署名を行う。ここで署名に用いられる秘密鍵は、例えば鍵生成トランザクションの場合は生成された秘密鍵であり、鍵更新トランザクションの場合は更新前後の秘密鍵であり、鍵失効トランザクションの場合は失効対象の秘密鍵である。なお、トランザクションで操作される鍵と署名を生成する鍵とは必ずしもペアである必要はない。例えば、トランザクションで操作される公開鍵が、ユーザAの署名用の秘密鍵に対応する公開鍵とは異なる場合には、署名実行部114は、ユーザAの既存の署名用の鍵(すなわちトランザクションで操作される鍵とは異なる鍵)を用いて、生成したダイジェストを暗号化することで署名を生成する。
(6)送信部115
送信部115(送信手段の一例である。)は、署名実行部115が署名したトランザクションを、承認依頼先のノードに送信する。このとき、送信部115は、トランザクションに承認を依頼する(すなわち署名を求める)他ユーザ(承認者)の識別子を宛先に承認依頼先として設定する。例えば送信部115は、ノード10AのユーザAから、承認依頼先の承認者の指定を受け付ける構成でもよいし、アクセス管理システム1の管理者からあらかじめ定められている承認者を設定する構成でもよいし、アクセス管理システム1のユーザからランダムに選択して設定する構成でもよい。
なお、送信部115はトランザクションを承認依頼先に送信する際に、署名実行部115が行った署名を復号可能な公開鍵(つまり、新たに生成された公開鍵や、更新後の公開鍵、失効対象となる公開鍵)を併せて送信してもよい。また、送信部115は、トランザクションをネットワークN全体に送信することも可能である。
(7)データベース制御部116
データベース制御部116(共有手段の一例である。)は、鍵検証部112が検証した鍵を分散型台帳システムを構成する他のノード(ノード10B、10C)と共有する。一例として、データベース制御部116は、鍵検証部112が検証した鍵をデータベース30に登録する。具体的には、鍵に対する操作が、「生成」である場合には、データベース制御部116は、データベース30に新なレコードを追加して、公開鍵と、当該公開鍵で暗号化された秘密鍵を登録する。
鍵に対する操作が、「更新」である場合には、データベース制御部116は、データベース30を参照して、更新対象の鍵に対応するレコードを抽出し、抽出したレコードに更新後の公開鍵及び当該公開鍵で暗号化された秘密鍵を追加する。なお、データベース制御部116は、更新前の公開鍵及び暗号化された秘密鍵を更新後の公開鍵及び暗号化された秘密鍵に置き換える構成でもよい。
鍵に対する操作が、「失効」である場合には、データベース制御部116は、データベース30を参照して、失効対象の鍵に対応するレコードを削除する。なお、データベース制御部116は、レコードを削除する代わりに抽出したレコードに失効情報を追加する構成でもよい。
データベース制御部116は、データベース30に対して鍵の登録を行う場合には、鍵と対応付けてトランザクション生成部114が生成したトランザクションの識別子(以下「トランザクションID」ともいう。)をデータベース30に登録しておくことが好ましい。
なお、データベース制御部116が他のノードと鍵を共有する方法は、データベース30に登録する方法の他、鍵を直接他のノードに送信する方法でもよい。
また、本実施形態では、データベース制御部116は、送信部115がトランザクションを送信する前にデータベース30に検証された鍵を登録する。この場合、データベース制御部116は、送信されたトランザクションが承認者によって承認されなかった場合には、登録内容をロールバックする。ただし、登録処理のタイミングはこれに限定されず、データベース制御部116は、データベース制御部116は、検証された鍵のデータベース30への登録処理を、承認者によるトランザクションへの署名が完了した場合に行う構成でもよい。この場合、トランザクションにはユーザAの署名を復号可能な公開鍵そのものが含まれるか、送信部115がトランザクションを送信する際に、データベース制御部116があわせて公開鍵を送信することが好ましい。
(8)処理フロー
図6を参照して、ノード10Aが鍵に対して操作を行う際の処理の流れを説明する。図6はノード10Aの処理フローの一例を示すフローチャートである。
まず、鍵取得部111は、操作対象となる鍵を取得する(S11)。鍵取得部111は、操作内容に応じて、鍵を生成したり、データベース30から検索することで、操作対象となる鍵を取得する。
次に、鍵検証部112が、取得された鍵が正常に機能するか否かの検証を行う(S12)。鍵が正常に機能しない場合(S13:NO)には、ノード10Aは処理を終了する。なお、このときノード10Aはアクセス管理システム1の管理者に通報を行う構成でもよい。
鍵が正常に機能した場合(S13:YES)、トランザクション生成部113がトランザクションを生成する。生成されたトランザクションに署名実行部114が署名を行う(S15)と、送信部115は、承認依頼先を設定して、トランザクションを送信する(S16)。一方、鍵が正常に機能した場合(S13:YES)、データベース制御部116は、検証された鍵をデータベース30に登録する(S17)。なお、S17の処理と、S14乃至S16の処理との前後関係は任意である。
なお、S17の処理がS16の処理に前に行われた場合には、データベース制御部116は、送信部115が送信したトランザクションが承認されなかった場合に、データベース30をロールバックし、鍵の登録を取り消すことができる。
<3−2.承認ノード(ノード10B、10C)>
次に、図7を用いて承認ノードであるノード10B、10Cの機能構成について説明する。図7は、本実施形態に係るノード10Bの機能ブロック図である。なお、ノード10Cの機能構成はノード10Bと同様であるため説明を割愛する。図7に示すように、ノード10Bは、記憶部131と、トランザクション取得部121と、トランザクション検証部122と、署名実行部123と、送信部124とを有している。記憶部131には、ユーザBの秘密鍵の他、上述した分散型台帳131が記録されている。ただし、すべての承認ノードが分散型台帳131を有している必要はなく、一部の承認ノードが有している構成でもよい。
(1)トランザクション取得部121
トランザクション取得部121は、ネットワークNに送信されたトランザクションを取得する。例えばトランザクション取得部121は、受信したトランザクションから、自ノード宛に署名依頼がされているトランザクションを抽出することが可能である。
(2)トランザクション検証部122
トランザクション検証部122は、取得したトランザクションの正当性の検証を行う。
例えば、トランザクション検証部122は、取得したトランザクションから署名を行う領域を除いたデータからハッシュ値を算出し、復号したダイジェストと突合することでユーザAの署名を検証する。これによって、操作者がユーザAであること、及びトランザクションが改ざんされていないことを検証することができる。
さらにトランザクション検証部122は、トランザクションに含まれるユーザAの署名の検証を行ってもよい。具体的には、トランザクション検証部122は、データベース30を参照し、取得したトランザクションのIDに対応するレコードを抽出する。次に抽出したレコードからユーザAの公開鍵を取得して、ユーザAの署名からダイジェストを復号する。なお、トランザクションに公開鍵そのものが含まれている場合や、トランザクションに公開鍵が添付されて送信されている場合等には、トランザクション検証部122は、必ずしもデータベース30から公開鍵を検索する必要はない。
なお、トランザクション検証部122は、鍵更新トランザクションの場合には、更新前後の秘密鍵によって行われたそれぞれの署名を検証する。ただし、鍵更新トランザクションにおいて更新される鍵がユーザAの署名用の鍵とは異なる鍵ペアや共通鍵の場合には、鍵更新トランザクションにはユーザAの既存の署名用の鍵による署名が含まれることになる。この場合には、トランザクション検証部122は、署名用の鍵によって生成されたユーザAの署名を検証する。また、鍵失効トランザクションであって、失効操作者がユーザAでない場合には、失効操作者の署名を検証する。
さらに、トランザクション検証部122は、上記の他、トランザクションに含まれるその他のデータが適切か否かを検証してもよい。例えば、鍵更新トランザクションや鍵失効トランザクションの場合、トランザクションに含まれる1つ前のトランザクションのハッシュ値が正しい値であるか否かを、1つ前のトランザクションのハッシュ値を算出して検証してもよい。また、例えば、トランザクションに含まれる鍵のデータが正しいか否かを、データベース30に登録されているデータと突合して検証してもよい。具体的には、トランザクションに公開鍵のハッシュ値が含まれる場合には、トランザクション検証部122は、署名を復号して得た公開鍵のハッシュ値と、データベース30に登録されている公開鍵からハッシュ値を算出し、突合することができる。
(3)署名実行部123
署名実行部123は、トランザクション検証部122が正当性を検証したトランザクションについて、ユーザBが承認依頼先として指定されているトランザクションである場合には、ユーザBの署名用の鍵を用いてトランザクションに署名を行う。他方、ユーザBが署名を求められていないトランザクションである場合には、処理を行わない。
(4)送信部124
送信部124は、署名実行部123が署名したトランザクションを送信する。このとき、送信部124は、ノード10AのユーザAから、署名を依頼した承認者のうち、未署名のユーザがいる場合には、当該未署名のユーザ宛にトランザクションを転送する構成でもよいし、未署名のユーザの有無にかかわらず、ユーザAにトランザクションを返送する構成でもよい。
さらに送信部124は、トランザクション取得部121が取得したトランザクションにおいて、未署名のユーザがいなかった場合には、ネットワークN全体にトランザクションを送信することで、ネットワークNに接続するノード10の分散型台帳131にトランザクションを登録することも可能である。
(5)処理フロー
図8を参照して、ノード10Bがトランザクションを承認する際の処理の流れを説明する。図8はノード10Bの処理フローの一例を示すフローチャートである。
まず、トランザクション取得部121は、ネットワークNからトランザクションを取得する(S21)。次に、トランザクション検証部122が、取得したトランザクションの検証を行う(S22)
検証の結果、トランザクションが否認されるべきと判断された場合(S23:NO)には、ノード10Bは処理を終了する。なお、このときノード10Bはアクセス管理システム1の管理者に通報を行う構成でもよい。
他方、検証の結果、トランザクションが承認されるべきと判断された場合(S23:YES)、であって、承認依頼先にノードBが指定されている場合(S24:YES)には、署名実行部123がユーザBの秘密鍵を用いて署名を行う(S25)。
最後に、送信部124が、トランザクションを送信する(S26)。このとき送信部124は、承認依頼先に設定されているユーザに、未承認のユーザがいる場合には、当該未承認のユーザ又はユーザAにトランザクションを送信する。他方、未承認のユーザがいない場合には、各ノード10にネットワークN全体に送信する。
<4.利用例>
図9を参照して、アクセス管理システム1において管理される鍵の利用方法の一例について説明する。図9は、当該鍵を使ったアクセス制御の仕組みを説明するための模式図である。図9の例では、ノード10Aがノード10Bの管理するデータ等にアクセスを行う際に、ノード10Aを利用するユーザAを、ノード10Bが認証(本人確認)する場合を示している。
まずノード10Bは、ランダムに生成したメッセージ(平文)をノード10Aに送信する。なお、メッセージは、一時的に生成した本人確認用の任意のデータを意味する。ノード10Aは、受信したメッセージ本文(平文)に対して、ハッシュ関数を使ってハッシュ値(メッセージダイジェスト)を求める(矢印(1))。次に、そのメッセージダイジェストを、記憶部130に記憶しているユーザAの秘密鍵で暗号化する(矢印(2))。ノード10Aは、メッセージに、署名に利用した秘密鍵に対応する公開鍵を識別する情報(例えば公開鍵のハッシュ値や識別子(ID)である。以下では、公開鍵を識別する情報を「公開鍵ID」ともいう。)を添付し(矢印(3))、ノード10Bに送信する(矢印(4))。なお、公開鍵IDの代わりに、当該の公開鍵を登録したトランザクションIDや公開鍵そのものあるいはトランザクションのデータそのものをメッセージに添付する方法も考えられる。
一方、メッセージを受信したノード10Bは、分散型台帳131を参照して、メッセージに添付された公開鍵IDに基づいて、当該公開鍵IDに対応する公開鍵への操作を承認したトランザクションを検索し、抽出する。さらにノード10Bは、抽出したトランザクションを検証する。ここでの検証処理は、上述したトランザクション検証部122の検証処理と同様である。
なお、このとき、ノード10Bは、抽出したトランザクションのあとに、メッセージに添付された公開鍵IDに対応する鍵をさらに更新又は失効させるトランザクションが、分散型台帳131に含まれるか否かを判定することが好ましい。具体的には、ノード10Bは、抽出したトランザクション(すなわちメッセージに添付された公開鍵IDに対応する鍵への操作を承認したトランザクション)のハッシュ値を含むトランザクションが分散型台帳131に登録されているか否かを判定する。抽出したトランザクションのハッシュ値を含むトランザクションが分散型台帳131に登録されている場合には、メッセージに添付された公開鍵IDに対応する公開鍵はすでに失効していることになる。この場合には、ノード10Bは、ユーザAの署名が不正なものであると判断し、ユーザAを認証しないことが好ましい。
なお、ノード10Bが、抽出したトランザクションのハッシュ値を含むトランザクションについて、さらにそのハッシュ値を含むトランザクションが分散型台帳131に存在するか否かを繰り返し検証することにより、ユーザAの最新の鍵の情報を確認することができる。
ノード10Bは、抽出したトランザクションにおける承認者を特定し、データベース30を参照して特定した承認者の公開鍵を取得する。取得した承認者の公開鍵を用いて、特定したトランザクションに含まれる承認者の署名を検証し、承認者の正当性を確認する(矢印(5))。つまり、この例では、ユーザAの公開鍵が承認されたトランザクションがデジタル証明書の代わりとしてユーザAの公開鍵の正当性(信頼性)を証明しているといえる。
なお、ノード10Bが、さらに、特定したトランザクションに含まれるユーザAの公開鍵のハッシュ値(公開鍵ID)と、データベース30から取得したユーザAの公開鍵にハッシュ関数を用いて求めたハッシュ値とを比較して、トランザクションIDが今回用いられている秘密鍵を承認するためのものであったかを確認する構成も可能である。
さらにノード10Bは、ユーザAの公開鍵を用いてユーザAの署名を復号する(矢印(6))とともに、メッセージ本文(平文)からノード10Aと同じハッシュ関数を使ってハッシュ値(メッセージダイジェスト)を求め(矢印(7))、両者を突合してチェックする(矢印(8))ことでユーザAを認証する。なお、トランザクションが公開鍵そのものを含む構成の場合には、ノード10Bは特定したトランザクションからユーザAの公開鍵を取得することが可能である。
このように、本実施形態に係るアクセス管理システム1によると、ユーザは使用する鍵が1以上のユーザから承認されたトランザクションによって、ユーザの鍵の正当性(信頼性)を証明することができる。すなわち、ユーザの鍵の信頼性をユーザ相互に担保することが可能となるため、仮に、あるユーザの信頼性が損なわれた場合でも承認者の信頼性に基づいてシステム全体の信頼性を継続することができる。さらに、鍵の失効についてもユーザ相互で承認することで、従来のCRL(Certificate Revocation List)による一元管理が不要になる。
<ハードウェア構成>
以下、図10を参照しながら、第1の実施形態及び第2の実施形態において上述してきたノード10、及びデータベース30をコンピュータ800により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
図10に示すように、コンピュータ800は、プロセッサ801、メモリ803、記憶装置805、入力I/F部807、データI/F部809、通信I/F部811、及び表示装置813を含む。
プロセッサ801は、メモリ803に記憶されているプログラムを実行することによりコンピュータ800における様々な処理を制御する。例えば、ノード10A、10Bの鍵取得部111や、鍵検証部112、データベース制御部116、トランザクション生成部114、署名実行部115、トランザクション取得部121、トランザクション検証部122、署名実行部123、送信部124、などは、メモリ803に一時記憶された上で、主にプロセッサ801上で動作するプログラムとして実現可能である。
メモリ803は、例えばRAM(Random Access Memory)等の記憶媒体である。メモリ803は、プロセッサ801によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
記憶装置805は、例えばハードディスクドライブ(HDD)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置805は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。この他、記憶装置805は、分散型台帳131を記憶することも可能である。このようなプログラムやデータは、必要に応じてメモリ803にロードされることにより、プロセッサ801から参照される。
入力I/F部807は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部807の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力I/F部807は、例えばUSB(Universal Serial Bus)等のインタフェースを介してコンピュータ800に接続されても良い。
データI/F部809は、コンピュータ800の外部からデータを入力するためのデバイスである。データI/F部809の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データI/F部809は、コンピュータ800の外部に設けられることも考えられる。その場合、データI/F部809は、例えばUSB等のインタフェースを介してコンピュータ800へと接続される。
通信I/F部811は、コンピュータ800の外部の装置と有線又は無線により、インターネットNを介したデータ通信を行うためのデバイスである。通信I/F部811は、コンピュータ800の外部に設けられることも考えられる。その場合、通信I/F部811は、例えばUSB等のインタフェースを介してコンピュータ800に接続される。
表示装置813は、各種情報を表示するためのデバイスである。表示装置813の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置813は、コンピュータ800の外部に設けられても良い。その場合、表示装置813は、例えばディスプレイケーブル等を介してコンピュータ800に接続される。
[その他の実施形態]
以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。また、各実施形態は例示であり、異なる実施形態で示した構成の部分的な置換または組み合わせが可能であることは言うまでもなく、これらも本発明の特徴を含む限り本発明の範囲に包含される。
例えば、既述の実施形態において、トランザクションに対してマイニングは行われない例を説明したが、これに限定されず、PoWの技術を用いてマイニングを行ったうえで、トランザクションを分散型台帳131に登録する構成でもよい。
また、既述の実施形態において、トランザクションにおいて操作が承認されるユーザAの鍵と、当該トランザクションに署名を生成するユーザAの鍵とは対となる構成について説明した。しかしこれに限定されず、トランザクションでは、ユーザAが署名を生成する鍵(例えば署名用の秘密鍵である。)とは異なる鍵ペアに対する操作が承認されてもよい。この場合、トランザクションには、当該トランザクションによって操作が承認される公開鍵とは異なる、既存の公開鍵と対になる秘密鍵による署名や、既存の公開鍵で暗号化された秘密鍵が含まれてもよい。トランザクション生成部113は、このようなトランザクションを生成するにあたり、操作対象となる公開鍵を識別する情報(ハッシュ値やID)や、操作対象となる公開鍵とは異なる既存の公開鍵で暗号化された秘密鍵を用いることができる。また、このとき署名実行部114は、トランザクションによって操作が承認される公開鍵とは異なる、既存の公開鍵と対になる秘密鍵によってトランザクションにユーザAの署名を生成する。さらに、この場合には、トランザクション検証部122は、トランザクション検証部122は、生成されたユーザAの署名を、署名を行った秘密鍵と対となるユーザAの既存の公開鍵を用いて検証する。
さらに、既述の実施形態では、アクセス管理システム1は、公開鍵暗号方式に基づく鍵ペアを管理する例について説明したが、これに限定されず、共通鍵暗号方式に基づく共通鍵を管理する構成でもよい。この場合、トランザクションには、共通鍵のハッシュ値、または既存の公開鍵で暗号化された共通鍵そのものや、ユーザAの署名用の鍵による署名が含まれる。なお、ここでいう署名用の鍵は、公開鍵暗号方式の秘密鍵だけでなく、メッセージ認証符号(MAC値)の生成・復号を行う認証用の共通鍵も含む。共通鍵の場合、署名はメッセージ認証符号(MAC値)を指す。トランザクション生成部113は、このようなトランザクションを生成するにあたり、操作対象となる共通鍵を識別する情報(ハッシュ値やID)を用いることができる。また、このとき署名実行部114は、トランザクションによって操作が承認される共通鍵、当該共通鍵とは異なる認証用の共通鍵、または既存の署名用の公開鍵と対になる秘密鍵によってトランザクションにユーザAの署名またはMAC値を生成する。さらに、この場合には、トランザクション検証部122は、トランザクション検証部122は、生成されたユーザAの署名を、今回操作対象となる共通鍵や、ユーザAの認証用の共通鍵、署名用の公開鍵を用いて検証する。
1 アクセス管理システム
10A、10B、10C ノード
30 データベース
111 鍵取得部
112 鍵検証部
113 トランザクション生成部
113 データベース制御部
114 署名実行部
115 送信部
116 データベース制御部
121 トランザクション取得部
122 トランザクション検証部
123 署名実行部
124 送信部
130 記憶部
131 分散型台帳

Claims (6)

  1. トランザクションが管理される分散型データベースにアクセス可能なコンピュータを、
    第1ユーザのアクセス権限を示すための第1鍵であって、前記分散型データベースにおいて前記第1ユーザに関連づけられていない第1鍵を取得する取得手段、
    前記第1鍵の検証を行う検証手段、
    前記第1鍵に関する情報を、前記分散型データベースにアクセス可能な1以上の第2ユーザのコンピュータと共有する共有手段、
    前記第1鍵の情報と、前記第1ユーザのデジタル署名とを含み、前記第1鍵の使用の承認を依頼する第1トランザクションを生成する生成手段、及び
    前記第1トランザクションが、前記1以上の第2ユーザにデジタル署名され、前記分散型データベースに登録されるために、前記第1トランザクションを前記1以上の第2ユーザのコンピュータに送信する送信手段、
    として機能させるプログラム。
  2. 前記取得手段は、さらに、
    前記第1鍵に代えて第1ユーザのアクセス権限を示す第2鍵であって、前記分散型データベースにおいて前記第1ユーザに関連付けられていない第2鍵を取得し、
    前記検証手段は、さらに、
    前記第2鍵の検証を行い、
    前記共有手段は、さらに、
    前記第2鍵に関する情報を、前記1以上の第2ユーザのコンピュータと共有し、
    前記生成手段は、さらに、
    前記第1鍵を用いて生成されたデジタル署名と、前記第2鍵を用いて生成されたデジタル署名と、前記第1トランザクションのハッシュ値とを含み、前記第2鍵の使用の承認を依頼する第2トランザクションを生成し、
    前記送信手段は、さらに、
    前記第2トランザクションが、前記1以上の第2ユーザにデジタル署名され、前記分散型データベースに登録されるために、前記第2トランザクションを前記1以上の第2ユーザのコンピュータに送信する送信手段、
    請求項1に記載のプログラム。
  3. 前記生成手段は、さらに、
    前記第1鍵が失効することを示す情報と、前記第1トランザクションのハッシュ値と、前記第1ユーザのデジタル署名とを含み、前記第1鍵の失効の承認を依頼する第3トランザクションを生成し、
    前記送信手段は、さらに、
    前記第3トランザクションが、前記1以上の第2ユーザにデジタル署名され、前記分散型データベースに登録されるために、前記第3トランザクションを前記1以上の第2ユーザのコンピュータに送信する
    請求項1または2に記載のプログラム。
  4. ユーザのアクセス権限を示す鍵への操作を承認するためのトランザクションが管理される分散型データベースと、
    前記分散型データベースにアクセス可能な第1ノード及び1以上の第2ノードと、
    を備え、
    前記第1ノードは、
    第1ユーザのアクセス権限を示すための第1鍵であって、前記分散型データベースにおいて前記第1ユーザに関連付けられていない第1鍵を取得する取得部と、
    前記第1鍵の検証を行う検証部と、
    前記第1鍵に関する情報を、前記第2ノードと共有する共有部と、
    前記第1鍵の情報と、前記第1ユーザのデジタル署名とを含み、前記第2ノードに前記第1鍵の使用の承認を依頼する第1トランザクションを生成する生成部と、
    前記第1トランザクションを、前記第2ノードに送信する送信部と、
    を有し、
    前記第2ノードは、
    共有された前記第1鍵に関する情報と前記第1ユーザのデジタル署名に基づいて、前記第1トランザクションの正当性を検証する検証部と、
    正当性が検証された前記第1トランザクションに対して、第2ユーザのデジタル署名を生成する署名部と、
    前記第1トランザクションを前記分散型データベースに送信する送信部と、
    を有する
    アクセス管理システム。
  5. メッセージ本体と、
    前記メッセージ本体から所定のハッシュ関数に基づいて算出したダイジェストを、第1暗号化鍵を用いて暗号化した第1デジタル署名と、
    前記第1暗号化鍵によって暗号化されたデータを復号する第1復号鍵を識別する第1情報を含む証明書データと、
    を含むメッセージのデータ構造であって、
    前記メッセージを受信したノードが、
    前記ノードがアクセス可能な分散型台帳において、前記証明書データに含まれる前記第1情報に基づいて前記第1復号鍵の使用が承認されたトランザクションを特定し、
    当該トランザクションにおいて前記第1復号鍵の使用を承認した、複数のユーザそれぞれの第2暗号化鍵による複数の第2デジタル署名を、前記複数のユーザそれぞれの第2暗号化鍵によって暗号化されたデータを復号する第2復号鍵によって検証し、
    前記第1復号鍵によって前記第1デジタル署名から前記ダイジェストを復号し、前記メッセージ本体から前記所定のハッシュ関数に基づいてダイジェストを算出し、復号した前記ダイジェストと突合して前記第1暗号化鍵の所有者を認証する処理に用いられる
    データ構造。
  6. 前記ノードは、さらに、
    前記分散型台帳において、特定した前記トランザクションのハッシュ値を含む他のトランザクションが登録されている場合には、前記第1暗号化鍵の所有者を認証しない、
    請求項5に記載のデータ構造。
JP2020501912A 2018-02-22 2018-02-22 アクセス管理システム、及びそのプログラム Active JP6976405B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/006358 WO2019163040A1 (ja) 2018-02-22 2018-02-22 アクセス管理システム、及びそのプログラム

Publications (2)

Publication Number Publication Date
JPWO2019163040A1 true JPWO2019163040A1 (ja) 2021-01-07
JP6976405B2 JP6976405B2 (ja) 2021-12-08

Family

ID=67687158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020501912A Active JP6976405B2 (ja) 2018-02-22 2018-02-22 アクセス管理システム、及びそのプログラム

Country Status (2)

Country Link
JP (1) JP6976405B2 (ja)
WO (1) WO2019163040A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852745B (zh) * 2019-10-12 2022-07-19 杭州云象网络技术有限公司 一种区块链分布式动态网络密钥自动更新方法
CN114024771B (zh) * 2021-12-27 2022-04-05 四川旷谷信息工程有限公司 一种用于城市轨道交通安防系统的跨级管控方法
WO2024085178A1 (ja) * 2022-10-19 2024-04-25 パナソニックIpマネジメント株式会社 情報処理方法、情報処理装置、および、情報処理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001520483A (ja) * 1997-10-14 2001-10-30 サーティコム コーポレーション 鍵認証方式
JP5858506B1 (ja) * 2015-04-09 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
WO2018016160A1 (ja) * 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及び記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001520483A (ja) * 1997-10-14 2001-10-30 サーティコム コーポレーション 鍵認証方式
JP5858506B1 (ja) * 2015-04-09 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
WO2018016160A1 (ja) * 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及び記憶媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佐古 和恵: "透明性と公平性を実現するブロックチェーン技術", 情報処理, vol. 第57巻 第9号, JPN6017020449, 15 August 2016 (2016-08-15), JP, pages 864 - 869, ISSN: 0004616441 *
東角 芳樹 ほか: "コンソーシアムチェーンにおける証明書管理に関する一考察", 2017年 暗号と情報セキュリティシンポジウム(SCIS2017)予稿集 [USB], vol. 1F2−3, JPN6018017174, 24 January 2017 (2017-01-24), JP, pages 1 - 4, ISSN: 0004564961 *

Also Published As

Publication number Publication date
WO2019163040A1 (ja) 2019-08-29
JP6976405B2 (ja) 2021-12-08

Similar Documents

Publication Publication Date Title
US11196573B2 (en) Secure de-centralized domain name system
CN109862041B (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
US20220207159A1 (en) Systems and methods for privacy management using a digital ledger
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
JP3761557B2 (ja) 暗号化通信のための鍵配付方法及びシステム
JP5576985B2 (ja) 署名に用いる暗号アルゴリズムの決定方法、検証サーバおよびプログラム
JP5749236B2 (ja) 鍵付け替え管理装置および鍵付け替え管理方法
JP6026385B2 (ja) 属性情報提供方法および属性情報提供システム
US11979392B2 (en) Systems and methods for managing device association
EP3662403B1 (en) Private data processing
JP6976405B2 (ja) アクセス管理システム、及びそのプログラム
US11218317B1 (en) Secure enclave implementation of proxied cryptographic keys
EP4096160A1 (en) Shared secret implementation of proxied cryptographic keys
JP2007201522A (ja) 暗号通信システム、鍵共有方法、鍵提供装置、および情報処理装置
JP5012574B2 (ja) 共通鍵自動共有システム及び共通鍵自動共有方法
JP6939313B2 (ja) 分散認証システム
JP4552785B2 (ja) 暗号化通信管理サーバ
JP4641148B2 (ja) 個人情報開示システム、個人情報開示方法および個人情報開示プログラム
AlQallaf Blockchain-based digital identity management scheme for field connected IoT devices
JP6524556B2 (ja) 認証鍵複製システム
JP4722682B2 (ja) 動的アクセス制御装置
KR100834576B1 (ko) P2p 네트워크에서 보안통신을 위한 키 관리 방법 및이를 위한 장치
KR102497440B1 (ko) Did 기반의 사용자 정보 관리 서비스 제공 방법 및 시스템
JP6364957B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP2020161945A (ja) 暗号システム、ユーザ端末、ストレージ装置、暗号方法、認証方法、暗号プログラム、及び認証プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211109

R150 Certificate of patent or registration of utility model

Ref document number: 6976405

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150