JP2007060594A - 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 - Google Patents

情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP2007060594A
JP2007060594A JP2005260884A JP2005260884A JP2007060594A JP 2007060594 A JP2007060594 A JP 2007060594A JP 2005260884 A JP2005260884 A JP 2005260884A JP 2005260884 A JP2005260884 A JP 2005260884A JP 2007060594 A JP2007060594 A JP 2007060594A
Authority
JP
Japan
Prior art keywords
data
verification
signature
partial
signed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005260884A
Other languages
English (en)
Other versions
JP4827468B2 (ja
Inventor
Junichi Hayashi
淳一 林
Yuji Suga
祐治 須賀
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 JP2005260884A priority Critical patent/JP4827468B2/ja
Priority to US11/458,175 priority patent/US7958361B2/en
Priority to EP06253756A priority patent/EP1752906A3/en
Priority to CN200610107473.7A priority patent/CN1905450B/zh
Publication of JP2007060594A publication Critical patent/JP2007060594A/ja
Application granted granted Critical
Publication of JP4827468B2 publication Critical patent/JP4827468B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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/68Special signature format, e.g. XML format

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 被署名データの受信前、或いは受信している途中で署名の検証処理を可能とする。
【解決手段】 送受信部132で署名データと、被署名データを構成する複数の部分被署名データのうち、少なくとも1つの部分被署名データを受信する。署名検証部134で前記署名データ、及び部分被署名データを用いて署名を検証する。制御部131で前記署名検証部134による署名検証結果に応じて、送受信部132、出力部135、操作部136のいずれかを制御する。
【選択図】 図13

Description

本発明は、署名検証処理に関するものである。
近年、コンピュータとそのネットワークの急速な発達及び普及により、文字データ、画像データ、音声データなど、多種の情報がデジタル化されている。
デジタルデータは、経年変化などによる劣化がなく、いつまでも完全な状態で保存できる一方、容易に複製や編集・加工を施すことが可能である。
こうしたデジタルデータの複製、編集、加工はユーザにとって大変有益である反面、デジタルデータの保護が大きな問題となっている。そのため、セキュリティ技術は急速に重要性を増している。
そこで、送信されてきたデータが改ざんされたかどうかを受信者が検出するために、改ざん防止用の付加データを検証する方式としてデジタル署名という技術が提案されている。デジタル署名技術は、データ改ざんだけではなく、インターネット上でのなりすまし、否認などを防止する効果も持ち合わせている。
デジタル署名技術を、予め、デジタルデータに適用して送信し、当該(デジタル署名が付加された)デジタルデータを受信した際に、適用されているデジタル署名の検証処理を実行する。そして、検証処理が失敗した場合には、受信したデジタルデータを破棄するようなシステムが提案されている。(特許文献1参照)
特許文献1によれば、一旦、デジタル署名の検証が失敗した(改竄されている可能性のある)デジタルデータが、再び再利用(編集、或いは転送など)されることを防止することが可能となる。
特開2003−132028号公報
しかしながら、従来技術によれば、デジタルデータが改竄されているか否かは、(署名生成の対象となった)被署名データの全てを受信した後に検証可能となるが、被署名データを受信する前、或いは受信している途中で検証することは困難であった。このため、たとえ、デジタルデータが偽造されていたり、或いは、被署名データが改竄されていたとしても、これらを判断するためには、全ての被署名データを受信する必要があり、効率的ではなかった。
本発明は、かかる問題点に鑑みなされたものであり、被署名データの受信前、或いは受信している途中で、デジタルデータの正当性を検証可能とする技術を提供することを目的とする。
上記課題を解決するため、本発明の情報処理装置は、署名データと、被署名データを構成する複数の部分被署名データのうち、少なくとも1つの部分被署名データを受信する受信手段と、前記署名データ、及び部分被署名データを用いて署名を検証する署名検証手段と、前記署名検証手段による署名検証結果に応じて、前記受信手段を制御する制御手段を有することを特徴とする。
また、本発明の情報処理装置は、分割された部分データが所定の順を有する部分データを入力する入力手段と、第1の部分データの検証データと、前記第1の部分データの次の順である第2の部分データとから、前記第2の部分データの検証データを生成する生成手段と、前記第2の部分データと前記第2の部分データの検証データとを送信する送信手段を有することを特徴とする。
本発明によれば、被署名データの受信前、或いは受信している途中で署名の検証処理が可能である。また、検証処理に応じて機器の制御を実行可能となり、効率的に電子データを通信できる。
まず、デジタル署名、ハッシュ関数、公開鍵暗号、及び公開鍵認証基盤について簡単に説明する。
[デジタル署名]
まず、デジタル署名について説明する。図10は、署名作成処理および署名検証処理を表す模式図であり,この図を基に説明を行う。デジタル署名データ生成にはハッシュ関数と公開鍵暗号とが用いられる。これは、秘密鍵をKs(106)、公開鍵をKp(108)とすれば、送信者は、入力データM(101)にハッシュ処理102を施して固定長データであるダイジェストH(M)(番号1033)を算出する。その後、秘密鍵Ksで固定長データH(M)に変換処理1004を施してデジタル署名データS(1005)を作成し、その後、デジタル署名データSと入力データMとを受信者に送信する。
受信者は、検証処理1012において,デジタル署名データS(1010)を公開鍵Kp(1011)で変換(復号)処理1007を施したデータと、入力データM(1007)にハッシュ処理1008を施したデータ1009とが一致するかどうか検証する。そして、上記検証の結果(1013)が一致していないならば、データMの改ざんが行われたことを検出できる。
デジタル署名にはRSA、DSA(詳細は後述)などの公開鍵暗号方式が用いられている。これらのデジタル署名の安全性は、秘密鍵を所有者以外のエンティティが、署名を偽造、もしくは秘密鍵を解読することが計算的に困難であることに基づいている。
[ハッシュ関数]
次に、ハッシュ関数について説明する。ハッシュ関数は署名対象データを非可逆に圧縮して署名付与処理時間を短縮するためにデジタル署名処理とともに利用される。つまり、ハッシュ関数は任意の長さのデータMに処理を行い、一定の長さの出力データを生成する機能を持っている。ここで、出力H(M)を平文データMのハッシュデータと呼ぶ。
特に、一方向性ハッシュ関数は、データMを与えた時、H(M’)=H(M)となる平文データM’の算出が計算量的に困難であるという性質を持っている。上記一方向性ハッシュ関数としてはMD2、MD5、SHA−1などの標準的なアルゴリズムが存在する。
[公開鍵暗号]
次に、公開鍵暗号について説明する。公開鍵暗号は2つの異なる鍵を利用し、片方の鍵で暗号処理したデータは、もう片方の鍵でしか復号処理できないという性質を持っている。上記2つの鍵のうち、一方の鍵は公開鍵と呼ばれ、広く公開するようにしている。また、もう片方の鍵は秘密鍵と呼ばれ、本人のみが持つ鍵である。
公開鍵暗号方式を用いたデジタル署名としては、RSA署名、DSA署名、Schnorr署名などが挙げられる。ここでは例としてRSA署名と、DSA署名を説明する。
[RSA署名]
まず、RSA署名について説明する。素数p、qを生成しn=pqとおく。λ(n)をp−1とq−1の最小公倍数とする。λ(n)と素な適当なeを選び,d=1/e(mod λ(n))とおく。公開鍵をeおよびnとし、秘密鍵をdとする。また、H()をハッシュ関数とする。
[RSA署名作成] 文書Mに対する署名の作成手順
s:=H(M)^d(mod n)を署名データとする。
[RSA署名検証] 文書Mに対する署名(s、T)の検証手順
(M)=s^e(mod n)かどうか検証する。
[DSA署名]
次に、DSA署名について説明する。p、qを素数とし、p−1はqを割り切るとする。gをZ_p*(位数pの巡回群Z_pから0を省いた乗法群)から任意に選択した、位数qの元(生成元)とする。Z_p*から任意に選択したxを秘密鍵とし、それに対する公開鍵yをy:=gx mod pとおく。H()をハッシュ関数とする。
[DSA署名作成] 文書Mに対する署名の作成手順
1)αをZ_qから任意に選択し、T:=(gα mod p)mod qとおく。
2)c:=H(M)とおく。
3)s:=α―1(c+xT)mod qとおき、(s、T)を署名データとする。
[DSA署名検証] 文書Mに対する署名(s、T)の検証手順
T=(gh(M)s^−1 y Ts^−1 mod p)mod qかどうか検証する。
[公開鍵認証基盤]
次に、公開鍵認証基盤について説明する。クライアント・サーバ間の通信においてサーバのリソースにアクセスする際には、利用者認証が必要であるが、その手段の一つとしてITU−U勧告のX.509等の公開鍵証明書がよく用いられている。公開鍵証明書は公開鍵とその利用者との結びつけを保証するデータであり、認証機関と呼ばれる信用のおける第3者機関によるデジタル署名が施されたものである。例えば、ブラウザで実装されているSSL(Secure Sockets Layer)を用いた利用者認証方式は、ユーザの提示してきた公開鍵証明書内に含まれる公開鍵に対応する秘密鍵をユーザが持っているかどうか確認することで行われる。
公開鍵証明書は認証機関による署名が施されていることで、公開鍵証明書内に含まれているユーザやサーバの公開鍵を信頼することができる。そのため、認証機関が署名作成のために用いられる秘密鍵が漏洩もしくは脆弱になった場合、この認証機関から発行されたすべての公開鍵証明書は無効になってしまう。認証機関によっては膨大な数の公開鍵証明書が管理されているため、管理コストを下げるためにさまざまな提案が行われている。後述する本発明によれば、発行する証明書数を抑え、かつ公開鍵リポジトリとしてのサーバアクセスを軽減する効果がある。
公開鍵証明書の一例であるITU−U勧告X.509v.3では被署名データとして証明対象となるエンティティ(Subject)のIDおよび公開鍵情報が含まれている。これらの被署名データにハッシュ関数を施したダイジェストに対して前述したRSAアルゴリズムなどの署名演算により署名データが生成される。
また、被署名データにはextensionsというオプショナルなフィールドが設けられ、アプリケーション又はプロトコル独自の新しい拡張データを含ませることが可能である。図11、X.509v.3で規定されるフォーマットを示しているおり、以下、それぞれのフィールドに表示される情報を説明する。versionはX.509のバージョンが入る。このフィールドはオプショナルであり、省略された場合はv1を表わす。serialNumbeは認証局がユニークに割り当てるシリアル番号が入る。signatureは公開鍵証明書の署名方式が入る。issuerは公開鍵証明書の発行者である認証局のX.500識別名が入る。validityは公開鍵の有効期限(開始日時と終了日時)が入る。subjectは本証明書内に含まれる公開鍵に対応する秘密鍵の所有者のX.500識別名が入る。subjectPublicKeyInfoは証明する公開鍵が入る。issuerUniqueIdentifier及びsubjectUniqueIdentifierはv2から追加されたオプショナルなフィールドであり、それぞれ認証局の固有識別情報、所有者の固有識別情報が入る。extentionsはv3で追加されたオプショナルなフィールドであり、拡張型(extnId)、拡張値(extnValue)及びクリティカルビット(critical)の3つ組の集合が入る。v3拡張フィールドはX.509で定められた標準の拡張型だけでなく、独自の新しい拡張型も組み込むことが可能である。そのためv3拡張型をどう認識するかはアプリケーション側に依存することとなる。クリティカルビットはその拡張型が必須であるかまたは無視可能かを表わすものである。
(第1の実施の形態)
図1は本実施形態を用いたシステムイメージを示した図の一例である。図1が示すシステムイメージは、スキャナ11と電子文書を生成するコンピュータ装置12、電子文書を編集加工するコンピュータ装置13、及び電子文書を印刷する印刷装置14がネットワーク15に接続されている。
図2は本実施形態を用いて図1のシステムイメージを実現した場合の構成を示すシステムブロック図である。
電子文書生成装置31は、画像データが入力され、鍵情報を取得し、署名が付加される。署名が付加された画像データは電子文書として、ネットワーク32を経由して、電子文書操作装置33へ送信される。電子操作装置33では、受信したデータを検証する他に、データの加工、編集、印刷の操作が行われる。
次に、図3を用いて、本実施の形態に適応可能なホストコンピュータについて説明する。図2は本実施形態に係る電子文書生成装置31、及び電子文書操作装置33として機能するホストコンピュータの基本構成を示すと共に、その周辺機器との関係を示す図である。同図において、ホストコンピュータ21は、例えば一般に普及しているパーソナルコンピュータであり、HD26、CD27、FD28、及びDVD29などに蓄積したり、或いは、蓄積されている画像データをモニタ22に表示したりすることが可能である。更に、NIC210などを用いて、これらの画像データをインターネットなどを介して配布させることが可能である。また、ユーザからの各種指示等は、マウス213、及びキーボード214からの入力により行われる。ホストコンピュータ21の内部では、ます216により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
図中、22は、ホストコンピュータ21からの種々の情報を表示することの出来るモニタである。
23は、ホストコンピュータ21内の各部の動作を制御、或いはRAM25にロードされたプログラムを実行することのできるCPUである。24は、BIOSやブートプログラムを記憶しているROMである。25はCPU23にて処理を行うために一時的にプログラムや処理対象の画像データを格納しておくRAMであり、ここにOSやCPU23が後述の各種処理を行うためのプログラムがロードされることになる。
26は、RAM等に転送されるOSやプログラムを格納したり、装置が動作中に画像データを格納したり、読出すために使用されるハードディスク(HD)である。27は、外部記憶媒体の一つであるCD−ROM(CD−R)に記憶されたデータを読み込み或いは書き出すことのできるCD−ROMドライブである。
28は、CD−ROMドライブ27と同様にFD(フロッピー(登録商標)ディスク)からの読み込み、FDへの書き出しができるFDドライブである。29も、CD−ROMドライブ27と同様にDVD−ROMからの読み込み、DVD−RAMへの書き出しができるDVD−ROM(DVD−RAM)ドライブである。尚、CD−ROM、FD、DVD−ROM等に画像処理用のプログラムが記憶されている場合には、これらプログラムをHD26にインストールし、必要に応じてRAM25に転送されるようになっている。
211は、RAM25、HD26、CD−ROM27、FD28、DVD29などに記憶されている画像データを、インターネットなどのネットワークに接続するNIC210にホストコンピュータ21を接続するためのI/Fである。I/F211を介してホストコンピュータ21は、I/F211を介してインターネットへデータを送信したり、インターネットからデータを受信する。
215は、ホストコンピュータ21にマウス213やキーボード214を接続するためのI/Fで、I/F215を介してマウス213やキーボード214から入力された各種の指示がCPU23に入力される。
[電子文書生成]
次に、本実施形態に適応可能な電子文書生成部について説明する。図4は本実施形態における電子文書生成装置を説明する機能ブロック図である。
電子文書生成装置31は、紙文書43を入力する紙文書入力部44、紙文書を解析し中間電子文書を生成する中間電子文書生成部45、中間電子文書および秘密鍵入力部46から入力された秘密鍵より署名データを生成する署名データ生成部47、中間電子文書と署名データを統合し電子文書を生成する電子文書アーカイブ部49、電子文書を電子文書操作装置33に送信する電子文書送信部410から構成される。
まず、中間電子文書生成部45の詳細を説明する。図5は本実施形態における中間電子文書生成部における処理のフローを示す図である。
S51で紙文書入力部から得られたデータを電子化する。図9(A)は電子化したデータの一例である。S502は電子データを属性ごとに領域分割する。ここでいう属性とは、文字、写真、表、線画があげられる。
領域分割処理技術の具体例としては、USP5680478号公報記載の処理などがある。上例では文書画像中の黒画素塊、白画素塊の集合を抽出し、その形状、大きさ、集合状態等の特徴量から、文字、絵や図、表、枠、線といった特徴名で領域を抽出している。
例えば、図9(B)は抽出した特徴量をもとに属性を判別し、領域分割を行った結果であり、それぞれの領域の属性は、92、94、95、96は文字領域、93はカラー写真領域となっている。
次にS53では、前段階で得られた領域ごとに文書情報を生成する。文書情報とは属性、ページの位置座標等のレイアウト情報、分割された領域の属性が文字であれば文字コード列や、段落や表題などの文書論理構造等があげられる。
S54では、前段階で得られた領域ごとに伝達情報を変換する。伝達情報とは、レンダリングに必要な情報のことである。具体的には解像度可変のラスタ画像、ベクタ画像、モノクロ画像、カラー画像、それぞれの伝達情報のファイルサイズである。また、分割された領域の属性が文字であれば、文字認識した結果のテキスト、個々の文字の位置、フォント、文字認識によって得られた文字の信頼度等が挙げられる。
図9(B)では、文字領域92、94、95、96はベクタ画像に、カラー写真領域93はカラーラスタ画像に変換されるものとする。
次にS55では、S52で分割された領域とS53で生成された文書情報とS54で変換された伝達情報を関連付ける。関連付けた情報はツリー構造で記述される。
S56では前段階までで生成されたデータ群を中間電子文書として保存する。保存の形式はツリー構造を表現可能な形式であればよい。本実施形態は構造化文書の一例であるXMLで保存する。
以上、中間電子文書生成部45について説明した。
次に、署名データ生成部47の詳細を説明する。図6は本実施形態における署名生成部における処理のフローを示す図である。
まず、S61では、被署名データのダイジェスト値を、被署名データ毎に夫々生成する。ここで、被署名データとは、中間電子文書中に含まれる署名対象データのことであり、後述する図12における伝達情報a(121)、伝達情報b(122)、或いは文書情報(123)であると考えれば理解し易い。また、ダイジェスト値を生成するために、本実施形態ではハッシュ関数を適用する。
次に、S62では、被署名データの識別情報を、被署名データ毎に夫々生成する。ここで、識別情報としては、被署名データをユニークに識別可能なものであれば良い。例えば、本実施形態では、被署名データの識別情報として、RFC2396で規定されているURIを適用するものとするが、本発明はこれに限定されることなく、種々の値を識別情報として適用可能であることは明らかである。被署名データも識別情報を有しており、識別情報よりそれに対応する被署名データを特定することができる。
そして、S63では、全ての署名対象データに対してS61、及びS62が適用されたか否かが判定される。全ての署名対象データに対してS61、及びS62が適用された場合には、処理をS64に進め、さもなければ処理をS61に進める。
S64では、S61で生成された被署名データのダイジェスト値、及びS62で生成された被署名データ識別情報に対して、ハッシュ関数を用いてダイジェスト値を生成する。そして、生成されたダイジェスト値に対して、秘密鍵を用いて署名処理を実行して、署名値を算出する。署名値を算出するために、本実施形態ではデジタル署名を適用する。
続いて、S65では、S61で生成された被署名データのダイジェスト値、S62で生成された被署名データ識別情報、及びS64で生成された署名値を用いて署名データを構成し、署名生成処理を終了する。
ここで、本実施形態における、署名データの構成について図7を用いて説明する。図7は本実施形態に適用可能な署名データの構成の一例を示す図である。図7(A)は、電子文書411全体の構成を示す図であり、71は署名データ、72は被署名データ1、及び73は被署名データ2である。また、図7(B)は、図7(A)中の署名データの詳細な構成を示す図であり、74は署名値、75は被署名データ1の識別情報、76は被署名データ1のダイジェスト値、77は被署名データ2の識別情報、78は被署名データ2のダイジェスト値である。
図7(A)に示す例では、2つの被署名データ1(72)、及び被署名データ2(73)に対して、一つの署名データ(71)を生成した場合の電子文書411の構成例を示している。また、図7(B)は署名データ71の詳細な構成例を示している。
図7(B)においては、被署名データ1の識別情報75、及び被署名データ2の識別情報76が前述したS62で生成され、被署名データ1のダイジェスト値76、及び被署名データ2のダイジェスト値78が前述したS61で生成される。署名値(74)は、被署名データ1の識別情報75、被署名データ1のダイジェスト値76、被署名データ1の識別情報77、被署名データ2のダイジェスト値78からS64において生成される。
続いて、電子文書アーカイブ部49について図12を用いて説明する。121、及び122は中間電子文書生成部45で生成された中間電子文書の伝達情報、及び73は文書情報である。また、124は署名データ生成部47で生成された署名データである。署名データには、前述したように被署名データにあたる伝達情報や文書情報を指し示す識別情報を含んでいる。図12(A)でいうと、署名データ124には、伝達情報121を指し示す識別情報126、伝達情報122を指し示す識別情報127、文書情報123を指し示す識別情報128を埋め込む。
中間電子文書生成部で生成された中間電子文書および署名データ生成部で生成された署名データは図12(A)の例のように、伝達情報、文書情報、署名データが個々のデータとして存在している。電子文書アーカイブ部49では図12(A)のそれらをひとつにアーカイブし電子文書を生成する。図12(B)は中間電子文書と署名データをアーカイブ化したときの模式図であり、アーカイブデータ129は図4の電子文書411に該当する。
図12(A)と図12(B)とでは、121と1213、122と1214、123と1212、124と1211が夫々対応している。
[電子文書操作]
次に、本実施形態に適応可能な電子文書操作装置33について説明する。図13は本実施形態に適応可能な電子文書操作装置33を説明する機能ブロック図である。
本実施形態における電子文書操作装置は、送受信部132、公開鍵入力部133、署名検証部134、制御部131、出力部135、操作部136からなる。
ここで、送受信部132で受信される電子文書は前述した電子文書生成装置31(図4)から送信された電子文書411と同じデータであると考えると理解し易い。特に、本実施形態においては、電子文書生成装置31から送信された電子文書全体を、一度に電子文書受信部132で受信するのではなく、電子文書を構成する部分データ毎に受信するようにしている。この受信処理の詳細については後述する。
また、公開鍵入力部133は、前述した電子文書生成装置(図4)において署名生成部47で用いられた秘密鍵に対応する鍵データを入力するようにする。尚、公開鍵は、図11に示すような公開鍵証明書に含まれる公開鍵データを入力するようにしても良い。
署名検証部134において、入力された電子文書に含まれる署名が、公開鍵133を用いて検証される。更に、署名検証部134では、署名の検証結果に応じて制御部131を制御する。
制御部131は、送受信部132へデータの送受信の制御を行う。又は、出力部135へ受け取った電子文書の出力の制御を行う。もしくは、操作部136へ受け取った電子文書の加工や編集の制御を行う。
以降では、署名検証部134で実行される署名検証処理及び制御処理についての詳細を説明する。図8は本実施形態における署名検証部134、制御部131における処理のフローチャートである。
まず、S81では、署名データを受信する。ここで署名データとは、前述した図7(A)における署名データ(71)のことである。このように、本実施形態では電子文書アーカイブ部49においてアーカイブされた電子文書全体(即ち、71、72、及び73)を一度に受信するのではなく、電子文書を構成する部分データ毎に受信するようにしている。S81の段階では、被署名データ1、及び被署名データ2はまだ受信していないことに注意されたい。
次に、S82では、受信した署名データを用いて署名データの検証処理を実行する。本実施形態における署名データ検証処理の詳細について図14を用いて説明する。図14は本実施形態における署名データ検証処理のフローを示すフローチャートである。
まず、S141では、S81で受信した署名データに含まれる被署名データの識別情報、及び被署名データのダイジェスト値から、ハッシュ関数を用いてダイジェスト値を算出する。例えば、図7(B)に示す例では、被署名データ1の識別情報75、被署名データ1のダイジェスト値76、被署名データ2の識別情報77、及び被署名データ2のダイジェスト値78からダイジェスト値を生成する。
次に、S142では、S81で受信した署名データに含まれる署名値を、公開鍵入力部133で入力された公開鍵を用いて復号する。例えば、図7(B)に示す例では、署名値74が公開鍵を用いて復号される。
そして、S143では、S141で生成されたダイジェスト値と、S142で復号された値を比較する。
続いて、S83では、S82における署名データ検証処理の結果を判定し、検証処理が成功した場合(つまり、S141で生成されたダイジェスト値とS142で復号された値がS143で等しいと判定された場合)は処理をS85に進める。検証処理が成功しなかった場合は、処理をS84に進める。
S84では、制御部131で電子文書操作装置33の制御を行う。本実施形態においては、装置の制御として、電子文書生成装置31に対して、これ以降のデータ送信処理を停止するような命令を送信し、電子文書操作装置33がデータ受信処理を実行しないように送受信部132を制御する。
尚、本実施形態はこれに限定されることなく、種々の方法で装置を制御可能であることは明らかである。例えば、電子文書生成装置31に対して、署名データの再送処理を実行するような命令を送信し、再送された署名データを用いて再度署名データの検証処理を実行するようにしてもよい。これは、最初の送信処理の際に、署名検証に成功しなかったことが伝送路途中での伝送誤りだった可能性をも考慮し、再度署名を検証し直す場合の制御として考えられる。そして、所定回数だけ再送処理を実行し、所定回数を超えて検証処理が失敗した場合には、受信停止処理を実行するようにしても良い。
さらにその他の装置の制御例としては、署名検証が正しいデータのみ出力し(例えば、プリント出力や、ディスプレイ出力)、署名検証が成功しなかった場合は、データ出力しないよう、出力部135を制御してもよい。
さらには、署名検証が正しいデータのみデータの編集や加工を行えるようにし、署名検証が成功しなかった場合は、データの編集や加工を行えないよう、操作部136を制御してもよい。
一方、S85では、被署名データを受信する。ここで被署名データとは、前述した図7(B)における被署名データ1(72)、及び被署名データ2(73)のことである。特に、本実施形態では、複数の被署名データが存在する場合、(電子文書アーカイブ部49でアーカイブされた)全ての被署名データを一度に受信するのではなく、被署名データ毎に受信するようにする。例えば、図7(A)の場合、最初にS85が実行される段階では、被署名データ1(72)だけが受信されることに注意されたい。
次に、S86では、受信した被署名データを用いて被署名データの検証処理を実行する。ここで、本実施形態における被署名データの検証処理の詳細について図15を用いて説明する。図15は本実施形態における被署名データの検証処理のフローを示すフローチャートである。
まず、S151では、S85で受信した被署名データからハッシュ関数を用いてダイジェスト値を算出する。
そして、S152で、S85で生成されたダイジェスト値と、前段のS81で受信した署名データ中に含まれるダイジェスト値とを比較する。このとき、署名データに含まれる被署名データの識別情報より、被署名データの対応先を確認することができる。
次に、S87では、S86における被署名データ検証処理の結果を判定する。検証処理が成功した場合(つまり、S85で生成されたダイジェスト値と、S81で受信した署名データ中に含まれるダイジェスト値がS152で等しいと判定された場合)は処理をS88に進め、さもなければ処理をS84に進める。
そして、S88では、全ての被署名データを受信したか否かを判定し、全ての被署名データを受信していない場合は、処理をS85に進め、さもなければ検証処理を終了する。
以上説明した署名データ検証処理の例を、図16を用いて説明する。図16は本実施形態における署名データ検証処理の例を示す図である。図16に示す例では、図16(A)に示すように(電子文書生成装置31で生成された)文書データは、署名データ(161)、被署名データ1(162)、被署名データ2(163)、被署名データ3(164)、被署名データ4(165)から構成されている。
まず、図16(B)に示すように、署名データ161だけが電子文書操作装置33で受信され(S81)、受信した署名データ161の検証処理を実行する(S82)。検証処理が成功した場合には、続いて、図16(C)に示すように、被署名データ1(162)を受信し(S85)、受信した被署名データ162の検証処理を実行する(S86)。そして、検証処理が成功した場合には、続いて、図16(D)に示すように、被署名データ2(163)を受信し(S85)、受信した被署名データ2(163)の検証処理を実行する(S86)。以降、被署名データ3(164)、及び被署名データ4(165)の場合も同様の処理であるので、説明は省略する。
図16に示すように、本実施形態では、署名データ、及び被署名データの全てを受信することなく、部分的な被署名データを順次受信し、受信した被署名データを用いて、リアルタイムに検証処理を実行し、検証結果に応じて、装置を制御することが可能となる。
本実施形態においては、例えば、(公開鍵に対応した秘密鍵を有する)正当な署名者によって署名がなされていない場合(即ち、電子文書が偽造されている場合)に、署名データの検証処理が失敗する。又は、署名データに含まれる被署名データのダイジェスト値、或いは被署名データの識別情報が改竄されている場合に、署名データの検証処理が失敗する。このような場合に、前述したように装置を制御することにより、(署名データの検証処理が失敗したような)偽造された被署名データを受信する必要がなくなり、効率的である。
また、署名値の生成において、被署名データのダイジェスト値や識別情報を、受信側で受信される順番にデータを並べて署名を生成することで、被署名データの欠落がないか、あるいは被署名データが正しい順番で受信されているかも検証することが可能である。
また、例えば、被署名データが改竄されている場合には、被署名データの検証処理が失敗する。こうした場合に、前述したように装置を制御することにより、それ以降の被署名データを受信する必要がなくなり、効率的である。
(第2の実施形態)
第1の実施形態では、最初に署名データを受信して署名データの検証を行い、その後、被署名データの検証を行った。第2の実施形態では、署名データも部分的に受信して、部分データが途中で削除されていないか、受信した部分データの順序は改竄されていないかを検証しながら、装置を制御するようにする。第1の実施形態では、複数の構成要素(つまり、文書情報や伝達情報)からなる電子文書の例を説明したが、動画像データを例に挙げ、部分データが順番を有するデータの例を考える。
<全体構成の説明>
まずはじめに、本実施形態におけるシステム概要例を図17に示す。本実施形態におけるシステムは、画像配信サーバ310、画像DB320、及びネットワーク330、及び画像再生クライアント340から構成される。
図中、装置310は、画像再生クライアント340から受信した画像データの取得要求に応答し、画像DB320に蓄積されている画像データを配信する画像配信サーバである。また、本実施形態においては、画像データに加え、当該画像データが改竄されているか否かを画像再生クライアント340で検証可能な検証データを生成し、画像データと共に画像再生クライアント340へ送信する。
装置340は画像再生クライアントであって、画像配信サーバ310に対し所望の画像データの取得要求を送信し、画像配信サーバ310からネットワーク330経由で配信された画像データ再生を行う。また、本実施形態においては、画像データに加え、当該画像データに対応する検証データを受信し、画像データが改竄されているか否かの検証も行う。
装置310、及び装置340はインターネットなどのネットワーク330によって接続されており、各種データを互いに交換可能である。また、装置310、及び装置340は通常のパーソナルコンピュータ等の汎用装置で構わない。処理の流れを簡単に説明すると、次の通りである。
画像閲覧者は、画像再生クライアント340を利用して、所望の画像データを画像配信サーバ310に要求する。画像配信サーバ310は、画像再生クライアント340から要求された画像データを画像DB320から取得し、当該画像データを、部分データに分割する。同時に、分割された部分データに対応する検証データを生成する。そして、部分データ、及び生成した検証データを順に画像再生クライアント340に送信する。画像再生クライアント340は、部分データ、及び検証データを受信し、当該検証データを利用して、受信した部分画像データが正しい部分画像データか否かを検証する。更に、受信した部分データを再生し、再生後、当該部分データを消去する。
以上が、本実施形態におけるシステムの概要例である。
本実施形態に係る画像再生クライアント、及び画像配信サーバとして機能するホストコンピュータの基本構成は、第1の実施形態の図3と同様であるので、説明を省略する。
<検証データ生成処理>
次に、本実施形態に適応可能な検証データ生成処理部について図18を用いて説明する。
図18は、本実施形態における検証データ生成処理機能を説明する図である。図18において、410は入力部、420は分割部、430は鍵取得部、440は検証データ生成部、450はハッシュ値保持部、460はハッシュ値生成部、470は出力部である。
図18に示す検証データ生成処理機能は、前述した画像配信サーバ310(図17)に搭載される一機能である。
まず、入力部410について説明する。入力部410は、画像データDが画像DB320から入力され、入力されたデータDが出力される。
本実施形態では、画像データDとして、Motion JPEG、或いは、Motion JPEG 2000などのようにフレーム毎に独立に圧縮符号化されている動画像データを対象とする。しかしながら、本発明はこれに限定されることなくMPEGなどのフレーム間相関を利用した種々の圧縮符号化する方式を適応可能であることは明らかである。
次に、分割部420について説明する。分割部420は、入力部410から出力された画像データDが入力され、画像データDが複数の部分データDiに分割され、分割されたDiが出力される。
本実施形態では、画像データDはフレーム毎に分割されるものとする。即ち、部分データDiは画像データDに含まれる各々のフレームデータを表す。しかしながら、本発明はこれに限定されることなく、複数のフレームの集合をDiとするなど、画像データDを任意の単位で分割可能であることは明らかである。さらに、本実施形態では、部分データはフレーム順に所定の順序を有するものとする。
次に、鍵取得部430について説明する。鍵取得部430では、後述する検証データ生成処理部440における検証データ生成処理のために必要な鍵情報Kが取得され、出力される。
本実施の形態において、鍵取得部430において取得される鍵情報Kは、画像配信サーバ310と画像再生クライアント340とで安全に共有されている共有鍵であるとする。
次に、検証データ生成部440について説明する。検証データ生成処理部440では、前段の分割部420から出力された部分データDi、及び鍵取得部43から出力された鍵情報Kが入力され、鍵情報Kを利用して部分データDiに対応する検証データVD0が生成され、生成された検証データVD0が出力される。
検証データ生成処理は、分割部420で分割された部分データのうち最初のデータに対してだけ1度だけ実行される。即ち、本実施形態においては、第1フレームD0に対してだけ、検証データVD0が生成される。
本実施形態では、例えば、以下の様に検証データVD0を算出する。
VD0=F(K、D0) (式1)
ここで、F(x、y)は、鍵xを用いてデータyに対する検証データを生成する処理を示す。
本実施形態では、検証データ生成処理F(x、y)として、HMAC(Hash−based Message Authentication Code)を適応するものとする。HMACについては、当業者にとって公知の技術であるため、詳細な説明は省略する。尚、本実施形態では、検証データ生成処理としてHMACを利用した方式を説明するが、本発明はこれに限定されることはない。例えば、CMAC(Cipher−based Message Authentication Code)などの種々のMAC生成アルゴリズムを適応可能である。
次に、検証データ保持部450について説明する。検証データ保持部450は、前段の検証データ生成部440で生成された検証データVD0、或いは、後述するハッシュ値生成部46で生成された検証データVDi(現部分データDiに対応する検証データDVi)が入力され、一旦、保持する。そして、保持されているハッシュ値VDi−1(前部分データDi−1に対応する検証データVDi−1)を後段のハッシュ値生成部46に出力する。
即ち、検証データ保持部450は、ハッシュ値生成部460(或いは、検証データ生成部44)で生成されたハッシュ値VDi(或いは、検証データVD0)を一旦保持し、次回のハッシュ値生成部460に提供するための一時記憶バッファの役割を果たす。
次に、ハッシュ値生成部460について説明する。ハッシュ値生成部460は、前段の分割部420で分割された分割データDi、及び検証データ保持部450で保持されている検証データVDi−1が入力される。そして、部分データDi、及び検証データVDi−1に応じてハッシュ値VDiが生成され、生成されたハッシュ値VDiが出力される。
本実施形態では、例えば、以下の様にハッシュ値VDiを算出する。
VDi=H(VDi−1my|Di) (式2)
ここで、H(・)はハッシュ関数、及びx|yはxとyの連結を示す。
尚、本実施形態においては、ハッシュ値生成処理のためのハッシュ関数については特に限定せず、MD5やSHA−1などの種々のハッシュ関数を適用可能である。
次に、出力部470について説明する。出力部470は、ハッシュ値生成部460で生成された検証データVDi(或いは、前段の検証データ生成部440で生成された検証データVD0)、及び分割部420で分割された部分データDiを出力する。
本実施形態では、出力部470は、NIC210(図3)を用いて、ネットワーク33(図17)を介し、画像再生クライアント340(図17)に送信するものとする。尚、本発明はこれに限定されることなく、出力部470において、一旦、RAM35、HD36、CD37、FD38、DVD39などの記憶媒体に蓄積するようにしても良い。
また、出力部470では、検証データVDi、及び部分データDiが後述する画像再生クライアント340で対応付け可能なように出力する。本実施形態における、出力データの形式例を図19を用いて説明する。本実施形態では、510に示すように、部分データDiにVDiを連結させて出力するようにしたり、或いは、520に示すように、部分データDiのヘッダ中(図中、網掛けの部分)に記録して出力ようにすればよい。
次に、以上説明したような検証データ生成処理の流れを図20を用いて説明する。図20は本実施形態に適応可能な検証データ生成処理を説明するフローチャートである。
まず、ステップS610は、入力部410で入力された画像データDを複数の部分データに分割する(図18の420)。そして、ステップS620でパラメータiを0に初期化する。ここでパラメータiは部分データDiを特定するパラメータである。
次に、ステップS630では、i=0の場合は前述した式1(図18の440)、及び、i>0の場合は前述した式2(図18の460)を用いて検証データVDiを算出する。ステップS640では、i番目の検証データVDiを生成するために必要となる(i−1)番目の検証データVDi−1は、ステップS63で算出した値を一時記憶バッファ(図18の450)に保持しておく。
ステップS650は、部分データDi、及び検証データVDiを出力する(図18の470)。その後、ステップS660で、パラメータiがN−1以下か否かが判定される。ここでNは画像データDに含まれる部分データDiの総数である。パラメータiがN−1以下の場合、ステップS670でパラメータiを1だけ増加させ、ステップS630に進む。さもなければ、検証データ生成処理を終了する。
<検証処理、及び方法>
次に、本実施形態に適応可能な検証処理について図21を用いて説明する。
図21は、本実施形態における検証処理を説明する図である。図21において、710は入力部、720は鍵取得部、730は検証データ生成部、740は検証データ保持部、750はハッシュ値生成部、760は判定部、770は部分データ再生部、780は部分データ消去部である。
図18に示す検証処理機能は、前述した画像再生クライアント340(図17)に搭載される一機能である。
まず、入力部710について説明する。入力部710では、部分データD’i、及び検証データVDiが入力される。ここで入力される部分データD’i、及び検証データVDiは、図18における出力部470から出力されたデータであると考えれば理解しやすい。尚、本実施形態では、出力部470から部分データDiが出力された後、ネットワーク330上で改竄されている可能性があることを考慮し、Diとは異なる記号D’iを用いている。
次に、鍵取得部720について説明する。鍵取得部720では、後段の検証データ生成部730で検証データ生成処理のために必要な鍵情報Kが取得され、出力される。
鍵取得部720において取得される鍵情報Kは、図18における鍵取得部430において取得された鍵情報Kと同じ情報である。
次に、検証データ生成部730について説明する。検証データ生成部730では、入力部710で入力された部分データD’i、及び鍵取得部720で取得された鍵情報Kを入力し、鍵情報Kを用いて部分データD’iから検証データVD’0が生成され、生成された検証データVD’0が出力される。
検証データ生成処理740で実行される検証データ生成処理は、図18における検証データ生成部440で実行された検証データ生成処理(即ち、式1)と同様の処理を適応するものとする。
次に、検証データ保持部740について説明する。検証データ保持部740は、前段の検証データ生成部730で生成された検証データVD0、或いは、後述するハッシュ値生成部750で生成された検証データVDi(現部分データDiに対応する検証データDVi)が入力され、一旦、保持する。そして、保持されているハッシュ値VDi−1(前部分データDi−1に対応する検証データVDi−1)を後段のハッシュ値生成部450に出力する。
次に、ハッシュ値生成部750について説明する。ハッシュ値生成部750は、前段の入力部710で入力された部分データDi、及び検証データ保持部740で保持されている検証データVDi−1が入力される。そして、部分データDi、及び検証データVDi−1に応じてハッシュ値VDiが生成され、生成されたハッシュ値VDiが出力される。
ハッシュ値生成処理部750で実行されるハッシュ値生成処理は、図18におけるハッシュ値生成処理部460で実行されたハッシュ値生成処理(即ち、式2)と同じ処理を適応する。
次に、判定部760について説明する。判定部760では、前段のハッシュ値生成部750から出力された検証データVD’i、及び入力部71から出力された検証データVDiを比較し、検証結果を出力する。
本実施形態においては、値VDiと値VD’iの値が一致していたら「部分データDiは正しいデータ(検証成功)」であると判定する。一方、値VDiと値VD’iが異なっていたら「部分データD’iは正しいデータではない(検証失敗)」と判定する。
本実施形態においては、判定部760における判定結果は、モニタ22上に表示する。また、「検証失敗」と判定された場合には、後述する部分データ再生部77における部分データ再生処理を停止させると共に、それ以降の部分データ再生処理を停止する。こうすることにより、改竄された(検証失敗した)画像データの再生を防止することができる。
次に、部分データ再生部770、及び部分データ消去部780について説明する。部分データ再生部770は、入力部710で入力された部分データD’iが入力され、部分データD’iをモニタ22上などに再生する。部分データD’iが部分データ再生部770で再生された後、すぐさま、後段の部分データ消去部780で消去される。即ち、部分データD’iは画像再生クライアント340中には保持されない。
次に、以上説明したような検証データ生成処理の流れを図22を用いて説明する。図22は本実施形態に適応可能な検証データ生成処理を説明するフローチャートである。
まず、ステップS810ではパラメータiを初期化する。ここで、パラメータiは部分データDiを特定するパラメータである。そして、ステップS820では、検証データVDi、及び部分データD’iを受信する(図21の710)。
次に、ステップS830では、i=0の場合は前述した式1(図21の730)、及び、i>0の場合は前述した式2(図21の750)を用いて検証データVDiを算出する。ステップS84では、i番目の検証データVDiを生成するために必要となる(i−1)番目の検証データVDi−1は、ステップS830で算出した値を一時記憶バッファ(図21の450)に保持しておく。
検証データVDiを生成した後、ステップS850で、検証データVDi、及びVD’iが等しいか否かが判定される(図21の760)。等しい場合、ステップS860で「検証成功」と表示し、処理をステップS880に進める。さもなければ、「検証失敗」と表示し、検証処理を終了する。さらに、検証失敗に連動させて、画像再生クライアント340の再生処理を停止させ、画像配信サーバ310から新たにデータを受信することを停止させる。
その後、ステップS880では、パラメータiがN−1以下か否かが判定される。ここでNは画像データBに含まれる部分データDiの総数である。パラメータiがN−1以下の場合、ステップS890でiを1だけ増加させ、ステップS820に進む。さもなければ、検証処理を終了する。
<検証結果例>
ここで、以上説明したような検証データ生成処理、及び検証処理を用いた場合の検証結果について、具体的な例を用いて説明する。
まず、従来の方法を用いて、部分データの夫々に対応するデジタル署名が生成された場合の検証結果について説明する。
図23において、231は、画像配信サーバにおいて生成される部分データDi、及びデジタル署名VDiを示す。図23に示す例では、画像データDは5つの部分データD0〜D4に分割され、夫々に対応するデジタル署名VD0〜VD4が生成されている。夫々の部分データ、及びデジタル署名の下部には、対応するデジタル署名を生成する方法が示されている。図23に示すように、部分データに対するデジタル署名は、サーバの秘密鍵Kを用いて、夫々の部分データD0〜D4に対してデジタル署名生成処理F(・)を施すことにより生成される。
232〜235は、クライアントにおいて受信した部分データD’’i、及びデジタル署名VDiを示す。以降では、232〜235について順に説明する。
232は、サーバから送信された全ての部分データD’i、及びデジタル署名VDiがネットワークの途中で改竄されることなくクライアントに配信された場合の例を示す。この場合、図に示すように、受信した部分データD’0〜D’4は夫々D0〜D4に等しいため、受信した部分データD’0〜D’4、及びデジタル署名VD0〜VD4を用いて検証処理を行った場合、全ての部分データについて「検証成功」となる。
233は、サーバから送信された部分データDiのうち、D’0、D’1、D’3、及びD’4は改竄されることなくクライアントに配信されたが、D*2はネットワークの途中で改竄されて配信された場合の例を示す。この場合、(改竄されていない)部分データD’0、D’1、D’3及びD’4と、受信したデジタル署名VD0、VD1、VD3、及びVD4を用いて検証処理を行った場合は「検証成功」となる。一方、部分データD*2は改竄されていることから、受信した部分データD*2、及びデジタル署名VD2を用いて検証を行った場合、「検証失敗」と判定することができる。
234は、サーバから送信された部分データDiのうち、部分データD’0、D’2、D’3,及びD’4は改竄されることなくクライアントに配信されたが、部分データD’1だけが配信されなかった場合の例を示す。この場合、(改竄されていない)部分データ部分データD’0、D’2、D’3,及びD’4、及び受信したデジタル署名VD0、VD2、VD3、及びVD4を用いて検証処理を行った場合は「検証成功」となる。つまり、部分データD’1は受信されなかったにも関わらず、この方法では部分データD’1に対する一切の検証処理がなされないため、「検証失敗」とならない。
235は、サーバから送信された部分データDiのうち、部分データD’0、D’1、及びD’4は改竄されることなくクライアントに配信されたが、部分データD’3、及びD’4の順序が反対に配信された場合の例を示す。この場合、(改竄されていない)部分データD’0、及びD’1、及びD’4と、受信したデジタル署名VD0、VD1、及びVD4を用いて検証処理を行った場合は「検証成功」となる。更に、部分データD’3とD’2は順序が反対に受信されたにも関わらず、部分データD’3、及びD’2と、受信したデジタル署名VD3、及びVD2を用いて検証処理を行った場合も「検証成功」となってしまう。図24は、本実施形態における検証データ生成処理例、及び検証結果例を説明する図である。
図中、241は画像配信サーバにおいて生成される部分データDi、及び検証データVDiを示す。図24に示す例では、画像データDは5つの部分データD1〜D4に分割され、夫々に対応する検証データVD0〜VD4が生成されている。図中、夫々の部分データ、及び検証データの下部には、対応する検証データ生成処理(即ち、式1、或いは式2による演算処理)を示している。また、241においては、左側のデータから右側のデータへ、順に画像配信サーバから画像再生クライアントへ配信されるものとする。
また、242〜245は、画像再生クライアント340において受信した部分データD’i、及び検証データVDiを示す。ここで、242〜245について順に説明する。
242は、画像配信サーバ310から配信された全ての部分データDi、及び検証データVDiがネットワークの途中で改竄されることなく画像再生クライアント340に配信された場合の例を示す。この場合、図に示すように、受信した部分データD’0〜D’4は夫々D0〜D4に等しい。そのため、D’0〜D’4を用いて画像再生クライアント内で生成された検証データVD’0〜VD’4は、夫々受信したVD0〜VD4と等しくなり、全ての部分データについて「検証成功」となる。
243は、画像配信サーバ310から送信された部分データDiのうち、D’0、及びD’1は改竄されることなく画像再生クライアント340に配信されたが、D*2はネットワークの途中で改竄されて配信された場合の例を示す。この場合、(改竄されていない)部分データD’0、及びD’1から生成された検証データVD’0、及びVD’1については、受信した検証データVD0、及びVD1と等しい値となり、「検証成功」となる。一方、部分データD*2は改竄されていることから、部分データD*2から生成された検証データVD’2は、受信した検証データVD2と等しい値とならない。結果として、部分データD*2の時点で「検証失敗」と判定可能である。
244は、画像配信サーバ310から送信された部分データDiのうち、部分データD’0、D’2、D’3,及びD’4は改竄されることなく画像再生クライアント340に配信されたが、部分データD’1だけが配信されなかった場合の例を示す。この場合、(改竄されていない)部分データD’0から生成された検証データVD’0については、受信した検証データVD0と等しい値となり、「検証成功」となる。一方、部分データD’1は受信されないため、部分データD’0の次に配信されるのは部分データD’2である。すると、部分データD’2は改竄されてはいないが、対応する検証データVD’2は前段の検証データVD’0から生成されることになる。よって、このように生成された検証データVD’2は、受信した検証データVD2とは異なる値となる。結果として、部分データD’2の時点で「検証失敗」と判定可能である。つまり、本実施形態では、従来の方法ではできなかった「部分データがネットワークの途中で削除された」ことが検出できる。
245は、画像配信サーバ31から送信された部分データDiのうち、部分データD’0、D’1、及びD’4は改竄されることなく画像再生クライアント340に配信されたが、部分データD’3、及びD’4の順序が反対に配信された場合の例を示す。この場合、(改竄されていない)部分データD’0、及びD’1から生成された検証データVD’0、及びVD’1については、受信した検証データVD0、及びVD1と等しい値となり、「検証成功」となる。一方、本来、部分データD’2が配信されるべきであるにも関わらず、部分データD’3が配信されているために、受信したデータデータD’3、及び前段の検証データVD’1から生成される検証データVD’2は、受信した検証データVD2とは異なる値となる。結果として、部分データD’2の時点で「検証失敗」と判定可能である。つまり、本実施形態では、従来の方法ではできなかった「「部分データ同士の配信順序が改竄された」ことが検出できる。
以上説明した本実施形態によれば、全ての部分データ(即ち、画像データD)の受信が完了しなくても、夫々の部分データDiを受信したタイミングで、受信した部分データが改竄されているか否かを検証可能となる。また、受信した部分データDiの改竄に加え、部分データDiが配信される前に配信されるべき部分データDj(j<i)が削除されていないかどうか、及び、部分データDiが正しい順序で配信されたか否かを検証可能となる。更に、画像配信サーバ310における検証データ生成処理(図18の440)は、最初の部分データD0に対してだけ実行し、残りの部分データDi(i>0)に対しては、ハッシュ値生成処理(図18の460)だけを実行すれば良いため、画像配信サーバ31における検証データ生成処理を高速に実行することが可能となる。同様に、画像再生クライアント34における検証データ生成処理(図21の730)は、最初の部分データD0に対してだけ実行し、残りの部分データDi(i>0)に対しては、ハッシュ値生成処理(図21の750)だけを実行すれば良いため、画像再生クライアント340における検証処理を高速に実行することが可能となる。(通常、検証データ生成処理はハッシュ値生成処理よりも大きな処理量を必要とする。)
以下、本実施形態の変形例を説明する。説明していない箇所は、本実施形態と同様であるので、説明を省略する。
<変形例1>
尚、本実施形態においては、夫々の部分データDiに対応する検証データVDiは図19に示すように部分データDiと共に送信するようにした。しかし、本発明はこれに限定されることなく、少なくとも、部分データDiを送信する前までに、対応する検証データVDiが画像再生クライアント340に配信されているようにすれば良い。よって、例えば、予め、全ての検証データVDiを画像配信サーバ310内で生成しておき、最初の部分データD0を送信する前に、まとめて画像再生クライアント340に送信することも可能である。
<変形例2>
尚、本実施形態においては、図20のステップS660、及び図22のステップS880に示すように、画像データDに含まれる部分データDiの総数Nまで、繰り返し、処理を実行するようにした。しかし、本発明はこれに限定されることなく、n<=Nを満たす任意の部分データDnで検証データ生成処理、或いは検証処理を終了することも可能である。これにより、例えば、画像閲覧者が画像再生クライアント340を用いて画像データを再生している途中、所望の時に、画像データの再生を終了できる。本実施形態によれば、この場合でも、再生した部分データまでが正しい部分データであったか否かを検証可能であることは明らかである。
<変形例3>
本実施形態においては、検証データとしてMACを使う例を示したが、本発明はこれに限定されることなく、種々の検証データを適応可能であることは明らかである。ここでは、検証データとしてデジタル署名を適応する場合の例を説明する。
まず、検証データとしてデジタル署名を適用する場合の、検証データ生成処理の構成は図18と同様であるので詳細な説明は省略する。また、検証データ生成処理の流れは、図20において、ステップS630において、鍵取得部430で取得された画像配信サーバ310の秘密鍵Kを利用して、部分データD0のデジタル署名を生成するようにすれば良い。(即ち、検証データF(x,y)としてデジタル署名生成処理が適応される。)図20において、ステップS630以外の処理はMACを使う場合と同様であるので説明は省略する。
次に、検証データとしてデジタル署名を適用する場合の、検証処理の構成を図25を用いて説明する。図25は検証データとしてデジタル署名を適用する場合の検証処理の構成を示す図である。
図25に示すように、検証データとしてデジタル署名を適用する場合の各部の構成は、図21に示したような検証データとしてMACを適用する場合の構成と同じを適応可能であるので詳細な説明は省略する。ただし、デジタル署名を適用する場合、入力部1310、検証データ生成部1330、検証データ保持部1340、及び判定部1360の入出力データの関係が異なるため、これについて説明する。
図25において、入力部1310から出力された1番目の検証データVD0は検証データ生成部1330、及び検証データ保持部1340に入力される。(図21と異なり、1番目の検証データVD0は判定部1360には入力されない。)また、検証データ生成部133から出力された検証データVD’’は判定部1360に入力される。(図21と異なり、検証データ保持部1340には入力されない)。
次に、検証データとしてデジタル署名を適用する場合の、検証処理の流れを図26を用いて説明する。図26はデジタル署名を適応した場合の検証処理の流れを説明するフローチャートである。図22の処理と同じ処理は説明を省略する。
まず、ステップS1410ではパラメータiを初期化する。ここで、パラメータiは部分データDiを特定するパラメータである。そして、ステップ1420では、検証データVD0、及び部分データD’0を受信する(図25の1310)。
次に、ステップS1430では、鍵取得部720で取得された画像配信サーバ310の公開鍵Kを利用して、検証データVD0を復号し(図中F^−1(・)で示す)、VD’0を生成する。更に、ステップS1430では、部分データD’0にハッシュ関数を施し、ハッシュ値VD’’0を算出する(図25の1330)。
ステップS1430の後、ステップS1440では、VD’0とVD’’0が等しいか否かが判定される(図25の1360)。判定の結果、等しい場合、ステップS1450で「検証成功」と表示し、処理をステップS1470に進める。さもなければ、ステップS1460で「検証失敗」と表示し、検証処理を終了する。さらに、検証失敗に連動させて、画像再生クライアント340の再生処理を停止させ、画像配信サーバ310から新たにデータを受信することを停止させる。
そして、ステップS1470では、パラメータiを1だけ増加させる。ステップS1480では、前述した式2を用いて検証データVDiを算出する(図25の750)。
尚、デジタル署名の生成処理、及びその検証処理は公知の技術であるため、詳細な説明は省略する。尚、本発明においては、デジタル署名生成処理、及びその検証処理のためのアルゴリズムは特に限定せず、RSAやDSAなど種々のデジタル署名生成アルゴリズムを適応可能である。
(第3の実施の形態)
第2の実施例では、画像配信サーバ310から画像再生クライアント340へは、画像DB320に保持されている画像データDの先頭(即ち、D0)から順に配信する場合の例を示した。しかしながら、本発明はこれに限定されることなく、画像データDの所望の部分データから配信すること(即ち、頭出し再生機能)も可能である。そこで、本実施形態では、本発明において、画像データDの所望の部分データから配信する場合の例を説明する。
本実施形態におけるシステム構成は、第2の実施例において図17を用いて説明した構成と同じ構成とすることが可能であるので、詳細な説明は省略する。以降では、本実施形態における画像配信サーバ310内で実行される検証データ生成処理の構成、及び画像再生クライアント34内0で実行される検証処理の構成を説明する。
まず、本実施形態に適応可能な検証データ生成処理部について図27を用いて説明する。
図27は、本実施形態における検証データ生成処理機能を説明する図である。図27において、第2の実施形態の処理と同様の処理に関しての説明は省略する。ここでは、第2の実施形態と処理の異なる出力部1570、及び指定部1580について説明する。
まず、指定部1580について説明する。指定部1580では、所定の部分データを示すパラメータMが指定され、出力される。ここでは、画像閲覧者がキーボード214、或いはマウス213などを用いて指定した所望の部分データを示すパラメータMが、画像配信クライアント310に送信され、指定されると考えれば理解しやすい。
次に、出力部1570について説明する。出力部1570では、部分データDi、検証データVDi、及びパラメータMが入力され、パラメータMに応じて部分データDi、及び検証データVDiが出力されるか否かが判定され、判定の結果に応じて部分データDi、及び検証データVDiが出力される。
本実施形態では、M=iの場合、部分データDi、検証データVDi、及び前段の検証データVDi−1を出力し、M>=iの場合、部分データDi、検証データVDiを出力し、M<iの場合は何も出力しないように出力データを制御する。
以上、本実施形態に適応可能な検証データ生成処理部、及び方法について説明した。
一方、本実施の形態において、画像再生クライアント340内で実行される検証処理部の構成は、第2の実施形態において、図21を用いて説明した構成と同じであるので詳細な説明は省略する。
次に、本実施の形態における、検証データ生成処理の流れ、及び検証処理、及び方法の流れを説明する。
まず、本実施形態における検証データ生成処理流れを図28を用いて説明する。図28は本実施形態に適応可能な検証データ生成処理を説明するフローチャートである。
図28において、第2の実施形態の処理と同様の処理に関しての説明は省略する。以降では、第2の実施形態の処理と異なるステップS1050、ステップS1060、ステップS1070、及びステップS1080について説明する。
ステップS630において検証データVDiが生成された後、ステップS1050では、パラメータiがMより大きいか否かが判定される。ここでMは画像再生クライアント340によって指定される、画像データDの最初の部分データDMを特定するパラメータである。即ち、部分データDM以降の部分データが順次、画像配信サーバ310から画像再生クライアント340に配信されることになる。パラメータiがMよりも大きい場合には、処理をステップS1070に進め、ステップS1070において部分データDi及び、対応する検証データVDiを出力する(図27の470)。さもなければ、処理をステップS1060に進める。
続いて、ステップS1060では、パラメータiがMに等しいか否かが判定される。パラメータiがMに等しい場合には、処理をステップS1080に進め、ステップS1080において、部分データDi、対応する検証データVDi、及び前段で生成された検証データVDi−1が出力される(図27の470)。さもなければ、処理をステップS1090に進める。
以上説明したように、i<Mの場合には、検証データVDiは生成するが出力はしない。そして、i=Mの場合に、部分データDi、検証データVDi、及び前段(即ち、i=M−1)で生成された検証データVDi−1を出力する。その後、i>Mの場合には、部分データDi、及び検証データVDiを出力するようにする。
次に、本実施形態における検証処理の流れを図29を用いて説明する。図29は本実施形態に適応可能な検証処理を説明するフローチャートである。
図29において、第2の実施形態の処理と同様の処理に関しての説明は省略する。以降では、第2の実施形態の処理と異なるステップS291、ステップS292、ステップS293及びステップS294について説明する。
ステップS291ではパラメータiをMに初期化し、続いてステップS292において、画像配信サーバ310から配信された、部分データD’i、検証データVDi、及びVDi−1を受信する(図21の710)。ステップS293では、前述した式2を用いて検証データVDiを算出する(図21の7529)。
一方、ステップS294では、画像配信サーバ310から配信された、部分データD’i、及び検証データVDiを受信する(図21の710)。
以上説明したように、本実施形態では部分データDM以降の部分データDiが画像配信サーバ310から画像再生クライアント340に配信されるため、画像再生クライアント340では、部分データDM以降について検証処理を実行する。ここで、i=Mの場合に限り、ステップS112において、対応する検証データVD’iを生成するために、部分データD’i、及び検証データVDiに加えてVDi−1を受信する。一方、i>Mの場合は、第2の実施形態と同様に、ステップS294において、部分データD’i、及び検証データVDiだけを受信するようにする。
ここで、以上説明したような検証データ生成処理、及び検証処理の例について、具体的な例を用いて説明する。
図30は、本実施形態における検証データ生成処理、及び検証結果例を説明する図である。
図中、3001は画像配信サーバ310において生成される部分データDi、及び検証データVDiを示す。図30に示す例では、画像データDは5つの部分データD1〜D4に分割され、夫々に対応する検証データVD0〜VD4が生成されている。図中、夫々の部分データ、及び検証データの下部には、対応する検証データ生成処理(即ち、式1、或いは式2による演算処理)を示している。また、図30に示す例では、部分データD2以降の部分データDiが画像配信サーバ310から画像再生クライアント340に送信されるものとする。
図30に示すように、部分データD0、及び部分データD1は画像再生クライアント340には配信されない。(図中、点線で示されている。)また、対応する検証データVD0、及び検証データVD1は生成されるが、配信はされない。
一方、部分データD2(画像再生クライアント340によって要求された部分データの開始)を配信する際には、検証データVD2に加え、前段で生成された検証データVD1も合わせて配信するようにする。すると、画像再生クライアント340では、受信した部分データD’2、及び検証データVD1から、検証データVD’2を生成し、受信した検証データVD2と比較することにより、受信した部分データD’2が正しい部分データか否かを検証可能となる。
更に、部分データD3、及びD4を配信する際には、夫々対応する検証データVD3、及びVD4を配信することにより、画像再生クライアント340は、受信した部分データD’3、及びD’4が正しい部分データか否かを検証可能となる。
以上、説明したように、本実施形態によれば、画像データDの途中から配信される場合でも、配信された部分データと、配信された部分データの順序改竄されていないかを検証することができる。
(その他の実施形態)
また、上記実施形態では、ネットワークを構成するハードウェア等が含まれるものの、各処理部は実際はソフトウェアで実現できるものである。即ち、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または、記録媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(または、CPUやMPU)が、記憶媒体に格納されたプログラムコードを読み出し、実行することによっても達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が、上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体が本発明を構成することになる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
実施形態1におけるシステムイメージ図である。 実施形態1におけるシステム図である。 実施形態1におけるホストコンピュータを示す図である。 実施形態1における電子文書生成装置のブロック図である。 実施形態1における中間電子文書生成のフローチャートである。 実施形態1における署名データ生成のフローチャートである。 実施形態1における電子データ、及び署名データの構成図である。 実施形態1における署名検証のフローチャートである。 実施形態1における電子化データの一例を説明する図である。 実施形態1における署名生成処理、及び署名検証処理のブロック図である。 実施形態1における公開鍵証明書データの構成図である。 実施形態1における中間電子文書、及び電子化データを説明する図である。 実施形態1における電子文書操作装置のブロック図である。 実施形態1における署名データ検証処理のフローチャートである。 実施形態1における被署名データ検証処理のフローチャートである。 実施形態1における署名データ検証処理の例を示す図である。 実施形態2におけるシステム構成を示す図である。 実施形態2における検証データ生成処理のブロック図である。 実施形態2において部分データ、及び検証データのデータ構造を示す図である。 実施形態2における検証データ生成処理のフローチャートである。 実施形態2における検証処理のブロック図である。 実施形態2における検証処理のフローチャートである。 従来技術における検証処理結果の例を説明する図である。 実施形態2における検証処理結果の例を説明する図である。 実施形態2の変形例3における検証処理のブロック図である。 実施形態2の変形例3における検証処理のフローチャートである。 実施形態3における検証データ生成処理のブロック図である。 実施形態3における検証データ生成処理のフローチャートである。 実施形態3における検証処理のフローチャートである。 実施形態3における検証データ生成処理、及び検証処理結果の例を説明する図である。

