JP6940812B2 - 情報処理装置、および、コンピュータプログラム - Google Patents

情報処理装置、および、コンピュータプログラム Download PDF

Info

Publication number
JP6940812B2
JP6940812B2 JP2017174072A JP2017174072A JP6940812B2 JP 6940812 B2 JP6940812 B2 JP 6940812B2 JP 2017174072 A JP2017174072 A JP 2017174072A JP 2017174072 A JP2017174072 A JP 2017174072A JP 6940812 B2 JP6940812 B2 JP 6940812B2
Authority
JP
Japan
Prior art keywords
certificate
private key
information processing
processing device
acquired
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
JP2017174072A
Other languages
English (en)
Other versions
JP2019050511A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2017174072A priority Critical patent/JP6940812B2/ja
Priority to US15/937,226 priority patent/US11283628B2/en
Publication of JP2019050511A publication Critical patent/JP2019050511A/ja
Application granted granted Critical
Publication of JP6940812B2 publication Critical patent/JP6940812B2/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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Facsimiles In General (AREA)

Description

本明細書は、秘密鍵と公開鍵とを用いる処理を行う情報処理装置、および、当該処理を実行するためのコンピュータプログラムに関する。
従来から、秘密鍵と公開鍵とを用いる処理が知られている。例えば、特許文献1には、秘密鍵と公開鍵とを用いて、電子商取引において用いられる文書として電子署名付き文書の発行と閲覧とを行う技術が開示されている。
特開2002−215827号公報 特開2006−101218号公報
しかしながら、例えば、ユーザごとに秘密鍵と公開鍵とを含む情報を格納する場合等には、これらの情報を格納する装置において、必要とされる不揮発性の格納部の容量が大きくなる可能性があった。
本明細書は、秘密鍵と公開鍵とを用いる処理において、必要とされる不揮発性の格納部の容量を、セキュリティを損なうことなく低減できる技術を開示する。
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]情報処理装置であって、秘密鍵が格納される不揮発性の格納部と、前記情報処理装置とは異なる外部装置と通信するためのインタフェースと、前記格納部から前記秘密鍵を取得する秘密鍵取得部と、前記秘密鍵に対応する公開鍵を含む証明書を、前記インタフェースを介して特定の外部装置から取得する証明書取得部と、前記格納部から取得される前記秘密鍵を用いて変換処理を実行して変換済データを生成する変換部であって、前記変換処理は、データを暗号化する処理と、前記公開鍵を用いて暗号化されたデータを復号する処理と、のいずれかを含む、前記変換部と、前記証明書を出力する出力部と、を備える、情報処理装置。
上記構成によれば、秘密情報として管理すべき秘密鍵は、情報処理装置の格納部に格納されるので、セキュリティを確保できる。そして、秘密鍵と比較して秘密情報として管理すべき必要性が低い公開鍵を含む証明書は、外部装置から取得される。この結果、情報処理装置において、必要とされる不揮発性の格納部の容量を、セキュリティを損なうことなく低減できる。
[適用例2]
適用例1に記載の情報処理装置であって、さらに、
署名対象のデータを取得するデータ取得部と、
前記署名対象のデータに基づいて特定データを生成する生成部と、
を備え、
前記変換部は、前記変換処理として、前記秘密鍵を用いて前記特定データを暗号化する署名処理を実行して、前記変換済データとして署名データを生成し、
前記出力部は、前記署名対象のデータと、前記署名データと、前記証明書と、を含む署名付データを出力する、情報処理装置。
[適用例3]
適用例2に記載の情報処理装置であって、
前記出力部は、前記署名付きデータを、前記インタフェースを介して前記特定の外部装置に送信する、情報処理装置。
[適用例4]
適用例1〜3のいずれかに記載の情報処理装置であって、
複数個の前記秘密鍵のそれぞれは、識別情報と対応付けられ、
前記秘密鍵取得部は、
第1の前記識別情報が指定される場合に、前記第1の識別情報に対応する第1の前記秘密鍵を前記格納部から取得し、
第2の前記識別情報が指定される場合に、前記第2の識別情報に対応する第2の前記秘密鍵を前記格納部から取得し、
前記証明書取得部は、
前記第1の識別情報が指定される場合に、前記第1の秘密鍵に対応する第1の前記公開鍵を含む前記証明書を、前記特定の外部装置から取得し、
前記第2の識別情報が指定される場合に、前記第2の秘密鍵に対応する第2の前記公開鍵を含む前記証明書を、前記特定の外部装置から取得する、情報処理装置。
[適用例5]
適用例1〜4のいずれかに記載の情報処理装置であって、
複数個の前記秘密鍵のそれぞれは、対応する前記公開鍵を含む前記証明書のファイル名と対応付けられ、
前記証明書取得部は、
前記秘密鍵取得部によって特定の前記秘密鍵が取得される場合に、前記特定の秘密鍵に対応する特定の前記ファイル名を用いて、前記特定の秘密鍵に対応する特定の前記公開鍵を含む前記証明書を、前記特定の外部装置から取得する、情報処理装置。
[適用例6]
適用例1〜4のいずれかに記載の情報処理装置であって、
前記格納部には、複数個の前記秘密鍵が格納され、
前記証明書取得部は、前記秘密鍵取得部によって特定の前記秘密鍵が取得される場合に、前記格納部に格納される複数個の前記証明書を、前記特定の外部装置から取得し、
前記情報処理装置は、さらに、
取得済の前記複数個の証明書の中から、前記特定の秘密鍵に対応する特定の前記公開鍵を含む前記証明書を選択する選択部を備える、情報処理装置。
[適用例7]
適用例1〜6のいずれかに記載の情報処理装置であって、さらに、
前記特定の外部装置から取得される前記証明書が、前記格納部から取得される前記秘密鍵に対応する真正な証明書であるか否かを判断する判断部を備え、
前記出力部は、前記秘密鍵に対応する真正な証明書であると判断された前記証明書を出力する、情報処理装置。
[適用例8]
適用例7に記載の情報処理装置であって、
前記判断部は、
第1の判断方法を用いて、対象の前記証明書が真正な証明書であるか否かを判断する第1の判断処理を実行し、
前記第1の判断処理において、対象の前記証明書が真正な証明書であると判断される場合に、第2の判断方法を用いて、対象の前記証明書が真正な証明書であるか否かを判断する第2の判断処理であって、前記第1の判断処理よりも処理負荷が高い前記第2の判断処理を実行し、
前記第1の判断処理において、対象の前記証明書が真正な証明書でないと判断される場合に、前記第2の判断処理を実行しない、情報処理装置。
[適用例9]
適用例8に記載の情報処理装置であって、
前記秘密鍵は、対応する前記公開鍵の少なくとも一部を含み、
前記第1の判断処理は、前記格納部から取得される前記秘密鍵に含まれる前記公開鍵の少なくとも一部と、前記特定の外部装置から取得される前記証明書に含まれる前記公開鍵の少なくとも一部と、が同一であるか否かを判断する処理である、情報処理装置。
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、複合機、スキャナ、処理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
システム1000の構成を示すブロック図である。 複合機100および計算機200に格納される各種の情報の説明図である。 第1実施例の署名付ファイル生成処理のフローチャートである。 第2実施例の署名付ファイル生成処理のフローチャートである。 第3実施例の署名付ファイル生成処理のフローチャートである。 第4実施例の署名付ファイル生成処理のフローチャートである。
A.第1実施例
A−1:システム1000の構成
次に、実施の形態を実施例に基づき説明する。図1は、システム1000の構成を示すブロック図である。
システム1000は、複合機100と、計算機200と、を備える。複合機100と計算機200とは、ローカルエリアネットワークNTに接続されている。複合機100と計算機200とは、ローカルエリアネットワークNTを介して、互いに通信可能である。
複合機100は、複合機100のコントローラとしてのCPU110と、DRAMなどの揮発性記憶装置120と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置130と、画像を表示する液晶ディスプレイなどの表示部140と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部150と、印刷実行部160と、読取実行部170と、インタフェース190と、を備えている。
印刷実行部160は、CPU110の制御に従って、印刷処理を実行する。印刷処理は、所定の方式(例えば、レーザ方式や、インクジェット方式)で、用紙(印刷媒体の一例)上に画像を印刷する処理である。読取実行部170は、CPU110の制御に従って、読取処理を実行する。読取処理は、CCDやCMOSなどの光電変換素子を含むイメージセンサを用いて光学的に文書等の対象物を読み取ることによって、読み取った画像を表すスキャンデータを生成する処理である。
CPU110は、データ処理を行う演算装置(プロセッサ)である。揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域BA1を提供する。不揮発性記憶装置130には、コンピュータプログラムPG1と、鍵管理情報KMIと、が格納されている。また、不揮発性記憶装置130の一部の領域は、鍵格納部SKSとして用いられている。鍵管理情報KMIと、鍵格納部SKSと、については後述する。
コンピュータプログラムPG1は、例えば、複合機100の製造時に不揮発性記憶装置130に予め格納されて提供され得る。これに代えて、コンピュータプログラムPG1は、複合機100のベンダによって運営されるサーバ(図示省略)からダウンロードされる形態で提供されても良く、CD−ROMなどに記録された形態で提供されても良い。
CPU110は、コンピュータプログラムPG1を実行することによって、複合機100を制御する制御処理を実行する。例えば、CPU110は、制御処理の一部として、印刷実行部160や読取実行部170を制御して、印刷処理や読取処理を実行させることができる。また、CPU110は、制御処理の一部として、後述する署名付ファイル生成処理を実行することができる。
インタフェース190は、外部装置、例えば、計算機200とデータ通信を行うためのインタフェースである。本実施例では、インタフェース190は、ローカルエリアネットワークNTに接続するためのインタフェース、具体的には、イーサネット(登録商標)やWi−Fi規格に準拠した有線や無線のインタフェースである。
計算機200は、例えば、パーソナルコンピュータなどの公知の計算機であり、例えば、ローカルエリアネットワークNTに接続可能な装置からアクセスされるファイルサーバとして機能している。計算機200は、計算機200のコントローラとしてのCPU210と、DRAMなどの揮発性記憶装置220と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置230と、液晶ディスプレイなどの表示部240と、ユーザによる操作を取得するためのマウスやキーボードなどの操作部250と、インタフェース290と、を備えている。
CPU210は、データ処理を行う演算装置(プロセッサ)である。揮発性記憶装置220は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域BA2を提供する。不揮発性記憶装置230には、コンピュータプログラムPG2が格納されている。また、不揮発性記憶装置230の一部の領域は、証明書格納部CTSとスキャンデータ格納部SDSとして用いられている。スキャンデータ格納部SDSは、複合機100にて生成されたスキャンデータを格納するための記憶領域である。証明書格納部CTSについては後述する。
図2は、複合機100および計算機200に格納される各種の情報の説明図である。図2(A)には、鍵格納部SKSの概念図が示されている。図2(A)に示すように、複合機100の鍵格納部SKS(図1)には、複数個の秘密鍵SK1〜SK3と、認証局の公開鍵PKcaが格納されている。
図2(B)には、証明書格納部CTSの概念図が示されている。図2(B)に示すように、計算機200の証明書格納部CTSには、複数個の証明書CT1〜CT3と、が格納されている。本実施例では、鍵格納部SKSに格納された複数個の秘密鍵SK1〜SK3(図2(A))と、証明書格納部CTSに格納された複数個の証明書CT1〜CT3と、は、一対一で対応している。
なお、秘密鍵SK1〜SK3、証明書CT1〜CT3のそれぞれは、1個のファイルである。秘密鍵SK1〜SK3、証明書CT1〜CT3のファイル名は、符号と同じであるとする。例えば、秘密鍵SK1のファイル名は「SK1」であり、証明書CT1のファイル名は「CT1」であるとする。
例えば、ユーザAは、自身の端末装置(図示省略)を用いて、秘密鍵SK1と、該秘密鍵SK1に対応する公開鍵PK1と、を生成する。ユーザAは、端末装置を用いて、該公開鍵PK1を含む証明書署名要求(CSR:Certificate Signing Request)を生成し、当該要求を認証局(CA:Certification Authority)に送信する。これによって、ユーザAは、認証局によって署名された証明書CT1の暗号化データを認証局から取得する。証明書CT1には、公開鍵PK1が含まれる。ユーザAは、秘密鍵SK1を用いて該暗号化データ復号して証明書CT1を取得する。このようにして、秘密鍵SK1と証明書CT1との組が取得される。そして、ユーザAの操作に基づいて、秘密鍵SK1は、複合機100の鍵格納部SKSに格納・保存される。一方で、秘密鍵SK1に対応する証明書CT1は、計算機200の証明書格納部CTSに格納・保存される。
同様にして、例えば、別のユーザBによって、秘密鍵SK2と証明書CT2との組が取得され、ユーザCによって、秘密鍵SK3と証明書CT3との組が取得される。そして、秘密鍵SK2、SK3は、複合機100の鍵格納部SKSに格納・保存され、証明書CT2、CT3は、計算機200の証明書格納部CTSに格納・保存される。このように、本実施例では、秘密鍵SK1〜SK3、および、対応する証明書CT1〜CT3は、複合機100の複数人のユーザに一対一で対応している。
図2(B)に示すように、証明書CT1は、公開鍵PK1と、署名情報SN1と、署名アルゴリズム情報AI1と、その他の情報OI1と、を含んでいる。公開鍵PK1は、上述した秘密鍵SK1に対応する公開鍵である。署名情報SN1は、認証局によって生成された情報であり、証明書CT1が真正であるか否かを判断するために用いられる。署名アルゴリズム情報AI1は、認証局が署名情報SN1を生成する際に用いられたアルゴリズム、具体的には、用いられたハッシュ関数と公開鍵暗号方式とを示す情報を含む。その他の情報OI1は、例えば、証明書のバージョン、証明書の有効期限、証明書を発行した認証局の名前などの各種の情報を含む。
署名情報SN1は、以下のように生成される。認証局は、証明書CT1に含まれる情報のうち、署名情報SN1を除いた情報(署名アルゴリズム情報AI1、公開鍵PK1、その他の情報OI1)を、署名アルゴリズム情報AI1にて示されるハッシュ関数を用いて、ハッシュ化して、ハッシュ値を生成する。認証局は、署名アルゴリズム情報AI1にて示される公開鍵暗号方式に従って、当該ハッシュ値を、認証局の秘密鍵SKca(図示省略、ユーザの秘密鍵SK1とは異なる)を用いて暗号化する。暗号化されたハッシュ値が、署名情報SN1である。ハッシュ関数のアルゴリズムには、例えば、「SHA(Secure Hash Algorithm)1」、「SHA256」が用いられる。公開鍵暗号方式のアルゴリズムには、例えば、「RSA」が用いられる。認証局の秘密鍵SKcaは、図2(A)の鍵格納部SKSに格納された認証局の公開鍵PKcaに対応する秘密鍵である。
図示は省略するが、証明書CT2、CT3も、それぞれ同様に、公開鍵と、署名情報と、署名アルゴリズム情報と、その他の情報と、を含んでいる。
図2(C)には、鍵管理情報KMIの概念図が示されている。図2(C)に示すように、鍵管理情報KMIは、管理テーブルKMTと、証明書保存先情報CTIと、を含む。管理テーブルKMTは、鍵格納部SKSに格納された各秘密鍵に対応するエントリENを含む。各エントリENは、秘密鍵の所有者であるユーザの表示名(例えば、「Alice」)と、秘密鍵のファイル名(例えば、「SK1」)と、秘密鍵に対応する証明書のファイル名(例えば、「CT1」)と、秘密鍵の所有者であるユーザの識別子であるユーザID(例えば、「USER1」)と、を含む。例えば、秘密鍵と証明書の組(例えば、秘密鍵SK1と証明書CT1)とが、鍵格納部SKSと証明書格納部CTSに格納・保存されたときに、当該秘密鍵に対応するエントリENが、複合機100の管理者によって管理テーブルKMTに記録される。
以上のように、鍵管理情報KMIにおいて、複数個の秘密鍵SK1〜SK3は、識別情報としてのユーザID(例えば、「USER1」)、および、表示名(例えば、「Alice」)と、対応付けられている。そして、複数個の秘密鍵SK1〜SK3は、対応する公開鍵を含む証明書CT1〜CT3のファイル名と対応付けられている。
証明書保存先情報CTIは、証明書CT1〜CT3が格納された計算機200の証明書格納部CTSに、複合機100のCPU110がアクセスするための情報である。本実施例では、CPU110は、FTP(File Transfer Protocol)を用いて、計算機200の証明書格納部CTSにアクセスするので、証明書保存先情報CTIは、FTPによるアクセスに必要な情報、例えば、アカウント名と、パスワードと、サーバ名と、を含む。さらに、証明書保存先情報CTIは、計算機200における証明書格納部CTSの位置を示す情報、具体的には、証明書CT1〜CT3が格納されたフォルダを示すフォルダパスを含む。
A−2:署名付ファイル生成処理
図3は、第1実施例の署名付ファイル生成処理のフローチャートである。署名付ファイル生成処理は、例えば、ユーザの指示に基づいて、原稿を読取実行部170を用いて読み取ることによって生成されるスキャンデータを取得し、該スキャンデータを含む署名付PDFファイルを生成する処理である。
S100では、CPU110は、ログイン処理を実行する。本実施例では、署名付ファイル生成処理は、ログイン中のユーザの指示に基づいて実行されるため、署名付PDFファイルの生成を望むユーザは、複合機100へのログインを行う。具体的には、CPU110は、ユーザのログイン要求に応じて、図示しないログイン画面を操作部150に表示して、該ログイン画面を介して、認証情報(例えば、ユーザIDとパスワード)を取得する。CPU110は、認証情報に基づいて、特定のユーザのログインを許容するか否かを判断する。CPU110は、ログインを許容する場合には、特定のユーザのログイン状態に遷移し、ログインを許容しない場合には、エラー処理を実行する。以下では、図2(C)のユーザID「USER1」、表示名「Alice」を有するユーザのログインが許容されたとして説明を続ける。
S102では、CPU110は、操作部150を介して、ユーザから署名付PDFファイルの生成指示を取得する。例えば、ユーザは、原稿を読取実行部170の原稿台に載置した状態で、操作部150に、署名付PDFファイルの生成指示を入力する。S105では、CPU110は、ログイン中のユーザに対応する秘密鍵を鍵格納部SKSから取得する。具体的には、CPU110は、管理テーブルKMTにおいて、現在ログイン中のユーザを示すユーザID(例えば、「USER1」)を検索し、該ユーザIDを含むエントリENを参照して、該ユーザIDに対応付けられた秘密鍵が、秘密鍵SK1であることを特定する。CPU110は、複合機100の鍵格納部SKS(図2(C))から特定済みの秘密鍵SK1を取得する。取得済みの秘密鍵SK1は、揮発性記憶装置120のバッファ領域BA1に格納される。
S110では、CPU110は、取得済みの秘密鍵に対応する証明書を外部の計算機200から取得する。例えば、CPU110は、管理テーブルKMTの現在ログイン中のユーザに対応するエントリENを参照して、取得済みの秘密鍵SK1に対応する証明書のファイル名が「CT1」であることを特定する。CPU110は、当該証明書のファイル名を用いて、秘密鍵に対応する証明書を外部の計算機200から取得する。具体的には、CPU110は、図2(C)の証明書保存先情報CTIに含まれるアカウント名とパスワードとサーバ名とを用いて、計算機200にアクセスする。CPU110は、証明書保存先情報CTIに含まれるフォルダパスによって示されるフォルダ(すなわち、図2(B)の証明書格納部CTS)内のファイルであって、ファイル名「CT1」を有するファイルを、計算機200に要求する。これによって、CPU110は、計算機200から証明書CT1を取得する。証明書CT1の取得は、上述したように、例えば、FTPに従って実行される。なお、変形例としては、FTPに代えて、他のプロトコル、例えば、SMTP(Simple Mail Transfer Protocol)や、CIFS(Common Internet File System)に従って、証明書CT1の取得が実行されても良い。取得済みの証明書CT1は、揮発性記憶装置120のバッファ領域BA1に格納される。このように、CPU110は、秘密鍵に対応する証明書のファイル名を用いて、対応する証明書を、適切に、計算機200から取得することができる。
S115〜S140では、CPU110は、S110にて取得済みの証明書CT1が、S105にて取得済みの秘密鍵SK1と対応する真正な証明書であるか否かを判断する。これによって、後述するS155にて出力される証明書が、真正な証明書であるか否かが判断されるので、外部装置である計算機200から証明書を取得する場合であっても、適切な証明書を出力できる。
取得済みの証明書CT1が真正な証明書であるか否かの判断は、2段階で行われる。S115、S120では、1段階目の判断として第1の判断方法を用いて簡易的な判断が行われる。S125〜S140では、2段階目の判断として1段階目より複雑な第2の判断方法を用いて判断が行われる。以下により詳しく説明する。
S115では、CPU110は、秘密鍵SK1に含まれる公開鍵の情報と、証明書CT1に含まれる公開鍵の情報と、を比較する。RSAの秘密鍵SK1は、「modulus」、「publicExponent」、「privateExponent」、「prime1」、「prime2」などの複数個の情報を含んでいる。そして、秘密鍵SK1に対応する公開鍵(対応する証明書CT1に含まれる公開鍵)は、秘密鍵SK1に含まれる情報のうち、「modulus」と、「publicExponent」と、を抜き出したものである。このように、秘密鍵SK1および証明書CT1は、共通の情報として、公開鍵の情報(具体的には、「modulus」、「publicExponent」)を含む。S110にて取得済みの証明書CT1が、秘密鍵SK1に対応する真正な証明書CT1である場合には、秘密鍵SK1に含まれる公開鍵と、証明書CT1に含まれる公開鍵とは、同一の公開鍵PK1である。したがって、この場合には、秘密鍵SK1に含まれる公開鍵の情報と、証明書CT1に含まれる公開鍵の情報とは、一致する。本実施例では、CPU110は、秘密鍵SK1に含まれる公開鍵の「modulus」の値と、証明書CT1に含まれる公開鍵の「modulus」の値と、を比較する。
S120では、CPU110は、秘密鍵SK1に含まれる公開鍵の情報と、証明書CT1に含まれる公開鍵の情報と、が一致したか否かを判断する。これらの情報が一致した場合には(S120:YES)、CPU110は、2段階目の判断(S125〜S140)に処理を進める。これらの情報が一致しない場合には(S120:NO)、S110にて取得済みの証明書CT1は、秘密鍵SK1に対応する真正な証明書CT1ではないと考えられる。このために、この場合には、CPU110は、S160にてエラー処理を実行して、署名付ファイル生成処理を終了する。エラー処理では、例えば、ユーザに、秘密鍵SK1に対応する真正な証明書CT1が取得できない旨が通知される。
S125では、CPU110は、証明書CT1に含まれる署名情報SN1を、認証局の公開鍵PKca(図2(A))を用いて復号して、ハッシュ値HV1を取得する。
S130では、CPU110は、証明書CT1に含まれる情報のうち、署名情報SN1を除いた情報(署名アルゴリズム情報AI1、公開鍵PK1、その他の情報OI1)を、署名アルゴリズム情報AI1にて示されるハッシュ関数を用いてハッシュ化して、ハッシュ値HV2を取得する。
S135では、CPU110は、S125にて取得済のハッシュ値HV1と、S130にて取得済のハッシュ値HV2と、を比較する。
S140では、CPU110は、ハッシュ値HV1とハッシュ値HV2とが一致したか否かを判断する。ハッシュ値HV1とハッシュ値HV2とが一致した場合には(S140:YES)、CPU110は、S145に処理を進める。ハッシュ値HV1とハッシュ値HV2とが一致しない場合には(S140:NO)、S110にて取得済みの証明書CT1は、秘密鍵SK1に対応する真正な証明書CT1ではないと考えられる。このために、この場合には、CPU110は、S160にてエラー処理を実行して、署名付ファイル生成処理を終了する。
以上の説明から解るように、第1の判断方法(S115、S120)は、秘密鍵SK1に対応する公開鍵の情報と、証明書CT1に含まれる公開鍵の情報と、を比較するだけであるが、第2の判断方法(S125〜S140)は、ハッシュ関数を用いてハッシュ値HV2を生成する処理や署名情報SN1を復号する処理を含む。このために第2の判断方法は、第1の判断方法よりも処理負荷が高い。
S145では、CPU110は、原稿を示すスキャンデータSDを含むPDFファイルPF(図示省略)を生成する。具体的には、CPU110は、読取実行部170に原稿を読み取らせることによって、読取実行部170から原稿を示すスキャンデータSDを取得する。CPU110は、当該スキャンデータSDを含むPDFファイルPFを生成して、揮発性記憶装置120のバッファ領域BA1に格納する。
S150では、PDFファイルPFを用いて署名処理を実行して、署名付PDFファイルSPFを生成する。図2(D)には、署名付PDFファイルSPFの一例が示されている。署名付PDFファイルSPFは、スキャンデータSDと、証明書CT1と、署名情報SNuと、を含む。具体的には、CPU110は、S145にて生成されたPDFファイルPFを、署名アルゴリズム情報AI1にて示されるハッシュ関数を用いてハッシュ化して、ハッシュ値HVuを取得する。CPU110は、署名アルゴリズム情報AI1にて示される公開鍵暗号方式に従って、当該ハッシュ値HVuを、ログイン中のユーザの秘密鍵SK1を用いて暗号化する。暗号化されたハッシュ値HVuが、署名情報SNuである。CPU110は、PDFファイルPFに、署名情報SNuと、署名情報SNuの生成に用いた秘密鍵SK1に対応する証明書CT1と、を格納することによって、署名付PDFファイルSPF(図2(D))を生成する。
S155では、CPU110は、生成済の署名付PDFファイルSPFを、外部の計算機200に送信する。署名付PDFファイルSPFの送信は、例えば、FTPに従って、実行される。変形例としては、FTPに代えて、他のプロトコル、例えば、SMTPや、CIFSに従って、署名付PDFファイルSPFの送信が実行されても良い。署名付PDFファイルSPFを受信した計算機200のCPU210は、署名付PDFファイルSPFを、指定されたフォルダ(図1のスキャンデータ格納部SDS)に格納する。計算機200に格納された署名付PDFファイルSPFは、ユーザの利用に供される。
以上説明した第1実施例によれば、複合機100(CPU110)は、自身の不揮発性記憶装置130の鍵格納部SKSから秘密鍵SK1を取得し(S105)、秘密鍵SK1に対応する公開鍵PK1を含む証明書CT1を、インタフェース190を介して計算機200から取得する(S110)。複合機100は、秘密鍵SK1を用いて、ハッシュ値HVuを暗号化して署名情報SNuを生成する処理を含む署名処理を実行する(S150)。複合機100は、署名情報SNuと、証明書CT1と、スキャンデータSDと、を含む署名付PDFファイルを、計算機200に出力する。この構成によれば、秘密情報として管理すべき秘密鍵SK1は、秘密鍵SK1を使用する複合機100の鍵格納部SKSに格納されるので、セキュリティを確保できる。そして、秘密鍵SK1と比較して秘密情報として管理すべき必要性が低い公開鍵PK1を含む証明書CT1は、外部の計算機200から取得される。この結果、証明書CT1は、複合機100の不揮発性記憶装置130に格納・保存される必要がない。したがって、複合機100において、必要とされる不揮発性記憶装置130の容量を、セキュリティを損なうことなく低減できる。例えば、秘密鍵SK1と、対応する証明書CT1と、の両方を、複合機100の不揮発性記憶装置130に格納・保存する場合と比較して、必要とされる不揮発性記憶装置130の容量を低減できる。特に、本実施例では、署名付きデータ(具体的には、署名付PDFファイルSPF)を出力するために、秘密鍵と証明書とを用いるので、例えば、ユーザごとに秘密鍵と証明書とを管理する場合があり得る。このような場合に、仮に、複合機100自身に、秘密鍵と証明書とを保存する場合には、複合機100において必要とされる不揮発性記憶装置130の容量が大きくなりがちであるが、本実施例では、セキュリティを損なうことなく、必要な不揮発性記憶装置130の低減できる。
さらに、本実施例によれば、複合機100は、署名付PDFファイルSPFを、証明書CT1を格納する計算機200に送信する(S155)。したがって、署名付PDFファイルSPFと、証明書CT1と、は、同じ計算機200にて格納・保存することができる。したがって、証明書CT1を格納するためだけに外部装置を用意する必要がなく、システム1000を簡素化できる。
さらに、上記実施例によれば、図2(C)の管理テーブルKMTにおいて、複数個の秘密鍵SK1〜SK3は、ユーザID(例えば、「USER1」、「USER2」)と対応付けられている。そして、特定のユーザID(例えば、「USER1」)を用いたログイン処理(S100)が行われることで、当該特定のユーザIDが指定される。そして、当該特定のユーザID(例えば、「USER1」)に対応する秘密鍵SK1が取得され(S105)、秘密鍵SK1に対応する公開鍵PK1を含む証明書CT1が計算機200から取得される(S110)。すなわち、複合機100は、第1のユーザID(例えば、「USER1」)が指定される場合に、第1のユーザIDに対応する第1の秘密鍵(例えば、秘密鍵SK1)を鍵格納部SKSから取得し、第2のユーザID(例えば、「USER2」)が指定される場合に、第2のユーザIDに対応する第2の秘密鍵(例えば、秘密鍵SK2)を鍵格納部SKSから取得する。そして、複合機100は、第1のユーザIDが指定される場合に、第1の秘密鍵に対応する第1の公開鍵を含む証明書(例えば、証明書CT1)を計算機200から取得し、第2のユーザIDが指定される場合に、第2の秘密鍵に対応する第2の公開鍵を含む証明書(例えば、証明書CT2)を計算機200から取得する。この結果、複数個の秘密鍵SK1、SK2と、複数個の証明書CT1、CT2と、が用いられる場合であっても、必要とされる不揮発性記憶装置130の容量を、セキュリティを損なうことなく低減できる。例えば、本実施例のように、ユーザごとに秘密鍵と証明書とを管理する場合に、管理すべき秘密鍵と証明書の個数が多くなりがちである。このような場合においても必要とされる不揮発性記憶装置130の容量を低減できる。
さらに、上記実施例では、複合機100は、第1の判断方法を用いて、証明書CT1が真正な証明書であるか否かを判断する第1の判断処理(S115、S120)を実行する。複合機100は、第1の判断処理において、証明書CT1が真正な証明書であると判断される場合に(S120:YES)、第2の判断方法を用いて、証明書CT1が真正な証明書であるか否かを判断する第2の判断処理(S125〜S140)を実行する。第1の判断処理において、証明書CT1が真正な証明書でないと判断される場合に(S120:NO)、第1の判断処理よりも処理負荷が高い第2の判断処理は、実行されない。この結果、効率的に、証明書CT1が真正な証明書であるか否かを判断できる。
さらに、上記実施例では、S115、S120の第1の判断処理は、秘密鍵SK1に含まれる公開鍵PK1の「modulus」と、証明書CT1に含まれる公開鍵PK1の「modulus」と、が同一であるか否かを判断する。この結果、比較的簡易に、証明書CT1が真正な証明書であるか否かの一応の判断ができる。
B.第2実施例
第2実施例では、図2(C)の管理テーブルKMTにおいて、各エントリENには、証明書のファイル名は含まれない。すなわち、鍵格納部SKSに格納された複数個の秘密鍵SK1〜SK3のそれぞれには、対応する証明書CT1〜CT3のファイル名は対応付けられていない。第2実施例のシステムの他の構成は、第1実施例のシステム1000と同じである。
第2実施例では、複合機100は、図3の署名付ファイル生成処理とは異なる署名付ファイル生成処理を実行する。図4は、第2実施例の署名付ファイル生成処理のフローチャートである。
S110Bにて、図3のS110〜S105が実行された後のS110Bでは、CPU110は、指定されたフォルダ、すなわち、証明書保存先情報CTIに含まれるフォルダパスによって示されるフォルダ内の全ての証明書を、計算機200から取得する。具体的には、CPU110は、FTPに従って、計算機200にアクセスして、当該フォルダ内の全てのファイルを計算機200に要求する。計算機200は、指定されたファイル内の全てのファイル、すなわち、証明書格納部CTSに格納された証明書CT1〜CT3を含む全ての証明書を、複合機100に送信する。取得済みの全ての証明書は、揮発性記憶装置120のバッファ領域BA1に格納される。
S112Bでは、CPU110は、取得済みの全ての証明書から1個の注目する証明書を選択する。S115Bでは、CPU110は、図3の115と同様に、S105にて取得済みの秘密鍵SK1に含まれる公開鍵PK1の情報と、注目する証明書に含まれる公開鍵の情報と、を比較する。
S120Bでは、CPU110は、秘密鍵SK1に含まれる公開鍵PK1の情報と、注目する証明書に含まれる公開鍵の情報と、が一致したか否かを判断する。これらの情報が一致した場合には(S120B:YES)、CPU110は、2段階目の判断(S125〜S240)に処理を進める。これらの情報が一致しない場合には(S120B:NO)、CPU110は、S122Bに処理を進める。
S122Bでは、CPU210は、取得済みの全ての証明書を注目する証明書として選択したか否かを判断する。全ての証明書が選択済みである場合には(S122B:YES)、CPU210は、S160にてエラー処理を実行して、署名付ファイル生成処理を終了する。未選択の証明書がある場合には(S122B:NO)、CPU210は、S112Bに戻って、未選択の証明書を新たな注目する証明書として選択する。
S125〜S240では、注目する証明書について、図3のS125〜S240と同様の処理が実行される。そして、S170Bでは、図3のS145〜S155と同様の処理が行われて、署名付PDFファイルSPFの生成・出力が行われる。
以上説明した第2実施例によれば、複合機100は、計算機200の証明書格納部CTSに格納される複数個の証明書を、計算機200から取得し(S110B)、取得済の複数個の証明書の中から、秘密鍵SK1に対応する証明書CT1を選択する(S112B〜S122B)。この結果、例えば、秘密鍵SK1に対応する証明書CT1のファイル名が予め鍵管理情報KMIに記録されていない場合であっても複数個の証明書の中から、適切な証明書を取得することができる。
C.第3実施例
第3実施例のシステムの構成は、第2実施例のシステムと同じである。第3実施例では、複合機100は、図4の第2実施例の署名付ファイル生成処理とは異なる署名付ファイル生成処理を実行する。図5は、第3実施例の署名付ファイル生成処理のフローチャートである。
図5の署名付ファイル生成処理では、図5のS100BとS110Bとの間に、S108Cが追加されている点が、図4の署名付ファイル生成処理と異なる。図5の署名付ファイル生成処理のその他の処理は、図4の署名付ファイル生成処理と同一である。
S108Cでは、CPU110は、既に実行済みの署名付ファイル生成処理のS110Bにて取得済みの複数個の証明書が、揮発性記憶装置120のバッファ領域BA1に格納されている否かを判断する。本実施例では、以下の契機で、バッファ領域BA1から取得済みの複数個の証明書が消去される。そして、以下の契機が生じない限り、取得済みの複数個の証明書は、バッファ領域BA1に保持される。このために、S108Cの時点で、取得済みの複数個の証明書がバッファ領域BA1に残っている場合がある。
(1)複合機100の電源が落とされたとき
(2)複合機100が再起動されたとき
(3)他の処理(例えば、ファクシミリ処理や印刷処理)の実行のためにバッファ領域BA1の領域を確保する必要があるとき
取得済みの複数個の証明書がバッファ領域BA1に格納されていない場合には(S108C:NO)、S110Bにて、CPU110は、指定されたフォルダ、すなわち、証明書保存先情報CTIに含まれるフォルダパスによって示されるフォルダ内の全ての証明書を、計算機200から取得する。取得済みの複数個の証明書がバッファ領域BA1に格納されている場合には(S108C:YES)、S110Bはスキップされる。
このように、第3実施例では、複合機100は、実行済みの署名付ファイル生成処理のS110Bにおいて、計算機200から取得済みの複数個の証明書を、実行済みの署名付ファイル生成処理にて該署名付PDFファイルSPFが出力された後も、バッファ領域BA1に一時的に格納しておく。そして、複合機100は、その後に、署名付ファイル生成処理が再度実行されることによって、S105にて、秘密鍵が再度取得される際に、対応する証明書がバッファ領域BA1に格納されている場合には(S108C:YES)、複合機100は、計算機200から証明書を再度取得せず、バッファ領域BA1に格納された証明書を用いて、署名付PDFファイルSPFの生成・出力を行う。この結果、計算機200への無駄なアクセスを抑制して、証明書が計算機200に格納されている場合であっても、効率良く、署名付PDFファイルSPFの生成や出力を実行できる。
D.第4実施例
第4実施例のシステムの構成は、第1実施例のシステムと同じである。第4実施例では、複合機100は、図3の第1実施例の署名付ファイル生成処理とは異なる署名付ファイル生成処理を実行する。図6は、第4実施例の署名付ファイル生成処理のフローチャートである。
図6の署名付ファイル生成処理では、図6のS100DとS110との間に、S108Dが追加されている点が、図3の署名付ファイル生成処理と異なる。図6の署名付ファイル生成処理のその他の処理は、図3の署名付ファイル生成処理と同一である。
S108Dでは、CPU110は、既に実行済みの署名付ファイル生成処理のS110にて計算機200から取得され、さらに、S115〜S140にて真正であることを検証済みの証明書であって、直前のS105にて取得済の秘密鍵に対応する証明書が、揮発性記憶装置120のバッファ領域BA1に格納されている否かを判断する。本実施例では、以下の契機で、バッファ領域BA1から検証済みの証明書が消去される。そして、以下の契機が生じない限り、検証済みの複数個の証明書は、バッファ領域BA1に保持される。このために、S108Dの時点で、検証済みの1以上の証明書がバッファ領域BA1に残っている場合がある。
(1)複合機100の電源が落とされたとき
(2)複合機100が再起動されたとき
(3)他の処理(例えば、ファクシミリ処理や印刷処理)の実行のためにバッファ領域BA1の領域を確保する必要があるとき
なお、上記(1)〜(3)の契機に代えて、あるいは、これらの契機とともに、例えば、バッファ領域BA1に格納された検証済みの証明書の個数が特定数(例えば、2個)を超えた場合に、バッファ領域BA1に格納された時期が早い順に、1個ずつ検証済みの証明書が消去されても良い。
検証済みの対応する証明書がバッファ領域BA1に格納されていない場合には(S108D:NO)、S110にて、CPU110は、取得済みの秘密鍵に対応する証明書を外部の計算機200から取得する。検証済みの対応する証明書がバッファ領域BA1に格納されている場合には(S108D:YES)、CPU110は、S110〜S140をスキップして、処理をS170Dに進める。S170Dでは、図3のS145〜S155の処理が実行される。すなわち、CPU110は、バッファ領域BA1に格納されている検証済みの対応する証明書を用いて、署名付PDFファイルSPFの生成や出力を実行する。
このように、第4実施例では、複合機100は、実行済みの署名付ファイル生成処理のS110において取得され、S115〜S140にて真正であることが検証済みの証明書を、実行済みの署名付ファイル生成処理にて該署名付PDFファイルSPFが出力された後も、バッファ領域BA1に一時的に格納しておく。そして、複合機100は、その後に、署名付ファイル生成処理が再度実行されることによって、S105にて、秘密鍵が再度取得される際に、検証済みで、かつ、対応する証明書がバッファ領域BA1に格納されている場合には(S108D:YES)、複合機100は、計算機200から証明書を再度取得せず、かつ、証明書の検証のための処理(S110〜S140)を行わず、バッファ領域BA1に格納された証明書を用いて、署名付PDFファイルSPFの生成・出力を行う。(S170D)。この結果、計算機200への無駄なアクセスを抑制できるとともに、証明書の無駄な検証処理の実行を抑制できる。この結果、証明書が計算機200に格納されている場合であっても、より効率良く、署名付PDFファイルSPFの生成や出力を実行できる。
E.変形例
(1)上記各実施例では、秘密鍵と証明書とは、スキャンデータSDを含むPDFファイルに対して署名するために用いられている。これに代えて、秘密鍵と証明書とは、他の処理のために用いられても良い。
例えば、複合機100は、ユーザの端末装置(図示省略)をクライアントとして通信を行うサーバとして機能する場合がある。この場合において、複合機100は、自身のサーバ証明書を、計算機200の証明書格納部CTSに格納し、該サーバ証明書に対応する秘密鍵を複合機100の鍵格納部SKSに格納する。そして、複合機100は、ユーザの端末装置から接続要求があると、計算機200にアクセスして計算機200からサーバ証明書を取得する。複合機100は、例えば、図3のS125〜S140を実行して、サーバ証明書が真正であるか否かを判断し、サーバ証明書が真正である場合には、該サーバ証明書を端末装置に対して送信する。
端末装置は、該サーバ証明書を受信すると、例えば、図3のS125〜S140を実行して、該サーバ証明書が真正であるか否かを判断する。そして、端末装置は、サーバ証明書が真正である場合には、該サーバ証明書に含まれる公開鍵を用いて、共通鍵を暗号化して、暗号化された共通鍵を、複合機100に対して送信する。
複合機100は、暗号化された共通鍵を受信すると、該暗号化された共通鍵を、サーバ証明書に対応する秘密鍵であって鍵格納部SKSに格納されている秘密鍵を用いて、復号する。これによって複合機100は、共通鍵を取得する。この結果、複合機100と端末装置との両方が、該共通鍵を所有した状態となるので、複合機100と端末装置との間で、該共通鍵を用いた暗号通信を行うことができる。
以上の説明から解るように、上記各実施例では、ハッシュ値HVuを暗号化して署名情報SNuを生成する処理(図3のS150)が、変換処理の例であり、上記変形例では、暗号化された共通鍵を復号して共通鍵を取得する処理が、変換処理の例である。そして、上記各実施例では、署名情報SNuと証明書CT1とを含む署名付PDFファイルSPFの送信(図3のS155)が、変換済みデータと証明書との出力の例であり、上記変形例では、端末装置へのサーバ証明書の送信が証明書の出力の例である。
また、上記各実施例では、秘密鍵と証明書とは、スキャンデータSDを含むPDFファイルとは異なるデータに対して署名することによって、署名付データを生成するために用いられても良い。PDFファイルとは異なるデータは、例えば、テキストファイル、描画アプリケーションによって生成された画像ファイル、文書作成アプリケーションによって生成された文書ファイルを含む。
(2)上記各実施例では、証明書CT1〜CT3を格納する証明書格納部CTS(図2(B)は、計算機200に備えられている。これに代えて、証明書CT1〜CT3は、他の外部装置、例えば、USBインタフェースを介して複合機100と接続されるハードディスクやUSBメモリなどの外部ストレージに格納されても良い。また、証明書CT1〜CT3は、複合機100とインターネットを介して接続されるクラウドサーバに格納されても良い。
(3)上記各実施例では、ユーザによって入力されるユーザIDを用いてログイン処理(図3のS100)を行うことによって、秘密鍵に対応付けられた識別情報としてのユーザIDが指定され、該ユーザIDに対応する秘密鍵が取得される(図3のS105)。ログイン処理に代えて、例えば、複合機100は、図3のS102の後に、秘密鍵に対応付けられた識別情報としてのユーザの表示名(例えば「Alicd」)のリストを含む選択画面(図示省略)を表示部140に表示し、該選択画面を介して表示名の指定指示を取得しても良い。この場合には、S105にて、複合機100は、指定された表示名(例えば「Alice」)に対応する秘密鍵を取得する。また、このとき表示される選択画面は、ユーザの表示名のリストに代えて、証明書のファイル名のリストを含んでいても良い。
(4)上記各実施例では、証明書CT1〜CT3を格納する外部装置と、署名付PDFファイルSPFを格納する装置とは、ともに計算機200である。これに代えて、証明書CT1〜CT3を格納する外部装置と、署名付PDFファイルSPFを格納する装置とは、別の装置であっても良い。例えば、証明書CT1〜CT3を格納する外部装置と、署名付PDFファイルSPFを格納する装置と、のうちの一方は、USBインタフェースを介して複合機100に接続されたUSBメモリであり、他方は、計算機200であっても良い。
(5)上記各実施例では、複合機100は、複数個の秘密鍵SK1〜SK3と、対応する複数個の証明書CT1〜CT3と、を管理している。これに代えて、複合機100は、1個の秘密鍵と、対応する1個の証明書と、のみを管理していても良い。この場合には、例えば、図2(C)の管理テーブルKMTは、無くても良い。
(6)上記各実施例では、複合機100は、計算機200から取得された証明書が真正であるか否かを判断する処理(例えば、図3のS115〜S140)を実行しているが、これらの処理の全部または一部は省略されても良い。例えば、図3のS115〜S140、および、S160は、省略されても良い。また、図3のS115、S120のみが省略されても良い。また、図3のS125〜S140のみが省略されても良い。
(7)図3のS115では、秘密鍵SK1に含まれる公開鍵PK1の「modulus」の値と、証明書CT1に含まれる公開鍵PK1の「modulus」の値と、を比較している。これに代えて、あるいは、これと共に、例えば、秘密鍵SK1に含まれる公開鍵PK1の「publicExponent」の値と、証明書CT1に含まれる公開鍵PK1の「publicExponent」の値と、を比較しても良い。
(8)上記各実施例では、各秘密鍵とユーザとは、一対一で対応しているが、これに限られない。例えば、1個の秘密鍵が複数人のユーザと対応していても良い。また、一人のユーザが複数個の秘密鍵と対応していても良い。例えば、ログイン中のユーザに複数個の秘密鍵が対応している場合には、複合機100は、図3のS105にて、当該複数個の秘密鍵(または対応する証明書)のリストを含む選択画面を表示して、ユーザの選択指示を取得し、ユーザの選択指示に従って1個の秘密鍵を取得すれば良い。
(9)上記各実施例では、署名付ファイル生成処理を行う情報処理装置は、複合機100であるが、単体のスキャナであっても良い。また、情報処理装置は、パーソナルコンピュータやスマートフォンなどの端末装置であっても良い。この場合には、例えば、端末装置は、自身の不揮発性記憶装置に予め保存されたファイルに対して署名を行って、署名付ファイルを生成しても良い。あるいは、端末装置は、複合機やスキャナからスキャンデータSDを取得して、該スキャンデータSDを含むファイルに対して署名を行って、署名付ファイルを生成しても良い。また、情報処理装置は、ファイルサーバであっても良い。この場合には、ファイルサーバは、例えば、所定のフォルダに格納されたファイルに対して署名を行って、署名付ファイルを生成しても良い。この場合には、ファイルサーバは、署名付ファイルを、自身のハードディスクに格納し、クライアントからの要求に応じて、該クライアントに対して署名付ファイルを出力する。この場合に、ファイルサーバは、ネットワークを介して互いに通信可能な複数個の装置(例えば、コンピュータ)を含む、いわゆるクラウドサーバであっても良い。
(10)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
(11)本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
110…CPU、120…揮発性記憶装置、130…不揮発性記憶装置、140…表示部、150…操作部、160…印刷実行部、170…読取実行部、190…インタフェース、200…計算機、210…CPU、220…揮発性記憶装置、230…不揮発性記憶装置、240…表示部、250…操作部、290…インタフェース、1000…システム、NT…ローカルエリアネットワーク、PG1…コンピュータプログラム、PG2…コンピュータプログラム、KMI…鍵管理情報、SDS…スキャンデータ格納部、CTI…証明書保存先情報、SKS…鍵格納部、KMT…管理テーブル、CTS…証明書格納部

Claims (11)

  1. 情報処理装置であって、
    秘密鍵が格納される不揮発性の格納部と、
    前記情報処理装置とは異なる外部装置と通信するためのインタフェースと、
    前記格納部から前記秘密鍵を取得する秘密鍵取得部と、
    前記秘密鍵に対応する公開鍵を含む証明書を、前記インタフェースを介して認証局とは異なる特定の外部装置から取得する証明書取得部であって、前記証明書は、前記認証局によって署名された暗号化データを前記認証局から取得し、取得された前記暗号化データを前記秘密鍵で復号することによって得られた後、前記特定の外部装置に格納されている、前記証明書取得部と、
    前記格納部から取得される前記秘密鍵を用いて変換処理を実行して変換済データを生成する変換部であって、前記変換処理は、データを暗号化する処理と、前記公開鍵を用いて暗号化されたデータを復号する処理と、のいずれかを含む、前記変換部と、
    前記証明書を出力する出力部と、
    を備える、情報処理装置。
  2. 請求項1に記載の情報処理装置であって、さらに、
    署名対象のデータを取得するデータ取得部と、
    前記署名対象のデータに基づいて特定データを生成する生成部と、
    を備え、
    前記変換部は、前記変換処理として、前記秘密鍵を用いて前記特定データを暗号化する署名処理を実行して、前記変換済データとして署名データを生成し、
    前記出力部は、前記署名対象のデータと、前記署名データと、前記証明書と、を含む署名付データを出力する、情報処理装置。
  3. 請求項2に記載の情報処理装置であって、
    前記出力部は、前記署名付きデータを、前記インタフェースを介して前記特定の外部装置に送信する、情報処理装置。
  4. 請求項1〜3のいずれかに記載の情報処理装置であって、
    複数個の前記秘密鍵のそれぞれは、識別情報と対応付けられ、
    前記秘密鍵取得部は、
    第1の前記識別情報が指定される場合に、前記第1の識別情報に対応する第1の前記秘密鍵を前記格納部から取得し、
    第2の前記識別情報が指定される場合に、前記第2の識別情報に対応する第2の前記秘密鍵を前記格納部から取得し、
    前記証明書取得部は、
    前記第1の識別情報が指定される場合に、前記第1の秘密鍵に対応する第1の前記公開鍵を含む前記証明書を、前記特定の外部装置から取得し、
    前記第2の識別情報が指定される場合に、前記第2の秘密鍵に対応する第2の前記公開鍵を含む前記証明書を、前記特定の外部装置から取得する、情報処理装置。
  5. 請求項1〜4のいずれかに記載の情報処理装置であって、
    複数個の前記秘密鍵のそれぞれは、対応する前記公開鍵を含む前記証明書のファイル名と対応付けられ、
    前記証明書取得部は、
    前記秘密鍵取得部によって特定の前記秘密鍵が取得される場合に、前記特定の秘密鍵に対応する特定の前記ファイル名を用いて、前記特定の秘密鍵に対応する特定の前記公開鍵を含む前記証明書を、前記特定の外部装置から取得する、情報処理装置。
  6. 請求項1〜4のいずれかに記載の情報処理装置であって、
    前記格納部には、複数個の前記秘密鍵が格納され、
    前記証明書取得部は、前記秘密鍵取得部によって特定の前記秘密鍵が取得される場合に、前記格納部に格納される複数個の前記証明書を、前記特定の外部装置から取得し、
    前記情報処理装置は、さらに、
    取得済の前記複数個の証明書の中から、前記特定の秘密鍵に対応する特定の前記公開鍵を含む前記証明書を選択する選択部を備える、情報処理装置。
  7. 請求項1〜6のいずれかに記載の情報処理装置であって、さらに、
    前記特定の外部装置から取得される前記証明書が、前記格納部から取得される前記秘密鍵に対応する真正な証明書であるか否かを判断する判断部を備え、
    前記出力部は、前記秘密鍵に対応する真正な証明書であると判断された前記証明書を出力する、情報処理装置。
  8. 請求項7に記載の情報処理装置であって、
    前記判断部は、
    第1の判断方法を用いて、対象の前記証明書が真正な証明書であるか否かを判断する第1の判断処理を実行し、
    前記第1の判断処理において、対象の前記証明書が真正な証明書であると判断される場合に、第2の判断方法を用いて、対象の前記証明書が真正な証明書であるか否かを判断する第2の判断処理であって、前記第1の判断処理よりも処理負荷が高い前記第2の判断処理を実行し、
    前記第1の判断処理において、対象の前記証明書が真正な証明書でないと判断される場合に、前記第2の判断処理を実行しない、情報処理装置。
  9. 請求項8に記載の情報処理装置であって、
    前記秘密鍵は、対応する前記公開鍵の少なくとも一部を含み、
    前記第1の判断処理は、前記格納部から取得される前記秘密鍵に含まれる前記公開鍵の少なくとも一部と、前記特定の外部装置から取得される前記証明書に含まれる前記公開鍵の少なくとも一部と、が同一であるか否かを判断する処理である、情報処理装置。
  10. 請求項1〜9のいずれかに記載の情報処理装置であって、さらに、
    前記証明書取得部によって前記特定の外部装置から取得される前記証明書を、前記出力部による前記証明書の出力後も、一時的に格納する一時格納部を備え、
    前記出力部による前記証明書の出力後において、前記秘密鍵が再度取得される際に、再度取得される前記秘密鍵に対応する前記証明書が前記一時格納部に格納されている場合には、
    前記証明書取得部は、前記特定の外部装置から前記証明書を再度取得せず、
    前記出力部は、前記一時格納部に格納された前記証明書を出力する、情報処理装置。
  11. 秘密鍵が格納される不揮発性の格納部と、前記情報処理装置とは異なる外部装置と通信するためのインタフェースと、を備える情報処理装置のためのコンピュータプログラムであって、
    前記格納部から前記秘密鍵を取得する秘密鍵取得機能と、
    前記秘密鍵に対応する公開鍵を含む証明書を、前記インタフェースを介して認証局とは異なる特定の外部装置から取得する証明書取得機能であって、前記証明書は、前記認証局によって署名された暗号化データを前記認証局から取得し、取得された前記暗号化データを前記秘密鍵で復号することによって得られた後、前記特定の外部装置に格納されている、前記証明書取得機能と、
    前記格納部から取得される前記秘密鍵を用いて変換処理を実行して変換済データを生成する変換部であって、前記変換処理は、データを暗号化する処理と、前記公開鍵を用いて暗号化されたデータを復号する処理と、のいずれかを含む、前記変換機能と、
    前記証明書を出力する出力機能と、
    をコンピュータに実現させる、コンピュータプログラム。
JP2017174072A 2017-09-11 2017-09-11 情報処理装置、および、コンピュータプログラム Active JP6940812B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017174072A JP6940812B2 (ja) 2017-09-11 2017-09-11 情報処理装置、および、コンピュータプログラム
US15/937,226 US11283628B2 (en) 2017-09-11 2018-03-27 Information processing device that processes information using private key and public key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017174072A JP6940812B2 (ja) 2017-09-11 2017-09-11 情報処理装置、および、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019050511A JP2019050511A (ja) 2019-03-28
JP6940812B2 true JP6940812B2 (ja) 2021-09-29

Family

ID=65631692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017174072A Active JP6940812B2 (ja) 2017-09-11 2017-09-11 情報処理装置、および、コンピュータプログラム

Country Status (2)

Country Link
US (1) US11283628B2 (ja)
JP (1) JP6940812B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7262938B2 (ja) * 2018-06-29 2023-04-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP2021057834A (ja) * 2019-09-30 2021-04-08 ダイキン工業株式会社 データ収集システム及びデータ収集方法
WO2023145027A1 (ja) * 2022-01-28 2023-08-03 富士通株式会社 検証支援方法、検証支援プログラム、および情報処理装置
US20230299978A1 (en) * 2022-03-18 2023-09-21 Target Brands, Inc. Digital certificate request system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1047028A1 (de) 1999-04-19 2000-10-25 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Kommunikationssytem und Verfahren zur effizienten Durchführung von elektronischen Transaktionen in mobilen Kommunikationsnetzen
JP2002215827A (ja) 2001-01-17 2002-08-02 Soriton Syst:Kk 電子文書の保管と活用方法
US6952428B1 (en) * 2001-01-26 2005-10-04 3Com Corporation System and method for a specialized dynamic host configuration protocol proxy in a data-over-cable network
JP2001242785A (ja) * 2001-04-20 2001-09-07 Ntt Data Corp ディジタル署名システム
JP2005045785A (ja) * 2003-07-08 2005-02-17 Matsushita Electric Ind Co Ltd 情報入出力システム
CN1820237A (zh) 2003-07-08 2006-08-16 松下电器产业株式会社 信息输入/输出系统
JP2005268931A (ja) * 2004-03-16 2005-09-29 Matsushita Electric Ind Co Ltd 情報セキュリティ装置及び情報セキュリティシステム
JP4459001B2 (ja) 2004-09-29 2010-04-28 キヤノン株式会社 情報処理装置、電子署名付加方法、ならびにプログラム、記憶媒体
JP4994970B2 (ja) * 2006-08-21 2012-08-08 株式会社リコー 画像処理システム、画像処理装置、プログラム管理方法及びプログラムを管理する管理プログラム
US9768965B2 (en) * 2009-05-28 2017-09-19 Adobe Systems Incorporated Methods and apparatus for validating a digital signature
US9111106B2 (en) 2011-01-13 2015-08-18 Mitsubishi Electric Corporation Data processing apparatus and data storage apparatus
US9621540B2 (en) * 2012-12-21 2017-04-11 Intel Corporation Secure provisioning of computing devices for enterprise connectivity
US20170063550A1 (en) * 2015-04-23 2017-03-02 Keith J Brodie Secure Digital Signature Apparatus and Methods
JP6507854B2 (ja) * 2015-05-28 2019-05-08 株式会社リコー 情報処理システム、情報処理装置、電子証明書の管理方法、及びプログラム
US10897709B2 (en) * 2016-12-09 2021-01-19 Arris Enterprises Llc Wireless network authorization using a trusted authenticator

Also Published As

Publication number Publication date
JP2019050511A (ja) 2019-03-28
US20190081801A1 (en) 2019-03-14
US11283628B2 (en) 2022-03-22

Similar Documents

Publication Publication Date Title
JP6940812B2 (ja) 情報処理装置、および、コンピュータプログラム
JP7066380B2 (ja) システム、システムにおける方法、情報処理装置、情報処理装置における方法、およびプログラム
US9223957B2 (en) Image forming apparatus, image processing apparatus and image delivery system
JP2016177551A (ja) 出力装置、プログラム、出力システム及び出力方法
KR20040086111A (ko) 작업 처리 장치를 연휴 동작시키는 정보 처리 장치 및 방법
JP7030476B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム、システム、およびシステムの制御方法
US10803195B2 (en) Control method of image communication apparatus, data distribution system, export apparatus, and import apparatus
JP5012867B2 (ja) 画像データ出力方法、画像処理装置、およびコンピュータプログラム
JP2009060384A (ja) 画像通信システムおよび画像通信装置
US20180082067A1 (en) Information Sharing Server, Information Sharing System And Non-Transitory Recording Medium
JP2011170544A (ja) ソフトウェア配布方法、インストール方法、情報処理装置及びソフトウェア配布システム
JP2009070292A (ja) 画像形成装置、ジョブ制御方法、及び、情報記録媒体
JP2006235885A (ja) 文書電子化方法、文書電子化装置及び文書電子化プログラム
JP2007274403A (ja) 画像処理装置におけるユーザ証明書登録方法及びユーザ署名付き送信方法
US20080304660A1 (en) Image forming apparatus allowing easy management relating to user's usage
JP5012394B2 (ja) 画像処理システム及び画像処理プログラム
JP6969185B2 (ja) クライアント端末、情報処理方法およびプログラム
JP2019061324A (ja) 情報処理装置及び情報処理プログラム
JP5737469B1 (ja) 制御装置およびプログラム
JP2012248083A (ja) 選択プログラム、画像処理装置、及び、コンピュータ
JP2007274404A (ja) 画像処理装置における署名付き送信方法
JP2005275112A (ja) 暗号化/復号化システム
JP5487659B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2009212747A (ja) 電子署名システム
JP6682933B2 (ja) 画像処理装置、画像処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210817

R150 Certificate of patent or registration of utility model

Ref document number: 6940812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150