JP4209699B2 - 情報処理装置、情報処理システム、および、情報処理方法 - Google Patents

情報処理装置、情報処理システム、および、情報処理方法 Download PDF

Info

Publication number
JP4209699B2
JP4209699B2 JP2003039550A JP2003039550A JP4209699B2 JP 4209699 B2 JP4209699 B2 JP 4209699B2 JP 2003039550 A JP2003039550 A JP 2003039550A JP 2003039550 A JP2003039550 A JP 2003039550A JP 4209699 B2 JP4209699 B2 JP 4209699B2
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
key
card
memory card
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.)
Expired - Fee Related
Application number
JP2003039550A
Other languages
English (en)
Other versions
JP2004253875A (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2003039550A priority Critical patent/JP4209699B2/ja
Publication of JP2004253875A publication Critical patent/JP2004253875A/ja
Application granted granted Critical
Publication of JP4209699B2 publication Critical patent/JP4209699B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、セキュリティの高い情報処理を可能にするIC(集積回路)カード等の情報処理装置、この情報処理装置を用いた情報処理システム、および、上記情報処理装置間での情報処理方法に関する。
【0002】
【従来の技術】
磁気カードに代わる次世代の携帯可能情報記録媒体としてICカードが注目を集めている。最近では、半導体集積回路の小型化や低コスト化のための技術進歩によって、実社会の種々のシステムにおいてICカードが実用されるに至っている。
【0003】
特に、CPU(中央演算処理装置)を内蔵したICカードは、単なる情報記録媒体としての機能に情報処理機能が付加されているため、高度なセキュリティを必要とする情報処理システムへの利用が期待されている。
【0004】
セキュリティを確保するための代表的な方法としては、例えば、ICカードの所有者が暗証番号を設定し、この暗証番号を個々のICカード内部に記録しておく方法が一般に利用されている。この方法では、ICカードのCPUによって、外部から与えられた暗証番号と内部に記録されている暗証番号とを照合して、操作者の正当性を確認するのである。しかしながら、このような暗証番号の照合による方法の場合には、暗証番号を記憶さえしていればカード単体を所持するだけで認証を得られるという利点がある反面、暗証番号自体が不正漏洩した場合には十分なセキュリティが確保されない。
【0005】
そこで、2個の対になっている情報記録媒体を用いて相互認証を行うことによって、より高いセキュリティを確保する方法も実用化されている。例えば、ICカードに銀行預金の取引データを記録して預金通帳代わりに用いる情報処理システムにおいては、ICカード内部に記録された取引データが不正な手段によって改竄されるようなことがあると重大な問題になる。そこで、個々の預金者に通帳代わりに手渡す預金者用ICカード単独では取引データにアクセスできないようにし、別個に用意した銀行用ICカードと併用することによって初めてアクセスが可能にしておけば、セキュリティを高めることができる。
【0006】
より具体的に説明すれば、銀行の店舗に設置されたリーダライタ装置に、同時に2枚のICカードを挿入することができる挿入口を設けておき、一方の口から預金者用ICカードを挿入し、他方の口から銀行用ICカードを挿入するようにしておく。そして、双方のICカードにおいて、互いに相手方が正当なカードであることを認証する処理を行い、双方共に肯定的な認証結果が得られた場合に限って、取引データへのアクセスを可能にすれば、セキュリティを向上させることができるのである。
【0007】
このように、2個の対になった情報記録媒体を用いた相互認証を前提としてシステムを構築すれば、1枚のカードで暗証番号の照合のみに頼っているシステムに比べて非常に高いセキュリティを確保できるのである。
【0008】
上述のように、2個の対になった情報記録媒体を用いた相互認証を行うシステムとして、例えば、特許文献1に開示されている携帯可能情報記録媒体およびこれを用いた情報処理システムがある。この情報処理システムにおいては、例えば銀行と預金者とのような関係において、例え預金者側のカードが紛失したり盗用されたりした場合でも、銀行側カードが銀行という安全な施設に保持されているために、強固なセキュリティを提供できるシステムを提供している。つまり、一般の利用者に関してはICカードを紛失するかもしれないが、銀行側のカードについては技術的にではなく施設や設備という管理的な面から悪意のある者が不正利用できないようにしている。したがって、一般の預金者がICカードを紛失しても、そのICカードに記録されたデータに安易にアクセスすることはできないのである。
【0009】
【特許文献1】
特開平8‐339429号公報
【0010】
【発明が解決しようとする課題】
しかしながら、上記従来の特許文献1に開示された情報処理システムにおいては以下のような問題がある。
【0011】
すなわち、上記情報処理システムでは、銀行側のICカードについては、技術的にではなく施設や設備という管理的な面から悪意のある者が不正利用できないようにしている。したがって、一般の預金者がICカードを紛失してもそのデータに安易にアクセスされることはない。しかしながら、このことは、言い換えれば、上記情報処理システムは、銀行で管理するカードは盗用され難いという技術的ではない仮定の上に成り立っているために、銀行で保管されているカードが盗用されてしまうと、比較的セキュリティ性能が低くなり、危険度が非常に高まってしまうという問題がある。
【0012】
また、銀行等の整った設備を有する施設等において認証の対象となる片側の情報記録媒体を管理できるような場合はよい。ところが、そのような場合はどちらかといえば特殊な場合であって、システムにもよるが、そのような設備を設けることができない場合も多い。また、例え、そのような設備を設けることができたとしても、その管理のコストが必要であるという問題もある。
【0013】
また、上述の情報処理システムでは、認証を行なう情報記録媒体、つまりICカードは、飽くまでも2個の対となっている。つまり、預金者のICカード1枚に対して、それに対応する銀行が保管しているICカードが1枚必要となり、銀行で保管するICカードは預金者のカードと同じ枚数必要である。この場合に対して、預金者毎にICカードを必要とはしない場合には、銀行側のICカードで複数の預金者を共有することになるが、銀行側としては1枚のICカードで多くの預金者のICカードを管理できる(つまり認証できる)ことになり、管理の面やシステムの運用上からは非常に利点が多い。言いかえれば、上記情報処理システムでは、例えば認証を行なうICカードがn組である場合には2n枚のICカードが必要となる。したがって、情報処理システムを構築するに必要な総カード枚数が、例えば1枚の銀行用カードでn人分の預金者ICカードを扱うことができる場合のICカードの必要総枚数「n(預金者側)+1(銀行側)」に比して多数になる。そのために、銀行側でのICカードの発行,保管,管理が繁雑となるという問題がある。
【0014】
加えて、上記情報処理システムでは、預金者のICカードと銀行が保管するICカードの両方に共通の秘密鍵を格納している。そして、この秘密鍵は外部から読み出せないことが前提となっており、認証コードを生成するアルゴリズムも同様に乱数等から読み出せないことが前提となっている。ところが、悪意のある者が、管理が比較的緩やかな預金者のICカードのみを入手した場合、耐タンパー性の低さから、物理的に本来とは異なる何らかの方法によって預金者カードに保存されている共通の秘密鍵データが読み出されることを完全に否定することはできない。ここで、上記「耐タンパー性」とは、本来使用する読み出し装置等を使用せずに、例えば記憶装置を分解して、記憶装置が光ディスクの場合にはディスクドライブを使ってではなく顕微鏡等を用いてデータの記録された溝を読み取る等によってデータを解読することである。
【0015】
こうして、預金者カードに保存されている共通の秘密鍵データが読み出されてしまった場合には、例え上記秘密鍵データが暗号化されている場合であっても、他の預金者のICカードにアクセスするのに必要な情報が書き込まれているために、不正に他の預金者のデータにアクセスしようとする者が銀行側ICカードになりすまして他の預金者ICカードにアクセスしデータを改竄する等の行為は比較的容易に行うことができる。
【0016】
これに対して、この共通の秘密鍵が銀行側のカードにのみ記録されている場合には、預金者側のICカードを不正に入手したとしても、暗号化された預金データは入手できるものの、共通鍵は銀行側カードにしか記録されていないために、上記入手した暗号化された預金データそのものを解読しなければならないことになる。
【0017】
以上のごとく、暗号化された預金データとそれを解読するための鍵情報とが同一情報記録媒体上に記録されている上記従来の情報処理システムの場合には、暗号化された預金データだけが存在してそれを解読するための鍵が別途必要なシステムの場合に比して、安全性は弱いと言わざるをえない。
【0018】
そこで、この発明の目的は、より高度なセキュリティを確保した相互認証が可能な情報処理装置、この情報処理装置を用いた情報処理システム、および、上記情報処理装置間での情報処理方法を提供することにある。
【0019】
【課題を解決するための手段】
上記目的を達成するため、この発明の情報処理システムは、
暗号化機能および復号化機能を有する第1情報処理装置と暗号化機能および復号化機能を有する第2情報処理装置との間で相互認証を行った後に、上記第1情報処理装置から第2情報処理装置にデータの暗号化および復号化の際に用いるデータ暗復号鍵の配信を行うに際して、
上記第1情報処理装置には、公開鍵とこの公開鍵と対を成す秘密鍵と上記データ暗復号鍵を含む鍵を生成する鍵生成部と、上記第2情報処理装置との間で情報の送受信を行う送受信部と、上記第2情報処理装置との間で上記送受信部を介した相互認証を行う認証部を、設ける一方、
上記第2情報処理装置には、暗号化されたデータを格納するデータ格納部と、上記相互認証および上記データ暗復号鍵の配信を行う間だけ用いられて消滅するセッション鍵と公開鍵とこの公開鍵と対を成す秘密鍵を含む鍵を生成する鍵生成部と、上記第1情報処理装置との間で情報の送受信を行う送受信部と、上記第1情報処理装置との間で上記送受信部を介した相互認証を行う認証部を、設けて、
上記相互認証を、上記第1情報処理装置の認証部と上記第2情報処理装置の認証部との間で、上記第1 , 第2情報処理装置間で取り決められた文字列を上記公開鍵および上記秘密鍵を用いて暗号化したもの、および、新規に生成された乱数を上記セッション鍵を用い暗号化したものを送受し、上記文字列および上記乱数の一致性を判断することによって行う
ようにしている。
【0020】
上記構成によれば、上記第2情報処理装置に格納されている暗号化データを復号する際に用いるデータ暗復号鍵は、上記第1情報処理装置の鍵生成部によって生成されて、送受信部を介して上記第2情報処理装置に配信される。こうして、暗号化されたデータとその暗号化データを復号するための暗号化データとを、異なる情報処理装置に保持しておくことによって、何れか一方の情報処理装置が無くなったり盗難にあったりし、尚且つ、耐タンパー性が低い場合であっても、より高度なセキュリティが確保される。
【0021】
その際における上記第1情報処理装置から第2情報処理装置への上記データ暗復号鍵の配信は、上記両情報処理装置間において、上記第1情報処理装置が生成した公開鍵および秘密鍵と上記第2情報処理装置が生成した公開鍵,秘密鍵およびセッション鍵とを用いた上記第1 , 第2情報処理装置間で取り決められた文字列および新規に生成された乱数の暗号化および復号化による相互認証を行った後に行われる。したがって、上記第1情報処理装置によって、確実に、自分に対して上記データ暗復号鍵の配信要求を出した自分とペアを組んでいる正規の上記第2情報処理装置に対して上記データ暗復号鍵が配信される。
【0022】
また、1実施例の情報処理システムでは、上記相互認証における上記第1情報処理装置による上記第2情報処理装置の認証を、上記第1情報処理装置の公開鍵および秘密鍵と上記第2情報処理装置の公開鍵および秘密鍵とを用いた公開鍵暗号化方式によって行う一方、上記第2情報処理装置による上記第1情報処理装置の認証は、上記セッション鍵を用いた秘密鍵暗号化方式によって行うようにしている。
【0023】
この実施例によれば、上記第1情報処理装置による上記第2情報処理装置の認証が、上記第1情報処理装置の公開鍵および秘密鍵と上記第2情報処理装置の公開鍵および秘密鍵とを用いた公開鍵暗号化方式によって行われる。したがって、上記第1情報処理装置によって、受信した暗号化情報の送出者は正規の第2情報処理装置であることが確実に確認される。
【0024】
さらに、上記第2情報処理装置による上記第1情報処理装置の認証が、上記セッション鍵を用いた秘密鍵暗号化方式によって行われる。したがって、上記第2情報処理装置によって、受信した暗号化情報の送出者は正規の第1情報処理装置であることが確実に確認される。
【0025】
また、1実施例の情報処理システムでは、上記相互認証における上記第1情報処理装置による上記第2情報処理装置の認証を、上記第2情報処理装置の認証部によって,上記秘密鍵と上記第1情報処理装置の公開鍵とをこの順序で用いて上記セッション鍵を暗号化し,得られた暗号化情報を上記第2情報処理装置の送受信部によって上記第1情報処理装置に送信する一方、上記第1情報処理装置の送受信部によって受信された上記暗号化情報を,上記第1情報処理装置の認証部によって上記秘密鍵と上記第2情報処理装置の公開鍵とをこの順序で用いて復号して上記セッション鍵を取得することによって行うようにしている。
【0026】
この実施例によれば、上記第2情報処理装置側では上記秘密鍵と上記第1情報処理装置の公開鍵との順序で用いて上記セッション鍵を暗号化し、上記第1情報処理装置側で上記秘密鍵と上記第2情報処理装置の公開鍵との順序で用いて復号して上記セッション鍵を取得するので、上記第1情報処理装置によって、上記暗号化されたセッション鍵の送出者は第2情報処理装置の秘密鍵を有している者であり、自分が復号できるのは上記第2情報処理装置から送信された暗号化情報であることから、上記暗号化情報の送出者は正規の第2情報処理装置であることが確認される。こうして、上記第1情報処理装置による上記第2情報処理装置からのセッション鍵の取得と上記第2情報処理装置の認証とが同時に行われる。
【0027】
また、1実施例の情報処理システムでは、上記相互認証における上記第2情報処理装置による上記第1情報処理装置の認証を、上記第1情報処理装置の認証部によって,上記セッション鍵を用いて上記データ暗復号鍵を暗号化し,得られた暗号化情報を上記第1情報処理装置の送受信部によって上記第2情報処理装置に送信する一方、上記第2情報処理装置の送受信部によって受信された上記暗号化情報を,上記第2情報処理装置の認証部によって上記セッション鍵を用いて復号して上記データ暗復号鍵を取得することによって行うようにしている。
【0028】
この実施例によれば、上記第1情報処理装置と第2情報処理装置との間のみで共有している上記セッション鍵を用いた秘密鍵暗号化方式によって上記データ暗復号鍵を暗号化して、上記第1情報処理装置から第2情報処理装置に送信するので、上記第2情報処理装置によって、上記受信した暗号化情報の送出者は自分と上記セッション鍵を共有している者であるから、上記暗号化情報の送出者は正規の第1情報処理装置であることが確認される。こうして、上記第2情報処理装置による上記第1情報処理装置からのデータ暗復号鍵の取得と上記第1情報処理装置の認証とが同時に行われる。
【0029】
また、1実施例の情報処理システムでは、上記第1情報処理装置に、少なくとも上記公開鍵,秘密鍵,データ暗復号鍵および上記第2情報処理装置の公開鍵を格納する不揮発性メモリと、少なくとも上記セッション鍵を格納する揮発性メモリを設ける一方、上記第2情報処理装置に、少なくとも上記公開鍵,秘密鍵および上記第1情報処理装置の公開鍵を格納する不揮発性メモリと、少なくとも上記セッション鍵およびデータ暗復号鍵を格納する揮発性メモリを設けている。
【0030】
この実施例によれば、上記第1情報処理装置と第2情報処理装置とで共有する上記セッション鍵と、上記第2情報処理装置で受け取った上記データ暗復号鍵とが、上記揮発性メモリに格納されている。したがって、これらの鍵は、上記第1情報処理装置および第2情報処理装置に対する電源の供給が停止されると消滅する。こうして、さらに高度なセキュリティが確保される。
【0031】
また、1実施例の情報処理システムでは、上記第2情報処理装置を複数とし、上記第1情報処理装置の鍵生成部を夫々の第2情報処理装置毎に異なるデータ暗復号鍵を生成するようになし、上記第1情報処理装置を各第2情報処理装置の公開鍵とデータ暗復号鍵とを対にして格納するようにしている。
【0032】
この実施例によれば、1つの第1情報処理装置と複数在る第2情報処理装置の夫々との間においても高度なセキュリティが確保される。
【0033】
したがって、上記第1情報処理装置が銀行側のICカードであり、上記第2情報処理装置が預金者側のメモリカードのような関係でもあっても、1枚の銀行ICカードで複数枚の預金者メモリカード対処することが可能になる。
【0034】
また、1実施例の情報処理システムでは、上記第1情報処理装置および第2情報処理装置を計算機で構成している。
【0035】
この実施例によれば、データ暗復号鍵が一方の計算機から他方の計算機に配信されるような2つの計算機間において、より高度なセキュリティが確保される。
【0036】
また、1実施例の情報処理システムでは、上記第1情報処理装置および第2情報処理装置をICカードで構成している。
【0037】
この実施例によれば、データ暗復号鍵が一方のICカードから他方のICカードに配信されるような2つのICカード間において、より高度なセキュリティが確保される。
【0038】
また、1実施例の情報処理システムでは、上記第1情報処理装置および第2情報処理装置を不揮発性メモリカードで構成している。
【0039】
この実施例によれば、データ暗復号鍵が一方の不揮発性メモリカードから他方の不揮発性メモリカードに配信されるような2つの不揮発性メモリカード間において、より高度なセキュリティが確保される。
【0040】
また、1実施例の情報処理システムでは、上記第1情報処理装置と第2情報処理装置とを、計算機,ICカードおよび不揮発性メモリカードから選択された互いに異なる2つの機器で構成している。
【0041】
この実施例によれば、計算機,ICカードおよび不揮発性メモリカードから選択された互いに異なる2つの機器であって、データ暗復号鍵が一方の機器から他方の機器に配信されるような2つの機器間において、より高度なセキュリティが確保される。
【0042】
また、この発明の情報処理装置は、上記発明の情報処理システムにおける上記第1情報処理装置および第2情報処理装置のうちの少なくとも何れか一方として用いられると共に、計算機で構成されている。
【0043】
上記構成によれば、上記計算機と他の情報処理装置とによってデータ暗復号鍵を一方から他方に配信する情報処理システムを構築する際に、より高度なセキュリティが確保される。
【0044】
また、この発明の情報処理装置は、上記発明の情報処理システムにおける上記第1情報処理装置および第2情報処理装置のうちの少なくとも何れか一方として用いられると共に、ICカードで構成されている。
【0045】
上記構成によれば、上記ICカードと他の情報処理装置とによってデータ暗復号鍵を一方から他方に配信する情報処理システムを構築する際に、より高度なセキュリティが確保される。
【0046】
また、この発明の情報処理装置は、上記発明の情報処理システムにおける上記第1情報処理装置および第2情報処理装置のうちの少なくとも何れか一方として用いられると共に、不揮発性メモリカードで構成されている。
【0047】
上記構成によれば、上記不揮発性メモリカードと他の情報処理装置とによってデータ暗復号鍵を一方から他方に配信する情報処理システムを構築する際に、より高度なセキュリティが確保される。
【0048】
また、この発明の情報処理方法は、
暗号化機能および復号化機能を有する第1情報処理装置と暗号化機能および復号化機能を有する第2情報処理装置との間で相互認証を行った後に、上記第1情報処理装置から第2情報処理装置にデータの暗号化および復号化の際に用いるデータ暗復号鍵の配信を行うに際して、
上記第2情報処理装置によって上記相互認証および上記データ暗復号鍵の配信を行う間だけ用いられて消滅するセッション鍵を生成し、上記第1情報処理装置との間で予め取り決められた文字列と上記セッション鍵とを組み合わせたものを上記第2情報処理装置の秘密鍵と上記第1情報処理装置の公開鍵とをこの順序で用いて暗号化して得られた第1暗号情報を上記第1情報処理装置に送信し、
上記第1情報処理装置によって、受信した上記第1暗号情報を上記第1情報処理装置の秘密鍵と上記第2情報処理装置の公開鍵とをこの順序で用いて復号して得られた復号結果内に上記文字列が存在する場合に、上記復号結果から上記セッション鍵を取得する
ことによって、両情報処理装置間での上記セッション鍵の共有と上記第2情報処理装置の認証とを行い、
上記第2情報処理装置によって新規に乱数を生成し、この生成した乱数を上記セッション鍵を用いて暗号化して得られた第2暗号情報を上記第1情報処理装置に送信し、
上記第1情報処理装置によって、受信した上記第2暗号情報を上記取得したセッション鍵を用いて復号して、上記第2情報処理装置で生成された上記乱数を取得し、
上記第1情報処理装置によって上記データ暗復号鍵を生成し、上記取得した乱数と上記データ暗復号鍵とを、上記第2情報処理装置との間で予め取り決められた方法によって連結したものを上記取得したセッション鍵を用いて暗号化して得られた第3号情報を上記第2情報処理装置に送信し、
上記第2情報処理装置によって、受信した上記第3号情報を上記セッション鍵を用いて復号して得られた復号結果内に、自らが上記第2暗号情報として送信した上記乱数が存在する場合に、上記復号結果から上記データ暗復号鍵を取得する
ことによって、上記データ復号鍵の配信と上記第1情報処理装置の認証とを行う
ようにしている。
【0049】
上記構成によれば、暗号化されたデータとその暗号化データを復号するためのデータ暗復号鍵とが異なる情報処理装置に保持されて、何れか一方の情報処理装置が無くなったり盗難にあったりし、尚且つ、耐タンパー性が低い場合であっても、より高度なセキュリティが確保される。
【0050】
さらに、上記第1情報処理装置による上記第2情報処理装置からのセッション鍵の取得と上記第2情報処理装置の認証とが同時に行われる。一方、上記第2情報処理装置による上記第1情報処理装置からのデータ暗復号鍵の取得と上記第1情報処理装置の認証とが同時に行われる。こうして、上記第1情報処理装置によって、確実に、自分に対して上記データ暗復号鍵の配信要求を出した自分とペアを組んでいる正規の上記第2情報処理装置に対して上記データ暗復号鍵が配信される
【0051】
【発明の実施の形態】
以下、この発明を図示の実施の形態により詳細に説明する。図1は、本実施の形態の情報処理システムにおける基本構成を示す図である。この情報処理システムにおいては、2つの情報記録媒体の間で相互認証を行うものであり、従来から提案されている2つの情報記録媒体の間で相互認証を行う一般的な情報処理システムと同じである。
【0052】
図1においては、上記2つの情報記録媒体として、ICカード1とメモリカード2とを用いるようにしている。ここで、ICカード1とメモリカード2とは、何れも情報処理機能を有するICカードである。リーダライタ装置3は、ICカード1の挿入口3aとメモリカード2の挿入口3bとを有しており、各挿入口3a,3bに挿入されたICカード1とメモリカード2に対してアクセスする機能を有して、通常はコンピュータ(図示せず)に接続して使用される。
【0053】
図2は、上記ICカード1の内部構成を示すブロック図である。ICカード1には、CPU5とROM(リード・オンリ・メモリ)6とRAM(ランダム・アクセス・メモリ)7とEEPROM(電気的消去書き込み可能リード・オンリ・メモリ)8が内蔵されている。CPU5は、このICカード1の情報処理機能を司る構成要素であり、ROM6内に格納されたプログラムに基いて以下に詳述するような情報処理を実行する。RAM7は、CPU5が情報処理を実行する上での作業領域として利用されるメモリである。また、EEPROM8は、このICカード本来の目的である情報記録に利用される不揮発性メモリであり、各種の鍵等が格納される。
【0054】
このICカード1に対しては、上記リーダライタ装置3の挿入口3aに挿入された際にリーダライタ装置3から電源やクロック信号が供給されて、ICカード1と外部とはI/O(入出力)信号を用いて通信を行うことができるようになっている。ここで、ROM6やEEPROM8は、電源の供給が停止しても記録内容が保持される不揮発性メモリである。これに対して、RAM7は、電源の供給が停止すると記録内容が失われる揮発性メモリである。上記構成を有するICカード1内の各メモリに対するアクセスは総てCPU5によって行われ、リーダライタ装置3のような外部装置から直接ICカード1内のメモリをアクセスすることはできない構成になっている。
【0055】
上記CPU5は、さらに、上記リーダライタ装置3を介して上記コンピュータ等の外部装置から与えられる所定のコマンドに基いて、このICカード1全体を統括管理する機能を有している。例えば、上記外部装置からEEPROM8の所定領域へデータを書き込むためには、CPU5に対して書き込みコマンドを入力する必要があり、EEPROM8の所定領域内のデータを外部へ読み出すためには、CPU5に対して読出しコマンドを入力する必要がある。そして、CPU5が上記書き込みコマンドや読出しコマンドを実行する際には、必要に応じて、EEPROM8に記録された鍵と外部装置から与えられた鍵との照合が行われる。
【0056】
以上、上記ICカード1の内部構成について説明したが、メモリカード2のハードウエア構成も、図3に示すように全く同様である。但し、ICカード1のCPU5およびメモリカード2のCPU15が実行するプログラムは、その用途の相違に従って若干相違する。
【0057】
本実施の形態における情報処理システムの重要なことは、少なくともICカード1のEEPROM8に格納されたメモリカード2が用いるデータ暗復号鍵を正しく受領するためには、ICカード1とメモリカード2とに関して以下のような相互認証の手続が必要であるということである。
【0058】
すなわち、先ず、上記ICカード1とメモリカード2とをリーダライタ装置3の挿入口3a,3bに挿入し、リーダライタ装置3に対してICカード1とメモリカード2とを電気的に接続した状態にする。その上で、両カード1,2間において、夫々相手方のカードが正当なカードであるか否かを認証する。こうして、両カード1,2が共に挿入され且つ互いに相手が正当なカードであると認証された状態になっていなければ、少なくともICカード1のEEPROM8に保存されているメモリカード2に関するデータ暗復号鍵を入手することができないのである。その場合、これら両カード1,2以外に上記データ暗復号鍵が入手されることがあってはならない。また、偽の鍵情報を正しい鍵情報と混乱させてメモリカード2に入手させることがあってもならない。
【0059】
以下、理解を容易にするために、ICカード1が銀行用ICカードであり、メモリカード2が預金者用メモリカードである具体的な例について、説明を行う。預金者用メモリカード2には、ユーザデータとして銀行預金に関する取引情報が記録されており、預金者はこのメモリカード2を通帳代わりに利用する。一方、銀行の支店には、リーダライタ装置3およびこれに接続された上記コンピュータが設置されており、このリーダライタ装置3には預金者がメモリカード2内データを参照したり変更したりする際に必要に応じて銀行用ICカード1が挿入される。
【0060】
そして、上記銀行用ICカード1と預金者用メモリカード2との間での相互認証が行われる。すなわち、預金者用メモリカード2が相手方である銀行用ICカード1が正当なものであるか否かを認証する処理と、逆に、銀行用ICカード1が相手方である預金者用メモリカード2が正当なものであるか否かを認証する処理と、が行われるのである。そして、双方共に肯定的な認証結果が得られた場合に、預金者用メモリカード2内のユーザデータに対する読み出しや書き込み等のアクセスが許可されるのである。このような相互認証システムを採ることによって、セキュリティを非常に向上させることができるのである。
【0061】
例えば、上記預金者用メモリカード2が、盗難あるいは紛失によって不正利用者の手に渡った場合を考える。この場合であっても、預金者用メモリカード2には、暗号化されたデータのみが記録されており、これだけでは預金者用メモリカード2の記録内容へのアクセスは不可能である。この暗号化されたデータを復号するための暗復号鍵は銀行用ICカード1にのみ登録されており、上記暗号化されたデータと暗復号鍵との両方を揃える必要がある。これに対して、例えば、内部犯罪等によって、信頼できるはずの銀行用ICカード1が不正利用者に入手されたとしても、預金者側の暗号化データを入手することはできない上に、上述の説明のように、預金者側の暗復号鍵の入手も理論的に非常に困難である。
【0062】
上述したように、特許文献1に開示された情報処理システムにおいては、2枚のカードのうちの一方は厳重に管理されているという仮定があるが、管理が信頼できない一般の個人間での利用には向かない。また、カードを管理する側の内部犯行等によって管理されているカードの安全性がゆらぐこともある。…第1の問題点
【0063】
また、両カードには、一方のメモリカード内に他方のカードを認証するために必要な完全に同一のコードが記録されているため、耐タンパー性が低い場合には管理が厳重ではない方のカードから上記同一コードから入手されて、管理が厳重な方のカードの不正な偽造につながる。…第2の問題点
【0064】
また、両カードが同一コードを保持することで認証を行っているため、一方のカードの枚数と同じ枚数の他方のカードが必要となり、例えば預金者と銀行との関係の場合には銀行側は膨大の数の銀行側ICカードを用意せねばならず、銀行側ICカードの安全性も損なわれ兼ねない。…第3の問題点
【0065】
しかしながら、本実施の形態によれば、後に詳述するように、上記各問題点は何れも解決されるのである。以下、順次詳細に説明する。
【0066】
本実施の形態においては、図2に示すように、上記ICカード1のEEPROM8内には、ICカード公開鍵9およびICカード秘密鍵10が記憶されると共に、各メモリカード2毎に、データ暗復号鍵11およびメモリカード公開鍵12が記憶される。また、RAM7には、メモリカード2と共有するセッション鍵13が記憶される。一方、図3に示すように、上記メモリカード2内のEEPROM18には、メモリカード公開鍵19,メモリカード秘密鍵20およびICカード公開鍵21が記憶される。また、RAM17には、生成されたセッション鍵22およびICカード1から受領されたデータ暗復号鍵23が記憶される。尚、24は、ユーザデータである。
【0067】
以下、上記ICカード1のCPU5とメモリカード2のCPU15とによって実行される相互認証処理動作について、図4〜図6に示すフローチャートに従って説明する。尚、上記相互認証処理動作は、ICカード1のCPU5とメモリカード2のCPU15との相互作用によって完遂される。したがって、以下の説明においては、処理の流れが分り易いように必要に応じて説明対象のカードを換えながら行う。尚、図4〜図6においては、ICカード1のCPU5による処理ステップを「S1〜の番号」で示し、メモリカード2のCPU15による処理ステップを「S101〜の番号」で示している。
【0068】
上記ICカード1がリーダライタ装置3の挿入口3aに挿入されてICカード1に電源が投入されると、CPU5による相互認証処理動作がスタートする。そして、ステップS1で、EEPROM8にICカード公開鍵9とICカード秘密鍵10とが格納されているか否かが判別される。その結果、格納されていなければステップS2に進む一方、格納されていればステップS3に進む。ステップS2で、ICカード公開鍵9とICカード秘密鍵10とが生成されてEEPROM8に格納される。ここで、ICカード秘密鍵10は他者から読み出されるものではあってはならない。こうした後、メモリカード2からのメモリカード公開鍵の送信を待つ。
【0069】
一方において、上記メモリカード2がリーダライタ装置3の挿入口3bに挿入されてメモリカード2に電源が投入されると、CPU15による相互認証処理動作がスタートする。そして、ステップS101で、EEPROM18にメモリカード公開鍵19とメモリカード秘密鍵20とICカード公開鍵21とが格納されているか否かが判別されることによって、最初の相互認証ではないか否かが判別される。その結果、最初の相互認証でなければステップS102に進む一方、最初の相互認証であればステップS103に進む。この場合にも、メモリカード秘密鍵20は他者から読み出されるものであってはならない。
【0070】
ステップS102で、最初の相互認証ではないので既にEEPROM18にメモリカード公開鍵19が格納されている。したがって、メモリカード公開鍵19が読み出されて、「初期化要求」が付随されずにICカード1に対して送信される。そうした後、ステップS107に進む。ステップS103で、最初の相互認証であるので、EEPROM18にメモリカード公開鍵19は格納されていない。したがって、メモリカード公開鍵19とメモリカード秘密鍵20とが生成されて、EEPROM18に格納される。ステップS104で、EEPROM18からメモリカード公開鍵19が読み出されて、「初期化要求」が付随されてICカード1に送信される。
【0071】
そうすると、上記ICカード1側では、ステップS3で、メモリカード2側から送信されたメモリカード公開鍵19が受信される。ステップS4で、受信したメモリカード2からのメモリカード公開鍵19には、「初期化要求」が付随しているか否かが判別される。その結果、「初期化要求」が付随していない場合にはステップS9に進み、「初期化要求」が付随している場合にはステップS5に進む。
【0072】
ステップS5で、上記ステップS3において受信されたメモリカード公開鍵19がEEPROM8に既に登録されているか否か判別される。その結果、登録されていればステップS6に進む一方、登録されていなければステップS7に進む。ステップS6で、受信されたメモリカード公開鍵19をEEPROM8に登録することができないので、メモリカード2側に初期化エラーを送信する。
【0073】
そうすると、上記メモリカード2側では、ステップS105で、ICカード1からの初期化エラーを受信したと判別されると、メモリカード2側の相互認証処理動作を終了する。一方、初期化エラーの受信がなければ、ステップS106に進んでICカード1からのICカード公開鍵の送信を待つ。
【0074】
ここで、上記受信されたメモリカード公開鍵19がICカード1のEEPROM8に既に登録されている場合に初期化エラーとする理由は、メモリカード2側での上記ステップS103におけるメモリカード公開鍵19の生成時に偶然に既登録の他メモリカード用の公開鍵と同じ鍵が生成されてしまったためであり、メモリカード公開鍵をインデックスとしてEEPROM8内のデータ暗復号鍵を検索するのでメモリカード公開鍵の重複が許されないためである。上述のように、初期化エラーが発生した場合には、メモリカード2側において、新規にメモリカード公開鍵19とメモリカード秘密鍵20とを生成するだけでよい。その場合、メモリカード公開鍵19およびメモリカード秘密鍵20は乱数性に基づいて生成され、通常鍵として1024ビット長のコードが使用されるので、前回生成されたメモリカード公開鍵19およびメモリカード秘密鍵20と重複する可能性は非常に小さく殆ど「0」である。
【0075】
ステップS7で、上記メモリカード2用にデータ暗復号鍵11が生成される。ステップS8で、ICカード公開鍵9がEEPROM8から読み出されて、メモリカード2側に送信される。そうした後、ステップS13に進む。
【0076】
一方、ステップS9で、上記ステップS4において「初期化要求」が付随していないと判別されたので、相手のメモリカード2は以前に登録されたメモリカード2であると仮定して、受信したメモリカード公開鍵19と一致するメモリカード公開鍵12が自分のリストに存在するか否かが判別される。その結果、存在しない場合にはメモリカード2のリーダライタ装置3の挿入口3bへの挿入間違いであると判断されてステップS10に進み、存在する場合にはステップS12に進む。ステップS10で、メモリカード2側にカード組み合せエラーが送信される。ステップS11で、リーダライタ装置3にメモリカード2の挿入間違いが通知され、例えばリーダライタ装置3の表示画面(図示せず)等にメモリカード2の挿入間違いが出力される。そうした後に、ICカード1側の相互認証処理動作を終了する。ステップS12で、受信したメモリカード公開鍵19に一致するメモリカード公開鍵12が各メモリカードの公開鍵リストから検索されて、相手のメモリカード2が特定される。そして、上記特定されたメモリカード2(つまり、リーダライタ装置3に挿入されているメモリカード2)にマッチした内容の操作対象鍵群が設定される。以降の処理は、この設定された操作対象鍵群を用いて行われることになる。
【0077】
一方、上記メモリカード2側では、ステップS106で、ICカード1側から送信されたICカード公開鍵9が受信される。ステップS107で、ICカード1からのカード組み合せエラーを受信したと判別されると、メモリカード2側の相互認証処理動作を終了する。
【0078】
この時点で、上記ICカード1およびメモリカード2は、互いに相手を可能性の高い1個体に限定できたことになる。しかしながら、この時点では、飽くまでも自称というだけであって、まだ上記自称が証明されてはいない。したがって、この時点で単純にデータ暗復号鍵を送受信した場合には、間違った鍵を渡してしまったり、鍵を不正に漏曳させてしまったりする可能性がある。そのために、以降で、上述した仮決定が正しいことを証明する処理に移行する。そして、上記仮決定が正しいと証明された場合には、データ暗復号鍵を受渡すことになる。
【0079】
上記メモリカード2側において、ステップS108で、セッション鍵(乱数)22が生成されてRAM17に格納されると共に、予めICカード1との間で取り決められている文字列と組み合せられる。ここで、上記文字列は任意のバイト数であればよく、文字のみに限定されるものでもない。また、上記組み合せ方法も両者合意であれば特に限定されるものではない。そうした後、上記文字列とセッション鍵との組み合せに対して、メモリカード秘密鍵20と上記受信したICカード公開鍵21(9)とが順に適用されて暗号化される。そして、こうして暗号化されたメッセージがICカード1側に送信される。
【0080】
そうすると、上記ICカード1側では、ステップS13で、メモリカード2からのメッセージが受信される。ステップS14で、上記受信メッセージに対して、ICカード秘密鍵10とメモリカード公開鍵12(19)とが順に適用されて復号される。ステップS15で、ステップS14における復号結果における所定位置に、予めメモリカード2との間で取り決められている文字列が存在するか否かが判別される。その結果、存在すれば、上記復号結果はメモリカード2からのメッセージであると判断されてステップS16に進む。一方、存在しなければ、何者かがメモリカード2になりすましたものと判断されて、ICカード1側の相互認証処理動作を終了する。ステップS16で、上記ステップS14での復号結果からセッション鍵22が取得され、セッション鍵13としてRAM7に格納される。
【0081】
一方、上記メモリカード2側では、ステップS109で、新規に乱数が生成されて、予めICカード1とメモリカード2との間で取り決められている秘密鍵暗号方式によって暗号化される。この場合に用いられる暗号鍵は上記ステップS108において生成されたセッション鍵22である。そして、こうして暗号化されたメッセージがICカード1側に送信される。
【0082】
そうすると、上記ICカード1側では、ステップS17で、メモリカード2からのメッセージが受信され、上記ステップS16において取得されたセッション鍵13(22)を用いて復号されて乱数が得られる。ステップS18で、上記ステップS3において受信されたメモリカード公開鍵19に「初期化要求」が付随されている場合には、上記受信されたメモリカード公開鍵19をメモリカード公開鍵12とし、上記ステップS7において生成されたデータ暗復号鍵11とペアにして、EEPROM8に登録される。これらのメモリカード公開鍵12(19)とデータ暗復号鍵11とは他者から読み出し可能であってはならない。
【0083】
ステップS19で、上記ステップS17において得られた乱数とEEPROM8から読み出されたデータ暗復号鍵11とが、予めICカード1とメモリカード2との間で取り決められている方法によって連結され、セッション鍵13(22)で暗号化されてメモリカード2側に送信される。そうした後、ICカード1のCPU5は、ICカード1側の相互認証処理動作を終了する。
【0084】
上記メモリカード2側では、ステップS110で、ICカード1からのメッセージが受信される。ステップS111で、上記ステップS110においてICカード1からのメッセージが受信されないと判別された場合には、ICカード1側は相互認証処理動作を終了していると判断し、メモリカード2側の相互認証処理動作を終了する。
【0085】
ステップS112で、上記受信されたICカード1からのメッセージがセッション鍵22(13)を用いて復号される。ステップS113で、上記ステップS112における復号結果中に上記ステップS109において生成・送信した乱数が含まれているか否かを判別することによって、上記受信メッセージが正しく復号されたか否かが判別される。その結果、正しく復号されている場合はステップS114に進む。一方、そうでない(乱数の不一致)場合には、何者かが不正にICカード1になりすましたものと判断されて、メモリカード2側の相互認証処理動作を終了する。
【0086】
上記メモリカード2側における上記ステップS108以降の処理およびICカード1側における上記ステップS13以降の処理によって、互いに、自称による相手の仮決定が正しいと証明されたので、メモリカード2側では、以下の処理によって自ら生成した鍵やICカード1から送信されてきた鍵を正しい鍵であるとして登録する。
【0087】
ステップS114で、上記ステップS112における復号結果中の上記乱数以外の部分からデータ暗復号鍵11が取得され、RAM17にデータ暗復号鍵23として格納される。ステップS115で、上記ステップS104において「初期化要求」が付随されたメモリカード公開鍵19を送信した場合にのみ、上記ステップS103において生成されたメモリカード公開鍵19およびメモリカード秘密鍵20がEEPROM18に格納される。また、上記ステップS106において受信されたICカード公開鍵9が、EEPROM18にICカード公開鍵21として格納される。そのうち、メモリカード秘密鍵20は他者から読み出されてはならない。そうした後、メモリカード2のCPU15は、メモリカード2側の相互認証処理動作を終了する。
【0088】
こうして、上記ICカード1のCPU5およびメモリカード2のCPU15によって実行される相互認証処理動作が終了する。
【0089】
以後、上記メモリカード2は、上記ステップS114においてRAM17に格納されたデータ暗復号鍵23をデータの暗号化・復号に用いる。つまり、この例の場合では、上記メモリカード2のEEPROM18に格納されているユーザデータ(例えば銀行の預金者カードである場合には預金通帳のデータ等)24を読み出してデータ暗復号鍵23を用いて復号したり、リーダライタ装置3を介して上記コンピュータからメモリカード2に対して書込み要求がある場合にば、データ暗復号鍵23を用いて暗号化してから書き込んだりするのである。
【0090】
また、上記メモリカード2は、次回にも同じデータ暗復号鍵23を得ることができることは、上述のフローチャートから明らかである。勿論、このデータ暗復号鍵23をメモリカード2単独では知ることができないので、データ暗復号鍵23をメモリカード2のEEPROM18内に予め保持しておく場合よりは安全である。
【0091】
ここで、上述した上記ICカード1のCPU5によって実行される相互認証処理動作の上記ステップS18と、メモリカード2のCPU15によって実行される相互認証処理動作の上記ステップS115とで行なわれる初期化要求時における鍵の格納タイミングについて説明する。
【0092】
本例のごとく、上記ICカード1が銀行用ICカードであり、メモリカード2が預金者用メモリカードである場合には、1枚のICカード1に対して複数枚のメモリカード2が対応している。つまり、ICカード1から見た場合には必ずメモリカード2を特定する必要があり、メモリカード2に誤った鍵を登録させてしまった場合には、そのメモリカード2は使用できないことになる。
【0093】
したがって、上記メモリカード2のCPU15による相互認証処理動作の上記ステップS115においては、互いに相手が確実に正しいICカード1およびメモリカード2であることが確定されいることが必要である。そうすれば、メモリカード2側に誤って鍵が渡されていないことが証明されていることになる。若し、上記ステップS115よりも早い時点で鍵の登録が行われた場合には、正当な鍵であるか否かが確認される前に電源が遮断された場合は復帰できないことになる。また、上記ステップS18の方が上記ステップS115よりも時間的に早い理由は、ICカード1は複数枚のメモリカード2の情報を登録することが必要があり、各メモリカード2の情報を登録している間に両カード1,2間の電源が切断されてもメモリカード2は新規に初期化要求を出すことができ、ICカード1がメモリカード2を登録できる枚数が極端に少なくないかぎりにおいて、問題とならないためである。
【0094】
図7は、上記ICカード1におけるメモリの構造の一例を示す概念図である。また、図8は、上記メモリカード2におけるメモリの構造の一例を示す概念図である。以下、図7および図8を用いて、図4〜図6に示す相互認証処理動作のフローチャートが実行されるに従ってICカード1およびメモリカード2に書き込まれるデータに付いて具体的に説明する。
【0095】
図7におけるICカード1のEEPROM8内のデータは、ICカード1側の相互認証処理動作の上記ステップS2およびステップS18において書き込まれ、RAM7のセッション鍵は上記ステップS16において書き込まれる。また、図7に示すICカード1は2枚のメモリカード2に対応している。そして、上記ステップS3においてメモリカード公開鍵「mykey」を受信した後、「初期化要求」無しの場合に上記ステップS9においてEEPROM8からメモリカード公開鍵「mykey」が検索されたとすれば、相手のメモリカード2は「メモリカードB」であるということが分る。そして、上記ステップS12において、操作対象鍵群としてメモリカードBのメモリカード公開鍵「mykey」とデータ暗復号鍵「1234」とが設定される。以後、この2つの鍵「mykey」と「1234」以外の鍵の使用が限定されるのである。一方、「初期化要求」有りの場合には、これらの鍵は一時的に記憶されてステップS18で登録される。
【0096】
図8におけるメモリカード2におけるEEPROM18内の3つの鍵は、メモリカード2側の相互認証処理動作の上記ステップS115において登録される。そして、このEEPROM18内の3つの鍵データの有無が、次の相互認証時に上記ステップS101において判断されて、「初期化要求」をするかしないかが決定される。セッション鍵「2233」は上記ステップS108において生成される。また、乱数「5678」は上記ステップS109において生成される。データ暗復号鍵「1234」は上記ステップS114において取得される。そして、上記各セッション鍵「2233」,乱数「5678」およびデータ暗復号鍵「1234」は、夫々RAM17に登録される。
【0097】
上述したように、本実施の形態においは、先ず、最初にICカード1とメモリカード2との間で相互にペアであることを認識するの初期化処理を行う。この初期化処理においては、ICカード1ではメモリカード2用に使用するデータ暗復号鍵11を生成し、メモリカード2で生成されたメモリカード公開鍵19とメモリカード秘密鍵20とのうちのメモリカード公開鍵19を受信して、データ暗復号鍵11とメモリカード公開鍵12(19)とを組としてEEPROM8に記憶する。同様に、メモリカード2は、ICカード1から送信されてくるICカード公開鍵9を、EEPROM18にICカード公開鍵21として記憶する。この初期化処理は、各メモリカード2毎に一度しか実行されない。つまり、メモリカード2に対して初期化処理が二度以上行われることはないし、始めて使用されるメモリカード2はこの初期化処理が行われないと次の処理に進むことができないのである。
【0098】
こうして、初期化処理が終了すると、上記ICカード1には、各メモリカード2a,2b,…,2nに対応する上記メモリカード公開鍵とデータ暗復号鍵との2つの鍵の組が保存されている。そうすると、次に、メモリカードの予備決定とセッション鍵の入手との処理が行われる。上述のように初期化処理を終了した状態、または、以前にデータの暗復号鍵を入手(RAM17に格納)した後に電源を断たれたりICカード1との接続が切れたりしてデータ暗復号鍵が失われた状態において、この処理が必要となる。
【0099】
先ず、上記メモリカード2は、保持しているメモリカード公開鍵19をICカード1に送信する。そうすると、ICカード1は、受信したメモリカード公開鍵19をインデックスとして「鍵の2つ組」の検索を行なってメモリカード公開鍵19とマッチするものを探す。その際に、「鍵の2つ組」がない場合には、メモリカード2はペアでないと判断し、ペアでないメモリカードの使用を排除する。「鍵の2つ組」がある場合には、以後、メモリカード公開鍵12(19)とデータ暗復号鍵11とで成る「鍵の2つ組」を用いて暗号化や復号を行なうのである。こうして、メモリカードの予備決定の処理が終了する。
【0100】
そうると、次に、セッション鍵の共有が行われる。この「セッション鍵」とはメモリカード2に対するデータ暗復号鍵の受渡しが完了するまでの間のみ使用する鍵であり、データ暗復号鍵の受渡しが完了すれば消滅するものである。ここで、セッション鍵を共有する2者以外は上記セッション鍵を知らないことが必要である。そこで、本実施の形態においては、メモリカード2側で今回使用するセッション鍵(乱数)22を生成し、このセッション鍵22にメモリカード2とICカード1との間で設定された共通の文字列(プログラムされている)を連結し、さらにメモリカード秘密鍵20とICカード公開鍵21とをこの順に適用して暗号化してICカード1に送信するようにしている。
【0101】
ここで、使用する公開鍵暗号化方式についてはRSA方式が特に有名であるが暗号化の手法については特に限定しない。以下、公開鍵暗号化方式について簡単に説明する。暗号化のために、公開鍵と秘密鍵とをペアで生成して公開鍵のみを相手方に送信しておく。こうすることによって、情報を秘密鍵で暗号化した場合には公開鍵を用いないと復号できないし、公開鍵で暗号化した場合には秘密鍵を用いないと復号できない。したがって、公開鍵を公開すれば公開鍵を持つものは誰でも暗号化できるが、自分のみが秘密鍵を持っているために自分しか復号できない。逆に、秘密鍵で暗号化すれば、盗聴したものも含めて公開鍵を持つ誰でもが復号できるが、誰にも公開されない秘密鍵を持っていないと暗号化できないため秘密鍵を持っている自分が送信したことを相手に保証することができるのである。
【0102】
加えて、秘密鍵暗号方式について説明しておく。これは従来から盛んに用いられている暗号化方法であり、有名なものとしてDESがある。この秘密鍵暗号化方式においては、データの暗号化と復号化との双方で同じ鍵(ビット列)を使用する。そのために、対称暗号化方式と呼ばれる場合もある。さらに、公開鍵暗号化方式の場合とは異なって暗号化や復号化に使用する鍵を秘密にしておく必要があり、共有鍵暗号化方式と呼ばれる場合もある。
【0103】
さて、上述のようにして暗号化されたメッセージを受領したICカード1は、自分が有するICカード秘密鍵10とメモリカード公開鍵12とをこの順に適用してこのメッセージを復号する。詳細は後述するが、メッセージを復号するためにはICカード秘密鍵10が必ず必要であるので、秘密鍵が安全に他者に知られないように保管されている限りICカード1以外は復号できないことになる。そして、ICカード1は、復号したメッセージに上記共通の文字列が正しく含まれているかを調べることによって、正しく復号できたか、つまりメモリカード2がメモリカード秘密鍵20を用いて暗号化したか(メモリカード2のみがメモリカード秘密鍵を有している)が分るのである。この結果、メモリカード2から送信されたものであると特定できれば、上記共有の文字列を除いた部分をセッション鍵22として受領できるのである。
【0104】
以上のセッション鍵22の送受信を別の書き方で表せば以下のようになる。すなわち、メモリカード2から、ICカード1とメモリカード2との両者共通の定文字列「str」とメモリカード2が任意に生成した乱数「r1」を両者で合意のとれている結合(例として、単純に文字列「str」の後に乱数「r1」を連結して「str r1」とする)を行ない、その結合結果をメモリカード秘密鍵20→ICカード公開鍵21の順に用いて暗号化し、ICカード1に送信する。尚、文字列「str」と乱数「r1」との結合は上述した順序での連結に限定されるものではなく、ICカード1とメモリカード2との両者で合意されていれば如何様な方法であっても構わない。一方、ICカード1では、受領したメッセージを暗号化とは逆のICカード秘密鍵10→メモリカード公開鍵12の順に用いて復号するのである。その結果は「str r1」となるはずであるが乱数「r1」の部分はメモリカード2が任意に決定するので具体的内容についてはICカード1は分らない。したがって、ここでは「str rx」と表記することにする。しかしながら、文字列「str」の部分については、メモリカード2と共通であるためICカード1文字列「str」を確認することによって復号結果が正しいことを確認できる。このことは、以下のような事実を物語っている。すなわち、(1)送出者はメモリカード秘密鍵20を有している。(2)復号できるのはICカード秘密鍵10を有しているICカード1のみである。すなわち、これら2つの事実よって、上記メッセージを生成した個体は必ず本当のメモリカード2であり、ICカード1とメモリカード2とのみがセッション鍵「r1」を所有していることになる。もし、復号結果が「str rx」の形式でなければ、ICカード1は、リクエスト「セッション鍵の共有」を無視するのである。こうして、セッション鍵の入手の処理が終了するのである。
【0105】
本実施の形態においては、暗号化手法そのものを議論することはなく概念を限定するのみとし、鍵を安全に渡すことのできる手法についてその方法を明らかにするものである。同様に、メモリカード2でデータ暗復号鍵を受領した後は、そのデータ暗復号鍵どのように用いて暗号化または復号化するか、若しくは、その鍵自体が情報として扱われるか否かについても限定するものではない。つまり、本発明は、一般的に利用できるものである。
【0106】
ここで、上記ICカード1とメモリカード2とに登録する鍵情報について整理しておく。ICカード1には、ICカード公開鍵9(21)、ICカード秘密鍵10、メモリカード2用のデータ暗復号鍵11(23)、メモリカード2から受領したメモリカード公開鍵12(19)、メモリカード2と共有するセッション鍵13(22)の、5個の鍵が登録される。一方、メモリカード2には、メモリカード公開鍵19(12)、メモリカード秘密鍵20、ICカード1から受領したICカード公開鍵21(9)、ICカード1と共有するセッション鍵22(13)の、4個の鍵が登録されるのである。
【0107】
以上のようにして、上記メモリカードの予備決定とセッション鍵の入手との処理が終了すると、メモリカード2をICカード1で認証する必要がある。ところが、メモリカードの予備決定とセッション鍵の入手との処理が終了した時点で、ICカード1はメモリカード2を認証できたことになる。その理由は、メモリカード2のみが有するメモリカード秘密鍵20で暗号化したメッセージを受領することができたためである。若し、メモリカード2以外が上記メッセージを作成しようとしても、メモリカード2のメモリカード秘密鍵20を有していないために不可能なのである。
【0108】
但し、今回のメッセージの送出者がメモリカード2であるということは不明である。それは、メモリカード2が以前に送信したメッセージを何等かの方法によって保存しておき、その保存されたメッセージを再送信することが可能である場合には、この再送信されたメッセージを受領したICカード1は、その送信者が誰であれメモリカード2からのものであると考えるからである。しかしながら、このことは問題にはならない。すなわち、暗号化されたメッセージを復号するにはメモリカード2から受領したメモリカード公開鍵12(19)が必要であり、それを偽の送信者は保持しないため、ICカード1から不正に受領したセッション鍵を復号できないからである。このセッション鍵を用いて以後の処理が進められるので、このセッション鍵の安全性は重要となる。
【0109】
以上のごとく、上記ICカード1によってメモリカード2が認証されると、メモリカード2によるICカード1の認証とデータ暗復号鍵の送受との処理が行われる。上述したように、ICカード1はメモリカード2が正当なものと認識している。したがって、ICカード1からメモリカード2に対してデータ暗復号鍵を送信しても構わないことになる。
【0110】
先ず、上記メモリカード2において新規に乱数を生成し、それを「セッション鍵の共有」の際に生成されたセッション鍵22(13)で暗号化してICカード1に送信する。そして、ICカード1では、受領したメッセージをセッション鍵13(22)を用いて復号して送信された乱数を得る。そして、得られた乱数とメモリカード2用のデータ暗復号鍵11とをICカード1とメモリカード2との間で既決の方法で結合し、セッション鍵13(22)で暗号化してメモリカード2に送信するのである。
【0111】
ここで、上記データ暗復号鍵の送信に際してはセッション鍵13(22)を用いて暗復号しているが、このとき用いる秘密鍵暗号方式については特に限定はしない。DESやトリプルDESやAES等の方式が広く知られているが、ICカード1とメモリカード2との両者が共通の方式を用いることと、秘密鍵として両者が同じ鍵を用いる(暗号化した結果から復号できる)こととが必要なだけである。勿論、ここでの秘密鍵暗号方式や鍵長が、暗号強度に依存することはいうまでもない。
【0112】
上記メモリカード2では、受領したメッセージをセッション鍵22(13)で復号した後、復号結果内に上記送信した乱数が含まれているかをチェックし、含まれている場合には、上記復号結果の残りの部分からデータ暗復号鍵11を得ることができるのである。
【0113】
この理由は以下の通りである。すなわち、自分が送信した乱数が受信メッセージに含まれていることから、受信メッセージの送信者はセッション鍵22(13)を有していると言える。そして、セッション鍵22(13)を有しているのは、先に説明した通りICカード1のみである。したがって、ICカード1から送信されてきたデータ暗復号鍵であると判断できるのである。その結果、メモリカード2は、上記メッセージの確認によってデータ暗復号鍵を得るだけではなく、ICカード1の正当性もチェックすることができることになる。
【0114】
次に、上記メモリカード2とICカード1との間を行き来する2つのメッセージを復号できるものについて考えてみる。この復号あるいは偽造には上記セッション鍵がなくてはならない。そして、上記セッション鍵を使用できるのは正しいICカード1およびメモリカード2であることが必須である。そのために第3者による復号は不可能であると言える。乱数をセッション鍵22で暗号化したメッセージはメモリカード2に限らず誰でも送信可能であり、ICカード1もそのメッセージが誰からのものか、つまり正当なメモリカード2からのメッセージであるか否かを確認する術はない。一見、このことは問題のように思えるが、以下の理由によって全く問題とならないのである。
【0115】
すなわち、上記メモリカード2になりすまして乱数「r1」を不正なセッション鍵で暗号化したメッセージを送信した場合、ICカード1は受信メッセージを正しいセッション鍵13(22)で復号することになるため、乱数「r1」とは異なる乱数「r2」が得られることになる。その場合、乱数「r2」と乱数「r1」とは異なったセッション鍵で復号されているために絶対一致しないことは明らかである。ここで、ICカード1は、乱数「r2」が正しいか否かを知ることはできないために、乱数「r2」とデータ暗復号鍵11とを既決の方法で結合して正規のセッション鍵13で暗号化したメッセージをメモリカード2に送信することになる。その場合、メモリカード2は、受信メッセージを正規のセッション鍵22(13)で復号して乱数「r2」を得ることになるため、不正なデータ暗復号鍵を受領したことが分るのである。一方、このメッセージをメモリカード2になりすました機器が受領した場合は、セッション鍵が不明であるため復号できず、ICカード1からデータ暗復号鍵を得ることは不可能なのである。つまり、メモリカード2がICカード1からデータ暗復号鍵11を得た時点で、メモリカード2はICカード1の正当性を判断することもできるのである。
【0116】
ここで、上記メモリカード2として、メモリカード2aとメモリカード2bとが存在する場合について言及する。ICカード1には、メモリカード2b固有のデータ暗復号鍵が登録されていることは前述の通りである。そして、メモリカード2bがICカード1からデータ暗復号鍵を入手する場合には、上述したメモリカード2bの初期化処理時にメモリカード2bからメモリカード公開鍵をICカード1に送信するだけでよい。そして、上記メモリカードの予備決定の際に、ICカード1にメモリカード2bのメモリカード公開鍵を再送信することによって、ICカード1はメモリカード2b用の「鍵の2つ組」を生成する。こうして、メモリカード2bに対する鍵情報の組が限定されるのである。更に、メモリカード2が3枚以上ある場合でもこの手順は同様である。
【0117】
その場合、夫々のメモリカード2a,2b,…,2nが生成するメモリカード公開鍵の重複が問題となる。しかしながら、例えばRSA方式において1024ビット程度の鍵長を用いた場合に鍵が重複することは極小な確率であることが計算によって証明されている。そのために、通常の状態では問題にはならないのである。
【0118】
さて、上述した本実施の形態によるデータ暗復号鍵の送受信手順の正しさを検証するために、以下ような2つの問題について検討してみる。
(1)ICカード1に登録されている正しいデータ暗復号鍵11を不正に取得する
(2)メモリカード2に不正なデータ暗復号鍵を渡してデータの復号を不能にする
【0119】
(1)の目的は、上記ICカード1からデータ暗復号鍵11を不正に取得して、メモリカード2のデータを解読することにある。これは、以下の理由で不可能である。すなわち、データ暗復号鍵11を得るためにはセッション鍵13(22)が必要であるが、それにはICカード1のICカード秘密鍵10が必要である。ところが、ICカード秘密鍵10の不正な取得は不可能であるため、結局はセッション鍵13(22)の不正取得、つまりはデータ暗復号鍵11の不正取得は不可能である。例え、再送信攻撃によってメモリカード2からのメッセージを保存して再送信したとしても、ICカード1から送信されるデータ暗復号鍵11を含むメッセージはICカード1と正規のメモリカード2との2者しか知り得ないセッション鍵13(22)を用いて暗号化されているため、復号はできないのである。
【0120】
(2)については、上記メモリカード2が知らずに偽のデータ暗復号鍵を受信してしまうと、正規の鍵では復号できないデータ暗号化を行なってしまったり、正しくない復号が行われるという問題が生じる。したがって、(2)のような問題を防ぐ必要がある。
【0121】
実際に、上記ICカード1になりすまして偽のデータ暗復号鍵をメモリカード2に送信しようとした場合、ICカード1になりすました個体はICカード秘密鍵10を有していないために、セッション鍵13(22)を不正取得することができず、結果としてデータ暗復号鍵を送信するためのメッセージを正しく生成することはできない。そのために、どのようなメッセージを送出しようとも、メモリカード2は、受信メッセージ内の乱数をチェックすることによって、送信元が正しくセッション鍵を有していない上記なりすまし個体であることを見破ることができ、以後の処理を停止して不正なデータ暗復号鍵を受領しないようにすることが可能である。
【0122】
以上のごとく、本実施の形態においては、真新しいメモリカード2を始めて使用する場合には初期化処理が行われ、図9に示すように、ICカード1とメモリカード2との間でICカード公開鍵9とメモリカード公開鍵19とを交換するようにしている。こうして、当初は互いに無関係であったICカード1とメモリカード2とがペアを組むことを互いに認識し合うのである。
【0123】
そして、その際にメモリカード2専用のデータ暗復号鍵11が新たに生成されて、ICカード1側に保管される。したがって、例えメモリカード2が盗まれても、メモリカード2内のユーザデータを復号解読するためのデータ暗復号鍵11はICカード1側にあるため、上記ユーザデータが解読されることを防止できるのである。
【0124】
さらに、何者かがデータ暗復号鍵11を盗み取ろうとして初期化要求をICカード1に送信したとしても、データ暗復号鍵11とは全く異なる「何者か」専用のデータ暗復号鍵が生成されるため、「何者か」はメモリカード2内のユーザデータを解読することはできないのである。
【0125】
尚、上記初期化処理は、上記メモリカード2が2回目以降に使用される際には自動的にスキップされる。
【0126】
また、上記初期化済のメモリカード2が通常に使用される場合には、メモリカードの予備決定が行われ、図10に示すように、ICカード1は、メモリカード2から送信されたメモリカード公開鍵19と同じメモリカード公開鍵12を検索し、メモリカード公開鍵12(19)とこれに関連するデータ暗復号鍵11とを上記操作対象鍵群として設定するようにしている。
【0127】
こうして、上記ICカード1は、ペアを組んでいるメモリカード2からデータ暗復号鍵11の取得要求があったことを確認すると、以後の認証や情報の送受に用いる鍵をメモリカード2用の鍵に設定するのである。したがって、ペアを組んでいない個体からデータ暗復号鍵の取得要求があっても、EEPROM8内には該当する鍵がないため、第3者に対して誤ってデータ暗復号鍵を送信することを防止することができる。
【0128】
また、上記メモリカードの予備決定が終了するとセッション鍵の共有が行われて、図11に示すように、メモリカード2は、生成した乱数で成るセッション鍵22を既決の文字列と組み合せ、暗号化してICカード1に送信する。そして、ICカード1側では、受信した情報を復号し、復号結果に既決文字列が在る場合には残りの部分をセッション鍵13として取得する。こうして、メモリカード2が生成したセッション鍵22を、ICカード1とメモリカード2とのペア間のみで共有することができる。また、受信情報の復号結果に対する既決文字列の有無をチェックすることによって、復号結果を確認できると共に、誤ったセッション鍵の取得を防止することができる。
【0129】
その際に、上記メモリカード2による暗号化を、メモリカード秘密鍵20とICカード公開鍵21とをこの順序で適用した公開鍵暗号化方式によって行い、ICカード1による復号を、ICカード秘密鍵10とメモリカード公開鍵12とをこの順序で適用して行うようにしている。したがって、ICカード1は、取得したセッション鍵13(22)は正規のメモリカード2から送信されたものであることを確認することができ、ICカード1はメモリカード2を認証することができるのである。
【0130】
また、上記セッション鍵の共有が終了するとデータ暗復号鍵の送受が行われ、図12に示すように、メモリカード2は、生成した乱数をセッション鍵22(13)で暗号化してICカード1に送信し、ICカード1は、受信した情報をセッション鍵13(22)で復号して上記乱数を取得する。そして、取得した乱数をデータ暗復号鍵11と既決の方法で結合した後にセッション鍵13(22)で暗号化してメモリカード2に送信し、メモリカード2は、受信した情報をセッション鍵22(13)で復号し、復号結果内に上記送信した乱数が含まれているかチェックする。したがって、上記復号結果内に送信した乱数が含まれている場合には、データ暗復号鍵11の送信先はセッション鍵22(13)を共有している正規のICカード1であることを確認でき、メモリカード2はICカード1を認証することができるのである。
【0131】
すなわち、本実施の形態によれば、上記特許文献1に記載された携帯可能情報記憶媒体のごとくメモリカード2に格納されたユーザデータ24を復号するためのデータ暗復号鍵をメモリカード2側に登録しておく必要がなく、データ暗復号鍵11をICカード1側に登録する一方、メモリカード2には暗号化データ24を格納するように、鍵と暗号化データとを分離して保管することが可能になる。
【0132】
また、その際におけるデータ暗復号鍵の送受は、メモリカード2によって生成されたICカード1およびメモリカード2のみが共有しているセッション鍵を用いて行われる。したがって、より安全に2者間で秘密情報の受渡しを行うことが可能になる。
【0133】
その結果、上記ICカード1とメモリカード2との何れか一方だけが悪用された場合でも、上述したように、ユーザデータ24の不正な取得やユーザデータ24の不正な書き換えを容易に行うことはできない。また、メモリカード2が複数枚存在する環境であっても、単一のICカード1で複数のメモリカード2を管理できることができるのである。
【0134】
以上、本実施の形態について説明したが、この発明は、上記実施の形態に限定されるものではなく、この他にも種々の形態で実施可能である。例えば、データ暗復号鍵は必ずしも使用する必要はない。メモリカード2側のデータを外部から読み出すことができないのであれば、暗号化せずにデータを保存し、上述したデータ暗復号鍵と乱数との結合メッセージの送受信を乱数メッセージの送受信に変更するだけでよい。そして、上記乱数の受信を確認できれば、相互認証が問題なくできていることになる。但し、EEPROM8,18に保存されている各種の鍵やデータが外部から読み出せるような状況であれば、暗号化して書き込むことが必要となる。その際における暗号化や復号化はハードウェアで行なってもソフトウェアで行っても差し支えなく、処理時間の制限等に応じて決定すればよい。
【0135】
また、上述の説明においては、メモリカード2とICカード1との間で通信を行なう際に、暗号化を複数の鍵を用いて複数回行っているが、その際に用いる鍵の使用順序については制限しない。但し、復号化する側と合意が取れていないと復号できないことになる。尚、一般的に考えた場合には、相手が最初に使用する鍵が自分の公開鍵である場合には、その公開鍵は他人に盗聴されている可能性がある。その場合には、2段階暗号化が1段階だけ解読される可能性があることになる。したがって、公開鍵を最初に使用するのはできるだけ避けた方よいと考えられる。但し、上述のように、本実施の形態においては、総ての鍵がなければ通信内容を傍受することができない。したがって、公開鍵のみが他人に盗聴されていても事実上問題にはならないのである。
【0136】
また、上記実施の形態においては、上記預金者用メモリカード2と銀行用ICカード1とを用いた情報処理システムを例に説明したが、この発明は、如何様な情報処理システムに適用しても一向に構わない。また、この発明の適用対象は、ICカードや不揮発性メモリカードに限定されるものではなく、情報処理機能を有する情報記録媒体や通信路としてインターネットを利用するような一般の計算機等にも広く適用可能である。
【0137】
ところで、上記実施の形態における上記ICカード1及びメモリカード2等の情報処理装置のCPUによる上記鍵生成部,送受信部および認証部としての機能は、プログラム記録媒体に記録された情報処理プログラムによって実現される。上記実施の形態における上記プログラム記録媒体は、ROMでなるプログラムメディアである。あるいは、上記外部補助記憶装置に装着されて読み出されるプログラムメディアであってもよい。尚、何れの場合においても、プログラムメディアから情報処理プログラムを読み出すプログラム読み出し手段は、上記プログラムメディアに直接アクセスして読み出す構成を有していてもよいし、RAMに設けられたプログラム記憶エリア(図示せず)にダウンロードし、上記プログラム記憶エリアにアクセスして読み出すような構成を有していてもよい。尚、上記プログラムメディアから上記RAMのプログラム記憶エリアにダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。
【0138】
ここで、上記プログラムメディアとは、本体側と分離可能に構成され、磁気テープやカセットテープ等のテープ系、フロッピーディスク,ハードディスク等の磁気ディスクやCD(コンパクトディスク)‐ROM,MO(光磁気)ディスク,MD(ミニディスク),DVD(ディジタル多用途ディスク)等の光ディスクのディスク系、ICカードや光カード等のカード系、マスクROM,EPROM(紫外線消去型ROM),EEPROM(電気的消去型ROM),フラッシュROM等の半導体メモリ系を含めた、固定的にプログラムを坦持する媒体である。
【0139】
また、上記実施の形態における情報処理装置は、インターネット等の通信ネットワークと通信I/Fを介して接続可能な構成を有している場合には、上記プログラムメディアは、通信ネットワークからのダウンロード等によって流動的にプログラムを坦持する媒体であっても差し支えない。尚、その場合における上記通信ネットワークからダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。あるいは、別の記録媒体からインストールされるものとする。
【0140】
尚、上記記録媒体に記録されるものはプログラムのみに限定されるものではなく、データも記録することが可能である。
【0141】
【発明の効果】
以上より明らかなように、この発明によれば、第1情報処理装置によって、公開鍵と秘密鍵とデータ暗復号鍵を含む鍵を生成し、第2情報処理装置によって、公開鍵と秘密鍵とセッション鍵を生成し、上記第1情報処理装置の公開鍵および秘密鍵と上記第2情報処理装置の公開鍵および秘密鍵とを用いた公開鍵暗号化方式と上記セッション鍵を用いた秘密鍵暗号化方式とによって、第1情報処理装置と第2情報処理装置との間で、予め取り決められた文字列の一致性および新規に生成された乱数の一致性を判断して相互認証を行った後に、上記第1情報処理装置から第2情報処理装置にデータの暗号化および復号化の際に用いるデータ暗復号鍵の配信を行うので、上記第2情報処理装置に格納されている暗号化データを復号する際に用いるデータ暗復号鍵を、上記上記第2情報処理装置とは異なる第1情報処理装置に生成・保持しておくことができる。
【0142】
したがって、何れか一方の情報処理装置が無くなったり盗難にあったりし、尚且つ、耐タンパー性が低い場合であっても、より高度なセキュリティを確保することができる。
【0143】
その際における上記第1情報処理装置から第2情報処理装置への上記データ暗復号鍵の配信は、上記両情報処理装置間において、上記第1情報処理装置が生成した公開鍵および秘密鍵と上記第2情報処理装置が生成した公開鍵,秘密鍵およびセッション鍵とを用いた上記両情報処理装置間で取り決められた文字列および新規に生成された乱数の暗号化および復号化による相互認証を行った後に行われる。したがって、上記第1情報処理装置によって、確実に、上記データ暗復号鍵の配信要求を出したペアを組んでいる正規の上記第2情報処理装置に対して上記データ暗復号鍵を配信することができ、さらに高度なセキュリティを確保することができる。
【0144】
すなわち、この発明によれば、不正な手段で上記第2情報処理装置になりすました個体に上記第2情報処理装置に対する正しい情報を送出することなく、上記第1情報処理装置から第2情報処理装置に正しく秘密情報を送出することが可能になる。また、不正に上記第1情報処理装置になりすましたものから秘密情報を受領した第2情報処理装置が、上記秘密情報は不正は情報であることを検出することも可能である。
【図面の簡単な説明】
【図1】 この発明の情報処理システムにおける基本構成を示す図である。
【図2】 図1におけるICカードのブロック図である。
【図3】 図1におけるメモリカードのブロック図である。
【図4】 ICカードおよびメモリカードのCPUによって実行される相互認証処理動作のフローチャートである。
【図5】 図4に続く相互認証処理動作のフローチャートである。
【図6】 図5に続く相互認証処理動作のフローチャートである。
【図7】 図2におけるEEPROMおよびRAMの記憶データの具体例を示す概念図である。
【図8】 図3におけるEEPROMおよびRAMの記憶データの具体例を示す概念図である。
【図9】 初期化処理時に両カード間で送受される情報の説明図である。
【図10】 メモリカードの予備決定処理時に両カード間で送受される情報の説明図である。
【図11】 セッション鍵の共有処理時に両カード間で送受される情報の説明図である。
【図12】 データ暗復号鍵の送受処理時に両カード間で送受される情報の説明図である。
【符号の説明】
1…ICカード、
2…メモリカード、
3…リーダライタ装置、
5,15…CPU、
6,16…ROM、
7,17…RAM、
8,18…EEPROM、
9,21…ICカード公開鍵、
10…ICカード秘密鍵、
11,23…データ暗復号鍵、
12,19…メモリカード公開鍵、
13,22…セッション鍵、
20…メモリカード秘密鍵、
24…ユーザデータ。

Claims (14)

  1. 暗号化機能および復号化機能を有する第1情報処理装置と暗号化機能および復号化機能を有する第2情報処理装置との間で相互認証を行った後に、上記第1情報処理装置から第2情報処理装置にデータの暗号化および復号化の際に用いるデータ暗復号鍵の配信を行う情報処理システムにおいて、
    上記第1情報処理装置には、公開鍵とこの公開鍵と対を成す秘密鍵と上記データ暗復号鍵を含む鍵を生成する鍵生成部と、上記第2情報処理装置との間で情報の送受信を行う送受信部と、上記第2情報処理装置との間で上記送受信部を介した相互認証を行う認証部を、設ける一方、
    上記第2情報処理装置には、暗号化されたデータを格納するデータ格納部と、上記相互認証および上記データ暗復号鍵の配信を行う間だけ用いられて消滅するセッション鍵と公開鍵とこの公開鍵と対を成す秘密鍵を含む鍵を生成する鍵生成部と、上記第1情報処理装置との間で情報の送受信を行う送受信部と、上記第1情報処理装置との間で上記送受信部を介した相互認証を行う認証部を、設けて、
    上記相互認証を、上記第1情報処理装置の認証部と上記第2情報処理装置の認証部との間で、上記第1 , 第2情報処理装置間で取り決められた文字列を上記公開鍵および上記秘密鍵を用いて暗号化したもの、および、新規に生成された乱数を上記セッション鍵を用い暗号化したものを送受し、上記文字列および上記乱数の一致性を判断することによって行う
    ことを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムにおいて、
    上記相互認証における上記第1情報処理装置による上記第2情報処理装置の認証は、上記第1情報処理装置の公開鍵および秘密鍵と上記第2情報処理装置の公開鍵および秘密鍵とを用いた公開鍵暗号化方式によって行う一方、上記第2情報処理装置による上記第1情報処理装置の認証は、上記セッション鍵を用いた秘密鍵暗号化方式によって行うことを特徴とする情報処理システム。
  3. 請求項2に記載の情報処理システムにおいて、
    上記相互認証における上記第1情報処理装置による上記第2情報処理装置の認証は、
    上記第2情報処理装置の認証部によって、上記秘密鍵と上記第1情報処理装置の公開鍵とをこの順序で用いて上記セッション鍵を暗号化し、得られた暗号化情報を上記第2情報処理装置の送受信部によって上記第1情報処理装置に送信する一方、
    上記第1情報処理装置の送受信部によって受信された上記暗号化情報を、上記第1情報処理装置の認証部によって上記秘密鍵と上記第2情報処理装置の公開鍵とをこの順序で用いて復号して上記セッション鍵を取得する
    ことによって行うことを特徴とする情報処理システム。
  4. 請求項3に記載の情報処理システムにおいて、
    上記相互認証における上記第2情報処理装置による上記第1情報処理装置の認証は、
    上記第1情報処理装置の認証部によって、上記セッション鍵を用いて上記データ暗復号鍵を暗号化し、得られた暗号化情報を上記第1情報処理装置の送受信部によって上記第2情報処理装置に送信する一方、
    上記第2情報処理装置の送受信部によって受信された上記暗号化情報を、上記第2情報処理装置の認証部によって上記セッション鍵を用いて復号して上記データ暗復号鍵を取得する
    ことによって行うことを特徴とする情報処理システム。
  5. 請求項4に記載の情報処理システムにおいて、
    上記第1情報処理装置は、少なくとも上記公開鍵,秘密鍵,データ暗復号鍵および上記第2情報処理装置の公開鍵を格納する不揮発性メモリと、少なくとも上記セッション鍵を格納する揮発性メモリを有する一方、
    上記第2情報処理装置は、少なくとも上記公開鍵,秘密鍵および上記第1情報処理装置の公開鍵を格納する不揮発性メモリと、少なくとも上記セッション鍵およびデータ暗復号鍵を格納する揮発性メモリを有する
    ことを特徴とする情報処理システム。
  6. 請求項2に記載の情報処理システムにおいて、
    上記第2情報処理装置は複数在り、
    上記第1情報処理装置の鍵生成部は、夫々の第2情報処理装置毎に異なるデータ暗復号鍵を生成するようになっており、
    上記第1情報処理装置は、各第2情報処理装置の公開鍵とデータ暗復号鍵とを対にして格納している
    ことを特徴とする情報処理システム。
  7. 請求項1に記載の情報処理システムにおいて、
    上記第1情報処理装置および第2情報処理装置は計算機であることを特徴とする情報処理システム。
  8. 請求項1に記載の情報処理システムにおいて、
    上記第1情報処理装置および第2情報処理装置はICカードであることを特徴とする情報処理システム。
  9. 請求項1に記載の情報処理システムにおいて、
    上記第1情報処理装置および第2情報処理装置は不揮発性メモリカードであることを特徴とする情報処理システム。
  10. 請求項1に記載の情報処理システムにおいて、
    上記第1情報処理装置と第2情報処理装置とは、計算機,ICカードおよび不揮発性メモリカードから選択された互いに異なる2つの機器であることを特徴とする情報処理システム。
  11. 請求項1に記載の情報処理システムにおける上記第1情報処理装置および第2情報処理装置のうちの少なくとも何れか一方として用いられる情報処理装置であって、
    計算機で構成されていることを特徴とする情報処理装置。
  12. 請求項1に記載の情報処理システムにおける上記第1情報処理装置および第2情報処理装置のうちの少なくとも何れか一方として用いられる情報処理装置であって、
    ICカードで構成されていることを特徴とする情報処理装置。
  13. 請求項1に記載の情報処理システムにおける上記第1情報処理装置および第2情報処理装置のうちの少なくとも何れか一方として用いられる情報処理装置であって、
    不揮発性メモリカードで構成されていることを特徴とする情報処理装置。
  14. 暗号化機能および復号化機能を有する第1情報処理装置と暗号化機能および復号化機能を有する第2情報処理装置との間で相互認証を行った後に、上記第1情報処理装置から第2情報処理装置にデータの暗号化および復号化の際に用いるデータ暗復号鍵の配信を行う情報処理方法であって、
    上記第2情報処理装置によって上記相互認証および上記データ暗復号鍵の配信を行う間だけ用いられて消滅するセッション鍵を生成し、上記第1情報処理装置との間で予め取り決められた文字列と上記セッション鍵とを組み合わせたものを上記第2情報処理装置の秘密鍵と上記第1情報処理装置の公開鍵とをこの順序で用いて暗号化して得られた第1暗号情報を上記第1情報処理装置に送信し、
    上記第1情報処理装置によって、受信した上記第1暗号情報を上記第1情報処理装置の秘密鍵と上記第2情報処理装置の公開鍵とをこの順序で用いて復号して得られた復号結果内に上記文字列が存在する場合に、上記復号結果から上記セッション鍵を取得する
    ことによって、両情報処理装置間での上記セッション鍵の共有と上記第2情報処理装置の認証とを行い、
    上記第2情報処理装置によって新規に乱数を生成し、この生成した乱数を上記セッション鍵を用いて暗号化して得られた第2暗号情報を上記第1情報処理装置に送信し、
    上記第1情報処理装置によって、受信した上記第2暗号情報を上記取得したセッション鍵を用いて復号して、上記第2情報処理装置で生成された上記乱数を取得し、
    上記第1情報処理装置によって上記データ暗復号鍵を生成し、上記取得した乱数と上記データ暗復号鍵とを、上記第2情報処理装置との間で予め取り決められた方法によって連結したものを上記取得したセッション鍵を用いて暗号化して得られた第3号情報を上記第2情報処理装置に送信し、
    上記第2情報処理装置によって、受信した上記第3号情報を上記セッション鍵を用いて復号して得られた復号結果内に、自らが上記第2暗号情報として送信した上記乱数が存在する場合に、上記復号結果から上記データ暗復号鍵を取得する
    ことによって、上記データ復号鍵の配信と上記第1情報処理装置の認証とを行う
    ことを特徴とする情報処理方法。
JP2003039550A 2003-02-18 2003-02-18 情報処理装置、情報処理システム、および、情報処理方法 Expired - Fee Related JP4209699B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003039550A JP4209699B2 (ja) 2003-02-18 2003-02-18 情報処理装置、情報処理システム、および、情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003039550A JP4209699B2 (ja) 2003-02-18 2003-02-18 情報処理装置、情報処理システム、および、情報処理方法

Publications (2)

Publication Number Publication Date
JP2004253875A JP2004253875A (ja) 2004-09-09
JP4209699B2 true JP4209699B2 (ja) 2009-01-14

Family

ID=33023698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003039550A Expired - Fee Related JP4209699B2 (ja) 2003-02-18 2003-02-18 情報処理装置、情報処理システム、および、情報処理方法

Country Status (1)

Country Link
JP (1) JP4209699B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007000703A2 (en) * 2005-06-29 2007-01-04 Nxp B.V. Security system and method for securing the integrity of at least one arrangement comprising multiple devices
JP4670585B2 (ja) 2005-10-26 2011-04-13 ソニー株式会社 設定装置および方法、並びにプログラム
JP5247596B2 (ja) * 2009-06-01 2013-07-24 株式会社日立製作所 シンクライアント管理方法及びシステム、並びにシンクライアント管理用プログラム

Also Published As

Publication number Publication date
JP2004253875A (ja) 2004-09-09

Similar Documents

Publication Publication Date Title
US6073237A (en) Tamper resistant method and apparatus
JP2746352B2 (ja) 遠隔位置に設置したコンピュータによる通信のための機密防護通信システム及び方法
US9160732B2 (en) System and methods for online authentication
ES2359205T3 (es) Procedimiento y aparato para el almacenamiento y uso seguros de claves criptográficas.
US6871278B1 (en) Secure transactions with passive storage media
JP5423088B2 (ja) 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
US7266695B2 (en) Data updating method and data updating system
US7788490B2 (en) Methods for authenticating an identity of an article in electrical communication with a verifier system
CA2241052C (en) Application level security system and method
US5442342A (en) Distributed user authentication protocol
CN1777096B (zh) 用于口令保护的方法和设备
TWI497336B (zh) 用於資料安全之裝置及電腦程式
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
CN102301629A (zh) 鉴别通信会话和加密其数据的电路、系统、设备和方法
US7076062B1 (en) Methods and arrangements for using a signature generating device for encryption-based authentication
JP2002281019A (ja) 携帯可能情報記憶媒体およびその認証方法
JP2006024237A (ja) データ更新システム
JP4209699B2 (ja) 情報処理装置、情報処理システム、および、情報処理方法
KR100408890B1 (ko) 다중 인증경로를 이용한 신용거래 인증방법 및 이를이용한 시스템
JP2001069138A (ja) 共有鍵暗号型のicカードによるインターネット上のユーザー認証方式
KR100326140B1 (ko) 개인키/공개키 기반의 전자 서명 장치
JP2001282746A (ja) ユーザ認証システム
KR100649858B1 (ko) 공중전화 스마트 카드 발급/인증 시스템 및 그 방법
JP2005117078A (ja) 通信システム、それを構成する通信装置および記憶装置、プログラム、並びに、プログラムを記録した記録媒体
JP3923229B2 (ja) 認証処理方法及び方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080918

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees