(57)【特許請求の範囲】
【請求項１】
ユーザの電子文書に付与する電子署名を生成する署名生成装置であって、
前記電子文書を取得する文書取得部と、
取得された前記電子文書に対する署名の作成指示を取得する指示取得部と、
前記ユーザの本人確認状況のレベルを確認レベルとして取得する確認レベル取得部と、
署名時刻を示す時刻情報と前記ユーザを識別する識別情報とを含むコード化された電子署名を生成するとともに、取得された確認レベルに応じて、コードの色を変化させる署名生成部と、
生成された電子署名を前記電子文書に視認可能に付与する付与部と、
を備える署名生成装置。
【請求項２】
前記署名生成部は、取得された作成指示に基づいて、ユニークな文字情報を生成するとともに、生成された文字情報を署名情報として含む前記電子署名を生成する請求項１に記載の署名生成装置。
【請求項３】
前記電子文書のハッシュ値を算出する算出部と、
前記時刻情報及び前記ハッシュ値について、前記電子文書を管理する管理ファイルに保持する保持部と、
をさらに備え、
管理ファイルにおいて、前記電子文書に付与された時刻情報及び電子文書のハッシュ値を示す管理ファイルを識別する識別子を含む電子署名を生成する請求項１又は２に記載の署名生成装置。
【請求項４】
前記ユーザの情報をユーザ情報として取得するユーザ情報取得部をさらに備え、
前記署名生成部は、取得された前記ユーザ情報を含む電子署名を生成する請求項３に記載の署名生成装置。
【請求項５】
前記付与部は、取得された前記ユーザ情報に含まれる前記ユーザの名前を電子署名に併記する請求項４に記載の署名生成装置。
【請求項６】
前記保持部は、前記管理ファイルを外部ネットワークに保持する請求項３に記載の署名生成装置。
【請求項７】
請求項３から６のいずれかに記載された署名生成装置によって生成された電子署名から電子文書を認証する認証装置であって、
前記電子署名に基づいて、前記管理ファイルに保持される前記時刻情報及び前記ハッシュ値を取得する保持情報取得部と、
前記電子署名を含む前記電子文書のハッシュ値を算出するハッシュ値算出部と、
取得された前記ハッシュ値と算出された前記ハッシュ値との整合性を確認する整合性確認部と、
確認した結果を出力する結果出力部と、
備える認証装置。
【請求項８】
ユーザの電子文書に付与する電子署名を生成する署名生成装置としてコンピュータを動作させるプログラムであって、
前記コンピュータを、
前記電子文書を取得する文書取得部、
取得された前記電子文書に対する署名の作成指示を取得する指示取得部、
前記ユーザの本人確認状況のレベルを確認レベルとして取得する確認レベル取得部、
署名時刻を示す時刻情報と前記ユーザを識別する識別情報とを含むコード化された電子署名を生成するとともに、取得された確認レベルに応じて、コードの色を変化させる署名生成部、
生成された電子署名を前記電子文書に視認可能に付与する付与部、
として機能させるプログラム。
【請求項９】
請求項３から６のいずれかに記載された署名生成装置によって生成された電子署名から電子文書を認証する認証装置としてコンピュータを動作させるプログラムであって、
前記コンピュータを、
前記電子署名に基づいて、前記管理ファイルに保持される前記時刻情報及び前記ハッシュ値を取得する保持情報取得部、
前記電子署名を含む前記電子文書のハッシュ値を算出するハッシュ値算出部、
取得された前記ハッシュ値と算出された前記ハッシュ値との整合性を確認する整合性確認部、
確認した結果を出力する結果出力部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、署名装置、認証装置、及びプログラムに関する。
【背景技術】
【０００２】
紙の契約書を用いるのに代えて、デジタルデータを用いる試みがなされている。デジタルデータでは、改変が無いことを証明することを目的として、電子署名を用いることが知られている。例えば、署名対象データに電子署名を行う電子署名システムが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０６７８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
引用文献１の電子署名システムでは、電子署名に含まれるデジタルデータのハッシュ値と、閲覧時におけるデジタルデータのハッシュ値とを比較する。比較の結果、ハッシュ値の値が異なる場合に、デジタルデータが改変されたと判断する。これにより、デジタルデータの改変を検出することができる。【０００５】
一方、引用文献１の電子署名システムでは、秘密鍵を用いて電子署名をするため、秘密鍵を管理する必要がある。そのため、秘密鍵を適切に管理する必要がある。また、電子署名は、通常不可視であるため、電子署名が用いられているのか否かを直感的に判断することができなかった。また、電子文書がブラウザ等を用いて開かれた場合には、電子署名を確認することができなかった。そして、電子署名を解読するためには、電子文書の送信者側（作成者側）の公開鍵を所持する必要がある。しかしながら、公開鍵を要求しなければ、公開鍵を得ることは難しかった。【０００６】
本発明は、上記従来の実状に鑑みてなされたものであり、電子署名を容易に扱うことが可能な署名生成装置、認証装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ユーザの電子文書に付与する電子署名を生成する署名生成装置であって、前記電子文書を取得する文書取得部と、取得された前記電子文書に対する署名の作成指示を取得する指示取得部と、署名時刻を示す時刻情報と前記ユーザを識別する識別情報とを含むコード化された電子署名を生成する署名生成部と、生成された電子署名を前記電子文書に視認可能に付与する付与部と、を備える署名生成装置に関する。【０００８】
また、前記署名生成部は、取得された作成指示に基づいて、ユニークな文字情報を生成するとともに、生成された文字情報を署名情報として含む前記電子署名を生成するのが好ましい。【０００９】
また、署名生成装置は、前記電子文書のハッシュ値を算出する算出部と、前記時刻情報及び前記ハッシュ値について、前記電子文書を管理する管理ファイルに保持する保持部と、をさらに備え、管理ファイルにおいて、前記電子文書に付与された時刻情報及び電子文書のハッシュ値を示す管理ファイルを識別する識別子を含む電子署名を生成するのが好ましい。【００１０】
また、署名生成装置は、前記ユーザの情報をユーザ情報として取得するユーザ情報取得部をさらに備え、前記署名生成部は、取得された前記ユーザ情報を含む電子署名を生成するのが好ましい。【００１１】
また、前記付与部は、取得された前記ユーザ情報に含まれる前記ユーザの名前を電子署名に併記するのが好ましい。【００１２】
また、署名生成装置は、前記ユーザの本人確認状況のレベルを確認レベルとして取得する確認レベル取得部をさらに備え、前記署名生成部は、取得された確認レベルに応じて、コードの色を変化させるのが好ましい。【００１３】
また、前記保持部は、前記管理ファイルを外部ネットワークに保持するのが好ましい。【００１４】
また、本発明は、上記署名生成装置によって生成された電子署名から電子文書を認証する認証装置であって、前記電子署名に基づいて、前記管理ファイルに保持される前記時刻情報及び前記ハッシュ値を取得する保持情報取得部と、前記電子署名を含む前記電子文書のハッシュ値を算出するハッシュ値算出部と、取得された前記ハッシュ値と算出された前記ハッシュ値との整合性を確認する整合性確認部と、確認した結果を出力する結果出力部と、備える認証装置に関する。【００１５】
また、本発明は、ユーザの電子文書に付与する電子署名を生成する署名生成装置としてコンピュータを動作させるプログラムであって、前記コンピュータを、前記電子文書を取得する文書取得部、取得された前記電子文書に対する署名の作成指示を取得する指示取得部、署名時刻を示す時刻情報と前記ユーザを識別する識別情報とを含むコード化された電子署名を生成する署名生成部、生成された電子署名を前記電子文書に視認可能に付与する付与部、として機能させるプログラムに関する。【００１６】
また、上記署名生成装置によって生成された電子署名から電子文書を認証する認証装置としてコンピュータを動作させるプログラムであって、前記コンピュータを、前記電子署名に基づいて、前記管理ファイルに保持される前記時刻情報及び前記ハッシュ値を取得する保持情報取得部、前記電子署名を含む前記電子文書のハッシュ値を算出するハッシュ値算出部、取得された前記ハッシュ値と算出された前記ハッシュ値との整合性を確認する整合性確認部、確認した結果を出力する結果出力部、として機能させるプログラムに関する。
【発明の効果】
【００１７】
本発明は、上記従来の実状に鑑みてなされたものであり、電子文書を容易に扱うことが可能な署名生成装置、認証装置、及びプログラムを提供することを目的とする。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態に係る署名生成装置を用いた電子署名システムの概要を示す概略図である。
【図２】本発明の第１実施形態に係る署名生成装置によって生成された電子署名を付した電子文書を示す概略図である。
【図３】第１実施形態の署名生成装置の構成を示すブロック図である。
【図４】本発明の第２実施形態に係る署名生成装置の構成を示すブロック図である。
【図５】第２実施形態の署名生成装置における電子文書の修正をする際の動作の流れを示すフローチャートである。
【図６】本発明の第３実施形態に係る認証装置を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、本発明の各実施形態に係る署名生成装置１、認証装置１００、及びプログラムについて、図１から図６を参照して説明する。
まず、各実施形態の署名生成装置１の概要について説明する。
【００２０】
署名生成装置１は、ユーザ（例えば、法人等）の契約書等の電子文書Ｄに対して、電子署名Ｓを生成する装置である。すなわち、署名生成装置１は、ユーザの電子文書Ｄに付与する電子署名Ｓを生成する装置である。署名生成装置１は、例えば、電子署名Ｓを電子文書Ｄに視認可能に付与することで、電子文書Ｄへの同意を示した電子文書Ｄを作成する。以下の実施形態では、署名生成装置１は、秘密鍵を用いずに電子署名Ｓを作成することにより、秘密鍵の漏洩を抑制して容易に電子文書Ｄの証明をすることができる。
【００２１】
なお、以下の実施形態において、「電子文書」とは、契約書、見積書、申込書、注文書、納品書、請求書、領収書、送り状、議事録、稟議書、申請書等のうち、電子的に作成された文章をいう。また、「電子署名」とは、紙の契約書等に押印をする行為を電子文書Ｄに対して電子的に実施する処理をいう。
【００２２】
また、署名生成装置１は、確定ファイルとされた電子文書Ｄを更新することにより、電子文書Ｄの修正を可能とする。これにより、署名生成装置１は、電子文書Ｄの改変を抑制する一方、電子文書Ｄの修正については反映可能とする。したがって、署名生成装置１は、改変と修正とを区別して、修正については容易に反映可能とする。署名生成装置１は、電子署名Ｓ、署名時刻、及びハッシュ値を組み合わせて用いることにより、電子文書Ｄの正当性は担保しつつ、修正を可能とするものである。
【００２３】
署名生成装置１は、図１に示すように、外部ネットワークＮに接続される。署名生成装置１は、電子署名Ｓを付与した電子文書Ｄの管理ファイルを作成する。署名生成装置１は、作成した電子文書Ｄの管理ファイルを外部ネットワークＮに保持する。署名生成装置１は、例えば、管理ファイルをブロックチェーンに保持する。電子文書Ｄについて、保存された管理ファイルと電子文書Ｄに書き込まれた電子署名Ｓとの同一性を確認することにより、電子文書Ｄの改ざんが無いことを確認することができる。
【００２４】
特に、以下の各実施形態に係る署名生成装置１は、図２に示すように、電子文書Ｄに対して視認可能な電子署名Ｓを付与する。署名生成装置１は、例えば、２名のユーザ（契約者）それぞれに対応した電子署名Ｓを視認可能に付与する。署名生成装置１は、例えば、電子文書Ｄに、ＱＲコード（登録商標）として示される電子署名Ｓを付与する。
【００２５】
［第１実施形態］
次に、本発明の第１実施形態に係る署名生成装置１及びプログラムについて、図１から図３を参照して説明する。第１実施形態に係る署名生成装置１は、電子文書Ｄに対して電子署名Ｓ及び署名時刻を書き込む署名生成装置１について説明される。
署名生成装置１は、図３に示すように、文書取得部１１と、指示取得部１２と、ユーザ情報取得部１３と、署名生成部１４と、付与部１５と、算出部１６と、保持部１７と、電子文書出力部１８と、を備える。
【００２６】
文書取得部１１は、例えば、ＣＰＵが動作することにより実現される。文書取得部１１は、電子文書Ｄを取得する。文書取得部１１は、例えば、契約書等の電子データを電子文書Ｄとして取得する。文書取得部１１は、例えば、電子文書Ｄとして、紙のデータをスキャンしたデータ、ブラウザ又はアプリケーションを用いて作成されたデータ等を取得する。
【００２７】
指示取得部１２は、例えば、ＣＰＵが動作することにより実現される。指示取得部１２は、署名対象となる、取得された電子文書Ｄに対する署名の作成指示を取得する。指示取得部１２は、例えば、契約対象となるユーザから電子署名Ｓの作成指示を取得する。
【００２８】
ユーザ情報取得部１３は、例えば、ＣＰＵが動作することにより実現される。ユーザ情報取得部１３は、ユーザの情報をユーザ情報として取得する。また、本実施形態において、ユーザ情報取得部１３は、予め発行されるユーザのユーザＩＤとユーザ名とを取得する。ここで、ユーザ情報取得部１３は、ユーザ情報として、契約者（利用者）同士のユーザＩＤ及びユーザ名を取得する。また、本実施形態において、ユーザ情報取得部１３は、２法人のユーザのそれぞれから、電子署名Ｓを生成する際に、ユーザ情報を取得する。
【００２９】
署名生成部１４は、例えば、ＣＰＵが動作することにより実現される。署名生成部１４は、署名時刻を示す時刻情報とユーザを識別する識別情報とを含むコード化された電子署名Ｓを生成する。署名生成部１４は、例えば、時刻情報及びユーザ情報（ユーザＩＤ）を含むＱＲコードを生成する。また、署名生成部１４は、取得された作成指示に基づいて、ユニークな文字情報を生成するとともに、電子署名Ｓに、生成された文字情報を署名情報として含む電子署名Ｓを生成する。これにより、署名生成部１４は、電子署名Ｓの生成ごとに異なる文字情報を生成する。
【００３０】
また、署名生成部１４は、電子文書Ｄに付与された時刻情報及び電子文書Ｄのハッシュ値を示す管理ファイルを識別する識別子を含む電子署名Ｓを生成する。署名生成部１４は、例えば、管理ファイルの保持されている場所を示すアドレス（ＵＲＬ）を含む電子署名Ｓを生成する。
【００３１】
付与部１５は、例えば、ＣＰＵが動作することにより実現される。付与部１５は、生成された電子署名Ｓを電子文書Ｄに視認可能に付与する。付与部１５は、例えば、図２に示すように、電子文書Ｄに記載されているユーザの情報である法人名及び代表者の氏名に対して、並べて表示される位置に作成された電子署名Ｓを付与する。付与部１５は、例えば、電子文書Ｄのうち、記載されているユーザの情報に対応する電子署名Ｓであることがわかる位置に、電子署名Ｓを記載する。本実施形態において、付与部１５は、取得されたユーザ情報に含まれるユーザの名前を電子署名Ｓに併記する。付与部１５は、例えば、図２に示すように、対応するユーザの電子署名Ｓ（ＱＲコード）に対して、電子文書Ｄの表示面下方にユーザ名を併記する。また、付与部１５は、全てのユーザに対する電子署名Ｓの付与の後に、電子文書Ｄに対してタイムスタンプを付与する。
【００３２】
算出部１６は、例えば、ＣＰＵが動作することにより実現される。算出部１６は、電子文書Ｄのハッシュ値を算出する。算出部１６は、例えば、全てのユーザに電子署名Ｓを付与した後の電子文書Ｄについて、ハッシュ値を算出する。
【００３３】
保持部１７は、例えば、ＣＰＵが動作することにより実現される。保持部１７は、署名情報及び時刻情報について、電子文書Ｄを管理する管理ファイルとして保持する。保持部１７は、例えば、ユーザＩＤ、ユーザ名、署名情報、署名の日時、及び電子文書Ｄのハッシュ値について、電子文書Ｄとは別の管理ファイルとして保持する。具体的には、保持部１７は、契約者それぞれのユーザＩＤ及びユーザ名、署名情報、署名の日時、並びに電子文書Ｄのハッシュ値について、電子文書Ｄとは別の管理ファイルとして保存する。保持部１７は、外部ネットワークＮに、管理ファイルを保持する。本実施形態において、保持部１７は、ブロックチェーンに管理ファイルを保持する。保持部１７は、例えば、識別子によって示されるアドレスの位置に管理ファイルを保持する。
【００３４】
電子文書出力部１８は、例えば、ＣＰＵが動作することにより実現される。電子文書出力部１８は、書き込まれた署名情報及び時刻情報を含む電子文書Ｄを出力する。電子文書出力部１８は、例えば、ディスプレイ等の表示装置（図示せず）に、署名情報及び時刻情報を含む電子文書Ｄを出力する。また、電子文書出力部１８は、所定の記憶装置に、電子署名Ｓの付与された電子文書Ｄを格納する。
【００３５】
次に、署名生成装置１の動作について説明する。
まず、文書取得部１１は、電子文書Ｄを取得する。次いで、ユーザ情報取得部１３は、ユーザ情報を取得する。次いで、指示取得部１２は、電子署名Ｓの作成指示を取得する。
【００３６】
次いで、署名生成部１４は、電子署名Ｓを生成する。次いで、付与部１５は、電子署名Ｓ及び署名時刻を電子文書Ｄに書き込む。そして、保持部１７は、契約者それぞれのユーザＩＤ及びユーザ名、署名情報、署名の日時、並びに電子文書Ｄのハッシュ値について、電子文書Ｄとは別の管理ファイルとして保存する。
【００３７】
次に、プログラムについて説明する。
署名生成装置１に含まれる各構成は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００３８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、表示プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００３９】
以上、本実施形態に係る署名生成装置１及びプログラムによれば、以下の効果を奏する。
（１）ユーザの電子文書Ｄに付与する電子署名Ｓを生成する署名生成装置１であって、電子文書Ｄを取得する文書取得部１１と、取得された電子文書Ｄに対する署名の作成指示を取得する指示取得部１２と、署名時刻を示す時刻情報とユーザを識別する識別情報とを含むコード化された電子署名Ｓを生成する署名生成部１４と、生成された電子署名Ｓを電子文書Ｄに視認可能に付与する付与部１５と、を備える。
また、ユーザの電子文書Ｄに付与する電子署名Ｓを生成する署名生成装置１としてコンピュータを動作させるプログラムであって、コンピュータを、電子文書Ｄを取得する文書取得部１１、取得された電子文書Ｄに対する署名の作成指示を取得する指示取得部１２、署名時刻を示す時刻情報とユーザを識別する識別情報とを含むコード化された電子署名Ｓを生成する署名生成部１４、生成された電子署名Ｓを電子文書Ｄに視認可能に付与する付与部１５、として機能させる。
これにより、電子署名Ｓを視認可能に電子文書Ｄに付与することができる。したがって、電子文書Ｄに電子署名Ｓが付与されていることを容易に識別することができる。また、電子署名Ｓをコード化することで、電子署名Ｓに含まれる各種情報を容易に取り出すことができるようになる。したがって、電子署名Ｓを容易に扱うことが可能となる。
【００４０】
（３）署名生成装置１は、電子文書Ｄのハッシュ値を算出する算出部１６と、時刻情報及びハッシュ値について、電子文書Ｄを管理する管理ファイルに保持する保持部１７と、をさらに備え、管理ファイルにおいて、電子文書Ｄに付与された時刻情報及び電子文書Ｄのハッシュ値を示す管理ファイルを識別する識別子を含む電子署名Ｓを生成する。これにより、電子署名Ｓから管理ファイルを識別することができるので、管理ファイルの検索を容易にすることができる。また、電子文書Ｄと管理ファイルとの対比を容易にすることができる。したがって、電子文書Ｄの改ざんの有無を容易に確認することができる。
【００４１】
（４）署名生成装置１は、ユーザの情報をユーザ情報として取得するユーザ情報取得部１３をさらに備え、署名生成部１４は、取得されたユーザ情報を含む電子署名Ｓを生成する。これにより、ユーザごとに電子文書Ｄを管理することができる。
【００４２】
（５）付与部１５は、取得されたユーザ情報に含まれるユーザの名前を電子署名Ｓに併記する。これにより、コード化された電子署名Ｓについて、いずれのユーザの電子署名Ｓかを明確にすることができる。また、コード化された電子署名Ｓに併記されることで、コードを印影のように扱うことができるので、紙への印鑑の捺印のような視覚的な効果を得ることができる。
【００４３】
（６）保持部１７は、管理ファイルを外部ネットワークＮに保持する。これにより、署名生成装置１が保持する場合に比べ、管理ファイルが喪失されることを抑制できる。したがって、電子文書Ｄと管理ファイルとの照合が不能になることを抑制できる。
【００４４】
［第２実施形態］
次に、本発明の第２実施形態に係る署名生成装置１及びプログラムについて、図４及び図５を参照して説明する。第２実施形態の説明にあたって、前述の実施形態と同一の構成要件については同一符号を付し、その説明を省略もしくは簡略化する。第２実施形態に係る署名生成装置１及びプログラムは、既に署名情報及びタイムスタンプを発行した電子文書Ｄを修正可能とするものである。
第２実施形態の署名生成装置１は、図４に示すように、修正部１９をさらに備える点で、第１実施形態と異なる。また、第２実施形態の署名生成装置１は、文書取得部１１、指示取得部１２、署名生成部１４、付与部１５、算出部１６、及び保持部１７の構成が第１実施形態と異なる。
【００４５】
文書取得部１１は、修正版の電子文書Ｄを取得する。
指示取得部１２は、修正対象となるオリジナルの電子文書Ｄを識別する情報を識別情報として取得する。また、指示取得部１２は、識別情報で識別される電子文書Ｄについて、修正版の電子文書Ｄで修正する指示を取得する。
【００４６】
署名生成部１４は、修正版の電子文書Ｄに対して、新たな電子署名Ｓを作成する。署名生成部１４は、例えば、新たなユニークな文書情報を含む電子署名Ｓを作成する。
【００４７】
修正部１９は、例えば、ＣＰＵが動作することにより実現される。修正部１９は、電子文書Ｄの内容を修正する。修正部１９は、修正版の電子文書Ｄに基づいて、識別された電子文書Ｄを修正する。修正部１９は、例えば、管理ファイルに保持されているユーザＩＤ、ユーザ名、電子署名Ｓ、及び署名の日時によって修正対象の電子文書Ｄを識別する。
【００４８】
付与部１５は、修正後の電子文書Ｄに対して、新たに生成された電子署名Ｓを書き込む。また、付与部１５は、修正後の電子文書Ｄに対して、新たに生成された電子署名Ｓの署名時刻を示す時刻情報を書き込む。
【００４９】
算出部１６は、修正後の電子文書Ｄのハッシュ値を算出する。
保持部１７は、管理ファイルに、少なくとも算出されたハッシュ値を保持する。保持部１７は、例えば、ユーザＩＤ、ユーザ名、新たな署名情報、時刻情報、及びハッシュ値について、電子文書Ｄを管理する管理ファイルに保持する。保持部１７は、例えば、修正前の管理ファイルに紐づけて、修正後の管理ファイルを保持する。
【００５０】
次に、署名生成装置１の動作について図５を参照して説明する。
まず、図５に示すように、文書取得部１１が修正版の電子文書Ｄを取得したか否かが判断される（ステップＳ１）。文書取得部１１が修正版の電子文書Ｄを取得した場合（ステップＳ１  ＹＥＳ）、処理は、ステップＳ２に進む。一方、取得していない場合は（ステップＳ１  ＮＯ）、ステップＳ１を繰り返す。
【００５１】
ステップＳ２において、指示取得部１２は、修正指示を取得する。次いで、修正部１９は、電子文書Ｄを修正する（ステップＳ３）。次いで、付与部１５は、電子署名Ｓ及び署名時刻を電子文書Ｄに書き込む（ステップＳ４）。次いで、算出部１６は、修正された電子文書Ｄのハッシュ値を算出する（ステップＳ５）。次いで、保持部１７は、修正された電子文書Ｄに関するユーザＩＤ、ユーザ名、署名情報、署名時刻、及びハッシュ値を管理ファイルに保持する（ステップＳ６）。これにより、本フローによる処理は終了する。
【００５２】
以上、本実施形態に係る署名生成装置１及びプログラムによれば、以下の効果を奏する。
（７）署名生成装置１は、電子文書Ｄの内容を修正する修正部１９をさらに備え、文書取得部１１は、電子文書Ｄの修正内容を取得し、付与部１５は、修正後の電子文書Ｄに対して、署名情報と修正後の署名時刻を示す時刻情報とを修正後の電子文書Ｄに書き込み、算出部１６は、修正後の電子文書Ｄのハッシュ値を算出し、保持部１７は、管理ファイルに、少なくとも算出されたハッシュ値を保持する。これにより、算出されたハッシュ値と、修正後の電子文書Ｄとの同一性を担保することができる。したがって、修正があった後でも、改変の有無を判断可能にすることができる。
【００５３】
［第３実施形態］
次に、本発明の第３実施形態に係る認証装置１００及びプログラムについて、図６を参照して説明する。第３実施形態の説明にあたって、前述の実施形態と同一の構成要件については同一符号を付し、その説明を省略もしくは簡略化する。
【００５４】
第３実施形態に係る認証装置１００は、上記署名生成装置１によって生成された電子署名Ｓから電子文書Ｄを認証する装置である。認証装置１００は、例えば、図１に示すように、署名生成装置１とは異なる装置として構成される。認証装置１００は、例えば、撮像機能を有する携帯端末等である。認証装置１００は、撮像部１０１と、識別子認識部１０２と、保持情報取得部１０３と、ハッシュ値算出部１０４と、整合性確認部１０５と、結果出力部１０６と、を備える。
【００５５】
撮像部１０１は、いわゆるカメラを含む撮像機構である。撮像部１０１は、例えば、電子文書Ｄに付与されている電子署名Ｓを撮像する。撮像部１０１は、例えば、他の端末の表示部（図示せず）に表示されている電子文書Ｄに含まれる電子署名Ｓを撮像する。
【００５６】
識別子認識部１０２は、例えば、ＣＰＵが動作することにより実現される。識別子認識部１０２は、電子署名Ｓに含まれる管理ファイルを識別する識別子を認識する。識別子認識部１０２は、例えば、ＱＲコードに含まれる、管理ファイルの場所を示すアドレス（ＵＲＬ）を認識する。
【００５７】
保持情報取得部１０３は、例えば、ＣＰＵが動作することにより実現される。保持情報取得部１０３は、電子署名Ｓに基づいて、管理ファイルの保持されるハッシュ値を取得する。
【００５８】
ハッシュ値算出部１０４は、例えば、ＣＰＵが動作することにより実現される。ハッシュ値算出部１０４は、電子署名Ｓを含む電子文書Ｄのハッシュ値を算出する。
【００５９】
整合性確認部１０５は、例えば、ＣＰＵが動作することにより実現される。整合性確認部１０５は、取得されたハッシュ値と算出されたハッシュ値との整合性を確認する。
【００６０】
結果出力部１０６は、例えば、ＣＰＵが動作することにより実現される。結果出力部１０６は、確認した結果を出力する。
【００６１】
次に、認証装置１００の動作について説明する。
まず、撮像部１０１は、電子文書Ｄに付与されている電子署名Ｓを撮像する。次いで、識別子認識部１０２は、電子署名Ｓに含まれる識別子を認識する。次いで、保持情報取得部１０３は、認識された識別子に基づいて、管理ファイルから保持ファイルとして、電子文書Ｄのハッシュ値を取得する。
【００６２】
次いで、ハッシュ値算出部１０４は、電子署名Ｓを含む電子文書Ｄのハッシュ値を算出する。次いで、整合性確認部１０５は、取得されたハッシュ値と、算出されたハッシュ値とを比較する。整合性確認部１０５は、２つのハッシュ値が同じであるか否かを判断する。次いで、結果出力部１０６は、確認結果を出力する。結果出力部１０６は、例えば、２つのハッシュ値が同一であれば、改ざんなしを示す信号を出力する。一方、結果出力部１０６は、２つのハッシュ値が異なれば、改ざんありを示す信号を出力する。
【００６３】
次に、プログラムについて説明する。
認証装置１００に含まれる各構成は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００６４】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、表示プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６５】
以上、本実施形態に係る認証装置１００及びプログラムによれば、以下の効果を奏する。
（８）上記署名生成装置１によって生成された電子署名Ｓから電子文書Ｄを認証する認証装置１００であって、電子署名Ｓに基づいて、管理ファイルに保持される時刻情報及びハッシュ値を取得する保持情報取得部１０３と、電子署名Ｓを含む電子文書Ｄのハッシュ値を算出するハッシュ値算出部１０４と、取得されたハッシュ値と算出されたハッシュ値との整合性を確認する整合性確認部１０５と、確認した結果を出力する結果出力部１０６と、備える。
また、上記署名生成装置１によって生成された電子署名Ｓから電子文書Ｄを認証する認証装置１００としてコンピュータを動作させるプログラムであって、コンピュータを、電子署名Ｓに基づいて、管理ファイルに保持される時刻情報及びハッシュ値を取得する保持情報取得部１０３、電子署名Ｓを含む電子文書Ｄのハッシュ値を算出するハッシュ値算出部１０４、取得されたハッシュ値と算出されたハッシュ値との整合性を確認する整合性確認部１０５、確認した結果を出力する結果出力部１０６、として機能させる。
これにより、電子文書Ｄの改ざんの有無について、容易に確認することができる。
【００６６】
以上、本発明の署名生成装置、認証装置１００、及びプログラムの好ましい各実施形態につき説明したが、本開示は、上述の実施形態に制限されるものではなく、適宜変更が可能である。
【００６７】
例えば、上記実施形態において、署名生成装置１は、例えば、ユーザの本人確認状況のレベルを確認レベルとして取得する確認レベル取得部（図示せず）をさらに備えてもよい。署名生成装置１は、例えば、法人であるユーザの担当者の名前、住所、株主構成、顔写真等まで確認できている場合を高い確認レベル、及び登記簿謄本のみの確認にとどまる場合を低い確認レベルとして数段階に分けられた確認レベルをユーザごとに取得する。署名生成部１４は、取得された確認レベルに応じて、コードの色を変化させてもよい。署名生成部１４は、例えば、最も高い確認レベルの場合に赤いコードを作成してもよい。また、署名生成部１４は、最も低い確認レベルの場合に青いコードを作成してもよい。このように、コードの色を変更することにより、コードから各ユーザの本人確認レベルを確認することができる。したがって、より高い本人確認レベルを必要とする場合等に、その本人確認レベルを容易に確認することができる。
【００６８】
また、上記実施形態において、署名生成部１４は、ユニークな文字情報を生成するとしたが、これに制限されない。署名生成部１４は、契約書の修正を不可とする場合には、ユニークな文字情報を生成しないようにしてもよい。
【００６９】
また、上記実施形態において、電子文書出力部１８は、電子署名Ｓを付与した電子文書Ｄを紙で出力してもよい。また、保持部１７は、電子文書Ｄに含まれる契約の内容を管理ファイルに保持してもよい。これにより、認証時において、保持情報取得部１０３は、管理ファイルから契約内容を取得することができる。取得された契約内容と、電子文書Ｄの内容とが比較されることにより、改ざんの有無を判断することができる。
【００７０】
また、上記実施形態において、ユーザごとにそれぞれ別のタイミングで電子署名Ｓの指示をしてもよい。すなわち、署名生成部１４は、全てのユーザから指示を取得した時点で、電子署名Ｓイ及びタイムスタンプを作成してもよい。
【００７１】
また、上記実施形態において、修正版の電子文書Ｄによりオリジナルが修正される場合、過去の電子署名Ｓを電子文書Ｄにそのまま保持するようにしてもよい。また、保持部１７は、管理ファイルに過去の電子署名Ｓを保持するようにしてもよい。これにより、修正履歴を容易に確認することができる。
【００７２】
また、上記第１実施形態において、付与部１５は、例えば、複数のユーザ数に対して、それぞれのユーザからの署名指示に基づいて、それぞれのユーザの署名情報及び署名時刻を電子文書Ｄに書き込んでもよい。保持部１７は、全てのユーザからの署名指示に基づいて署名情報及び署名時刻の書き込みを実施した後に、管理ファイルに全てのユーザのユーザＩＤ、ユーザ名、署名情報、署名時刻、及びハッシュ値を保持するようにしてもよい。
【００７３】
また、上記実施形態において、付与部１５は、契約締結を確定して確定ファイルとするために、電子文書Ｄにタイムスタンプを押印してもよい。
【００７４】
また、上記第３実施形態において、ハッシュ値算出部１０４は、認証装置１００とは異なる端末で算出されたハッシュ値を取得するようにしてもよい。ハッシュ値算出部１０４は、例えば、電子文書Ｄを表示する他の端末によって算出される電子文書Ｄのハッシュ値を取得してもよい。また、認証装置１００は、認証する電子文書Ｄを取得してもよい。この場合、撮像部１０１に代えて、識別子認識部１０２が電子文書Ｄから電子署名Ｓの識別子を認識してもよい。
【００７５】
また、上記実施形態において、署名生成部１４は、図２に示すように、コード化された電子署名Ｓに重ねてユーザ名等を付与してもよい。
【符号の説明】
【００７６】
１  署名生成装置
１１  文書取得部
１２  指示取得部
１３  ユーザ情報取得部
１４  署名生成部
１５  付与部
１６  算出部
１７  保持部
１００  認証装置
１０３  保持情報取得部
１０４  ハッシュ値算出部
１０５  整合性確認部
１０６  結果出力部
Ｄ  電子文書
Ｎ  外部ネットワーク
Ｓ  電子署名
【要約】
電子文書を容易に扱うことが可能な署名生成装置、認証装置、及びプログラムを提供すること。
ユーザの電子文書Ｄに付与する電子署名Ｓを生成する署名生成装置１であって、電子文書Ｄを取得する文書取得部１１と、取得された電子文書Ｄに対する署名の作成指示を取得する指示取得部１２と、署名時刻を示す時刻情報とユーザを識別する識別情報とを含むコード化された電子署名Ｓを生成する署名生成部１４と、生成された電子署名Ｓを電子文書Ｄに視認可能に付与する付与部１５と、を備える。【図１】
0006960065.tif 000002
【図２】
0006960065.tif 000003
【図３】
0006960065.tif 000004
【図４】
0006960065.tif 000005
【図５】
0006960065.tif 000006
【図６】
0006960065.tif 000007