JP6648555B2 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP6648555B2
JP6648555B2 JP2016037390A JP2016037390A JP6648555B2 JP 6648555 B2 JP6648555 B2 JP 6648555B2 JP 2016037390 A JP2016037390 A JP 2016037390A JP 2016037390 A JP2016037390 A JP 2016037390A JP 6648555 B2 JP6648555 B2 JP 6648555B2
Authority
JP
Japan
Prior art keywords
information
time
data
target data
block
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
JP2016037390A
Other languages
English (en)
Other versions
JP2017157926A (ja
Inventor
基行 鷹合
基行 鷹合
昌嗣 外池
昌嗣 外池
美帆子 涌井
美帆子 涌井
Original Assignee
富士ゼロックス株式会社
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 富士ゼロックス株式会社 filed Critical 富士ゼロックス株式会社
Priority to JP2016037390A priority Critical patent/JP6648555B2/ja
Publication of JP2017157926A publication Critical patent/JP2017157926A/ja
Application granted granted Critical
Publication of JP6648555B2 publication Critical patent/JP6648555B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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 communication 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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 communication 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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 communication 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/38Chaining, e.g. hash chain or certificate chain

Description

本発明は、情報処理装置及びプログラムに関する。

デジタルデータはコピーや編集が可能であるため、そのままでは証拠として利用できない。

デジタルデータに証拠性を持たせるための技術として、例えばタイムスタンプ技術がよく知られている。例えばRFC3161に規定されるタイムスタンププロトコルでは、ユーザがデジタルデータのハッシュ値をタイムスタンプ局(TSA: Time Stamp Authority)に送る。タイムスタンプ局は、そのハッシュ値に現在時刻の情報を合成し、その合成結果のデータに対してPKI(公開鍵基盤)ベースのデジタル署名を施してタイムスタンプトークンを生成し、これをユーザに返す。このトークンのデジタル署名を検証することで、そのデジタルデータがそのトークンに含まれる時刻に存在していたこと、及びその時刻以降改ざんされていないことを検証できる。

また、文書データがある時点で存在していたことを、タイムスタンプ局のような単一の認証システムに依拠せずに証明できるようにするサービスとして、Proof of Existence(https://www.proofofexistence.com/)が知られている。このサービスは、ビットコイン(Bitcoin)で取引履歴の記録に用いられているブロックチェーンに対し、文書データに対応するブロックを登録することで、その文書データの存在証明を可能にする。ブロックチェーンにブロックを登録できるのは、P2P(ピア・トゥー・ピア)ネットワーク上に多数存在する「採掘者」と呼ばれる複数のノードのうち、プルーフ・オブ・ワーク(Proof of Work)を算出する処理を最初に成功した者である。このように、ブロックチェーンの信頼性は、中央システムの信頼性に依存するのではなく、ブロックチェーンの仕組み自体の信頼性に依拠している。

また、特許文献1に開示された技術では、デジタルカメラの撮影時刻を証明可能にするために、タイムスタンプサーバーと呼ばれる電子署名された時刻情報をネットワークから受け取り、その時刻とカメラ内部の時刻を同期することで、カメラの撮影時刻の信用を確立する。

特許文献2に開示された撮像装置は、撮影時に、GPS受信部により検出した現在時刻及び現在日時に基づいて、撮影日時を示すタイムスタンプと、撮影場所を示す位置スタンプを作成する。そして、このタイムスタンプおよび位置スタンプの電子署名を作成し、これをそれらスタンプと共に、撮影で得た画像データに付加する。

特許文献3には、製品に対して製造時刻を刻印する装置に対して時刻情報を提供するシステムが開示されている。このシステムは、時刻の経過に伴って変化する経時変化情報を外部サーバから取得し、刻印しようとする現在時刻の情報とそのとき取得した経時変化情報とを合成し、これにより得られた合成データに対して電子署名を施したものを刻印装置に提供する。このシステムでは、経時変化情報として気象情報のように事前の予測が困難な情報を用いている。

特許文献4に開示されたシステムでは、各端末が、相手端末との通話開始時に、時刻認証局サーバから、事前に推測することが困難な一意な背景音を取得する。そして、通話中は、取得した背景音を再生しながら話者の発生音声を混合して送話しつつ、自端末の話者発声及び背景音と相手端末からの話者発声及び背景音を録音する。この文献の第8頁第17行〜第9頁第16行には、端末が背景音と合成して録音した会話音の音声データを時刻認証局サーバに送信して時刻認証を受けること、及び、その録音音声データは、背景音の認証時刻以降に発生し、その録音音声データの認証時刻には存在していたことが証明できること、が記載されている。

特開2002−215029号公報 特開2005−045486号公報 特許第3475145号明細書 国際公開第2006/054754号

データが存在する前の時刻を証明する根拠情報を時刻認証サーバ等の特定の管理主体が管理するサービスに依存する方式では、その特定の管理主体が関与すれば、時刻の証明に不正を加えることが可能になってしまう。

本発明は、データが存在する前の時刻を証明する根拠となる情報を特定の管理主体が管理するサービスから取得する方式よりも、時刻の証明に不正がなされにくいようにすることを目的とする。

請求項1に係る発明は、対象データが生成される際に、ブロックチェーン内の最新のブロックの特徴情報を取得する取得手段と、生成された前記対象データと、前記対象データが生成される際に前記取得手段が取得した前記特徴情報と、が互いに対応するものであることを示す証明情報を時刻証明サービスに登録する登録手段と、を有する情報処理装置である。

請求項2に係る発明は、前記時刻証明サービスが、前記登録手段から登録された前記証明情報を前記ブロックチェーンに登録するものである、ことを特徴とする請求項1に記載の情報処理装置である。

請求項3に係る発明は、前記登録手段は、前記特徴情報と前記対象データとを合成して得られた合成データに対して、前記情報処理装置の秘密鍵を用いて電子署名演算を行って得た署名値を、前記証明情報として前記時刻証明サービスに登録する、ことを特徴とする請求項1又は2に記載の情報処理装置である。

請求項4に係る発明は、ユーザからの指示に応じて、新たな秘密鍵を生成し、前記電子署名演算に用いる秘密鍵として前記登録手段に設定する手段、を更に有する請求項3に記載の情報処理装置である。

請求項5に係る発明は、前回の対象データが生成された際に前記取得手段が取得した特徴情報を前回特徴情報として保持する特徴情報保持手段、を更に有し、前記登録手段は、前記証明情報として、今回生成された前記対象データと、この対象データが生成される際に前記取得手段が取得した前記特徴情報と、前記特徴情報保持手段に保持された前記前回特徴情報と、が互いに対応するものであることを示す証明情報を、前記時刻証明サービスに登録する、ことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置である。

請求項6に係る発明は、コンピュータを、対象データが生成される際に、ブロックチェーン内の最新のブロックの特徴情報を取得する取得手段、生成された前記対象データと、前記対象データが生成される際に前記取得手段が取得した前記特徴情報と、が互いに対応するものであることを示す証明情報を時刻証明サービスに登録する登録手段、として機能させるためのプログラムである。

請求項7に係る発明は、コンピュータを、対象データ、前記対象データの生成の際のブロックチェーンから取得された最新のブロックの特徴情報、及び、前記対象データと前記特徴情報が互いに対応するものであることを示す証明情報を入手した場合に、前記特徴情報に対応するブロックの時刻情報を前記ブロックチェーンから取得して第1時刻とする第1時刻取得手段、前記証明情報を含んだブロックの時刻情報を前記ブロックチェーンから取得して第2時刻とする第2時刻取得手段、前記対象データが前記第1時刻から前記第2時刻までの間に生成されたことを示す情報を提示する提示手段、として機能させるためのプログラムである。

請求項1、6又は7に係る発明によれば、データが存在する前の時刻を証明する根拠となる情報を特定の管理主体が管理するサービスから取得する方式よりも、時刻の証明に不正がなされにくいようにすることができる。

請求項2に係る発明によれば、特徴情報を取得するブロックチェーンを利用しない時刻証明サービスに証明情報を登録する場合よりも、装置構成を簡素化することができる。

請求項3に係る発明によれば、その証明情報、ひいては対象データが当該情報処理装置で生成されたものであることを署名値により確認することができる。

請求項4に係る発明によれば、登録手段に最初から設定されている秘密鍵をユーザが信頼できない場合等に、新たな秘密鍵に変更することができる。

請求項5に係る発明によれば、前回特徴情報を考慮しない証明情報を登録する構成と比べて、情報処理装置以外の装置によるなりすましが行われた可能性があることを、より容易に検出することができる。

実施形態のシステム構成の例を示す図である。 対象装置が実行する処理の流れの例を説明するための図である。 対象データの生成時期を確認する装置が実行する処理の流れの例を説明するための図である。 変形例1のシステム構成の例を示す図である。 変形例2のシステム構成の例を示す図である。 変形例3のシステム構成の例を示す図である。

図1を参照して、本発明の一実施形態の装置を説明する。

図1に示す対象装置10は、本実施形態の手法の適用対象の装置である。対象装置10は、データを生成し、そのデータの生成時期を証明可能にするための処理を実行する。そのデータがある時刻T1以前には存在していないことが証明でき、かつそのデータが時刻T1より後の時刻T2には存在していたことが証明できる場合、そのデータの「生成時期」が時刻T1からT2までの期間であることが証明できる。その証明のために、本実施形態ではブロックチェーン22を利用する。

ブロックチェーン22は、ビットコイン(Bitcoin)という仮想通貨決済システムで用いられる分散型の台帳システム、又はこれと同等の分散型台帳システムである。

ビットコインは、ピア・ツー・ピア(P2P)型のシステムであり、いくつかの取引情報をブロックにまとめ、それらブロックをP2Pネットワーク上に分散して記録する。ブロックは時系列順に連鎖(チェーン)構造をなす。各ブロックが直前のブロックのハッシュ値を含むことで、ブロックチェーンの改ざんがきわめて困難となっている。P2Pネットワーク上には、マイナー(採掘者)と呼ばれるノードが複数存在しており、送金者が生成した取引情報はそれらマイナーにブロードキャストされる。それら複数のマイナーのうち、プルーフ・オブ・ワーク(Proof of Work)と呼ばれる計算を最初に解いた者が、直近の一定期間に発行された取引情報をまとめたブロックをブロックチェーンに追加し、その追加についての報酬を得る。プルーフ・オブ・ワークは、ブロックチェーンに追加しようとするブロックに含めるナンス(nonce)という値を調整することで、そのブロックのハッシュ値として、特定の条件(例えば、ハッシュ値の先頭に指定個数以上の0が並ぶ)を満たすハッシュ値を求める計算である。ビットコインでは、その特定条件が、理論的な計算所要時間が10分となるように管理されている。したがって、ブロックチェーンには、約10分ごとに新たなブロックが追加されることになる。新たに追加するブロックのハッシュ値は、直前のブロックのハッシュ値や直前のブロックの追加後に発生した取引情報群に対してプルーフ・オブ・ワークの計算に成功して初めて求められるので、事前予測が実質的に不可能である。またブロックチェーンには特定の管理主体は不在であり、ブロックチェーンの信頼性は、そのような特定の管理主体への信頼ではなく、プルーフ・オブ・ワーク等のような不正を防止する仕組み自体が確率論的に高い信頼性を持つことに依拠している。

以上、ビットコインのブロックチェーンについて概説したが、ブロックチェーン22としては、これに限らず、他のシステムのブロックチェーンを用いてもよい。ビットコイン以外にも、プルーフ・オブ・ワークの仕組みを利用したブロックチェーンを採用しているシステムが存在する。また、プルーフ・オブ・ワークの代わりに、プルーフ・オブ・ステーク(Proof of Stake)等の別のコンセンサス・アルゴリズムを用いるブロックチェーンも存在する。プルーフ・オブ・ステーク等の他のコンセンサス・アルゴリズムでも、ブロックのハッシュ値の事前予測困難性や、特定管理主体に依存せずにシステムの信頼性を担保すること、が実現できる。

存在証明サービス20は、ユーザからデータの存在証明の依頼を受け付け、その依頼に応じて存在証明のための処理を行うサービスである。存在証明サービス20は、ユーザからの存在証明依頼の対象であるデータ(あるいはそのデータの特徴情報)をブロックチェーン22に登録することで、そのデータが存在している時刻を証明可能にする。存在証明サービス20の具体例としては、Proof of Existenceがある。この例では、存在証明サービス20は、ブロックチェーン22へのブロックの追加を行うマイナー(採掘者)ノード群であると捉えてもよい。存在証明サービス20がProof of Existenceである場合、ブロックチェーン22は、ビットコインのブロックチェーンである。なお、Proof of Existenceはあくまで一例に過ぎない。存在証明サービス20としては、ビットコインのブロックチェーンを利用する別のサービス、あるいは、ビットコイン以外のブロックチェーンを利用する別のサービス、を用いてもよい。

対象装置10の説明に戻ると、対象装置10が生成するデータは特に限定されない。例えば、対象装置10は、デジタルカメラのように画像(静止画)データや動画データを生成するものであってもよいし、録音機のように音声データを生成するものであってもよい。また撮影機能や録音機能を併せ持つスマートフォン等の装置であってもよい。また、位置、速度、加速度の物理的な計測データや、濃度等の化学的な計測データ等のように、画像や音声以外のデータであってもよい。

制御部12は、対象装置10の動作全体を制御するシステムである。例えば、対象装置10がデジタルカメラである場合、制御部12は、撮影条件やシャッター押下等の指示の受付等を行うユーザインタフェース処理や、それら指示に応じて対象装置10の各部の動作を制御する処理、撮影された画像を内蔵ストレージ等に保存する処理等を実行する。制御部12が実行する制御処理は、対象装置10の種類に依存する。

制御部12は、対象装置10の種類に応じた一般的な制御に加え、耐タンパモジュール100に対して存在証明可能なデータの生成を指示する機能、及び根拠情報取得部14に根拠情報の取得を指示する機能を有する。

典型的には、制御部12は、CPU(中央演算装置)で制御プログラムを実行することにより実現される。

根拠情報取得部14は、制御部12からの取得指示に応じて、ブロックチェーン22に含まれる最新のブロックの特徴情報を、根拠情報として取得する。ブロックの特徴情報は、例えば、そのブロックのハッシュ値である。前述のように、ブロックのハッシュ値は、そのブロックがブロックチェーン22に追加される時点までは実質的に予測不能な値である。また、ブロックの特徴情報として、ハッシュ値以外の別の情報を用いることも考えられる。例えば、ブロック中のナンスの値は、ハッシュ値と同様、そのブロックがブロックチェーン22に追加されるまでは実質上予測不能な値なので、そのナンスをブロックの特徴情報として用いてもよい。ナンスだけでは偶然の一致が懸念される場合には、ナンスと、ブロック中の他の情報、例えばタイムスタンプ、取引情報のうちの先頭のもの、等との組を、そのブロックの特徴情報としてもよい。本実施形態では、根拠情報取得部14が取得した特徴情報を、存在証明の対象のデータが存在する前の時刻を特定する「根拠情報」として用いる。以下では、根拠情報として、ブロックチェーン22の最新ブロックのハッシュ値を用いる場合を代表例にとって説明を行う。

根拠情報取得部14は、例えば、ブロックチェーン22の操作のためのAPI(アプリケーション・プログラム・インタフェース)を用いて、ブロックチェーン22から最新ブロックの特徴情報(例えばハッシュ値)を取得する。根拠情報取得部14は、例えば、その取得の処理のプログラムをCPUで実行することにより実現される。

なお、図1の例では、根拠情報取得部14は耐タンパモジュール100の外に設けられているが、根拠情報取得部14を耐タンパモジュール100内に設けてもよい。根拠情報取得部14を耐タンパモジュール100内に設けることで、ブロックの特徴情報の取得の段階で不正が行われる可能性が低減される。

耐タンパモジュール100は、耐タンパ性を持つモジュールである。このモジュール内のデータ生成部102や秘密鍵保持部108等の各処理部を構成している各ハードウエア、各ソフトウエア、それらハードウエアが保持しているデータは、そのモジュールの外装パッケージ、及びそれら各ハードウエアの個別のパッケージを破壊しなければアクセスすることができず、解析やデータ改変が不可能となっている。また、これに限らず他の方式の耐タンパ性、例えばパッケージが破られたことを検知すると内部のデータ(例えば秘密鍵)を消去するといった形の耐タンパ性を持つものであってもよい。データ生成部102や秘密鍵保持部108等の各処理部が耐タンパモジュール100により保護されているので、データ生成部102が生成するデータを別のデータに入れ替えられたり、秘密鍵保持部108内の秘密鍵が盗難したりする不正が事実上不可能になっている。

耐タンパモジュール100内には、データ生成部102、データ合成部104、署名処理部106、秘密鍵保持部108及び登録処理部110の各処理部が設けられている。耐タンパモジュール100に耐タンパ性を持たせているのに加え、そのモジュール内のデータ生成部102等の各処理部に個別に耐タンパ性を持たせてもよい。

データ生成部102は、存在証明の対象となるデータを生成する機構である。典型的には、データ生成部102は、物理的刺激や化学的刺激を電気信号に変換し、データとして出力するセンサである。例えば、デジタルカメラにおけるCCD撮像素子、録音機におけるマイク、などがデータ生成部102の具体例である。

データ合成部104は、データ生成部102が生成した、存在証明の対象であるデータ(以下「対象データ」と呼ぶ)と、その生成に対応付けて根拠情報取得部14が取得した根拠情報(最新ブロックのハッシュ値)とを合成して、合成データを生成する。両データの合成の仕方に特に限定はない。例えば、対象データのテキスト表現の末尾に根拠情報のテキスト表現を付加するという単純な合成方式でもよい。なお、データ合成部104が用いる合成方式は公開しておき、対象装置10以外の装置、例えば対象データの生成時期を確認するプログラムが、その合成方式を利用できるようにしておく。

秘密鍵保持部108は、公開鍵方式における対象装置10に固有の秘密鍵を保持する。この秘密鍵は、耐タンパモジュール100の外に出ないよう保護されている。この秘密鍵に対応する公開鍵は、例えば公開鍵証明書に含まれる形で耐タンパモジュール100の外部に出力してもよく、また公開のデータベースに登録して検索できるようにしてもよい。

署名処理部106は、データ合成部104から出力された合成データについて、秘密鍵保持部108内の秘密鍵を用いてデジタル署名を計算する。すなわち、署名処理部106は、例えばその合成データのハッシュ値を計算し、計算したハッシュ値をその秘密鍵で暗号化することで、デジタル署名の署名値を求める。この署名値は、対象データと根拠情報とを合成した合成データから求められる値なので、対象データと根拠情報とが互いに対応するものであることを証明する値として用いることができる。例えば、対象データと根拠情報と署名値とが入手できた場合、対象データと根拠情報から合成データを生成し、署名値を公開鍵で復号した値と、その合成データ又はその合成データのハッシュ値とが一致していれば、それら対象データ、根拠情報及び署名値が相互に対応しているものであると判定できる。なお、対象装置10が、少ないデータ量の対象データを生成する種類のものである場合、署名処理部106は、合成データのハッシュ値を求めずに、その合成データを秘密鍵で直接暗号化することで署名値を計算してもよい。

登録処理部110は、署名処理部106が求めた署名値を、存在証明サービス20に登録するための処理を実行する。登録処理部110は、例えば存在証明サービス20のAPIを用いて、その署名値を含む取引(トランザクション)情報を存在証明サービス20に送信する(例えばマイナー群に向けてブロードキャストする)。送信されたその取引情報は、プルーフ・オブ・ワークに勝利したマイナーにより、最新のブロックに含まれる形で、ブロックチェーン22に追加される。その最新ブロックが追加された時刻を示すタイムスタンプは、その署名値の元になった対象データの生成より時間的に後である。したがって、そのタイムスタンプは、その対象データが既に存在している時点の時刻を示す。

なお、存在証明サービス20への取引情報の登録が失敗する場合もある。この場合、対象データを破棄して登録処理全体を取りやめてもよいし、登録が成功するまで取引情報の送信を繰り返すようにしてもよい。

また登録処理部110は、署名値を含む取引情報を存在証明サービス20に登録できた場合、対象データと、その対象データの生成時期の確認に用いる各種情報を制御部12へ出力する。対象データの生成時期の確認に用いる各種情報には、例えば、署名値、その署名値の元になった根拠情報(根拠情報取得部14がブロックチェーン22から取得した情報)等が含まれる。図1に示す例では、登録処理部110は、対象データA、根拠情報B、署名値C、及びその署名値Cの計算に用いた秘密鍵に対応する公開鍵証明書、を1つのファイル30にパッケージしたものを制御部12に出力する。このファイル30が、制御部12からのデータ生成・登録指示に対する制御部12への応答である。制御部12は、受け取ったファイル30を、対象装置10の内蔵ストレージ等に保存する。

次に、図2に示す具体例を参照して、対象装置10が実行するデータ生成及び登録処理の流れを説明する。

図2に示す例では、ブロックチェーン22には10分ごとに新たなブロックが追加され、3月5日の10時0分の時点では、ブロックチェーン22の末尾のブロック(すなわち最新ブロック)が、ブロックID(識別子)が「1392」のブロックであるとする。この例では、ブロックチェーン22内の各ブロックには、ブロックID、タイムスタンプ、ハッシュ値、ナンス(Nonce)及び取引情報が含まれている。タイムスタンプは、このブロックが生成(及びブロックチェーン22に追加)された時刻を示す。ハッシュ値は、当該ブロックのハッシュ値であり、前述の通りプルーフ・オブ・ワーク等の処理により特定された、特定条件を満たすハッシュ値である。ナンスは、そのプルーフ・オブ・ワーク等の処理で特定条件を満たすハッシュ値を求めるのに使った値である。取引情報は、前述の通り、当該ブロックの直前のブロックの生成以降に生じた取引の内容を示す情報である。なお、ブロックには、直前のブロックのハッシュ値等、他の情報も含まれ得るが、図示は省略した。

3月5日の10時9分の時点で、ユーザが、対象装置10(この例ではデジタルカメラであるとする)のシャッターボタンを押下して、撮影を指示したとする(S10)。この指示を受けた制御部12は、データ生成部102に対してデータ生成すなわち画像の撮影を指示すると共に、根拠情報取得部14に対して根拠情報の取得を指示する。ここで、制御部12は、データ生成部102へのその撮影指示と、根拠情報取得部14へのその取得指示とを、一定の時間的関係をもって互いに対応付けて、発する。この一定の時間的関係は、例えば、それら両指示が実質的に「同時」に発行されるという関係である。根拠情報の利用目的(対象データがまだ存在していない時刻を証明すること)からして、根拠情報取得部14への取得指示の発行は、撮影指示の発行より少し前か、同時か、少し遅れる程度とする。

なお、制御部12に不正がなされる可能性を考慮した構成も考えられる。この構成では、根拠情報取得部14を耐タンパモジュール100内に組み込む。耐タンパモジュール100内のプロセッサが実行する制御プログラムは、制御部12から撮影指示を受け取ると、データ生成部102及び根拠情報取得部14に対して一定の時間的関係で動作指示を発する。制御プログラムは耐タンパモジュール100内にあるので、撮影指示と根拠情報の取得指示との時間的関係等に対する不正な改変を受けにくい。

撮影指示を受けたデータ生成部102は、撮影処理を行い、対象データAとして画像データを生成する(S12)。また、取得指示を受けた根拠情報取得部14は、ブロックチェーン22から最新のブロックの特徴情報であるハッシュ値を、根拠情報Bとして取得する(S14)。この取得の時点(3月5日10時9分)でブロックチェーン22の最新ブロックはブロックID「1392」のブロックなので、根拠情報Bとしては、そのブロック「1392」のハッシュ値「9d65a302」が取得される。

データ合成部104は、生成された対象データAと取得された根拠情報Bとを合成して、合成データを生成する(S16)。署名処理部106は、対象装置10の秘密鍵を用いて、その合成データのデジタル署名の署名値Cを計算する(S18)。例えば、合成データのハッシュ値を計算し、そのハッシュ値をその秘密鍵で暗号化することで署名値を求める。

署名値Cが計算されると、登録処理部110が、例えば、取引情報中のユーザ側で自由に利用可能なあらかじめ定められた項目にその署名値Cを含め、その取引情報を存在証明サービス20に送る(S20)。この後、存在証明サービス20内でプルーフ・オブ・ワーク等の計算を最初に解いたマイナーが、その取引情報を含むブロックをブロックチェーン22の末尾に追加する。

図示例では、その署名値Cを含む取引情報の登録が根拠情報Bの由来元のブロック「1392」の次のブロック「1393」の生成までに間に合わず、その取引情報は更に次のブロック「1394」に登録された。ブロック「1394」内の取引情報の項目に含まれる値「889c903e5f31203a56d9」が、S18で求められた署名値Cである。図2では、煩雑さを避けるために、ブロックの取引情報の項目には、1つの取引情報中の署名値Cのみを示したが、取引情報には署名値C以外の項目が含まれていてもよいし、その項目内に複数の取引情報が含まれていてもよい。なお、署名値Cを含む取引情報の登録のための処理がもっと早く実行され、次のブロック「1393」の生成までに間に合えば,その取引情報なそのブロック「1393」に登録されることになる。

登録処理部110がS20で送信した取引情報が存在証明サービス20により正しく受信されると、登録処理部110は先ほど生成した対象データA、根拠情報B、署名値Cを互いに対応付けて(例えば1つのファイルにパッケージして)制御部12に出力する(S22)。制御部12はその出力データを、内蔵ストレージに保存したり、あらかじめ指定されたサーバに送って格納したりする。

以上に説明した処理により、対象装置10が生成した対象データAの生成時期が特定可能な情報がブロックチェーン22に登録される。すなわち、S20で対象装置10から存在証明サービス20に送信した取引情報がブロックチェーン22に登録された時刻、すなわちその取引情報を含んだブロック「1394」のタイムスタンプ「3/5 10:20」には、その対象データAは存在している。したがって、このタイムスタンプは、生成時期の末尾T2として用いることができる。また、その取引情報には署名値Cが含まれ、この署名値Cは対象データAと根拠情報Bとの合成データに由来する。したがって、対象データA、根拠情報B及び署名値Cを得た者は、公開されている対象装置10の公開鍵を用いることでその署名値Cを検証できる。署名値Cが正しいと検証できると、対象データAがその公開鍵に対応する対象装置10で生成されたこと、その署名値Cと共に取得した対象データAと根拠情報Bに改ざんが加えられていないこと、が確認できる。この根拠情報Bは、ブロックチェーン22内のブロック「1392」内の情報(ハッシュ値)なので、ブロックチェーン22から検索できる。そのブロック「1392」は、ユーザが対象装置10に対して撮影指示を行った時点で既に存在しているので、そのブロックのタイムスタンプ「3/5 10:00」の示す時点では対象データAはまだ存在していない。したがって、このタイムスタンプは、生成時期の先頭T1として用いることができる。このように、ブロックチェーン22の登録情報を用いることで、対象データAが時刻T1からT2までの間に生成されたことが確認できる。

しかも、ブロックチェーン22内の各ブロックが正しいものであることは、プルーフ・オブ・ワーク又はプルーフ・オブ・ステーク等といった、ブロックチェーン22の基盤をなすプロトコルにより保証されている。すなわち、信頼できる特定の管理主体が存在しなくても、ブロックチェーン22から取得した情報は正しいと信頼することができる。

この例では約10分ごとにブロックが追加されるビットコインのブロックチェーンを用いているため、対象データの生成時期の絞り込みはそれらブロックの時間幅約10分が限界である。しかし、ブロックの追加をもっと短い間隔で行うブロックチェーン22を用いて、特定できる生成時期の幅をもっと短くすることもできる。

図2の例では、ユーザが行った撮影指示をトリガとして、対象データAの生成(S12)と根拠情報Bの取得(S14)を行ったが、S12及びS14のトリガはユーザからの指示に限らない。例えば、対象装置10が監視カメラのように、あらかじめ定められた基準で自動的に決定されるタイミングで対象データ(例えば監視カメラで撮影した画像)を生成する装置の場合、自動的に決定されるその生成タイミングの到来をS12及びS14のトリガとして用いる。

次に、対象装置10が生成した対象データAの生成時期を確認する処理の手順の一例を、図3を参照して説明する。この処理は、例えばパーソナルコンピュータやスマートフォン等のコンピュータで実行可能なアプリケーションプログラム又はその一部として実装可能である。

この処理では、まずコンピュータは、対象データAと、その対象データAに対応する根拠情報B及び署名値Cを取得する(S30)。コンピュータは、対象装置10が出力したファイル30(図1参照)を入手した場合、そのファイル30の中からそれらデータをすべて取得できる。

次にコンピュータは、取得した署名値Cを検証する(S32)。この検証処理では、対象データAと根拠情報Bとを、対象装置10のデータ合成部104と同じ合成方式で合成して合成データを生成し、この合成データのハッシュ値Dを計算する。一方、署名値Cを、署名者の公開鍵を用いて復号する。ここで用いる公開鍵は、ファイル30内に含まれている。あるいは、ファイル30内の署名値Cにはその署名値Cを署名した署名者の情報が付随しており、公開鍵の情報なネットワーク上に公開されているので、その署名者に対応する公開鍵をネットワークから取得すればよい。そして、署名値Cの復号の結果得られた値Eが、合成データのハッシュ値Dと一致すれば、署名値Cが正しいと判定する(検証成功)。

S32の署名値Cの検証が失敗した場合にはエラー処理を実行する(S33)。

一方、署名値Cの検証が成功した場合には、コンピュータは、ブロックチェーン22から、根拠情報Bを「ハッシュ値」として含むブロック(すなわち当該ブロックのハッシュ値が根拠情報Bの値に等しい)の、タイムスタンプの値を取得する(S34)。この値が、対象データAの生成時期の先端T1である。また、コンピュータは、その署名値Cを取引情報として含んだブロックをブロックチェーン22から取得し、取得したブロックのタイムスタンプの値を取得する(S36)。この値が、対象データAの生成時期の末尾T2である。そしてコンピュータは、対象データAが、時刻T1からT2までの期間内に生成されたことを示す情報を、ユーザに提示する(S38)。

以上に説明した例では、対象装置10は、対象データAと根拠情報Bとを合成した合成データのハッシュ値から求めた署名値Cを存在証明サービス20(ブロックチェーン22)に登録した(図2のS20)。しかし、これは一例に過ぎない。図2のS20で、署名値Cの代わりに、合成データそのもの、又はその合成データのハッシュ値を、存在証明サービス20に登録してもよい(他のステップは図2と同じ)。合成データそのもの又は合成データのハッシュ値を登録する方式の場合、対象データAの生成時期の確認処理(図3参照)では、S36において、署名検証(S32)の際に求めた合成データ又はその合成データのハッシュ値を取引情報として含んだブロックを、ブロックチェーン22から取得すればよい。それ以外の各ステップは図3に示したものと同じでよい。

なお、対象装置10が生成するすべての対象データに対して生成時期の証明が必要であるとは限らない。生成する対象データに、生成時期の証明が必要なものとそうでないものがある場合、例えばユーザから対象データの生成の指示を受ける際、制御部12は、生成時期の証明が必要か否かの指定をユーザから求め、生成時期の証明が必要と指定された場合には、耐タンパモジュール100に上述の処理を実行させるようにすればよい。また生成時期の証明が不要と指定された場合には、制御部12は、根拠情報取得部14、データ合成部104、署名処理部106、登録処理部110に対して存在証明サービス20への登録のための処理を実行させずに、単にデータ生成部102に対象データを生成させればよい。

<変形例1>
以上に説明した例では、登録処理部110が署名値C(又は合成データ等)を登録する存在証明サービス20は、その署名値等を、対象データがまだ存在していない時点を規定する根拠情報Bの取得元のブロックチェーン22に登録していた。この方式では、対象装置10内の、対象データAの生成時期の証明のための手段は、ブロックチェーン22のプロトコルに対応していれば足りる。ただし、この方式は一例に過ぎない。

この代わりに、図4に例示するように、根拠情報Bの提供元のブロックチェーン22を利用しない存在証明サービス20Aを用いてもよい。この例では、存在証明サービス20Aは、対象装置10から受信した署名値C等の情報を、その存在証明サービス20A自身の方式で、その受信の時刻に対応付けて記録する。存在証明サービス20Aは、ブロックチェーン22とは別のブロックチェーンに署名値C等を登録するものであってもよいし、ブロックチェーン以外のそのサービスの固有のデータベースに署名値C等を登録するものであってもよい。

対象データAの生成時期を確認する装置は、図3の手順のうち、S34では図1の実施形態同様ブロックチェーン22から根拠情報Bを取得すればよいが、S36では存在証明サービス20Aから署名値C等を登録した時刻T2の情報を取得する。この時刻T2はブロックチェーン22内の情報ではなく、それとは別体の存在証明サービス20Aが保証する情報である。

この図4の変形例でも、対象データAがまだ存在しない時点を特定する根拠情報Bについては、信頼できる特定の管理主体がいなくても、登録されている情報の信頼性が保証されるブロックチェーン22から入手できる。

<変形例2>
上記実施形態の構成では、秘密鍵保持部108に記憶された秘密鍵は、耐タンパモジュール100等により外部からの不正アクセスから守られている。しかし、秘密鍵保持部108内の秘密鍵は、対象装置10の製造者によって書き込まれるため、その秘密鍵が対象装置10の外部に漏れていないかどうかは、その製造者次第ということになる。すなわち、その製造者から秘密鍵が漏洩したり、製造者自身が不正にその秘密鍵を流用したりした場合、対象装置10とは別の装置が同じ秘密鍵を使って、虚偽のデータからその対象装置10の電子署名を生成することが可能になる。

このような一種のなりすましに対抗する一つの方法として、対象装置10のユーザが任意のタイミングで秘密鍵保持部108内に保持される秘密鍵を再設定できるようにすることが考えられる。すなわち、図5に示すように、対象装置10に秘密鍵再設定部112を設けておき、ユーザが対象装置10に秘密鍵の再設定を指示すると、秘密鍵再設定部112が乱数を生成し、それを秘密鍵とする。ここで乱数には、例えば(データ生成部102等の)内蔵センサが生成したデータや時刻などを種にした擬似乱数を用いるなどとすることにより、秘密鍵の生成方法が外部からは推定できないようにする。秘密鍵再設定部112は、このとき生成した秘密鍵を秘密鍵保持部108内の既存の秘密鍵と置き換えると共に、その秘密鍵に対応する公開鍵の情報を登録処理部110等に設定する(あるいは、その公開鍵についての公開鍵証明書を取得し、これを登録処理部110に設定する)ことにより、その公開鍵の情報が、対象装置10の出力するファイル30に含まれるようにする。図5の例では、秘密鍵再設定部112は耐タンパモジュール100内に設けられているので、秘密鍵の再設定自体が外部から保護される。

なお、図5には、ブロックチェーン22を利用する存在証明サービス20を用いる場合を例示したが、この変形例2の構成は、上記変形例1に示したブロックチェーン22を利用しない存在証明サービス20Aを用いる場合にも適用可能である。また、このことは以下に示す変形例についても同様である。

<変形例3>
ここで、上述した変形例2の秘密鍵再設定部112はユーザの指示に応じて乱数を発生し、これを秘密鍵として設定しているが、秘密鍵再設定部112が本当に乱数を発生しているのかはユーザには分からない。例えば、製造者ならば自分の望む「乱数」を発生するよう秘密鍵再設定部112を製造することも可能であり、仮にこのようになされていると、製造者は対象装置10の秘密鍵と同じ秘密鍵を入手してなりすましを行うことが可能になる。以下では、秘密鍵保持部108に保持されている秘密鍵と同じ秘密鍵を用いたなりすましを検知する方式を提案する。

この方式では、図6に示すように、対象装置10内に前回根拠保持部114を設ける。前回根拠保持部114は、前回生成した対象データについて根拠情報取得部14が取得した根拠情報を保持する機構であり、フラッシュメモリ等のように、電源が切られても記憶内容を保持可能な記憶装置から構成される。データ合成部104は、データ生成部102が今回生成した対象データAと、これに対応して根拠情報取得部14が取得した今回の根拠情報B2と、前回根拠保持部114が保持している前回の根拠情報B1とを合成して合成データを生成する。そして、この合成データに対して署名処理部106が、秘密鍵を用いて電子署名を行い、これにより得られた署名値Cを登録処理部110Aが存在証明サービス20に登録する。この登録処理の後、登録処理部110Aは、対象データA、前回の根拠情報B1、今回の根拠情報B2、署名値C、公開鍵証明書を含むファイル30Aを制御部12に出力する。署名値Cの存在証明サービス20への登録の後、データ合成部104は、今回の根拠情報B2を前回根拠保持部114内の前回の根拠情報B1に上書きする。これにより、次に生成される対象データAについては、今回取得した根拠情報B2が「前回の根拠情報B1」として、署名値Cやファイル30Aに反映されることになる。

このように、この変形例3では、存在証明サービス20に登録される署名値C、及び出力された対象データAに対応付けられる情報(ファイル30A)に、今回の根拠情報B2だけでなく前回の根拠情報B1も反映される。これにより、例えば、前回の根拠情報B1は同じだが今回の根拠情報B2は異なるファイル30Aが世の中から2以上見つかった場合、対象装置10内の秘密鍵と同じ秘密鍵を用いたなりすましが発生している可能性があると判断することができる。

すなわち、同じ秘密鍵を用いたなりすましを行う者は、対象装置10と同じ処理を行う別の装置を用意し、正当な対象装置10が出力したファイル30Aを入手し、このファイル30Aの中の今回の根拠情報αを自分の装置の前回根拠保持部114に格納し、その装置の利用を開始すると考えられる。この根拠情報αは正当な対象装置10に由来するので、なりすまし者の装置がその後存在証明サービス20に登録するデータの信用が増すからである。このように構成されたなりすまし者の装置が新たにデータを生成してそれを存在証明サービス20に登録すると、対象装置10に由来するその根拠情報αを前回の根拠情報B1として含み、新たに取得した今回の根拠情報B2を更に含んだファイル30Aが生成され、出力されることになる。

その一方で、正当な対象装置10が次の対象データを生成すると、その根拠情報αを前回の根拠情報B1として含み、その対象データの生成の際に新たに取得した根拠情報を今回の根拠情報B2として含むファイル30Aが生成される。この結果、同じ根拠情報αを含んだファイルが世の中に2つ存在することになる。なりすまし者がいなければ、このような事態は生じないので、このような事態が生じた場合には、対象装置10内の秘密鍵と同じ秘密鍵を持ったなりすまし者が存在する可能性があることになる。

また、存在証明サービス20に対して、署名値Cだけでなく、前回の根拠情報B1、今回の根拠情報B2も合わせて登録する構成とすれば、世の中に流通するファイル30Aを監視しなくても、存在証明サービス20に登録された情報から、前回の根拠情報が同じデータが複数存在することを検出できる。

なお、ファイル30A(あるいは存在証明サービス20に登録した情報)の中の前回の根拠情報B1及び今回の根拠情報B2等が正しい値(改ざん等が加えられていない値)であるかどうかは、それらの情報に対応する署名値Cにより検証可能である。

ちなみに、図1の実施形態のように前回の根拠情報を用いない構成の場合、正当な対象装置10が生成した対象データと、なりすまし者の装置が生成したデータとが、同じ「前回の根拠情報」に対応付けられているという、検知しやすい目印がないため、なりすましの検出は困難である。

以上に例示した対象装置10は、コンピュータにそれら各装置の機能を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)等の固定記憶装置を制御するコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、HDD等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。また、耐タンパモジュール100は、制御部12の処理を実行するCPUとは別のプロセッサにより、上述した当該モジュールの処理の全部又は一部をその別プロセッサにより実行してもよい。

10 対象装置、12 制御部、14 根拠情報取得部、20,20A 存在証明サービス、22 ブロックチェーン、30,30A ファイル、100 耐タンパモジュール、102 データ生成部、104 データ合成部、106 署名処理部、108 秘密鍵保持部、110,110A 登録処理部、112 秘密鍵再設定部、114 前回根拠保持部。

Claims (7)

  1. 対象データが生成される際に、ブロックチェーン内の最新のブロックの特徴情報を取得する取得手段と、
    生成された前記対象データと、前記対象データが生成される際に前記取得手段が取得した前記特徴情報と、が互いに対応するものであることを示す証明情報を時刻証明サービスに登録する登録手段と、
    を有する情報処理装置。
  2. 前記時刻証明サービスが、前記登録手段から登録された前記証明情報を前記ブロックチェーンに登録するものである、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記登録手段は、前記特徴情報と前記対象データとを合成して得られた合成データに対して、前記情報処理装置の秘密鍵を用いて電子署名演算を行って得た署名値を、前記証明情報として前記時刻証明サービスに登録する、ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. ユーザからの指示に応じて、新たな秘密鍵を生成し、前記電子署名演算に用いる秘密鍵として前記登録手段に設定する手段、を更に有する請求項3に記載の情報処理装置。
  5. 前回の対象データが生成された際に前記取得手段が取得した特徴情報を前回特徴情報として保持する特徴情報保持手段、を更に有し、
    前記登録手段は、前記証明情報として、今回生成された前記対象データと、この対象データが生成される際に前記取得手段が取得した前記特徴情報と、前記特徴情報保持手段に保持された前記前回特徴情報と、が互いに対応するものであることを示す証明情報を、前記時刻証明サービスに登録する、ことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
  6. コンピュータを、
    対象データが生成される際に、ブロックチェーン内の最新のブロックの特徴情報を取得する取得手段、
    生成された前記対象データと、前記対象データが生成される際に前記取得手段が取得した前記特徴情報と、が互いに対応するものであることを示す証明情報を時刻証明サービスに登録する登録手段、
    として機能させるためのプログラム。
  7. コンピュータを、
    対象データ、前記対象データの生成の際のブロックチェーンから取得された最新のブロックの特徴情報、及び、前記対象データと前記特徴情報が互いに対応するものであることを示す証明情報を入手した場合に、
    前記特徴情報に対応するブロックの時刻情報を前記ブロックチェーンから取得して第1時刻とする第1時刻取得手段、
    前記証明情報を含んだブロックの時刻情報を前記ブロックチェーンから取得して第2時刻とする第2時刻取得手段、
    前記対象データが前記第1時刻から前記第2時刻までの間に生成されたことを示す情報を提示する提示手段、
    として機能させるためのプログラム。
JP2016037390A 2016-02-29 2016-02-29 情報処理装置及びプログラム Active JP6648555B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016037390A JP6648555B2 (ja) 2016-02-29 2016-02-29 情報処理装置及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016037390A JP6648555B2 (ja) 2016-02-29 2016-02-29 情報処理装置及びプログラム
US15/238,120 US10402594B2 (en) 2016-02-29 2016-08-16 Information processing apparatus and non-transitory computer readable medium

Publications (2)

Publication Number Publication Date
JP2017157926A JP2017157926A (ja) 2017-09-07
JP6648555B2 true JP6648555B2 (ja) 2020-02-14

Family

ID=59680114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016037390A Active JP6648555B2 (ja) 2016-02-29 2016-02-29 情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US10402594B2 (ja)
JP (1) JP6648555B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204704A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 正当性保証方法、正当性保証システム及び正当性保証プログラム
KR101781583B1 (ko) * 2016-08-31 2017-09-27 서강대학교산학협력단 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
US10367645B2 (en) * 2016-10-26 2019-07-30 International Business Machines Corporation Proof-of-work for smart contracts on a blockchain
CN111095253A (zh) * 2017-09-14 2020-05-01 索尼公司 信息处理设备、信息处理方法以及程序
CN111095254A (zh) * 2017-09-14 2020-05-01 索尼公司 信息处理设备、信息处理方法和程序
CN107844976B (zh) * 2017-10-25 2020-11-13 武汉天喻信息产业股份有限公司 一种基于区块链的存证应用交易系统及方法
US20200372184A1 (en) * 2017-11-17 2020-11-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
CN108737415A (zh) * 2018-05-16 2018-11-02 成都甄识科技有限公司 一种用于智能家居的安全认证方法
US10560261B1 (en) 2018-05-24 2020-02-11 DeepTruth, LLC Systems and techniques for capture of trusted media data
CN108712431A (zh) * 2018-05-24 2018-10-26 广东工业大学 一种基于联盟链的交通信息存放方法及装置
CN108764857A (zh) * 2018-06-08 2018-11-06 北京阿尔山金融科技有限公司 打卡设备的打卡激励方法及打卡系统
CN109376552A (zh) * 2018-08-21 2019-02-22 阿里巴巴集团控股有限公司 一种基于区块链存证的证据采集方法及系统
US10764070B2 (en) 2018-08-30 2020-09-01 International Business Machines Corporation High precision timestamps in blockchain
WO2019072301A2 (en) 2018-12-21 2019-04-18 Alibaba Group Holding Limited VERIFYING THE INTEGRITY OF STORED DATA IN A CONSORTIUM BLOCK CHAIN USING A PUBLIC SECONDARY CHAIN
KR20200085085A (ko) 2019-01-04 2020-07-14 김영관 블록체인 기반의 개방형 타임스탬프 발행 시스템 및 그 발행 방법
CN109862135A (zh) * 2019-03-19 2019-06-07 全链通有限公司 基于域名区块链的群组通信方法、区块链节点及介质
CN110163006B (zh) * 2019-04-18 2020-07-07 阿里巴巴集团控股有限公司 一种块链式账本中的签名验证方法、系统、装置及设备
WO2020255575A1 (ja) * 2019-06-19 2020-12-24 ソニー株式会社 暗号鍵生成装置、暗号鍵生成方法
CN110278462A (zh) * 2019-06-20 2019-09-24 北京工业大学 一种基于区块链的流动放映授权管理方法
CN110674521A (zh) * 2019-09-27 2020-01-10 合肥工业大学 一种隐私保护的证据管理系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3475145B2 (ja) 2000-04-13 2003-12-08 三菱電機株式会社 時刻情報提供システム及び時刻情報提供方法及び時刻情報提供方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読みとり可能な記録媒体
JP2002215029A (ja) 2001-01-22 2002-07-31 Seiko Epson Corp 情報認証装置及びこれを使用したデジタルカメラ
JP2005045486A (ja) 2003-07-28 2005-02-17 Casio Comput Co Ltd 撮像装置、撮影画像の認証方法及びプログラム
JP4853646B2 (ja) 2004-11-17 2012-01-11 日本電気株式会社 時刻認証システム
US20160098730A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and Method for Block-Chain Verification of Goods
US9679276B1 (en) 2016-01-26 2017-06-13 Stampery, Inc. Systems and methods for using a block chain to certify the existence, integrity, and/or ownership of a file or communication

Also Published As

Publication number Publication date
JP2017157926A (ja) 2017-09-07
US20170249482A1 (en) 2017-08-31
US10402594B2 (en) 2019-09-03

Similar Documents

Publication Publication Date Title
US10158492B2 (en) Blockchain-supported device location verification with digital signatures
US20190273620A1 (en) Data sharing method and data sharing system
US20200267003A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
JP2019013009A (ja) 不正デジタル証明書の自動検出
KR20190118561A (ko) 디지털 인증서 관리 방법, 장치 및 시스템
CN107403303B (zh) 一种基于区块链存证的电子合同系统的签署方法
EP3130104B1 (en) System and method for sequential data signatures
JP2019506103A (ja) 信頼できるアイデンティティを管理する方法
US8938625B2 (en) Systems and methods for securing cryptographic data using timestamps
Luo et al. Veriplace: a privacy-aware location proof architecture
CN101444063B (zh) 用于无线设备的安全时间功能
US8479001B2 (en) Self-authentication communication device and device authentication system
US8959346B2 (en) System and method for a single request—single response protocol with mutual replay attack protection
US7770009B2 (en) Digital signing method
JP4186466B2 (ja) コンテンツ配信システム、コンテンツ配信方法、および情報処理装置、並びにコンピュータ・プログラム
JP3552648B2 (ja) アドホック無線通信用データ送受システム及びアドホック無線通信用データ送受方法
US10586260B2 (en) Securing in-app purchases
CA2947177C (en) System and method for secure voting
US5373561A (en) Method of extending the validity of a cryptographic certificate
US9531533B2 (en) Rule-based validity of cryptographic key material
JP5046165B2 (ja) チップカードを備える組み込みシステム上に安全なカウンタを作成する方法
JP5556895B2 (ja) コンテンツデータ再生装置、更新管理方法、及び更新管理プログラム
US20170339164A1 (en) System and method for an integrity focused authentication service
JP5193124B2 (ja) 電子透かし埋め込み方法及び装置
JP2020517200A (ja) Utxo基盤プロトコルを利用したブロックチェーン基盤の文書管理方法及びこれを利用した文書管理サーバ{method for managing document on basis of blockchain by using utxo−based protocol,and document management server using same}

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191230

R150 Certificate of patent or registration of utility model

Ref document number: 6648555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150