JPWO2006132143A1 - 認証システム、認証装置、端末装置及び検証装置 - Google Patents

認証システム、認証装置、端末装置及び検証装置 Download PDF

Info

Publication number
JPWO2006132143A1
JPWO2006132143A1 JP2007520076A JP2007520076A JPWO2006132143A1 JP WO2006132143 A1 JPWO2006132143 A1 JP WO2006132143A1 JP 2007520076 A JP2007520076 A JP 2007520076A JP 2007520076 A JP2007520076 A JP 2007520076A JP WO2006132143 A1 JPWO2006132143 A1 JP WO2006132143A1
Authority
JP
Japan
Prior art keywords
information
blur
authentication
unit
service
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.)
Granted
Application number
JP2007520076A
Other languages
English (en)
Other versions
JP4892478B2 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007520076A priority Critical patent/JP4892478B2/ja
Publication of JPWO2006132143A1 publication Critical patent/JPWO2006132143A1/ja
Application granted granted Critical
Publication of JP4892478B2 publication Critical patent/JP4892478B2/ja
Expired - Fee Related 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

証明したい情報である証明情報をぼかして得られるぼかし情報を提示するサービス利用装置1と、サービス利用装置1によって提示されたぼかし情報の正当性を検証するサービス提供装置3a〜3cと、サービス利用装置1による正当なぼかし情報の発行を支援する認証装置2とからなる認証システムであって、認証装置2は、証明情報とぼかし情報とを含む情報に対してデジタル署名を施し、得られたデジタル署名と証明情報とぼかし情報とを含む認証情報を生成し(S2)、サービス利用装置1は、認証装置2で生成された認証情報から、ユーザの指示によって選択されるぼかし情報とその指示を示す指示情報とデジタル署名とを含むぼかし認証情報を生成し(S4)、サービス提供装置3a〜3cは、サービス利用装置1で生成されたぼかし認証情報に対して、そこに含まれるデジタル署名に基づいて、そこに含まれる指示情報が示すぼかし情報の正当性を検証する(S6)。

Description

本発明は、身分証明書などの第三者機関によって認証された証明書データに対して、証明書の保持者のプライバシーを確保しつつ、正確に本人認証を行う認証システムに関する。
近年、一般家庭へのインターネットの普及に伴い、ネットワークを介した商品の販売や、音楽や映像といったデジタルコンテンツの配信といった各種サービスの提供が盛んになってきた。そのようなサービスの提供の際に、サービス提供側は、そのサービス提供のために必要な、利用者の個人情報を利用者から入手する必要がある。例えば、ネットワークを介した商品販売であれば、商品を配送するために利用者の氏名、住所、電話番号を入手する必要があり、商品代金の決済のために、クレジットカード番号の入手が必要となる場合もある。更に、商品の購買動向を調査して今後の販促活動に活用するために、利用者の年齢や職業なども入手する場合もある。また、利用者から個人情報を入手する際には、サービス提供者側は、その入手した個人情報が正しい内容であること、即ち、利用者が、自分の正確な個人情報を虚偽なく申告していることを確認したいという要求がある。一方、利用者側は、サービス提供側に、必要以上の個人情報を提供したくないという要求もある。このようなサービス提供者側、利用者側のどちらの要求も満足するためには、利用者側が提供する個人情報の正当性を保証しつつ、サービス提供者側には必要以上の個人情報が提供しないで済むような仕組みの実現が望まれる。
このような仕組みを実現するための従来の一方式として、「電子墨塗り方式」と呼ばれる方式が開示されている(特許文献1参照)。図1は、電子墨塗り方式を用いた認証システムのブロック図である。この認証システムは、メッセージに対してその内容を認証してデジタル署名の付与を行い、署名付きメッセージの生成を行う署名生成者90と、その署名付きメッセージを受け取って、必要に応じて「電子墨塗り」を施して署名検証者92に送付する電子墨塗り者91と、電子墨塗り者91から受け取った「電子墨塗り」が施された署名付きメッセージの正当性を検証する署名検証者92とからなる。
この認証システムにおいて、メッセージに署名が付加されて、電子墨塗りが行われ、署名の検証が行われる一連の手順は、次の通りである。まず、署名生成者90は、幾つかのデータブロックからなるメッセージMに対するデジタル署名Sを生成する。このとき、メッセージMが幾つかのデータブロックからなるというのは、例えば、メッセージMが、「犯人山田太郎は、犯行を認めた」という文章であるとき、このメッセージが4つのデータブロック「犯人」、「山田太郎」、「犯行を」、「認めた」に分割可能であるようなことを意味する。次に、そのメッセージMとデジタル署名Sを受け取った電子墨塗り者91は、必要であればデジタル署名を検証した後、メッセージMについて、4つのデータブロックのうち幾つかを「墨塗り」する。例えば、メッセージMが上記例で挙げた4つのデータブロックからなる文章であった場合、電子墨塗り者91は、「山田太郎」に対して電子墨塗りを行ったとする。このとき、メッセージMは「犯人●●●●は、犯行を認めた」というように「山田太郎」の部分を隠す(墨塗りする)ことになる。こうして作られた墨塗り後のメッセージMsと、元のメッセージMに付加されていた署名Sとが署名検証者92に送付される。署名検証者92は、墨塗りされたメッセージMsと署名Sとの間に一定の関係が成り立つことを検証することによって、墨塗りされたメッセージMsの正当性を検証する。このとき、署名検証者92は、メッセージMsが、元のメッセージMの一部を墨塗りして作られたことを確認することができるが、墨塗りされたデータブロック(この例では、「山田太郎」)が何であったかは、知ることができない。このように、電子墨塗り方式では、オリジナルのメッセージの一部を秘匿しつつ、メッセージの正当性が認証可能であり、この例のように、メッセージの一部を秘匿することで、個人のプライバシー(犯人の名前)を保護しつつ、その内容(犯人が犯行を認めたこと)の正当性を確認できるといえる。
また、例えば、「名前=山田太郎」、「年齢=23歳」、「住所=大阪府門真市」という3つのデータブロックからなるメッセージに対して「電子墨塗り方式」を用いることで、名前と住所のみが必要であり、年齢は必要がない場合、メッセージの「年齢=23歳」のブロックを墨塗りした上で、年齢以外の項目(氏名、住所)についてはデジタル署名を検証することによって正しいことを確認することができる。
特開2005−51734号公報
しかしながら、上記従来技術においては、次に述べるようなユースケースにおいて、個人のプライバシーの保護と内容の正当性確認を両立させることができないという問題がある。
例えば、名前と、「年齢が20歳以上であること」だけが確認できればよい場合、上記従来技術においては、データブロックの正確な年齢(23歳)を提示する、もしくは、墨塗りをして年齢をまったく提示しない、のどちらかしか選択できず、正確な年齢を提示せずに、「20歳以上であること」だけを提示することは不可能である。そのために、「20歳以上であること」を提示するために、正確な年齢(23歳)を提示することになり、つまり、必要以上の個人情報を提示することになり、個人のプライバシーが十分に保護されない。
そこで、本発明は、上記の課題を解決するもので、上記のようなユースケースにおいても、個人のプライバシーを十分に保護でき、かつ、サービス提供者側で提示された個人情報の正当性が確認可能な認証システムを提供することを目的とする。
上記目的を達成するために、本発明は、証明したい情報である証明情報をぼかして得られるぼかし情報を提示する端末装置と、前記端末装置によって提示されたぼかし情報の正当性を検証する検証装置と、前記端末装置による正当なぼかし情報の発行を支援する認証装置とからなる認証システムであって、前記認証装置は、少なくも1つの証明情報と前記証明情報に対応する複数のぼかし情報とを保持する情報保持手段と、前記情報保持手段に保持された証明情報とぼかし情報とを含む情報に対してデジタル署名を施すことによってデジタル署名を生成し、生成したデジタル署名と前記証明情報と前記ぼかし情報とを含む情報を認証情報として生成する認証情報生成手段と、生成された認証情報を前記端末装置に送信する第1の送信手段とを備え、前記端末装置は、前記認証装置から送信されてくる認証情報を受信する第1の受信手段と、ユーザからの指示に基づいて、前記受信手段で受信された認証情報に含まれる複数のぼかし情報の中から、少なくとも1つのぼかし情報を選択する旨の指示を受け付けるぼかし指示受付手段と、前記ぼかし指示受付手段によって受け付けられた指示によって選択されるぼかし情報と前記指示を示す指示情報と前記デジタル署名とを含む情報をぼかし認証情報として生成するぼかし認証情報生成手段と、生成されたぼかし認証情報を前記検証装置に送信する第2の送信手段とを備え、前記検証装置は、前記端末装置から送信されてくるぼかし認証情報を受信する第2の受信手段と、前記受信手段で受信されたぼかし認証情報に含まれるデジタル署名に基づいて、前記ぼかし認証情報に含まれる指示情報が示す、前記ぼかし認証情報に含まれるぼかし情報の正当性を検証する署名検証手段とを備えることを特徴とする。
これによって、認証装置において、複数の正当なぼかし情報が予め準備され、端末装置において、ユーザが所望するぼかし情報で証明情報が置き換えられて検証装置に送信され、検証装置において、ぼかし情報の正当性が検証される。つまり、ユーザは、所望の証明情報をぼかし情報に置き換えて提示することできるとともに、ぼかし情報を受け取った検証装置は、そのぼかし情報が認証装置によって正当に発行されたものであることを確認することができる。
なお、本発明は、このような認証システムとして実現できるだけでなく、その認証システムを構成する認証装置単体、端末装置単体、検証装置単体として実現したり、それら認証装置、端末装置、検証装置で実行されるプログラムとして実現したり、そのプログラムが記録されたコンピュータ読み取り可能なCD−ROM等の記録媒体として実現することもできる。
本発明の認証システムによれば、ユーザの身元情報を情報的にぼかした内容に変更ができ、かつ、ぼかした内容の正当性をデジタル署名によって確認可能な認証システムが実現されるという効果がある。
つまり、必要以上に個人情報をさらすことなく、個人情報の正当性を確認できるので、証明すべき必要最低限の情報だけを伝達することができる認証システムが実現される。
図1は、本発明の従来技術に係る認証システムの構成を示す図である。 図2は、本発明の実施の形態に係る認証システムの構成を示すシステム構成図である。 図3は、本発明の実施の形態に係る認証システムにおける通信のやりとりを示す通信シーケンス図である。 図4は、本発明の実施の形態に係るサービス利用装置の構成を示すブロック図である。 図5は、本発明の実施の形態に係るユーザ身元情報及びぼかし用情報の構成の一例を示す図である。 図6は、本発明の実施の形態に係る認証装置の構成を示すブロック図である。 図7は、本発明の実施の形態に係る認証装置の主要な動作を示すフローチャートである。 図8は、本発明の実施の形態に係るぼかし住所情報データベースの構成を示すブロック図である。 図9は、本発明の実施の形態に係る身元認証情報生成部の構成を示すブロック図である。 図10は、本発明の実施の形態に係る分割された身元認証情報の構成の一例を示す図である。 図11は、本発明の実施の形態に係るぼかし身元認証情報生成部の構成を示すブロック図である。 図12は、本発明の実施の形態に係るぼかし身元認証情報生成部の動作手順を示すフローチャートである。 図13は、本発明の実施の形態に係る更新付加情報の構成の一例を示す図である。 図14は、本発明の実施の形態に係るサービス提供装置の構成を示すブロック図である。 図15は、本発明の実施の形態に係るデジタル署名検証部の構成を示すブロック図である。 図16は、本発明の実施の形態に係るデジタル署名検証部の動作手順を示すフローチャートである。 図17は、本発明の実施の形態の変形例に係るハッシュ計算方法を説明するための図である。 図18は、本発明の実施の形態の変形例に係るハッシュ計算方法を説明するための図である。
符号の説明
1 サービス利用装置
2 認証装置
3a〜3c サービス提供装置
10 ユーザ身元情報記憶部
11 身元認証情報発行依頼データ送付部
12 身元認証情報受信部
13 身元認証情報保管部
14 身元認証情報表示部
15 ぼかし指示受付部
16 ぼかし身元認証情報生成部
17 サービス利用要求データ送付部
18 サービスデータ受信部
20 身元認証情報発行依頼受信部
21 ユーザ身元情報確認部
22 ぼかし用情報生成部
23 身元認証情報生成部
24 身元認証情報送信部
30 データ分割部
31 署名検証鍵記憶部
32 デジタル署名検証部
33 ユーザ身元情報確認部
34 ユーザ身元情報保管部
35 サービスデータ送付許可部
36 サービスデータ保管部
37 サービスデータ送付部
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
(認証システムの概要)
図2は、本発明の実施の形態における認証システムの一構成例を示すシステム構成図である。この認証システムは、必要以上に個人情報をさらすことなく、個人情報の正当性を確認できるとともに、証明すべき必要最低限の情報だけを伝達することができる認証システムであり、インターネット等の通信網で接続されたサービス利用装置1、認証装置2及びサービス提供装置3a〜3cから構成される。サービス利用装置1は、証明したい情報である証明情報をぼかして得られるぼかし情報(ここでは、証明情報の内容を曖昧にした内容を示す情報)を提示する端末装置の一例であり、サービス提供装置3a〜3cは、サービス利用装置1によって提示されたぼかし情報の正当性を検証する検証装置の一例であり、認証装置2は、サービス利用装置1による正当なぼかし情報の発行を支援する認証装置の一例である。
本実施の形態では、サービス利用者は、サービス利用装置1を用いて、サービス提供者がサービス提供装置3a〜3cによって提供する各種のサービスを利用する。サービス提供装置3a〜3cは、サービス利用者がサービス利用をする際に、サービス提供のために必要な利用者の個人情報の提示を要求する。このとき、サービス提供装置3a〜3cは、一部の個人情報については、生の情報ではなく、曖昧化(抽象化)された情報の提示を許諾している。たとえば、氏名と住所については、氏名のイニシャルだけ、住所の地方名(「近畿地方」など)の提示を許諾している。
サービス利用装置1は、認証機関である認証装置2により発行された身分証明書を保持しており、上記個人情報の提示要求に対して、この身分証明書を提示する。このとき、サービス利用装置1は、サービス提供装置3a〜3cが要求する個人情報の内容に応じて、上記身分証明書に対して情報のぼかし処理を行った身分証明書をサービス提供装置3a〜3cに提示する。例えば、「氏名」についてはイニシャルだけ、「住所」については地方名だけを提示する。
図3は、この認証システムにおける通信のやりとりを示す通信シーケンス図である。
まず、サービス利用装置1は、認証装置2に対して、身元認証情報(ここでは、身分証明書)の発行を依頼するために、その旨を示す身元認証情報発行依頼データを送信する(S1)。
身元認証情報発行依頼データを受信した認証装置2は、その身元認証情報発行依頼データに基づいて、複数の身元情報とぼかし身元情報との対を含む身元認証情報を生成し(S2)、生成した身元認証情報をサービス利用装置1に返信する(S3)。
身元認証情報を受信したサービス利用装置1は、その身元認証情報に対してユーザの指示に従った変更(一部の項目をぼかす処理)をすることで、身元認証情報に含まれる所望の身元情報をぼかし身元情報に置換したぼかし身元認証情報(ここでは、ぼかした身分証明書)を生成し(S4)、生成したぼかし身元認証情報を含むサービス利用要求データをサービス提供装置3a〜3cに送信する(S5)。
サービス利用要求データを受信したサービス提供装置3a〜3cは、そのサービス利用要求データに含まれるぼかし身元情報を検証し(S6)、正当性を確認できた場合に、要求されたサービスデータをサービス利用装置1に提供する(S7)。
以下では、この認証システムにおけるサービス利用装置1、認証装置2、サービス提供装置3a〜3cの動作について、「システムセットアップ」、「身分証明書発行手続き」(図3におけるS1〜S3)、「サービス利用手続き」(図3におけるS4〜S7)の手続きごとに説明する。
(システムセットアップ)
認証装置2は、認証システムの立ち上げ時に、デジタル署名の署名生成鍵を作成し、認証装置2内に秘密に保持する。また、その署名生成鍵を用いて生成したデジタル署名を検証するための署名検証鍵も同時に作成し、サービス提供装置3a〜3cに配布し、これら装置内に保持させる。ここで、デジタル署名としては、公開鍵暗号方式を用いたデジタル署名法を用いるものとする。公開鍵暗号方式を用いたデジタル署名法は、公知の技術であるため、詳細についてここでは説明しない。
(身分証明書発行手続き)
「身分証明書発行手続き」は、サービス利用者が、この認証システムを最初に利用する時に行う。この手続きにより、サービス利用者は、各種サービスを利用する際に必要となる身分証明書を入手しておく。以下、身分証明書発行手続きの詳細について説明する。
図4は、サービス利用者が、「身分証明書発行手続き」及び「サービス利用手続き」を実行するために使用するサービス利用装置1の一構成例を示すブロック図である。
サービス利用装置1は、サービス利用者が利用するパーソナルコンピュータ等であり、サービス利用者の身元情報(ユーザ身元情報)を記憶するユーザ身元情報記憶部10と、そのユーザ身元情報から身元認証情報発行依頼データ作成して認証装置2に送付する身元認証情報発行依頼データ送付部11と、認証装置2から送付される身元認証情報を受信する身元認証情報受信部12と、受信した身元認証情報を保管する身元認証情報保管部13と、保管している身元認証情報をサービス利用者が見える形で表示する身元認証情報表示部14と、サービス利用者から身元認証情報に対するぼかし処理に関する指示を受け付けるぼかし指示受付部15と、サービス利用者の指示に基づいて、身元認証情報に対してぼかし処理を行ってぼかし身元認証情報を作成するぼかし身元認証情報生成部16と、作成されたぼかし身元認証情報にサービス利用を要求する旨の情報を付加してサービス提供装置3a〜3cのいずれかに送付するサービス利用要求データ送付部17と、サービス提供装置3a〜3cのいずれかから提供されるサービスデータを受信するサービスデータ受信部18とからなる。
サービス利用者が認証機関に対して自身の身元認証情報を発行してほしい旨の依頼をサービス利用装置1に指示すると、サービス利用装置1は、以下の処理を行う。まず、ユーザ身元情報記憶部10は、記憶しているユーザ身元情報を身元認証情報発行依頼データ送付部11に転送する。ここで、ユーザ身元情報とは、サービス利用者の個人情報のことである。ユーザ身元情報の例を、図5(a)に示す。図5(a)において、ユーザ身元情報41は、サービス利用者の氏名として漢字、ローマ字表記で「山田太郎/YAMADA TARO」と示す氏名情報410と、年齢として「24歳」を示す年齢情報411と、住所として「大阪府門真市大字門真1006」を示す住所情報412とからなる。
次に、身元認証情報発行依頼データ送付部11は、ユーザ身元情報41に、このユーザ身元情報に基づいた身元認証情報の発行を依頼する旨のメッセージ情報を付加することによって身元認証情報発行依頼データを作成し、認証装置2に送付する(図3のS1))。
身元認証情報発行依頼データを受信した認証装置2の動作を説明する。図6は、認証装置2の一構成例を示すブロック図である。認証装置2は、サービス利用装置1から送付される身元認証情報発行依頼データを受信する身元認証情報発行依頼データ受信部20と、受信した身元認証情報発行依頼データに含まれるユーザ身元情報41がサービス利用者の個人情報として正確なものであることを確認するユーザ身元情報確認部21と、ユーザ身元情報41に対して「ぼかし」を行うための元となるデータであるぼかし用情報を生成するぼかし用情報生成部22と、ユーザ身元情報41とぼかし用情報に基づいて、デジタル署名を施すことによって身元認証情報を生成する身元認証情報生成部23と、生成された身元認証情報をサービス利用装置1に送付する身元認証情報送信部24とからなる。
図7は、図6に示された認証装置2の主要な動作を示すフローチャートである。
身元認証情報発行依頼データ受信部20は、身元認証情報発行依頼データを受信し、その身元認証情報発行依頼データに含まれるユーザ身元情報41を、ユーザ身元情報確認部21、ぼかし用情報生成部22、及び身元認証情報生成部23に転送する。ユーザ身元情報確認部21は、身元認証情報発行依頼データ受信部20から転送されてきたユーザ身元情報41が、正しいものであることを確認する(図7のS10)。確認する方法としては、例えば、認証装置2は、市役所などの公的機関が保持する住民票データベースとネットワークを介して接続されており、ユーザ身元情報41を、住民票データベースに照会することにより、それが正しいことを確認することができる。ユーザ身元情報41が正しいものと確認されたときに限り、以下の処理を続行する。不正なものであることが判明した場合には、以下の処理は行わず、処理を終了する。
ぼかし用情報生成部22は、次のようにして、サービス利用装置1から受信したユーザ身元情報41に含まれる氏名情報410、年齢情報411、住所情報412に対して、ぼかし用情報を生成する(図7のS11)。ぼかし用情報の例を、図5(b)に示す。まず、氏名情報410については、そのローマ字表記の姓、名それぞれの先頭一文字を取り出して、氏名のイニシャル表記を作成して、ぼかし氏名情報440として生成する。図5に示す例においては、氏名のローマ字表記「YAMADA TARO」の姓の先頭一文字「Y」と名の先頭一文字「T」を取り出して、イニシャル表記の「T.Y」をぼかし氏名情報440とする。
年齢情報411については、年齢の一の位をゼロに変えた年代表記を、ぼかし年齢情報441とする。図5の例では、年齢「24歳」の一の位「4」を「0」に変えて年代表記「20代」としたものを、ぼかし年齢情報441とする。
住所情報412については、ぼかし用情報生成部22の内部に予め保持している、ぼかし住所情報データベースに基づいて、ぼかし住所情報442を生成する。図8は、ぼかし用情報生成部22の内部に保持されているぼかし住所情報データベース42の一例を示すものである。ぼかし住所情報データベース42は、ぼかし住所情報規則420〜424から構成され、例えば、ぼかし住所情報規則420は、住所情報「東京都」は、ぼかし住所情報「関東地方」に変換されることを示す。図5に示す例においては、住所情報432「大阪府門真市大字門真1006」のうち、都道府県を示す「大阪府」を抽出し、これに対して、ぼかし住所規則422を適用して、ぼかし住所情報442を「近畿地方」とする。このようにして生成されたぼかし氏名情報440、ぼかし年齢情報441、ぼかし住所情報442からなる、ぼかし用情報44を生成し、身元認証情報生成部23に転送する。
身元認証情報生成部23は、身元認証情報発行依頼データ受信部20から転送されてくるユーザ身元情報41とぼかし用情報生成部22から転送されてくるぼかし用情報44を元に、身元認証情報を生成する(図7のS12)。
図9は、身元認証情報生成部23の一構成例を示すブロック図である。身元認証情報生成部23は、身元認証情報発行依頼データ受信部20から転送されてくるユーザ身元情報41を分割するデータ分割部230と、乱数を生成する乱数生成部231と、データ分割部230で分割されたユーザ身元情報41のそれぞれに乱数を付加する乱数付加部232と、ハッシュ計算を行なって中間ハッシュ値を生成する中間ハッシュ値生成部233と、生成された中間ハッシュ値にぼかし用情報生成部22から転送されてくるぼかし用情報44を付加するぼかし用情報付加部234と、ぼかし用情報付加部234で得られた情報に対してハッシュ計算を行なって最終ハッシュ値を生成する最終ハッシュ値生成部235と、デジタル署名を生成するための署名生成鍵を記憶する署名生成鍵記憶部236と、最終ハッシュ値生成部235で得られた最終ハッシュ値に対してデジタル署名を作成する署名作成部237と、データ分割部230で分割されたユーザ身元情報41、乱数生成部231が生成した乱数、署名作成部237で作成されたデジタル署名及びぼかし用情報生成部22から転送されてくるぼかし用情報44からサービス利用装置1に送付する身元認証情報を作成する送付データ作成部238とからなる。以下、身元認証情報生成部23の動作(図3のS2)を説明する。
データ分割部230は、入力されるユーザ身元情報41を分割して乱数付加部232及び送付データ作成部238に転送する。具体的には、図5(a)において、ユーザ身元情報41を、氏名情報410、年齢情報411、住所情報412の3つのデータに分割し、乱数付加部232及び送付データ作成部238に転送する。
次に、乱数生成部231は、3つの乱数値r1、r2、r3を生成して、乱数付加部232及び送付データ作成部238に転送する。ここで、発生する乱数の個数は、データ分割部230において生成された分割データの個数と等しい。
次に、乱数付加部232は、上記氏名情報410、年齢情報411、住所情報412を、所定の規則に基づいて、それぞれ数値データm1、m2、m3に変換する。上記所定の規則としては、ASCIIコードから数値への変換などを用いればよい。そして、得られた数値データm1、m2、m3に対して、乱数生成部231で生成した乱数r1、r2、r3をそれぞれ結合して、m1‖r1、m2‖r2、m3‖r3とし、中間ハッシュ値生成部233に転送する。ここで「‖」は、データの結合(例えば、桁連結)を表す。
次に、中間ハッシュ値生成部233は、乱数付加部232から転送されてきたデータm1‖r1、m2‖r2、m3‖r3に対して、以下の計算を行って、中間ハッシュ値i1、i2、i3を生成し、ぼかし用情報付加部234に転送する。
i1=Hash(m1‖r1)
i2=Hash(m2‖r2)
i3=Hash(m3‖r3)
ここでY=Hash(X)は、データXに対して所定のハッシュ計算Hashを行い、その結果をYとすることを意味する。ここで用いるハッシュアルゴリズムHashとしては、公知のハッシュ方式であればなんでもよく、例えば、SHA1方式を使えばよい。
次に、ぼかし用情報付加部234は、ぼかし用情報生成部22から転送されてくるぼかし用情報44を、ぼかし氏名情報440、ぼかし年齢情報441、ぼかし住所情報442の3つのデータに分割し、更にそれぞれのデータを、所定の規則に基づいて、数値データb1、b2、b3に変換する。ここで用いる所定の規則もASCIIコードから数値への変換などを用いればよい。こうして生成された数値データb1、b2、b3を、中間ハッシュ値i1、i2、i3とそれぞれ結合して、結合データi1‖b1、i2‖b2、i3‖b3を作成し、最終ハッシュ値生成部235に転送する。
次に、最終ハッシュ値生成部235は、ぼかし用情報付加部234から転送されたデータi1‖b1、i2‖b2、i3‖b3に対して、以下のハッシュ計算を行い、最終ハッシュ値h1、h2、h3を生成し、署名作成部237に転送する。
h1=Hash(i1‖b1)
h2=Hash(i2‖b2)
h3=Hash(i3‖b3)
署名生成鍵記憶部236は、認証システム立ち上げ時に作成した署名生成鍵を記憶している。最終ハッシュ値生成部235による処理の後、署名生成鍵記憶部236は、記憶している署名生成鍵を署名作成部237に転送する。
次に、署名作成部237は、署名生成鍵記憶部236から転送された署名生成鍵を用いて、最終ハッシュ値h1、h2、h3を元にデジタル署名を生成する。具体的には、以下の計算により、デジタル署名Sを生成する。
S=Sig(Ks、h1‖h2‖h3)
ここで、Ksは署名生成鍵、S=Sig(K、D)は、署名生成鍵Kを用いてデータDに基づくデジタル署名Sを生成することを表す。なお、デジタル署名を生成する方式は公知であるので、ここではその詳細を説明しない。上記のようにして生成したデジタル署名Sを、送付データ作成部238に転送する。
次に、送付データ作成部238は、ユーザ身元情報41、乱数r1、r2、r3、ぼかし用情報44、及び、デジタル署名Sから、図10に示すような身元認証情報43を作成する。ここで、ユーザ身元情報41に含まれる氏名情報410、年齢情報411、住所情報412には、それぞれインデックス値として「1」「2」「3」が付与される。ぼかし用情報44に含まれるぼかし氏名情報440、ぼかし年齢情報441、ぼかし住所情報442にも、それぞれインデックス情報として「1」「2」「3」が付与される。また、身元認証情報43には、ぼかしブロック情報450、乱数r1(451)、乱数r2(452)、乱数r3(453)からなる付加情報45と、デジタル署名S(46)が含まれ、ぼかしブロック情報450、乱数r1〜r3(451〜453)には、それぞれインデックス値として「0」「1」「2」「3」が付与される。ここで、ぼかしブロック情報450とは、身元認証情報43のうち、情報の「ぼかし」が行われている身元情報がどれかをインデックス値で表記している。なお、認証装置2で身元認証情報43を生成した時点では、情報の「ぼかし」が行われる身元情報は無いので、ぼかしブロック情報450としては、「なし」を表すデータが設定されている(後述するように、ぼかしブロック情報450はサービス利用装置1で設定される。)。このようにして、送付データ作成部238は、身元認証情報43を作成して、身元認証情報送信部24に転送する。そして、身元認証情報送信部24は、上記身元認証情報43を、サービス利用装置1に送付する。
サービス利用装置1は、認証装置2から送付される身元認証情報43を、図4に示すように、身元認証情報受信部12にて受信する(図3のS3)。身元認証情報受信部12は、受信した身元認証情報43を、身元認証情報保管部13に転送する。そして、身元認証情報保管部13は、その身元認証情報43を保管する。
(サービス利用手続き)
「サービス利用手続き」は、サービス利用者が、サービス利用装置1を用いて、サービス提供業者がサービス提供装置3a〜3cで提供するサービスを利用する際に実行される。サービス利用手続きを実行する前には、サービス利用装置1は、前述した「身分証明書発行手続き」を実行して、認証装置2から、身元認証情報43の発行を受けている必要がある。図2では、認証システム内に、3つのサービスA、B、Cをそれぞれサービス提供業者A、B、Cが提供する場合について示している。このとき、サービス提供業者Aは、サービス提供装置3aを、サービス提供業者Bは、サービス提供装置3bを、サービス提供業者Cは、サービス提供装置3cを、それぞれ用いてサービスを提供する。サービス利用者は、それらのサービスの中から、利用したいサービスを1つ選び、サービス利用装置1を用いて、そのサービスに対応するサービス提供装置からサービス提供を受ける。以下では、サービス提供者が、サービスAを利用する場合の、サービス利用手続きについて説明するが、サービスB、Cを利用する場合についても、これと同様の手順となる。
最初に、サービス利用者から、サービスAを利用する旨の指示を受けたサービス利用装置1は、図4に示す身元認証情報保管部13にて、その内部に保管している身元認証情報43を、身元認証情報表示部14に転送する。
次に、身元認証情報表示部14は、転送されてきた身元認証情報43に含まれる情報のうち、氏名情報410、年齢情報411、住所情報412を表示し、表示したユーザ身元情報のうち、どの情報に対して「ぼかし」を行うかをサービス利用者に問いかけるメッセージを表示する。表示内容を確認したサービス利用者は、3つの情報から、どれに「ぼかし」を行うかを指示するデータをサービス利用装置1に対して入力し、サービス利用装置1は、ぼかし指示受付部15にて、その指示を受け付ける。このとき、「ぼかし」を行う情報は、1つだけでも良いし、複数を指定しても良いし、1つも「ぼかし」を行わないという指示でも良い。以下では、氏名情報410と住所情報412に対して「ぼかし」を行う指示が、サービス利用者からあった場合について説明する。なお、ユーザ身元情報のうち、どの情報に対して「ぼかし」を行うかは、サービス利用者が全く自由に指定することが可能な場合もあるし、利用するサービスによって予め決められた制約の下で、サービス利用者が指定する場合もある。例えば、利用者の正確な年齢情報を必要とするサービスの場合には、年齢情報については、「ぼかし」をしないことが、そのサービスを利用するための条件となっており、サービス利用者は、年齢情報については、「ぼかし」を行う指示が出せない。ぼかし指示を受け付けたぼかし指示受付部15は、そのぼかし指示を、ぼかし身元認証情報生成部16に転送する。
次に、ぼかし身元認証情報生成部16は、身元認証情報保管部13から入力された身元認証情報43と、ぼかし指示受付部15から転送されてきたぼかし指示を元に、ぼかし身元認証情報を生成する(図3のS4)。以下、その処理詳細について説明する。
図11は、ぼかし身元認証情報生成部16の一構成例を示すブロック図である。ぼかし身元認証情報生成部16は、身元認証情報保管部13から転送されてくる身元認証情報43を複数のデータ(ユーザ身元情報41、ぼかし用情報44、付加情報45、デジタル署名46)に分割するデータ分割部160と、中間ハッシュ値生成部163及び付加情報更新部164にぼかし指示受付部15からの指示を示すぼかし部分指定情報を転送するぼかし部分指定部161と、ぼかし部分指定部161からのぼかし部分指示情報に基づいてユーザ身元情報41に対してぼかし用情報44を用いてぼかし処理を行うことによってぼかしユーザ身元情報47を生成するデータぼかし部162と、ぼかし部分指定部161からのぼかし部分指定情報と付加情報45とに基づいてユーザ身元情報41に対してハッシュ計算を行って中間ハッシュ値を計算する中間ハッシュ値生成部163と、ぼかし部分指定部161からのぼかし部分指定情報に基づいて付加情報45を中間ハッシュ値生成部163からの中間ハッシュ値で更新することによって更新付加情報48を生成する付加情報更新部164と、デジタル署名46、ぼかし用情報44、更新付加情報48及びぼかしユーザ身元情報47を連結してぼかし身元認証情報を作成するデータ連結部165とからなる。
以下、身元認証情報43とぼかし指示を入力されたときのぼかし身元認証情報生成部16の動作について、図12に示された主要な動作を示すフローチャートを用いて説明する。
まず、データ分割部160は、身元認証情報保管部13から転送されてくる身元認証情報43を受け付けて、複数のデータに分割する。具体的には、図10で示されるようなユーザ身元情報41と、ぼかし用情報44と、付加情報45と、デジタル署名46の4つに分割する。そして、ユーザ身元情報41をデータぼかし部162及び中間ハッシュ値生成部163に転送し、ぼかし用情報44をデータぼかし部162及びデータ連結部165に転送し、付加情報45を中間ハッシュ値生成部163及び付加情報更新部164に転送し、デジタル署名46をデータ連結部165に転送する。
次に、ぼかし部分指定部161は、ぼかし指示を受け付けて、その指示を示すぼかし部分指定情報をデータぼかし部162及び中間ハッシュ値生成部163及び付加情報更新部164に転送する。具体的には、ぼかし部分指定情報は、氏名情報と住所情報に対してぼかし処理を行うことを示す情報であり、例えば、氏名情報、住所情報のインデックス値である「1」「3」からなる情報である。
次に、データぼかし部162は、データ分割部160から転送されてくるユーザ身元情報41に対して、ぼかし部分指定部161から転送されてくるぼかし部分指定情報に従って、ぼかし用情報44を用いて、情報の「ぼかし」を行い、ぼかしユーザ身元情報を生成する(図12のS20)。具体的には、「氏名情報と住所情報に対してぼかしを行う」というぼかし部分指定情報に従って、ユーザ身元情報41の氏名情報410をぼかし用情報44のぼかし氏名情報440に置き換えるとともに、ユーザ身元情報41の住所情報412をぼかし用情報44のぼかし住所情報442に置き換える。このようにして、図13に示すような、ぼかしユーザ身元情報47を生成する。ここでは、氏名「山田 太郎/YAMADA TARO」は、「T.Y」というイニシャル表記に情報がぼかされ、住所「大阪府門真市大字門真1006」は、「近畿地方」と情報がぼかされたことになる。そして、データぼかし部162は、このようにして得られたぼかしユーザ身元情報47をデータ連結部165に転送する。
次に、中間ハッシュ値生成部163は、ぼかし部分指定部161から転送されてくるぼかし部分指定情報に従って、データ分割部160から転送されてくるユーザ身元情報41及び付加情報45から中間ハッシュ値を計算する(図12のS21)。具体的には、まず、ぼかし部分指定情報「氏名情報(インデックス値「1」)と住所情報(インデックス値「3」)をぼかし処理する」より、ユーザ身元情報41から、インデックス値「1」と「3」の情報(即ち、氏名情報410と住所情報412)を取り出し、これらを前述の変換規則に従って数値データm1、m3に変換する。また、付加情報45からも、インデックス値「1」と「3」の情報(即ち、乱数r1とr3)を取り出して、以下の計算により、中間ハッシュ値i1とi3を生成する。そして、生成した中間ハッシュ値i1、i3を付加情報更新部164に転送する。
i1=Hash(m1‖r1)
i3=Hash(m3‖r3)
次に、付加情報更新部164は、ぼかし部分指定部161から転送されてくるぼかし部分指定情報に従って、中間ハッシュ値生成部163から転送されてくる中間ハッシュ値i1、i3を用いて、データ分割部160から転送されてくる付加情報45の更新を行う(図12のS22)。具体的には、ぼかし部分指定情報「氏名情報(インデックス値「1」)と住所情報(インデックス値「3」)をぼかし処理する」より、付加情報45のうち、インデックス値「1」と「3」の情報(即ち、氏名情報410と住所情報412)を、それぞれ中間ハッシュ値i1、i3に置き換えて、付加情報の更新を行う。また、ぼかしブロックを表示するインデックス値「0」のデータ領域に、「1」「3」を記憶する。これは、中間ハッシュ値に置き換わったフィールドのインデックス値を示している。図13に、このような付加情報更新部164による付加情報45の更新によって得られる更新付加情報48を示す。本図に示されるように、更新付加情報48は、ぼかしブロック情報480、中間ハッシュ値i1(481)、乱数r2(482)、中間ハッシュ値i3(483)によって構成されている。付加情報更新部164は、こうして更新を行った結果得られる更新付加情報48を、データ連結部165に転送する。
次に、データ連結部165は、データぼかし部162から転送されてくるぼかしユーザ身元情報47、データ分割部160から転送されてくるぼかし用情報44及びデジタル署名46並びに付加情報更新部164から転送されてくる更新付加情報48を結合して、ぼかし身元認証情報を生成する(図12のS23)。図13に、ぼかし身元認証情報49を示す。こうして作成された、ぼかし身元認証情報49を、サービス利用要求データ送付部17に転送し、ぼかし身元認証情報生成部16の処理は完了する。
最後に、図4に示されるように、サービス利用要求データ送付部17は、ぼかし身元認証情報49で生成されたぼかし身元認証情報49に、サービスAの利用を要求する旨のメッセージを付加したデータをサービス利用要求データとして、サービス提供装置3aに送付する(図3のS5)。
次に、サービス利用要求データを受け取った後の、サービス提供装置3a(3b、3c)の内部動作について説明する。図14は、サービス提供装置3a(3b、3c)の一構成例を示すブロック図である。サービス提供装置3a(3b、3c)は、サービス利用装置1から受信したサービス利用要求データからぼかし身元認証情報49を取り出して分割するデータ分割部30と、デジタル署名を検証するための署名検証鍵を記憶する署名検証鍵記憶部31と、署名検証鍵を用いてデジタル署名の検証を行うデジタル署名検証部32と、ユーザ身元情報の確認を行うユーザ身元情報確認部33と、ユーザ身元情報を保管するユーザ身元情報保管部34と、デジタル署名の検証結果及びユーザ身元情報の確認結果を元にサービス利用者へのサービスデータ送付の許可を行うサービスデータ送付許可部35と、サービス利用者に送付するサービスデータを保管するサービスデータ保管部36と、サービス利用者にサービスデータを送付するサービスデータ送付部37とからなる。以下、サービス提供装置3a(3b、3c)の動作詳細について説明する。
まず、データ分割部30は、サービス利用装置1から受信したサービス利用要求データに含まれるぼかし身元認証情報49を取り出し、さらに、ぼかし身元認証情報49を、ぼかしユーザ身元情報47、ぼかし用情報44、更新付加情報48、及びデジタル署名46に分割する。そして、ぼかしユーザ身元情報47をユーザ身元情報確認部33及びデジタル署名検証部32に転送し、ぼかし用情報44、更新付加情報48及びデジタル署名46をデジタル署名検証部32に転送する。
次に、署名検証鍵記憶部31は、記憶している署名検証鍵をデジタル署名検証部32に転送する。
そして、デジタル署名検証部32は、署名検証鍵記憶部31から転送されてくる署名検証鍵を用いて、ぼかしユーザ身元情報47、ぼかし用情報44及び更新付加情報48に基づいてデジタル署名46の検証を行う(図3のS6)。その詳細を以下で説明する。
図15は、デジタル署名検証部32の内部構成例を示すブロック図である。デジタル署名検証部32は、更新付加情報48から中間ハッシュ値と乱数とを取り出す中間ハッシュ値抽出部320と、ぼかしユーザ身元情報47と乱数とから中間ハッシュ値を計算する中間ハッシュ値生成部321と、中間ハッシュ値とぼかしユーザ身元情報47とぼかし用情報44と更新付加情報48とから最終ハッシュ値を計算する最終ハッシュ値生成部322と、署名検証鍵を用いて最終ハッシュ値とデジタル署名46の正当性を検証する署名チェック部323とからなる。
以下、デジタル署名検証部32の内部動作について、その主要な動作フローを示す図16を用いて詳細に説明する。
まず、中間ハッシュ値抽出部320は、更新付加情報48のぼかしブロック情報480を参照してブロック1及び3がぼかし処理をされていることを知る。そして、インデックス値が1と3の領域から、中間ハッシュ値i1(481)及びi3(483)を取り出して、最終ハッシュ値生成部322に転送する(図16のS30)。
次に、中間ハッシュ値生成部321は、更新付加情報48のぼかしブロック情報480を参照して、ブロック2がぼかし処理をされていないことを知る。そして、インデックス値が2の領域から、乱数r2(482)を読み出す。また、ぼかしユーザ身元情報47から、インデックス値が2の年齢情報471を取得して、所定の変換ルールに基づいて数値データm2に変換する。そして、下記の計算式により中間ハッシュ値12を計算し、最終ハッシュ値生成部322に転送する(図16のS31)。
i2=Hash(m2‖r2)
次に、最終ハッシュ値生成部322は、更新付加情報48のぼかしブロック情報480を参照して、ブロック1と3がぼかし処理をされていることを知る。そして、中間ハッシュ値抽出部320から、中間ハッシュ値i1(481)及びi3(483)を受け取る。一方、ぼかしユーザ身元情報47のインデックス値が1と3の領域からぼかし氏名情報470及びぼかし住所情報472を取得し、それぞれを所定の変換ルールに基づいて数値データb1及びb3に変換する。また、ぼかし用情報44のインデックス値が2(ぼかし処理の行われていないブロック)の領域から、ぼかし年齢情報441を取得し所定の変換ルールに従って数値データb2に変換する。さらに、中間ハッシュ値生成部321から中間ハッシュ値i2を受け取る。
そして、最終ハッシュ値生成部322は、このようにして得られた、i1、i3、b1、b2、b3、及び、i2を用いて、以下の計算式により、最終ハッシュ値h1、h2、h3を計算して、署名チェック部323に転送する(図16のS32)。
h1=Hash(i1‖b1)
h2=Hash(i2‖b2)
h3=Hash(i3‖b3)
次に、署名チェック部323は、署名検証鍵Kpを用いて、最終ハッシュ値h1、h2、h3及びデジタル署名Sの正当性を以下のようにしてチェックし、検証結果Resultを、図14に示されるサービスデータ送付許可部35に転送する(図16のS33)。
Result=Verify(Kp,h1‖h2‖h3,S)
ここで、Result=Verify(Kp,d,S)は、検証鍵Kpを用いて、デジタル署名Sがデータdの正当なデジタル署名であるかを検証し、その結果(OKまたはNG)をResultとすることを意味する。
デジタル署名検証部32の処理の後、ユーザ身元情報確認部33は、ぼかしユーザ身元情報47の内容を確認する。具体的には、例えば20歳以上限定のサービスである場合に、年齢情報471を確認して20歳以上であることをチェックする、などである。そのチェックの結果、問題がなければ、ぼかしユーザ身元情報47を、ユーザ身元情報保管部34に転送する。もしも問題が見つかった場合には、以降の処理は行わず、サービス利用者に対して、サービス提供を拒否する旨の通知を行う。
次に、ユーザ身元情報保管部34は、ぼかしユーザ身元情報47をサービス利用者のリストに追加して、ユーザのデータ登録を行う。
サービスデータ送付許可部35は、検証結果ResultがOKであり、かつ、ユーザ身元情報保管部34が、正常にユーザ登録を完了したことを確認した後に、サービスデータ送付許可信号をサービスデータ送付部37に送付する。
サービスデータ送付部37は、サービスデータ保管部36に保管されたサービスデータをサービス利用装置1に送付する(図3のS7)。サービスデータとしては、例えば、音楽や映画などのコンテンツや、地図などの情報が考えられる。
そして、サービス利用装置1は、サービスデータ受信部18にて、サービス提供装置3a(3b、3c)から送付されてくるサービスデータを受信する。
(認証システムの安全性)
次に、この認証システムにおける以下の2点に関する安全性について説明する。
(1)ぼかし身元認証情報から、ぼかしを行う前のユーザ身元情報が分からないこと
(2)身元認証情報から、不正にぼかしを行って作成したぼかし身元認証情報が作成できないこと
まず、上記(1)について説明する。図13に示すぼかし身元認証情報49において、氏名情報と住所情報に対してぼかし処理が行われている。ぼかし身元認証情報49から、ぼかしを行う前の元の氏名情報と住所情報を復元するための、唯一の方法としては、更新付加情報48に含まれる中間ハッシュ値i1(481)及びi3(483)とから、以下の計算式を元に、氏名情報(の数値データ)m1、及び住所情報(の数値データ)m3を逆算するしかない。
i1=Hash(m1‖r1)
i3=Hash(m3‖r3)
ここで、r1、r3は、乱数データであり、ぼかし身元認証情報49から元のユーザ身元情報を求めようとする解析者には知りえないデータである。Hashは、ハッシュ関数であるから、ハッシュ値i1から逆算により、m1‖r1を計算することはできない。よって、解析者は、m1‖r1を予想して、その予想値に対してHashの計算を行って得られた結果がi1と一致するかどうかを検査する、という試行を何度も繰り返すことになる。従って、m1‖r1のデータサイズが十分に大きければ、正しいm1‖r1を求めるために必要になる上記試行回数は膨大になり、計算量の上で正しいm1‖r1を求めることは実質的には、不可能である。また、氏名情報m1については、ぼかし氏名情報「T.Y」から、ある程度候補が絞り込める(イニシャルT.Yの氏名に限定される)ので上記試行回数は削減されるが、乱数r1は全くランダムな値であるため、m1のような絞込みは行えない。従って、乱数が十分なデータ長(例えば、64ビット以上)を有していれば、たとえm1については、候補の絞込みが行えたとしても、安全性上問題は生じない。
次に、上記(2)の安全性について説明する。上記実施の形態においては、サービス利用者は、サービス利用装置1に、氏名情報410と住所情報412に対して、ぼかし処理を指示して、サービス利用装置1は、ぼかし処理を行った。デジタル署名Sは、認証装置2によって以下のように生成される。
1.身元情報m1、m2、m3に対して適切なぼかし用情報b1、b2、b3を生成。
2.乱数r1、r2、r3を生成して、以下のi1、i2、i3を計算。
i1=Hash(m1‖r1)
i2=Hash(m2‖r2)
i3=Hash(m3‖r3)
3.以下の式により、h1、h2、h3を計算。
h1=Hash(i1‖b1)
h2=Hash(i2‖b2)
h3=Hash(i3‖b3)
4.h1‖h2‖h3に対して、署名鍵を用いてデジタル署名Sを生成。
もし、ぼかし処理を行う際に、認証装置2が定めたぼかし用情報b1、b2、b3以外の情報でぼかし処理を行った場合、署名検証処理において、最終ハッシュ値計算で用いる、b1、b2、b3が、署名生成時とは異なる値b1’、b2’、b3’として計算されるため、h1、h2、h3とは異なる最終ハッシュ値h1’、h2’、h3’が計算される。従って、b1、b2、b3のどれかひとつでも違う値になると、署名検証は、h1‖h2‖h3とは異なる値に対して行われるために、署名検証は不合格になる。
以上のようにして、サービス利用装置1は、身元認証情報(本実施の形態では、身分証明書)に記載している氏名「山田太郎/YAMADA TARO」をイニシャル表記の「T.Y」に、住所「大阪府門真市大字門真1006」を「近畿地方」に置き換えることで、情報的に「ぼかし」を行った上で、サービス提供装置3aに送付することができる。
本実施の形態では、身元認証情報に対して「ぼかし」を行うとき、いちいち認証装置2に身元認証情報の再発行を要求することはなく、身元認証情報の「ぼかし」を行う際には、認証装置2の処理負荷はかからない。また、サービス提供装置3aは、その「ぼかし」が行われた身元認証情報(ぼかし身元認証情報)が、元の正しい身元認証情報から正しく「ぼかし」が行われたことを、署名検証により確認することができる。即ち、身元認証情報を認証局の助けを必要とせずにユーザ側でぼかし処理が行える認証システムが実現できている。
更に、例えば、認証装置が署名とともに署名を施した時刻を付与することにより、「2003年12月3日に、24歳であることが認証局(認証装置)によって認証された」ということを身元認証情報により保証し、その後、利用者側にて、「2003年12月3日に、“20歳代”であることが認証局(認証装置)によって認証された」とぼかしてサービス提供者に提示するような機能も、本発明の認証システムでは実現可能である。一方、ぼかしを行うたびに認証装置2に身元認証情報を再発行を要求する構成では、この機能は実現し得ない。なぜなら、認証装置は再発行の時に、再発行時の現在時刻を付与するので、例えば、再発行により「2005年3月31日に、“20歳代”であることが認証局によって認証された」ということを証明する身元認証情報になってしまい、2003年12月3日に認証されたという情報は損なわれてしまうからである。これは、認証された内容とともに、認証された時刻も重要となるようなアプリケーションにおいては問題となる。
なお、本実施の形態では、ユーザなどの身元を示す文字情報を対象としているが、これは、数値化が可能な情報であれば何でもよく、例えば、画像情報、音声情報であってもよい。
また、一方向性関数はハッシュ関数に限定されるものはなく、さらに、用いるハッシュ方式、デジタル署名方式は、特定の方式に限定されるものではない。
また、本実施の形態では、ユーザ身元情報として、氏名情報、年齢情報、住所情報の3つとしているが、本発明は、この種類、この個数に限定されるものではない。さらに、認証システムが対象とするデータも、ユーザ身元情報に限定されるものではない。
また、本実施の形態では、認証装置が、ユーザから提出されるユーザ身元情報からぼかし用情報を生成しているが、このぼかし用情報はユーザが作成してユーザ身元情報とともに提出するようにしてもよい。この場合、認証装置がユーザが提出したぼかし用情報が、ユーザ身元情報の内容を正しくぼかしたものになっているかを確認するようにして、正しいと判断される場合に、身元認証情報を発行するようにしてもよい。
また、本実施の形態では、ぼかし用情報は、ユーザ身元情報の内容を曖昧化したものとして生成したが、これに限られるものでなく、両者が互いに論理的に矛盾しない内容のもの(あるいは、ユーザ身元情報の内容を概念的に包含する関係にある)としてもよい。例えば、ユーザ身元情報として「りんごが好きである」とし、ぼかし用情報として「みかんが好きである」とした場合に、両者は論理的には矛盾していない。その場合には、サービス提供装置3a〜3cは、サービス利用装置1から送られてくるぼかし認証情報に含まれるぼかし情報が対応する証明情報と論理的に矛盾しないことを確認すればよい。具体的には、証明情報と論理的に矛盾しないぼかし情報の一覧を保持しておき、その一覧にあるぼかし情報を受け取った場合に、証明情報とぼかし情報とが論理的に矛盾しない(あるいは、ぼかし情報が照明情報の内容を概念的に包含する関係にある)と判断すればよい。それによって、サービス提供装置3a〜3cは、例えば、サービス利用装置1から送られてきたぼかし情報が「みかんが好きである」場合に、「りんごが好きである」という証明情報と論理的に矛盾しないと分かるので、そのぼかし情報が正当であると判断することができる。
なお、本実施の形態では、例えば、氏名情報に対して1つのぼかし用情報が対応しているが、これは、複数のぼかし用情報が存在しており、ユーザが、ぼかし処理を行う際に上記複数のぼかし用情報から好きなものを1つ選んで、ぼかし処理を行うことも可能である。以下その方法について説明する。実施の形態では、ユーザ身元情報が氏名、年齢、住所の3つの身元情報からなる場合の例で説明したが、ここでは簡単のために、ユーザ身元情報が、1つの身元情報からなる場合で説明する。この場合、実施の形態におけるデジタル署名の生成、ぼかし処理、デジタル署名検証の処理は以下のように要約できる。
(デジタル署名生成)
1.身元情報mに対してぼかし用情報を1つ(b)を定める。
2.乱数rを生成して、中間ハッシュ値i、最終ハッシュ値hを以下の式により計算する。
i=Hash(m‖r) ・・・(式1)
h=Hash(i‖b) ・・・(式2)
3.最終ハッシュ値hに対して、署名生成鍵を用いて署名Sを生成する。
4.身元情報m、ぼかし用情報b、乱数r、署名Sを身元認証情報として、ユーザに送付する。
(ぼかし処理)
1.身元情報mと乱数rとから、(式1)に従って、中間ハッシュ値iを計算する。
2.ぼかし身元情報b、中間ハッシュ値i、署名Sをぼかし身元認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし身元情報bと中間ハッシュ値iとから、(式2)に従って、最終ハッシュ値hを計算する。
2.署名検証鍵を用いて、最終ハッシュ値hと署名Sに対して署名検証を行う。
身元情報mに対して、ぼかし用情報が複数ある場合の署名生成、ぼかし処理、署名検証を行う場合の変形例を二つ(変形例1、変形例2)説明する。ここでは、ぼかし用情報が7個(b1〜b7)ある場合を例にして説明する。
(変形例1)
(署名生成)
1.身元情報mに対して7個のぼかし用情報b1〜b7を生成する。
2.8個の乱数r0〜r7を生成して、ハッシュ値h000〜h111を計算する。
h000=Hash(m‖r0)
h001=Hash(b1‖r1)
h010=Hash(b2‖r2)
h011=Hash(b3‖r3)
h100=Hash(b4‖r4)
h101=Hash(b5‖r5)
h110=Hash(b6‖r6)
h111=Hash(b7‖r7)
3.図17に示すツリー構造に従って最終ハッシュ値hを計算する。このツリー構造において、h**(1つの「*」が0又は1)は、
h**=Hash(h**0‖h**1)
に従って計算する。更に、h*は、
h*=Hash(h*0‖h*1)
に従って計算する。そして、最終ハッシュ値hは、
h=Hash(h0‖h1)
により計算する。
3.最終ハッシュ値hに対して、署名生成鍵を用いてデジタル署名Sを生成する。
4.身元情報m、ぼかし用情報b1〜b7、乱数r0〜r7、デジタル署名Sをユーザに送付する。
(ぼかし処理)
ぼかし用情報b4を用いて身元情報mにぼかし処理を行う場合を例に説明する。
1.(署名生成)の2.と同様の手順により、最終ハッシュ値hを求める。
2.以下のようにして、署名検証者に送付するハッシュ値を選択する。まず、選択したぼかし用情報b4のインデックス「4」を2進数「100」に変換する。ここで、「100」の末尾の01を反転させて「101」を得て、h101を選択する。次に「100」の末尾を削除して「10」を得る。ここで、「10」の末尾の01を反転させて「11」を得て、h11を選択する。さらに、「10」の末尾を削除して「1」を得る。「1」の01を反転して「0」を得て、h0を選択する。上記の手順により、h101、h11、h0が選択される。この手順は、図18のツリーで説明できる。即ち、b4に対応するハッシュ値h100からルートに至るまでのパスを考え(図の太線)、そのパスに含まれる各ノードの子ノードのうち、上記パスに含まれていない方の子ノードに割り当てられているハッシュ値を選択することになる。
3.ぼかし身元情報b4、乱数r4、ハッシュ値h101、h11、h0、署名Sをぼかし身元認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし身元情報b4、乱数r4、とハッシュ値h101、h11、h0とから、最終ハッシュ値hを計算する。具体的には、
h100=Hash(b4‖r4)
を計算し、
h10=Hash(h100‖h101)
h1=Hash(h10‖h11)
h=Hash(h0‖h1)
を計算することで求められる。
2.署名検証鍵を用いて、最終ハッシュ値hと署名Sに対して署名検証を行う。
(変形例2)
(署名生成)
1.身元情報mに対して7個のぼかし用情報b1〜b7を生成する。
2.8個の乱数r0〜r7を生成して、ハッシュ値h0〜h7を計算する。
h0=Hash(m‖r0)
h1=Hash(b1‖r1)
h2=Hash(b2‖r2)
h3=Hash(b3‖r3)
h4=Hash(b4‖r4)
h5=Hash(b5‖r5)
h6=Hash(b6‖r6)
h7=Hash(b7‖r7)
3.最終ハッシュ値hを、
h=Hash(h0‖h1‖h2‖・・・‖h7)
により計算する。
3.最終ハッシュ値hに対して、署名生成鍵を用いてデジタル署名Sを生成する。
4.身元情報m、ぼかし用情報b1〜b7、乱数r0〜r7、デジタル署名Sをユーザに送付する。
(ぼかし処理)
ぼかし用情報b4を用いて身元情報mにぼかし処理を行う場合を例に説明する。
1.(署名生成)の2.と同様の手順により、最終ハッシュ値hを求める。
3.ぼかし身元情報b4、乱数r4、及び、ぼかし用情報b4に対応するハッシュ値h4を除いたハッシュ値h0、h1、h2、h3、h5、h6、h7、署名Sをぼかし身元認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし身元情報b4、乱数r4、とハッシュ値h0、h1、h2、h3、h5、h6、h7とから、最終ハッシュ値hを計算する。具体的には、
h4=Hash(b4‖r4)
を計算し、
h=Hash(h0‖h1‖h2‖・・・‖h7)
を計算することで求められる。
2.署名検証鍵を用いて、最終ハッシュ値hと署名Sに対して署名検証を行う。
以上のどちらの変形例においても、ひとつの身元情報に対して複数のぼかし用情報が設定可能な、認証システムが実現できる。なお、上記2つの変形例において、ぼかし用情報は必ずしも複数(2個以上)である必要はなく、ぼかし用情報が1つでもよい。また、本変形例では、ユーザ身元情報が1つの場合について説明しているが、これは複数のユーザ身元情報からなる場合にも自明な拡張により適用可能である。
また、本発明のような電子ぼかし機能は、従来技術で述べた「電子墨塗り技術」を改良した以下の方法でも実現可能である。
(署名生成)
1.身元情報b0からぼかし用情報b1〜b7を生成。
2.上記b0〜b7から、電子墨塗り技術を用いて、電子署名Sを作成。
3.b0〜b7及びSをユーザに送付する。
(ぼかし処理)
1.ぼかし処理に使用するぼかし用情報をb1〜b7から一つ選択する(以下では、b3を選んだものとする)。
2.b0〜b7のうち、b3以外の情報を「墨塗り」した墨塗りデータを作成し、これをぼかし認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし認証情報を「b3以外のデータが墨塗りされた墨塗りデータ」として署名検証を行う。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが上記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。上記RAMには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。上記ICカードまたは上記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。上記ICカードまたは上記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、上記ICカードまたは上記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、上記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムにしたがって動作するとしてもよい。
また、上記プログラムまたは上記デジタル信号を上記記録媒体に記録して移送することにより、または上記プログラムまたは上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例における構成要素を任意に組み合わせてもよい。
本発明にかかる認証システムは、個人情報等の証明書データを認証するシステムとして、特に、認証装置によって生成された認証データの内容の一部を、それを受け取った利用者が認証装置の助けなしに、情報的にぼかし処理をすることが可能であるという特徴を有するので、利用者の匿名性が可能な利用者認証システムとして有用である。
本発明は、身分証明書などの第三者機関によって認証された証明書データに対して、証明書の保持者のプライバシーを確保しつつ、正確に本人認証を行う認証システムに関する。
近年、一般家庭へのインターネットの普及に伴い、ネットワークを介した商品の販売や、音楽や映像といったデジタルコンテンツの配信といった各種サービスの提供が盛んになってきた。そのようなサービスの提供の際に、サービス提供側は、そのサービス提供のために必要な、利用者の個人情報を利用者から入手する必要がある。例えば、ネットワークを介した商品販売であれば、商品を配送するために利用者の氏名、住所、電話番号を入手する必要があり、商品代金の決済のために、クレジットカード番号の入手が必要となる場合もある。更に、商品の購買動向を調査して今後の販促活動に活用するために、利用者の年齢や職業なども入手する場合もある。また、利用者から個人情報を入手する際には、サービス提供者側は、その入手した個人情報が正しい内容であること、即ち、利用者が、自分の正確な個人情報を虚偽なく申告していることを確認したいという要求がある。一方、利用者側は、サービス提供側に、必要以上の個人情報を提供したくないという要求もある。このようなサービス提供者側、利用者側のどちらの要求も満足するためには、利用者側が提供する個人情報の正当性を保証しつつ、サービス提供者側には必要以上の個人情報が提供しないで済むような仕組みの実現が望まれる。
このような仕組みを実現するための従来の一方式として、「電子墨塗り方式」と呼ばれる方式が開示されている(特許文献1参照)。図1は、電子墨塗り方式を用いた認証システムのブロック図である。この認証システムは、メッセージに対してその内容を認証してデジタル署名の付与を行い、署名付きメッセージの生成を行う署名生成者90と、その署名付きメッセージを受け取って、必要に応じて「電子墨塗り」を施して署名検証者92に送付する電子墨塗り者91と、電子墨塗り者91から受け取った「電子墨塗り」が施された署名付きメッセージの正当性を検証する署名検証者92とからなる。
この認証システムにおいて、メッセージに署名が付加されて、電子墨塗りが行われ、署名の検証が行われる一連の手順は、次の通りである。まず、署名生成者90は、幾つかのデータブロックからなるメッセージMに対するデジタル署名Sを生成する。このとき、メッセージMが幾つかのデータブロックからなるというのは、例えば、メッセージMが、「犯人山田太郎は、犯行を認めた」という文章であるとき、このメッセージが4つのデータブロック「犯人」、「山田太郎」、「犯行を」、「認めた」に分割可能であるようなことを意味する。次に、そのメッセージMとデジタル署名Sを受け取った電子墨塗り者91は、必要であればデジタル署名を検証した後、メッセージMについて、4つのデータブロックのうち幾つかを「墨塗り」する。例えば、メッセージMが上記例で挙げた4つのデータブロックからなる文章であった場合、電子墨塗り者91は、「山田太郎」に対して電子墨塗りを行ったとする。このとき、メッセージMは「犯人●●●●は、犯行を認めた」というように「山田太郎」の部分を隠す(墨塗りする)ことになる。こうして作られた墨塗り後のメッセージMsと、元のメッセージMに付加されていた署名Sとが署名検証者92に送付される。署名検証者92は、墨塗りされたメッセージMsと署名Sとの間に一定の関係が成り立つことを検証することによって、墨塗りされたメッセージMsの正当性を検証する。このとき、署名検証者92は、メッセージMsが、元のメッセージMの一部を墨塗りして作られたことを確認することができるが、墨塗りされたデータブロック(この例では、「山田太郎」)が何であったかは、知ることができない。このように、電子墨塗り方式では、オリジナルのメッセージの一部を秘匿しつつ、メッセージの正当性が認証可能であり、この例のように、メッセージの一部を秘匿することで、個人のプライバシー(犯人の名前)を保護しつつ、その内容(犯人が犯行を認めたこと)の正当性を確認できるといえる。
また、例えば、「名前=山田太郎」、「年齢=23歳」、「住所=大阪府門真市」という3つのデータブロックからなるメッセージに対して「電子墨塗り方式」を用いることで、名前と住所のみが必要であり、年齢は必要がない場合、メッセージの「年齢=23歳」のブロックを墨塗りした上で、年齢以外の項目(氏名、住所)についてはデジタル署名を検証することによって正しいことを確認することができる。
特開2005−51734号公報
しかしながら、上記従来技術においては、次に述べるようなユースケースにおいて、個人のプライバシーの保護と内容の正当性確認を両立させることができないという問題がある。
例えば、名前と、「年齢が20歳以上であること」だけが確認できればよい場合、上記従来技術においては、データブロックの正確な年齢(23歳)を提示する、もしくは、墨塗りをして年齢をまったく提示しない、のどちらかしか選択できず、正確な年齢を提示せずに、「20歳以上であること」だけを提示することは不可能である。そのために、「20歳以上であること」を提示するために、正確な年齢(23歳)を提示することになり、つまり、必要以上の個人情報を提示することになり、個人のプライバシーが十分に保護されない。
そこで、本発明は、上記の課題を解決するもので、上記のようなユースケースにおいても、個人のプライバシーを十分に保護でき、かつ、サービス提供者側で提示された個人情報の正当性が確認可能な認証システムを提供することを目的とする。
上記目的を達成するために、本発明は、証明したい情報である証明情報をぼかして得られるぼかし情報を提示する端末装置と、前記端末装置によって提示されたぼかし情報の正当性を検証する検証装置と、前記端末装置による正当なぼかし情報の発行を支援する認証装置とからなる認証システムであって、前記認証装置は、少なくも1つの証明情報と前記証明情報に対応する複数のぼかし情報とを保持する情報保持手段と、前記情報保持手段に保持された証明情報とぼかし情報とを含む情報に対してデジタル署名を施すことによってデジタル署名を生成し、生成したデジタル署名と前記証明情報と前記ぼかし情報とを含む情報を認証情報として生成する認証情報生成手段と、生成された認証情報を前記端末装置に送信する第1の送信手段とを備え、前記端末装置は、前記認証装置から送信されてくる認証情報を受信する第1の受信手段と、ユーザからの指示に基づいて、前記受信手段で受信された認証情報に含まれる複数のぼかし情報の中から、少なくとも1つのぼかし情報を選択する旨の指示を受け付けるぼかし指示受付手段と、前記ぼかし指示受付手段によって受け付けられた指示によって選択されるぼかし情報と前記指示を示す指示情報と前記デジタル署名とを含む情報をぼかし認証情報として生成するぼかし認証情報生成手段と、生成されたぼかし認証情報を前記検証装置に送信する第2の送信手段とを備え、前記検証装置は、前記端末装置から送信されてくるぼかし認証情報を受信する第2の受信手段と、前記受信手段で受信されたぼかし認証情報に含まれるデジタル署名に基づいて、前記ぼかし認証情報に含まれる指示情報が示す、前記ぼかし認証情報に含まれるぼかし情報の正当性を検証する署名検証手段とを備えることを特徴とする。
これによって、認証装置において、複数の正当なぼかし情報が予め準備され、端末装置において、ユーザが所望するぼかし情報で証明情報が置き換えられて検証装置に送信され、検証装置において、ぼかし情報の正当性が検証される。つまり、ユーザは、所望の証明情報をぼかし情報に置き換えて提示することができるとともに、ぼかし情報を受け取った検証装置は、そのぼかし情報が認証装置によって正当に発行されたものであることを確認することができる。
なお、本発明は、このような認証システムとして実現できるだけでなく、その認証システムを構成する認証装置単体、端末装置単体、検証装置単体として実現したり、それら認証装置、端末装置、検証装置で実行されるプログラムとして実現したり、そのプログラムが記録されたコンピュータ読み取り可能なCD−ROM等の記録媒体として実現することもできる。
本発明の認証システムによれば、ユーザの身元情報を情報的にぼかした内容に変更ができ、かつ、ぼかした内容の正当性をデジタル署名によって確認可能な認証システムが実現されるという効果がある。
つまり、必要以上に個人情報をさらすことなく、個人情報の正当性を確認できるので、証明すべき必要最低限の情報だけを伝達することができる認証システムが実現される。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
(認証システムの概要)
図2は、本発明の実施の形態における認証システムの一構成例を示すシステム構成図である。この認証システムは、必要以上に個人情報をさらすことなく、個人情報の正当性を確認できるとともに、証明すべき必要最低限の情報だけを伝達することができる認証システムであり、インターネット等の通信網で接続されたサービス利用装置1、認証装置2及びサービス提供装置3a〜3cから構成される。サービス利用装置1は、証明したい情報である証明情報をぼかして得られるぼかし情報(ここでは、証明情報の内容を曖昧にした内容を示す情報)を提示する端末装置の一例であり、サービス提供装置3a〜3cは、サービス利用装置1によって提示されたぼかし情報の正当性を検証する検証装置の一例であり、認証装置2は、サービス利用装置1による正当なぼかし情報の発行を支援する認証装置の一例である。
本実施の形態では、サービス利用者は、サービス利用装置1を用いて、サービス提供者がサービス提供装置3a〜3cによって提供する各種のサービスを利用する。サービス提供装置3a〜3cは、サービス利用者がサービス利用をする際に、サービス提供のために必要な利用者の個人情報の提示を要求する。このとき、サービス提供装置3a〜3cは、一部の個人情報については、生の情報ではなく、曖昧化(抽象化)された情報の提示を許諾している。たとえば、氏名と住所については、氏名のイニシャルだけ、住所の地方名(「近畿地方」など)の提示を許諾している。
サービス利用装置1は、認証機関である認証装置2により発行された身分証明書を保持しており、上記個人情報の提示要求に対して、この身分証明書を提示する。このとき、サービス利用装置1は、サービス提供装置3a〜3cが要求する個人情報の内容に応じて、上記身分証明書に対して情報のぼかし処理を行った身分証明書をサービス提供装置3a〜3cに提示する。例えば、「氏名」についてはイニシャルだけ、「住所」については地方名だけを提示する。
図3は、この認証システムにおける通信のやりとりを示す通信シーケンス図である。
まず、サービス利用装置1は、認証装置2に対して、身元認証情報(ここでは、身分証明書)の発行を依頼するために、その旨を示す身元認証情報発行依頼データを送信する(S1)。
身元認証情報発行依頼データを受信した認証装置2は、その身元認証情報発行依頼データに基づいて、複数の身元情報とぼかし身元情報との対を含む身元認証情報を生成し(S2)、生成した身元認証情報をサービス利用装置1に返信する(S3)。
身元認証情報を受信したサービス利用装置1は、その身元認証情報に対してユーザの指示に従った変更(一部の項目をぼかす処理)をすることで、身元認証情報に含まれる所望の身元情報をぼかし身元情報に置換したぼかし身元認証情報(ここでは、ぼかした身分証明書)を生成し(S4)、生成したぼかし身元認証情報を含むサービス利用要求データをサービス提供装置3a〜3cに送信する(S5)。
サービス利用要求データを受信したサービス提供装置3a〜3cは、そのサービス利用要求データに含まれるぼかし身元情報を検証し(S6)、正当性を確認できた場合に、要求されたサービスデータをサービス利用装置1に提供する(S7)。
以下では、この認証システムにおけるサービス利用装置1、認証装置2、サービス提供装置3a〜3cの動作について、「システムセットアップ」、「身分証明書発行手続き」(図3におけるS1〜S3)、「サービス利用手続き」(図3におけるS4〜S7)の手続きごとに説明する。
(システムセットアップ)
認証装置2は、認証システムの立ち上げ時に、デジタル署名の署名生成鍵を作成し、認証装置2内に秘密に保持する。また、その署名生成鍵を用いて生成したデジタル署名を検証するための署名検証鍵も同時に作成し、サービス提供装置3a〜3cに配布し、これら装置内に保持させる。ここで、デジタル署名としては、公開鍵暗号方式を用いたデジタル署名法を用いるものとする。公開鍵暗号方式を用いたデジタル署名法は、公知の技術であるため、詳細についてここでは説明しない。
(身分証明書発行手続き)
「身分証明書発行手続き」は、サービス利用者が、この認証システムを最初に利用する時に行う。この手続きにより、サービス利用者は、各種サービスを利用する際に必要となる身分証明書を入手しておく。以下、身分証明書発行手続きの詳細について説明する。
図4は、サービス利用者が、「身分証明書発行手続き」及び「サービス利用手続き」を実行するために使用するサービス利用装置1の一構成例を示すブロック図である。
サービス利用装置1は、サービス利用者が利用するパーソナルコンピュータ等であり、サービス利用者の身元情報(ユーザ身元情報)を記憶するユーザ身元情報記憶部10と、そのユーザ身元情報から身元認証情報発行依頼データを作成して認証装置2に送付する身元認証情報発行依頼データ送付部11と、認証装置2から送付される身元認証情報を受信する身元認証情報受信部12と、受信した身元認証情報を保管する身元認証情報保管部13と、保管している身元認証情報をサービス利用者が見える形で表示する身元認証情報表示部14と、サービス利用者から身元認証情報に対するぼかし処理に関する指示を受け付けるぼかし指示受付部15と、サービス利用者の指示に基づいて、身元認証情報に対してぼかし処理を行ってぼかし身元認証情報を作成するぼかし身元認証情報生成部16と、作成されたぼかし身元認証情報にサービス利用を要求する旨の情報を付加してサービス提供装置3a〜3cのいずれかに送付するサービス利用要求データ送付部17と、サービス提供装置3a〜3cのいずれかから提供されるサービスデータを受信するサービスデータ受信部18とからなる。
サービス利用者が認証機関に対して自身の身元認証情報を発行してほしい旨の依頼をサービス利用装置1に指示すると、サービス利用装置1は、以下の処理を行う。まず、ユーザ身元情報記憶部10は、記憶しているユーザ身元情報を身元認証情報発行依頼データ送付部11に転送する。ここで、ユーザ身元情報とは、サービス利用者の個人情報のことである。ユーザ身元情報の例を、図5(a)に示す。図5(a)において、ユーザ身元情報41は、サービス利用者の氏名として漢字、ローマ字表記で「山田 太郎/YAMADA TARO」と示す氏名情報410と、年齢として「24歳」を示す年齢情報411と、住所として「大阪府門真市大字門真1006」を示す住所情報412とからなる。
次に、身元認証情報発行依頼データ送付部11は、ユーザ身元情報41に、このユーザ身元情報に基づいた身元認証情報の発行を依頼する旨のメッセージ情報を付加することによって身元認証情報発行依頼データを作成し、認証装置2に送付する(図3のS1)。
身元認証情報発行依頼データを受信した認証装置2の動作を説明する。図6は、認証装置2の一構成例を示すブロック図である。認証装置2は、サービス利用装置1から送付される身元認証情報発行依頼データを受信する身元認証情報発行依頼データ受信部20と、受信した身元認証情報発行依頼データに含まれるユーザ身元情報41がサービス利用者の個人情報として正確なものであることを確認するユーザ身元情報確認部21と、ユーザ身元情報41に対して「ぼかし」を行うための元となるデータであるぼかし用情報を生成するぼかし用情報生成部22と、ユーザ身元情報41とぼかし用情報に基づいて、デジタル署名を施すことによって身元認証情報を生成する身元認証情報生成部23と、生成された身元認証情報をサービス利用装置1に送付する身元認証情報送信部24とからなる。
図7は、図6に示された認証装置2の主要な動作を示すフローチャートである。
身元認証情報発行依頼データ受信部20は、身元認証情報発行依頼データを受信し、その身元認証情報発行依頼データに含まれるユーザ身元情報41を、ユーザ身元情報確認部21、ぼかし用情報生成部22、及び身元認証情報生成部23に転送する。ユーザ身元情報確認部21は、身元認証情報発行依頼データ受信部20から転送されてきたユーザ身元情報41が、正しいものであることを確認する(図7のS10)。確認する方法としては、例えば、認証装置2は、市役所などの公的機関が保持する住民票データベースとネットワークを介して接続されており、ユーザ身元情報41を、住民票データベースに照会することにより、それが正しいことを確認することができる。ユーザ身元情報41が正しいものと確認されたときに限り、以下の処理を続行する。不正なものであることが判明した場合には、以下の処理は行わず、処理を終了する。
ぼかし用情報生成部22は、次のようにして、サービス利用装置1から受信したユーザ身元情報41に含まれる氏名情報410、年齢情報411、住所情報412に対して、ぼかし用情報を生成する(図7のS11)。ぼかし用情報の例を、図5(b)に示す。まず、氏名情報410については、そのローマ字表記の姓、名それぞれの先頭一文字を取り出して、氏名のイニシャル表記を作成して、ぼかし氏名情報440として生成する。図5に示す例においては、氏名のローマ字表記「YAMADA TARO」の姓の先頭一文字「Y」と名の先頭一文字「T」を取り出して、イニシャル表記の「T.Y」をぼかし氏名情報440とする。
年齢情報411については、年齢の一の位をゼロに変えた年代表記を、ぼかし年齢情報441とする。図5の例では、年齢「24歳」の一の位「4」を「0」に変えて年代表記「20代」としたものを、ぼかし年齢情報441とする。
住所情報412については、ぼかし用情報生成部22の内部に予め保持している、ぼかし住所情報データベースに基づいて、ぼかし住所情報442を生成する。図8は、ぼかし用情報生成部22の内部に保持されているぼかし住所情報データベース42の一例を示すものである。ぼかし住所情報データベース42は、ぼかし住所情報規則420〜424から構成され、例えば、ぼかし住所情報規則420は、住所情報「東京都」は、ぼかし住所情報「関東地方」に変換されることを示す。図5に示す例においては、住所情報432「大阪府門真市大字門真1006」のうち、都道府県を示す「大阪府」を抽出し、これに対して、ぼかし住所規則422を適用して、ぼかし住所情報442を「近畿地方」とする。このようにして生成されたぼかし氏名情報440、ぼかし年齢情報441、ぼかし住所情報442からなる、ぼかし用情報44を生成し、身元認証情報生成部23に転送する。
身元認証情報生成部23は、身元認証情報発行依頼データ受信部20から転送されてくるユーザ身元情報41とぼかし用情報生成部22から転送されてくるぼかし用情報44を元に、身元認証情報を生成する(図7のS12)。
図9は、身元認証情報生成部23の一構成例を示すブロック図である。身元認証情報生成部23は、身元認証情報発行依頼データ受信部20から転送されてくるユーザ身元情報41を分割するデータ分割部230と、乱数を生成する乱数生成部231と、データ分割部230で分割されたユーザ身元情報41のそれぞれに乱数を付加する乱数付加部232と、ハッシュ計算を行なって中間ハッシュ値を生成する中間ハッシュ値生成部233と、生成された中間ハッシュ値にぼかし用情報生成部22から転送されてくるぼかし用情報44を付加するぼかし用情報付加部234と、ぼかし用情報付加部234で得られた情報に対してハッシュ計算を行なって最終ハッシュ値を生成する最終ハッシュ値生成部235と、デジタル署名を生成するための署名生成鍵を記憶する署名生成鍵記憶部236と、最終ハッシュ値生成部235で得られた最終ハッシュ値に対してデジタル署名を作成する署名作成部237と、データ分割部230で分割されたユーザ身元情報41、乱数生成部231が生成した乱数、署名作成部237で作成されたデジタル署名及びぼかし用情報生成部22から転送されてくるぼかし用情報44からサービス利用装置1に送付する身元認証情報を作成する送付データ作成部238とからなる。以下、身元認証情報生成部23の動作(図3のS2)を説明する。
データ分割部230は、入力されるユーザ身元情報41を分割して乱数付加部232及び送付データ作成部238に転送する。具体的には、図5(a)において、ユーザ身元情報41を、氏名情報410、年齢情報411、住所情報412の3つのデータに分割し、乱数付加部232及び送付データ作成部238に転送する。
次に、乱数生成部231は、3つの乱数値r1、r2、r3を生成して、乱数付加部232及び送付データ作成部238に転送する。ここで、発生する乱数の個数は、データ分割部230において生成された分割データの個数と等しい。
次に、乱数付加部232は、上記氏名情報410、年齢情報411、住所情報412を、所定の規則に基づいて、それぞれ数値データm1、m2、m3に変換する。上記所定の規則としては、ASCIIコードから数値への変換などを用いればよい。そして、得られた数値データm1、m2、m3に対して、乱数生成部231で生成した乱数r1、r2、r3をそれぞれ結合して、m1‖r1、m2‖r2、m3‖r3とし、中間ハッシュ値生成部233に転送する。ここで「‖」は、データの結合(例えば、桁連結)を表す。
次に、中間ハッシュ値生成部233は、乱数付加部232から転送されてきたデータm1‖r1、m2‖r2、m3‖r3に対して、以下の計算を行って、中間ハッシュ値i1、i2、i3を生成し、ぼかし用情報付加部234に転送する。
i1=Hash(m1‖r1)
i2=Hash(m2‖r2)
i3=Hash(m3‖r3)
ここでY=Hash(X)は、データXに対して所定のハッシュ計算Hashを行い、その結果をYとすることを意味する。ここで用いるハッシュアルゴリズムHashとしては、公知のハッシュ方式であればなんでもよく、例えば、SHA1方式を使えばよい。
次に、ぼかし用情報付加部234は、ぼかし用情報生成部22から転送されてくるぼかし用情報44を、ぼかし氏名情報440、ぼかし年齢情報441、ぼかし住所情報442の3つのデータに分割し、更にそれぞれのデータを、所定の規則に基づいて、数値データb1、b2、b3に変換する。ここで用いる所定の規則もASCIIコードから数値への変換などを用いればよい。こうして生成された数値データb1、b2、b3を、中間ハッシュ値i1、i2、i3とそれぞれ結合して、結合データi1‖b1、i2‖b2、i3‖b3を作成し、最終ハッシュ値生成部235に転送する。
次に、最終ハッシュ値生成部235は、ぼかし用情報付加部234から転送されたデータi1‖b1、i2‖b2、i3‖b3に対して、以下のハッシュ計算を行い、最終ハッシュ値h1、h2、h3を生成し、署名作成部237に転送する。
h1=Hash(i1‖b1)
h2=Hash(i2‖b2)
h3=Hash(i3‖b3)
署名生成鍵記憶部236は、認証システム立ち上げ時に作成した署名生成鍵を記憶している。最終ハッシュ値生成部235による処理の後、署名生成鍵記憶部236は、記憶している署名生成鍵を署名作成部237に転送する。
次に、署名作成部237は、署名生成鍵記憶部236から転送された署名生成鍵を用いて、最終ハッシュ値h1、h2、h3を元にデジタル署名を生成する。具体的には、以下の計算により、デジタル署名Sを生成する。
S=Sig(Ks、h1‖h2‖h3)
ここで、Ksは署名生成鍵、S=Sig(K、D)は、署名生成鍵Ksを用いてデータDに基づくデジタル署名Sを生成することを表す。なお、デジタル署名を生成する方式は公知であるので、ここではその詳細を説明しない。上記のようにして生成したデジタル署名Sを、送付データ作成部238に転送する。
次に、送付データ作成部238は、ユーザ身元情報41、乱数r1、r2、r3、ぼかし用情報44、及び、デジタル署名Sから、図10に示すような身元認証情報43を作成する。ここで、ユーザ身元情報41に含まれる氏名情報410、年齢情報411、住所情報412には、それぞれインデックス値として「1」「2」「3」が付与される。ぼかし用情報44に含まれるぼかし氏名情報440、ぼかし年齢情報441、ぼかし住所情報442にも、それぞれインデックス情報として「1」「2」「3」が付与される。また、身元認証情報43には、ぼかしブロック情報450、乱数r1(451)、乱数r2(452)、乱数r3(453)からなる付加情報45と、デジタル署名S(46)が含まれ、ぼかしブロック情報450、乱数r1〜r3(451〜453)には、それぞれインデックス値として「0」「1」「2」「3」が付与される。ここで、ぼかしブロック情報450とは、身元認証情報43のうち、情報の「ぼかし」が行われている身元情報がどれかをインデックス値で表記している。なお、認証装置2で身元認証情報43を生成した時点では、情報の「ぼかし」が行われる身元情報は無いので、ぼかしブロック情報450としては、「なし」を表すデータが設定されている(後述するように、ぼかしブロック情報450はサービス利用装置1で設定される。)。このようにして、送付データ作成部238は、身元認証情報43を作成して、身元認証情報送信部24に転送する。そして、身元認証情報送信部24は、上記身元認証情報43を、サービス利用装置1に送付する。
サービス利用装置1は、認証装置2から送付される身元認証情報43を、図4に示すように、身元認証情報受信部12にて受信する(図3のS3)。身元認証情報受信部12は、受信した身元認証情報43を、身元認証情報保管部13に転送する。そして、身元認証情報保管部13は、その身元認証情報43を保管する。
(サービス利用手続き)
「サービス利用手続き」は、サービス利用者が、サービス利用装置1を用いて、サービス提供業者がサービス提供装置3a〜3cで提供するサービスを利用する際に実行される。サービス利用手続きを実行する前には、サービス利用装置1は、前述した「身分証明書発行手続き」を実行して、認証装置2から、身元認証情報43の発行を受けている必要がある。図2では、認証システム内に、3つのサービスA、B、Cをそれぞれサービス提供業者A、B、Cが提供する場合について示している。このとき、サービス提供業者Aは、サービス提供装置3aを、サービス提供業者Bは、サービス提供装置3bを、サービス提供業者Cは、サービス提供装置3cを、それぞれ用いてサービスを提供する。サービス利用者は、それらのサービスの中から、利用したいサービスを1つ選び、サービス利用装置1を用いて、そのサービスに対応するサービス提供装置からサービス提供を受ける。以下では、サービス提供者が、サービスAを利用する場合の、サービス利用手続きについて説明するが、サービスB、Cを利用する場合についても、これと同様の手順となる。
最初に、サービス利用者から、サービスAを利用する旨の指示を受けたサービス利用装置1は、図4に示す身元認証情報保管部13にて、その内部に保管している身元認証情報43を、身元認証情報表示部14に転送する。
次に、身元認証情報表示部14は、転送されてきた身元認証情報43に含まれる情報のうち、氏名情報410、年齢情報411、住所情報412を表示し、表示したユーザ身元情報のうち、どの情報に対して「ぼかし」を行うかをサービス利用者に問いかけるメッセージを表示する。表示内容を確認したサービス利用者は、3つの情報から、どれに「ぼかし」を行うかを指示するデータをサービス利用装置1に対して入力し、サービス利用装置1は、ぼかし指示受付部15にて、その指示を受け付ける。このとき、「ぼかし」を行う情報は、1つだけでも良いし、複数を指定しても良いし、1つも「ぼかし」を行わないという指示でも良い。以下では、氏名情報410と住所情報412に対して「ぼかし」を行う指示が、サービス利用者からあった場合について説明する。なお、ユーザ身元情報のうち、どの情報に対して「ぼかし」を行うかは、サービス利用者が全く自由に指定することが可能な場合もあるし、利用するサービスによって予め決められた制約の下で、サービス利用者が指定する場合もある。例えば、利用者の正確な年齢情報を必要とするサービスの場合には、年齢情報については、「ぼかし」をしないことが、そのサービスを利用するための条件となっており、サービス利用者は、年齢情報については、「ぼかし」を行う指示が出せない。ぼかし指示を受け付けたぼかし指示受付部15は、そのぼかし指示を、ぼかし身元認証情報生成部16に転送する。
次に、ぼかし身元認証情報生成部16は、身元認証情報保管部13から入力された身元認証情報43と、ぼかし指示受付部15から転送されてきたぼかし指示を元に、ぼかし身元認証情報を生成する(図3のS4)。以下、その処理詳細について説明する。
図11は、ぼかし身元認証情報生成部16の一構成例を示すブロック図である。ぼかし身元認証情報生成部16は、身元認証情報保管部13から転送されてくる身元認証情報43を複数のデータ(ユーザ身元情報41、ぼかし用情報44、付加情報45、デジタル署名46)に分割するデータ分割部160と、中間ハッシュ値生成部163及び付加情報更新部164にぼかし指示受付部15からの指示を示すぼかし部分指定情報を転送するぼかし部分指定部161と、ぼかし部分指定部161からのぼかし部分指示情報に基づいてユーザ身元情報41に対してぼかし用情報44を用いてぼかし処理を行うことによってぼかしユーザ身元情報47を生成するデータぼかし部162と、ぼかし部分指定部161からのぼかし部分指定情報と付加情報45とに基づいてユーザ身元情報41に対してハッシュ計算を行って中間ハッシュ値を計算する中間ハッシュ値生成部163と、ぼかし部分指定部161からのぼかし部分指定情報に基づいて付加情報45を中間ハッシュ値生成部163からの中間ハッシュ値で更新することによって更新付加情報48を生成する付加情報更新部164と、デジタル署名46、ぼかし用情報44、更新付加情報48及びぼかしユーザ身元情報47を連結してぼかし身元認証情報を作成するデータ連結部165とからなる。
以下、身元認証情報43とぼかし指示を入力されたときのぼかし身元認証情報生成部16の動作について、図12に示された主要な動作を示すフローチャートを用いて説明する。
まず、データ分割部160は、身元認証情報保管部13から転送されてくる身元認証情報43を受け付けて、複数のデータに分割する。具体的には、図10で示されるようなユーザ身元情報41と、ぼかし用情報44と、付加情報45と、デジタル署名46の4つに分割する。そして、ユーザ身元情報41をデータぼかし部162及び中間ハッシュ値生成部163に転送し、ぼかし用情報44をデータぼかし部162及びデータ連結部165に転送し、付加情報45を中間ハッシュ値生成部163及び付加情報更新部164に転送し、デジタル署名46をデータ連結部165に転送する。
次に、ぼかし部分指定部161は、ぼかし指示を受け付けて、その指示を示すぼかし部分指定情報をデータぼかし部162及び中間ハッシュ値生成部163及び付加情報更新部164に転送する。具体的には、ぼかし部分指定情報は、氏名情報と住所情報に対してぼかし処理を行うことを示す情報であり、例えば、氏名情報、住所情報のインデックス値である「1」「3」からなる情報である。
次に、データぼかし部162は、データ分割部160から転送されてくるユーザ身元情報41に対して、ぼかし部分指定部161から転送されてくるぼかし部分指定情報に従って、ぼかし用情報44を用いて、情報の「ぼかし」を行い、ぼかしユーザ身元情報を生成する(図12のS20)。具体的には、「氏名情報と住所情報に対してぼかしを行う」というぼかし部分指定情報に従って、ユーザ身元情報41の氏名情報410をぼかし用情報44のぼかし氏名情報440に置き換えるとともに、ユーザ身元情報41の住所情報412をぼかし用情報44のぼかし住所情報442に置き換える。このようにして、図13に示すような、ぼかしユーザ身元情報47を生成する。ここでは、氏名「山田 太郎/YAMADA TARO」は、「T.Y」というイニシャル表記に情報がぼかされ、住所「大阪府門真市大字門真1006」は、「近畿地方」と情報がぼかされたことになる。そして、データぼかし部162は、このようにして得られたぼかしユーザ身元情報47をデータ連結部165に転送する。
次に、中間ハッシュ値生成部163は、ぼかし部分指定部161から転送されてくるぼかし部分指定情報に従って、データ分割部160から転送されてくるユーザ身元情報41及び付加情報45から中間ハッシュ値を計算する(図12のS21)。具体的には、まず、ぼかし部分指定情報「氏名情報(インデックス値「1」)と住所情報(インデックス値「3」)をぼかし処理する」より、ユーザ身元情報41から、インデックス値「1」と「3」の情報(即ち、氏名情報410と住所情報412)を取り出し、これらを前述の変換規則に従って数値データm1、m3に変換する。また、付加情報45からも、インデックス値「1」と「3」の情報(即ち、乱数r1とr3)を取り出して、以下の計算により、中間ハッシュ値i1とi3を生成する。そして、生成した中間ハッシュ値i1、i3を付加情報更新部164に転送する。
i1=Hash(m1‖r1)
i3=Hash(m3‖r3)
次に、付加情報更新部164は、ぼかし部分指定部161から転送されてくるぼかし部分指定情報に従って、中間ハッシュ値生成部163から転送されてくる中間ハッシュ値i1、i3を用いて、データ分割部160から転送されてくる付加情報45の更新を行う(図12のS22)。具体的には、ぼかし部分指定情報「氏名情報(インデックス値「1」)と住所情報(インデックス値「3」)をぼかし処理する」より、付加情報45のうち、インデックス値「1」と「3」の情報(即ち、氏名情報410と住所情報412)を、それぞれ中間ハッシュ値i1、i3に置き換えて、付加情報の更新を行う。また、ぼかしブロックを表示するインデックス値「0」のデータ領域に、「1」「3」を記憶する。これは、中間ハッシュ値に置き換わったフィールドのインデックス値を示している。図13に、このような付加情報更新部164による付加情報45の更新によって得られる更新付加情報48を示す。本図に示されるように、更新付加情報48は、ぼかしブロック情報480、中間ハッシュ値i1(481)、乱数r2(482)、中間ハッシュ値i3(483)によって構成されている。付加情報更新部164は、こうして更新を行った結果得られる更新付加情報48を、データ連結部165に転送する。
次に、データ連結部165は、データぼかし部162から転送されてくるぼかしユーザ身元情報47、データ分割部160から転送されてくるぼかし用情報44及びデジタル署名46並びに付加情報更新部164から転送されてくる更新付加情報48を結合して、ぼかし身元認証情報を生成する(図12のS23)。図13に、ぼかし身元認証情報49を示す。こうして作成された、ぼかし身元認証情報49を、サービス利用要求データ送付部17に転送し、ぼかし身元認証情報生成部16の処理は完了する。
最後に、図4に示されるように、サービス利用要求データ送付部17は、ぼかし身元認証情報49で生成されたぼかし身元認証情報49に、サービスAの利用を要求する旨のメッセージを付加したデータをサービス利用要求データとして、サービス提供装置3aに送付する(図3のS5)。
次に、サービス利用要求データを受け取った後の、サービス提供装置3a(3b、3c)の内部動作について説明する。図14は、サービス提供装置3a(3b、3c)の一構成例を示すブロック図である。サービス提供装置3a(3b、3c)は、サービス利用装置1から受信したサービス利用要求データからぼかし身元認証情報49を取り出して分割するデータ分割部30と、デジタル署名を検証するための署名検証鍵を記憶する署名検証鍵記憶部31と、署名検証鍵を用いてデジタル署名の検証を行うデジタル署名検証部32と、ユーザ身元情報の確認を行うユーザ身元情報確認部33と、ユーザ身元情報を保管するユーザ身元情報保管部34と、デジタル署名の検証結果及びユーザ身元情報の確認結果を元にサービス利用者へのサービスデータ送付の許可を行うサービスデータ送付許可部35と、サービス利用者に送付するサービスデータを保管するサービスデータ保管部36と、サービス利用者にサービスデータを送付するサービスデータ送付部37とからなる。以下、サービス提供装置3a(3b、3c)の動作詳細について説明する。
まず、データ分割部30は、サービス利用装置1から受信したサービス利用要求データに含まれるぼかし身元認証情報49を取り出し、さらに、ぼかし身元認証情報49を、ぼかしユーザ身元情報47、ぼかし用情報44、更新付加情報48、及びデジタル署名46に分割する。そして、ぼかしユーザ身元情報47をユーザ身元情報確認部33及びデジタル署名検証部32に転送し、ぼかし用情報44、更新付加情報48及びデジタル署名46をデジタル署名検証部32に転送する。
次に、署名検証鍵記憶部31は、記憶している署名検証鍵をデジタル署名検証部32に転送する。
そして、デジタル署名検証部32は、署名検証鍵記憶部31から転送されてくる署名検証鍵を用いて、ぼかしユーザ身元情報47、ぼかし用情報44及び更新付加情報48に基づいてデジタル署名46の検証を行う(図3のS6)。その詳細を以下で説明する。
図15は、デジタル署名検証部32の内部構成例を示すブロック図である。デジタル署名検証部32は、更新付加情報48から中間ハッシュ値と乱数とを取り出す中間ハッシュ値抽出部320と、ぼかしユーザ身元情報47と乱数とから中間ハッシュ値を計算する中間ハッシュ値生成部321と、中間ハッシュ値とぼかしユーザ身元情報47とぼかし用情報44と更新付加情報48とから最終ハッシュ値を計算する最終ハッシュ値生成部322と、署名検証鍵を用いて最終ハッシュ値とデジタル署名46の正当性を検証する署名チェック部323とからなる。
以下、デジタル署名検証部32の内部動作について、その主要な動作フローを示す図16を用いて詳細に説明する。
まず、中間ハッシュ値抽出部320は、更新付加情報48のぼかしブロック情報480を参照してブロック1及び3がぼかし処理をされていることを知る。そして、インデックス値が1と3の領域から、中間ハッシュ値i1(481)及びi3(483)を取り出して、最終ハッシュ値生成部322に転送する(図16のS30)。
次に、中間ハッシュ値生成部321は、更新付加情報48のぼかしブロック情報480を参照して、ブロック2がぼかし処理をされていないことを知る。そして、インデックス値が2の領域から、乱数r2(482)を読み出す。また、ぼかしユーザ身元情報47から、インデックス値が2の年齢情報471を取得して、所定の変換ルールに基づいて数値データm2に変換する。そして、下記の計算式により中間ハッシュ値i2を計算し、最終ハッシュ値生成部322に転送する(図16のS31)。
i2=Hash(m2‖r2)
次に、最終ハッシュ値生成部322は、更新付加情報48のぼかしブロック情報480を参照して、ブロック1と3がぼかし処理をされていることを知る。そして、中間ハッシュ値抽出部320から、中間ハッシュ値i1(481)及びi3(483)を受け取る。一方、ぼかしユーザ身元情報47のインデックス値が1と3の領域からぼかし氏名情報470及びぼかし住所情報472を取得し、それぞれを所定の変換ルールに基づいて数値データb1及びb3に変換する。また、ぼかし用情報44のインデックス値が2(ぼかし処理の行われていないブロック)の領域から、ぼかし年齢情報441を取得し所定の変換ルールに従って数値データb2に変換する。さらに、中間ハッシュ値生成部321から中間ハッシュ値i2を受け取る。
そして、最終ハッシュ値生成部322は、このようにして得られた、i1、i3、b1、b2、b3、及び、i2を用いて、以下の計算式により、最終ハッシュ値h1、h2、h3を計算して、署名チェック部323に転送する(図16のS32)。
h1=Hash(i1‖b1)
h2=Hash(i2‖b2)
h3=Hash(i3‖b3)
次に、署名チェック部323は、署名検証鍵Kpを用いて、最終ハッシュ値h1、h2、h3及びデジタル署名Sの正当性を以下のようにしてチェックし、検証結果Resultを、図14に示されるサービスデータ送付許可部35に転送する(図16のS33)。
Result=Verify(Kp,h1‖h2‖h3,S)
ここで、Result=Verify(Kp,d,S)は、検証鍵Kpを用いて、デジタル署名Sがデータdの正当なデジタル署名であるかを検証し、その結果(OKまたはNG)をResultとすることを意味する。
デジタル署名検証部32の処理の後、ユーザ身元情報確認部33は、ぼかしユーザ身元情報47の内容を確認する。具体的には、例えば20歳以上限定のサービスである場合に、年齢情報471を確認して20歳以上であることをチェックする、などである。そのチェックの結果、問題がなければ、ぼかしユーザ身元情報47を、ユーザ身元情報保管部34に転送する。もしも問題が見つかった場合には、以降の処理は行わず、サービス利用者に対して、サービス提供を拒否する旨の通知を行う。
次に、ユーザ身元情報保管部34は、ぼかしユーザ身元情報47をサービス利用者のリストに追加して、ユーザのデータ登録を行う。
サービスデータ送付許可部35は、検証結果ResultがOKであり、かつ、ユーザ身元情報保管部34が、正常にユーザ登録を完了したことを確認した後に、サービスデータ送付許可信号をサービスデータ送付部37に送付する。
サービスデータ送付部37は、サービスデータ保管部36に保管されたサービスデータをサービス利用装置1に送付する(図3のS7)。サービスデータとしては、例えば、音楽や映画などのコンテンツや、地図などの情報が考えられる。
そして、サービス利用装置1は、サービスデータ受信部18にて、サービス提供装置3a(3b、3c)から送付されてくるサービスデータを受信する。
(認証システムの安全性)
次に、この認証システムにおける以下の2点に関する安全性について説明する。
(1)ぼかし身元認証情報から、ぼかしを行う前のユーザ身元情報が分からないこと
(2)身元認証情報から、不正にぼかしを行って作成したぼかし身元認証情報が作成できないこと
まず、上記(1)について説明する。図13に示すぼかし身元認証情報49において、氏名情報と住所情報に対してぼかし処理が行われている。ぼかし身元認証情報49から、ぼかしを行う前の元の氏名情報と住所情報を復元するための、唯一の方法としては、更新付加情報48に含まれる中間ハッシュ値i1(481)及びi3(483)とから、以下の計算式を元に、氏名情報(の数値データ)m1、及び住所情報(の数値データ)m3を逆算するしかない。
i1=Hash(m1‖r1)
i3=Hash(m3‖r3)
ここで、r1、r3は、乱数データであり、ぼかし身元認証情報49から元のユーザ身元情報を求めようとする解析者には知りえないデータである。Hashは、ハッシュ関数であるから、ハッシュ値i1から逆算により、m1‖r1を計算することはできない。よって、解析者は、m1‖r1を予想して、その予想値に対してHashの計算を行って得られた結果がi1と一致するかどうかを検査する、という試行を何度も繰り返すことになる。従って、m1‖r1のデータサイズが十分に大きければ、正しいm1‖r1を求めるために必要になる上記試行回数は膨大になり、計算量の上で正しいm1‖r1を求めることは実質的には、不可能である。また、氏名情報m1については、ぼかし氏名情報「T.Y」から、ある程度候補が絞り込める(イニシャルT.Yの氏名に限定される)ので上記試行回数は削減されるが、乱数r1は全くランダムな値であるため、m1のような絞込みは行えない。従って、乱数が十分なデータ長(例えば、64ビット以上)を有していれば、たとえm1については、候補の絞込みが行えたとしても、安全性上問題は生じない。
次に、上記(2)の安全性について説明する。上記実施の形態においては、サービス利用者は、サービス利用装置1に、氏名情報410と住所情報412に対して、ぼかし処理を指示して、サービス利用装置1は、ぼかし処理を行った。デジタル署名Sは、認証装置2によって以下のように生成される。
1.身元情報m1、m2、m3に対して適切なぼかし用情報b1、b2、b3を生成。
2.乱数r1、r2、r3を生成して、以下のi1、i2、i3を計算。
i1=Hash(m1‖r1)
i2=Hash(m2‖r2)
i3=Hash(m3‖r3)
3.以下の式により、h1、h2、h3を計算。
h1=Hash(i1‖b1)
h2=Hash(i2‖b2)
h3=Hash(i3‖b3)
4.h1‖h2‖h3に対して、署名鍵を用いてデジタル署名Sを生成。
もし、ぼかし処理を行う際に、認証装置2が定めたぼかし用情報b1、b2、b3以外の情報でぼかし処理を行った場合、署名検証処理において、最終ハッシュ値計算で用いる、b1、b2、b3が、署名生成時とは異なる値b1’、b2’、b3’として計算されるため、h1、h2、h3とは異なる最終ハッシュ値h1’、h2’、h3’が計算される。従って、b1、b2、b3のどれかひとつでも違う値になると、署名検証は、h1‖h2‖h3とは異なる値に対して行われるために、署名検証は不合格になる。
以上のようにして、サービス利用装置1は、身元認証情報(本実施の形態では、身分証明書)に記載している氏名「山田太郎/YAMADA TARO」をイニシャル表記の「T.Y」に、住所「大阪府門真市大字門真1006」を「近畿地方」に置き換えることで、情報的に「ぼかし」を行った上で、サービス提供装置3aに送付することができる。
本実施の形態では、身元認証情報に対して「ぼかし」を行うとき、いちいち認証装置2に身元認証情報の再発行を要求することはなく、身元認証情報の「ぼかし」を行う際には、認証装置2の処理負荷はかからない。また、サービス提供装置3aは、その「ぼかし」が行われた身元認証情報(ぼかし身元認証情報)が、元の正しい身元認証情報から正しく「ぼかし」が行われたことを、署名検証により確認することができる。即ち、身元認証情報を認証局の助けを必要とせずにユーザ側でぼかし処理が行える認証システムが実現できている。
更に、例えば、認証装置が署名とともに署名を施した時刻を付与することにより、「2003年12月3日に、24歳であることが認証局(認証装置)によって認証された」ということを身元認証情報により保証し、その後、利用者側にて、「2003年12月3日に、“20歳代”であることが認証局(認証装置)によって認証された」とぼかしてサービス提供者に提示するような機能も、本発明の認証システムでは実現可能である。一方、ぼかしを行うたびに認証装置2に身元認証情報を再発行を要求する構成では、この機能は実現し得ない。なぜなら、認証装置は再発行の時に、再発行時の現在時刻を付与するので、例えば、再発行により「2005年3月31日に、“20歳代”であることが認証局によって認証された」ということを証明する身元認証情報になってしまい、2003年12月3日に認証されたという情報は損なわれてしまうからである。これは、認証された内容とともに、認証された時刻も重要となるようなアプリケーションにおいては問題となる。
なお、本実施の形態では、ユーザなどの身元を示す文字情報を対象としているが、これは、数値化が可能な情報であれば何でもよく、例えば、画像情報、音声情報であってもよい。
また、一方向性関数はハッシュ関数に限定されるものはなく、さらに、用いるハッシュ方式、デジタル署名方式は、特定の方式に限定されるものではない。
また、本実施の形態では、ユーザ身元情報として、氏名情報、年齢情報、住所情報の3つとしているが、本発明は、この種類、この個数に限定されるものではない。さらに、認証システムが対象とするデータも、ユーザ身元情報に限定されるものではない。
また、本実施の形態では、認証装置が、ユーザから提出されるユーザ身元情報からぼかし用情報を生成しているが、このぼかし用情報はユーザが作成してユーザ身元情報とともに提出するようにしてもよい。この場合、認証装置がユーザが提出したぼかし用情報が、ユーザ身元情報の内容を正しくぼかしたものになっているかを確認するようにして、正しいと判断される場合に、身元認証情報を発行するようにしてもよい。
また、本実施の形態では、ぼかし用情報は、ユーザ身元情報の内容を曖昧化したものとして生成したが、これに限られるものでなく、両者が互いに論理的に矛盾しない内容のもの(あるいは、ユーザ身元情報の内容を概念的に包含する関係にある)としてもよい。例えば、ユーザ身元情報として「りんごが好きである」とし、ぼかし用情報として「みかんが好きである」とした場合に、両者は論理的には矛盾していない。その場合には、サービス提供装置3a〜3cは、サービス利用装置1から送られてくるぼかし認証情報に含まれるぼかし情報が対応する証明情報と論理的に矛盾しないことを確認すればよい。具体的には、証明情報と論理的に矛盾しないぼかし情報の一覧を保持しておき、その一覧にあるぼかし情報を受け取った場合に、証明情報とぼかし情報とが論理的に矛盾しない(あるいは、ぼかし情報が証明情報の内容を概念的に包含する関係にある)と判断すればよい。それによって、サービス提供装置3a〜3cは、例えば、サービス利用装置1から送られてきたぼかし情報が「みかんが好きである」場合に、「りんごが好きである」という証明情報と論理的に矛盾しないと分かるので、そのぼかし情報が正当であると判断することができる。
なお、本実施の形態では、例えば、氏名情報に対して1つのぼかし用情報が対応しているが、これは、複数のぼかし用情報が存在しており、ユーザが、ぼかし処理を行う際に上記複数のぼかし用情報から好きなものを1つ選んで、ぼかし処理を行うことも可能である。以下その方法について説明する。実施の形態では、ユーザ身元情報が氏名、年齢、住所の3つの身元情報からなる場合の例で説明したが、ここでは簡単のために、ユーザ身元情報が、1つの身元情報からなる場合で説明する。この場合、実施の形態におけるデジタル署名の生成、ぼかし処理、デジタル署名検証の処理は以下のように要約できる。
(デジタル署名生成)
1.身元情報mに対してぼかし用情報として1つ(b)を定める。
2.乱数rを生成して、中間ハッシュ値i、最終ハッシュ値hを以下の式により計算する。
i=Hash(m‖r) ・・・(式1)
h=Hash(i‖b) ・・・(式2)
3.最終ハッシュ値hに対して、署名生成鍵を用いて署名Sを生成する。
4.身元情報m、ぼかし用情報b、乱数r、署名Sを身元認証情報として、ユーザに送付する。
(ぼかし処理)
1.身元情報mと乱数rとから、(式1)に従って、中間ハッシュ値iを計算する。
2.ぼかし身元情報b、中間ハッシュ値i、署名Sをぼかし身元認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし身元情報bと中間ハッシュ値iとから、(式2)に従って、最終ハッシュ値hを計算する。
2.署名検証鍵を用いて、最終ハッシュ値hと署名Sに対して署名検証を行う。
身元情報mに対して、ぼかし用情報が複数ある場合の署名生成、ぼかし処理、署名検証を行う場合の変形例を二つ(変形例1、変形例2)説明する。ここでは、ぼかし用情報が7個(b1〜b7)ある場合を例にして説明する。
(変形例1)
(署名生成)
1.身元情報mに対して7個のぼかし用情報b1〜b7を生成する。
2.8個の乱数r0〜r7を生成して、ハッシュ値h000〜h111を計算する。
h000=Hash(m‖r0)
h001=Hash(b1‖r1)
h010=Hash(b2‖r2)
h011=Hash(b3‖r3)
h100=Hash(b4‖r4)
h101=Hash(b5‖r5)
h110=Hash(b6‖r6)
h111=Hash(b7‖r7)
3.図17に示すツリー構造に従って最終ハッシュ値hを計算する。このツリー構造において、h**(1つの「*」が0又は1)は、
h**=Hash(h**0‖h**1)
に従って計算する。更に、h*は、
h*=Hash(h*0‖h*1)
に従って計算する。そして、最終ハッシュ値hは、
h=Hash(h0‖h1)
により計算する。
4.最終ハッシュ値hに対して、署名生成鍵を用いてデジタル署名Sを生成する。
5.身元情報m、ぼかし用情報b1〜b7、乱数r0〜r7、デジタル署名Sをユーザに送付する。
(ぼかし処理)
ぼかし用情報b4を用いて身元情報mにぼかし処理を行う場合を例に説明する。
1.(署名生成)の2.と同様の手順により、最終ハッシュ値hを求める。
2.以下のようにして、署名検証者に送付するハッシュ値を選択する。まず、選択したぼかし用情報b4のインデックス「4」を2進数「100」に変換する。ここで、「100」の末尾の01を反転させて「101」を得て、h101を選択する。次に「100」の末尾を削除して「10」を得る。ここで、「10」の末尾の01を反転させて「11」を得て、h11を選択する。さらに、「10」の末尾を削除して「1」を得る。「1」の01を反転して「0」を得て、h0を選択する。上記の手順により、h101、h11、h0が選択される。この手順は、図18のツリーで説明できる。即ち、b4に対応するハッシュ値h100からルートに至るまでのパスを考え(図の太線)、そのパスに含まれる各ノードの子ノードのうち、上記パスに含まれていない方の子ノードに割り当てられているハッシュ値を選択することになる。
3.ぼかし身元情報b4、乱数r4、ハッシュ値h101、h11、h0、署名Sをぼかし身元認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし身元情報b4、乱数r4、とハッシュ値h101、h11、h0とから、最終ハッシュ値hを計算する。具体的には、
h100=Hash(b4‖r4)
を計算し、
h10=Hash(h100‖h101)
h1=Hash(h10‖h11)
h=Hash(h0‖h1)
を計算することで求められる。
2.署名検証鍵を用いて、最終ハッシュ値hと署名Sに対して署名検証を行う。
(変形例2)
(署名生成)
1.身元情報mに対して7個のぼかし用情報b1〜b7を生成する。
2.8個の乱数r0〜r7を生成して、ハッシュ値h0〜h7を計算する。
h0=Hash(m‖r0)
h1=Hash(b1‖r1)
h2=Hash(b2‖r2)
h3=Hash(b3‖r3)
h4=Hash(b4‖r4)
h5=Hash(b5‖r5)
h6=Hash(b6‖r6)
h7=Hash(b7‖r7)
3.最終ハッシュ値hを、
h=Hash(h0‖h1‖h2‖・・・‖h7)
により計算する。
4.最終ハッシュ値hに対して、署名生成鍵を用いてデジタル署名Sを生成する。
5.身元情報m、ぼかし用情報b1〜b7、乱数r0〜r7、デジタル署名Sをユーザに送付する。
(ぼかし処理)
ぼかし用情報b4を用いて身元情報mにぼかし処理を行う場合を例に説明する。
1.(署名生成)の2.と同様の手順により、最終ハッシュ値hを求める。
2.ぼかし身元情報b4、乱数r4、及び、ぼかし用情報b4に対応するハッシュ値h4を除いたハッシュ値h0、h1、h2、h3、h5、h6、h7、署名Sをぼかし身元認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし身元情報b4、乱数r4、とハッシュ値h0、h1、h2、h3、h5、h6、h7とから、最終ハッシュ値hを計算する。具体的には、
h4=Hash(b4‖r4)
を計算し、
h=Hash(h0‖h1‖h2‖・・・‖h7)
を計算することで求められる。
2.署名検証鍵を用いて、最終ハッシュ値hと署名Sに対して署名検証を行う。
以上のどちらの変形例においても、ひとつの身元情報に対して複数のぼかし用情報が設定可能な、認証システムが実現できる。なお、上記2つの変形例において、ぼかし用情報は必ずしも複数(2個以上)である必要はなく、ぼかし用情報が1つでもよい。また、本変形例では、ユーザ身元情報が1つの場合について説明しているが、これは複数のユーザ身元情報からなる場合にも自明な拡張により適用可能である。
また、本発明のような電子ぼかし機能は、従来技術で述べた「電子墨塗り技術」を改良した以下の方法でも実現可能である。
(署名生成)
1.身元情報b0からぼかし用情報b1〜b7を生成。
2.上記b0〜b7から、電子墨塗り技術を用いて、電子署名Sを作成。
3.b0〜b7及びSをユーザに送付する。
(ぼかし処理)
1.ぼかし処理に使用するぼかし用情報をb1〜b7から一つ選択する(以下では、b3を選んだものとする)。
2.b0〜b7のうち、b3以外の情報を「墨塗り」した墨塗りデータを作成し、これをぼかし認証情報として、署名検証者に送付する。
(署名検証)
1.ぼかし認証情報を「b3以外のデータが墨塗りされた墨塗りデータ」として署名検証を行う。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが上記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。上記RAMには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。上記ICカードまたは上記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。上記ICカードまたは上記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、上記ICカードまたは上記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、上記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムにしたがって動作するとしてもよい。
また、上記プログラムまたは上記デジタル信号を上記記録媒体に記録して移送することにより、または上記プログラムまたは上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例における構成要素を任意に組み合わせてもよい。
本発明にかかる認証システムは、個人情報等の証明書データを認証するシステムとして、特に、認証装置によって生成された認証データの内容の一部を、それを受け取った利用者が認証装置の助けなしに、情報的にぼかし処理をすることが可能であるという特徴を有するので、利用者の匿名性が可能な利用者認証システムとして有用である。
図1は、本発明の従来技術に係る認証システムの構成を示す図である。 図2は、本発明の実施の形態に係る認証システムの構成を示すシステム構成図である。 図3は、本発明の実施の形態に係る認証システムにおける通信のやりとりを示す通信シーケンス図である。 図4は、本発明の実施の形態に係るサービス利用装置の構成を示すブロック図である。 図5は、本発明の実施の形態に係るユーザ身元情報及びぼかし用情報の構成の一例を示す図である。 図6は、本発明の実施の形態に係る認証装置の構成を示すブロック図である。 図7は、本発明の実施の形態に係る認証装置の主要な動作を示すフローチャートである。 図8は、本発明の実施の形態に係るぼかし住所情報データベースの構成を示すブロック図である。 図9は、本発明の実施の形態に係る身元認証情報生成部の構成を示すブロック図である。 図10は、本発明の実施の形態に係る分割された身元認証情報の構成の一例を示す図である。 図11は、本発明の実施の形態に係るぼかし身元認証情報生成部の構成を示すブロック図である。 図12は、本発明の実施の形態に係るぼかし身元認証情報生成部の動作手順を示すフローチャートである。 図13は、本発明の実施の形態に係る更新付加情報の構成の一例を示す図である。 図14は、本発明の実施の形態に係るサービス提供装置の構成を示すブロック図である。 図15は、本発明の実施の形態に係るデジタル署名検証部の構成を示すブロック図である。 図16は、本発明の実施の形態に係るデジタル署名検証部の動作手順を示すフローチャートである。 図17は、本発明の実施の形態の変形例に係るハッシュ計算方法を説明するための図である。 図18は、本発明の実施の形態の変形例に係るハッシュ計算方法を説明するための図である。
符号の説明
1 サービス利用装置
2 認証装置
3a〜3c サービス提供装置
10 ユーザ身元情報記憶部
11 身元認証情報発行依頼データ送付部
12 身元認証情報受信部
13 身元認証情報保管部
14 身元認証情報表示部
15 ぼかし指示受付部
16 ぼかし身元認証情報生成部
17 サービス利用要求データ送付部
18 サービスデータ受信部
20 身元認証情報発行依頼データ受信部
21 ユーザ身元情報確認部
22 ぼかし用情報生成部
23 身元認証情報生成部
24 身元認証情報送信部
30 データ分割部
31 署名検証鍵記憶部
32 デジタル署名検証部
33 ユーザ身元情報確認部
34 ユーザ身元情報保管部
35 サービスデータ送付許可部
36 サービスデータ保管部
37 サービスデータ送付部

