IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社GFSの特許一覧

特許7100330押印管理方法、押印管理装置、プログラム、及び情報処理方法
<>
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図1
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図2
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図3
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図4
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図5
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図6
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図7
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図8
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図9
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図10
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図11
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図12
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図13
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図14
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図15
  • 特許-押印管理方法、押印管理装置、プログラム、及び情報処理方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-07-05
(45)【発行日】2022-07-13
(54)【発明の名称】押印管理方法、押印管理装置、プログラム、及び情報処理方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20220706BHJP
【FI】
H04L9/32 200B
H04L9/32 200Z
【請求項の数】 14
(21)【出願番号】P 2021568780
(86)(22)【出願日】2021-07-15
(86)【国際出願番号】 JP2021026656
【審査請求日】2021-11-17
(31)【優先権主張番号】P 2020169177
(32)【優先日】2020-10-06
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】516196440
【氏名又は名称】株式会社GFS
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】上原 敏幸
(72)【発明者】
【氏名】高橋 敬明
【審査官】金沢 史明
(56)【参考文献】
【文献】国際公開第2020/085378(WO,A1)
【文献】特開2018-182483(JP,A)
【文献】特開2019-164683(JP,A)
【文献】米国特許出願公開第2020/0153639(US,A1)
【文献】特開2002-116696(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
電子的な押印サービスを管理する押印管理装置が、
前記押印サービスの利用者の利用者端末から、前記押印サービスの利用対象とする要押印データを受信するステップと、
前記要押印データを受信することを契機として、前記要押印データに押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成するステップと、
前記押印公開鍵をブロックチェーンに登録するステップと、
前記ブロックチェーンに登録された前記押印公開鍵を取得するための識別子であって前記押印サービスに一意に紐づけられている押印識別子を前記ブロックチェーンから取得するステップと、
前記要押印データ及び前記押印識別子を含むファイルに前記押印秘密鍵の署名を付すことにより、押印済みファイルを生成するステップと、
前記押印秘密鍵を、前記作業メモリから消去するステップと、
前記押印識別子を前記利用者端末に送信するステップと、を実行する、
押印管理方法。
【請求項2】
前記押印管理装置が、
前記利用者端末から、前記押印サービスの登録申請を受信するステップと、
前記登録申請を受信することを契機として、前記押印サービスを利用して押印した押印済みデータに署名するためのサービス秘密鍵と、前記署名の検証に用いるサービス公開鍵とを生成するステップと、
前記サービス公開鍵をブロックチェーンに登録するステップと、
前記ブロックチェーンに登録された前記サービス公開鍵を取得するための識別子であるサービス識別子を前記ブロックチェーンから取得するステップと、
前記サービス秘密鍵と前記サービス識別子とを記憶装置に格納するステップと、
前記押印済みファイルと前記サービス識別子とを含むデータに前記サービス秘密鍵を用いて署名を付すことにより、署名付押印ファイルを生成するステップと、
前記署名付押印ファイルを前記押印識別子と関連付けて前記記憶装置に格納するステップと、をさらに実行する、
請求項1に記載の押印管理方法。
【請求項3】
前記押印管理装置が、
前記利用者端末から前記押印識別子を受信するステップと、
前記押印識別子を用いて前記記憶装置から前記署名付押印ファイルを取得するステップと、
前記署名付押印ファイルを前記利用者端末に送信するステップと、をさらに実行する、
請求項2に記載の押印管理方法。
【請求項4】
前記押印管理装置が、
前記押印サービスの監査を行う監査者が利用する監査者端末から、前記押印識別子を受信するステップと、
前記押印識別子を用いて前記ブロックチェーンから前記押印公開鍵を取得するステップと、
前記押印識別子を用いて前記記憶装置から前記署名付押印ファイルを取得するステップと、
前記押印公開鍵を用いて前記署名付押印ファイルに含まれる前記押印秘密鍵の署名を検証するステップと、
前記検証の結果を示すレポートを生成するステップと、
取得した前記署名付押印ファイルに含まれる前記サービス識別子を用いて前記記憶装置から前記サービス秘密鍵を取得するステップと、
前記サービス秘密鍵を用いて、前記レポートに署名を付した署名付監査レポートを生成するステップと、
前記署名付監査レポートを前記監査者端末に送信するステップと、をさらに実行する、
請求項3に記載の押印管理方法。
【請求項5】
前記押印管理装置が、
前記監査者端末から、前記押印識別子を受信するステップと、
前記押印識別子を用いて前記記憶装置から前記署名付押印ファイルを取得するステップと、
前記署名付押印ファイルに含まれる前記サービス識別子を用いて前記ブロックチェーンから前記サービス公開鍵を取得するステップと、
取得した前記サービス公開鍵を前記監査者端末に送信するステップと、をさらに実行し、
前記監査者端末が、
前記押印管理装置から前記サービス公開鍵を受信するステップと、
受信した前記サービス公開鍵を用いて、前記署名付監査レポートに付された署名の正当性を検証するステップと、をさらに実行する、
請求項4に記載の押印管理方法。
【請求項6】
前記押印管理装置が、前記サービス秘密鍵を用いて前記要押印データとは異なる他のデータを暗号化して暗号化データを生成するステップをさらに実行し、
前記署名付押印ファイルを生成するステップにおいて、前記押印済みファイルと前記暗号化データと前記サービス識別子とを含むファイルに前記サービス秘密鍵を用いて署名を付したデータを、前記署名付押印ファイルとして生成する、
請求項2から5のいずれか1項に記載の押印管理方法。
【請求項7】
前記押印管理装置が、
前記押印秘密鍵と、前記押印公開鍵とを、前記作業メモリから消去したことを示すログファイルを生成するステップをさらに実行する、
請求項1から6のいずれか1項に記載の押印管理方法。
【請求項8】
前記ブロックチェーンは、コンソーシアム型ブロックチェーンである、
請求項1から7のいずれか1項に記載の押印管理方法。
【請求項9】
電子的な押印サービスを管理する押印管理装置であって、
前記押印サービスの利用者の利用者端末から、前記押印サービスの利用対象とする要押印データを受信する受信部と、
前記要押印データを受信することを契機として、前記要押印データに押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成する鍵ペア生成部と、
前記押印公開鍵をブロックチェーンに登録するとともに、前記ブロックチェーンに登録された前記押印公開鍵を取得するための識別子であって前記押印サービスに一意に紐づけられている押印識別子を前記ブロックチェーンから取得するブロックチェーン操作部と、
前記要押印データ、及び前記押印識別子を含むファイルに前記押印秘密鍵の署名を付すことにより、押印済みファイルを生成する押印実行部と、
前記押印秘密鍵を、前記作業メモリから消去する鍵消去部と、
前記押印識別子を前記利用者端末に送信する送信部と、を備える、
押印管理装置。
【請求項10】
コンピュータに、
押印サービスの利用者の利用者端末から、前記押印サービスの利用対象とする要押印データを受信する機能と、
前記要押印データを受信することを契機として、前記要押印データに押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成する機能と、
前記押印公開鍵をブロックチェーンに登録する機能と、
前記ブロックチェーンに登録された前記押印公開鍵を取得するための識別子であって前記押印サービスに一意に紐づけられている押印識別子を前記ブロックチェーンから取得する機能と、
前記要押印データ、及び前記押印識別子を含むファイルに前記押印秘密鍵の署名を付すことにより、押印済みファイルを生成する機能と、
前記押印秘密鍵を、前記作業メモリから消去する機能と、
前記押印識別子を前記利用者端末に送信する機能と、を実現させる、
プログラム。
【請求項11】
電子的な押印サービスの利用者の利用者端末が、
前記押印サービスの利用対象とする要押印データのハッシュ値を生成するステップと、
前記ハッシュ値を含む検証情報に署名するための利用者押印秘密鍵と、前記利用者押印秘密鍵に対応する利用者公開鍵とを作業メモリに生成するステップと、
前記利用者押印秘密鍵を用いて前記検証情報に署名した署名付き検証情報を生成するステップと、
前記署名付き検証情報と前記利用者公開鍵とを前記押印サービスを管理する押印管理装置に送信するステップと、
前記利用者押印秘密鍵を前記作業メモリから消去するステップと、を実行し、
前記押印管理装置が、
前記押印サービスの利用者の利用者端末から、前記署名付き検証情報と前記利用者公開鍵とを受信するステップと、
前記署名付き検証情報に押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成するステップと、
前記押印サービスに一意に紐づけられている識別子であって記憶装置から前記押印公開鍵と前記利用者公開鍵とを取得するための押印識別子に 前記押印公開鍵と前記利用者公開鍵とを紐づけて前記記憶装置に格納するステップと、
前記署名付き検証情報に前記押印秘密鍵の署名を付すことにより、押印済み検証情報を生成するステップと、
前記押印済み検証情報と前記押印識別子とを前記利用者端末に送信するステップと、
前記押印秘密鍵を前記作業メモリから消去するステップと、を実行する、
情報処理方法。
【請求項12】
前記押印管理装置が、
前記利用者端末から前記押印識別子と前記押印済み検証情報と検証対象となる要押印データのハッシュ値とを受信するステップと、
前記押印識別子を用いて前記記憶装置から前記押印公開鍵と前記利用者公開鍵とを取得するステップと、
前記押印公開鍵を用いて前記押印済み検証情報に含まれる前記押印秘密鍵の署名を検証する第1検証ステップと、
前記利用者公開鍵を用いて前記押印済み検証情報に含まれる前記利用者押印秘密鍵の署名を検証する第2検証ステップと、
前記押印済み検証情報に含まれる前記要押印データのハッシュ値と、検証対象となる要押印データのハッシュ値とが一致することを検証する第3検証ステップと、
前記第1検証ステップ、前記第2検証ステップ、及び前記第3検証ステップそれぞれにおける検証が成功することを条件として、前記利用者公開鍵を前記利用者端末に送信するステップと、さらに実行する、
請求項11に記載の情報処理方法。
【請求項13】
前記利用者端末が、
アーカイブするための保存用ファイルを暗号化するための第1共通鍵を前記作業メモリに生成するステップと、
前記保存用ファイルを前記第1共通鍵で暗号化して得られたデータを前記要押印データとして生成するステップと、
前記利用者押印秘密鍵を用いて前記第1共通鍵を暗号化して暗号化第1共通鍵を生成するステップと、
前記第1共通鍵を前記作業メモリから消去するステップと、をさらに実行する、
請求項11又は12に記載の情報処理方法。
【請求項14】
前記押印管理装置が、
前記第1共通鍵とは異なる第2共通鍵を前記作業メモリに生成するステップと、
前記押印済み検証情報を含む情報を前記第2共通鍵で暗号化するステップと、
前記押印秘密鍵を用いて前記第2共通鍵を暗号化して暗号化第2共通鍵を生成するステップと、をさらに実行し、
前記利用者端末に送信するステップにおいて、暗号化した前記押印済み検証情報を含む情報と前記暗号化第2共通鍵と前記押印識別子とを前記利用者端末に送信し、
前記第2共通鍵を前記作業メモリから消去するステップをさらに実行する、
請求項13に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は押印管理方法、押印管理装置、及びプログラムに関し、特に電子的な押印を管理する技術に関する。
【背景技術】
【0002】
近年、インターネット等のネットワーク技術が急激に発達し、従来紙等に印刷して用いられていた文書を電子的な文書に置き換えて用いられるケースも増加している。このため、例えば特許文献1には、承認者の電子印鑑の印影データを、承認対象ファイルに貼り付けることで承認者を本人と認証し文書の承認をすることができる仕組みが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-135690号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術は、承認者の本人認証のために従来型のパスワードを用いて電子印鑑の印影データを保護している。この場合、電子印鑑の秘匿性は従来型のパスワードの秘匿性と同等であり、必しも高い安全性が担保されているとは言えない。
【0005】
本発明はこれらの点に鑑みてなされたものであり、出所確認のための電子的な押印の安全性を高める技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、押印管理方法である。この方法において、電子的な押印サービスを管理する押印管理装置が、前記押印サービスの利用者の利用者端末から、前記押印サービスの利用対象とする要押印データを受信するステップと、前記要押印データを受信することを契機として、前記要押印データに押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成するステップと、前記押印公開鍵をブロックチェーンに登録するステップと、前記ブロックチェーンに登録された前記押印公開鍵を取得するための識別子である押印識別子を前記ブロックチェーンから取得するステップと、前記要押印データ及び前記押印識別子を含むファイルに前記押印秘密鍵の署名を付すことにより、押印済みファイルを生成するステップと、前記押印秘密鍵を、前記作業メモリから消去するステップと、前記押印識別子を前記利用者端末に送信するステップと、を実行する。
【0007】
前記押印管理方法において、前記押印管理装置が、前記利用者端末から、前記押印サービスの登録申請を受信するステップと、前記登録申請を受信することを契機として、前記押印サービスを利用して押印した押印済みデータに署名するためのサービス秘密鍵と、前記署名の検証に用いるサービス公開鍵とを生成するステップと、前記サービス公開鍵をブロックチェーンに登録するステップと、前記ブロックチェーンに登録された前記サービス公開鍵を取得するための識別子であるサービス識別子を前記ブロックチェーンから取得するステップと、前記サービス秘密鍵と前記サービス識別子とを記憶装置に格納するステップと、前記押印済みファイルと前記サービス識別子とを含むデータに前記サービス秘密鍵を用いて署名を付すことにより、署名付押印ファイルを生成するステップと、前記署名付押印ファイルを前記押印識別子と関連付けて前記記憶装置に格納するステップと、をさらに実行してもよい。
【0008】
前記押印管理方法において、前記押印管理装置が、前記利用者端末から前記押印識別子を受信するステップと、前記押印識別子を用いて前記記憶装置から前記署名付押印ファイルを取得するステップと、前記署名付押印ファイルを前記利用者端末に送信するステップと、をさらに実行してもよい。
【0009】
前記押印管理方法において、前記押印管理装置が、前記押印サービスの監査を行う監査者が利用する監査者端末から、前記押印識別子を受信するステップと、前記押印識別子を用いて前記ブロックチェーンから前記押印公開鍵を取得するステップと、前記押印識別子を用いて前記記憶装置から前記署名付押印ファイルを取得するステップと、前記押印公開鍵を用いて前記署名付押印ファイルに含まれる前記押印秘密鍵の署名を検証するステップと、前記検証の結果を示すレポートを生成するステップと、取得した前記署名付押印ファイルに含まれる前記サービス識別子を用いて前記記憶装置から前記サービス秘密鍵を取得するステップと、前記サービス秘密鍵を用いて、前記レポートに署名を付した署名付監査レポートを生成するステップと、前記署名付監査レポートを前記監査者端末に送信するステップと、をさらに実行してもよい。
【0010】
前記押印管理方法において、前記押印管理装置が、前記監査者端末から、前記押印識別子を受信するステップと、前記押印識別子を用いて前記記憶装置から前記署名付押印ファイルを取得するステップと、前記署名付押印ファイルに含まれる前記サービス識別子を用いて前記ブロックチェーンから前記サービス公開鍵を取得するステップと、取得した前記サービス公開鍵を前記監査者端末に送信するステップと、をさらに実行してもよく、前記監査者端末が、前記押印管理装置から前記サービス公開鍵を受信するステップと、受信した前記サービス公開鍵を用いて、前記署名付監査レポートに付された署名の正当性を検証するステップと、をさらに実行してもよい。
【0011】
前記押印管理方法において、前記押印管理装置が、前記サービス秘密鍵を用いて前記要押印データとは異なる他のデータを暗号化して暗号化データを生成するステップをさらに実行してもよく、前記署名付押印ファイルを生成するステップにおいて、前記押印済みファイルと前記暗号化データと前記サービス識別子とを含むファイルに前記サービス秘密鍵を用いて署名を付したデータを、前記署名付押印ファイルとして生成してもよい。
【0012】
前記押印管理方法において、前記押印管理装置が、前記押印秘密鍵と、前記押印公開鍵とを、前記作業メモリから消去したことを示すログファイルを生成するステップをさらに実行してもよい。
【0013】
前記ブロックチェーンは、コンソーシアム型ブロックチェーンであってもよい。
【0014】
本発明の第2の態様は、電子的な押印サービスを管理する押印管理装置である。この装置は、前記押印サービスの利用者の利用者端末から、前記押印サービスの利用対象とする要押印データを受信する受信部と、前記要押印データを受信することを契機として、前記要押印データに押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成する鍵ペア生成部と、前記押印公開鍵をブロックチェーンに登録するとともに、前記ブロックチェーンに登録された前記押印公開鍵を取得するための識別子である押印識別子を前記ブロックチェーンから取得するブロックチェーン操作部と、前記要押印データ、及び前記押印識別子を含むファイルに前記押印秘密鍵の署名を付すことにより、押印済みファイルを生成する押印実行部と、前記押印秘密鍵を、前記作業メモリから消去する鍵消去部と、前記押印識別子を前記利用者端末に送信する送信部と、を備える。
【0015】
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、押印サービスの利用者の利用者端末から、前記押印サービスの利用対象とする要押印データを受信する機能と、前記要押印データを受信することを契機として、前記要押印データに押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成する機能と、前記押印公開鍵をブロックチェーンに登録する機能と、前記ブロックチェーンに登録された前記押印公開鍵を取得するための識別子である押印識別子を前記ブロックチェーンから取得する機能と、前記要押印データ、及び前記押印識別子を含むファイルに前記押印秘密鍵の署名を付すことにより、押印済みファイルを生成する機能と、前記押印秘密鍵を、前記作業メモリから消去する機能と、前記押印識別子を前記利用者端末に送信する機能と、を実現させる。
【0016】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0017】
本発明の第4の態様は、情報処理方法である。この方法において、電子的な押印サービスの利用者の利用者端末が、前記押印サービスの利用対象とする要押印データのハッシュ値を生成するステップと、前記ハッシュ値を含む検証情報に署名するための利用者押印秘密鍵と、前記利用者押印秘密鍵に対応する利用者公開鍵とを作業メモリに生成するステップと、前記利用者押印秘密鍵を用いて前記検証情報に署名した署名付き検証情報を生成するステップと、前記署名付き検証情報と前記利用者公開鍵とを前記押印サービスを管理する押印管理装置に送信するステップと、前記利用者押印秘密鍵を前記作業メモリから消去するステップと、を実行し、前記押印管理装置が、前記押印サービスの利用者の利用者端末から、前記署名付き検証情報と前記利用者公開鍵とを受信するステップと、前記署名付き検証情報に押印するための押印秘密鍵と、前記押印の検証に用いる押印公開鍵とを作業メモリに生成するステップと、前記押印公開鍵と前記利用者公開鍵とを押印識別子と紐づけて記憶装置に格納するステップと、前記署名付き検証情報に前記押印秘密鍵の署名を付すことにより、押印済み検証情報を生成するステップと、前記押印済み検証情報と前記押印識別子とを前記利用者端末に送信するステップと、前記押印秘密鍵を前記作業メモリから消去するステップと、を実行する。
【0018】
前記情報処理方法において、前記押印管理装置が、前記利用者端末から前記押印識別子と前記押印済み検証情報と検証対象となる要押印データのハッシュ値とを受信するステップと、前記押印識別子を用いて前記記憶装置から前記押印公開鍵と前記利用者公開鍵とを取得するステップと、前記押印公開鍵を用いて前記押印済み検証情報に含まれる前記押印秘密鍵の署名を検証する第1検証ステップと、前記利用者公開鍵を用いて前記押印済み検証情報に含まれる前記利用者押印秘密鍵の署名を検証する第2検証ステップと、前記押印済みファイルに含まれる前記要押印データのハッシュ値と、検証対象となる要押印データのハッシュ値とが一致することを検証する第3検証ステップと、前記第1検証ステップ、前記第2検証ステップ、及び前記第3検証ステップそれぞれにおける検証が成功することを条件として、前記利用者公開鍵を前記利用者端末に送信するステップと、さらに実行してもよい。
【0019】
前記情報処理方法において、前記利用者端末が、アーカイブするための保存用ファイルを暗号化するための第1共通鍵を前記作業メモリに生成するステップと、前記保存用ファイルを前記第1共通鍵で暗号化して得られたデータを前記要押印データとして生成するステップと、前記利用者押印秘密鍵を用いて前記第1共通鍵を暗号化して暗号化第1共通鍵を生成するステップと、前記第1共通鍵を前記作業メモリから消去するステップと、をさらに実行してもよい。
【0020】
前記情報処理方法において、前記押印管理装置が、前記第1共通鍵とは異なる第2共通鍵を前記作業メモリに生成するステップと、前記押印済み検証情報を含む情報を前記第2共通鍵で暗号化するステップと、前記押印秘密鍵を用いて前記第2共通鍵を暗号化して暗号化第2共通鍵を生成するステップと、をさらに実行し、前記利用者端末に送信するステップにおいて、暗号化した前記押印済み検証情報を含む情報と前記暗号化第2共通鍵と前記押印識別子とを前記利用者端末に送信し、前記第2共通鍵を前記作業メモリから消去するステップをさらに実行してもよい。
【0021】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0022】
本発明によれば、出所確認のための電子的な押印の安全性を高めることができる。
【図面の簡単な説明】
【0023】
図1】第1の実施の形態に係る押印管理システムの全体構成の概要を模式的に示す図である。
図2】第1の実施の形態に係る押印管理装置の機能構成を模式的に示す図である。
図3】第1の実施の形態に係る利用者端末の機能構成を模式的に示す図である。
図4】第1の実施の形態に係る押印管理システムで用いられる各種鍵と識別子とを表形式で示す図である。
図5】第1の実施の形態に係る押印管理システムにおいて実行される押印処理の流れを説明するためのシーケンス図である。
図6】第1の実施の形態に係る押印管理システムにおいて実行される押印サービス登録処理の流れを説明するためのシーケンス図である。
図7】第1の実施の形態に係る押印管理システムにおいて実行される押印データ取得処理の流れを説明するためのシーケンス図である。
図8】第1の実施の形態に係る押印管理システムにおいて実行される押印の監査処理の流れを説明するためのシーケンス図である。
図9】第1の実施の形態に係る押印管理システムにおいて実行される監査レポートの検証処理の流れを説明するためのシーケンス図である。
図10】第2の実施の形態に係る押印管理システムの全体構成の概要を模式的に示す図である。
図11】第2の実施の形態に係る押印管理装置の機能構成の概要を模式的に示す図である。
図12】第2の実施の形態に係る利用者端末の機能構成の概要を模式的に示す図である。
図13】第2の実施の形態に係る利用者端末が実行する要押印データの生成処理の一例を説明するためのフローチャートである。
図14】第2の実施の形態に係る押印管理システムで実行される相互押印処理の流れを説明するためのシーケンス図である。
図15】第2の実施の形態に係る押印管理装置が実行する押印の検証処理の流れを説明するためのフローチャートである。
図16】第2の実施の形態に係る押印管理装置が実行する暗号化処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0024】
<実施の形態の前提となる技術>
以下、本願発明の第1の実施の形態と第2の実施の形態とに基づいて説明するが、これらの実施の形態に係る押印管理システムを説明する前に、その前提となる公開鍵暗号の性質について簡単に説明する。実施の形態に係る押印管理システムは、暗号化、署名、及び鍵交換が可能な公開鍵暗号を利用する。このような公開鍵暗号として既知のRSA(Rivest-Shamir-Adleman)暗号があり、本実施の形態ではRSA暗号を用いることを前提とする。なお、RSA暗号は既知の技術であるため、そのアルゴリズム自体の説明は省略する。
【0025】
RSA暗号は、一般に、鍵生成アルゴリズム、暗号化アルゴリズム、及び復号アルゴリズムを備えており、これらはコンピュータプログラムによって実装されている。コンピュータは鍵生成アルゴリズムを実行することにより、秘密鍵と公開鍵とから構成される鍵ペアを生成する。
【0026】
RSA暗号では、一般に、公開鍵は平文を暗号文に変換するための暗号化アルゴリズムで用いられる。このため、公開鍵は暗号化鍵と呼ばれることもある。また、秘密鍵は、公開鍵によって暗号化された暗号文を復号して平文に戻すための復号アルゴリズムで用いられる。このため、秘密鍵は復号鍵と呼ばれることもある。RSA暗号においては、公開鍵を用いてひとたび暗号化されたデータは、秘密鍵を用いない限り現実的な時間内で復号することは困難とされている。
【0027】
RSA暗号における公開鍵があっても、その公開鍵に対応する秘密鍵を現実的な時間内で見つけることは、現在のところ困難とされている。RSA暗号においては、鍵ペアを生成したコンピュータは、通常は秘密鍵を自身で安全に保管し、公開鍵を他の装置に配る。他の装置は配られた公開鍵を用いて情報を暗号化し、秘密鍵を生成したコンピュータに送信する。暗号文はその暗号文を暗号化した公開鍵に対応する秘密鍵を所持しているコンピュータでないと復号することが困難であるため、他の装置は秘密鍵を所持する装置に対して情報を安全に送信することができる。
【0028】
なお、RSA方式の公開鍵暗号等の鍵交換が可能な公開鍵暗号においては、平文のデータを復号アルゴリズムで処理する(すなわち、秘密鍵を用いて平文を「復号」する)と、結果として得られるデータは解読できない暗号文となる。この暗号文を暗号化アルゴリズムで処理する(すなわち、秘密鍵を用いて復号されたデータを公開鍵を用いて「暗号化」する)と、元の平文のデータが復元される。つまり、RSA方式の公開鍵暗号においては、暗号化及び復号に関しては秘密鍵と公開鍵とは入れ替え可能であり、秘密鍵を「暗号化」に用い、公開鍵を「復号」に用いることも可能である。ただし、秘密鍵があれば対応する公開鍵を生成することができるため、秘密鍵を生成したコンピュータが暗号化に利用させるために秘密鍵を他の装置に配ることは、通常行われない。
【0029】
RSA方式の公開鍵暗号を電子署名に用いる場合、コンピュータは、署名を付したいデータ又はそのデータのハッシュ値に対して復号アルゴリズムを実行することによって署名を生成する。署名を検証する装置は、暗号化アルゴリズムを用いて署名を処理した結果、元のデータ又はそのハッシュ値が得られた場合、その署名は秘密鍵を有しているコンピュータによって作成されたものであることが確認できる。一般に、秘密鍵はその所有者のみが所持しているため、その署名はそのコンピュータによってのみ付されたことが保証されるからである。
【0030】
<第1の実施の形態の概要>
上述した技術を前提として、以下、図1を参照しながら、第1の実施の形態に係る押印管理システムSで実行される処理及びデータの流れの概要を(1)から(8)の順で説明するが、その番号は図1における(1)から(8)と対応する。
【0031】
図1は、第1の実施の形態に係る押印管理システムSの全体構成の概要を模式的に示す図である。図1に示すように、押印管理システムSは、電子的な押印サービスを管理する押印管理装置1、押印サービスの利用者Uが使用する利用者端末2、押印管理システムSで用いられる各種鍵と識別子とを格納するための記憶装置3、押印サービスの監査を行う監査者が利用する監査者端末4、及びブロックチェーンBを含んでいる。
【0032】
押印管理装置1と利用者端末2又は監査者端末4とは、インターネット等のネットワークNを介して接続することもできる。図1に示す押印管理システムSの例では、ブロックチェーンBは、プライベート型ブロックチェーン又はコンソーシアム型ブロックチェーンであり、5つのノードから構成されている。なお、監査者端末4の詳細は後述する。
【0033】
(1)利用者端末2は、ネットワークNを介して押印管理装置1に押印サービスの利用対象とするデータ(以下、「要押印データ」と記載する)を送信する。
(2)押印管理装置1は、利用者端末2から要押印データを受信する。
【0034】
(3)押印管理装置1は、押印するために用いる押印秘密鍵と、その押印秘密鍵に対応する押印公開鍵とを押印管理装置1の作業メモリ(不図示)に生成する。図1では、押印公開鍵はパブリック(public)の頭文字である「P」が付された鍵で表されており、押印秘密鍵はシークレット(secret)の頭文字である「S」が付された鍵で表されている。
【0035】
(4)押印管理装置1は、押印公開鍵をブロックチェーンBに登録する。
(5)押印管理装置1は、ブロックチェーンBから押印公開鍵を取り出すための情報である押印識別子を、そのブロックチェーンBから取得する。押印識別子は押印公開鍵と1対1に対応し、押印サービス毎に一意に紐づけられる情報となる。なお、図1では、押印識別子はIdentificationを示す「ID」によって表されている。
【0036】
(6)押印管理装置1は、利用者端末2から受信した要押印データと押印識別子とを含むファイルに、そのファイルに関する押印秘密鍵の署名を付す。これにより、押印管理装置1は、押印済みファイルを生成し、記憶装置3に安全に保管させる。
【0037】
(7)押印管理装置1は、押印公開鍵をブロックチェーンBに登録し、かつ、押印秘密鍵を用いて押印済みファイルを生成した後に、作業メモリに残っている押印秘密鍵と押印公開鍵とを復元できないように安全に消去する。これにより、ブロックチェーンBに登録された押印公開鍵に対応する押印秘密鍵は完全に消滅し、その押印秘密鍵を使った押印サービスを提供することはできなくなる。つまり、押印管理装置1が押印秘密鍵を消去した後は、何人も押印済みファイルを生成することはできない。押印済みファイルは、押印秘密鍵の署名を含む唯一無二のファイルとなる。
【0038】
(8)押印管理装置1は、押印識別子を、何らかの方法で押印の利用者Uに送付する。ここで「何らかの方法」とは、利用者Uが押印識別子を取得できればどのような方法であってもよく、例えば、図1に示すようにインターネットを利用して電子的に送信する方法であってもよいし、USB(Universal Serial Bus)メモリ等の記録媒体に格納して郵送によって送る方法であってもよい。
【0039】
一般的な公開鍵暗号の性質上、公開鍵からその公開鍵に対応する秘密鍵を現実的な時間内で見つけることは困難であるとされている。したがって、押印管理装置1が押印済みファイルを生成した後に押印秘密鍵を安全に消去すると、その後その押印秘密鍵を用いた押印済みファイルを生成することは困難となる。ゆえに、押印管理システムSは、出所確認のための電子的な押印の安全性を高めることができる。
【0040】
<第1の実施の形態に係る押印管理装置1の機能構成>
図2は、第1の実施の形態に係る押印管理装置1の機能構成を模式的に示す図である。また、図3は、第1の実施の形態に係る利用者端末2の機能構成を模式的に示す図である。押印管理装置1は、記憶部10、通信部11、及び制御部12を備える。また、利用者端末2は、記憶部20、通信部21、及び制御部22を備える。
【0041】
図2及び図3において、矢印は主なデータの流れを示しており、図2又は図3に示していないデータの流れがあってもよい。図2及び図3において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2及び図3に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0042】
記憶部10は、押印管理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や押印管理装置1の作業メモリとなるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。同様に、記憶部20は、利用者端末2を実現するコンピュータのBIOS等を格納するROMや利用者端末2の作業メモリとなるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
【0043】
通信部11は、押印管理装置1が外部の装置と通信するための通信インタフェースであり、既知のLAN(Local Area Network)モジュールや、Wi-Fi(登録商標)モジュール等の無線通信モジュールによって実現される。同様に、通信部21は、利用者端末2が外部の装置と通信するための通信インタフェースである。
【0044】
制御部12は、押印管理装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって、通信制御部1200、鍵ペア生成部1201、ブロックチェーン操作部1202、押印実行部1203、鍵消去部1204、記憶装置操作部1205、署名部1206、署名検証部1207、レポート生成部1208、暗号化部1209、及びログ生成部1210として機能する。また、制御部22は、利用者端末2のCPUやGPU等のプロセッサであり、記憶部20に記憶されたプログラムを実行することによって、通信制御部220及び検証部221として機能する。
【0045】
なお、図2及び図3は、押印管理装置1及び利用者端末2が単一の装置で構成されている場合の例を示している。しかしながら、押印管理装置1又は利用者端末2は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部12又は制御部22を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0046】
(押印管理システムSで用いられる各種鍵及び識別子)
図4は、第1の実施の形態に係る押印管理システムSで用いられる各種鍵と識別子とを表形式で示す図である。第1の実施の形態に係る押印管理システムSで行われる処理の流れを説明する前に、押印管理システムSにおいてやり取りされる各種鍵及び識別子について図4を参照して説明する。
【0047】
図4に示すように、第1の実施の形態に係る押印管理システムSにおいて、秘密鍵、公開鍵、及び識別子は、2つの利用目的に応じてそれぞれ2種類ずつ存在する。2つの利用目的とは、具体的には、押印するための目的と、押印サービスを提供するサービサー(例えば、押印管理装置1の管理者)の署名を付すための目的との2つである。
【0048】
押印公開鍵は、押印管理装置1が要押印データに付した押印を検証するために用いられ、押印管理装置1によって押印サービス毎に生成される。押印公開鍵は、押印管理装置1によって生成された後に、ブロックチェーンBに格納される。押印識別子は、押印公開鍵をブロックチェーンBから取り出すために用いられる情報であり、押印公開鍵と1対1に対応する情報である。
【0049】
押印秘密鍵は、要押印データに押印するために用いられ、押印管理装置1が押印に使用した後に押印管理装置1によって復元できないように安全に消去される。これにより、ひとたび押印秘密鍵が押印サービスに使用された後は、何人も同じ押印秘密鍵で押印することができないことが保証される。
【0050】
サービス秘密鍵は、押印管理装置1の管理者等の押印サービスの提供者が、押印済みファイルに署名をするために用いられ、押印管理装置1によって生成される。サービス秘密鍵は、従来型の電子署名技術と同様に、押印管理装置1によって記憶装置3にセキュアに保管される。サービス公開鍵は、押印管理装置1が押印済みファイルに付した署名を検証するために用いられ、押印管理装置1によって生成される。サービス公開鍵は、押印管理装置1によって生成された後に、ブロックチェーンBに格納される。
【0051】
サービス識別子は、サービス公開鍵をブロックチェーンBから取り出すために用いられる情報であり、サービス公開鍵と1対1に対応している。サービス識別子は記憶装置3に格納され、記憶装置3からサービス秘密鍵を取り出すための情報としても用いられる。
【0052】
<押印管理システムSで実行される押印管理方法の処理フロー>
続いて、図2から図9を参照しながら、押印管理システムSで実行される押印管理方法の処理フローを説明する。
【0053】
(押印作業)
図5は、第1の実施の形態に係る押印管理システムSにおいて実行される押印処理の流れを説明するためのシーケンス図である。以下、図5を参照して第1の実施の形態に係る押印処理の流れを説明する。
【0054】
利用者端末2の通信部21は、通信制御部220の制御の下、押印管理装置1から押印サービスを受けるための要押印データを送信する(S2)。以下、本明細書において、通信部21が押印管理装置1に対して情報を送信したり、押印管理装置1から情報を受信したりする場合、通信制御部220の制御の下に通信が行われることを前提として、単に「通信部21が送信(受信)する。」等と記載する。
【0055】
押印管理装置1の通信部11は、通信制御部1200の制御の下、利用者端末2から送信された要押印データを受信する(S4)。この意味で、通信部11は、要押印データの受信部として機能する。以下、本明細書において、通信部11が利用者端末2等に対して情報を送信したり、利用者端末2から情報を受信したりする場合、通信制御部1200の制御の下に通信が行われることを前提として、単に「通信部11が送信(受信)する。」等と記載する。
【0056】
鍵ペア生成部1201は、通信部11が要押印データを受信することを契機として、要押印データに押印するための押印秘密鍵と、押印の検証に用いる押印公開鍵とを含む押印鍵ペアを作業メモリに生成する(S6)。ブロックチェーン操作部1202は、鍵ペア生成部1201が生成した押印公開鍵をブロックチェーンBに登録する(S8)。ブロックチェーンBは、ブロックチェーンBから押印公開鍵を取得するための押印識別子を生成する(S10)。
【0057】
ブロックチェーン操作部1202は、押印識別子をブロックチェーンBから取得する(S12)。押印実行部1203は、要押印データ及び押印識別子を含むファイルに押印秘密鍵の署名を付すことにより、押印済みファイルを生成する(S14)。具体例としては、押印実行部1203は、押印秘密鍵を用いて、要押印データ、押印識別子、及び画像データである押印データを含むファイルの署名を生成する。通信部11は、押印識別子を利用者端末2に送信する(S16)。
【0058】
利用者端末2は、押印管理装置1から取得した押印識別子を記憶部20に格納する(S18)。鍵消去部1204は、押印秘密鍵と押印公開鍵とを復元不能な態様で作業メモリから消去する(S20)。これにより、押印管理装置1を含めて何人も押印済みファイルに含まれる署名を生成することはできなくなる。
【0059】
なお、押印管理装置1のログ生成部1210は、鍵消去部1204が押印秘密鍵と押印公開鍵とを作業メモリから消去したことを示すログファイルを、そのログファイルの生成日時とともに生成してもよい。これにより、押印公開鍵がブロックチェーンBにのみ格納され、押印秘密鍵は存在しない状態になったという事実を日時とともに事後的に確認することができるようになる。
【0060】
(押印サービスの登録)
図6は、第1の実施の形態に係る押印管理システムSにおいて実行される押印サービス登録処理の流れを説明するためのシーケンス図である。図5に示す押印作業によって、押印管理装置1は、唯一無二の署名を含む押印済みファイルを生成することができる。一方で、その押印済みファイルが、押印管理装置1が提供する押印サービスによって生成されたことを証明できれば、押印済みファイルの出所確認がより確かなものとなる。そこで、第1の実施の形態に係る押印管理システムSは、押印済みファイルに押印管理装置1の署名を付す押印サービスの登録も実施する。以下、図6を参照して第1の実施の形態に係る押印登録の流れを説明する。
【0061】
利用者端末2の通信部21は、押印サービスの登録申請を押印管理装置1に送信する(S22)。押印管理装置1の通信部11は、利用者端末2から押印サービスの登録申請を受信する(S24)。
【0062】
鍵ペア生成部1201は、通信部11が登録申請を受信することを契機として、押印サービスを利用して押印した押印済みデータに署名するためのサービス秘密鍵と、署名の検証に用いるサービス公開鍵とを含むサービス鍵ペアを生成する(S26)。ブロックチェーン操作部1202は鍵ペア生成部1201が生成したサービス公開鍵をブロックチェーンBに登録するとともに、ブロックチェーンBからサービス公開鍵を取得するためのサービス識別子を生成する(S28)。ブロックチェーン操作部1202は、サービス識別子をブロックチェーンBから取得する(S30)。
【0063】
記憶装置操作部1205は、サービス秘密鍵とサービス識別子とを記憶装置3に格納する(S32)。ここで、記憶装置3は、押印管理装置1のみがアクセス可能なセキュアなデータベースである。記憶装置3は、押印管理装置1から取得したサービス秘密鍵とサービス識別子とを保持する(S34)。
【0064】
署名部1206は、押印済みファイルとサービス識別子とを含むデータにサービス秘密鍵を用いて署名を付すことにより、署名付押印ファイルを生成する(S36)。記憶装置操作部1205は、署名付押印ファイルを押印識別子と関連付けて記憶装置3に格納する(S38)。記憶装置3は、署名付押印ファイルを押印識別子と関連付けて保持する(S40)。これにより、押印管理装置1は、自身の署名を付した押印済みファイルを生成できる。
【0065】
ここで、要押印データは、付加情報として押印した者の個人情報や契約内容等を、第三者に秘匿した状態で要押印データとともに保管できると便利である。そこで、暗号化部1209は、サービス秘密鍵を用いて要押印データとは異なる他の秘匿対象とするデータを暗号化して暗号化データを生成してもよい。この場合、署名部1206は、押印済みファイルと暗号化データとサービス識別子とを含むファイルにサービス秘密鍵を用いて署名を付したデータを、署名付押印ファイルとして生成すればよい。
【0066】
上述したように、RSA暗号においては、他の秘匿対象とするデータを、秘密鍵を用いる復号アルゴリズムで処理することにより、データを「暗号化」することができる。このデータは、公開鍵を用いる暗号化アルゴリズムで処理することにより、元のデータに「復号」することができる。暗号化部1209が秘匿対象とするデータをサービス秘密鍵を用いて暗号化することにより、データを安全に保管することができる。
【0067】
(押印データの取得)
図7は、第1の実施の形態に係る押印管理システムSにおいて実行される押印データ取得処理の流れを説明するためのシーケンス図である。以下、図7を参照して第1の実施の形態に係る押印発行の流れを説明する。
【0068】
利用者端末2の通信部21は、押印管理装置1に押印識別子を送信する(S42)。押印管理装置1の通信部11は、利用者端末2から押印識別子を受信する(S44)。
【0069】
記憶装置操作部1205は、通信部11が受信した押印識別子を用いて記憶装置3から署名付押印ファイルを取得する(S46)。通信部11は、署名付押印ファイルを利用者端末2に送信する(S48)。利用者端末2の通信部21は、押印管理装置1から署名付押印ファイルを受信する(S50)。このように、利用者端末2は、押印識別子を押印管理装置1に示すことで、いつでも署名付押印ファイルを取得することができる。記憶装置3が署名付押印ファイルを保管することにより、利用者端末2が署名付押印ファイルを管理する手間を省くことができる。
【0070】
(押印の監査)
図8は、第1の実施の形態に係る押印管理システムSにおいて実行される押印の監査処理の流れを説明するためのシーケンス図である。以下、図8を参照して第1の実施の形態に係る押印データの監査の流れを説明する。
【0071】
押印データの監査を実行する主体は、利用者Uが利用する利用者端末2であってもよいが、利用者Uとは異なる監査者が利用する監査者端末4であってもよい。監査者端末4は、押印管理装置1の押印サービスを利用する端末という意味において利用者端末2と同じであり、その機能構成も図3に示す利用者端末2の機能構成と同様である。図8は、押印データの監査を実行する主体が監査者端末4である場合の例を示している。この場合、監査者端末4は、あらかじめ利用者端末2から押印識別子を取得している。
【0072】
押印サービスの監査を行う監査者が利用する監査者端末4の通信部21は、押印識別子を押印管理装置1に送信する(S52)。押印管理装置1の通信部11は、監査者端末4から押印識別子を受信する(S54)。ブロックチェーン操作部1202は、押印識別子を用いてブロックチェーンBから押印公開鍵を取得する(S56)。
【0073】
記憶装置操作部1205は、押印識別子を用いてブロックチェーンBから署名付押印ファイルを取得する(S58)。署名検証部1207は、押印公開鍵を用いて署名付押印ファイルの中に含まれる押印秘密鍵の署名を検証する(S60)。レポート生成部1208は、署名検証部1207による検証の結果を示すレポートを生成する(S62)。
【0074】
記憶装置操作部1205は、署名付押印ファイルに含まれるサービス識別子を用いて記憶装置3からサービス秘密鍵を取得する(S64)。署名部1206は、サービス秘密鍵を用いて、レポート生成部1208が生成したレポートに署名を付した署名付監査レポートを生成する(S66)。通信部11は、署名付監査レポートを監査者端末4に送信する(S68)。
【0075】
監査者端末4は、押印管理装置1から押印管理装置1の署名付監査レポートを受信する(S70)。これにより、監査者端末4は、押印管理装置1によって署名付押印ファイルの署名の検証がなされたことが保証される監査レポートを取得することができる。監査者は、監査レポートの内容から押印の正当性を確認することができる。
【0076】
(監査レポートの検証)
図9は、第1の実施の形態に係る押印管理システムSにおいて実行される監査レポートの検証処理の流れを説明するためのシーケンス図である。以下、図9を参照して第1の実施の形態に係る監査レポートの検証の流れを説明する。
【0077】
監査者端末4の通信部21は、押印識別子を押印管理装置1に送信する(S72)。押印管理装置1の通信部11は、監査者端末4から押印識別子を受信する(S74)。
【0078】
記憶装置操作部1205は、押印識別子を用いて記憶装置3から署名付押印ファイルを取得する(S76)。ブロックチェーン操作部1202は、署名付押印ファイルに含まれるサービス識別子を用いてブロックチェーンからサービス公開鍵を取得する(S78)。通信部11は、ブロックチェーン操作部1202が取得したサービス公開鍵を監査者端末4に送信する(S80)。
【0079】
監査者端末4の通信部21は、押印管理装置1からサービス公開鍵を受信する(S82)。検証部221は、受信したサービス公開鍵を用いて、署名付監査レポートに付された署名の正当性を検証する(S84)。これにより、監査者端末4は、押印管理装置1が監査レポートに署名を付したか否かを検証することができる。
【0080】
<第1の実施の形態に係る押印管理システムSの利用シーン>
第1の実施の形態に係る押印管理システムSの利用シーンの一例を説明する。
【0081】
第1の実施の形態に係る押印管理システムSは、一例として、電子的な領収書の管理等に用いられる。この場合、押印管理装置1の利用者Uは、要押印データとして領収書のデジタルデータを利用者端末2を用いて押印管理装置1に送信する。押印管理装置1は、領収書のデジタルデータに押印した後、押印に用いた押印秘密鍵を消去する。これにより、要押印データである領収書は改ざんが困難なデータとなるので、押印管理装置1は、領収書の出所の正当性を保証することができる。このように、押印管理装置1は、電子的なデータに押印することによってそのデータの出所を保証しつつ、かつ、その押印の安全性を高めることができる。
【0082】
<第1の実施の形態に係る押印管理システムSが奏する効果>
以上説明したように、第1の実施の形態に係る押印管理システムSによれば、出所確認のための電子的な押印の安全性を高めることができる。
【0083】
<第2の実施の形態>
第1の実施の形態に係る押印管理システムSにおいては、押印管理装置1が押印秘密鍵を用いて要押印データに署名をする場合について説明した。これに対し、第2の実施の形態に係る押印管理システムSにおいては、要押印データに対して押印管理装置1が押印秘密鍵で署名することに加えて、利用者端末2も、利用者端末2の秘密鍵を用いて要押印データに署名する点で、少なくとも第1の実施の形態に係る押印管理システムSと相違する。
【0084】
以下、第2の実施の形態に係る押印管理システムSを図面を参照しながら説明するが、第1の実施の形態に係る押印管理システムSと重複する箇所は、適宜省略又は簡略化して説明する。なお、第2の実施の形態に係る押印管理システムSにおいては、押印管理装置1と利用者端末2との間の通信経路は暗号化された安全な通信経路であることを前提としている。
【0085】
図10は、第2の実施の形態に係る押印管理システムSの全体構成の概要を模式的に示す図である。以下、図10を参照しながら、第2の実施の形態に係る押印管理システムSで実行される処理及びデータの流れの概要を(1)から(12)の順で説明するが、その番号は図10における(1)から(12)と対応する。
【0086】
図10に示すように、第2の実施の形態に係る押印管理システムSは、押印管理装置1、利用者端末2、及び記憶装置3を含んでいる。
【0087】
(1)利用者端末2は、押印サービスの利用対象とする要押印データのハッシュ値を生成する。要押印データはデジタルデータであり、利用者端末2のユーザであるユーザUが、要押印データのハッシュ値の生成の日時においてそのデータが存在していたことが保証されることを望むデータである。要押印データの一例としては、例えば遺言書のデジタルデータや契約書、音源や設計図、デジタルアート等が挙げられる。利用者端末2は、例えば既知のSHA-256(Secure Hash Algorithm 256-bit)等の既知のハッシュ関数を利用してハッシュ値を生成する。
【0088】
(2)利用者端末2は、要押印データのハッシュ値を含む検証情報を生成する。検証情報は少なくとも要押印データのハッシュ値を含む情報であり、その他にハッシュ値の生成日時や要押印データのサイズ等の付加情報を含んでもよい。
【0089】
一般に、ハッシュ値とそのハッシュ値を算出する元となった要押印データとは一対一の関係にある。要押印データが少しでも改変されると、改変後の押印データから生成されるハッシュ値は、改変前の押印データから生成したハッシュ値とは大きく異なる値となる。したがって、要押印データのハッシュ値を安全に保管しておくことで、要押印データがそのハッシュ値の生成後に改変されたか否かの検出に利用することができる。
【0090】
(3)利用者端末2は、検証情報に署名するための利用者押印秘密鍵と、利用者押印秘密鍵に対応する利用者公開鍵とを利用者端末2の作業メモリに生成する。
(4)利用者端末2は、利用者押印秘密鍵を用いて、検証情報に署名した署名付き検証情報を生成する。
(5)利用者端末2は、署名付き検証情報と利用者公開鍵とを押印管理装置1に送信する。利用者端末2が押印管理装置1に送信する署名付き検証情報には、要押印データそのものは含まれない。
【0091】
(6)利用者端末2は、検証情報の署名に用いた利用者押印秘密鍵を作業メモリから安全に消去する。
これにより、署名付き検証情報に付された署名は、その署名を付した利用者端末2をもってしても再度付すことは現実的に不可能となる。これにより、署名付き検証情報と同一のデータが生成されることがないこと、すなわち、署名付き検証情報は利用者端末2によって生成された唯一無二のデータであることを実質的に保証できる。
【0092】
(7)押印管理装置1は、利用者端末2から、署名付き検証情報と利用者公開鍵とを受信する。
(8)押印管理装置1は、署名付き検証情報に押印するための押印秘密鍵と、押印の検証に用いる押印公開鍵とを、押印管理装置1の作業メモリに生成する。
【0093】
(9)押印管理装置1は、押印公開鍵と利用者公開鍵とを押印識別子と紐づけて記憶装置3に格納する。ここで、押印識別子は、押印公開鍵及び利用者公開鍵と1対1に対応し、押印サービス毎に一意に紐づけられる情報となる。また、記憶装置3は、情報を安全に格納できればどのような装置でもよく、必ずしもブロックチェーンでなくてもよい。
【0094】
(10)押印管理装置1は、利用者端末2から受信した署名付き検証情報に押印秘密鍵の署名を付すことにより、押印済み検証情報を生成する。
(11)押印管理装置1は、押印済み検証情報と押印識別子とを利用者端末2に送信する。
(12)押印管理装置1は、押印秘密鍵を作業メモリから安全に消去する。なお、利用者端末2は、押印管理装置1から押印済み検証情報と押印識別子とを受信すること、すなわち、押印済み検証情報を取得するための一連の処理が完了することを条件として、利用者押印秘密鍵を安全に消去してもよい。これにより、利用者端末2は、万が一何らかの理由によって押印済み検証情報生成処理が失敗しても、同じ利用者押印秘密鍵を用いて処理をやり直すことができる。
【0095】
これにより、押印済み検証情報に付された署名は、その署名を付した押印管理装置1をもってしても再度付すことは現実的に不可能となる。これにより、押印済み検証情報と同一のデータが生成されることがないこと、すなわち、押印済み検証情報は押印管理装置1によって生成された唯一無二のデータであることを実質的に保証できる。
【0096】
例えば、利用者端末2が故意又は過失によって利用者押印秘密鍵を消去しなかったために事後的に要押印データに署名を付すことができたとしても、利用者端末2は押印秘密鍵を入手することはできないため、押印済み検証情報を生成することはできない。また、第三者が押印管理装置1に不正侵入しても押印秘密鍵が消去後であれば第三者は押印秘密鍵を入手できないため、押印済み検証情報を生成できない。万が一第三者が何らかの手段によって押印秘密鍵の入手に成功したとしても、第三者は利用者押印秘密鍵も同時に入手しない限り、押印済み検証情報を生成できない。
【0097】
このように、第2の実施の形態に係る押印管理システムSにおいては、押印管理装置1と利用者端末2とで相互に押印し合うことにより、情報の改ざんの困難性を高めることができる。
【0098】
図11は、第2の実施の形態に係る押印管理装置1の機能構成の概要を模式的に示す図である。また、図12は、第2の実施の形態に係る利用者端末2の機能構成の概要を模式的に示す図である。押印管理装置1は、記憶部10、通信部11、及び制御部12を備える。また、利用者端末2は、記憶部20、通信部21、及び制御部22を備える。
【0099】
制御部12は、押印管理装置1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって、通信制御部1200、押印実行部1203、鍵消去部1204、記憶装置操作部1205、暗号化部1209、鍵生成部1211、及び、検証部1212として機能する。また、制御部22は、利用者端末2のCPUやGPU等のプロセッサであり、記憶部20に記憶されたプログラムを実行することによって、通信制御部220、鍵生成部222、データ生成部223、暗号化部224、鍵消去部225、ハッシュ値生成部226、及び署名付与部227として機能する。
【0100】
以下、図13から図16を参照しながら、押印管理システムSで実行される押印管理方法の処理フローを説明する。
【0101】
(要押印データの生成)
図13は、第2の実施の形態に係る利用者端末2が実行する要押印データの生成処理の一例を説明するためのフローチャートである。図13は、要押印データがアーカイブするための保存用ファイルであることを前提としているが、要押印データがアーカイブ対象のデータに限定されないことは、当業者であれば理解できることである。
【0102】
鍵生成部222は、アーカイブするための保存用ファイルを暗号化するための第1共通鍵を作業メモリに生成する(S100)。第1共通鍵は、暗号化と復号とに用いる鍵が共通である暗号方式に用いられる鍵であり、鍵生成部222は、例えば既知のAES(Advanced Encryption Standard)の共通鍵を生成する。
【0103】
また、鍵生成部222は、利用者押印秘密鍵と、利用者押印秘密鍵に対応する利用者公開鍵とを作業メモリに生成する(S102)。
【0104】
データ生成部223は、保存用ファイルを第1共通鍵で暗号化して得られたデータを要押印データとして生成する(S104)。なお、データ生成部223は、保存用ファイルの暗号化と同時に圧縮を実行してもよい。これにより、データ生成部223は、保存用ファイルのファイルサイズが大きい場合に、要押印データのファイルサイズを小さくすることができる。
【0105】
暗号化部224は、利用者押印秘密鍵を用いて第1共通鍵を暗号化して暗号化第1共通鍵を生成する(S106)。鍵消去部225は、第1共通鍵を作業メモリから安全に消去する(S108)。これにより、第1共通鍵を取得するための手段は、暗号化第1共通鍵を復号する他になくなる。また、暗号化第1共通鍵を復号するための唯一の鍵は利用者公開鍵となる。
【0106】
(相互押印処理)
図14は、第2の実施の形態に係る押印管理システムSで実行される相互押印処理の流れを説明するためのシーケンス図である。
【0107】
利用者端末2のハッシュ値生成部226は、押印サービスの利用対象とする要押印データのハッシュ値を生成する(S110)。利用者端末2の署名付与部227は、利用者押印秘密鍵を用いて、ハッシュ値を含む検証情報に署名することで署名付き検証情報を生成する(S112)。
【0108】
利用者端末2の通信部21は、署名付き検証情報と利用者公開鍵とを押印管理装置1に送信する(S114)。利用者端末2の鍵消去部225は、利用者押印秘密鍵を利用者端末2の作業メモリから安全に消去する(S116)。
【0109】
ここで、利用者端末2の鍵消去部225は、署名付き検証情報の生成に用いたハッシュ値及び利用者公開鍵も、作業メモリから暗算に消去してもよい。これにより、利用者端末2は、利用者端末2からハッシュ値及び利用者公開鍵が流出することを抑制できる。
【0110】
押印管理装置1の通信部11は、利用者端末2から、署名付き検証情報と利用者公開鍵とを受信する(S118)。押印管理装置1の鍵生成部1211は、署名付き検証情報に押印するための押印秘密鍵と、押印の検証に用いる押印公開鍵とを押印管理装置1の作業メモリに生成する(S120)。
【0111】
押印管理装置1の記憶装置操作部1205は、押印公開鍵と利用者公開鍵とを押印識別子と紐づけて記憶装置3に格納する(S122)。押印管理装置1の押印実行部1203は、署名付き検証情報に押印秘密鍵の署名を付すことにより、押印済み検証情報を生成する(S124)。
【0112】
押印管理装置1の通信部11は、押印済み検証情報と押印識別子とを利用者端末2に送信する(S126)。押印管理装置1の鍵消去部1204は、押印秘密鍵を押印管理装置1の作業メモリから安全に消去する(S128)。
【0113】
利用者端末2の通信部21は、押印管理装置1から、押印済み検証情報と押印識別子とを受信する(S130)。これにより、利用者端末2は、利用者端末2と押印管理装置1とのそれぞれの秘密鍵を用いて相互に押印し合うことにより生成された押印済み検証情報を取得することができる。
【0114】
(押印の検証処理)
図15は、第2の実施の形態に係る押印管理装置1が実行する押印の検証処理の流れを説明するためのフローチャートである。
【0115】
押印管理装置1の通信部11は、利用者端末2から押印識別子と押印済み検証情報と検証対象となる要押印データのハッシュ値とを受信する(S132)。押印管理装置1の記憶装置操作部1205は、押印識別子を用いて記憶装置3から押印公開鍵と利用者公開鍵とを取得する(S134)。
【0116】
押印管理装置1の検証部1212は、押印公開鍵を用いて押印済み検証情報に含まれる押印秘密鍵の署名を検証する第1検証ステップを実行する(S136)。第1検証ステップの検証が成功した場合(S138のYes)、押印管理装置1の検証部1212は、利用者公開鍵を用いて押印済み検証情報に含まれる利用者押印秘密鍵の署名を検証する第2検証ステップを実行する(S140)。
【0117】
第2検証ステップの検証が成功した場合(S142のYes)、押印管理装置1の検証部1212は、押印済みファイルに含まれる要押印データのハッシュ値と、検証対象となる要押印データのハッシュ値とが一致することを検証する第3検証ステップを実行する(S144)。
【0118】
第3検証ステップの検証が成功した場合(S146のYes)、すなわち、第1検証ステップ、第2検証ステップ、及び第3検証ステップそれぞれにおける検証が成功することを条件として、押印管理装置1の通信部11は、利用者公開鍵を利用者端末に送信する(S148)。
【0119】
押印管理装置1の通信部11は、利用者公開鍵を利用者端末に送信するか、検証部1212が1検証ステップ、第2検証ステップ、及び第3検証ステップの少なくとも一つの検証に失敗する(S138のNo、S142のNo、又はS146のNo)と、本フローチャートにおける処理は終了する。
【0120】
このように、第2の実施の形態医係る押印管理システムSにおいては、押印サービスを提供する押印管理装置1が、押印済み検証情報に付された押印管理装置1及び利用者端末2それぞれの押印と、押印済み検証情報に含まれるハッシュ値の正当性とを検証する。押印管理装置1の公開鍵である押印公開鍵を利用者端末2に送信する必要がないため、これらの検証を利用者端末2が実行する場合と比較して安全性がより向上する点で有利である。
【0121】
(押印管理装置1が実施する暗号化処理)
押印管理装置1は、利用者端末2に押印済み検証情報以外の情報を送信する場合もあり得る。この情報が秘匿すべき情報である場合、押印管理装置1は、それらの情報を暗号化して利用者端末2に送信する。また、例えば、押印管理装置1が押印管理機能を実現するためのプログラムやファームウェアの更新情報を利用者端末2に送信する場合等は、それらの情報は数メガバイトからギガバイトのオーダーのファイルサイズともなり得る。そのような場合、押印管理装置1は、既知の暗号化及び圧縮技術を用いて、ファイルを圧縮する。
【0122】
図16は、第2の実施の形態に係る押印管理装置1が実行する暗号化処理の流れを説明するためのフローチャートである。
【0123】
押印管理装置1の鍵生成部1211は、利用者端末2の鍵生成部222が生成した第1共通鍵とは異なる共通鍵である第2共通鍵を、押印管理装置1の作業メモリに生成する(S150)。押印管理装置1の暗号化部1209は、押印済み検証情報を含む情報を第2共通鍵で暗号化する(S152)。このとき、暗号化部1209は、例えば既知のZIP圧縮技術等の技術を用いて、押印済み検証情報を含む情報を暗号化すると同時に圧縮してもよい。
【0124】
押印管理装置1の暗号化部1209は、押印秘密鍵を用いて第2共通鍵を暗号化して暗号化第2共通鍵を生成する(S154)。押印管理装置1の通信部11は、暗号化した押印済み検証情報を含む情報と暗号化第2共通鍵と押印識別子とを利用者端末に送信する(S156)。
【0125】
押印管理装置1の鍵消去部1204は、第2共通鍵を押印管理装置1の作業メモリから安全に消去する(S158)。
【0126】
<第2実施の形態に係る押印管理システムSの利用シーン>
第2の実施の形態に係る押印管理システムSの利用シーンの一例を説明する。
【0127】
第2の実施の形態に係る押印管理システムSは、一例として、電子的な書類のアーカイバとして用いられる。この場合、押印管理装置1の利用者Uは、要押印データとしてアーカイブするための保存用ファイルのハッシュ値、又は保存用ファイルを共通鍵で暗号化したファイルのハッシュ値を用意する。利用者Uは、利用者Uが用いる利用者端末2の秘密鍵である利用者押印秘密鍵を用いてハッシュ値に署名を付し、利用者公開鍵とともに押印管理装置1に送信する。利用者端末2は、署名の添付に用いた利用者押印秘密鍵を利用者端末2から安全に消去する。
【0128】
押印管理装置1は、押印管理装置1の秘密鍵である押印秘密鍵を用いて利用者端末2から受信した署名付きハッシュ値、すなわち上述した署名付き検証情報にさらに署名を付すことにより、上述した押印済み検証情報を生成する。その後、押印管理装置1は、押印秘密鍵を安全に消去する。これにより、利用者端末2と押印管理装置1とで相互に署名を付された情報は改ざんが非常に困難なデータとなる。なぜなら、情報の改ざんを試みる者は、利用者端末2の秘密鍵である利用者押印秘密鍵と、押印管理装置1の秘密鍵である押印秘密鍵との二つの秘密鍵による署名を改ざんを望む情報に付す必要があるからである。
【0129】
また、第2の実施の形態に係る押印管理システムSは、いわば電子的な書類の日付確定を保証するものと捉えることもできる。すなわち、押印管理装置1は、アーカイブの対象の保存用ファイルそのものを保管するわけではなく、あくまでもその保存用ファイルが特定の日付にたしかに存在したことを保証するものである。つまり、押印管理装置1は、保存用ファイルに由来するハッシュ値に付された署名の正当性を検証するための公開鍵を保管する。保存用ファイルは例え圧縮されたとしてもデータサイズが数ギガバイトにもなり得るのに対し、公開鍵自体のデータサイズは高々数キロビットである。このため、押印管理装置1は、保存用ファイルそのものを保管する場合と比較して、多数のデータの確定日付を保証することができる。
【0130】
<第2実施の形態に係る押印管理システムSが奏する効果>
以上説明したように、第2の実施の形態に係る押印管理システムSによれば、出所確認のための電子的な押印の安全性を高めることができる。
【0131】
<第2実施の形態に係る押印管理システムSの変形例>
上記では、押印管理装置1が押印済み検証情報を検証する場合について説明した。これに代えて、あるいはこれに加えて、利用者端末2が検証処理を実行してもよい。この場合、利用者端末2は、図示しない検証部を含んでいる。以下、第2実施の形態の変形例に係る押印管理システムSについて説明する。
【0132】
まず、利用者端末2の通信部21は、検証の対象とするデータの押印識別子を押印管理装置1に送信する。押印管理装置1の通信部11は、利用者端末2から押印識別子を受信する。
【0133】
押印管理装置1の記憶装置操作部1205は、押印識別子を用いて記憶装置3から押印公開鍵と利用者公開鍵とを取得する。押印管理装置1の通信部11は、押印公開鍵と利用者公開鍵とを利用者端末2に送信する。
【0134】
利用者端末2の通信部21は、押印管理装置1から押印公開鍵と利用者公開鍵とを受信する。利用者端末2の暗号化部224は、押印公開鍵を用いて暗号化第2共通鍵を復号して第2共通鍵を取得する。続いて、暗号化部224は、第2共通鍵を用いて、暗号化された押印済み検証情報を含む情報を復号し、押印済み検証情報を取得する。
【0135】
利用者端末2の検証部(不図示)は、押印公開鍵を用いて押印済み検証情報に含まれる押印秘密鍵の署名を検証する。又、利用者端末2の検証部は、利用者公開鍵を用いて押印済みファイルに含まれる利用者押印秘密鍵の署名を検証する。さらに、利用者端末2の検証部は、押印済み検証情報に含まれるハッシュ値と、検証対象となる要押印データのハッシュ値とを比較して、検証対象となる要押印データの正当性を検証する。
【0136】
利用者端末2の暗号化部224は、利用者公開鍵を用いて暗号化第1共通鍵を復号して第1共通鍵を取得する。さらに、暗号化部224は、正当性が検証された要押印データを第1共通鍵で復号して保存用ファイルを取得する。これにより、利用者端末2は、正当性が検証された保存用ファイルの平文を生成することができる。
【0137】
以上、本発明を第1の実施の形態及び第2の実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【符号の説明】
【0138】
1・・・押印管理装置
10・・・記憶部
11・・・通信部
12・・・制御部
1200・・・通信制御部
1201・・・鍵ペア生成部
1202・・・ブロックチェーン操作部
1203・・・押印実行部
1204・・・鍵消去部
1205・・・記憶装置操作部
1206・・・署名部
1207・・・署名検証部
1208・・・レポート生成部
1209・・・暗号化部
1210・・・ログ生成部
1211・・・鍵生成部
1212・・・検証部
2・・・利用者端末
20・・・記憶部
21・・・通信部
22・・・制御部
220・・・通信制御部
221・・・検証部
222・・・鍵生成部
223・・・データ生成部
224・・・暗号化部
225・・・鍵消去部
226・・・ハッシュ値生成部
227・・・署名付与部
3・・・記憶装置
4・・・監査者端末
B・・・ブロックチェーン
N・・・ネットワーク
S・・・押印管理システム
【要約】
電子的な押印サービスを管理する押印管理装置1が、押印サービスの利用者の利用者端末2から、押印サービスの利用対象とする要押印データを受信するステップと、要押印データを受信することを契機として、要押印データに押印するための押印秘密鍵と、押印の検証に用いる押印公開鍵とを作業メモリに生成するステップと、押印公開鍵をブロックチェーンに登録するステップと、ブロックチェーンに登録された押印公開鍵を取得するための識別子である押印識別子をブロックチェーンから取得するステップと、要押印データ及び押印識別子を含むファイルに押印秘密鍵の署名を付すことにより、押印済みファイルを生成するステップと、押印秘密鍵と押印公開鍵とを、作業メモリから消去するステップと、押印識別子を利用者端末2に送信するステップと、を実行する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16