JP6757169B2 - 署名装置、署名方法、検証装置、検証方法、コンピュータプログラム - Google Patents

署名装置、署名方法、検証装置、検証方法、コンピュータプログラム Download PDF

Info

Publication number
JP6757169B2
JP6757169B2 JP2016081462A JP2016081462A JP6757169B2 JP 6757169 B2 JP6757169 B2 JP 6757169B2 JP 2016081462 A JP2016081462 A JP 2016081462A JP 2016081462 A JP2016081462 A JP 2016081462A JP 6757169 B2 JP6757169 B2 JP 6757169B2
Authority
JP
Japan
Prior art keywords
signature
data
verification
unit
user
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
JP2016081462A
Other languages
English (en)
Other versions
JP2017192076A5 (ja
JP2017192076A (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2016081462A priority Critical patent/JP6757169B2/ja
Priority to US15/481,999 priority patent/US20170302457A1/en
Publication of JP2017192076A publication Critical patent/JP2017192076A/ja
Publication of JP2017192076A5 publication Critical patent/JP2017192076A5/ja
Application granted granted Critical
Publication of JP6757169B2 publication Critical patent/JP6757169B2/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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • G06F21/36User authentication by graphic or iconic representation
    • 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
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Collating Specific Patterns (AREA)

Description

本発明は、署名及び署名の検証に係る技術に関する。
デジタルカメラ等で撮影された画像データが警察や建設工事における証拠写真で用いられるようになった。そこで、画像データが撮影後改変されていないことを証明可能な技術が提案されており、暗号技術を利用した電子署名データによる画像データの改ざん検出システムが開示されている。
例えば特許文献1に開示されたシステムは、画像データを生成するデジタルカメラと、画像データが改竄されていないことを検証する画像検証装置と、により構成されている。デジタルカメラでは、画像生成装置固有の秘密鍵とデジタルカメラにて撮影してデジタル化した画像データとに基づき、所定の演算を実行して電子署名データを生成する。電子署名データと画像データとをデジタルカメラの出力とする。画像検証装置では、所定の演算を画像データに施した結果のデータと、電子署名データに上記生成時の演算の逆演算を施したデータとを比較することで検証を行う。
また、特許文献2に開示された技術では、予め管理サーバ上で、撮影者とカメラ機体IDとを紐づけする。署名時に画像に撮影情報としてカメラ機体IDを紐づけしておくことで、画像と撮影者の関連付けが署名の確認により可能となる。
米国特許第5499294号 特開2005−197901号公報
しかしながら、従来技術によれば、撮影者とカメラ機体とは一対一対応であり、例えば、カメラ機体を扱う撮影者が複数存在する場合に、この従来技術は対処していない。本発明はこのような問題に鑑みてなされたものであり、装置のユーザが切り替わったとしても、該装置のユーザ認証を可能にする技術を提供する。
本発明の一様態は、署名装置であって、
ユーザに割り当てられた署名鍵である第1の署名鍵を用いて、入力画像の署名データを第1の署名データとして生成する第1の生成手段と、
耐タンパ性のメモリに格納されている、前記署名装置に割り当てられた第2の署名鍵を取得し、該取得した第2の署名鍵を用いて、前記入力画像及び前記第1の署名データを含むデータの署名データを第2の署名データとして生成する第2の生成手段と、
前記第1の署名データを含むフィールドと前記第1の署名データおよび前記第2の署名データを含むフィールドと、前記入力画像と、を含み、フィールドごとに該フィールドに含まれる署名データの検証結果が判断される結合データを出力する出力手段と
を備えることを特徴とする。
本発明の構成によれば、装置のユーザが切り替わったとしても、該装置のユーザ認証を可能にする。
検証装置、署名装置のハードウェア構成例を示すブロック図。 撮影装置115の機能構成例、結合データの構成例を示す図。 署名装置の動作を示すフローチャート。 ステップS32における処理の詳細を示すフローチャート。 PC11の機能構成例を示すブロック図。 PC11の動作を示すフローチャート及び画面の表示例を示す図。 ステップS62における処理の詳細を示すフローチャート及び公開鍵証明書710を示す図。 ステップS62における処理の詳細を示すフローチャート、結合データの構成例を示す図、画面の表示例を示す図。
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態では、入力画像の署名データを生成し、該入力画像を該署名データと共に出力する署名装置、該署名データを検証して該署名装置のユーザを認証する検証装置、のそれぞれについて説明する。
先ず、本実施形態に係る検証装置のハードウェア構成例について、図1(A)のブロック図を用いて説明する。本実施形態では、検証装置としてPC(パーソナルコンピュータ)11を適用したが、検証装置が行うものとして後述する各処理を実行可能な装置であれば如何なる装置を検証装置として適用しても良い。例えば、スマートフォン、タブレット端末装置、画像のコピー/スキャン/プリント等を実行可能な画像処理装置を検証装置に適用しても良い。
CPU13は、ROM14やRAM15に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりCPU13は、PC11全体の動作制御を行うと共に、PC11が行うものとして後述する各処理を実行若しくは制御する。
ROM14には、PC11の書き換え不要の設定データやブートプログラムなどが格納されている。
RAM15は、ROM14やHD(ハードディスク)16、CDドライブ装置17、DVDドライブ装置18、外部メモリ19からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。更にRAM15は、NIC(ネットワークインターフェースカード)110を介して外部から受信したコンピュータプログラムやデータを格納するためのエリアを有する。また、RAM15は、CPU13が各種の処理を実行若しくは制御する際に用いるワークエリアを有する。このように、RAM15は、各種のエリアを適宜提供することができる。
HD16には、OS(オペレーティングシステム)や、PC11が行うものとして後述する各処理をCPU13に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。HD16に保存されているコンピュータプログラムやデータは、CPU13による制御に従って適宜RAM15にロードされ、CPU13による処理対象となる。
CDドライブ装置17は、CD−ROM(CD−R)に格納されているコンピュータプログラムやデータを読み出して、RAM15やHD16に対して出力する機器である。DVDドライブ装置18は、DVD−ROM(DVD−RAM)に格納されているコンピュータプログラムやデータを読み出して、RAM15やHD16に対して出力する機器である。なお、CD−ROMやDVD−ROMは、コンピュータプログラムやデータを格納するための記憶媒体の一例に過ぎず、他の種の記憶媒体を適用しても良い。その場合、PC11には、対応するドライブ装置を設ける必要がある。外部メモリ19は、USBメモリなどの外付けのメモリである。
NIC110は、有線若しくは無線でもって外部の機器とのデータ通信を行うためのものであり、例えば、NIC110は、後述する署名装置との間のデータ通信を行うことができる。
モニタ12は、CPU13による処理結果を画像や文字などでもって表示することができる。I/F(インターフェース)111には、マウス112及びキーボード113が接続されている。
マウス112及びキーボード113は、ユーザが各種の操作入力を行うためのユーザインターフェースの一例である。なお、マウス112及びキーボード113等のユーザインターフェースとモニタ12とを一体化させてタッチパネル画面を構成しても良い。
モニタ12、CPU13、ROM14、RAM15、HD16、I/F111、CDドライブ装置17、DVDドライブ装置18、外部メモリ19、NIC110は何れも、バス114に接続されている。
次に、本実施形態に係る署名装置のハードウェア構成例について、図1(B)のブロック図を用いて説明する。本実施形態では、署名装置として静止画像や動画像を撮影可能な撮影装置115を適用したが、署名装置が行うものとして後述する各処理を実行可能な装置であれば如何なる装置を署名装置として適用しても良い。例えば、スキャナ装置や複合機を署名装置に適用しても良い。
ROM116には、撮影装置115が行うものとして後述する各処理をCPU119に実行若しくは制御させるためのコンピュータプログラムやデータが格納されている。
保管用メモリ117は、後述する光学系121によって取得した撮影画像等を一時的に格納するためのメモリである。作業用メモリ118は、CPU119による処理対象となるデータを格納するためのメモリである。例えば、保管用メモリ117に一時的に格納した撮影画像に対して各種の処理を施す場合、この撮影画像は保管用メモリ117から作業用メモリ118にコピーされてから、処理が施されることになる。なお、メモリの数やそれぞれのメモリの使用用途については上記の説明に限ったものではなく、様々な変形例が考えられる。
CPU119は、ROM116や作業用メモリ118に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりCPU119は、撮影装置115全体の動作制御を行うと共に、撮影装置115が行うものとして後述する各処理を実行若しくは制御する。
操作部120は、撮影指示を入力するためのシャッターボタンや電源ボタン等のユーザインターフェースである。光学系121は、電荷結合素子CCD、或いは相補型金属酸化物半導体CMOS等の光学センサを含むものであり、外界の光を電気信号に変換し、該電気信号に対する様々な信号処理、画像処理を行うことで撮影画像を生成する。駆動部122は、CPU119による制御の下で、光学系121の駆動制御など、撮影に係る様々な機械的な動作を行う。
例えばユーザが操作部120を操作して撮影指示を入力すると、CPU119による制御の下、駆動部122は被写体にピントが合うように光学系121の動作制御を行い、光学系121は該被写体を含む撮影画像を生成して保管用メモリ117に出力する。そしてCPU119は、保管用メモリ117に格納された撮影画像を作業用メモリ118にコピーし、該コピーした撮影画像に対して圧縮符号化処理を行って圧縮符号化画像を生成する。そしてCPU119は、後述する署名処理を行うことで、署名データ、証明書、撮影画像、を含む結合データを生成して出力する。
I/F123は、メモリカードなどのメモリ装置を撮影装置115に接続するためのインターフェース、有線若しくは無線でもって外部の機器とのデータ通信を行うためのインターフェース等、様々なインターフェースにより構成されている。
ROM116、保管用メモリ117、作業用メモリ118、CPU119、操作部120、光学系121、駆動部122、I/F123は何れも、バス124に接続されている。
次に、撮影装置115の機能構成例について、図2(A)のブロック図を用いて説明する。図2(A)には、撮影画像に基づいて結合データを生成して出力するための一連の処理に係る構成を示している。
上記の光学系121及び駆動部122を含む撮影部21によって撮影画像(画像データ)を取得する。画像署名部22は、撮影部21によって取得した撮影画像の署名データを生成し、撮影画像、署名データ、証明書を含む上記の結合データを出力する。書き出し部26は、該結合データをI/F123に接続されているメモリカードなどの記憶媒体27に書き込む。画像署名部22(ユーザ署名部221,カメラ署名部222を含む)や書き出し部26は専用のハードウェアで実現しても良いし、コンピュータプログラムで実現させても良い。本実施形態では、画像署名部22及び書き出し部26をコンピュータプログラムで実装したケースについて説明する。なお、以下では、画像署名部22(ユーザ署名部221,カメラ署名部222についても同様)や書き出し部26を処理の主体として説明するが、実際には対応するコンピュータプログラムをCPU119が実行することで、対応する機能部の機能を実現させる。
ユーザ署名部221は、I/F123としての接続部23に着脱可能に接続されているICカード25から、撮影装置115のユーザに割り当てられている署名鍵であるユーザ署名鍵と、該ユーザ署名鍵に対応する証明書であるユーザ証明書と、を読み出す。つまり、接続部23に接続させるICカード25を変更することで、ユーザ署名部221は、任意のユーザのユーザ署名鍵及びユーザ証明書を取得することができる。ICカード25は、例えば演算機能をもつスマートカードや記憶媒体等、任意の機器を用いてよい。
そしてユーザ署名部221は、ユーザ署名鍵を用いて、撮影部21からの撮影画像の署名データを、ユーザ署名データとして生成する。本実施形態では、署名データを生成する署名アルゴリズムは特定のアルゴリズムに限らず、RSAやDSAなど種々の署名アルゴリズムを適用することができる。例えば、撮像画像のハッシュ値を算出し、該ハッシュ値及びユーザ署名鍵を用いてユーザ署名データを生成しても良い。また、ハッシュ値を生成するためのハッシュ関数についても特定のハッシュ関数に限るものではなく、SHA1やSHA256など種々のハッシュ関数を適用しても良い。そしてユーザ署名部221は、撮影画像、ユーザ署名データ、ユーザ証明書を含む結合データを、後段のカメラ署名部222に対して送出する。図2(A)では説明上、ユーザ証明書の図示は省いている。
カメラ署名部222は、耐タンパ記憶部24から、撮影装置115に割り当てられている署名鍵であるカメラ署名鍵と、該カメラ署名鍵に対応する証明書であるカメラ証明書と、を読み出す。耐タンパ記憶部24には、例えばTPM(Trusted Platform Module)(不図示)のような、外部攻撃に対して、物理的にセキュアであるメカニズムを用いる(耐タンパ性のメモリを使用する)。
そしてカメラ署名部222は、カメラ署名鍵を用いて、ユーザ署名部221から受けた結合データからユーザ証明書を省いた残りのデータ、即ち、撮影画像とユーザ署名データとから成るデータの署名データを、カメラ署名データとして生成する。署名データの生成方法については上記の通りである。
カメラ署名鍵を撮影装置毎に固有の情報であるとすると、耐タンパ記憶部24内のカメラ署名鍵は、撮影装置115内のみ存在することが保証される。従って、カメラ署名鍵による署名の対象に、ユーザ署名データを含めることで、ユーザ署名が撮影装置115内で実行されたことを証明できる。本実施形態では、ユーザ署名鍵の所有者を撮影者とみなすことで、撮影者認証可能な署名を生成することができる。
なお、カメラ署名鍵は、撮影装置ごとに別個のカメラ署名鍵であっても良いし、撮影装置のモデル、仕向け地域、シリアル番号等でグループ化されたグループ毎に固有のカメラ署名鍵であっても良い。
そしてカメラ署名部222は、ユーザ署名部221から受けた結合データに、ユーザ署名データ、カメラ署名データ、カメラ証明書を追加登録して結合データを更新し、該更新後の結合データを書き出し部26に対して出力する。
ここで、結合データの構成例について、図2(B)を用いて説明する。結合データは、第1の署名フィールド127、第2の署名フィールド128、画像フィールド129を有し、ユーザ署名部221は、第1の署名フィールド127にユーザ署名データ及びユーザ証明書を格納し、画像フィールド129に撮影画像を格納する。この時点で第2の署名フィールド128には何も格納されていない。そしてカメラ署名部222は、第2の署名フィールド128に、カメラ証明書281、ユーザ署名データ282、カメラ署名データ283を格納する。
書き出し部26は、カメラ署名部222によって更新された結合データを記憶媒体27に格納する。なお、結合データの出力先については、記憶媒体27に限るものではなく、様々な出力先が考えられる。例えば、有線若しくは無線でもって、外部の装置に対して送信しても良いし、検証装置に対して送信しても良い。
次に、上記の署名装置の動作について、図3のフローチャートに従って説明する。なお、図3の各ステップにおける処理の詳細については上記の通りであるため、ここでは簡単に説明する。
ステップS31では、撮影部21によって撮影画像を取得する。撮影画像のフォーマットについては特定のフォーマットに限らず、JPEG、TIFF、RAWなど種々のフォーマットが適用可能である。ステップS32では、画像署名部22は、ステップS31で取得した撮影画像に対する署名処理を行って、結合データを生成する。ステップS32の処理の詳細については、図4を用いて後述する。ステップS33では、書き出し部26は、ステップS32で生成された結合データを記憶媒体27等の適当な出力先に対して出力する。
次に、上記のステップS32における処理の詳細について、図4のフローチャートに従って説明する。ステップS41では、ユーザ署名部221は、結合データ内に第1の署名フィールドを生成する。ステップS42では、ユーザ署名部221は、ICカード25からユーザ署名鍵を読み出す。ステップS43では、ユーザ署名部221は、ステップS42で読み出したユーザ署名鍵を用いて、ステップS31で取得した撮影画像の署名データを、ユーザ署名データとして生成する。そしてユーザ署名部221は、ユーザ署名データを、ICカード25から読み出したユーザ証明書と共に第1の署名フィールドに格納する。また、ユーザ署名部221は、ステップS31で取得した撮影画像を画像フィールドに格納する。
ステップS44では、カメラ署名部222は、結合データ内に第2の署名フィールドを生成する。ステップS45では、カメラ署名部222は、ユーザ署名データを第2の署名フィールドに格納する。ステップS46では、カメラ署名部222は、耐タンパ記憶部24からカメラ署名鍵を読み出す。ステップS47では、カメラ署名部222は、カメラ署名鍵を用いてカメラ署名データを生成し、該生成したカメラ署名データと、耐タンパ記憶部24から読み出したカメラ証明書と、を第2の署名フィールドに格納する。
次に、PC11の機能構成例について、図5のブロック図を用いて説明する。図5には、結合データに基づく撮影者認証処理に係る構成を示している。入力部51は、CDドライブ装置17やDVDドライブ装置18によって記憶媒体27から読み取られた上記の結合データを取得する。なお、記憶媒体27は上記の外部メモリ19であっても良い。また、PC11による結合データの取得方法については記憶媒体27を介した取得方法に限らない。
検証部52は、入力部51が取得した結合データに基づいて検証処理を行うと共に、検証成功時には署名順序を判定し、検証結果表示部53は、検証部52による検証結果をモニタ12に表示させる。
なお、入力部51、検証部52(署名検証部521、署名順序判定部522を含む)、検証結果表示部53は専用のハードウェアで実現しても良いし、コンピュータプログラムで実現させても良い。本実施形態では、これらの機能部をコンピュータプログラムで実装したケースについて説明する。また、以下では、これらの機能部を処理の主体として説明するが、実際には対応するコンピュータプログラムをCPU13が実行することで、対応する機能部の機能を実現させる。
署名検証部521は、第2の署名フィールド、第1の署名フィールドの順に、それぞれのフィールド内の署名データを検証する。第2の署名フィールドの場合、カメラ署名データ283を、画像フィールド129内の撮影画像、カメラ証明書281、ユーザ署名データ282を用いて検証する。カメラ証明書281の正当性については、ルート認証局の公開鍵(不図示)を用いて予め検証されていることを前提とする。ルート認証局の公開鍵は、予めHD16などに信頼するルート認証局の公開鍵証明書を記録しておき、ルート認証局の公開鍵証明書に含まれる公開鍵を利用する。これにより、カメラ証明書281が、信頼するルート認証局から発行されていることを検証することができる。また、撮影画像のハッシュ値を生成し、該生成したハッシュ値及び公開鍵を用いて検証するようにしても良い。署名検証するためのアルゴリズム及びハッシュ関数は、前述した画像署名部22において利用した署名アルゴリズムに対応する検証アルゴリズムを適用する。このため、署名フィールドに記録されている署名アルゴリズム及びハッシュ関数を識別する情報を用いて、アルゴリズムを決定してもよい。また、予め撮影装置115とPC11との間で合意した検証アルゴリズムを用いてもよい。第2の署名フィールドに対する検証処理が完了すると、次に、第1の署名フィールドに対する検証処理、すなわち、ユーザ署名データの検証を行う。第1の署名フィールド及び第2の署名フィールドの両方に対する検証処理が成功した場合は、検証成功とし、一方でも検証処理が失敗した場合には、検証失敗とする。署名データの検証処理については周知の技術であるので、これに係る説明は省略する。
署名順序判定部522は、署名検証部521から検証成功の旨の通知を受けると、署名の順序を判定する。例えば図2(B)の結合データの場合、署名順序判定部522は、撮影者認証成功/撮影者認証不能の何れかを判定結果として出力する。
検証結果表示部53は、検証成功(検証成功の場合は、撮影者認証成功/撮影者認証不能の何れか)、検証失敗、の何れかを検証結果としてモニタ12に表示する。
次に、PC11の動作について、図6(A)のフローチャートに従って説明する。ステップS61では、入力部51は、記憶媒体27等から結合データを取得する。ステップS62では、署名検証部521は、結合データを用いて検証処理を行い、署名順序判定部522は、署名の順序判定を行う。ステップS62の処理の詳細については、図7(A)を用いて後述する。次に、ステップS63では、検証結果表示部53は、ステップS62における結果をモニタ12に表示させる。
次に、上記のステップS62における処理の詳細について、図7(A)のフローチャートに従って説明する。ステップS71では、署名検証部521は、結合データ内の署名フィールドの数を取得し、変数Nに代入する。本実施形態ではN=2となる。ステップS72では、署名検証部521は、N>0であるか否かを判定する。この判定の結果、N>0であれば、処理はステップS73に進み、N=0であれば、ステップS78に進む。
ステップS73では、署名検証部521は、結合データの先頭から、第1の署名フィールド、第2の署名フィールド、…、というように順番に並んで設けられている署名フィールドのうち、N場目の署名フィールド、すなわち、第Nの署名フィールドを取得する。本実施形態では、第1回目のステップS73では第2の署名フィールドを取得し、第2回目のステップS73では、第1の署名フィールドを取得することになる。
ステップS74では、署名検証部521は、第Nの署名フィールドから署名データ及び証明書を取得する。第2の署名フィールドの場合は、カメラ証明書、カメラ署名データ、ユーザ署名データを取得し、第1の署名フィールドの場合は、ユーザ証明書、ユーザ署名データを取得する。
ステップS75では、署名検証部521は、ステップS74で取得した署名データを検証する。この検証に成功した場合には、処理はステップS76に進み、失敗した場合には、処理はステップS711に進む。
署名データの検証に成功した場合は、画像フィールドに格納されている撮影画像の署名検証処理は成功であると判定する。該撮影画像について、改竄されていないこと(完全性)、後述するSubject(主体者識別情報)で識別される主体者によって署名されたこと(認証性)、主体者が署名していないと否認できないこと(否認防止性)が確認できる。本実施形態では、これを合わせて正当性と呼ぶ。一方、署名データの検証に失敗した場合は、該撮影画像の署名検証処理は失敗であると判定する。即ち、前述した正当性(完全性、認証性、否認防止性)が確認できないことになる。
ステップS76では、署名検証部521は、ステップS74で取得した証明書の主体者名取得処理を実行する。ここで、本実施形態における公開鍵証明書について詳細に説明する。図7(B)に示す如く、公開鍵証明書710には、バージョン711、証明書識別子712、署名アルゴリズム713、発行者識別情報714、有効期限715、Subject(主体者識別情報)716、公開鍵717、及び署名718が含まれる。
バージョン711は、公開鍵証明書710のバージョンである。証明書識別子712は、公開鍵証明書710を一意に識別可能な識別子である。署名アルゴリズム713は、後述する署名718を生成・検証するための署名アルゴリズムの識別子である。発行者識別情報714は、公開鍵証明書710を発行した発行者を一意に識別可能な識別子である。有効期限715は、公開鍵証明書710の開始日及び終了日時を示す情報である。
Subject(主体者識別情報)716は、証明を受ける主体、即ち後述する公開鍵717の所有者を一意に識別可能な識別子である。本実施形態においては、公開鍵証明書710は撮影装置毎に固有であるため、主体者は個々の撮影装置である。尚、公開鍵証明書が撮影装置のモデル、仕向け地域、シリアル番号等でグループ化されたグループ、或いは撮影装置の利用者、グループ、役割毎に固有である場合は、これら固有のものを主体者名とする。
公開鍵717は、公開鍵証明書710の主体者の保有する公開鍵である。署名718は、バージョン711、証明書識別子712、署名アルゴリズム713、発行者識別情報714、有効期限715、Subject(主体者識別情報)716、公開鍵717、から生成した署名データである。署名データを生成するためには、ルート認証局の署名鍵(不図示)を用いる。
ステップS76では、上記のSubject(主体者識別情報)を取得する。ここで、主体者名確認処理により署名フィールドの署名がカメラ署名のものであるかどうかを判定する方法について、カメラ証明書であることを示すSubject名の一覧719を用いて説明する。一覧719は、例えばROM14内に保管しておき、必要に応じて読み出してもよい。また、検証時に撮影装置115と接続し、撮影装置115からSubjectを取得してもよい。ステップS76の判定では、取得した証明書のSubject名が、一覧719に含まれるかどうかを判定する。含まれる場合はカメラ証明書、含まれない場合はユーザ証明書と判定する。
ステップS77では、署名検証部521は、変数Nの値を1つデクリメントする。そして処理はステップS72に戻る。ステップS78では、署名順序判定部522は、署名順序を判定する。例えば図2(B)の結合データの場合、第2の署名フィールドの署名がカメラ署名によるもので、第1の署名フィールドの署名がユーザ署名によるものである場合、撮影者認証成功とする。さもなければ、撮影者認証不能とする。撮影者認証成功と判定した場合は、処理はステップS79に進み、撮影者認証不能と判定した場合は、処理はステップS710に進む。
ステップS79では、署名順序判定部522は、画像署名検証に成功及び撮影者認証成功を示す情報を検証結果表示部53に対して出力する。一方、ステップS710では、署名順序判定部522は、画像署名検証に成功及び撮影者認証不能を示す情報を検証結果表示部53に対して出力する。ステップS711では、署名検証部521は、画像署名検証に失敗を示す情報を検証結果表示部53に対して出力する。検証結果表示部53は、署名検証部521や署名順序判定部522から受けた情報に応じた表示画面をモニタ12に表示させる。
上記のPC11における検証処理は、例えば、次のようなアプリケーションソフトウェア上に実装可能である。このアプリケーションソフトウェアは、HD16、CD−ROM,DVD−ROM等に保存されている。ユーザがキーボード113やマウス112を操作してアプリケーションソフトウェアの実行指示を入力すると、CPU13はHD16、CDドライブ装置17、DVDドライブ装置18等を制御し、アプリケーションソフトウェアをRAM15にロードさせる。そしてCPU13がこのアプリケーションソフトウェアを実行すると、モニタ12の表示画面上には、図6(B)の左側の画面64が表示される。画面64には、HD16等のメモリに格納されている画像のうち、検証対象となる画像としてユーザがキーボード113やマウス112を操作して選択した画像のファイル名(サムネイル画像等、他の情報でも良い)が一覧表示されている。更に画面64には、画像選択ボタン、画像検証ボタンも設けられている。ユーザがキーボード113やマウス112を操作して画像選択ボタンを指示すると、モニタ12の表示画面上には、検証対象となる画像を選択するためのGUI(不図示)が表示され、ユーザはこのGUI上で、検証対象となる画像を選択することができる。選択する画像の数は1であっても良いし、複数であっても良い。そしてユーザがキーボード113やマウス112を操作して画像選択を行った後、画像選択を終了させる指示を入力すると、このGUIは画面から消去され、該GUIを用いて選択した画像のファイル名が画面64上に追加表示される。そしてユーザがキーボード113やマウス112を操作して、画面64上の画像検証ボタンを指示すると、PC11は図6(A)及び図7(A)に示したフローチャートに沿った検証処理を開始する。
図6(A)及び図7(A)に示したフローチャートに沿った検証処理が完了すると、モニタ12の表示画面上には、図6(B)の右側の画面65が表示される。画面65では、画面64にて一覧表示された各画像ファイル名に対し、対応する検証結果及び撮影者認証結果が表示されている。「検証結果」として、検証に成功した場合は「○」、検証に失敗した場合は「×」が表示されている。また、「撮影者認証結果」として、撮影者認証成功と判定した場合は「○」、撮影者認証不能と判定した場合は「×」が表示されている。「−」は撮影者認証の判定を実施しなかったことを示す。
このように、本実施形態によれば、署名フィールドの署名の順序を判定することで、撮影者認証を行うことができる。また、撮影者が複数存在する場合においても、撮影者に対応したICカード25による署名の付与及び撮影者認証を行うことができる。
[第2の実施形態]
第1の実施形態では、撮影装置115内で実施した署名について撮影者認証を行った。本実施形態では、撮影装置115による署名の後に、PC11による追加署名が施された場合であっても、撮影者認証を可能にする。本実施形態を含め、以下の各実施形態では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。
以下では一例として、PC11が図2(B)に示した構成を有する結合データ内の画像フィールドに格納されている画像に対して新たに署名を行って、その署名データ及び対応する証明書を第3の署名フィールド(図8(B))に格納した場合について説明する。もちろん、第3の署名フィールドに格納した署名データの求め方については特定の求め方に限らない。
本実施形態では、上記のステップS62において、図8(A)に示したフローチャートに沿った処理を実行する。図8(A)において、図7(A)に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、その説明も上記の通りであるため、以下では該処理ステップについては説明は省略する。
図8(A)のフローチャートの場合、ステップS78において撮影者認証成功と判定した場合は、処理はステップS81に進み、撮影者認証不能と判定した場合は、処理はステップS710に進む。
ステップS81では、署名検証部521は、第2の署名フィールドの1つ前の署名フィールド、すなわち、第1の署名フィールドに格納されている証明書のSubjectを確認する。ステップS82では、署名検証部521は、画像署名検証に成功及び撮影者認証成功を示す情報に加えて、ステップS81の確認にて特定した撮影者の情報を検証結果表示部53に対して出力する。
上記のPC11における検証処理は、例えば、次のようなアプリケーションソフトウェア上に実装可能である。このアプリケーションソフトウェアは、HD16、CD−ROM,DVD−ROM等に保存されている。ユーザがキーボード113やマウス112を操作してアプリケーションソフトウェアの実行指示を入力すると、CPU13はHD16、CDドライブ装置17、DVDドライブ装置18等を制御し、アプリケーションソフトウェアをRAM15にロードさせる。そしてCPU13がこのアプリケーションソフトウェアを実行すると、モニタ12の表示画面上には、図6(B)の左側の画面64が表示される。ユーザがキーボード113やマウス112を操作して、画面64上の画像検証ボタンを指示すると、PC11は図6(A)及び図8(A)に示したフローチャートに沿った検証処理を開始する。
図6(A)及び図8(A)に示したフローチャートに沿った検証処理が完了すると、モニタ12の表示画面上には、図8(C)の画面83が表示される。画面83では、画面64にて一覧表示された各画像ファイル名に対し、対応する検証結果及び撮影者認証結果に加え、撮影者名が表示されている。撮影者認証成功と判定した撮影画像について、ステップS81で確認した証明書のSubjectを撮影者として表示する。「−」は撮影者名の確認を実施しなかったことを示す。
[第3の実施形態]
第1,2の実施形態では、結合データに署名が複数付与されている、またその中にカメラ署名を必ず含む場合の例を説明した。以下では、結合データに含まれる署名が一つのみの例について説明する。また、カメラ署名が含まれない例について説明する。
署名が一つのみの場合において、以上説明した撮影者認証はできない。つまり撮影者認証不能となる。したがって、第1の実施形態で説明した検証処理のうち、ステップS78を省略し、画像署名検証処理のみを実施することで検証処理を単純化できる。
また、結合データにカメラ署名が含まれない場合においても、以上説明した撮影者認証はできない。つまり撮影者認証不能となる。したがって、第1の実施形態で説明した画像署名検証処理のうち、ステップS76の証明書のSubjectの確認において、カメラ証明書が一つも含まれない場合は、ステップS78を省略し、検証処理を単純化できる。
[第4の実施形態]
第1の実施形態では、各署名フィールドには、該署名フィールドに格納した署名データに対応する証明書が格納されており、これにより署名データと証明書とは同じ署名フィールド内で対応付けて管理することができる。しかし、署名データと対応する証明書とを関連づけて管理することができるのであれば、証明書の管理方法は上記の管理方法に限らない。例えば、結合データ内に証明書フィールドを設け、そこに証明書を、対応する署名データと関連づけて格納するようにしても良い。また、結合データとは別個のファイルを作成し、そこに証明書を、対応する署名データと関連づけて格納するようにしても良い。
なお、以上説明した署名装置は、次のような構成の署名装置の一例として説明したものである。すなわち、ユーザに割り当てられた署名鍵である第1の署名鍵を用いて、入力画像の署名データを第1の署名データとして生成する(第1の生成)。また、署名装置に割り当てられた署名鍵である第2の署名鍵を用いて、入力画像及び第1の署名データを含むデータの署名データを第2の署名データとして生成する(第2の生成)。そして、第1の署名データ、第2の署名データ、入力画像を含む結合データを出力する。
また、以上説明した検証装置は、次のような構成の検証装置の一例として説明したものである。即ち、ユーザに割り当てられた署名鍵を用いて生成された入力画像の第1の署名データと、署名装置に割り当てられた署名鍵を用いて生成された、入力画像及び第1の署名データを含むデータの第2の署名データと、を取得する。そして、第2の署名データに対応する署名もと、第1の署名データに対応する署名もと、に応じて、署名装置のユーザの認証の可否判断を行う。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
221:ユーザ署名部 222:カメラ署名部 26:書き出し部

Claims (6)

  1. 署名装置であって、
    ユーザに割り当てられた署名鍵である第1の署名鍵を用いて、入力画像の署名データを第1の署名データとして生成する第1の生成手段と、
    耐タンパ性のメモリに格納されている、前記署名装置に割り当てられた第2の署名鍵を取得し、該取得した第2の署名鍵を用いて、前記入力画像及び前記第1の署名データを含むデータの署名データを第2の署名データとして生成する第2の生成手段と、
    前記第1の署名データを含むフィールドと前記第1の署名データおよび前記第2の署名データを含むフィールドと、前記入力画像と、を含み、フィールドごとに該フィールドに含まれる署名データの検証結果が判断される結合データを出力する出力手段と
    を備えることを特徴とする署名装置。
  2. 前記第1の生成手段は、前記署名装置に着脱可能なメモリに格納されている前記第1の署名鍵を取得することを特徴とする請求項1に記載の署名装置。
  3. 前記結合データは更に、前記第1の署名鍵に対応する証明書、前記第2の署名鍵に対応する証明書を含むことを特徴とする請求項1または2に記載の署名装置。
  4. 前記署名装置は、前記入力画像を撮影により取得する撮影装置であることを特徴とする請求項1乃至の何れか1項に記載の署名装置。
  5. 署名装置が行う署名方法であって、
    前記署名装置の第1の生成手段が、ユーザに割り当てられた署名鍵である第1の署名鍵を用いて、入力画像の署名データを第1の署名データとして生成する第1の生成工程と、
    前記署名装置の第2の生成手段が、耐タンパ性のメモリに格納されている、前記署名装置に割り当てられた第2の署名鍵を取得し、該取得した第2の署名鍵を用いて、前記入力画像及び前記第1の署名データを含むデータの署名データを第2の署名データとして生成する第2の生成工程と、
    前記署名装置の出力手段が、前記第1の署名データを含むフィールドと前記第1の署名データおよび前記第2の署名データを含むフィールドと、前記入力画像と、を含み、フィールドごとに該フィールドに含まれる署名データの検証結果が判断される結合データを出力する出力工程と
    を備えることを特徴とする署名方法。
  6. コンピュータを、請求項1乃至の何れか1項に記載の署名装置の前記第1の生成手段、前記第2の生成手段、前記出力手段として機能させるためのコンピュータプログラム。
JP2016081462A 2016-04-14 2016-04-14 署名装置、署名方法、検証装置、検証方法、コンピュータプログラム Active JP6757169B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016081462A JP6757169B2 (ja) 2016-04-14 2016-04-14 署名装置、署名方法、検証装置、検証方法、コンピュータプログラム
US15/481,999 US20170302457A1 (en) 2016-04-14 2017-04-07 Signature apparatus, signature method, verification apparatus, verification method, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016081462A JP6757169B2 (ja) 2016-04-14 2016-04-14 署名装置、署名方法、検証装置、検証方法、コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2017192076A JP2017192076A (ja) 2017-10-19
JP2017192076A5 JP2017192076A5 (ja) 2019-05-16
JP6757169B2 true JP6757169B2 (ja) 2020-09-16

Family

ID=60038533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016081462A Active JP6757169B2 (ja) 2016-04-14 2016-04-14 署名装置、署名方法、検証装置、検証方法、コンピュータプログラム

Country Status (2)

Country Link
US (1) US20170302457A1 (ja)
JP (1) JP6757169B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4184368B1 (en) * 2021-10-06 2024-06-19 Samsung Electronics Co., Ltd. Electronic device for verifying integrity of image using plurality of execution environments, and control method therefor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01161937A (ja) * 1987-12-17 1989-06-26 Syst:Kk ディジタル署名システム
US5499294A (en) * 1993-11-24 1996-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Digital camera with apparatus for authentication of images produced from an image file
JP3260270B2 (ja) * 1996-01-12 2002-02-25 キヤノン株式会社 映像入力装置および映像入力システム
JP4764536B2 (ja) * 1998-11-17 2011-09-07 株式会社リコー 画像計測機器
US7047418B1 (en) * 2000-11-29 2006-05-16 Applied Minds, Inc. Imaging method and device using biometric information for operator authentication
US20020083323A1 (en) * 2000-12-22 2002-06-27 Cromer Daryl Carvis Method and system for enabling an image to be authenticated
US20030065922A1 (en) * 2001-09-28 2003-04-03 Fredlund John R. System and method of authenticating a digitally captured image
JP3884955B2 (ja) * 2001-12-28 2007-02-21 キヤノン株式会社 画像検証システムおよび画像検証装置
JP2005197901A (ja) * 2004-01-06 2005-07-21 Hitachi Ltd 画像データ管理方法
JP4812002B2 (ja) * 2006-02-16 2011-11-09 セイコーインスツル株式会社 記録装置、記録収集サーバ、記録方法、及び記録収集方法
US8417776B2 (en) * 2007-08-25 2013-04-09 Vere Software, Inc. Online evidence collection
JP2010081424A (ja) * 2008-09-26 2010-04-08 Fuji Xerox Co Ltd 文書送受システム、文書送信装置、文書受付装置及びプログラム
US9584735B2 (en) * 2010-11-12 2017-02-28 Arcsoft, Inc. Front and back facing cameras
US8578169B2 (en) * 2010-11-29 2013-11-05 Blackberry Limited System and method of signing a message

Also Published As

Publication number Publication date
US20170302457A1 (en) 2017-10-19
JP2017192076A (ja) 2017-10-19

Similar Documents

Publication Publication Date Title
JP3997085B2 (ja) 画像生成装置
EP1632907B1 (en) Data-processing system and method for controlling same, computer program, and computer-readable recording medium
US7308577B2 (en) Image verification system, image verification apparatus, and image verification method
US7535488B2 (en) Image data verification system
US7761922B1 (en) Methods and apparatus for contemporaneously acquiring and certifying content
JP2007104680A (ja) 画像処理装置、画像処理システムおよび画像処理方法
US7630510B2 (en) Image verification apparatus and image verification method
KR20180015076A (ko) 정보 처리장치와 그 제어방법, 및 기억매체
JP6940812B2 (ja) 情報処理装置、および、コンピュータプログラム
JP6757169B2 (ja) 署名装置、署名方法、検証装置、検証方法、コンピュータプログラム
JP2006191491A (ja) 情報処理装置及びその方法並びにプログラム及び記憶媒体
JP2019205140A (ja) 撮像装置、情報処理装置、生成方法、及び検証方法
JP4936404B2 (ja) 画像形成装置、管理サーバ、情報処理システムと、その処理方法およびプログラム
JP2007080071A (ja) 改変検知機能を有するシステム
US20040218064A1 (en) Image sensing apparatus and control method therefor
JP2016103775A (ja) カメラ装置及び検証システム及び情報処理方法及びプログラム
KR100909885B1 (ko) 화상 데이터의 원본 확인이 가능한 촬상 장치 및 촬상 방법
JP4804075B2 (ja) 登録局装置及びシステム
JP5268171B2 (ja) 画像形成装置、管理サーバ、情報処理システムと、その処理方法およびプログラム
JP2017220823A (ja) 情報処理装置、情報処理方法およびプログラム
JP7109098B2 (ja) 集合認証に基づく部分データの検証方法
JP2005153491A (ja) Idカード作成システム及びidカード作成方法
US7298932B2 (en) Control apparatus and control method for image sensing apparatus
JP2007067938A (ja) 検証システムおよび電子データ生成装置、電子データ検証装置ならびにその方法
KR20220161035A (ko) 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200703

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200828

R151 Written notification of patent or utility model registration

Ref document number: 6757169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151