Claims (18)

  1. 証明したい情報である証明情報をぼかして得られるぼかし情報を提示する端末装置と、前記端末装置によって提示されたぼかし情報の正当性を検証する検証装置と、前記端末装置による正当なぼかし情報の発行を支援する認証装置とからなる認証システムであって、
    前記認証装置は、
    少なくも1つの証明情報と前記証明情報に対応する少なくとも1つのぼかし情報とを保持する情報保持手段と、
    前記情報保持手段に保持された証明情報とぼかし情報とを含む情報に対してデジタル署名を施すことによってデジタル署名を生成し、生成したデジタル署名と前記証明情報と前記ぼかし情報とを含む情報を認証情報として生成する認証情報生成手段と、
    生成された認証情報を前記端末装置に送信する第1の送信手段とを備え、
    前記端末装置は、
    前記認証装置から送信されてくる認証情報を受信する第1の受信手段と、
    ユーザからの指示に基づいて、前記受信手段で受信された認証情報に含まれる少なくとも1つのぼかし情報の中から、どのぼかし情報を選択するかの指示を受け付けるぼかし指示受付手段と、
    前記ぼかし指示受付手段によって受け付けられた指示によって選択されるぼかし情報と前記デジタル署名とを含む情報をぼかし認証情報として生成するぼかし認証情報生成手段と、
    生成されたぼかし認証情報を前記検証装置に送信する第2の送信手段とを備え、
    前記検証装置は、
    前記端末装置から送信されてくるぼかし認証情報を受信する第2の受信手段と、
    前記受信手段で受信されたぼかし認証情報に含まれるデジタル署名に基づいて、前記ぼかし認証情報に含まれるぼかし情報の正当性を検証する署名検証手段とを備える
    ことを特徴とする認証システム。
  2. 前記認証情報生成手段は、
    前記証明情報に対して第1の一方向性関数による処理を施すことによって第1の中間値を生成する第1の中間値生成部と、
    生成された第1の中間値と、前記証明情報に対応するぼかし情報とからデジタル署名を作成する署名作成部とを有し、
    前記ぼかし情報生成手段は、
    前記ぼかし指示受付手段によって受け付けられた指示によって選択されるぼかし情報に対応する証明情報に対して第1の一方向性関数による処理を施すことによって第2の中間値を生成する第2の中間値生成部と、
    生成された第2の中間値と前記ぼかし情報と前記デジタル署名とを連結することによって前記ぼかし認証情報を生成するデータ連結部とを有し、
    前記署名検証手段は、前記ぼかし認証情報に含まれる第2の中間値とデジタル署名とに基づいて、前記ぼかし認証情報に含まれるぼかし情報の正当性を検証する
    ことを特徴とする請求項1記載の認証システム。
  3. 前記認証情報生成手段はさらに、乱数を生成する乱数生成手段を備え、
    前記第1の中間値生成部は、前記乱数生成手段で生成された乱数と前記証明情報とを含む情報に対して前記第1の一方向性関数による処理を施すことによって前記第1の中間値を生成し、
    前記認証情報生成手段は、前記デジタル署名と前記証明情報と前記ぼかし情報と前記乱数とを含む情報を前記認証情報として生成し、
    前記第2の中間値生成部は、前記認証情報に含まれる乱数と前記証明情報とを含む情報に対して前記第1の一方向性関数による処理を施すことによって前記第2の中間値を生成する
    ことを特徴とする請求項2記載の認証システム。
  4. 前記署名作成部は、前記第1の中間値と前記ぼかし情報とを含む情報に第2の一方向性関数による処理を施すことによって生成した値から前記デジタル署名を作成し、
    前記署名検証手段は、前記ぼかし認証情報に含まれる第2の中間値と前記ぼかし認証情報に含まれるぼかし情報とを含む情報に第2の一方向性関数による処理を施し、得られた値と前記ぼかし認証情報に含まれるデジタル署名との整合性を確認することにより、前記ぼかし認証情報に含まれるぼかし情報の正当性を検証する
    ことを特徴とする請求項2記載の認証システム。
  5. 前記第1及び第2の一方向性関数は、ハッシュ関数である
    ことを特徴とする請求項4記載の認証システム。
  6. 前記情報保持手段は、複数の証明情報と、前記複数の証明情報のそれぞれに対応する少なくとも1つのぼかし情報とを保持し、
    前記認証情報生成手段は、前記情報保持手段に保持された複数の証明情報と少なくとも1つのぼかし情報とを含む情報に対してデジタル署名を施すことによって前記デジタル署名を生成し、
    前記ぼかし認証情報生成手段は、前記受信手段で受信された認証情報に含まれる複数の証明情報のうち、前記ぼかし指示受付手段によって受け付けられた指示によって選択されるぼかし情報に対応する証明情報を当該ぼかし情報で置き換え、置き換え後の証明情報と前記指示を示す指示情報と前記デジタル署名とを含む情報をぼかし認証情報として生成する
    ことを特徴とする請求項1記載の認証システム。
  7. 前記ぼかし情報は、対応する証明情報の内容を曖昧にした内容を示す
    ことを特徴とする請求項1記載の認証システム。
  8. 前記証明情報には、身元情報が含まれる
    ことを特徴とする請求項1記載の認証システム。
  9. 前記ぼかし情報の内容は、対応する証明情報の内容を概念的に包含する関係にあり、
    前記署名検証手段は、さらに、前記ぼかし認証情報に含まれるぼかし情報の内容が対応する証明情報の内容を概念的に包含する関係にあることを確認する
    ことを特徴とする請求項1記載の認証システム。
  10. 請求項1記載の認証システムにおける認証装置。
  11. 証明したい情報である証明情報をぼかして得られるぼかし情報を提示する端末装置と、前記端末装置によって提示されたぼかし情報の正当性を検証する検証装置とに接続された認証装置が前記端末装置による正当なぼかし情報の発行を支援する方法であって、
    少なくも1つの証明情報と前記証明情報に対応する少なくとも1つのぼかし情報とを取得する情報取得ステップと、
    前記情報取得ステップに取得された証明情報とぼかし情報とを含む情報に対してデジタル署名を施すことによってデジタル署名を生成し、生成したデジタル署名と前記証明情報と前記ぼかし情報とを含む情報を認証情報として生成する認証情報生成ステップと、
    生成された認証情報を前記端末装置に送信する第1の送信ステップと
    を含むことを特徴とするばかし情報発行支援方法。
  12. 証明したい情報である証明情報をぼかして得られるぼかし情報を提示する端末装置と、前記端末装置によって提示されたぼかし情報の正当性を検証する検証装置とに接続され、前記端末装置による正当なぼかし情報の発行を支援する認証装置のためのプログラムであって、
    請求項11記載のぼかし情報発行支援方法に含まれるステップをコンピュータに実行させる
    ことを特徴とするプログラム。
  13. 請求項1記載の認証システムにおける端末装置。
  14. 証明情報をぼかして得られるぼかし情報の正当性を検証する検証装置と、ぼかし情報の発行を支援する認証装置とに接続された端末装置が所望のぼかし情報を提示するぼかし情報提示方法であって、
    前記認証装置から送信されてくる認証情報を受信する第1の受信ステップと、
    ユーザからの指示に基づいて、前記受信ステップで受信された認証情報に含まれる少なくとも1つのぼかし情報の中から、どのぼかし情報を選択するかの指示を受け付けるぼかし指示受付ステップと、
    前記ぼかし指示受付ステップによって受け付けられた指示によって選択されるぼかし情報と前記デジタル署名とを含む情報をぼかし認証情報として生成するぼかし認証情報生成ステップと、
    生成されたぼかし認証情報を前記検証装置に送信する第2の送信ステップと
    を含むことを特徴とするばかし情報提示方法。
  15. 証明情報をぼかして得られるぼかし情報の正当性を検証する検証装置と、ぼかし情報の発行を支援する認証装置とに接続され、所望のぼかし情報を提示する端末装置のためのプログラムであって、
    請求項14記載のぼかし情報提示方法に含まれるステップをコンピュータに実行させる
    ことを特徴とするプログラム。
  16. 請求項1記載の認証システムにおける検証装置。
  17. 証明したい情報である証明情報をぼかして得られるぼかし情報を提示する端末装置と接続された検証装置が、前記端末装置によって提示されたぼかし情報の正当性を検証する方法であって、
    前記端末装置から送信されてくるぼかし認証情報を受信する第2の受信手段と、
    前記受信手段で受信されたぼかし認証情報に含まれる第2の中間値とデジタル署名に基づいて、前記ぼかし認証情報に含まれるぼかし情報の正当性を検証する署名検証ステップを含み、
    前記デジタル署名は、前記証明情報に対して第1の一方向性関数による処理を施すことによって得られた第1の中間値と、前記証明情報に対応するぼかし情報とを含む情報にデジタル署名を施すことによって作成されており、
    前記第2の中間値は、ユーザの指示によって選択されるぼかし情報に対応する証明情報に対して第1の一方向性関数による処理を施すことによって生成されており、
    前記署名検証ステップでは、前記ぼかし認証情報に含まれる第2の中間値と前記ぼかし認証情報に含まれるぼかし情報とを含む情報に第2の一方向性関数による処理を施し、得られた値と前記ぼかし認証情報に含まれるデジタル署名との整合性を確認することにより、前記ぼかし認証情報に含まれるぼかし情報の正当性を検証する
    ことを特徴とするぼかし情報検証方法。
  18. 証明したい情報である証明情報をぼかして得られるぼかし情報を提示する端末装置と接続され、前記端末装置によって提示されたぼかし情報の正当性を検証する検証装置のためのプログラムであって、
    請求項17記載のぼかし情報検証方法に含まれるステップをコンピュータに実行させる
    ことを特徴とするプログラム。
JP2007520076A 2005-06-10 2006-06-02 認証システム、認証装置、端末装置及び検証装置 Expired - Fee Related JP4892478B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007520076A JP4892478B2 (ja) 2005-06-10 2006-06-02 認証システム、認証装置、端末装置及び検証装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005170628 2005-06-10
JP2005170628 2005-06-10
JP2007520076A JP4892478B2 (ja) 2005-06-10 2006-06-02 認証システム、認証装置、端末装置及び検証装置
PCT/JP2006/311075 WO2006132143A1 (ja) 2005-06-10 2006-06-02 認証システム、認証装置、端末装置及び検証装置

Publications (2)

Publication Number Publication Date
JPWO2006132143A1 true JPWO2006132143A1 (ja) 2009-01-08
JP4892478B2 JP4892478B2 (ja) 2012-03-07

Family

ID=37498343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007520076A Expired - Fee Related JP4892478B2 (ja) 2005-06-10 2006-06-02 認証システム、認証装置、端末装置及び検証装置

Country Status (5)

Country Link
US (1) US8850210B2 (ja)
EP (1) EP1890451A1 (ja)
JP (1) JP4892478B2 (ja)
CN (1) CN101194463A (ja)
WO (1) WO2006132143A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5174233B2 (ja) * 2009-02-27 2013-04-03 富士通株式会社 電子署名プログラム、電子署名装置、および電子署名方法
CA2714784A1 (en) * 2009-09-17 2011-03-17 Royal Canadian Mint/Monnaie Royale Canadienne Message storage and transfer system
WO2011077737A1 (ja) * 2009-12-25 2011-06-30 日本電気株式会社 条件判断システム、および条件判断方法
JP5796574B2 (ja) * 2010-05-10 2015-10-21 日本電気株式会社 情報処理装置、制御方法及びプログラム
US8880880B2 (en) * 2011-07-29 2014-11-04 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
CN104504075A (zh) * 2014-12-23 2015-04-08 北京奇虎科技有限公司 信息模糊处理方法及装置
KR102560769B1 (ko) * 2018-09-21 2023-07-28 삼성전자주식회사 신분 정보를 제공하는 장치 및 그 시스템
JP7162634B2 (ja) 2019-12-12 2022-10-28 株式会社bitFlyer Blockchain 証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム
CN112989309B (zh) * 2021-05-21 2021-08-20 统信软件技术有限公司 基于多方授权的登录方法、认证方法、系统及计算设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997009817A2 (en) * 1995-08-27 1997-03-13 Aliroo Ltd. Document processing
WO1998039876A1 (en) * 1997-03-06 1998-09-11 Skylight Software, Inc. Cryptographic digital identity method
GB2327831B (en) * 1997-07-23 2002-10-09 Chantilley Corp Ltd Document or message security arrangements
KR100241349B1 (ko) * 1997-09-11 2000-02-01 정선종 문서의 전자적 공증 방법
JP2000099469A (ja) 1998-09-17 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> 開放型分散ネットワークにおける認証及び権限付与方法
US6560620B1 (en) * 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
US6978367B1 (en) * 1999-10-21 2005-12-20 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a client proxy
JP2001283122A (ja) 2000-03-31 2001-10-12 Dainippon Printing Co Ltd スマートカードによる取引システムとそれに使用するスマートカード
JP3578450B2 (ja) * 2001-06-29 2004-10-20 株式会社東芝 電子文書の実名語/匿名語マップ作成装置及びプログラム、電子文書の匿名化装置及びプログラム、電子文書の実名化装置及びプログラム
JP3973399B2 (ja) * 2001-07-09 2007-09-12 株式会社スクウェア・エニックス サーバ、情報処理方法、プログラムおよび記憶媒体
WO2003040963A1 (en) * 2001-11-02 2003-05-15 Medical Research Consultants L.P. Knowledge management system
US7475242B2 (en) * 2001-12-18 2009-01-06 Hewlett-Packard Development Company, L.P. Controlling the distribution of information
US7130445B2 (en) * 2002-01-07 2006-10-31 Xerox Corporation Systems and methods for authenticating and verifying documents
JP2003345752A (ja) 2002-05-24 2003-12-05 Ntt Data Corp 認証管理サーバ及びプログラム
JP4366916B2 (ja) * 2002-10-29 2009-11-18 富士ゼロックス株式会社 書類確認システム、書類確認方法、及び書類確認プログラム
JP2005051734A (ja) 2003-07-15 2005-02-24 Hitachi Ltd 電子文書の真正性保証方法および電子文書の公開システム
JP2005050311A (ja) 2003-07-16 2005-02-24 Nippon Telegr & Teleph Corp <Ntt> サービス提供方法及びシステム
US7484107B2 (en) * 2004-04-15 2009-01-27 International Business Machines Corporation Method for selective encryption within documents
US7536635B2 (en) * 2005-04-25 2009-05-19 Microsoft Corporation Enabling users to redact portions of a document

Also Published As

Publication number Publication date
WO2006132143A1 (ja) 2006-12-14
CN101194463A (zh) 2008-06-04
US20090106547A1 (en) 2009-04-23
JP4892478B2 (ja) 2012-03-07
EP1890451A1 (en) 2008-02-20
US8850210B2 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
JP4892478B2 (ja) 認証システム、認証装置、端末装置及び検証装置
US9258296B2 (en) System and method for generating a strong multi factor personalized server key from a simple user password
CN104798083B (zh) 用于验证访问请求的方法和系统
TWI718567B (zh) 二維碼生成方法、資料處理方法、裝置、伺服器及計算機可讀儲存媒體
US20100153273A1 (en) Systems for performing transactions at a point-of-sale terminal using mutating identifiers
US10089627B2 (en) Cryptographic authentication and identification method using real-time encryption
US20170171183A1 (en) Authentication of access request of a device and protecting confidential information
JP2008527905A (ja) セキュリティコード生成方法、セキュリティコード生成方法を用いた方法、及びセキュリティコード生成方法のためのプログラム可能な装置
JP2004023796A (ja) 選択的に開示可能なデジタル証明書
CN112165382B (zh) 软件授权方法、装置、授权服务端及终端设备
CN108199847A (zh) 数字安全处理方法、计算机设备及存储介质
JP4696449B2 (ja) 暗号化装置およびその方法
JP5264548B2 (ja) 認証システムおよび認証方法
JP2008269342A (ja) ワンタイムパスワード装置およびシステム
JP2005044054A (ja) 符号列の処理システム
CN106533681A (zh) 一种支持部分出示的属性证明方法与系统
Davaanaym et al. A ping pong based one-time-passwords authentication system
KR101501508B1 (ko) 데이터 암호화를 통한 인증방법 및 시스템
JP2005318269A (ja) 電子証明書管理システム、電子証明書管理方法、及び、サーバ
JP2021100227A (ja) IoT鍵管理システム,セキュアデバイス,IoTデバイス,デバイス管理装置およびセキュアエレメントの公開鍵証明書生成方法
CN108268756A (zh) 版权标识及业务处理系统
WO2021019783A1 (ja) 所有者同一性確認システム、端末および所有者同一性確認方法
TWI576779B (zh) Method and Method of Payment Authentication System for Internet of Things
KR102519141B1 (ko) 디지털 골드 토큰을 기초로 금 선물을 가능하게 하는 클라우드 기반의 금 자산 관리 서버 및 그 동작 방법
TWI761053B (zh) 數位憑證處理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Ref document number: 4892478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees