(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023165230
(43)【公開日】2023-11-15
(54)【発明の名称】署名システム、署名方法、およびプログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20231108BHJP
G06F 21/64 20130101ALI20231108BHJP
【FI】
H04L9/32 200B
H04L9/32 200E
G06F21/64
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022076037
(22)【出願日】2022-05-02
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.JAVASCRIPT
(71)【出願人】
【識別番号】397038266
【氏名又は名称】株式会社スカイコム
(74)【代理人】
【識別番号】100177220
【弁理士】
【氏名又は名称】小木 智彦
(72)【発明者】
【氏名】原田 知彰
(72)【発明者】
【氏名】斎藤 功
(72)【発明者】
【氏名】本田 昭一
(57)【要約】
【課題】電子文書をクライアント端末にダウンロードせずに、当該電子文書に当事者型電子署名をする。
【解決手段】サーバ10に保存されている電子文書にクライアント端末20からユーザが署名する署名システムであって、前記電子文書への署名指示に応じて、当該電子文書のハッシュ値を取得する取得部12と、取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、署名データを生成する署名生成部22と、生成した署名データを前記電子文書に埋め込み、当該電子文書に署名をする署名部13と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
サーバに保存されている電子文書にクライアント端末からユーザが署名する署名システムであって、
前記電子文書への署名指示に応じて、当該電子文書のハッシュ値を取得する取得部と、
取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、署名データを生成する署名生成部と、
生成した署名データを前記電子文書に埋め込み、当該電子文書に署名をする署名部と、
を備える署名システム。
【請求項2】
前記署名部が、前記署名データの前記署名値および前記証明書から取得したハッシュ値と、当該署名データを埋め込む電子文書のハッシュ値とが一致する場合に、前記電子文書に前記署名データを埋め込み、署名をする請求項1に記載の署名システム。
【請求項3】
前記電子文書に前記署名データを埋め込む場所を準備する準備部を備える請求項1に記載の署名システム。
【請求項4】
前記署名生成部が、前記署名値、前記証明書、およびタイムスタンプとに基づいて、前記署名データを生成する請求項1に記載の署名システム。
【請求項5】
前記電子文書が、PDFである請求項1に記載の署名システム。
【請求項6】
サーバに保存されている電子文書にクライアント端末からユーザが署名する署名システムが実行する方法であって、
前記電子文書への署名指示に応じて、当該電子文書のハッシュ値を取得するステップと、
取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、署名データを生成するステップと、
生成した署名データを前記電子文書に埋め込み、当該電子文書に署名をするステップと、
を含む方法。
【請求項7】
サーバに保存されている電子文書にクライアント端末からユーザが署名する署名システムを、
前記電子文書への署名指示に応じて、当該電子文書のハッシュ値を取得する取得部、
取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、署名データを生成する署名生成部、
生成した署名データを前記電子文書に埋め込み、当該電子文書に署名をする署名部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、署名システム、署名方法、およびプログラムに関する。
【背景技術】
【0002】
現在、主に使用されている電子署名には2つの方式がある。1つは、「当事者型電子署名」と呼ばれるもので、マイナンバーカードに格納されている公的個人認証サービス「署名用電子証明書」といった署名する当事者自身の電子証明書を用いて、クライアント端末にダウンロードした電子文書に署名する方式である。
【0003】
もう一つは、近年、利用が増えてきている、「事業者(立会人型)型電子署名」と呼ばれるものである。事業者(立会人型)型署名は、事業者の電子証明書を用いて、ユーザからの指示に応じて事業者が電子文書に署名する方式であって、特許文献1には、ユーザ端末、電子署名サーバ、認証局と、を備えた事業者署名型(立会人型)のシステムが開示されている。
【0004】
この特許文献1においては、認証局が秘密鍵、公開鍵の鍵ペアを生成する。そして、電子署名サーバは、認証局に対して公開鍵に基づく電子証明書の発行を要求する。認証局は、発行した電子証明書と秘密鍵とをPKCS#12と呼ばれるファイルとして電子署名サーバに供給し、電子署名サーバは、クライアント端末からの求めに応じて、電子証明書、秘密鍵を用いて、電子文書に電子署名をする。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、事業者型電子署名では、事業者がクライアントに代わり電子文書に電子署名をするので、クライアント端末に電子文書をダウンロードをしなくてよい。そのため、事業者型電子署名は、電子文書のダウンロードを許可しないセキュアなシステムに用いることができる。一方、当事者型電子署名では、クライアント端末で電子署名をするので、クライアント端末に電子文書をダウンロードしなければならない。そのため、電子文書のダウンロードを許可しないセキュアなシステムにおいて、電子文書に当事者型電子署名をすることはできなかった。
【0007】
そこで、本発明は、これらの課題に鑑み、電子文書をクライアント端末にダウンロードせずに、当該電子文書に当事者型電子署名をする署名システム、署名方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、サーバに保存されている電子文書にクライアント端末からユーザが署名する署名システムであって、前記電子文書への署名指示に応じて、当該電子文書のハッシュ値を取得する取得部と、取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、署名データを生成する署名生成部と、生成した署名データを前記電子文書に埋め込み、当該電子文書に署名をする署名部と、を備える署名システムを提供する。
【0009】
また、本発明は、前記署名部が、前記署名データの前記署名値および前記証明書から取得したハッシュ値と、当該署名データを埋め込む電子文書のハッシュ値とが一致する場合に、前記電子文書に前記署名データを埋め込み、署名をする署名システムを提供する。
【0010】
また、本発明は、前記電子文書に前記署名データを埋め込む場所を準備する準備部を備える署名システムを提供する。
【0011】
また、本発明は、前記署名生成部が、前記署名値、前記証明書、およびタイムスタンプとに基づいて、前記署名データを生成する署名システムを提供する。
【0012】
また、本発明は、前記電子文書が、PDFである署名システムを提供する。
【0013】
また、本発明は、サーバに保存されている電子文書にクライアント端末からユーザが署名する署名システムが実行する方法であって、前記電子文書への署名指示に応じて、当該電子文書のハッシュ値を取得するステップと、取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、署名データを生成するステップと、生成した署名データを前記電子文書に埋め込み、当該電子文書に署名をするステップと、を含む方法を提供する。
【0014】
また、本発明は、サーバに保存されている電子文書にクライアント端末からユーザが署名する署名システムを、前記電子文書への署名指示に応じて、当該電子文書のハッシュ値を取得する取得部、取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、署名データを生成する署名生成部、生成した署名データを前記電子文書に埋め込み、当該電子文書に署名をする署名部、として機能させるプログラムを提供する。
【発明の効果】
【0015】
本発明によれば電子文書をクライアント端末にダウンロードせずに、当該電子文書に当事者型電子署名をすることができる。
【図面の簡単な説明】
【0016】
【
図1】本発明の実施形態に係る署名システムの概要を説明する図である。
【
図2】本発明の第1実施形態に係る署名システムの機能構成を示す図である。
【
図3】
図3の(a)は、本発明の第1実施形態に係る署名対象領域を追加したPDFのデータ構造例、および
図3(b)は、本発明の第1実施形態に係る署名後のPDFのデータ構造例を示す図である。
【
図4】本発明の第1実施形態に係る署名システムが実行する署名処理フローを示す図である。
【
図5】本発明の第2実施形態に係る署名システムの機能構成を示す図である。
【
図6】本発明の第2実施形態に係る署名システムが実行する署名処理フローを示す図である。
【発明を実施するための形態】
【0017】
以下、添付図面を参照して、本発明を実施するための形態(以下、実施形態)について詳細に説明する。以降の図においては、実施形態の説明の全体を通して同じ要素には同じ番号または符号を付している。
【0018】
[基本概念/基本構成]
図1は、本発明の実施形態に係る署名システム1の概要を説明するための図である。署名システム1は、サーバにある電子文書に当事者型署名をするシステムである。言い換えると、署名システム1は、サーバにある電子文書をダウンロードすることなく、当該電子文書にクライアント端末のユーザの電子証明書で署名をするシステムである。
【0019】
署名システム1は、サーバ10とクライアント端末20とを含み、サーバ10とクライアント端末20とはネットワークを介して接続される。サーバ10は、電子文書を保管し、電子文書への署名指示に応じて当該電子文書に署名を行う。サーバ10は、オンプレミスでもクラウドサーバであってもよいが、本実施形態ではクラウドサーバとする。
【0020】
クライアント端末20は、サーバ10の電子文書に署名するユーザの端末であって、署名に必要な当該ユーザの電子証明書情報の取得や管理をする。クライアント端末20は、例えば、スマートフォン、タブレット端末、パーソナルコンピュータ等で構成される。本実施形態においては1台しか表示しないが、複数台であってもよい。
【0021】
サーバ10は、まず、クライアント端末20に表示されている電子文書(以下、対象電子文書ともいう)への署名指示を受け付ける(S1)。署名指示は、クライアント端末20がサーバ10にしてもよいし、サーバ10からの要求に応じてクライアント端末20がサーバ10にしてもよい。サーバ10は、署名指示を受け付けると、対象電子文書のハッシュ値を取得し(S2)、取得したハッシュ値をクライアント端末20に送信する(S3)。
【0022】
クライアント端末20は、サーバ10から受信したハッシュ値をユーザの電子証明書情報に含まれる秘密鍵で暗号化した署名値、および当該電子証明書情報に含まれる電子証明書に基づいて、署名データを生成する(S4)。クライアント端末20は、S4で生成した署名データをサーバ10に送信する(S5)。なお、クライアント端末20が、署名値および電子証明書をサーバ10に送信し、サーバ10が、署名値および電子証明書に基づいて署名データを生成してもよい。
【0023】
サーバ10は、クライアント端末20から受信した署名データの署名値と電子証明書とを用いて取得したハッシュ値と、署名データを埋め込もうとしている対象電子文書のハッシュ値とが一致するか否かを判定する(S6)。ハッシュ値が、一致する場合にはS7に処理を進め、一方、一致しない場合には処理を終了する。なお、ハッシュ値が一致するか否かを判定することで、署名データの改ざんを検知できるが、S6は実行されなくてもよい。
【0024】
サーバ10は、署名データを対象電子文書に埋め込み、当該対象電子文書に署名する(S7)。サーバ10は、署名が完了した旨の通知をクライアント端末20に送信する(S8)。
【0025】
このような署名システムによれば、クライアント端末に表示されている電子文書について、当該電子文書のハッシュ値をクライアント端末のユーザの秘密鍵で暗号化された署名値および当該ユーザの電子証明書に基づいて生成された署名データで、サーバが電子文書に署名することができる。それにより、サーバにある電子文書をクライアント端末にダウンロードせずに、当該電子文書に当事者型電子署名をすることができる。
【0026】
[署名システムの機能構成]
図2は、本発明の第1実施形態に係る署名システム1の機能構成を示す図である。署名システム1は、サーバ10と、サーバ10にネットワークを介して接続されたクライアント端末20と、を備える。
【0027】
[サーバの機能構成]
サーバ10は、クライアント端末10とデータの送受信を行う送受信部11と、取得部12と、署名部13と、電子文書を記憶する記憶部14と、を備える。
【0028】
取得部12は、対象電子文書への署名指示を受け付けると、対象電子文書のハッシュ値を取得し、クライアント端末20に送受信部11を介して、取得した対象電子文書のハッシュ値を送信する。詳細には、取得部12は、準備部121と、算出部122と、を備える。
【0029】
準備部121は、対象電子文書への署名指示をクライアント端末20から受け付ける。本実施形態において、対象電子文書への署名指示はクライアント端末20がする。例えば、クライアント端末20で電子文書が表示されている際に、クライアント端末20へのユーザの操作に応じて、サーバ10に予め用意されているWebAPIが起動することで、クライアント端末20がサーバ10に署名指示をし、準備部121が当該署名指示を受け付ける。
【0030】
そして、準備部121は、対象電子文書の署名準備を行う。詳細には、準備部121は、対象電子文書に署名データを埋め込む署名対象領域を追加する。電子文書がPDF(Portable Document Format)である場合を例に、
図3(a)を用いて、準備部121が対象電子文書に準備する署名対象領域について説明する。
図3(a)に、署名対象領域を追加したPDFのデータ構造例を示す。準備部121は、図に示すように、PDF310の最後(%%EOF)に、署名対象領域である署名辞書320を追加する。署名辞書320には、署名データを埋め込む部分321が含まれる
【0031】
算出部122は、対象電子文書からハッシュ値を算出する。詳細には、算出部122は、署名対象領域追加された対象電子文書のうち署名対象データ、すなわち、署名対象領域が追加された対象電子文書から署名データを埋め込む部分を除いた部分のハッシュ値を、対象電子文書のハッシュ値として算出する。そして、算出部122は、算出した対象電子文書のハッシュ値を、送受信部11を介して、クライアント端末20に送信する。
【0032】
図3(a)を用いて、算出部122がハッシュ値を算出する署名対象データを示す。
図3(a)に示すように、署名対象データ331は、PDF310のデータと、署名データを埋め込む部分321を除いた署名辞書320のデータである。
【0033】
署名部13は、クライアント端末20から署名データを受信すると、署名データの署名値と電子証明書とを用いて取得したハッシュ値と、署名部13が署名を埋め込もうとしている対象電子文書のハッシュ値とが一致するか否かを判定する。署名データの署名値と電子証明書とを用いて取得したハッシュ値は、詳細には、署名データの署名値を電子証明書で復号して取得され、署名指示がされた対象電子文書から算出され、サーバ10からクライアント端末20に送信されたハッシュ値である。一方、署名を埋め込もうとしている対象電子文書のハッシュ値は、クライアント端末20から署名データを受信したことに応じて、署名を埋め込もうとしている対象電子文書から算出したハッシュ値である。
【0034】
ハッシュ値が一致する場合、署名部13が署名を埋め込もうとしている対象電子文書に、取得した署名データを埋め込む。一方、ハッシュ値が一致しない場合、署名部13が署名を埋め込もうとしている対象電子文書に、取得した署名データを埋め込まず、処理を終了する。ハッシュ値が一致することで、署名指示がされた対象電子文書と署名部13が署名を埋め込もうとしている対象電子文書とが同一であり、署名データが改ざんされていないことを確認して、署名を行うことができる。一方、ハッシュ値が一致しないと、署名データが改ざんされているので、署名を行わない。
【0035】
図3(b)を用いて、署名部13が署名データを埋め込んだ対象電子文書について説明する。
図3(b)には、署名後のPDFのデータ構造例を示す。署名部13は、図に示すように、
図3(a)に示した、対象電子文書の署名データを埋め込む部分321に、クライアント端末20から受信した署名データを埋め込み、
図3(b)に示す署名後のPDFとなる。
【0036】
署名部13は、署名対象領域が追加された対象電子文書に署名データを埋め込み、署名が完了すると、署名が完了した旨の通知をクライアント端末20に送信する。また、署名部13は、署名が完了した電子文書を記憶部14に記憶する。
【0037】
[クライアント端末の機能構成]
クライアント端末20は、サーバ10とデータの送受信を行う送受信部21と、署名生成部22と、を備える。
【0038】
署名生成部22は、サーバ10から送受信部21を介して受信したハッシュ値とユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの電子証明書に基づいて、署名データを生成する。詳細には、署名生成部22は、証明書情報取得部221と、署名値生成部222と、署名データ生成部223と、を備える。
【0039】
証明書情報取得部221は、クライアント端末20のユーザの電子証明書情報、すなわち、当該ユーザの電子証明書および当該電子証明書とセットになっている秘密鍵を取得する。ここで、電子証明書は、公的な個人証明書であって、例えば、マイナンバーカードに格納される電子証明書、セコムパスポートfor G‐IDである。電子証明書および秘密鍵は、記憶媒体に格納されている場合にはカードリーダやUSBを介して記憶媒体から取得し、予めクライアント端末20の記憶部(図示せず)に記憶されている場合には記憶部から取得する。
【0040】
署名値生成部222は、証明書情報取得部221で取得した秘密鍵で、サーバ10から受信したハッシュ値を暗号化し、署名値を生成する。
【0041】
署名データ生成部223は、証明書情報取得部221で取得した電子証明書、および署名値生成部222で生成した署名値に基づいて、署名データを生成する。署名データは例えば、PKCS#7形式である。署名データ生成部223は、生成した署名データを送受信部21を介して、サーバ10に送信する。
【0042】
なお、署名データ生成部223は、署名データを、署名値および電子証明書と併せてタイムスタンプを用いて生成してもよい。署名データの生成にタイムスタンプを用いることで、電子文書への署名の有効期間を長期とすることができる。例えば、PDFの場合には、署名データの生成にタイムスタンプを用いることで、PAdES形式とすることができる。具体的には、署名値および電子証明書に基づいて生成された署名データで署名された電子文書の有効期間が通常1~3年であるのに対し、署名値、電子証明書、およびタイムスタンプに基づいて生成された署名データで署名された電子文書の有効期間は10年と長期になる。
【0043】
上記の本システムの機能構成は、あくまで一例であり、1つの機能ブロック(データベース及び機能処理部)を分割したり、複数の機能ブロックをまとめて1つの機能ブロックとして構成したりしてもよい。各機能処理部は、装置や端末に内蔵されたCPU(Central Processing Unit)が、ROM(Read Only Memory)、フラッシュメモリ、SSD(Solid State Drive)、ハードディスク等の記憶装置(記憶部)に格納されたコンピュータ・プログラム(例えば、基幹ソフトや上述の各種処理をCPUに実行させるアプリ等)を読み出し、CPUにより実行されたコンピュータ・プログラムによって実現される。すなわち、各機能処理部は、このコンピュータ・プログラムが、記憶装置に格納されたデータベース(DB;Data Base)やメモリ上の記憶領域からテーブル等の必要なデータを読み書きし、場合によっては、関連するハードウェア(例えば、入出力装置、表示装置、通信インターフェース装置)を制御することによって実現される。
【0044】
[処理フロー]
図4は、本発明の第1実施形態に係る署名システムが実行する署名処理フローを示す図である。署名処理フローは、サーバ10の処理として説明する。
【0045】
まず、取得部12は、対象電子文書への署名指示をクライアント端末20から受け付ける。(S11)。次に、取得部12の準備部121は、対象電子文書に署名準備を行う(S12)。次に、取得部12の算出部122は、S12で署名準備を行った対象電子文書のハッシュ値を算出し、クライアント端末20に送信する(S13)。
【0046】
次に、署名部13は、クライアント端末20で生成された署名データを受信し、受信した署名データの署名値と電子証明書とを用いて取得したハッシュ値と、署名データを埋め込もうとしている対象電子文書のハッシュ値とが一致するか否かを判定する(S15)。ハッシュ値が、一致する場合にはS16に処理を進め、一方、一致しない場合には処理を終了する。
【0047】
次に、署名部13は、S12で署名準備を行った対象電子文書に取得した署名データを埋め込む(S16)。そして、署名部13は、対象電子文書への署名が完了した旨の通知を送受信部11を介して、クライアント端末20に送信する(S17)。
【0048】
このような署名システムによれば、サーバが、クライアント端末に表示されている電子文書のハッシュ値をクライアント端末に送信することで、クライアント端末でユーザの署名データを生成できる。そして、サーバが、クライアント端末で生成された署名データで電子文書に署名することができる。それにより、サーバにある電子文書をクライアント端末にダウンロードせずに、当該電子文書に当事者型電子署名をすることができる。
【0049】
また、署名データの生成にタイムスタンプを用いることで、電子署名の有効期間を長期とすることができる。
【0050】
[第2実施形態]
図5から
図6を用いて、本発明の第2実施形態について説明する。第2実施形態の署名システム2は、署名指示がサーバからの要求で行われること、署名データ生成部がクライアント端末からサーバに備えられた他は、、第1実施形態と同様の形態をしている。よって、前述した第1実施形態と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
【0051】
図5は、本発明の第2実施形態に係る署名システム2の機能構成を示す図である。署名システム2は、サーバ100と、サーバ100にネットワークを介して接続されたクライアント端末200と、を備える。
【0052】
[サーバの機能構成]
サーバ100は、クライアント端末200とデータの送受信を行う送受信部11と、署名指示部115と、取得部12と、署名データ生成部116と、署名部13と、記憶部14と、を備える。
【0053】
署名指示部115は、対象電子文書への署名指示をクライアント端末100にさせるための、要求をクライアント端末200にする。署名指示部115は、クライアント端末200に、電子文書が表示されたことに応じて署名指示をクライアント端末100に要求してもよいし、予め署名が必要なことが設定されている電子文書が表示されたことに応じて署名指示をクライアント端末100に要求してもよい。
【0054】
詳細には、署名指示部115は、クライアント端末200に予めインストールされたプログラムを起動することで、当該プログラムに対象電子文書への署名指示のサーバ100への送信をさせる。ここで、クライアント端末200に予めインストールされたプログラムとは、署名指示部115からの要求に応じて、クライアント端末100からサーバ200に、対象電子文書への署名指示を送信するプログラムである。
【0055】
詳細には、署名指示部115には、予め、クライアント端末200との通信、またはURLスキームが設定される。そして、署名指示部115は、設定された通信またはURLスキームを用いて、クライアント端末200に予めインストールされたプログラムを起動する。また、署名指示部115は、クライアント端末200がWindows端末である場合には、対象電子文書に埋め込まれたJavaScriptを用いて、クライアント端末200に予めインストールされたプログラム、例えば.NET/COMモジュールを起動する。
【0056】
署名データ生成部116は、クライアント端末200から署名値および電子証明書を受信する。そして、署名データ生成部116は、クライアント端末200から受信した署名値および電子証明書に基づいて、署名データを生成する。署名データは例えば、PKCS#7形式である。
【0057】
署名データ生成部116は、署名データを、署名値および電子証明書と併せてクライアント端末200から取得したタイムスタンプを用いて生成してもよい。また、署名データ生成部116は、タイムスタンプを取得し、クライアント端末200から取得した署名値および電子証明書と取得したタイムスタンプに基づいて、署名データを生成してもよい。署名データの生成にタイムスタンプを用いることの効果は第1実施形態で述べた通りである。
【0058】
[クライアント端末の機能構成]
クライアント端末20は、送受信部21と、証明書情報取得部221と、署名値生成部224と、を備える。
【0059】
署名値生成部224は、証明書情報取得部221で取得した秘密鍵で、サーバ100から受信したハッシュ値を暗号化し、署名値を生成する。そして、署名値生成部224は、生成した署名値と、証明書情報取得部221で取得した電子証明書とを、サーバ100に送信する。また、署名値生成部224は、タイムスタンプを取得し、生成した署名値と、証明書情報取得部221で取得した電子証明書の情報と併せてサーバ100に送信してもよい。
【0060】
[処理フロー]
図6は、本発明の第2実施形態に係る署名システムが実行する署名処理フローを示す図である。署名処理フローは、サーバ10の処理として説明する。なお、前述した第1実施形態と同様の処理のステップには、同一の符号を付して、重複する説明を適宜省略する。
【0061】
署名指示部115は、対象電子文書への署名指示をクライアント端末100に要求する(S21)。署名データ生成部116は、クライアント端末200から署名値および電子証明書を受信する(S22)。そして、署名データ生成部116は、S22で受信した署名値および電子証明書に基づいて、署名データを生成する(S23)。署名部13は、S23で生成された署名データを、S12で署名準備を行った対象電子文書に埋め込む(S24)。
【0062】
なお、
図6に示す署名処理フローでは、署名データのハッシュ値と対象電子文書のハッシュ値とが一致するかを判定するS15は、署名データを生成するS23の処理の後に実施されるが、署名値および電子証明書を受信するS22の後に実施されてもよい。
【0063】
このような署名システムによれば、サーバで、クライアント端末のユーザの署名データを生成することができる。また、対象電子文書への署名指示をサーバから要求することができる。
【0064】
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことは言うまでもない。上記実施形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。なお、上記の実施形態では、本発明を物の発明として、署名システムについて説明したが、本発明において署名システムが実行する方法や、署名システムを各種手段として機能させるプログラムの発明と捉えることもできる。
【符号の説明】
【0065】
1,2 署名システム
10,100 サーバ
20,200 クライアント端末
11,21 送受信部
115 署名指示部
116,223 署名データ生成部
12 取得部
121 準備部
122 算出部
13 署名部
14 記憶部
22 署名生成部
221 証明書情報取得部
222 署名値生成部
【手続補正書】
【提出日】2022-11-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
電子文書を保存するサーバと、ユーザが署名するためのクライアント端末で構成される署名システムであって、
前記電子文書への署名指示に応じて、当該電子文書のハッシュ値と、証明書チェーンとを取得する取得部と、
署名データを前記電子文書に埋め込むことによって、当該電子文書に署名をする署名部と、
前記電子文書に前記署名データを埋め込む場所を準備する準備部と、
を前記サーバに備え、
取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、前記署名データを生成する署名生成部と、
を前記サーバまたは前記端末に備え、
前記準備部は、取得した前記証明書チェーンを解析し、当該解析結果に応じて、署名データサイズを減らす署名システム。
【請求項2】
前記署名部が、前記署名データの前記署名値および前記証明書から取得したハッシュ値と、当該署名データを埋め込む電子文書のハッシュ値とが一致する場合に、前記電子文書に前記署名データを埋め込み、署名をする請求項1に記載の署名システム。
【請求項3】
前記署名生成部が、前記署名値、前記証明書、およびPAdES形式に適合するタイムスタンプとに基づいて、前記署名データを生成する請求項1に記載の署名システム。
【請求項4】
前記電子文書が、PDFである請求項1に記載の署名システム。
【請求項5】
電子文書を保存するサーバと、ユーザが署名するためのクライアント端末で構成される署名システムが実行する方法であって、
前記電子文書への署名指示に応じて、当該電子文書のハッシュ値と、証明書チェーンとを取得するステップと、
署名データを前記電子文書に埋め込むことによって、当該電子文書に署名をするステップと、
前記電子文書に前記署名データを埋め込む場所を準備するステップと、
を前記サーバが実行し、
取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、前記署名データを生成するステップと、
を前記サーバまたは前記端末が実行し、
前記準備するステップは、取得した前記証明書チェーンを解析し、当該解析結果に応じて、署名データサイズを減らす方法。
【請求項6】
電子文書を保存するサーバと、ユーザが署名するためのクライアント端末で構成される署名システムを、
前記電子文書への署名指示に応じて、当該電子文書のハッシュ値と、証明書チェーンとを取得する取得部と、
署名データを前記電子文書に埋め込むことによって、当該電子文書に署名をする署名部と、
前記電子文書に前記署名データを埋め込む場所を準備する準備部と、
を前記サーバに備え、
取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、前記署名データを生成する署名生成部と、
を前記サーバまたは前記端末に備えて機能させ、
前記準備部は、取得した前記証明書チェーンを解析し、当該解析結果に応じて、署名データサイズを減らすプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
本発明は、電子文書を保存するサーバと、ユーザが署名するためのクライアント端末で構成される署名システムであって、前記電子文書への署名指示に応じて、当該電子文書のハッシュ値と、証明書チェーンとを取得する取得部と、署名データを前記電子文書に埋め込むことによって、当該電子文書に署名をする署名部と、前記電子文書に前記署名データを埋め込む場所を準備する準備部と、を前記サーバに備え、取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、前記署名データを生成する署名生成部と、を前記サーバまたは前記端末に備え、前記準備部は、取得した前記証明書チェーンを解析し、当該解析結果に応じて、署名データサイズを減らす署名システムを提供する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】削除
【補正の内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
また、本発明は、前記署名生成部が、前記署名値、前記証明書、およびPAdES形式に適合するタイムスタンプとに基づいて、前記署名データを生成する署名システムを提供する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正の内容】
【0013】
また、本発明は、電子文書を保存するサーバと、ユーザが署名するためのクライアント端末で構成される署名システムが実行する方法であって、前記電子文書への署名指示に応じて、当該電子文書のハッシュ値と、証明書チェーンとを取得するステップと、署名データを前記電子文書に埋め込むことによって、当該電子文書に署名をするステップと、前記電子文書に前記署名データを埋め込む場所を準備するステップと、を前記サーバが実行し、取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、前記署名データを生成するステップと、を前記サーバまたは前記端末が実行し、前記準備するステップは、取得した前記証明書チェーンを解析し、当該解析結果に応じて、署名データサイズを減らす方法を提供する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正の内容】
【0014】
また、本発明は、電子文書を保存するサーバと、ユーザが署名するためのクライアント端末で構成される署名システムを、前記電子文書への署名指示に応じて、当該電子文書のハッシュ値と、証明書チェーンとを取得する取得部と、署名データを前記電子文書に埋め込むことによって、当該電子文書に署名をする署名部と、前記電子文書に前記署名データを埋め込む場所を準備する準備部と、を前記サーバに備え、取得したハッシュ値と前記ユーザの秘密鍵とに基づいて生成した署名値、および当該ユーザの証明書に基づいて、前記署名データを生成する署名生成部と、を前記サーバまたは前記端末に備えて機能させ、前記準備部は、取得した前記証明書チェーンを解析し、当該解析結果に応じて、署名データサイズを減らすプログラムを提供する。