JP7143626B2 - 配置装置、検証装置、制御方法、データ生成方法及びデータ構造 - Google Patents

配置装置、検証装置、制御方法、データ生成方法及びデータ構造 Download PDF

Info

Publication number
JP7143626B2
JP7143626B2 JP2018092138A JP2018092138A JP7143626B2 JP 7143626 B2 JP7143626 B2 JP 7143626B2 JP 2018092138 A JP2018092138 A JP 2018092138A JP 2018092138 A JP2018092138 A JP 2018092138A JP 7143626 B2 JP7143626 B2 JP 7143626B2
Authority
JP
Japan
Prior art keywords
verification
data
information
verification information
placement
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
JP2018092138A
Other languages
English (en)
Other versions
JP2019197470A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2018092138A priority Critical patent/JP7143626B2/ja
Publication of JP2019197470A publication Critical patent/JP2019197470A/ja
Application granted granted Critical
Publication of JP7143626B2 publication Critical patent/JP7143626B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本開示は、データの真正性を検証する技術に関する。
従来から、データの真正性を検証するための電子署名を安全に保管する技術が知られている。例えば、特許文献1には、同じフォーマットに含まれている電子署名と電子文書を分離し、非セキュア領域に電子文書を保存し、セキュア領域に電子署名を保存し、電子文書と署名とに対して相互にリンク付けを行うように構成された携帯端末装置が開示されている。
特許第4833017号
特許文献1では、電子署名の保管場所としてセキュア領域という特殊な環境が必要である。セキュア領域がない環境に、データの改ざんの有無を検証するための電子署名などの情報(検証情報)を保管する場合、検証対象となるデータとともに保管場所が明らかな検証情報も改ざんされてしまい、改ざんの発生を的確に検証できなくなってしまう。
本開示は、上記のような課題を解決するためになされたものであり、検証情報の配置場所を好適に決定することが可能な配置装置及び当該検証情報を用いたデータの真正性を好適に検証可能な検証装置等を提供することを主な目的とする。
本開示の1つの観点では、配置装置は、グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成手段と、前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置手段と、を有し、前記配置手段は、前記1の配置先候補以外の前記複数の配置先候補の少なくともいずれかに前記検証情報と異なる情報を配置する。この態様によれば、検証対象または検証情報によって検証情報を配置する1の配置先候補が柔軟に変更されるため、配置装置は、検証情報の配置場所を好適に秘匿化し、検証情報の改ざんを好適に防ぐことができる。また、後述の検証装置において説明するように、データの改ざんがあった場合には検証装置が検証情報の配置場所を正しく特定することができなくなるため、仮に検証情報が改ざんされた場合であっても、改ざんの発生が好適に検出可能となる。また、配置装置は、検証情報の配置場所の秘匿性を好適に高めることができる。
本開示の1つの観点では、配置装置は、グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成手段と、前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置手段と、を有し、前記複数の配置先候補は、前記データの内部である。この態様により、配置装置は、いずれかのデータに検証情報を好適に内包させることができる。好適には、前記複数の配置先候補は、前記データの内部の所定のデータ領域であるとよい。
上記配置装置の一態様では、前記グループは複数のデータから構成される。この態様では、配置装置は、複数のデータの検証対象の真正性を検証するための検証情報を好適に生成及び配置することができる。好適には、前記複数の配置先候補は、前記複数のデータのいずれかと対応しているとよい。
上記配置装置の他の一態様では、前記データは、DICOM形式のデータである。この態様によれば、DICOM形式のデータの検証情報をグループ単位で生成し、かつ、検証情報をいずれかのDICOM形式のデータのタグに好適に格納することができる。
上記配置装置の他の一態様では、前記配置手段は、前記検証対象または前記検証情報に基づき、前記1以上のデータから前記検証情報を配置すべき1のデータを特定し、かつ、前記検証対象または前記検証情報に基づき、前記1のデータ内において前記検証情報を配置すべきデータ領域を特定する。この態様では、配置装置は、配置場所を2段階の手順により決定するため、検証情報の配置場所の秘匿性を好適に高めることができる。
上記配置装置の他の一態様では、前記グループは、複数種類のデータから構成される。このように、配置装置は、複数種類のデータを対象とする場合であっても、これらのデータの検証対象の真正性を検証するための検証情報の生成及び配置を好適に行うことができる配置場所を決定してもよい。
本開示の他の観点では、グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、第1の時間に第1の方法により生成された、前記検証対象の真正性を検証するための第1検証情報を検証する検証装置であって、前記第1の方法により、前記第1の時間より後の第2の時間に、前記データの夫々の前記検証対象に基づき、第2検証情報を生成する生成手段と、前記検証対象または前記第2検証情報に基づき、前記第1検証情報の複数の配置先候補から1の配置先候補を選択する選択手段と、前記1の配置先候補における前記第1検証情報の有無に基づき、前記検証対象の真正性を検証する第1検証手段と、前記1の配置先候補に前記第1検証情報が配置されていた場合に、当該第1検証情報と、前記第2検証情報とに基づき、前記検証対象の真正性を検証する第2検証手段と、を有する。この態様では、データの改ざん発生が発生した場合、検証装置が第1検証情報の配置先候補を選択するための検証対象または検証情報が変更されるため、検証装置が選択する第1検証情報の配置先候補が改ざんの影響により変更される。従って、検証装置は、選択した第1検証情報の配置先候補における第1検証情報の有無に基づき、データの検証対象の真正性を好適に検証することができる。また、検証装置は、選択した配置先候補に第1検証情報が存在する場合には、グループを構成するデータの検証対象から自ら生成した第2検証情報と第1検証情報とを比較することで、データの検証対象の真正性をさらに検証することができる。従って、この態様によれば、検証装置は、データの検証対象の真正性を的確に検証することができる。
本開示のさらに別の実施形態では、情報処理装置が実行する制御方法であって、グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成工程と、前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置工程と、を有し、前記配置工程は、前記1の配置先候補以外の前記複数の配置先候補の少なくともいずれかに前記検証情報と異なる情報を配置する。情報処理装置は、この制御方法を実行することで、検証情報の配置場所を好適に秘匿化し、検証情報の改ざんを好適に防ぐことができる。
本開示のさらに別の実施形態では、情報処理装置が実行する制御方法であって、グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成工程と、前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置工程と、を有し、前記複数の配置先候補は、前記データの内部である。
本開示のさらに別の実施形態では、グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、第1の時間に第1の方法により生成された、前記検証対象の真正性を検証するための第1検証情報を検証する情報処理装置が実行する制御方法であって、前記第1の方法により、前記第1の時間より後の第2の時間に、前記データの夫々の前記検証対象に基づき、第2検証情報を生成する生成工程と、前記検証対象または前記第2検証情報に基づき、前記第1検証情報の複数の配置先候補から1の配置先候補を選択する選択工程と、前記1の配置先候補における前記第1検証情報の有無に基づき、前記検証対象の真正性を検証する第1検証工程と、前記1の配置先候補に前記第1検証情報が配置されていた場合に、当該第1検証情報と、前記第2検証情報とに基づき、前記検証対象の真正性を検証する第2検証工程と、を有する。情報処理装置は、この制御方法を実行することで、データの検証対象の真正性を的確に検証することができる。
本開示のさらに別の実施形態では、情報処理装置が実行するデータ生成方法であって、グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する第1生成工程と、前記検証対象または前記検証情報に基づき、前記データの内部に存在する配置先候補から選択された1の配置先候補に前記検証情報を配置し、前記検証情報を内包する1つのグループを構成するデータを生成する第2生成工程と、を有する。情報処理装置は、このデータ生成方法を実行することで、グループ内のデータの検証対象の真正性を検証するための検証情報を内包したデータを好適に生成することができる。
本開示のさらに別の実施形態では、情報処理装置により参照される、複数のデータからなるデータ群のデータ構造であって、前記複数のデータそれぞれにおいて前記情報処理装置による検証対象となる検証対象データと、前記データ群の一部または全部に相当する前記検証対象データに基づき生成され、前記データ群のいずれか1のデータに内包される検証情報であって、前記情報処理装置が、前記検証対象データに基づき選択した前記いずれか1のデータから取得し、前記データ群の真正性を検証する処理に用いられる、検証情報と、を含む。このデータ構造によれば、複数のデータからなるデータ群には、データ群の真正性を検証するための検証情報が好適に内包される。よって、データ群を参照する情報処理装置は、この検証情報の配置場所及び内容に基づいて、データ群の真正性を好適に検証することができる。
本開示のさらに別の実施形態では、情報処理装置により参照されるデータのデータ構造であって、前記情報処理装置による検証対象となる検証対象データ領域と、複数のデータ領域を含み、前記情報処理装置が、前記検証対象データ領域に基づき、前記複数のデータ領域のうちの1のデータ領域を選択し、前記1のデータ領域の検証情報に基づいて、前記検証対象の真正性を検証する処理に用いられる、オプション領域とを含む。このデータ構造では、オプション領域内のいずれかのデータ領域に、検証対象データ領域の真正性を検証するための検証情報が含まれる。よって、データを参照する情報処理装置は、検証情報の配置場所及び内容に基づいて、検証対象データ領域のデータの真正性を好適に検証することができる。
本開示によれば、検証対象または検証情報によって検証情報を配置する1の配置先候補が柔軟に変更されるため、配置装置は、検証情報の配置場所を好適に秘匿化し、検証情報の改ざんを好適に防ぐことができる。また、検証装置は、データの改ざんがあった場合には配置された検証情報の場所を正しく特定することができなくなるため、仮に検証情報が改ざんされた場合であっても、検証情報の有無に基づき改ざんの発生を好適に検出することができる。
第1実施形態に係る検証システムの構成を示す。 配置装置のブロック構成を示す。 検証装置のブロック構成を示す。 第1検証情報の生成及び配置に関する処理の概要を示す図である。 第1実施形態における第1検証情報の生成及び配置に関するフローチャートである。 第1検証情報が配置された後にいずれのデータにも改ざんが発生していない場合の検証処理の概要を示す図である。 第1検証情報が配置された後にデータの改ざんが発生した場合の検証処理の概要を示す図である。 第1実施形態におけるデータ検証に関するフローチャートである。 変形例における検証処理の概要を示す図である。 第2実施形態に係る検証システムの構成を示す。 DICOMデータのデータ構造例を示す。 第2実施形態における配置装置のブロック構成を示す。 第2実施形態における検証装置のブロック構成を示す。 電子署名の生成及び配置に関する処理の概要を示す図である。 電子署名を格納するタグを説明する図である。 第2実施形態における電子署名の生成及び配置に関する処理手順を示すフローチャートである。 第2実施形態におけるデータ検証の概要を示す図である。 第2実施形態におけるデータ検証の手順を示すフローチャートである。 第2実施形態の変形例に係る検証対象グループの構成例を示す。
以下、図面を参照しながら、本開示の第1及び第2実施形態について説明する。
<第1実施形態>
[データ管理システムの構成]
図1は、第1実施形態に係る検証システム100の構成を示す。検証システム100は、グループ(データ群)ごとのデータの改ざんの有無(即ち真正性)の検証を行うシステムである。検証システム100は、主に、検証対象となるグループ(「検証対象グループGtag」とも呼ぶ。)に属する各データの真正性を検証するための情報の生成及び配置を行う配置装置1Aと、検証対象グループGtagに属する各データの真正性を検証する検証装置1Bとを有する。
検証対象グループGtagは、検証対象とするデータ(「検証対象データ」とも呼ぶ。)である「データ1」~「データn」(nは1以上の整数)から構成されるグループである。ここで、「グループ」は、所定のデータが、検証時に属していることが検証装置1Bにより確認できる単位により構成するようにしてもよい。例えば、グループを、所定の共通する属性を有するデータから構成してもよい。属性の共通性は、例えば、格納されているフォルダの共通性、作成者の共通性、作成年月日の共通性、及びファイル種の共通性、後述するDICOM(Digital Imaging and Communications in Medicine)シリーズの共通性などとしてよい。なお、検証対象グループGtag内の各検証対象データは、配置装置1A又は検証装置1Bに記憶されてもよく、配置装置1A及び検証装置1B以外の外部装置により記憶されてもよい。
検証対象データ「データ1」~「データn」は、それぞれ検証対象となる部分(「検証対象部」とも呼ぶ。)を含む。検証対象部は、検証対象データ全体であってもよく、検証対象データの一部であってもよい。後者の場合、配置装置1A及び検証装置1Bは、検証対象データ内の同一領域を検証対象部として特定できるように、検証対象部を特定する情報を予め共有する。また、検証対象部は、検証対象データのデータ種類ごとに定められてもよい。例えば、検証対象データがバイナリデータの場合には、検証対象部は、データ領域又は/及びヘッダ領域に定められ、検証対象データがDICOMの場合には、検証対象部は、特定のタグ(例えばピクセルデータやレポートデータに対応するタグ)のデータ領域に定められる。なお、検証対象部は、後述する検証情報が任意の場所に配置された場合であっても影響がない領域に定められる。
配置装置1Aは、検証対象グループGtagに含まれる全ての検証対象データの検証対象部の真正性を検証するための情報(「第1検証情報Iv1」とも呼ぶ。)を生成し、生成した第1検証情報Iv1を予め定めた配置候補のいずれかの場所に格納する。ここで、第1検証情報Iv1は、検証対象グループGtagに含まれる全ての検証対象データの検証対象部を用いて生成されるデータであって、いずれかの検証対象データの検証対象部が変化すると必ず変化するデータとなる。第1検証情報Iv1は、例えば、所定のハッシュ関数により得られるハッシュ値であってもよく、メッセージ認証コードであってもよく、デジタル署名であってもよい。また、第1検証情報Iv1の配置候補は、検証対象データ内の所定のデータ領域であってもよく、検証対象データ以外の場所であってもよい。後者の配置候補の例は、所定のパス、所定のファイルの所定箇所、又は、外部の記憶装置内の格納場所を示す所定のURIなどが該当する。なお、配置候補は、第1検証情報Iv1が配置されることにより検証対象データの検証対象部に影響が生じない場所に定められる。後述するように、配置装置1Aは、第1検証情報Iv1に基づき、予め定めた複数の配置候補から1つ配置候補を選択し、選択した配置候補に第1検証情報Iv1を格納する。なお、配置装置1Aが第1検証情報Iv1を生成する時間(時刻)は、本開示における「第1の時間」の一例であり、配置装置1Aが第1検証情報Iv1を生成する方法は、本開示における「第1の方法」の一例である。
検証装置1Bは、検証対象グループGtagに属する検証対象データの真正性を、配置装置1Aが生成及び配置した第1検証情報Iv1に基づき検証する。この場合、検証装置1Bは、第1検証情報Iv1が生成される時刻(第1の時間)より後の時刻において、各検証対象データの検証対象部の真正性を検証するための情報(「第2検証情報Iv2」とも呼ぶ。)を、第1検証情報Iv1の生成方法(第1の方法)と同一の方法により生成する。そして、検証装置1Bは、第2検証情報Iv2に基づき、第1検証情報Iv1の配置場所を特定し、特定した配置場所から抽出した第1検証情報Iv1と第2検証情報Iv2とを比較することで、検証対象グループGtagに属する検証対象データの真正性を検証する。ここで、第2検証情報Iv2は、検証対象グループGtagに含まれる全ての検証対象データの検証対象部を用いて生成されるデータであって、いずれかの検証対象データの検証対象部が変化すると必ず変化するデータとなる。なお、検証装置1Bが第2検証情報Iv2を生成する時間(時刻)は、本開示における「第2の時間」の一例である。
図2は、配置装置1Aのブロック構成を示す。図2に示すように、配置装置1Aは、記憶部3Aと、通信部4Aと、制御部5Aとを含む。これらの各要素は、バスラインを介して相互に接続されている。なお、配置装置1Aは、図2に示した構成要素以外の任意の構成要素(例えば入力部や表示部等)を含んでよい。
記憶部3Aは、制御部5Aが実行するプログラム、及び、制御部5Aがプログラムを実行することで所定の処理を実行するのに必要な情報を記憶する。また、記憶部3Aは、配置候補情報6Aを記憶する。配置候補情報6Aは、第1検証情報Iv1の配置候補を示す情報であり、インデックス(「候補インデックス」とも呼ぶ。)ごとに異なる配置候補が関連付けられた情報である。通信部4Aは、制御部5Aの制御に基づき、データ通信を行う。例えば、通信部4Aは、検証対象グループGtagに属する検証対象データを検証装置1Bに送信する処理を行ったり、決定した第1検証情報Iv1の配置場所が配置装置1Aの外部装置内である場合に当該外部装置に第1検証情報Iv1を送信する処理を行ったりする。
制御部5Aは、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)などを備え、配置装置1A内の各構成要素に対して種々の制御を行う。また、制御部5Aは、検証情報生成器7Aと、乱数生成器8Aとを有する。検証情報生成器7Aは、検証対象グループGtagに含まれる全ての検証対象データの検証対象部から第1検証情報Iv1を生成する。検証情報生成器7Aは、例えばハッシュ関数を適用することで、いずれかの検証対象データの検証対象部が変化すると必ず変化するデータとなるような第1検証情報Iv1を生成する。乱数生成器8Aは、第1検証情報Iv1から配置候補情報6Aに記録された候補インデックスのいずれかを示す乱数を出力する。なお、乱数生成器8Aは、同一の入力に対して同一の出力を行う。
図3は、検証装置1Bのブロック構成を示す。図3に示すように、検証装置1Bは、記憶部3Bと、通信部4Bと、制御部5Bとを含む。これらの各要素は、バスラインを介して相互に接続されている。なお、検証装置1Bは、図3に示した構成要素以外の任意の構成要素(例えば入力部や表示部等)を含んでよい。
記憶部3Bは、制御部5Bが実行するプログラム、及び、制御部5Bがプログラムを実行することで所定の処理を実行するのに必要な情報を記憶する。また、記憶部3Bは、配置候補情報6Aと同一の候補インデックスと配置候補の組を示す配置候補情報6Bを記憶する。通信部4Bは、制御部5Bの制御に基づき、データ通信を行う。例えば、通信部4Bは、検証対象グループGtagに属する検証対象データを配置装置1Aから受信する処理を行ったり、第1検証情報Iv1の配置場所が外部である場合に当該外部から第1検証情報Iv1を受信する処理を行ったりしてもよい。
制御部5Bは、図示しないCPU、ROM及びRAMなどを備え、検証装置1B内の各構成要素に対して種々の制御を行う。また、制御部5Bは、検証情報生成器7Bと、乱数生成器8Bとを有する。検証情報生成器7Bは、検証情報生成器7Aと同一アルゴリズムにより、検証対象グループGtagに含まれる全ての検証対象データの検証対象部を用いて第2検証情報Iv2を生成する。乱数生成器8Bは、乱数生成器8Aと同一アルゴリズムにより、第2検証情報Iv2から配置候補情報6Aに記録された候補インデックスのいずれかを示す乱数を出力する。なお、乱数生成器8Bは、同一の入力に対して同一の出力を行い、乱数生成器8Aと同一の入力が行われた場合には乱数生成器8Aと同一の出力を行う。
[第1検証情報の生成及び配置]
次に、配置装置1Aが実行する第1検証情報Iv1の生成及び配置について具体的に説明する。図4は、第1検証情報Iv1の生成及び配置に関する処理の概要を示す図である。なお、図4の例では、配置候補情報6Aには、候補インデックス「1」~「m」(mは2以上の整数)に対してそれぞれ第1検証情報Iv1の配置候補が対応付けられているものとする。
まず、配置装置1Aの検証情報生成器7Aは、検証対象グループGtagに属する全ての検証対象データである「データ1」~「データn」の検証対象部を入力データとして所定のアルゴリズムを実行することで第1検証情報Iv1を生成する。
次に、配置装置1Aの乱数生成器8Aは、検証情報生成器7Aにより出力された第1検証情報Iv1を入力として乱数「X」(1≦X≦m)を生成する。このように、乱数生成器8Aは、第1検証情報Iv1に基づき、配置候補情報6Aにおいて配置候補と対応付けられた候補インデックスのいずれかに対応する乱数Xを出力する。
そして、配置装置1Aは、配置候補情報6Aを参照することで、乱数生成器8Aが出力した乱数Xを候補インデックスとする配置候補を特定し、特定した配置候補が示す配置場所に第1検証情報Iv1を格納する。
このように、配置装置1Aは、検証対象グループGtagに属する全ての検証対象データの検証対象部に基づき第1検証情報Iv1を生成し、かつ、第1検証情報Iv1に基づき第1検証情報Iv1の配置場所を決定する。これにより、配置装置1Aは、第1検証情報Iv1の配置場所を好適に秘匿化し、第1検証情報Iv1の改ざんを好適に防ぐことができる。また、後述するように、検証対象データの改ざんがあった場合には、検証装置1Bが第1検証情報Iv1の配置場所を正しく特定することができなくなるため、仮に第1検証情報Iv1が改ざんされた場合であっても、検証装置1Bは改ざんの発生を好適に認識することができる。
図5は、第1実施形態における第1検証情報Iv1の生成及び配置に関するフローチャートである。
まず、配置装置1Aは、検証対象グループGtagに属する検証対象データを読み込む(ステップS11)。そして、配置装置1Aは、読み込んだ各検証対象データの検証対象部から第1検証情報Iv1を生成する(ステップS12)。そして、配置装置1Aは、ステップS12で生成した第1検証情報Iv1から配置場所を決定する(ステップS13)。この場合、配置装置1Aは、配置候補情報6Aにおいて配置候補と対応付けられた候補インデックスを示す乱数を第1検証情報Iv1に基づき生成することで、第1検証情報Iv1の配置場所を決定する。そして、配置装置1Aは、ステップS13で決定した配置場所に第1検証情報Iv1を配置する(ステップS14)。
[真正性の検証]
次に、検証装置1Bが実行する検証対象グループGtagに属する検証対象データの真正性の検証について具体的に説明する。図6は、図4の例に基づき第1検証情報Iv1が配置された後にいずれの検証対象データにも改ざんが発生していない場合の検証処理の概要を示す図である。
まず、検証装置1Bの検証情報生成器7Bは、検証対象グループGtagに属する全ての検証対象データである「データ1」~「データn」の検証対象部を入力データとして所定のアルゴリズムを実行することで第2検証情報Iv2を生成する。なお、検証情報生成器7Bは、検証情報生成器7Aと同一アルゴリズムを実行するため、いずれの検証対象データにも改ざんが発生していない場合には、検証情報生成器7Aが生成した第1検証情報Iv1と同一となる第2検証情報Iv2を出力する。
次に、検証装置1Bの乱数生成器8Bは、検証情報生成器7Bにより出力された第2検証情報Iv2を入力として、1以上m以下となる整数の乱数を生成する。ここで、乱数生成器8Aと乱数生成器8Bとは、同一の入力に対して同一の値を出力するため、第1検証情報Iv1と第2検証情報Iv2とが同一である場合には、同一の値を出力する。ここでは、いずれの検証対象データにも改ざんが発生していないことから、乱数生成器8Bは、乱数生成器8Aと同一の乱数Xを出力する。
そして、検証装置1Bは、配置候補情報6Aと同一内容を示す配置候補情報6Bを参照することで、乱数生成器8Bが出力した乱数Xを候補インデックスとする配置候補を特定し、当該配置候補に格納された情報を第1検証情報Iv1として抽出する。ここでは、検証装置1Bは、第1検証情報Iv1が格納された配置場所を示す候補インデックスXの配置候補を特定することにより、第1検証情報Iv1を取得する。そして、検証装置1Bは、配置候補情報6Bを参照することで特定した配置候補に存在するデータ(ここでは第1検証情報Iv1)と第2検証情報Iv2とを比較し、同一である場合には改ざんが発生していないと判断する。
図7は、図4の例に基づき第1検証情報Iv1が配置された後に検証対象データの改ざんが発生した場合の検証処理の概要を示す図である。ここでは、一例として、「データ1」の検証対象部に対し改ざんが行われ、さらに改ざん後の検証対象グループGtagの検証対象データに整合するように第1検証情報Iv1が書き換えられたものとする。
この場合、検証装置1Bの検証情報生成器7Bは、検証対象グループGtagに属する全ての検証対象データである「データ1」~「データn」の検証対象部を入力データとして所定のアルゴリズムを実行することで第2検証情報Iv2を生成する。ここで、第2検証情報Iv2は、書き換え前の第1検証情報Iv1の生成時(図4参照)と異なる入力データにより生成されているため、書き換え前の第1検証情報Iv1と異なる値となる。一方、第1検証情報Iv1は改ざん後の検証対象グループGtagのデータに整合するように書き換えられているため、検証情報生成器7Bが生成した第2検証情報Iv2は、書き換えられた第1検証情報Iv1と同一となる。
そして、検証装置1Bの乱数生成器8Bは、検証情報生成器7Bにより出力された第2検証情報Iv2を入力として、1以上m以下となる整数の乱数「Y」を生成する。ここで、第2検証情報Iv2は、書き換え前の第1検証情報Iv1と異なる値となるため、乱数生成器8Bが出力する乱数Yは、図4に示す乱数生成器8Aが出力する乱数Xと異なる値となる。そして、検証装置1Bは、配置候補情報6Bを参照することで、乱数生成器8Bが出力した乱数Yを候補インデックスとする配置候補を特定し、当該配置候補に格納された情報を第1検証情報Iv1として抽出する処理を行う。
この場合、検証装置1Bは、第1検証情報Iv1が格納された配置候補と異なる配置候補を参照するため、第1検証情報Iv1を適切に抽出することができない。よって、この場合、検証装置1Bは、検証対象グループGtagに属する少なくともいずれかの検証対象データが改ざんされたことを認識する。
このように、検証装置1Bは、検証対象データに改ざんが行われ、かつ、改ざん後の検証対象データに整合するように第1検証情報Iv1が書き換えられた場合であっても、改ざんの発生を第1検証情報Iv1の配置により好適に認識することができる。言い換えると、第1検証情報Iv1に基づき第1検証情報Iv1の配置場所を決定することで、第1検証情報Iv1と第2検証情報Iv2との比較検証によっては検出できない改ざん等の不正についても好適に検出することができる。
図8は、第1実施形態において検証装置1Bが実行するデータ検証に関するフローチャートである。
まず、検証装置1Bは、検証対象グループGtagに属する検証対象データを読み込む(ステップS21)。そして、検証装置1Bは、読み込んだ各検証対象データの検証対象部から第2検証情報Iv2を生成する(ステップS22)。そして、検証装置1Bは、ステップS22で生成した第2検証情報Iv2から、第1検証情報Iv1が配置されている配置場所を特定する(ステップS23)。この場合、検証装置1Bは、配置候補情報6Bにおいて配置候補と対応付けられた候補インデックスのいずれかに対応する乱数を第2検証情報Iv2に基づき生成することで、第1検証情報Iv1の配置場所を特定する。
次に、検証装置1Bは、ステップS23で特定した配置場所から第1検証情報Iv1を取得できたか否か判定する(ステップS24)。そして、検証装置1Bは、ステップS23で特定した配置場所から第1検証情報Iv1を取得できた場合(ステップS24;Yes)、取得した第1検証情報Iv1とステップS22で生成した第2検証情報Iv2とを比較する(ステップS25)。この場合、検証装置1Bは、第1検証情報Iv1と第2検証情報Iv2が同一の場合には、検証対象グループGtagに属する検証対象データの真正性を確認できたと判断する。
一方、検証装置1Bは、ステップS23で特定した配置場所から第1検証情報Iv1を取得できなかった場合(ステップS24;No)、検証対象グループGtagに属する検証対象データのいずれかに改ざんが発生していると判断する。
[データ構造]
次に、第1検証情報Iv1が検証対象グループGtag内のいずれかの検証対象データ内に配置される場合の検証対象データのデータ構造について説明する。
この場合、検証対象データは、検証対象部を格納する第1データ領域と、第1検証情報Iv1を配置可能な第2データ領域と、を有する。そして、配置候補情報6Aには、配置候補として、検証対象データの第2データ領域がそれぞれ指定されている。そして、配置装置1Aは、配置候補情報6Aにおいて配置候補と対応付けられた候補インデックスを示す乱数を第1検証情報Iv1に基づき生成することで、第1検証情報Iv1を配置すべき検証対象データの第2データ領域を決定し、当該第2データ領域に第1検証情報Iv1を格納する。この場合、検証対象グループGtag内のいずれかの検証対象データの第2データ領域には、第1検証情報Iv1が内包される。なお、第2データ領域が複数のデータ領域を含み、これらのいずれのデータ領域に第1検証情報Iv1を配置するか決定する場合については、第2実施形態において詳細に説明する。上記説明において、第1データ領域は、本開示における「検証対象データ領域」の一例であり、第2データ領域は、本開示における「オプション領域」の一例である。
[変形例]
次に、第1実施形態に好適な変形例について説明する。
(変形例1-1)
配置装置1Aは、配置候補情報6Aに記録された配置候補のうち、第1検証情報Iv1の配置場所以外の配置候補に対し、第1検証情報Iv1と異なるダミー情報を配置してもよい。
図9は、本変形例における検証処理の概要を示す図である。図9の例では、配置装置1Aは、乱数生成器8Aが生成した乱数Xを候補インデックスとする配置候補に第1検証情報Iv1を配置すると共に、配置候補情報6Aに記録された他の配置候補にダミー情報(図9ではダミー情報A~D)を配置する。各ダミー情報は、第1検証情報Iv1と同一のフォーマットを有し、かつ、ダミー情報であることが第三者に容易に認識されないようにそれぞれ異なる情報となっている。
このように、配置装置1Aは、ダミー情報を配置することによって、悪意のある第三者により第1検証情報Iv1の配置場所を推定されにくくすることができる。例えば、各検証対象データ内の所定のデータ領域、又は、各検証対象データを格納する複数のフォルダが配置候補に指定されている場合などに、悪意のある第三者が各検証対象データ同士又は上述のフォルダ同士を比較することにより第1検証情報Iv1の配置場所が推定されるのを、ダミー情報の配置により好適に抑制することができる。
なお、検証対象データの改ざんが発生した後の検証時には、検証装置1Bは、乱数生成器8Bが生成する乱数に基づきダミー情報が配置された配置候補から当該ダミー情報を抽出して第2検証情報Iv2と比較を行う。この場合、ダミー情報と第2検証情報Iv2とが一致しないことから、検証装置1Bは、改ざんの発生を好適に認識することが可能である。
(変形例1-2)
配置装置1Aは、第1検証情報Iv1から配置候補を特定するためのインデックスを算出する代わりに、各検証対象データの検証対象部から上述のインデックスを算出してもよい。
この場合、乱数生成器8A及び乱数生成器8Bは、各検証対象データの検証対象部が入力された場合に、配置候補を特定するための候補インデックスを示す乱数を出力する。この場合であっても、第1検証情報Iv1の配置場所は、いずれかの検証対象データが改ざんされた場合に変動する。よって、検証装置1Bは、検証時において、各検証対象データの検証対象部を入力とする乱数生成器8Bの出力により特定した配置候補での第1検証情報Iv1の有無により、改ざんの発生を好適に認識することができる。
<第2実施形態>
第2実施形態は、第1実施形態における検証対象データをDICOM形式のデータ(「DICOMデータ」とも呼ぶ。)とした場合の応用例である。
[概略構成]
図10は、第2実施形態に係る検証システム100の構成を示す。第2実施形態では、DICOMの1つの属性であるシリーズ(Series)が同一となるDICOMデータを検証対象グループGtagとしている。また、検証対象グループGtagに含まれる各DICOMデータは、画像データとする。本第2実施形態ではDICOM画像データだけを対象とする。各DICOMデータ内の画像情報を表すピクセルデータを、本第2実施形態の検証対象部とする。そして、配置装置1Aは、検証対象グループGtag内の全てのDICOMデータのピクセルデータに基づき電子署名を生成し、いずれかのDICOMデータ内の未使用タグで指定された領域に格納する。また、検証装置1Bは、検証対象グループGtag内の全てのDICOMデータのピクセルデータに基づき電子署名の配置場所を特定し、当該電子署名を用いて検証対象グループGtag内のDICOMデータの真正性を検証する。
図11は、DICOMデータのデータ構造例を示す。図11に示すように、DICOMデータは、4桁のグループ番号と4桁のエレメント番号からなるインデックス(単に「タグ番号」とも呼ぶ。)が割り当てられた複数のタグ(Tag)を有している。例えば、(7FE0、0010)のタグには、ピクセルデータが格納されている。そして、(0000、0001)から(FFFF、FFFF)までのタグ番号うち、使用されるタグ番号はファイル種ごとに定められている。以後では、データが格納されていない未使用のタグを「未使用タグ」と呼び、未使用タグのタグ番号を「未使用タグ番号」とも呼ぶ。
図12は、第2実施形態における配置装置1Aのブロック構成を示す。図12に示すように、配置装置1Aは、第1実施形態と同様、記憶部3Aと、通信部4Aと、制御部5Aとを含む。記憶部3Aは、配置候補情報6Aと、電子署名を生成するための暗号用鍵9Aと、乱数生成器8Aが生成する乱数のシード(種)を決定するために使用する値「α」及び値「β」とを記憶する。第2実施形態における配置候補情報6Aは、配置候補となる各未使用タグ番号と、各未使用タグ番号に割り当てられた通し番号であるインデックスとを対応付けた情報であり、詳細は後述する。制御部5Aは、第1実施形態と同様、検証情報生成器7Aと、乱数生成器8Aとを有する。検証情報生成器7Aと乱数生成器8Aの処理の詳細は後述する。
図13は、第2実施形態における検証装置1Bのブロック構成を示す。図13に示すように、検証装置1Bは、第1実施形態と同様、記憶部3Bと、通信部4Bと、制御部5Bとを含む。記憶部3Bは、配置候補情報6Aと同一内容を示す配置候補情報6Bと、電子署名を復号するための復号用鍵9Bと、乱数生成器8Bが生成する乱数のシード(種)を決定するために使用する値α及び値βとを記憶する。制御部5Bは、第2実施形態と同様、検証情報生成器7Bと、乱数生成器8Bとを有する。検証情報生成器7Bと乱数生成器8Bの処理の詳細は後述する。
[電子署名の生成及び配置]
図14は、第2実施形態において配置装置1Aが実行する電子署名の生成及び配置に関する処理の概要を示す図である。ここでは、配置装置1Aは、乱数生成器8Aとして、2~nまでの値を出力する乱数生成器8Aaと、1~mまでの値を出力する乱数生成器8Abとを有する。なお、「n」は、対象のDICOMシリーズに属するDICOMデータの数と等しく、「m」は、各DICOMデータ内の未使用タグの数と等しい。以後において、「DICOMデータ1」~「DICOMデータn」にそれぞれ付された通し番号「1」~「n」を「DICOM番号」とも呼ぶ。
まず、配置装置1Aの検証情報生成器7Aは、検証対象グループGtagである所定のDICOMシリーズに属する「DICOMデータ1」~「DICOMデータn」のピクセルデータを入力とし、所定のアルゴリズムを実行することで、ハッシュ値「Vh1」を生成する。このハッシュ値Vh1は、第1検証情報Iv1に相当する。そして、配置装置1Aは、ハッシュ値Vh1に対して暗号用鍵9Aにより暗号化を行うことで、電子署名「Sg」を生成する。
さらに、配置装置1Aは、ハッシュ値Vh1に基づき電子署名Sgの配置場所を決定する。ここでは、電子署名Sgの配置場所として、電子署名Sgを付加するDICOMデータと、DICOMデータ内に格納すべき未使用タグ番号とをそれぞれ決定する。
まず、配置装置1Aは、ハッシュ値Vh1に値αを加えた値を乱数生成器8Aaに入力することで、2~nのいずれかとなる乱数「X1」を取得する。そして、配置装置1Aは、乱数X1に対応するDICOM番号となる「DICOMデータX1」を、電子署名Sgを付加する対象として決定する。なお、本実施形態では、後述するように、検証装置1Bは、「DICOMデータ1」を参照して電子署名Sg付加前のDICOMデータ内の未使用タグを認識する。よって、電子署名Sgを付加する対象から「DICOMデータ1」を除外するため、乱数生成器8Aaは、1を出力しないように構成されている。なお、配置装置1Aは、値αを用いて乱数生成器8Aaのシードを生成する場合、ハッシュ値Vh1に値αを加算する代わりに、ハッシュ値Vh1と値αとの論理演算を行うことで乱数生成器8Aaのシードを生成してもよく、その他の方法により乱数生成器8Aaのシードを生成してもよい。
さらに、配置装置1Aは、ハッシュ値Vh1に値αとは異なる値βを加えた値を乱数生成器8Abに入力することで、1~mのいずれかとなる乱数「X2」を取得する。このように、配置装置1Aは、ハッシュ値Vh1に対して値αとは異なる値βを加算した値を乱数生成器8Abのシードとし、乱数生成器8Aaのシードと乱数生成器8Abのシードとを異ならせる。そして、配置装置1Aは、DICOMデータにおいてX2番目の未使用タグを電子署名Sgの格納場所として決定する。なお、配置装置1Aは、値βを用いて乱数生成器8Abのシードを生成する場合、ハッシュ値Vh1に値βを加算する代わりに、ハッシュ値Vh1と値βとの論理演算を行うことで乱数生成器8Abのシードを生成してもよく、その他の方法により乱数生成器8Abのシードを生成してもよい。
ここで、電子署名Sgを格納するタグについて図15を参照して詳しく説明する。図15(A)は、未使用タグを破線により明示した「DICOMデータ1」のデータ構造を示す。
まず、配置装置1Aは、乱数生成器8Aaによる乱数生成前において、「DICOMデータ1」の未使用タグに対して通し番号を対応付け、当該通し番号と対応する未使用タグ番号とを対応付けた配置候補情報6Aを生成する。ここでは、(0000、0002)の未使用タグの通し番号が「1」、(0000、0004)の未使用タグの通し番号が「2」、(YYYY、YYYY)の未使用タグの通し番号がX2、(FFFF、FFFF)となる最後尾の未使用タグの通し番号がmとなる。
次に、配置装置1Aは、乱数生成器8Aaによる乱数生成後において、配置候補情報6Aを参照し、乱数生成器8Abが出力した乱数(ここではX2)に対応するタグ番号(ここでは(YYYY、YYYY))を特定する。このように、配置装置1Aは、ハッシュ値Vh1に対して値αとは異なる値βを加算した値を乱数生成器8Abのシードとし、乱数生成器8Aaのシードと乱数生成器8Aaのシードとを異ならせることで、悪意ある第三者による解析に対するセキュリティ強度を好適に高めることができる。
そして、配置装置1Aは、乱数生成器8Aaが取得した乱数X1に対応するDICOM番号X1のDICOMデータである「DICOMデータX1」のタグ(YYYY、YYYY)に電子署名Sgを格納する。図15(B)は、電子署名Sgが付加された後の「DICOMデータX1」のデータ構造を示す。図15(B)では、未使用タグは明示されていない。図15(B)に示すように、インデックス(YYYY、YYYY)のタグには、電子署名Sgが格納される。
図16は、第2実施形態における電子署名Sgの生成及び配置に関する処理手順を示すフローチャートである。
まず、配置装置1Aは、検証対象グループGtagとなるDICOMシリーズを読み込む(ステップS31)。そして、配置装置1Aは、読み込んだDICOMシリーズ内の各DICOMデータの検証対象部(前述の例ではピクセルデータ)からハッシュ値Vh1を生成する(ステップS32)。そして、配置装置1Aは、暗号用鍵9Aを用いて電子署名Sgを生成する(ステップS33)。
次に、配置装置1Aは、電子署名Sgを配置するDICOM番号を決定する(ステップS34)。この場合、配置装置1Aは、例えば、ハッシュ値Vh1と値αとの加算値を乱数生成器8Aaに入力することで得られた乱数を、電子署名Sgを配置するDICOM番号として認識する。
さらに、配置装置1Aは、電子署名Sgを配置する未使用タグを決定する(ステップS35)。この場合、配置装置1Aは、例えば、ハッシュ値Vh1と値βとの加算値を乱数生成器8Abに入力することで得られた乱数を、電子署名Sgを配置すべきタグを示す未使用タグの通し番号とみなすことで、電子署名Sgを配置する未使用タグを決定する。そして、配置装置1Aは、ステップS34で決定したDICOM番号のDICOMデータの未使用タグのうち、ステップS35で決定した未使用タグに電子署名Sgを配置する(ステップS36)。
[真正性の検証]
図17は、第2実施形態におけるDICOMデータの真正性の検証の概要を示す図である。
まず、検証装置1Bの検証情報生成器7Bは、検証対象グループGtagである所定のDICOMシリーズに属する「DICOMデータ1」~「DICOMデータn」のピクセルデータを入力とし、所定のアルゴリズムを実行することで、ハッシュ値「Vh2」を生成する。このハッシュ値Vh2は、第1実施形態における第2検証情報Iv2に相当する。
次に、検証装置1Bは、ハッシュ値Vh2に基づき電子署名Sgの配置場所を特定する。ここでは、電子署名Sgの配置場所として、電子署名Sgを付加するDICOMデータと、DICOMデータ内に格納すべき未使用タグ番号とをそれぞれ特定する。まず、検証装置1Bは、ハッシュ値Vh2に値αを加えた値を乱数生成器8Baに入力することで、2~nのいずれかとなる乱数「Y1」を取得する。なお、乱数生成器8Baは、乱数生成器8Aaと同一アルゴリズムを実行し、同一の入力に対して乱数生成器8Aaと同一の出力を行う。そして、検証装置1Bは、乱数Y1に対応するDICOM番号となる「DICOMデータY1」を、電子署名Sgを付加する対象として決定する。さらに、検証装置1Bは、ハッシュ値Vh2に値αとは異なる値βを加えた値を乱数生成器8Bbに入力することで、1~mのいずれかとなる乱数「Y2」を取得する。なお、乱数生成器8Bbは、乱数生成器8Abと同一アルゴリズムを実行し、同一の入力に対して乱数生成器8Abと同一の出力を行う。さらに、検証装置1Bは、「DICOMデータ1」の未使用タグに対して通し番号を対応付け、当該通し番号と対応する未使用タグ番号とを対応付けた配置候補情報6Bを生成する。
そして、検証装置1Bは、配置候補情報6Bを参照し、乱数生成器8Bbが出力した乱数Y2に対応するタグのインデックスを特定する。そして、検証装置1Bは、乱数生成器8Baが取得した乱数Y1に対応するDICOM番号Y1のDICOMデータである「DICOMデータY1」のタグのうち、乱数Y2と同一のタグ番号のタグに格納されたデータを電子署名Sgとして抽出する。ここで、乱数X1と乱数Y1、乱数X2と乱数Y2とがそれぞれ等しい場合、検証装置1Bは、配置装置1Aが配置した電子署名Sgを適切に抽出することができる。そして、検証装置1Bは、電子署名Sgを復号用鍵9Bにより復号することでハッシュ値Vh1を取得し、検証情報生成器7Bが出力したハッシュ値Vh2と比較検証を行う。
ここで、検証対象グループGtagであるDICOMシリーズに含まれるDICOMデータのピクセルデータのうち少なくともいずれかに改ざんが発生した場合、検証情報生成器7Bが出力するハッシュ値Vh2は、改ざん発生前に検証情報生成器7Aが出力したハッシュ値Vh1と異なる値になる。よって、この場合、乱数生成器8Baが出力する乱数Y1と乱数生成器8Aaが出力する乱数X1とが異なる値となり、かつ、乱数生成器8Bbが出力する乱数Y2と乱数生成器8Abが出力する乱数X2とが異なる値となる。よって、この場合、検証装置1Bは、配置装置1Aが電子署名Sgを配置したタグと異なる未使用タグを電子署名Sgの配置場所として参照することとなる。この場合、検証装置1Bは、参照したタグにデータが存在しないことから、検証対象グループGtagであるDICOMシリーズに含まれるDICOMデータのピクセルデータのうち少なくともいずれかに改ざんが発生したことを認識することができる。
図18は、第2実施形態におけるデータ検証の手順を示すフローチャートである。
まず、検証装置1Bは、検証対象グループGtagとなるDICOMシリーズを読み込む(ステップS41)。そして、検証装置1Bは、読み込んだDICOMシリーズ内の各DICOMデータの検証対象部(ここではピクセルデータ)からハッシュ値Vh2を生成する(ステップS42)。
次に、検証装置1Bは、電子署名Sgが配置されたDICOM番号を特定する(ステップS43)。この場合、検証装置1Bは、例えば、ハッシュ値Vh2と値αとの加算値を乱数生成器8Baに入力することで得られた乱数を、電子署名Sgが配置されたDICOM番号として認識する。さらに、検証装置1Bは、電子署名Sgが配置されたタグを特定する(ステップS44)。この場合、検証装置1Bは、例えば、ハッシュ値Vh2と値βとの加算値を乱数生成器8Bbに入力することで得られた乱数を、電子署名Sgが配置されたタグを示す未使用タグの通し番号とみなす。
そして、検証装置1Bは、ステップS43で特定したDICOM番号のDICOMデータを参照し、ステップS44で特定したタグから電子署名Sgが取得できたか否か判定する(ステップS45)。そして、検証装置1Bは、電子署名Sgを取得できた場合(ステップS45;Yes)、電子署名Sgを復号用鍵9Bにより復号することでハッシュ値Vh1を取得する(ステップS46)。そして、検証装置1Bは、ステップS46で取得したハッシュ値Vh1とステップS42で生成したハッシュ値Vh2とを比較する(ステップS47)。この場合、検証装置1Bは、ハッシュ値Vh1とハッシュ値Vh2が同一の場合には、対象のDICOMシリーズの各DICOMデータの真正性を確認できたと判断する。一方、検証装置1Bは、特定した配置場所から電子署名Sgを取得できなかった場合(ステップS45;No)、対象のDICOMシリーズの少なくともいずれかのDICOMデータに改ざんが発生したと判断する。
[データ構造]
次に、検証対象グループGtagに属するDICOMデータのデータ構造について、図11及び図15を参照して補足説明する。
検証対象グループGtag内のDICOMデータは、検証対象部であるピクセルデータを格納する第1データ領域(図11では(7FE0、0010)のタグに対応するデータ領域)と、図15(A)の破線枠により示された未使用タグに対応する第2データ領域とを含んでいる。第2実施形態では、第2データ領域は、図15(A)に示されるように、複数のデータ領域を有している。そして、図15(B)に示すように、乱数生成器8Aaが出力する乱数X1に対応する「DICOMデータX1」の第2データ領域のいずれか1つのデータ領域には、第1検証情報Iv1に相当するハッシュ値Vh1が暗号化された電子署名Sgが配置される。この場合、配置装置1Aは、ハッシュ値Vh1と値βとの加算値を乱数生成器8Abに入力することで得られた乱数に基づき、電子署名Sgを配置するデータ領域を定める未使用タグを決定し、当該未使用タグに対応するデータ領域に電子署名Sgを格納する。
[変形例]
次に、第2実施形態に好適な変形例について説明する。
(変形例2-1)
配置装置1Aは、電子署名Sgを配置しなかった未使用タグのうち少なくともいずれかに電子署名Sgとは異なるダミー情報を配置してもよい。
例えば、配置装置1Aは、電子署名Sgを配置しなかったDICOMデータのそれぞれに対し、いずれかの未使用タグにダミー情報を配置する。この場合、例えば、配置装置1Aは、電子署名Sgが配置されたタグ番号が容易に推定されるのを防ぐため、電子署名Sgを配置したタグ番号とは異なるタグ番号を無作為に選択してダミー情報を配置する。このように、配置装置1Aは、電子署名Sgを配置していない各DICOMデータのいずれかの未使用タグにダミー情報を付加することで、対象のDICOMシリーズの各DICOMデータを比較することにより電子署名Sgの配置場所が容易に推定されるのを好適に抑制することができる。
(変形例2-2)
図10に示す第2実施形態のデータ管理システム100の構成では、検証対象グループGtagを構成するDICOMデータの各々はそれぞれピクセルデータを検証対象部として含む同一種類のファイルであるDICOM画像データであった。これに代えて、検証対象グループGtagを構成するDICOMデータは、レポートデータ等の異なる種類のファイルであってもよい。
図19は、本変形例に係る検証対象グループGtagの構成例を示す。図19の例では、検証対象グループGtagは、ある患者(患者A)に関連するDICOMデータから構成される。この場合、例えば、検証対象グループGtagを構成する各DICOMデータは、患者Aの患者IDなどを含んでおり、かつ、ピクセルデータを検証対象部として含むDICOMデータの他に、ピクセルデータ以外のデータ(例えばテキストデータ)を検証対象部として含むDICOMデータが存在する。この場合、例えば、配置装置1Aは、第1実施形態と同様、配置候補情報6Aを予め記憶しておき、各DICOMデータの検証対象部に基づき乱数生成器8Aが出力する乱数を候補インデックスとする配置候補に電子署名Sgを配置する。このように、DICOMシリーズ以外のグループを検証対象グループGtagとして選定してもよく、検証対象グループGtagを構成する各DICOMデータが異なるファイル種類であってもよい。
(変形例2-3)
配置装置1Aは、ハッシュ値Vh1から電子署名Sgの配置場所を決定する代わりに、各DICOMデータの検証対象部から電子署名Sgの配置場所を決定してもよい。
この場合、例えば、乱数生成器8Aaは、各DICOMデータの検証対象部に基づき生成されたシードが入力された場合に、電子署名Sgを配置するDICOM番号を示す2~nの乱数を出力し、乱数生成器8Abは、各DICOMデータの検証対象部に基づき生成されたシードが入力された場合に、電子署名Sgを格納するタグ番号を特定するための1~mの乱数を出力する。また、検証装置1Bは、配置装置1Aと同様、ハッシュ値Vh2から電子署名Sgの配置場所を決定する代わりに、各DICOMデータの検証対象部から電子署名Sgの配置場所を決定する。
1A…配置装置
1B…検証装置
3A、3B…記憶部
4A、4B…通信部
5A、5B…制御部
6A、6B…配置候補情報
7A、7B…検証情報生成器
8A、8B…乱数生成器

Claims (15)

  1. グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成手段と、
    前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置手段と、
    を有し、
    前記配置手段は、前記1の配置先候補以外の前記複数の配置先候補の少なくともいずれかに前記検証情報と異なる情報を配置することを特徴とする配置装置。
  2. グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成手段と、
    前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置手段と、
    を有し、
    前記複数の配置先候補は、前記データの内部であることを特徴とする配置装置。
  3. 前記グループは複数のデータから構成されることを特徴とする請求項1または2に記載の配置装置。
  4. 前記複数の配置先候補は、前記複数のデータのいずれかと対応していることを特徴とする請求項に記載の配置装置。
  5. 前記複数の配置先候補は、前記データの内部の所定のデータ領域であることを特徴とする請求項に記載の配置装置。
  6. 前記データは、DICOM形式のデータであることを特徴とする請求項に記載の配置装置。
  7. 前記配置手段は、前記検証対象または前記検証情報に基づき、前記1以上のデータから前記検証情報を配置すべき1のデータを特定し、かつ、前記検証対象または前記検証情報に基づき、前記1のデータ内において前記検証情報を配置すべきデータ領域を特定することを特徴とする請求項5または6に記載の配置装置。
  8. 前記グループは、複数種類のデータから構成されることを特徴とする請求項1~のいずれか一項に記載の配置装置。
  9. グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、第1の時間に第1の方法により生成された、前記検証対象の真正性を検証するための第1検証情報を検証する検証装置であって、
    前記第1の方法により、前記第1の時間より後の第2の時間に、前記データの夫々の前記検証対象に基づき、第2検証情報を生成する生成手段と、
    前記検証対象または前記第2検証情報に基づき、前記第1検証情報の複数の配置先候補から1の配置先候補を選択する選択手段と、
    前記1の配置先候補における前記第1検証情報の有無に基づき、前記検証対象の真正性を検証する第1検証手段と、
    前記1の配置先候補に前記第1検証情報が配置されていた場合に、当該第1検証情報と、前記第2検証情報とに基づき、前記検証対象の真正性を検証する第2検証手段と、
    を有する検証装置。
  10. 情報処理装置が実行する制御方法であって、
    グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成工程と、
    前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置工程と、
    を有し、
    前記配置工程は、前記1の配置先候補以外の前記複数の配置先候補の少なくともいずれかに前記検証情報と異なる情報を配置することを特徴とする制御方法。
  11. 情報処理装置が実行する制御方法であって、
    グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する生成工程と、
    前記検証対象または前記検証情報に基づき、複数の配置先候補から選択された1の配置先候補に、前記検証情報を配置する配置工程と、
    を有し、
    前記複数の配置先候補は、前記データの内部であることを特徴とする制御方法。
  12. グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、第1の時間に第1の方法により生成された、前記検証対象の真正性を検証するための第1検証情報を検証する情報処理装置が実行する制御方法であって、
    前記第1の方法により、前記第1の時間より後の第2の時間に、前記データの夫々の前記検証対象に基づき、第2検証情報を生成する生成工程と、
    前記検証対象または前記第2検証情報に基づき、前記第1検証情報の複数の配置先候補から1の配置先候補を選択する選択工程と、
    前記1の配置先候補における前記第1検証情報の有無に基づき、前記検証対象の真正性を検証する第1検証工程と、
    前記1の配置先候補に前記第1検証情報が配置されていた場合に、当該第1検証情報と、前記第2検証情報とに基づき、前記検証対象の真正性を検証する第2検証工程と、
    を有することを特徴とする制御方法。
  13. 情報処理装置が実行するデータ生成方法であって、
    グループを構成する1以上のデータの夫々の、一部または全部に相当する検証対象に基づき、前記検証対象の真正性を検証するための検証情報を生成する第1生成工程と、
    前記検証対象または前記検証情報に基づき、前記データの内部に存在する配置先候補から選択された1の配置先候補に前記検証情報を配置し、前記検証情報を内包する1つのグループを構成するデータを生成する第2生成工程と、
    を有することを特徴とするデータ生成方法。
  14. 情報処理装置により参照される、複数のデータからなるデータ群のデータ構造であって、
    前記複数のデータそれぞれにおいて前記情報処理装置による検証対象となる検証対象データと、
    前記データ群の一部または全部に相当する前記検証対象データに基づき生成され、前記データ群のいずれか1のデータに内包される検証情報であって、前記情報処理装置が、前記検証対象データに基づき選択した前記いずれか1のデータから取得し、前記データ群の真正性を検証する処理に用いられる、検証情報と、
    を含む、データ群のデータ構造。
  15. 情報処理装置により参照されるデータのデータ構造であって
    前記情報処理装置による検証対象となる検証対象データ領域と、
    複数のデータ領域を含み、前記情報処理装置が、前記検証対象データ領域に基づき、前記複数のデータ領域のうちの1のデータ領域を選択し、前記1のデータ領域の検証情報に基づいて、前記検証対象の真正性を検証する処理に用いられる、オプション領域と
    を含む、データのデータ構造。
JP2018092138A 2018-05-11 2018-05-11 配置装置、検証装置、制御方法、データ生成方法及びデータ構造 Active JP7143626B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018092138A JP7143626B2 (ja) 2018-05-11 2018-05-11 配置装置、検証装置、制御方法、データ生成方法及びデータ構造

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018092138A JP7143626B2 (ja) 2018-05-11 2018-05-11 配置装置、検証装置、制御方法、データ生成方法及びデータ構造

Publications (2)

Publication Number Publication Date
JP2019197470A JP2019197470A (ja) 2019-11-14
JP7143626B2 true JP7143626B2 (ja) 2022-09-29

Family

ID=68537959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018092138A Active JP7143626B2 (ja) 2018-05-11 2018-05-11 配置装置、検証装置、制御方法、データ生成方法及びデータ構造

Country Status (1)

Country Link
JP (1) JP7143626B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248807A1 (ja) * 2022-06-21 2023-12-28 ソニーグループ株式会社 画像処理装置および方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008026238A (ja) 2006-07-24 2008-02-07 Youngtek Electronics Corp 光学的物体距離シミュレーション装置
JP2010027038A (ja) 2008-06-17 2010-02-04 Panasonic Corp メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体
JP2013242863A (ja) 2012-04-25 2013-12-05 Toshiba Corp 医用情報検証システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008026238A (ja) 2006-07-24 2008-02-07 Youngtek Electronics Corp 光学的物体距離シミュレーション装置
JP2010027038A (ja) 2008-06-17 2010-02-04 Panasonic Corp メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体
JP2013242863A (ja) 2012-04-25 2013-12-05 Toshiba Corp 医用情報検証システム

Also Published As

Publication number Publication date
JP2019197470A (ja) 2019-11-14

Similar Documents

Publication Publication Date Title
JP6943356B2 (ja) Utxo基盤プロトコルを利用したブロックチェーン基盤の文書管理方法及びこれを利用した文書管理サーバ{method for managing document on basis of blockchain by using utxo−based protocol,and document management server using same}
CN111062716B (zh) 生成区块链签名数据的方法及装置、区块链交易发起系统
US11121879B2 (en) Computer implemented method for automatically certifying documents with integrity and authenticity guarantees and computer programs thereof
US8271791B2 (en) Long-term secure digital signatures
CN107742212B (zh) 基于区块链的资产验证方法、装置及系统
CN108985364B (zh) 盖章文件的验证方法、装置、计算机设备和存储介质
US20040202324A1 (en) Program electronic watermark processing apparatus
EP3543891B1 (en) A computer implemented method and a system for tracking of certified documents lifecycle and computer programs thereof
CN108734018B (zh) 认证方法、装置、系统和计算机可读存储介质
CN110096903B (zh) 基于区块链的资产验证方法及区块链网络系统
CN111090581B (zh) 智能合约测试方法、装置、计算机设备和存储介质
US9679117B2 (en) System and method for obtaining an authorization key to use a product
CN113472521A (zh) 基于区块链的实名数字身份管理方法、签名设备和验证设备
US8335922B2 (en) Recording medium, digital information verification apparatus, and digital information verification method
CN115427959A (zh) 在终端设备、支付系统、货币系统和监控单元之间直接传输电子币数据组的方法
CN110826091A (zh) 一种文件签名方法、装置、电子设备及可读存储介质
JP7143626B2 (ja) 配置装置、検証装置、制御方法、データ生成方法及びデータ構造
KR20200000576A (ko) 블록체인 기반 모바일 위조 앱 검출 방법
CN113112354A (zh) 一种区块链网络的交易处理方法、区块链网络及存储介质
KR20110111661A (ko) 복제 방지를 위한 rfid 태그, 이를 이용한 복제 방지 시스템 및 방법
US20220294635A1 (en) Method for proving original of data, and apparatus therefor
CN110943839A (zh) 一种签名验证方法、装置、电子设备及可读存储介质
CN113626776A (zh) 一种信息载体概念属性传递与电子签章可打印化的方法
CN109509095B (zh) 一种结合区块链的视频主动识别方法
CN116956255B (zh) 一种基于区块链的数字身份识别方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220829

R150 Certificate of patent or registration of utility model

Ref document number: 7143626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150