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

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

▶ 株式会社日立製作所の特許一覧

特開2023-782電子署名装置、電子署名利用システムおよび電子署名生成方法
<>
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図1
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図2
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図3
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図4
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図5
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図6
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図7
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図8
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図9
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図10
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図11
  • 特開-電子署名装置、電子署名利用システムおよび電子署名生成方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023000782
(43)【公開日】2023-01-04
(54)【発明の名称】電子署名装置、電子署名利用システムおよび電子署名生成方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20221222BHJP
   G09C 1/00 20060101ALI20221222BHJP
   G06F 21/60 20130101ALI20221222BHJP
   G06F 21/62 20130101ALI20221222BHJP
   G06F 21/64 20130101ALI20221222BHJP
【FI】
H04L9/00 675B
H04L9/00 673D
G09C1/00 640D
G06F21/60 320
G06F21/62 309
G06F21/64
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021101790
(22)【出願日】2021-06-18
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】高谷 学
(72)【発明者】
【氏名】松木 譲介
(72)【発明者】
【氏名】山口 光博
(57)【要約】
【課題】信頼性の高い電子署名装置、電子署名利用システムおよび電子署名生成方法を提供すること。
【解決手段】電子署名装置20は、制御部と制御部により使用される記憶部とを有し、制御部は、電子署名するユーザU1の生体情報D20を取得し、取得された生体情報から一方向性変換することにより個人秘密鍵K21および個人公開鍵K22を生成し、電子文書発行サーバ10で生成されて記憶部に記憶された検証用情報D11を個人秘密鍵を用いて暗号化することにより電子署名D21を生成し、生成された電子署名を表示可能なコードD22に変換し、コードを所定媒体81に表示させる。これにより、ユーザの生体情報を検証用情報の暗号化に使用し、検証用情報として使用しないため、ユーザの生体情報が検証用情報から漏洩することはなく、信頼性が向上する。
【選択図】図1
【特許請求の範囲】
【請求項1】
電子署名装置であって、
制御部と前記制御部により使用される記憶部とを有し、
前記制御部は、
電子署名するユーザの生体情報を取得し、
前記取得された生体情報から一方向性変換することにより個人秘密鍵および個人公開鍵を生成し、
電子文書発行サーバで生成されて前記記憶部に記憶された検証用情報を前記個人秘密鍵を用いて暗号化することにより電子署名を生成し、
前記生成された電子署名を表示可能なコードに変換し、
前記変換されたコードを所定媒体に表示させる
電子署名装置。
【請求項2】
前記コードは、前記検証用情報が前記所定媒体に表示される際に発生する空白領域に表示される
請求項1に記載の電子署名装置。
【請求項3】
前記検証用情報は、電子文書が前記電子文書発行サーバにおいてサーバ秘密鍵により暗号化されることにより生成されており、
前記制御部は、前記サーバ秘密鍵に対応するサーバ公開鍵を前記電子署名に加えることにより前記コードを生成する、
請求項2に記載の電子署名装置。
【請求項4】
前記所定媒体に表示された前記コードは、電子署名を検証する署名検証装置により読み取られて、前記コードから前記電子署名と前記サーバ公開鍵とが取得され、
前記署名検証装置により前記電子署名の真贋判定と前記コードから取得された前記サーバ公開鍵の真贋判定とがそれぞれ異なるタイミングで実施される
請求項3に記載の電子署名装置。
【請求項5】
前記制御部は、
前記電子署名するユーザの生体情報を複数取得し、
前記取得された複数の生体情報に対し前記電子文書発行サーバで生成されたそれぞれ異なる乱数を加えて一方向性変換することにより複数の個人秘密鍵および個人公開鍵を生成し、
前記電子文書発行サーバで生成されて前記記憶部に記憶された検証用情報を前記複数の個人秘密鍵毎に暗号化することにより複数の電子署名を生成し、
前記生成された複数の電子署名からそれぞれ表示可能なコードを生成し、
前記生成された複数のコードを前記所定媒体に分散して表示させる
請求項1に記載の電子署名装置。
【請求項6】
前記所定媒体に表示された前記複数のコードは電子署名を検証する署名検証装置により読み取られ、前記複数のコードから取得される前記複数の電子署名のうちいずれか一つの電子署名が真正であると前記署名検証装置により判定された場合に、前記所定媒体は真正であると判定される
請求項5に記載の電子署名装置。
【請求項7】
電子署名利用システムであって、
電子署名装置と、電子文書発行サーバと、署名検証装置とを備えており、
前記電子文書発行サーバは、検証用情報を発行して前記電子署名装置へ供給し、
前記電子署名装置は、電子署名するユーザの生体情報を取得し、前記取得された生体情報から一方向性変換することにより個人秘密鍵および個人公開鍵を生成し、前記電子文書発行サーバから取得された前記検証用情報を前記個人秘密鍵を用いて暗号化することにより電子署名を生成し、前記生成された電子署名を表示可能なコードに変換し、前記コードを所定媒体に表示させ、
前記署名検証装置は、前記ユーザから取得された生体情報から一方向性変換することにより個人秘密鍵および個人公開鍵を生成し、前記生成された個人公開鍵により前記所定媒体に表示された前記コードから取得される前記電子署名を復号化する
電子署名利用システム。
【請求項8】
前記電子文書発行サーバは、電子文書をサーバ秘密鍵により暗号化することにより前記検証用情報を生成し、前記サーバ秘密鍵に対応するサーバ公開鍵を前記電子署名装置へ供給し、
前記電子署名装置は、前記電子文書発行サーバから受領した前記サーバ公開鍵を前記電子署名に加えることにより前記コードを生成し、前記変換されたコードを前記所定媒体へ表示させ、
前記署名検証装置は、前記所定媒体に表示された前記コードから前記電子署名と前記サーバ公開鍵とを取得し、前記電子署名の真贋判定と前記コードから取得された前記サーバ公開鍵の真贋判定とを異なるタイミングで実施する
請求項7に記載の電子署名利用システム。
【請求項9】
前記電子文書発行サーバは、異なる複数の乱数を前記電子署名装置へ供給し、
前記電子署名装置は、前記電子署名するユーザの生体情報を複数取得し、前記取得された複数の生体情報に対し前記異なる乱数を加えて一方向性変換することにより複数の個人秘密鍵および個人公開鍵を生成し、前記検証用情報を前記複数の個人秘密鍵毎に暗号化することにより複数の電子署名を生成し、前記生成された複数の電子署名からそれぞれ表示可能なコードを生成し、前記生成された複数のコードを前記所定媒体に表示させ、
前記署名検証装置は、前記所定媒体に表示された前記複数のコードから取得される前記複数の電子署名のうちいずれか一つの電子署名が真正であると判定した場合に、前記所定媒体は真正であると判定する
請求項7に記載の電子署名利用システム。
【請求項10】
電子署名を生成する電子署名生成方法であって、
電子署名するユーザの生体情報を生体情報読取部により取得し、
前記取得された生体情報から一方向性変換することにより個人秘密鍵および個人公開鍵を生成し、
電子文書発行サーバで生成された検証用情報を前記個人秘密鍵を用いて暗号化することにより電子署名を生成し、
前記生成された電子署名を表示可能なコードに変換し、
前記変換されたコードを所定媒体に表示させる
電子署名生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子署名装置、電子署名利用システムおよび電子署名生成方法に関するものである。
【背景技術】
【0002】
近年、文書の電子化や脱はんこ化などのデジタル化およびクラウド化が進んでいるが、いわゆるデジタルデバイドとして知られているように、情報通信技術を使える者と使えない者とが混在している状況下では、紙文書は未だ重要な役割を果たしている。
【0003】
一方、本人認証のために、ユーザIDおよびパスワードの基本的認証に代えて、生体情報の利用も進んでいる(特許文献1,2,3)。
【0004】
特許文献1に記載の技術では、チケットを購入したユーザの指紋情報を対応端末で読み取ってハッシュ値を生成し、そのハッシュ値をチケットセンタへ送って保存させる。チケット使用時には、ユーザの指紋情報を再度読み取ってハッシュ値を生成し、チケットセンタへ送って検証する。
【0005】
特許文献2に記載の技術では、ユーザの指紋情報をチケット発行サーバから取得したイベントID鍵により暗号化して二次元コードを生成し、チケット使用時に、ユーザの指紋情報を再度読み取り、二次元コードから復元させた指紋情報と照合する。
【0006】
なお、特許文献3に記載の技術は、任意の距離構造(Lp距離)を持つベクトル空間上のベクトルXを、L∞距離構造を持つベクトルYに変換することにより、実際の生体情報から抽出される特徴ベクトルを用いた生体署名を実現する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006-24062号公報
【特許文献2】特開2017-117301号公報
【特許文献3】特許第6216567号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1,2のいずれもユーザの生体情報を本人認証のための情報として直接的に使用するため、生体情報が漏洩する可能性を排除することができない。生体情報は、その人の健康状態や人種などを特定可能な情報であり、かつ、生涯不変の情報であるため、外部に漏洩してしまうとリスクが大きい。したがって、生体情報を本人認証に使用する場合は安全性を最優先する必要がある。一方、生体情報を本人認証に使用する場合の処理コスト(処理に要する時間)が大きくなりすぎると、利便性が低下する。
【0009】
そこで、本発明は、信頼性の高い電子署名装置、電子署名利用システムおよび電子署名生成方法の提供を目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決すべく、本発明の一つの観点に従う電子署名装置は、制御部と制御部により使用される記憶部とを有し、制御部は、電子署名するユーザの生体情報を取得し、取得された生体情報から一方向性変換することにより個人秘密鍵および個人公開鍵を生成し、電子文書発行サーバで生成されて記憶部に記憶された検証用情報を個人秘密鍵を用いて暗号化することにより電子署名を生成し、生成された電子署名を表示可能なコードに変換し、コードを所定媒体に表示させる。
【発明の効果】
【0011】
本発明によれば、ユーザの生体情報を検証用情報の暗号化に使用し、検証用情報として使用しないため、ユーザの生体情報が検証用情報から漏洩することはなく、安全性が向上する。
【図面の簡単な説明】
【0012】
図1】本実施形態に係る電子署名利用システムの全体構成図である。
図2】第1実施例に係る電子署名利用システムの全体構成図である。
図3】電子署名利用システムのハードウェア構成図である。
図4】ハードウェア構成の変形例を示す。
図5】電子文書発行サーバの機能構成図である。
図6】署名装置の機能構成図である。
図7】署名検証装置の機能構成図である。
図8】サーバ公開鍵の検証方法を示すフローチャートである。
図9】第2実施例に係る電子署名利用システムの全体構成図である。
図10】第3実施例に係る電子署名利用システムの全体構成図である。
図11】第4実施例に係る電子署名利用システムの要部を示す構成図である。
図12】第5実施例に係る電子署名利用システムのハードウェア構成図である。
【発明を実施するための形態】
【0013】
以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、以下に述べるように、電子文書発行サーバ10を介さずに、本人認証を行うことができる。本実施形態に係る電子署名利用システム1では、ユーザU1が電子文書D10を電子文書発行サーバ10から発行させる際に、電子署名装置20はユーザの生体情報から一方向性変換によって個人秘密鍵K21および個人公開鍵K22のペアを生成する。電子署名装置20は、電子文書D10を内蔵する検証用情報D11を個人秘密鍵K21で暗号化することにより、電子署名D21を生成する。電子署名D21は、二次元コードD22に変換され、表示出力装置30により所定媒体80の所定領域に印刷される。署名検証装置40は、二次元コードD22を読み取ってデコードし、電子署名D21を取り出す。署名検証装置40は、ユーザU1の生体情報を読み取って個人秘密鍵および個人公開鍵のペアを生成し、個人公開鍵を用いて電子署名D21を復号化する。
【0014】
電子文書D10は、例えば、チケット、診察券、カルテ、受験票、申請書、稟議書、住民票、有価証券、小切手、パスポート、土地などの権利書、契約書、領収書、切符、定期券、書籍などである。以下、電子文書D10としてチケットを例に挙げて説明する。生体情報D20は、例えば、指紋情報、静脈情報、瞳の虹彩情報などである。以下、生体情報D20として、指の静脈情報を例に挙げて説明する。
【0015】
図1は、電子署名利用システム1の全体構成図である。電子署名利用システム1は、例えば、電子文書発行サーバ10と、署名装置20と、署名検証装置40を備える。署名装置20および署名検証装置40は複数ずつ設けられてもよい。各装置10,20,40のハードウェア構成および機能構成は、後述する。
【0016】
ユーザU1はチケットなどの電子文書D10を電子文書発行サーバ10から購入する際に、署名装置20に生体情報D20を登録する。署名装置20は、生体情報を読み取ってデジタルデータとして出力する生体情報スキャナ52(図3参照)から、ユーザU1の生体情報D20を取得する(S11)。
【0017】
署名装置20は、ユーザU1の生体情報D20を一方向性変換することにより、生体情報D20を復元不能な形態で個人秘密鍵K21を生成し(S12)、個人秘密鍵K21から個人公開鍵K22を生成する(S13)。一方向性変換とは、生体情報D20を個人秘密鍵K21へ変換する順方向の演算は容易であるが、個人秘密鍵K21を生体情報D20へ変換する逆方向の演算がきわめて難しい関数を用いる処理である。
【0018】
電子文書発行サーバ10は、サーバ秘密鍵K11およびサーバ公開鍵K12を記憶している。電子文書発行サーバ10は、ユーザU1からの要求に応じて(正確には、ユーザU1が操作する署名装置20からの要求に応じて)、電子文書D10を用意し(S14)、その電子文書D10をサーバ秘密鍵K11で暗号化することにより、検証用情報D11を生成する(S15)。電子文書発行サーバ10は、検証用情報D11を署名装置20へ送信する(S16)。
【0019】
署名装置20は、電子文書発行サーバ10から取得された検証用情報D11を個人秘密鍵K21を用いて暗号化することにより、電子署名D21を得る(S17)。この電子署名D21は、生体情報D20に由来するため、生体署名D21と呼ぶこともできる。
【0020】
署名装置20は、電子文書発行サーバ10からサーバ公開鍵K12を取得し、そのサーバ公開鍵K12を電子署名D21に加えてエンコードすることにより、二次元コードD22を生成する(S18)。
【0021】
署名装置20は、生成された二次元コードD22をプリンタ30へ送信し、チケット用紙80に二次元コードD22を印刷させる(S19)。これにより、二次元コードD22が印刷されたチケット81が生成される。
【0022】
プリンタ30は、例えば「表示出力装置」と呼ぶこともできる。チケット用紙80は、「所定媒体」の例である。チケット用紙80は、二次元コードD22を印刷できればよく、通常の紙以外にプラスチック、セラミックまたは金属などの薄板でもよい。二次元コードD22は、チケット81の空き領域に印刷される。チケット81の空き領域とは、チケット81の両面のうち、電子文書D10の一部または全部のデータが印刷される主印刷領域以外の領域である。署名検証時の視認性を高める観点からは、二次元コードD22は主印刷領域と同じ面に存在する空き領域に印刷されるのが好ましい。それにもかかわらず、二次元コードD22は主印刷領域の反対側の面に印刷されてもよい。
【0023】
二次元コードD22は、「所定媒体」としての電子的媒体に印刷されてもよい。電子的媒体とは、例えば、タブレット端末または携帯情報端末(スマートフォンを含む。)等の持つディスプレイ画面に表示可能な画像データである。
【0024】
ユーザU1は、例えばイベント会場などのチケットを使用する所定場所に出向いて、チケット81を提示する。チケット81は二次元コードスキャナ60により読み取られ、デジタルデータとして署名検証装置40へ送られる(S20)。所定媒体が画像データなどの電子的媒体である場合、二次元コードスキャナ60は、例えばデジタルカメラとして構成されてもよい。
【0025】
署名検証装置40は、スキャナ60から受信された二次元コードD22をデコードし(S21)、電子署名D21とサーバ公開鍵K12を取得する。一方、署名検証装置40は、ユーザU1の生体情報D20を取得し(S22)、取得された生体情報D20を一方向性変換することにより個人秘密鍵K21を生成し(S23)、個人秘密鍵K21から個人公開鍵K22を生成する(S24)。そして、署名検証装置40は、個人公開鍵K22を用いて、二次元コードD22から取得された電子署名D21を復号化し、検証用情報D11を得る(S25)。
【0026】
チケット81の二次元コードD22から得られた電子署名D21を、ユーザU1から改めて取得した生体情報D20に基づく個人公開鍵K22で復号化できるということは、署名装置20で電子署名D21を作成したユーザU1と、署名検証装置40による検証を受けているユーザU1とが同一人物であることを証明する。
【0027】
署名検証装置40は、チケット81の二次元コードD22から得られたサーバ公開鍵K12を用いて、二次元コードD22から得られた検証用情報D11を復号化することにより、電子文書D10を取得する(S26)。
【0028】
イベント会場で入場者をチェックする検証者U2は、電子文書D10の記載内容を確認し、ユーザU1に会場内の行先を案内などする。署名検証装置40は、所定のタイミングで、チケット81の二次元コードD22から取り出されたサーバ公開鍵K12の真贋を電子文書発行サーバ10に要求する(S27)。サーバ公開鍵K12が真正であるか否かを判定する方法としては複数の方法が考えられる。詳細は後述するが、本実施形態では、例えば3つの方法で、サーバ公開鍵K12を検証する。第1の方法は、本人認証とサーバ公開鍵の検証とを切り離し、本人認証後にサーバ公開鍵を検証する方法である。第2の方法は、検証要求をキューに蓄積し、本人認証と異なるタイミングで電子文書発行サーバ10にサーバ公開鍵の検証を要求する方法である。第3の方法は、検証に使用するサーバ公開鍵を電子文書発行サーバ10から署名検証装置40に事前にダウンロードしておき、署名検証装置40内でサーバ公開鍵を検証する方法である。いずれの方法も、電子署名の検証に関して、電子文書発行サーバ10の負荷を軽減することができる。
【実施例0029】
図2図8を用いて第1実施例を説明する。本実施例では、上述した第1の方法により、サーバ公開鍵を検証する。本実施例に係る電子署名利用システム1Aの署名検証装置40Aは、電子署名D21に基づく本人認証と、サーバ公開鍵K12の検証とを別々のタイミングで実行する。
【0030】
図2の全体構成図に示すように、署名検証装置40Aは、チケット81の二次元コードD22をデコードすることにより電子署名D21とサーバ公開鍵K12を取得する(S21)。一方、署名検証装置40は、ユーザU1から生体情報D20を取得し(S22)、個人秘密鍵K21および個人公開鍵K22を生成する(S23,S24)。
【0031】
署名検証装置40は、ユーザU1の生体情報D20から得た個人公開鍵K22を用いて電子署名D21を復号化し、検証用情報D11を取得する。これにより、署名検証装置40は、電子署名D21の検証を希望するユーザU1と、署名装置20を用いて電子署名D21を作成させたユーザU1とが、同一人物であると判定する。
【0032】
次に、署名検証装置40は、本人認証を終了した後で、チケット81の二次元コードD22から取り出されたサーバ公開鍵K12の検証を電子文書発行サーバ10へ要求する(S27A)。署名検証装置40は、サーバ公開鍵K12の検証が完了すると、電子文書D10が真正な文書であると判定する。
【0033】
図3は、電子署名利用システム1Aのハードウェア構成例を示す。電子署名利用システム1Aは、電子文書発行サーバ10と、署名装置20と、プリンタ30と、署名検証装置40とが通信経路CNを介して接続されている。通信経路CNは、専用回線または公衆回線の通信ネットワークでもよいし、コンピュータの内部バスでもよい。
【0034】
電子文書発行サーバ10は、演算部110、記憶部120および通信部130を備えるコンピュータである。制御部100は、演算部110と記憶部120を含んで構成されている。演算部110および記憶部120の詳細は、後述する。
【0035】
署名装置20も、演算部210、記憶部220および通信部230を備えるコンピュータである。制御部200は、演算部210と記憶部220を含んで構成される。署名装置20の制御部200には、生体情報スキャナ52が接続される。署名装置20に付属するプリンタ30は、制御部300、通信部330および図示せぬ印刷機構部を備える。プリンタ30は、直接的に署名装置20に接続されてもよい。
【0036】
署名検証装置40も、演算部410、記憶部420および通信部430を備えるコンピュータである。制御部400は、演算部410と記憶部420を含んで構成される。制御部200には、生体情報スキャナ54と二次元コードスキャナ60が接続される。
【0037】
図4は、電子署名利用システム1Aのハードウェア構成の変形例である。この変形例では、プリンタ30に代えて携帯情報端末30Aを、二次元コード付きチケット81の表示出力装置として使用する。携帯情報端末30Aは、制御部300、通信部330および表示部350を備える。携帯情報端末30Aは、例えば、タブレット型端末、ラップトップ型端末、スマートフォンなどのように構成される。二次元コード付きチケット81は、署名装置20により、携帯情報端末30Aのようなデジタルデバイス上で表示可能な電子データ(画像データ)に変換される。
【0038】
図5は、電子文書発行サーバ10の機能構成図である。電子文書発行サーバ10の演算部110は、所定のコンピュータプログラムを読み込んで実行することにより、例えば、電子文書発行受付部111と、電子文書生成部112と、鍵ペア生成部113と、検証用情報生成部114と、ソルト生成部115と、電子文書発行部116と、個人公開鍵登録受付部117と、サーバ公開鍵検証要求受付部118といった各機能を実現する。各機能111~118の詳細は後述する。
【0039】
記憶部120には、例えば、電子文書D10と、サーバ秘密鍵K11と、サーバ公開鍵K12と、電子文書検証用情報(以下、検証用情報)D11と、ユーザID D12と、グループID D13と、ソルトD14と、個人公開鍵K22が記憶されている。ユーザID D12とグループID D13とソルトD14とは、後述する他の実施例で使用される。
【0040】
電子文書発行受付部111は、後述する署名装置20の電子文書発行要求部212からの電子文書の発行要求を受け付ける。電子文書生成部112は、任意の電子文書D10を生成して、記憶部120へ格納させる。署名装置20に電子文書D10を作成する機能を持たせ、署名装置20で作成された電子文書D10を電子文書発行サーバ10へ送信して記憶部120に格納させる構成としてもよい。
【0041】
鍵ペア生成部113は、サーバ秘密鍵K11とサーバ公開鍵K12を生成して、記憶部120へ格納する。
【0042】
検証用情報生成部114は、記憶部120から電子文書D10とサーバ秘密鍵K11を読み取り、サーバ秘密鍵K11で電子文書D10を暗号化することにより検証用情報D11を生成し、生成された検証用情報D11を記憶部120へ格納する。
【0043】
後述の実施例で使用されるソルト生成部115は、グループID D13およびユーザID D12を生成し、公知のアルゴリズムから任意の乱数配列を生成する。ソルト生成部115は、生成された乱数配列とグループID D13とユーザIDとを1組に連結することにより、ソルトD14を生成する。ソルト生成部115は、生成されたソルトD14と、グループID D13およびユーザID D12を記憶部120へ格納する。ソルト生成部115は、グループID D13およびユーザIDの代わりに、通信部130のMACアドレス等を利用してソルトD14を生成してもよい。
【0044】
電子文書発行部116は、検証用情報D11および電子文書D10を署名装置20の電子文書発行要求部212へ送信する。後述の実施例では、電子文書発行部116は、ソルトD14も署名装置20へ送信する。
【0045】
個人公開鍵登録受付部117は、個人公開鍵K22の登録を受け付ける。個人公開鍵登録受付部117は、署名装置20の公開鍵登録要求部218からの処理要求を受付け、受信した個人公開鍵K22を記憶部120へ格納する。
【0046】
サーバ公開鍵検証要求受付部118は、サーバ公開鍵K12の検証についての要求を受け付ける。サーバ公開鍵検証要求受付部118は、署名検証装置40のサーバ公開鍵検証要求部417からの処理要求を受付け、受信したサーバ公開鍵K12と記憶部120から読み込んだサーバ公開鍵K12とが一致するか判定する。サーバ公開鍵検証要求受付部118は、サーバ公開鍵の検証結果を署名検証装置40のサーバ公開鍵検証要求部417へ送信する。
【0047】
サーバ公開鍵の検証は、電子文書発行サーバ10で実施してもよいし、署名検証装置40で実施してもよい。後者の場合、サーバ公開鍵検証要求受付部118は、署名検証装置40のサーバ公開鍵検証要求部417へサーバ秘密鍵K11を送信し、後述のサーバ公開鍵検証要求部417でサーバ秘密鍵K11の一致を確認させてもよい。
【0048】
図5に示す記憶媒体MMは、例えば、フラッシュメモリまたはハードディスクなどであり、記憶部120との間でコンピュータプログラムまたはデータを送受する。記憶媒体MMに記憶されたコンピュータプログラムなどを記憶部へ転送してインストールすることもできるし、記憶部に記憶されたコンピュータプログラムなどを記憶媒体MMへ転送して記憶させることもできる。図6および図7に示す記憶媒体MMも同様である。
【0049】
図6は、署名装置20の機能構成図である。署名装置20の演算部210は、所定のコンピュータプログラムを読み込んで実行することにより、例えば、生体情報取得部211と、電子文書発行要求部212と、鍵ペア生成部213と、電子署名生成部214と、署名エンコード部215と、二次元コード合成部216と、印刷用休部217と、公開鍵登録要求部218と、電子文書再発行検証部219と、データ消去部220といった各機能を実現する。各機能211~220の詳細は後述する。
【0050】
記憶部220には、例えば、生体情報D20と、電子文書D10と、検証用情報D11と、ソルトD14と、個人秘密鍵K21と、個人公開鍵K22と、電子署名D21と、二次元コードD22と、二次元コード付き電子文書(ここではチケット)81と、サーバ公開鍵K12とが記憶されている。
【0051】
耐ダンパ性記憶部240は、外部からのデータ読み取り、改ざん、および解析が困難な記憶部である。耐ダンパ性記憶部240には、後述の実施例で使用されるシードD23が記憶されている。
【0052】
生体情報取得部211は、生体情報スキャナ52の読み取った生体情報D20を生体情報スキャナ52から受信し、記憶部220へ格納する。
【0053】
電子文書発行要求部212は、電子文書発行サーバ10に電子文書D10の発行を要求する。電子文書発行要求部212は、電子文書発行サーバ10から電子文書D10と検証用情報D11とサーバ公開鍵K12およびソルトD14を受信する。電子文書発行要求部212は、サーバ公開鍵K12と電子文書D10と検証用情報D11とが対になっているか検証した後、それらを記憶部220へ格納する。
【0054】
鍵ペア生成部213は、シードD23と生体情報D20とソルトD14とから、非対称の鍵ペアである個人公開鍵K22および個人秘密鍵K21を生成し、記憶部220へ格納する。電子署名生成部214は、検証用情報D11と個人秘密鍵K21とから電子署名D21を生成して記憶部220へ格納する。鍵ペア生成部213および電子署名生成部214の処理は、特許文献3に記載の方法を用いることができる。
【0055】
署名エンコード部215は、サーバ公開鍵K12と電子文書D10と検証用情報D11と電子署名D21とから二次元コードD22を生成し、記憶部220へ格納する。
【0056】
二次元コード合成部216は、電子文書D10の複数箇所に二次元コードD22が印刷される二次元コード付電子文書81を生成し、記憶部220へ格納する。
【0057】
印刷要求部217は、二次元コード付電子文書81をプリンタ30へ送信し、印刷を要求する。
【0058】
公開鍵登録要求部218は、個人公開鍵K22を電子文書発行サーバ101へ送信して、登録を要求する。
【0059】
電子文書再発行検証部219は、電子文書発行サーバ10に登録されている個人公開鍵K22を電子文書発行サーバ10から取得し、取得された個人公開鍵K22と鍵ペア生成部213によって生成された個人公開鍵K22とが一致するか判定する。
【0060】
データ消去部220は、記憶部220へ格納されている各情報、すなわち生体情報D20、電子文書D10、検証用情報D11、ソルトD14、個人公開鍵K22、個人秘密鍵K21、電子署名D21、二次元コードD22、二次元コード付電子文書81を所定タイミングで消去する。
【0061】
図7は、署名検証装置40の機能構成図である。署名検証装置40の演算部410は、所定のコンピュータプログラムを読み込んで実行することにより、例えば、生体情報取得部411と、二次元コード読取部412と、二次元コードデコード部413と、鍵ペア生成部414と、電子署名検証部415と、電子文書検証部416と、サーバ公開鍵検証要求部417と、データ消去部418といった各機能を実現する。各機能411~418の詳細は後述する。
【0062】
記憶部420には、例えば、生体情報D20と、二次元コードD22と、サーバ公開鍵K12と、ソルトD14と、電子署名D21と、検証用情報D11と、電子文書D10と、個人公開鍵K22とが記憶されている。耐ダンパ性記憶部440には、シードD23が記憶されている。
【0063】
生体情報取得部411は、生体情報スキャナ54から生体情報D20を受信して、記憶部420へ格納する。二次元コード読取部412は、二次元コードスキャナ60から受信した二次元コードD22を記憶部420へ格納する。
【0064】
二次元コードデコード部413は、二次元コードD22から、サーバ公開鍵K12とソルトD14と電子署名D21と検証用情報D11および電子文書D10を生成し、記憶部420へ格納する。
【0065】
鍵ペア生成部414は、シードD23と生体情報D20とソルトD14とから個人秘密鍵K21と個人公開鍵K22を生成し、そのうち個人公開鍵K22を記憶部420へ格納する。電子署名検証部415は、電子署名D21を個人公開鍵K22で復号化して検証用情報D11を取得することにより、電子署名を検証する。鍵ペア生成部414および電子署名検証部415では、特許文献3に記載の方法を用いることができる。
【0066】
電子文書検証部416は、検証用情報D11をサーバ公開鍵K12で復号化することにより電子文書D10を生成し、電子文書を検証する。
【0067】
サーバ公開鍵検証要求部417は、鍵ペア生成部414で生成されたサーバ公開鍵K12を電子文書発行サーバ10へ送信することにより、サーバ公開鍵K12の検証(真贋判定)を要求する。
【0068】
データ消去部418は、記憶部420の生体情報D20、二次元コードD22、サーバ公開鍵K12、ソルトD14、電子署名D21、検証用情報D11、電子文書D10、個人公開鍵2438を消去する。
【0069】
図8は、サーバ公開鍵の検証タイミングの概要を示すフローチャートである。署名検証装置40は、ステップS100で電子文書を認証する。ステップS100の例は、図2のステップS21~S26に示した。
【0070】
署名検証装置40は、電子文書の認証が終了したか判定する(S101)。例えば、検証者U2は、電子文書の認証が終了したことをボタン操作または音声入力などにより、署名検証装置40に与える。あるいは、一定の待ち時間を過ぎても次の電子文書の認証処理が開始されない場合は、電子文書の認証がいったん終了したものと判定してもよい。
【0071】
署名検証装置40は、電子文書の認証が終了すると(S101:YES)、それまでの電子文書の認証処理で貯まっていた未検証のサーバ公開鍵K12の中から、電子文書発行サーバ10に対して検証を要求するサーバ公開鍵K12を選択する(S103)。未検証のサーバ公開鍵K12の全てを選択してもよいし、一部を選択してもよい。
【0072】
署名検証装置40は、選択されたサーバ公開鍵K12を電子文書発行サーバ10へ送信し、その検証を要求する(S104)。
【0073】
このように構成される本実施例によれば、生体情報D20から一方向性変換により個人秘密鍵および個人公開鍵を生成し、電子文書発行サーバ10から取得された検証用情報D11を個人秘密鍵により暗号化する。このため、検証用情報D11が何らかの手段により盗まれた場合でも、その検証用情報D11から生体情報D20を復元することはできず、生体情報が漏洩するリスクを抑制することができる。検証用情報D11には、生体情報D20は含まれておらず、検証用情報D11の暗号化に使用された個人秘密鍵K21は生体情報D20から一方向性変換された鍵であるため、第三者が検証用情報D11を解析したとしても、ユーザの生体情報D20を取り出すのは難しい。
【0074】
本実施例では、検証用情報D11の作成に使用されたサーバ秘密鍵K11に対応するサーバ公開鍵K12を電子署名D21に加えて二次元コードD22を生成し、チケット81に印刷する。このため、本実施例では、ICカードのような装置は不要であり、比較的安価なチケット81により本人認証を行うことができ、電子署名利用システム1のコストを抑えることができる。
【0075】
本実施例では、署名検証装置40での本人認証時に、電子文書発行サーバ10の処理を必要としないため、電子文書発行サーバ10の処理負荷を軽減できる。本実施例では、電子文書発行サーバ10を用いずに、署名検証装置40だけで本人認証を行うことができる。すなわち、本実施例では、生体情報から一方向性変換で生成される個人公開鍵を電子文書発行サーバ10または図示せぬ認証サーバなどで管理する必要がなく、電子署名利用システム1Aの構成を簡素化できる。
【0076】
本実施例では、署名検証装置40における本人認証とサーバ公開鍵K12の検証とを異なるタイミングで実行することができる。このため、本人認証だけを先に高速処理し、後からサーバ公開鍵K12を検証することができる。したがって、例えば、イベント会場での入場者受付処理を速やかに行うことができ、使い勝手が向上する。
【0077】
本実施例では、本人認証を優先して処理し、サーバ公開鍵K12の検証は後回しにできるため、例えば、山間部や海洋上などの署名検証装置40と電子文書発行サーバ10の通信状態が安定していない場所でも、電子署名を利用することができる。
【実施例0078】
図9を用いて第2実施例を説明する。本実施例を含む以下の各実施例では、第1実施例との相違を中心に述べる。本実施例の電子署名利用システム1Bでは、電子文書発行サーバ10と署名検証装置40Bとが常時接続される場合を説明する。本実施例および後述の第3実施例では、二次元コード付きチケット81を印刷する構成は省略する。
【0079】
署名検証装置40Bは、サーバ公開鍵K12の検証を電子文書発行サーバ10へ要求する検証要求を、いったん転送キュー401に蓄積する。転送キュー401に蓄積された検証要求は、いわゆる先入れ先出し法(FIFO)にしたがって電子文書発行サーバ10へ送信される(S27B) 。
【0080】
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに、本実施例では、署名検証装置40と電子文書発行サーバ10を常時接続させると共に、署名検証装置40は、サーバ公開鍵K12の検証要求を転送キュー401に入れてから電子文書発行サーバ10へ送信するため、第1実施例に比べて、署名検証装置40を電子文書発行サーバ10とを接続するためのオーバーヘッドタイムを短縮できる。さらに、本実施例では、一時的ネットワーク障害などにより、署名検証装置40と電子文書発行サーバ10の通信状態が一時的に悪化した場合でも、サーバ公開鍵の検証要求は転送キュー401に蓄積されるため、電子署名の検証を続行できる。
【実施例0081】
図10を用いて第3実施例を説明する。本実施例の電子署名利用システム1Cでは、チケット81の二次元コードD22から取り出されたサーバ公開鍵K12を検証するために、事前に電子文書発行サーバ10から署名検証装置40Cにサーバ公開鍵K12をダウンロードしておく。署名検証装置40は、事前にダウンロードされたサーバ公開鍵K12を用いて、チケット81の二次元コードD22から取得されたサーバ公開鍵K12を検証する(S28C)。
【0082】
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、電子文書発行サーバ10から署名検証装置40へサーバ公開鍵K12を事前にダウンロードしておくため、署名検証装置40は電子文書発行サーバ10と通信せずに電子署名を検証することができる。したがって、例えば、地下のイベント会場などのように、電子文書発行サーバ10と署名検証装置40とが通信するのが難しい場所でも、電子署名を利用することができる。
【実施例0083】
図11を用いて第4実施例を説明する。本実施例の電子署名利用システム1Dでは、複数の二次元コードD22(1)~D22(3)を生成し、チケット81の余白領域に分散して印刷する。
【0084】
図11は、電子署名利用システム1Dのうち電子文書発行サーバ10Dおよび署名装置20Dに着目した説明図である。
【0085】
署名装置20Dは、ユーザU1の生体情報D20をスキャナ52から複数回(例えば3回)取得する。各生体情報にD20(1)~D20(3)の符号を付す。本実施例では、これら3つの生体情報D20(1)~D20(3)からそれぞれ二次元コードD22(1)~D22(3)が生成される。
【0086】
署名装置20Dは、各生体情報D20(1)~D20(3)に対してシードD23を加え(S31)、個人秘密鍵K21(1)~K21(3)を生成する。シードD23は、署名装置20Dと図示せぬ署名検証装置が共通で持つ情報であり、耐ダンパ性記憶部に格納されている。
【0087】
一方、電子文書発行サーバ10Dは、ユーザID D12とグループID D13を電子文書D10に加え(S32)、その値からそれぞれ異なる所定バイト数の配列であるソルトD14(1)~D14(3)を生成する(S33)。署名装置20Dは、ソルトD14(1)~D14(3)を電子文書発行サーバ10Dから取得して個人秘密鍵K21(1)~K21(3)に加える(S34)。
【0088】
グループID D13は、例えばイベント毎にまたは組織毎に固有の値である。グループID D13を含むソルトD14(1)~D14(3)を個人秘密鍵K21(1)~K21(3)へ加えることにより、生体情報D20(1)~D20(3)に基づく電子署名D21(1)~D21(3)の使用範囲または使用期間を制限することができる。
【0089】
署名装置20Dは、複数の個人秘密鍵K21(1)~K21(3)を用いて検証用情報D11をそれぞれ暗号化することにより、複数の電子署名D21(1)~D21(3)を生成する(S17)。
【0090】
署名装置20Dは、複数の電子署名D21(1)~D21(3)にそれぞれサーバ公開鍵K12を加えてエンコードすることにより、複数の二次元コードD22(1)~D22(3)を生成する(S18)。
【0091】
複数の二次元コードD22(1)~D22(3)は、チケット81の複数の余白領域に分散して印刷される。二次元コードD22(1)~D22(3)は、チケット81の表側の四隅のうちのいずれか3箇所に印刷されてもよいし、チケット81の表側の余白領域と裏側の余白領域とに分かれて印刷されてもよい。あるいは、二次元コードD22(1)~D22(3)は、チケット81の表側の余白領域と裏側の余白領域とにそれぞれ印刷されてもよい。
【0092】
図示せぬ署名検証装置40は、複数の二次元コードD22(1)~D22(3)のうち、いずれか一つの二次元コードによって本人認証が成功した場合に、本人認証は成功したものとする。
【0093】
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例の電子署名利用システム1Dによれば、異なる二次元コードD22(1)~D22(3)をチケット81の余白領域に分散して印刷させるため、チケット81が折れ曲がったり汚れたりした場合でも、正しく署名を検証できる可能性が増加し、電子署名利用システム1DのユーザU1および検証者U2にとっての利便性が向上する。
【0094】
本実施例では、グループID D13を含むソルトD14(1)~D14(3)を個人秘密鍵K21(1)~K21(3)へ加えるため、電子署名D21(1)~D21(3)の使用期限や使用範囲を制御することができ、使い勝手が向上する。
【0095】
本実施例では、生体情報D20(1)~D20(3)にシードD23を加えてから個人秘密鍵K21(1)~K21(3)を一方向性変換により生成するため、より一層生体情報を保護することができる。
【0096】
本実施例で述べたシードD23および/またはソルトD14を個人秘密鍵K21の生成に使用する技術は、第1~第3実施例のいずれでも用いることができる。
【実施例0097】
図12を用いて第5実施例を説明する。本実施例では、一つの計算機70に電子文書発行部10Eと、署名部20Eと、(もしも可能なら)表示出力部30Eと、署名検証部40Eとを統合する場合を示す。
【0098】
図12は、本実施例の電子署名利用システム1Eの全体構成図である。計算機70には、生体情報スキャナ50および二次元コードスキャナ60が接続されている。計算機70は、例えば、演算部710と、記憶部720およびユーザインターフェース(図中、UI)部730を備えている。
【0099】
演算部710が記憶部720に格納された所定のコンピュータプログラム(不図示)を読み込んで実行することにより、電子文書発行部10Eと署名部20Eと表示出力部30Eおよび署名検証部40Eが実現される。電子文書発行部10Eは、電子文書発行サーバ10に対応する。署名部20Eは、署名装置20に対応する。表示出力部30Eは、プリンタなどの表示出力装置30に対応する。署名検証部40Eは、署名検証装置40に対応する。
【0100】
表示出力部30Eを、計算機70とは独立した周辺装置として構成し、計算機70に接続してもよい。
【0101】
このように構成される本実施例も第1実施例と同様の作用効果を奏する。本実施例の電子署名利用システム1Eは、電子文書発行部10Eと、署名部20Eと、表示出力部30Eと、署名検証部40Eとを計算機70内に設けるため、電子署名作成時に使用する生体情報D20と電子署名の検証時に用いる生体情報D20とを共通の生体情報スキャナ50を用いて取得することができる。これにより、安定した生体情報D20を用いることができるため、電子署名利用システム1Eの信頼性をさらに向上できる。
【0102】
なお、本発明は上記各実施例に限定されず、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0103】
また、上記の各構成は、それらの一部又は全部が、ハードウェアで構成されても、プロセッサでプログラムが実行されることにより実現されるように構成されてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0104】
上述した実施形態には、計算機を電子署名装置として機能させるためのコンピュータプログラムが開示されている。すなわち「計算機を電子署名装置として機能させるためのコンピュータプログラムであって、計算機が、電子署名するユーザの生体情報を取得し、前記取得された生体情報から一方向性変換することにより個人秘密鍵および個人公開鍵を生成し、電子文書発行サーバで生成されて前記記憶部に記憶された検証用情報を前記個人秘密鍵を用いて暗号化することにより電子署名を生成し、前記生成された電子署名を表示可能なコードに変換し、前記変換されたコードを前記所定媒体に表示させるコンピュータプログラム。」
【符号の説明】
【0105】
1:電子署名利用システム、10:電子文書発行サーバ、20:署名装置、30:プリンタ、40:署名検証装置、60:二次元コードスキャナ、81:二次元コード付き電子文書(チケット)、D10:電子文書、D11:電子文書検証用情報、D20:生体情報、D21:電子署名、D22:二次元コード、K11:サーバ秘密鍵、K12:サーバ公開鍵、K21:個人秘密鍵、K22:個人公開鍵
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12