JP6894160B1 - スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法 - Google Patents

スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法 Download PDF

Info

Publication number
JP6894160B1
JP6894160B1 JP2021507881A JP2021507881A JP6894160B1 JP 6894160 B1 JP6894160 B1 JP 6894160B1 JP 2021507881 A JP2021507881 A JP 2021507881A JP 2021507881 A JP2021507881 A JP 2021507881A JP 6894160 B1 JP6894160 B1 JP 6894160B1
Authority
JP
Japan
Prior art keywords
information processing
usage right
user
user terminal
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021507881A
Other languages
English (en)
Other versions
JPWO2021117406A1 (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.)
A42 INC.
Original Assignee
A42 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 A42 INC. filed Critical A42 INC.
Application granted granted Critical
Publication of JP6894160B1 publication Critical patent/JP6894160B1/ja
Publication of JPWO2021117406A1 publication Critical patent/JPWO2021117406A1/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/3247Cryptographic 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 digital signatures
    • H04L9/3252Cryptographic 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 digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/31User 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/60Protecting data
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/126Applying verification of the received information the source of the received data
    • 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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key 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/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】認証サーバーを用いることなくセキュアに利用権を管理して正当なユーザーに対して適切に機器の利用を許可するための利用権情報処理装置を提供する。【解決手段】利用権情報処理装置は、スマートコントラクトを用いて、制御対象となる機器をユーザーが利用するための認証および認可に関する処理を行う。利用権情報処理装置は、ユーザーが使用するユーザー端末との間で共有され処理ごとに異なる値を有する認証用データを記憶し、ユーザー端末においてユーザーに対応する秘密鍵を用いて認証用データを署名することによって生成された署名データをユーザー端末から受信し、署名データおよび認証用データから楕円曲線デジタル署名アルゴリズムを用いて秘密鍵に対応する公開鍵を導出し、公開鍵または対応する識別情報を用いてスマートコントラクトにおいて公開鍵または識別情報に関連付けて予め記録されたユーザーの機器の利用権に関する情報を取得する。【選択図】図9

Description

本発明は、スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法に関する。より具体的には、本発明は、電子署名検証およびスマートコントラクトの状態に基づき、サービスおよび装置の利用権を管理することを可能とする技術に関する。
ブロックチェーンは、改竄が困難な方法でデータを記録する分散台帳技術である。
スマートコントラクトは、ブロックチェーンの応用例であり、分散台帳上に管理するデータおよび処理条件をプログラムにより定義可能にするシステムであって、分散台帳上に記録されたデータの取得、および、分散台帳に格納されたトランザクションの内容に応じて、所定のプログラムの実行および分散台帳上のデータ変更を行うことを特徴とする(非特許文献1参照)。
Ethereum Yellow Paper:a formal specification of Ethereum,a programmable blockchain<URL:https://ethereum.github.io/yellowpaper/paper.pdf>
ところで、近年では、情報通信技術の発展や環境保全意識の高まり等に伴い、カーシェアリングやシェアオフィス等のように、様々なモノが、特定のユーザーに所有されるのではなく、不特定多数のユーザーに共有されて利用されることが多くなっている。
このようなシェアリングを円滑に実行するためには、対象物の利用権、すなわち対象物を利用するための鍵をどのように管理し、どのように各ユーザーに受け渡すかが重要な課題となる。現在、利用権を受け渡す方法としては、物理的な鍵を用意して実際に各ユーザーに受け渡す方式と、WEBシステムを構築して電子的な鍵を各ユーザーに受け渡す方式がある。
しかしながら、物理的な鍵を使用する方式は、管理や受け渡しに要する手間、破損や紛失等のリスクといった観点から望ましくない。また、近年主流となっているWEBシステムを使用する方式は、認証サーバーをセキュアに構築し運用するためのコストや負荷が極めて高いという問題がある。
本発明は、上記事情に鑑みてなされたものであり、認証サーバーを用いることなくセキュアにユーザーの利用権を管理し、正当なユーザーに対して適切に機器の利用を許可(認可)できるようにするための利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法を提供することを目的とする。
上記目的は、下記の手段によって達成される。
利用権情報処理装置は、ブロックチェーン上に記録されるコードをコンピューターが実行することによって機能するスマートコントラクトを用いて、制御対象となる機器をユーザーが利用するための認証および認可に関する処理を行うために設けられ、記憶部、受信部、導出部、および取得部を有する。記憶部は、ユーザーが使用するユーザー端末との間で共有され、処理ごとに異なる値を有する認証用データを記憶する。受信部は、ユーザー端末においてユーザーに対応する秘密鍵を用いて、所定の署名アルゴリズムによって認証用データを署名することによって生成された署名データを、ユーザー端末から受信する。導出部は、受信部において受信された署名データおよび認証用データから、楕円曲線デジタル署名アルゴリズムを用いて秘密鍵に対応する公開鍵を導出する。取得部は、公開鍵または公開鍵に対応する識別情報を用いて、スマートコントラクトにおいて公開鍵または識別情報に関連付けて予め記録されたユーザーの機器の利用権に関する情報を取得する。
利用権情報処理システムは、上記の利用権情報処理装置と、ユーザーによって使用されるユーザー端末と、を有する。ユーザー端末は、ユーザーからの指示に基づいて、機器を利用するための要求を利用権情報処理装置に送信し、ユーザーに対応する秘密鍵を用いて、楕円曲線デジタル署名アルゴリズムによって利用権情報処理装置と共有される認証用データに署名して署名データを生成し、生成された署名データを利用権情報処理装置に送信する。
利用権情報処理方法は、ブロックチェーン上に記録されるコードをコンピューターが実行することによって機能するスマートコントラクトを用いて、制御対象となる機器をユーザーが利用するための認証および認可に関する処理を行うように構成され、ユーザーが使用するユーザー端末との間で共有され、処理ごとに異なる値を有する認証用データを記憶するステップ(a)と、ユーザー端末においてユーザーに対応する秘密鍵を用いて所定の署名アルゴリズムによって認証用データを署名することによって生成された署名データを、ユーザー端末から受信するステップ(b)と、ステップ(b)において受信された署名データおよび認証用データから、楕円曲線デジタル署名アルゴリズムを用いて秘密鍵に対応する公開鍵を導出するステップ(c)と、公開鍵または公開鍵に対応する識別情報を用いて、スマートコントラクトにおいて公開鍵または識別情報に関連付けて予め記録されたユーザーの機器の利用権に関する情報を取得するステップ(d)と、を有する。
本発明の利用権情報処理装置によれば、ユーザー端末から受信した署名データと、ユーザー端末に送信した認証用データから、秘密鍵に対応する公開鍵を導出する。そして、利用権情報処理装置は、公開鍵または公開鍵に対応する識別情報を用いて、スマートコントラクトにおいて公開鍵または識別情報に関連付けて予め記録されたユーザーの機器の利用権に関する情報を取得する。これにより、構築および運用に莫大なコストと負荷のかかる認証サーバーを用いることなく、データ改竄耐性の高いブロックチェーン上のデータによってセキュアに利用権を管理することができ、正当なユーザーに対して適切に機器の利用を許可することができる。
本発明の一実施形態に係る利用権情報処理装置が適用される利用権情報処理システムの概略構成を示す図である。 ユーザー端末の概略構成を示すブロック図である。 情報処理装置の概略構成を示すブロック図である。 制御対象機器の概略構成を示すブロック図である。 ピア・ツー・ピアネットワークに接続するノードとなるサーバーの概略構成を示すブロック図である。 情報処理装置のCPUの機能構成を示すブロック図である。 利用権情報処理システムにおいて実行される利用権登録(購入)処理の手順を示すシーケンスチャートである。 ブロックチェーン上に記録されるアドレスごとの利用権情報の一例を示す図である。 利用権情報処理システムにおいて実行される認証および認可処理の手順の一例を示すシーケンスチャートである。 利用権情報処理システムにおいて実行される認証および認可処理の手順の他の例を示すシーケンスチャートである。
以下、添付した図面を参照して、本発明の実施形態を説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<利用権情報処理システムの構成>
図1は、本発明の一実施形態に係る利用権情報処理装置が適用される利用権情報処理システムの概略構成を示す図である。
図1に示すように、利用権情報処理システムは、ユーザー端末100、利用権情報処理装置として機能する情報処理装置200、制御対象機器300、およびピア・ツー・ピアネットワークに接続するノードとなるサーバー400を有する。利用権情報処理システムは、認証サーバーを用いることなくセキュアに制御対象機器300の利用権を管理して正当なユーザーに対して適切に制御対象機器300の利用を許可するためのシステムである。ユーザー端末100は、インターネット等のネットワークや各種無線通信等を介して情報処理装置200、制御対象機器300、サーバー400等と相互に通信可能に接続されている。情報処理装置200は、インターネット等のネットワークや各種無線通信等を介してユーザー端末100、制御対象機器300、サーバー400等と相互に通信可能に接続されている。制御対象機器300は、各種無線通信等を介してユーザー端末100、情報処理装置200と相互に通信可能に接続されている。サーバー400は、インターネット等のネットワークや各種無線通信等を介してユーザー端末100、情報処理装置200と相互に通信可能に接続されている。また、サーバー400は、ピア・ツー・ピアネットワークを介して他のサーバー400a、400b等と相互に通信可能に接続されている。なお、各構成間の接続は、上記の例に限定されず、各構成同士が任意の方法によって接続されてもよい。
以下、各構成について詳細に説明する。
<ユーザー端末100>
ユーザー端末100は、ユーザーが使用するスマートフォン等のモバイル端末やノートPC、デスクトップPCなどの情報端末である。
図2は、ユーザー端末の概略構成を示すブロック図である。
図2に示すように、ユーザー端末100は、CPU(Central Processing Unit)110、ROM(Read Only Memory)120、RAM(Random Access Memory)130、ストレージ140、通信インターフェース150および操作表示部160を有する。各構成は、バス170を介して相互に通信可能に接続されている。
CPU110は、ROM120やストレージ140に記録されているプログラムにしたがって、上記各構成の制御や各種の演算処理を行う。
ROM120は、各種プログラムや各種データを格納する。
RAM130は、作業領域として一時的にプログラムやデータを記憶する。
ストレージ140は、オペレーティングシステムを含む各種プログラムや、各種データを格納する。たとえば、ストレージ140には、ネットワークを介して情報処理装置200等の他の装置との間で各種情報を送受信したり、他の装置から提供される各種情報を表示したりするためのアプリケーションがインストールされている。
通信インターフェース150は、情報処理装置200等の外部機器と通信するためのインターフェースである。通信インターフェース150としては、たとえば、携帯電話通信用の3G、4G等の規格や、Wi−Fi(登録商標)等の規格が用いられる。通信インターフェース150として、Bluetooth(登録商標)等の近距離無線通信のための規格が用いられ、近接する近距離無線通信装置との通信が行われてもよい。
操作表示部160は、たとえば、タッチパネル式のディスプレイであり、各種情報を表示すると共に、ユーザーからの各種入力を受け付ける。
<情報処理装置200>
情報処理装置200は、たとえばサーバー等のコンピューターであり、本実施形態では利用権情報処理装置として機能する。
図3は、情報処理装置の概略構成を示すブロック図である。
図3に示すように、情報処理装置200は、CPU210、ROM220、RAM230、ストレージ240、通信インターフェース250および操作表示部260を有する。各構成は、バス270を介して相互に通信可能に接続されている。なお、CPU210、ROM220、RAM230、ストレージ240、通信インターフェース250および操作表示部260は、ユーザー端末100の対応する各構成と同様の機能を有するため、重複する説明は省略する。
ストレージ240には、各種処理を行うためのプログラムやデータがインストールされている。また、ストレージ240には、ユーザー端末100、制御対象機器300、サーバー400と通信を行うための各種識別情報等が記憶される。また、ストレージ240には、認証用データを生成するためのプログラムや、署名データを検証するためのプログラム、アクセストークンを生成するためのプログラムなどが記憶される。
CPU210は、本実施形態では、受信部、導出部、取得部、認証用データ生成部、判断部、トークン生成部、および正当性確認部として機能する。CPU210によって実現される各機能について、詳細は後述する。また、ストレージ240は、本実施形態では、記憶部として機能する。
<制御対象機器300>
制御対象機器300は、ユーザーが利用権を得て制御する対象となる機器であり、たとえば、カーシェアリングにおける車両の電子制御可能な鍵や、シェアオフィスサービスにおける建物の電子制御可能な鍵等である。制御対象機器300は、上記のような鍵に限定されず、ユーザーによって利用される電子制御可能な機器であればいかなる機器であってもよい。
図4は、制御対象機器の概略構成を示すブロック図である。
図4に示すように、制御対象機器300は、CPU310、ROM320、RAM330、ストレージ340、通信インターフェース350および操作表示部360を有する。各構成は、バス370を介して相互に通信可能に接続されている。なお、CPU310、ROM320、RAM330、ストレージ340、通信インターフェース350および操作表示部360は、ユーザー端末100の対応する各構成と同様の機能を有するため、重複する説明は省略する。
ストレージ340には、制御指示を実行して制御対象機器300を動作させるための各種プログラムやデータが記憶される。
<サーバー400>
サーバー400は、ピア・ツー・ピアネットワークに接続するノードであり、当該ピア・ツー・ピアネットワークを介して他のノードであるサーバー400a、400b等と相互に通信する。サーバー400等の各ノードは、共通のブロックチェーンを記憶し、ブロックチェーン上に記録されるコードを実行することによってスマートコントラクトを実行する。サーバー400は、ブロックチェーンにおける全ての情報を保有するフルノードであってもよく、各データを証明するためのハッシュ値等の情報を保有するライトノードであってもよい。
図5は、サーバーの概略構成を示すブロック図である。
図5に示すように、サーバー400は、CPU410、ROM420、RAM430、ストレージ440、通信インターフェース450、および操作表示460部を有する。各構成は、バス470を介して相互に通信可能に接続されている。なお、CPU410、ROM420、RAM430、通信インターフェース450および操作表示部460は、ユーザー端末100の対応する各構成と同様の機能を有するため、重複する説明は省略する。
ストレージ440には、スマートコントラクトを実行するためのコードや設定値等が記録されたブロックチェーン500が記憶されている。ブロックチェーン500については、スマートコントラクトを実行可能なEthereum等の公知のブロックチェーンのプラットフォームによって構成されうるため、詳細な説明は割愛する。また、秘密鍵、公開鍵を用いた電子署名の方式についても、公知の技術であるため、詳細な説明は割愛する。
たとえば、スマートコントラクトを実現するためのブロックチェーンのプラットフォームとしてEthereumが用いられる場合、ユーザーは自身のEthereumアカウントを有し、当該アカウントには、ユーザーの秘密鍵、ユーザーの公開鍵、およびユーザーのアドレスが対応付けられる。ユーザーの秘密鍵と公開鍵とは、ブロックチェーンプラットが採用する電子署名アルゴリズムにおいて使用される暗号化方式において対応付けられて定義される。ユーザーのアドレスは、ユーザーを特定するための情報であり、たとえばユーザーの公開鍵から一意に導出可能な情報が用いられる。スマートコントラクトを実現するためのブロックチェーンのプラットフォームはEthereumに限定されず、EOS、NEO、Zilliqa、あるいは独自に構築されたプラットフォーム等の各種プラットフォームが用いられる。
<情報処理装置200の機能>
図6は、情報処理装置のCPUの機能構成を示すブロック図である。
図6に示すように、情報処理装置200は、CPU210がストレージ240に記憶されたプログラムを読み込んで処理を実行することによって、受信部211、導出部212、取得部213、認証用データ生成部214、判断部215、トークン生成部216、正当性確認部217として機能する。
受信部211は、ユーザー端末100においてユーザーに対応する秘密鍵を用いて、所定の署名アルゴリズムによって認証用データを署名することによって生成された署名データを、ユーザー端末100から受信する。受信部211は、ユーザー端末100から制御対象機器300に対する制御指示をさらに受信してもよい。
導出部212は、受信部211において受信された署名データおよび認証用データから、所定の署名アルゴリズムを用いて秘密鍵に対応する公開鍵を導出する。
取得部213は、導出部212によって導出された公開鍵または当該公開鍵に対応する識別情報を用いて、スマートコントラクトにおいて公開鍵または識別情報に関連付けて予め記録されたユーザーの制御対象機器300の利用権に関する情報を取得する。
認証用データ生成部214は、ユーザーが使用するユーザー端末100からの要求に基づいて認証用データを生成し、生成された認証用データをユーザー端末100に送信することによって、認証用データを情報処理装置200とユーザー端末100との間で共有させる。
判断部215は、取得部213によって取得された利用権に関する情報に基づいて、ユーザーによる制御対象機器300の利用可否を判断する。
トークン生成部216は、取得部213によって取得された利用権に関する情報に基づいてユーザーによる制御対象機器300の利用が可能と判断された場合に、アクセストークンを生成してユーザー端末100に送信する。
正当性確認部217は、ユーザー端末100から制御指示と共にアクセストークンを受け付けた制御対象機器300から、アクセストークンを受信し、制御対象機器300から受信したアクセストークンとトークン生成部216によって生成されたアクセストークンとが同一であるか否かを判断し、同一である場合にアクセストークンが正当である旨を示す情報を制御対象機器300に送信する。
<利用権情報処理システムにおける処理の概要>
以下、利用権情報処理システムにおいて実行される処理の例について説明する。
まず、利用権を登録(購入)する処理について説明する。
図7は、利用権情報処理システムにおいて実行される利用権登録(購入)処理の手順を示すシーケンスチャートである。図8は、ブロックチェーン上に記録されるアドレスごとの利用権情報の一例を示す図である。図7のシーケンスチャートに示される各装置の処理は、各装置のストレージにプログラムとして記憶されており、各装置のCPUが各部を制御することにより実行される。
図7に示すように、ユーザー端末100は、制御対象機器300を利用するための指示をユーザーから受け付け、制御対象機器300の利用権を購入するためのスマートコントラクトを含むトランザクションデータ(TXデータ)を生成する(ステップS101)。たとえば、所定の宛先アドレスに所定の数量の暗号通貨を送信することによって、所定の時間分の利用権を購入できるサービスを提供する事業者を介して制御対象機器300を利用する場合、TXデータには、ユーザーのアドレス、宛先アドレス(スマートコントラクトのアドレス)、暗号通貨の数量、利用権の購入意思を示す情報、利用開始時間を示す情報等が含まれる。たとえば、利用権の購入意思を示す情報として、スマートコントラクトにおいて定義された購入を示すメソッド(関数)が用いられ、当該メソッドの引数として、ユーザーのアドレスや利用開始時間を示す情報が設定されてもよい。
続いて、ユーザー端末100は、生成したTXデータについて、ストレージ140に予め記憶されたユーザーの秘密鍵を用いて電子署名を生成する(ステップS102)。
続いて、ユーザー端末100は、生成した電子署名と共にTXデータをサーバー400に送信する(ステップS103)。
サーバー400は、受信したTXデータをピア・ツー・ピアネットワークに対してブロードキャストする(ステップS104)。ピア・ツー・ピアネットワークに接続されたサーバー等のノードによってブロックチェーン500のマイニングが実行されてブロックが生成されると、TXデータに含まれるスマートコントラクトが実行される(ステップS105)。
これにより、ブロックチェーン500上に、図8に示すようなユーザーのアドレスごとの利用権情報が記録される。図8の例では、ユーザーのアドレスと、当該ユーザーの利用開始時間と、利用終了時間とが関連付けられて記録されている。この場合、ユーザーのアドレスと現在時刻がわかれば、その時点で当該ユーザーに利用権があるか否かが容易に判断できる。ブロックチェーン500上に記録される利用権情報の形態は、図8の例に限定されず、任意の形態によって実装されうる。たとえば、利用権情報として、利用可否等のステータスを示す情報が関連付けられて記録されてもよい。また、利用権情報として、たとえば、利用可能時間数に関する情報や利用回数に関する情報、利用可能な曜日や時間帯、利用可能な位置、領域、範囲、利用可能な制御対象機器300の種類、それらの組み合わせ等の任意の利用条件に関する情報が記録されうる。また、利用権情報として、利用可能な条件のみならず、利用不能な条件(除外条件)に関する情報が記録されてもよい。すなわち、利用権情報としては、利用権を定義するための様々な条件を表現するための情報が適宜設定されうる。
サーバー400は、TXデータに基づいてスマートコントラクトが実行された結果をユーザー端末100に通知し(ステップS106)、ユーザー端末100は、通知された結果を操作表示部160に表示する(ステップS107)。
なお、上記の例では、ユーザー端末100においてTXデータを生成してサーバー400に送信するものとして説明したが、これらの処理は、いわゆる交換所と称される代行業者が運営するサーバー等によって実行されてもよい。
次に、ユーザーを認証して利用権を確認し、ユーザーによる利用を認可する処理について説明する。
図9は、利用権情報処理システムにおいて実行される認証および認可処理の手順を示すシーケンスチャートである。図9のシーケンスチャートに示される各装置の処理は、各装置のストレージにプログラムとして記憶されており、各装置のCPUが各部を制御することにより実行される。
図9に示すように、ユーザー端末100は、ユーザーからの指示等に基づいて、制御対象機器300の制御に関する機器制御要求を生成し(ステップS201)、情報処理装置200に送信する(ステップS202)。
情報処理装置200は、ユーザー端末100から機器制御要求を受信すると、認証用データを生成し(ステップS203)、ユーザー端末100に送信する(ステップS204)。認証用データは、ユーザー端末100およびユーザーの正当性を確認するための情報であり、ユーザー端末100と情報処理装置200との間で共有され、毎回の処理ごとに異なる値を有する情報である。本実施形態では、認証用データは、情報処理装置200によって、毎回異なる値を有するようにランダムに生成される。情報処理装置200は、ユーザー端末100に送信した認証用データを当該ユーザー端末100に関する情報と関連付けてストレージ240に記憶する。
ユーザー端末100は、情報処理装置200から受信した認証用データについて、ユーザーに対応する秘密鍵を用いて、所定の署名アルゴリズムによって電子署名を行って署名データを生成し(ステップS205)、情報処理装置200に送信する(ステップS206)。本実施形態において、所定の署名アルゴリズムとしては、認証用データと、認証用データを秘密鍵によって署名した署名データとから、当該秘密鍵に対応する公開鍵を導出可能である楕円曲線デジタル署名アルゴリズムが用いられる。
情報処理装置200は、ユーザー端末100から受信した署名データを上記の署名アルゴリズムによって検証し(ステップS207)、署名データを署名したユーザーの秘密鍵に対応する公開鍵を導出する(ステップS208)。具体的には、情報処理装置200は、ユーザー端末100から受信した署名データと、ストレージ240に記憶されている当該ユーザー端末100に送信した認証用データとを用いて、楕円曲線デジタル署名アルゴリズムによる署名データの検証を行うことによってユーザーの公開鍵を導出する。
情報処理装置200は、導出した公開鍵からユーザーの識別情報であるアドレスを導出する(ステップS209)。なお、アドレスとして公開鍵の値がそのまま使用されている場合は、ステップS209の処理は省略されてもよい。
情報処理装置200は、導出したユーザーのアドレスをサーバー400に送信して、ユーザーの制御対象機器300に関する利用権に関する情報を要求する(ステップS210)。
サーバー400は、受信したユーザーのアドレスを用いて、ブロックチェーン上のスマートコントラクトにおいてユーザーのアドレスに関連付けられて予め記録されているユーザーの制御対象機器300に関する利用権に関する情報を確認する(ステップS211)。
サーバー400は、ステップS211の処理において確認した利用権に関する情報を情報処理装置200に送信する(ステップS212)。
情報処理装置200は、サーバー400から送信された利用権に関する情報の内容を確認し、ユーザーが制御対象機器300の利用権を保有している状態であれば、ユーザーによる制御対象機器300の制御を許可してアクセストークンを生成し(ステップS213)、ユーザー端末100に送信する(ステップS214)。アクセストークンは、処理ごとにユニークに生成される情報であり、たとえば16バイト、または32バイト等の十分な大きさまたは長さを有するランダムな値である。アクセストークンは、ユーザーが制御対象機器300を制御する際に認証コードとして使用される。アクセストークンには、当該アクセストークンの利用期限に関する情報が含まれる。情報処理装置200は、ユーザー端末100に送信したアクセストークンを、当該ユーザー端末100または当該ユーザー端末100を使用するユーザーに関する情報等と関連付けてストレージ240に記憶する。なお、ユーザーが制御対象機器300の利用権を保有していない状態であれば、情報処理装置200は、ユーザーによる制御対象機器300の制御を許可せずに、その旨をユーザー端末100に通知する。
ユーザー端末100は、制御対象機器300を制御するための制御指示に情報処理装置200から送信されたアクセストークンを付加し(ステップS215)、制御対象機器300に送信する(ステップS216)。
制御対象機器300は、ユーザー端末100から送信された制御指示およびアクセストークンを取得し(ステップS217)、当該ユーザー端末100またはユーザーに関する情報と共にアクセストークンを情報処理装置200に送信する(ステップS218)。
情報処理装置200は、制御対象機器300から送信されたアクセストークンの正当性を確認する(ステップS219)。具体的には、情報処理装置200は、制御対象機器300から送信された当該ユーザー端末100またはユーザーに関する情報を用いてストレージ240を検索し、当該ユーザー端末100またはユーザーに関する情報に関連付けて記憶されているアクセストークンを抽出する。そして、情報処理装置200は、ストレージ240から抽出されたアクセストークンと、制御対象機器300から送信されたアクセストークンと比較し、両者が同一である場合にアクセストークンが正当であると判断する。この場合、情報処理装置200は、アクセストークンが正当である旨を示す情報(正当性情報)を制御対象機器300に送信する(ステップS220)。一方、両者が同一でない場合、アクセストークンは正当でないと判断される。また、アクセストークンに含まれる利用期限が徒過している場合も、アクセストークンは正当でないと判断される。アクセストークンが正当でないと判断されると、情報処理装置200は、制御対象機器300にその旨を通知し、制御対象機器300は、ユーザー端末100にその旨を通知する。
制御対象機器300は、情報処理装置200から送信された正当性情報を確認して、ユーザー端末100から受信している制御指示を実行する(ステップS221)。
なお、本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
たとえば、上記の実施形態においては、図9のステップS216の処理において、ユーザー端末100が制御対象機器300に制御指示を送信する例について説明したが、これに限定されない。たとえば、ユーザー端末100は、情報処理装置200に制御指示を送信し、情報処理装置200が制御対象機器300に制御指示を送信してもよい。この場合、情報処理装置200のCPU210は、機器制御部として機能する。以下、この例について、具体的に説明する。
図10は、利用権情報処理システムにおいて実行される認証および認可処理の手順の他の例を示すシーケンスチャートである。図10のステップS201〜S212の処理は、図9と同様であるため説明を省略する。
図10に示すように、情報処理装置200は、サーバー400から送信された利用権に関する情報の内容を確認し、ユーザーが制御対象機器300の利用権を保有している状態であれば、ユーザーによる制御対象機器300の制御を許可して(ステップS313)、ユーザー端末100にその旨を通知する(ステップS314)。
ユーザー端末100は、制御対象機器300を制御するための制御指示を生成し(ステップS315)、情報処理装置200に送信する(ステップS316)。
情報処理装置200は、ユーザー端末100から送信された制御指示を確認し(ステップS317)、制御対象機器300に送信する(ステップS318)。
制御対象機器300は、情報処理装置200から送信された制御指示を確認して実行する(ステップS319)。
なお、上記では、ステップ315の処理において制御指示が新たに生成されるものとして説明したが、制御指示は、ステップS201の処理において生成される機器制御要求に含まれていてもよい。この場合、情報処理装置200は、ステップS313の処理において機器制御を許可すると、既に受信している機器制御要求に含まれる制御指示を制御対象機器300に送信することができる。これにより、ステップS314〜S317の処理は省略されうる。
また、上記の実施形態においては、ユーザー端末100は、ランダムな値である認証用データのみをユーザーの秘密鍵で署名する例について説明したが、これに限定されない。ユーザー端末100は、認証用データに制御指示等の任意の情報を付加してユーザーの秘密鍵で署名することができる。この場合でも、情報処理装置200は、認証用データおよび付加された任意の情報と、署名された署名データから、ユーザーの公開鍵を導出してアドレスを導出することができる。
さらに、上記の実施形態においては、認証用データは、情報処理装置200によって、毎回異なる値を有するようにランダムに生成されるものとして説明したが、これに限定されない。認証用データは、ユーザー端末100と情報処理装置200との間で共有され、毎回の処理ごとに異なる値を有する情報であればよい。したがって、ユーザー端末100と情報処理装置200との間で、AES方式等の暗号化を行う場合、AESの暗号化処理において、ユーザー端末100と情報処理装置200との間で共有されるランダムな値(イニシャライゼーションベクター)が用いられるため、これを認証用データの代わりに用いることができる。たとえば、ユーザー端末100は、制御指示をAES方式で暗号化した情報を認証用データとして生成し、これをユーザーの秘密鍵で署名して署名データを情報処理装置200に送信する。この場合、情報処理装置200は、制御指示をAES方式で暗号化した情報と署名データからユーザーの公開鍵を導出できる。
また、利用権情報処理システムが有するユーザー端末100、情報処理装置200、制御対象機器300、サーバー400の各構成は、それぞれ上記の構成要素以外の構成要素を含んでいてもよく、あるいは、上記の構成要素のうちの一部が含まれていなくてもよい。
また、ユーザー端末100、情報処理装置200、制御対象機器300、サーバー400は、それぞれ複数の装置によって構成されてもよく、あるいは単一の装置によって構成されてもよい。また、各構成が有する機能は、他の構成によって実現されてもよい。たとえば、情報処理装置200とサーバー400とが1つの装置によって実現されてもよい。また、情報処理装置200が制御対象機器300に組み込まれ、情報処理装置200によって実行されるものとして説明した各処理が、制御対象機器300によって実行されてもよい。また、情報処理装置200が有する機能が、ユーザー端末100のアプリケーションとして実装され、ユーザー端末100によって実行されてもよい。
また、上述した実施形態に係る利用権情報処理システムにおける処理は、上記のフローチャートまたはシーケンスチャートのステップ以外のステップを含んでもよく、あるいは、上述したステップのうちの一部を含まなくてもよい。また、ステップの順序は、上述した実施形態に限定されない。さらに、各ステップは、他のステップと組み合わされて一つのステップとして実行されてもよく、他のステップに含まれて実行されてもよく、複数のステップに分割されて実行されてもよい。また、一部のステップが省略されてもよく、他のステップが追加されてもよい。
以上のように、本実施形態の情報処理装置200によれば、ユーザー端末100から受信した署名データと、ユーザー端末100に送信した認証用データから、秘密鍵に対応する公開鍵を導出する。そして、情報処理装置200は、公開鍵または公開鍵に対応する識別情報を用いて、スマートコントラクトにおいて公開鍵または識別情報に関連付けて予め記録されたユーザーの制御対象機器300の利用権に関する情報を取得する。これにより、構築および運用に莫大なコストと負荷のかかる認証サーバーを用いることなく、データ改竄耐性の高いブロックチェーン上のデータによってセキュアにユーザーの利用権を管理することができ、正当なユーザーに対して適切に制御対象機器300の利用を許可(認可)することができる。
また、情報処理装置200は、ユーザー端末100からの要求に基づいて認証用データを生成し、生成された認証用データをユーザー端末100に送信することによって認証用データをユーザー端末100との間で共有させる。これにより、ユーザー端末100から要求がある毎に異なる認証用データが生成されて電子署名に利用されるため、不正なユーザー端末100による署名データの不正利用等を抑止して、よりセキュアに利用権を管理することができる。
また、情報処理装置200は、取得された利用権に関する情報に基づいて、ユーザーによる制御対象機器300の利用可否を判断する。これにより、迅速かつ確実に、正当なユーザーに対して制御対象機器300の利用を許可することができる。
また、所定の署名アルゴリズムとして、署名データおよび認証用データから公開鍵を導出可能である楕円曲線デジタル署名アルゴリズムが用いられる。これにより、情報処理装置200は、秘密鍵によって署名された結果である署名データおよび署名される対象のデータである認証用データから、公開鍵を導出することができる。その結果、ユーザー端末100と情報処理装置200との間で、署名検証のための公開鍵を事前に共有する必要性をなくすことができる。公開鍵を事前に共有するためには、受け取った公開鍵が正当なものであるか否かをチェックした上で保存という処理が発生してしまう。本実施形態によれば、署名データおよび認証用データから公開鍵を導出することができるため、公開鍵を事前に共有したり、公開鍵の正当性をチェックしたりする必要がなく、効率的にシステムを構築・運用することができる。
また、識別情報は、公開鍵から一意に導出可能なアドレス情報である。したがって、ユーザーを識別するための情報を別途用意して管理する必要がなく、より効率的にシステムを構築・運用することができる。
また、スマートコントラクトにおいて、公開鍵または識別情報に関連付けて、機器の利用権に関する情報として、利用可能時間に関する情報が記録される。これにより、利用可能時間を指定してユーザーに利用権を付与するサービスを提供することができ、サービス提供事業者およびユーザーの利便性を高めることができる。
また、スマートコントラクトにおいて、公開鍵または識別情報に関連付けて、機器の利用権に関する情報として、利用可能回数に関する情報が記録される。これにより、利用可能回数を指定してユーザーに利用権を付与するサービスを提供することができ、サービス提供事業者およびユーザーの利便性を高めることができる。
また、情報処理装置200は、取得した利用権に関する情報に基づいてユーザーによる制御対象機器300の利用が可能と判断された場合に、アクセストークンを生成してユーザー端末100に送信する。そして、ユーザー端末100から制御指示と共にアクセストークンを受け付けた制御対象機器300から、アクセストークンを受信し、制御対象機器300から受信したアクセストークンと、生成したアクセストークンとが同一であるか否かを判断し、同一である場合にアクセストークンが正当である旨を示す情報を制御対象機器300に送信する。これにより、ユーザーの利用権を確認した情報処理装置200が、制御対象機器300を直接制御せず、他の装置が制御対象機器300を制御する場合でも、確実に正当なユーザーによる制御対象機器300の利用を実現することができる。
また、アクセストークンは、処理ごとにユニークに生成されるデータであり、利用期限に関する情報を含む。これにより、ユーザーの利用権を確認した情報処理装置200が、制御対象機器300を直接制御せず、他の装置が制御対象機器300を制御する場合でも、より確実に正当なユーザーによる制御対象機器300の利用を実現することができる。
また、情報処理装置200は、ユーザー端末100から制御対象機器300に対する制御指示をさらに受信し、取得した利用権に関する情報に基づいてユーザーによる制御対象機器300の利用が可能と判断された場合に、制御対象機器300に対して制御指示を送信してもよい。これにより、ユーザーの利用権を確認した情報処理装置200が、制御対象機器300を直接制御できるため、迅速、確実かつ効率的に正当なユーザーによる制御対象機器300の利用を実現することができる。
上述した実施形態に係る利用権情報処理システムにおける各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、たとえば、フレキシブルディスクおよびCD−ROM等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、利用権情報処理システムの一機能としてその装置のソフトウエアに組み込まれてもよい。
本出願は、2019年12月13日に出願された日本特許出願(特願2019−225375号)に基づいており、その開示内容は、参照され、全体として組み入れられている。
100 ユーザー端末、
200 情報処理装置、
300 制御対象機器、
400 サーバー、
500 ブロックチェーン、
110、210、310、410 CPU、
120、220、320、420 ROM、
130、230、330、430 RAM、
140、240、340、440 ストレージ、
150、250、350、450 通信インターフェース、
160、260、360、460 操作表示部。

Claims (13)

  1. ブロックチェーン上に記録されるコードをコンピューターが実行することによって機能するスマートコントラクトを用いて、制御対象となる機器をユーザーが利用するための認証および認可に関する処理を行うための利用権情報処理装置であって、
    前記ユーザーが使用するユーザー端末との間で共有され、前記処理ごとに異なる値を有する認証用データを記憶する記憶部と、
    前記ユーザー端末において前記ユーザーに対応する秘密鍵を用いて、所定の署名アルゴリズムによって前記認証用データを署名することによって生成された署名データを、前記ユーザー端末から受信する受信部と、
    前記受信部において受信された前記署名データおよび前記認証用データから、前記所定の署名アルゴリズムを用いて前記秘密鍵に対応する公開鍵を導出する導出部と、
    前記公開鍵または前記公開鍵に対応する識別情報を用いて、前記スマートコントラクトにおいて前記公開鍵または前記識別情報に関連付けて予め記録された前記ユーザーの前記機器の利用権に関する情報を取得する取得部と、
    を有し、
    前記取得部によって取得された前記利用権に関する情報に基づいて前記ユーザーによる前記機器の利用が可能と判断された場合に、アクセストークンを生成して前記ユーザー端末に送信するトークン生成部と、
    前記ユーザー端末から制御指示と共にアクセストークンを受け付けた前記機器から、アクセストークンを受信し、前記機器から受信したアクセストークンと前記トークン生成部によって生成されたアクセストークンとが同一であるか否かを判断し、同一である場合に前記アクセストークンが正当である旨を示す情報を前記機器に送信する正当性確認部をさらに有する利用権情報処理装置。
  2. ブロックチェーン上に記録されるコードをコンピューターが実行することによって機能するスマートコントラクトを用いて、制御対象となる機器をユーザーが利用するための認証および認可に関する処理を行うための利用権情報処理装置であって、
    前記ユーザーが使用するユーザー端末との間で共有され、前記処理ごとに異なる値を有する認証用データを記憶する記憶部と、
    前記ユーザー端末において前記ユーザーに対応する秘密鍵を用いて、所定の署名アルゴリズムによって前記認証用データを署名することによって生成された署名データを、前記ユーザー端末から受信する受信部と、
    前記受信部において受信された前記署名データおよび前記認証用データから、前記所定の署名アルゴリズムを用いて前記秘密鍵に対応する公開鍵を導出する導出部と、
    前記公開鍵または前記公開鍵に対応する識別情報を用いて、前記スマートコントラクトにおいて前記公開鍵または前記識別情報に関連付けて予め記録された前記ユーザーの前記機器の利用権に関する情報を取得する取得部と、
    を有し、
    前記受信部は、前記ユーザー端末から前記機器に対する制御指示をさらに受信し、
    前記取得部によって取得された前記利用権に関する情報に基づいて前記ユーザーによる前記機器の利用が可能と判断された場合に、前記機器に対して前記制御指示を送信する機器制御部をさらに有する利用権情報処理装置。
  3. ユーザーが使用するユーザー端末からの要求に基づいて前記認証用データを生成し、生成された前記認証用データを前記ユーザー端末に送信することによって前記認証用データを前記ユーザー端末との間で共有させる認証用データ生成部をさらに有する請求項1または2に記載の利用権情報処理装置。
  4. 前記取得部によって取得された前記利用権に関する情報に基づいて、前記ユーザーによる前記機器の利用可否を判断する判断部をさらに有する請求項1〜3のいずれかに記載の利用権情報処理装置。
  5. 前記所定の署名アルゴリズムは、前記署名データおよび前記認証用データから前記公開鍵を導出可能である楕円曲線デジタル署名アルゴリズムである請求項1〜のいずれかに記載の利用権情報処理装置。
  6. 前記識別情報は、前記公開鍵から一意に導出可能なアドレス情報である請求項1〜のいずれかに記載の利用権情報処理装置。
  7. 前記スマートコントラクトにおいて、前記公開鍵または前記識別情報に関連付けて、前記機器の利用権に関する情報として、利用可能時間に関する情報が記録される請求項1〜のいずれかに記載の利用権情報処理装置。
  8. 前記スマートコントラクトにおいて、前記公開鍵または前記識別情報に関連付けて、前記機器の利用権に関する情報として、利用可能回数に関する情報が記録される請求項1〜のいずれかに記載の利用権情報処理装置。
  9. 前記アクセストークンは、前記処理ごとにユニークに生成されるデータであり、利用期限に関する情報を含む請求項に記載の利用権情報処理装置。
  10. 請求項1〜のいずれかに記載の利用権情報処理装置と、
    ユーザーによって使用されるユーザー端末と、
    を有する利用権情報処理システムであって、
    前記ユーザー端末は、
    前記ユーザーからの指示に基づいて、前記機器を利用するための要求を前記利用権情報処理装置に送信し、
    前記ユーザーに対応する秘密鍵を用いて、楕円曲線デジタル署名アルゴリズムによって前記利用権情報処理装置と共有される認証用データに署名して署名データを生成し、生成された前記署名データを前記利用権情報処理装置に送信する利用権情報処理システム。
  11. 制御対象となる機器をさらに有し、
    前記ユーザー端末は、
    前記利用権情報処理装置の前記トークン生成部によって生成された前記アクセストークンを前記利用権情報処理装置から受信し、
    前記ユーザーから前記機器を制御するための制御指示を受け付け、当該制御指示を、前記利用権情報処理装置から受信した前記アクセストークンと共に前記機器に送信し、
    前記機器は、
    前記ユーザー端末から受信した前記アクセストークンを前記利用権情報処理装置に送信し、
    前記利用権情報処理装置の前記正当性確認部から当該アクセストークンが正当である旨を示す情報を受信した場合に、前記制御指示に対応する制御を実行する請求項1または9を引用する請求項10に記載の利用権情報処理システム。
  12. ブロックチェーン上に記録されるコードをコンピューターが実行することによって機能するスマートコントラクトを用いて、制御対象となる機器をユーザーが利用するための認証および認可に関する処理を行うための利用権情報処理方法であって、
    前記ユーザーが使用するユーザー端末との間で共有され、前記処理ごとに異なる値を有する認証用データを記憶するステップ(a)と、
    前記ユーザー端末において前記ユーザーに対応する秘密鍵を用いて所定の署名アルゴリズムによって前記認証用データを署名することによって生成された署名データを、前記ユーザー端末から受信するステップ(b)と、
    前記ステップ(b)において受信された前記署名データおよび前記認証用データから、前記所定の署名アルゴリズムを用いて前記秘密鍵に対応する公開鍵を導出するステップ(c)と、
    前記公開鍵または前記公開鍵に対応する識別情報を用いて、前記スマートコントラクトにおいて前記公開鍵または前記識別情報に関連付けて予め記録された前記ユーザーの前記機器の利用権に関する情報を取得するステップ(d)と、
    前記ステップ(d)によって取得された前記利用権に関する情報に基づいて前記ユーザーによる前記機器の利用が可能と判断された場合に、アクセストークンを生成して前記ユーザー端末に送信するステップ(e)と、
    前記ユーザー端末から制御指示と共にアクセストークンを受け付けた前記機器から、アクセストークンを受信し、前記機器から受信したアクセストークンと前記ステップ(e)において生成されたアクセストークンとが同一であるか否かを判断し、同一である場合に前記アクセストークンが正当である旨を示す情報を前記機器に送信するステップ(f)と、
    を有する利用権情報処理方法。
  13. ブロックチェーン上に記録されるコードをコンピューターが実行することによって機能するスマートコントラクトを用いて、制御対象となる機器をユーザーが利用するための認証および認可に関する処理を行うための利用権情報処理方法であって、
    前記ユーザーが使用するユーザー端末との間で共有され、前記処理ごとに異なる値を有する認証用データを記憶するステップ(a)と、
    前記ユーザー端末において前記ユーザーに対応する秘密鍵を用いて所定の署名アルゴリズムによって前記認証用データを署名することによって生成された署名データを、前記ユーザー端末から受信するステップ(b)と、
    前記ステップ(b)において受信された前記署名データおよび前記認証用データから、前記所定の署名アルゴリズムを用いて前記秘密鍵に対応する公開鍵を導出するステップ(c)と、
    前記公開鍵または前記公開鍵に対応する識別情報を用いて、前記スマートコントラクトにおいて前記公開鍵または前記識別情報に関連付けて予め記録された前記ユーザーの前記機器の利用権に関する情報を取得するステップ(d)と、
    を有し、
    前記ステップ(b)は、前記ユーザー端末から前記機器に対する制御指示をさらに受信し、
    前記ステップ(d)において取得された前記利用権に関する情報に基づいて前記ユーザーによる前記機器の利用が可能と判断された場合に、前記機器に対して前記制御指示を送信するステップ(g)をさらに有する利用権情報処理方法。
JP2021507881A 2019-12-13 2020-11-11 スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法 Active JP6894160B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019225375 2019-12-13
JP2019225375 2019-12-13
PCT/JP2020/042051 WO2021117406A1 (ja) 2019-12-13 2020-11-11 スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法

Publications (2)

Publication Number Publication Date
JP6894160B1 true JP6894160B1 (ja) 2021-06-23
JPWO2021117406A1 JPWO2021117406A1 (ja) 2021-12-09

Family

ID=76329767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021507881A Active JP6894160B1 (ja) 2019-12-13 2020-11-11 スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法

Country Status (3)

Country Link
US (1) US11943372B2 (ja)
JP (1) JP6894160B1 (ja)
WO (1) WO2021117406A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7435890B1 (ja) 2023-07-24 2024-02-21 Toppanホールディングス株式会社 ユーザ認証システム、ユーザ認証装置、ユーザ認証方法、およびプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12067308B2 (en) 2022-02-22 2024-08-20 Xerox Corporation Method and system for printing verified copy of a non-fungible token
US11934496B2 (en) 2022-02-22 2024-03-19 Xerox Corporation Method and system for authentic non-fungible token (NFT) printing
US11822838B1 (en) * 2022-12-02 2023-11-21 Xerox Corporation Method and system for securely exchanging print job information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018126059A1 (en) * 2016-12-30 2018-07-05 Slock.it, Inc. Block-chain enabled service provider system
JP6469920B1 (ja) * 2018-05-11 2019-02-13 株式会社 ディー・エヌ・エー 対象物の利用を管理するためのシステム、方法、及びプログラム
JP6511201B1 (ja) * 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにより施行される洗練された取引のためのレジストリ及び自動管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073242A (en) * 1998-03-19 2000-06-06 Agorics, Inc. Electronic authority server
DE102016215917A1 (de) * 2016-08-24 2018-03-01 Siemens Aktiengesellschaft Gesichertes Verarbeiten einer Berechtigungsnachweisanfrage
CN108335206B (zh) * 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
JP6936169B2 (ja) * 2018-02-27 2021-09-15 ヤフー株式会社 認証器管理装置、認証器管理方法、認証器管理プログラム及び認証器管理システム
US11153098B2 (en) * 2018-10-09 2021-10-19 Ares Technologies, Inc. Systems, devices, and methods for recording a digitally signed assertion using an authorization token

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6511201B1 (ja) * 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにより施行される洗練された取引のためのレジストリ及び自動管理方法
WO2018126059A1 (en) * 2016-12-30 2018-07-05 Slock.it, Inc. Block-chain enabled service provider system
JP6469920B1 (ja) * 2018-05-11 2019-02-13 株式会社 ディー・エヌ・エー 対象物の利用を管理するためのシステム、方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7435890B1 (ja) 2023-07-24 2024-02-21 Toppanホールディングス株式会社 ユーザ認証システム、ユーザ認証装置、ユーザ認証方法、およびプログラム

Also Published As

Publication number Publication date
WO2021117406A1 (ja) 2021-06-17
US20220294642A1 (en) 2022-09-15
US11943372B2 (en) 2024-03-26
JPWO2021117406A1 (ja) 2021-12-09

Similar Documents

Publication Publication Date Title
JP6894160B1 (ja) スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法
CN110086608B (zh) 用户认证方法、装置、计算机设备及计算机可读存储介质
US11456879B2 (en) Secure processing of an authorization verification request
EP3258407B1 (en) Apparatus, method, and program for controlling profile data delivery
JP4265145B2 (ja) アクセス制御方法及びシステム
CN112187709B (zh) 鉴权方法、设备及服务器
CN105917342B (zh) 基于地理位置分发许可的方法
KR101686167B1 (ko) 사물 인터넷 기기의 인증서 배포 장치 및 방법
KR20170013305A (ko) 보안 무선 충전
CN102438013A (zh) 基于硬件的证书分发
KR101702748B1 (ko) 이중 암호화를 이용한 사용자 인증 방법과 시스템 및 기록매체
US8312262B2 (en) Management of signing privileges for a cryptographic signing service
US8863241B2 (en) System and method for managing usage rights of software applications
JP7280517B2 (ja) 権利者端末、利用者端末、権利者プログラム、利用者プログラム、コンテンツ利用システムおよびコンテンツ利用方法
KR20220006234A (ko) 사용자 권한 관리가 가능한 did 생성 방법 및 이를 이용한 사용자 권한 관리 시스템
CN112446050B (zh) 应用于区块链系统的业务数据处理方法及装置
JP7077272B2 (ja) 証明書発行装置、検証装置、通信機器、証明書発行システム、証明書発行方法、およびプログラム
JP5012574B2 (ja) 共通鍵自動共有システム及び共通鍵自動共有方法
JP2016012902A (ja) 電子データ利用システム、携帯端末装置、及び電子データ利用システムにおける方法
JP2008129673A (ja) ユーザ認証システム、ユーザ認証方法、それに用いるゲートウェイ及びプログラムとその記録媒体
US20090150979A1 (en) Network system, network method, and terminal and program therefor
JP2004140636A (ja) 電子文書の署名委任システム、署名委任サーバ及び署名委任プログラム
TW201638826A (zh) 在行動裝置上以安全信物使相異程式獲得數位憑證簽署之系統及方法
KR101821645B1 (ko) 자체확장인증을 이용한 키관리 방법
TWM505130U (zh) 在行動裝置上以安全信物使相異程式獲得數位憑證簽署之系統

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210215

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210215

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210527

R150 Certificate of patent or registration of utility model

Ref document number: 6894160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250