Claims (12)

  1. 署名データと、被署名データを構成する複数の部分被署名データのうち、少なくとも1つの部分被署名データを受信する受信手段と、
    前記署名データ、及び部分被署名データを用いて署名を検証する署名検証手段と、
    前記署名検証手段による署名検証結果に応じて、前記受信手段を制御する制御手段を有することを特徴とする情報処理装置。
  2. 前記署名データは、署名値、被署名データの識別情報、前記被署名データのダイジェスト値を含み、前記署名値は前記被署名データの識別情報と前記部分被署名データから生成されたものであることを特徴とする請求項1に記載の情報処理装置。
  3. 更に、前記受信した被署名データを出力する被署名データ出力手段を有し、
    前記制御手段は、前記被署名データ出力手段を制御することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記被署名データは前記署名データの識別情報を含むことを特徴とする請求項2又は3に記載の情報処理装置。
  5. 分割された部分データが所定の順を有する部分データを入力する入力手段と、
    第1の部分データの検証データと、前記第1の部分データの次の順である第2の部分データとから、前記第2の部分データの検証データを生成する生成手段と、
    前記第2の部分データと前記第2の部分データの検証データとを送信する送信手段を有することを特徴とする情報処理装置。
  6. さらに、検証データを保持する保持手段を有し、前記入力手段は前記所定の順で部分データを入力し、前記生成手段は前記入力された部分データと前記保持手段で保持された検証データに対して処理を行うことを特徴とする請求項5に記載の情報処理装置。
  7. 請求項5又は、請求項6に記載の情報処理装置で生成された検証データを検証する情報処理装置であって、
    第2の部分データと第2の部分データの検証データを受信する受信手段と、
    第1の部分データの検証データを保持する保持手段と、
    前記第1の部分データの検証データと前記第2の部分データから、検証データを生成する生成手段と、
    前記生成手段で生成された検証データと、前記入力手段で入力された検証データより検証データを検証する検証手段と、
    前記検証手段による検証結果に応じて、前記受信手段を制御する制御手段を有することを特徴とする情報処理装置。
  8. 署名データを受信する署名データ受信工程と、
    被署名データを構成する複数の部分被署名データのうち、少なくとも1つの部分被署名データを受信する部分被署名データ受信工程と、
    前記署名データ、及び部分被署名データを用いて署名を検証する署名検証工程と、
    前記署名検証工程による署名検証結果に応じて、前記被署名データの出力、または、被署名データの受信を制御する制御工程を有することを特徴とする情報処理方法。
  9. 分割された部分データが所定の順を有する部分データを入力する入力工程と、
    第1の部分データの検証データと、前記第1の部分データの次の順である第2の部分データとから、前記第2の部分データの検証データを生成する生成工程と、
    前記第2の部分データと前記第2の部分データの検証データとを送信する送信工程を有することを特徴とする情報処理方法。
  10. 請求項9に記載の情報処理方法で生成された検証データを検証する情報処理方法であって、
    第2の部分データと第2の部分データの検証データを受信する受信工程と、
    第1の部分データの検証データを保持する保持工程と、
    前記第1の部分データの検証データと前記第2の部分データから、検証データを生成する生成工程と、
    前記生成手段で生成された検証データと、前記入力手段で入力された検証データより検証データを検証する検証工程と、
    前記検証手段による検証結果に応じて、前記被署名データの出力、または、被署名データの受信を制御する制御工程を有することを特徴とする情報処理方法。
  11. 請求項8〜10の何れか1項に記載の情報処理方法を実行するコンピュータプログラム。
  12. 請求項11に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
JP2005260884A 2005-07-25 2005-09-08 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 Expired - Fee Related JP4827468B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005260884A JP4827468B2 (ja) 2005-07-25 2005-09-08 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US11/458,175 US7958361B2 (en) 2005-07-25 2006-07-18 Information processing apparatus and method
EP06253756A EP1752906A3 (en) 2005-07-25 2006-07-18 Information processing apparatus and method
CN200610107473.7A CN1905450B (zh) 2005-07-25 2006-07-25 信息处理设备和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005214529 2005-07-25
JP2005214529 2005-07-25
JP2005260884A JP4827468B2 (ja) 2005-07-25 2005-09-08 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Publications (2)

Publication Number Publication Date
JP2007060594A true JP2007060594A (ja) 2007-03-08
JP4827468B2 JP4827468B2 (ja) 2011-11-30

Family

ID=37019444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005260884A Expired - Fee Related JP4827468B2 (ja) 2005-07-25 2005-09-08 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Country Status (4)

Country Link
US (1) US7958361B2 (ja)
EP (1) EP1752906A3 (ja)
JP (1) JP4827468B2 (ja)
CN (1) CN1905450B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007104643A (ja) * 2005-09-09 2007-04-19 Canon Inc 情報処理装置、検証処理装置及びそれらの制御方法、コンピュータプログラム及び記憶媒体
JP2008110575A (ja) * 2006-10-31 2008-05-15 Fuji Xerox Co Ltd 印刷装置、印刷プログラム、印刷システム、印刷情報生成装置、印刷情報生成プログラム、印刷情報生成システム、及び入力情報
JP2009253305A (ja) * 2008-04-01 2009-10-29 Hitachi Kokusai Electric Inc 映像署名システム
JP2010114678A (ja) * 2008-11-06 2010-05-20 Hitachi Kokusai Electric Inc 画像伝送装置
JP2012085212A (ja) * 2010-10-14 2012-04-26 Nippon Telegr & Teleph Corp <Ntt> 電子署名用鍵管理装置、電子署名用鍵管理方法、電子署名用鍵管理プログラム
WO2016103589A1 (ja) * 2014-12-24 2016-06-30 パナソニックIpマネジメント株式会社 署名生成装置、署名検証装置、署名生成方法及び署名検証方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006157399A (ja) * 2004-11-29 2006-06-15 Hitachi Ltd 電子署名付き電子文書交換支援方法及び情報処理装置
JP4873554B2 (ja) * 2006-12-25 2012-02-08 株式会社リコー 画像配信装置および画像配信方法
US8239325B2 (en) * 2007-01-18 2012-08-07 Paymentone Corporation Method and system to verify the identity of a user
EP2127195A2 (en) * 2007-01-22 2009-12-02 Global Crypto Systems Methods and systems for digital authentication using digitally signed images
FR2919405B1 (fr) * 2007-07-26 2009-11-20 Certeurope Support de donnees numeriques sur lequel est enregistre un fichier de preuve, et procedes de creation et d'utilisation d'un tel support de donnees.
US9594739B2 (en) * 2009-10-21 2017-03-14 Citrix Systems, Inc. Document signing systems and methods
US8922822B2 (en) 2011-08-05 2014-12-30 Ricoh Production Print Solutions LLC Image transform signature generation mechanism
JP5790319B2 (ja) * 2011-08-29 2015-10-07 ソニー株式会社 署名検証装置、署名検証方法、プログラム、及び記録媒体
US9497023B1 (en) * 2013-03-14 2016-11-15 Amazon Technologies, Inc. Multiply-encrypted message for filtering
US8984288B1 (en) 2013-03-14 2015-03-17 MircoStrategy Incorporated Electronic signing of content
JP2014241465A (ja) * 2013-06-11 2014-12-25 株式会社東芝 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム
CN103490897B (zh) * 2013-09-17 2017-04-05 华南理工大学 一种多变量公钥签名/验证系统及签名/验证方法
US10490022B2 (en) * 2013-12-31 2019-11-26 Video Gaming Technologies, Inc. System and method for authenticating storage media within an electronic gaming system
CN104330924A (zh) * 2014-11-25 2015-02-04 重庆京东方光电科技有限公司 显示基板、显示面板、显示装置、形成隔垫物的方法
US10929597B2 (en) * 2017-03-15 2021-02-23 Adobe Inc. Techniques and systems for storing and protecting signatures and images in electronic documents
CN109598518A (zh) * 2018-09-30 2019-04-09 阿里巴巴集团控股有限公司 基于区块链的防伪方法及装置、电子设备
SG11201908552RA (en) * 2019-03-04 2019-10-30 Alibaba Group Holding Ltd Methods and devices for testing signature verification for blockchain system
US11431512B2 (en) * 2019-10-16 2022-08-30 Microsoft Technology Licensing, Llc Cryptographic validation of media integrity
JP7526655B2 (ja) * 2020-12-10 2024-08-01 富士通株式会社 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム
US20230099755A1 (en) * 2021-09-24 2023-03-30 Sap Se Sql extension to key transfer system with authenticity, confidentiality, and integrity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001223735A (ja) * 2000-02-09 2001-08-17 Fuji Xerox Co Ltd データ通信装置及び記録媒体
JP2003143139A (ja) * 2001-11-07 2003-05-16 Fujitsu Ltd デジタルデータ記憶・検証プログラムおよびデジタルデータ記憶・検証方法
JP2005167942A (ja) * 2003-12-05 2005-06-23 Denso Corp 通信システム及びパケット構造

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646997A (en) * 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
JPH0950465A (ja) * 1995-08-04 1997-02-18 Hitachi Ltd 電子ショッピング方法、電子ショッピングシステムおよび文書認証方法
US5907619A (en) * 1996-12-20 1999-05-25 Intel Corporation Secure compressed imaging
US6009176A (en) * 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US5898779A (en) * 1997-04-14 1999-04-27 Eastman Kodak Company Photograhic system with selected area image authentication
JP2001519930A (ja) * 1998-02-04 2001-10-23 サンマイクロシステムズ インコーポレーテッド 階層型ハッシュを用いた効率的な認証及び完全性検査の方法及びその装置
JP2000286836A (ja) 1999-03-30 2000-10-13 Fujitsu Ltd 認証装置および記録媒体
US6785815B1 (en) * 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US6895507B1 (en) * 1999-07-02 2005-05-17 Time Certain, Llc Method and system for determining and maintaining trust in digital data files with certifiable time
CA2365236A1 (en) 2000-01-21 2001-07-26 Sony Corporation Data authentication system
US7069443B2 (en) * 2000-06-06 2006-06-27 Ingeo Systems, Inc. Creating and verifying electronic documents
US7570764B2 (en) * 2001-10-10 2009-08-04 Nortel Networks Limited Sequence number calculation and authentication in a communications system
JP2003132028A (ja) 2001-10-26 2003-05-09 Sony Corp アクセス制御システム、アクセス管理サーバ、電子機器、リモート電子機器及びアクセス制御方法
JP4664572B2 (ja) * 2001-11-27 2011-04-06 富士通株式会社 文書配布方法および文書管理方法
JP2003244139A (ja) * 2002-02-20 2003-08-29 Amano Corp 電子文書に対するタイムスタンプ押印システム、及び、そのプログラム媒体
EP1343286A1 (en) * 2002-03-04 2003-09-10 BRITISH TELECOMMUNICATIONS public limited company Lightweight authentication of information
WO2005017809A2 (en) * 2003-08-15 2005-02-24 Docomo Communications Laboratories Usa, Inc. Method and apparatus for authentication of data streams with adaptively controlled losses
GB2419762A (en) * 2004-11-01 2006-05-03 Sony Uk Ltd Method of generating protected media signals by replacing data bits with hash values
US20070217763A1 (en) * 2005-09-20 2007-09-20 A4S Security, Inc. Robust surveillance system with partitioned media

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001223735A (ja) * 2000-02-09 2001-08-17 Fuji Xerox Co Ltd データ通信装置及び記録媒体
JP2003143139A (ja) * 2001-11-07 2003-05-16 Fujitsu Ltd デジタルデータ記憶・検証プログラムおよびデジタルデータ記憶・検証方法
JP2005167942A (ja) * 2003-12-05 2005-06-23 Denso Corp 通信システム及びパケット構造

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007104643A (ja) * 2005-09-09 2007-04-19 Canon Inc 情報処理装置、検証処理装置及びそれらの制御方法、コンピュータプログラム及び記憶媒体
JP2008110575A (ja) * 2006-10-31 2008-05-15 Fuji Xerox Co Ltd 印刷装置、印刷プログラム、印刷システム、印刷情報生成装置、印刷情報生成プログラム、印刷情報生成システム、及び入力情報
US8203728B2 (en) 2006-10-31 2012-06-19 Fuji Xerox Co., Ltd. Print device, print method, print program recording medium, print data production device, print data production method, and print data production program recording medium
JP2009253305A (ja) * 2008-04-01 2009-10-29 Hitachi Kokusai Electric Inc 映像署名システム
JP2010114678A (ja) * 2008-11-06 2010-05-20 Hitachi Kokusai Electric Inc 画像伝送装置
JP2012085212A (ja) * 2010-10-14 2012-04-26 Nippon Telegr & Teleph Corp <Ntt> 電子署名用鍵管理装置、電子署名用鍵管理方法、電子署名用鍵管理プログラム
WO2016103589A1 (ja) * 2014-12-24 2016-06-30 パナソニックIpマネジメント株式会社 署名生成装置、署名検証装置、署名生成方法及び署名検証方法
JP2016122917A (ja) * 2014-12-24 2016-07-07 パナソニックIpマネジメント株式会社 署名生成装置、署名検証装置、署名生成方法及び署名検証方法
US10783278B2 (en) 2014-12-24 2020-09-22 Panasonic Intellectual Property Management Co., Ltd. Signature generation device, signature verification device, signature generation method, and signature verification method

Also Published As

Publication number Publication date
EP1752906A3 (en) 2007-04-25
CN1905450B (zh) 2012-05-30
US20070022293A1 (en) 2007-01-25
CN1905450A (zh) 2007-01-31
EP1752906A2 (en) 2007-02-14
JP4827468B2 (ja) 2011-11-30
US7958361B2 (en) 2011-06-07

Similar Documents

Publication Publication Date Title
JP4827468B2 (ja) 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4993674B2 (ja) 情報処理装置、検証処理装置及びそれらの制御方法、コンピュータプログラム及び記憶媒体
US6601172B1 (en) Transmitting revisions with digital signatures
US9009477B2 (en) Archiving electronic content having digital signatures
JP3919673B2 (ja) 透かしを使用してデータ・セットの配布と認証を行う装置および方法
JP4921065B2 (ja) 情報処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US7685429B2 (en) Signature-generation method, signature-verification method, public-key distribution method, and information-processing apparatus
US20070136599A1 (en) Information processing apparatus and control method thereof
US20030126432A1 (en) Content authentication for digital media based recording devices
JP2000056681A (ja) セキュリティ情報付きデジタルデータ記録装置
WO1999049607A2 (en) Method and apparatus for verifying the integrity of digital objects using signed manifests
JP2004180278A (ja) 情報処理装置、サーバ装置、電子データ管理システム、情報処理システム、情報処理方法、コンピュータプログラム及びコンピュータ読み取り可能な記憶媒体
TWI773161B (zh) 數位簽章私鑰驗證方法
JP4270276B2 (ja) 電子データの真正性保証方法およびプログラム
JP2007060352A (ja) 文書管理システム、文書管理プログラム及び文書管理方法
US7849308B2 (en) Data generating device and control method thereof, data analyzing device and control method thereof, data processing system, program and machine-readable storage medium
JP2005352863A (ja) 電子押印を利用したデジタルデータ交換システムおよびデジタルデータ交換方法、デジタルデータ交換プログラム
JP4748762B2 (ja) 署名生成方法及び情報処理装置
JP2002006739A (ja) 認証情報生成装置およびデータ検証装置
JP2009004853A (ja) 署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体
JP2004184516A (ja) デジタルデータ送信端末
JP2006129080A (ja) データ処理装置及びその方法
JP2004363826A (ja) 情報処理装置、情報処理方法、検証装置、検証システム、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080908

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110913

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees