JP4646050B2 - Icカードを発行して暗号化/復号化を行う方法 - Google Patents

Icカードを発行して暗号化/復号化を行う方法 Download PDF

Info

Publication number
JP4646050B2
JP4646050B2 JP2004137192A JP2004137192A JP4646050B2 JP 4646050 B2 JP4646050 B2 JP 4646050B2 JP 2004137192 A JP2004137192 A JP 2004137192A JP 2004137192 A JP2004137192 A JP 2004137192A JP 4646050 B2 JP4646050 B2 JP 4646050B2
Authority
JP
Japan
Prior art keywords
encryption
card
decryption
encryption key
key information
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
JP2004137192A
Other languages
English (en)
Other versions
JP2005322962A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2004137192A priority Critical patent/JP4646050B2/ja
Priority to PCT/JP2005/008656 priority patent/WO2005109739A1/ja
Priority to US11/579,080 priority patent/US20070165860A1/en
Publication of JP2005322962A publication Critical patent/JP2005322962A/ja
Application granted granted Critical
Publication of JP4646050B2 publication Critical patent/JP4646050B2/ja
Priority to US13/111,586 priority patent/US8099771B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Description

本発明は、暗号用鍵情報を格納したICカードを発行して暗号化/復号化を行う方法に関し、特に、固有の暗号用鍵情報をそれぞれ格納した複数のICカードを、それぞれ特定のグループに所属する特定の個人に発行して暗号化/復号化を行う方法に関する。
ICカードは、極めて機密性の高い携帯型情報記録媒体として様々な用途に利用されており、最近は、社員証を兼ねた多機能のICカードを各社員に配付する企業も増えている。このような機密性に着目して、ICカードを、情報の暗号化および復号化のために用いる鍵情報を格納しておく記録媒体として利用する例も少なくない。一般的な暗号化の手法では、暗号化アルゴリズムにおける種(Seed)として秘密の暗号用キーや暗号用キーテーブル(ここでは、これらを総称して暗号用鍵情報と呼ぶ)が用いられることが多い。所定の平文データを暗号文データに変換する暗号化プロセスでは、この秘密の暗号用鍵情報を用いた処理が実行される。この場合、暗号文データを平文データに戻す復号化プロセスでは、暗号化プロセスで用いた秘密の暗号用鍵情報が不可欠の要素となる。すなわち、秘密の暗号用鍵情報がない限り、復号化を行うことができない。そこで、この秘密の暗号用鍵情報をICカードに格納しておくようにすれば、不正な手段で暗号用キーにアクセスすることが非常に困難になり、暗号文自身のセキュリティの向上を図ることができる。
一般に、暗号文データの復号化は、暗号化を行った本人が許可した者のみに許されるべきものであるので、暗号用鍵情報は、各個人ごとにそれぞれ異なる固有のデータにする必要がある。そこで、社員証を兼ねた多機能のICカードなどでは、各社員ごとにそれぞれ固有の暗号用鍵情報を定め、ICカードを発行する際に、この固有の暗号用鍵情報を各ICカード内に格納する処理が行われる。その結果、各社員に対して発行されたICカードには、それぞれ異なる固有の暗号用鍵情報が格納された状態となる。この暗号用鍵情報は、上述したように、暗号化処理および復号化処理のプロセスで、処理装置が用いる秘密のキーコードであるので、通常、ICカードを所持する社員本人も知る必要はないデータであり、ICカード内に秘密のデータとして維持されることになる。
このような暗号用鍵情報を格納したICカードを発行する際には、暗号用鍵情報が漏えいすることのないように、十分セキュリティに配慮した発行処理が必要になる。そこで、たとえば、下記の特許文献1には、ICカードの発行時に、暗号用鍵情報自身を暗号化した状態でICカード内へと送信し、ICカード内部で復号化してこれを格納する技術が開示されている。また、下記の特許文献2には、暗号用鍵情報を格納したICカードを紛失したような場合に、これを再発行する技術が開示されている。
特開平9−44618号公報 特開2003−78516号公報
上述したように、ICカード内に格納される暗号用鍵情報は、本来、ICカードを所持する本人ですら知らない秘密のデータとして取り扱われるべきものであり、理想的には、当該ICカードの内部のみに存在するデータであって、誰も知り得ないデータとなるようにするのが好ましい。たとえば、ICカードの内部で乱数を用いてランダムに発生させたコードを、暗号用鍵情報としてICカード内にそのまま格納するようにすれば、誰も知りえない情報が、暗号用鍵情報としてICカード内にのみ格納されることになる。
しかしながら、実用上は、ICカードを再発行する道を残しておく必要があるため、上述のような理想的な方法をとることはできない。既に述べたとおり、特定の暗号用鍵情報を用いて暗号化されたデータを復号化するプロセスを行うためには、暗号化に用いたものと同一の暗号用鍵情報が必要である。したがって、万一、ICカードを紛失したり、ICカードを破損したりした場合に、同一の暗号用鍵情報が格納されたICカードを再発行することができないと、過去に暗号化したデータを二度と復号化することができなくなってしまう。したがって、実用上は、ICカードの再発行が可能になるように、ICカード内に格納した暗号用鍵情報と同一の情報を、外部のどこかに保管しておき、再発行する必要がある場合には、この外部に保管しておいた暗号用鍵情報を新たなICカードに書き込むという方法がとられることが多い。
このように、ICカードの外部に暗号用鍵情報を保管しておく、という方法は、信頼のおける管理者の厳重な管理下で保管が行われるという前提では、何ら問題はない。しかしながら、実用上は、十分なセキュリティを確保できないという問題が生じる。通常、企業が社員証として機能するICカードを各社員に配付するような場合、ICカードの調達および発行業務をICカード提供業者(たとえば、大手印刷会社)に依頼するのが一般的である。この場合、個々の社員ごとの暗号用鍵情報の管理を、当該ICカード提供業者に委ねる必要がある。再発行のための暗号用鍵情報の保管業務を自社で行うにしても、少なくとも個々のICカードを発行する処理をICカード提供業者に委ねる以上、発行時には、個々の社員ごとの暗号用鍵情報のデータを当該ICカード提供業者に引き渡す必要がある。
もちろん、ICカード提供業者は、万全のセキュリティが確保できるように、十分な配慮のもとに、顧客企業から提供された個々の社員ごとの暗号用鍵情報のデータを取り扱うことになる。しかしながら、ICカード発行業務に携わるスタッフの中に、不正を働く者が絶対に存在しないことを保証することはできない。また、ICカード提供業者は、複数の顧客からの受注を受けるのが一般的であり、故意ではないにしろ、何らかの過失により、顧客企業Aの社員についての暗号用鍵情報を、別な顧客企業Bの担当者に渡してしまうようなトラブルが発生する可能性もある。
そこで本発明は、固有の暗号用鍵情報をそれぞれ格納した複数のICカードを、それぞれ特定のグループに所属する特定の個人に発行する場合に、再発行が可能な態様で、かつ、十分なセキュリティを確保可能な態様で発行できるようにし、発行したICカードを用いて暗号化/復号化を行う方法を提供することを目的とする。
(1) 本発明の第1の態様は、CPUと、メモリと、外部に対して情報のやりとりを行うI/O部と、を有し、メモリには、少なくとも2つのデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、2つのデータに応じて一義的に定まる暗号用鍵情報を発生させる鍵情報発生プログラムと、暗号用鍵情報を用いた暗号化/復号化を内部もしくは外部で行うための処理を行う暗号化/復号化プログラムと、が格納されている複数のICカードを、それぞれ特定のグループに所属する特定の個人に発行し、発行したICカードを用いて、暗号化/復号化の処理を行う方法において、
発行処理段階と暗号化/復号化処理段階とを行うようにし、
発行処理段階では、
CPUが、I/O部を介して外部から与えられた書込コマンドに基づいて、当該ICカードの発行対象となる個人が所属するグループについて定義された秘密グループコードをメモリ内に書き込む段階と、
CPUが、I/O部を介して外部から与えられた書込コマンドに基づいて、当該ICカードの発行対象となる個人が指定した第1の秘密個人コードおよび第2の秘密個人コードをメモリ内に書き込む段階と、
CPUが、鍵情報発生プログラムを実行することにより、第1の秘密個人コードと秘密グループコードとに基づいて第1のキーテーブルを発生させ、第2の秘密個人コードと秘密グループコードとに基づいて第2のキーテーブルを発生させ、これら2つのキーテーブルを暗号用鍵情報としてメモリ内に書き込む段階と、
を行い、
暗号化/復号化処理段階では、
CPUが、暗号化/復号化プログラムを実行することにより、I/O部を介して外部から与えられた指示に基づいて、第1のキーテーブルの一部分と第2のキーテーブルの一部分とを合成することにより、暗号化もしくは復号化に用いる暗号用キーを生成する段階と、
CPUが、暗号化/復号化プログラムを実行することにより、暗号用キーを用いて暗号化もしくは復号化を行うか、もしくは、生成した暗号用キーを外部に出力する段階と、
を行うようにしたものである。
(2) 本発明の第2の態様は、上述した第1の態様に係るICカードを発行して暗号化/復号化を行う方法において、
鍵情報発生プログラムに、ICカード上で所定回数だけ実行すると、以後の実行を禁止する指示をICカード内に記録するルーチンと、指示が記録されていた場合に、実行を禁止するルーチンと、が含まれているようにしたものである。
(3) 本発明の第3の態様は、固有の暗号用鍵情報を用いた暗号化処理もしくは復号化処理を実行するために利用されるICカードにおいて、
CPUと、メモリと、外部に対して情報のやりとりを行うI/O部と、を設け、
メモリには、
メモリ内の第1の格納場所、第2の格納場所、第3の格納場所に、それぞれ外部から与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、
第1の格納場所に格納されている第1のデータおよび第2の格納場所に格納されている第2のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第1のキーテーブルを発生させ、これを暗号用鍵情報としてメモリ内に格納するプログラムと、
第1の格納場所に格納されている第1のデータおよび第3の格納場所に格納されている第3のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第2のキーテーブルを発生させ、これを暗号用鍵情報としてメモリ内に格納するプログラムと、
第1のキーテーブルの一部分と第2のキーテーブルの一部分とを合成することにより、暗号化もしくは復号化に用いる暗号用キーを生成するプログラムと、
生成した暗号用キーを利用して、ICカード内部で暗号化処理もしくは復号化処理を実行するプログラムと、
が格納されているようにしたものである。
(4) 本発明の第4の態様は、固有の暗号用鍵情報を用いた暗号化処理もしくは復号化処理を実行するために利用されるICカードにおいて、
CPUと、メモリと、外部に対して情報のやりとりを行うI/O部と、を設け、
メモリには、
メモリ内の第1の格納場所、第2の格納場所、第3の格納場所に、それぞれ外部から与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、
第1の格納場所に格納されている第1のデータおよび第2の格納場所に格納されている第2のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第1のキーテーブルを発生させ、これを暗号用鍵情報としてメモリ内に格納するプログラムと、
第1の格納場所に格納されている第1のデータおよび第3の格納場所に格納されている第3のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第2のキーテーブルを発生させ、これを暗号用鍵情報としてメモリ内に格納するプログラムと、
第1のキーテーブルの一部分と第2のキーテーブルの一部分とを合成することにより、暗号化もしくは復号化に用いる暗号用キーを生成するプログラムと、
ICカード外部で暗号化処理もしくは復号化処理を実行するために、暗号用キーを外部へ読み出すプログラムと、
が格納されているようにしたものである。
本発明に係るICカードを発行して暗号化/復号化を行う方法によれば、暗号用鍵情報は、ICカードの内部において、秘密グループコードと秘密個人コードとを用いて作成され、そのままICカード内に格納される。ここで、秘密グループコードは、発行対象となる個人が所属するグループについて定義されたコードであり、たとえば、ICカード提供業者の管理者などによって保管することができる。一方、秘密個人コードは発行対象となる個人が指定したコードであり、当該個人が自分自身で保管することができる。秘密グループコードも、秘密個人コードも、それ自身は暗号用鍵情報ではないので、結局、ICカード内の暗号用鍵情報は、誰にも知られない状態で格納された状態を維持することになる。万一、ICカードを紛失したり、破損したりした場合には、管理者が保管していた秘密グループコードと個人が保管していた秘密個人コードとを新たなICカードに入力することにより、再びICカード内部で同一の暗号用鍵情報を作成することが可能になるので、ICカードの再発行が可能になる。このため、本発明によれば、固有の暗号用鍵情報をそれぞれ格納した複数のICカードを、それぞれ特定のグループに所属する特定の個人に発行する場合に、再発行が可能な態様で、かつ、十分なセキュリティを確保可能な態様で、発行処理を行うことができるようになる。しかも、秘密個人コードとして2通りのコードが書き込まれ、2つのキーテーブルが暗号用鍵情報としてICカード内に格納される。そして、暗号化/復号化を行う際には、第1のキーテーブルの一部分と第2のキーテーブルの一部分とを合成することにより暗号用キーが作成されるので、セキュリティを更に向上させることができる。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.暗号用鍵情報を格納した一般的なICカード >>>
はじめに、暗号用鍵情報を格納した一般的なICカードの構成と、その利用形態を簡単に説明しておく。図1は、現在広く利用されている一般的なICカード100の構成と、このICカード100を利用した暗号化処理のプロセスを説明するブロック図である。図示のとおり、このICカード100は、メモリ110と、CPU120と、I/O部130とを有している。ここに示す例では、メモリ110は、書換不能な不揮発性メモリであるROM111と、書換可能な不揮発性メモリであるEEPROM112と、書換可能な揮発性メモリであるRAM113から構成されている。ROM111には、このICカード100が備えている基本的な処理機能を実行するためのプログラムが格納されており、EEPROM112には、このICカード100に記録しておくべき種々のデータが格納されている。また、RAM113は、CPU120が種々の処理を実行する際の作業領域として利用される
メモリ110は、CPU120によってのみアクセス可能であり、外部から直接メモリ110へアクセスすることはできない。外部からのアクセスは、I/O部130を介して行われる。すなわち、CPU120は、I/O部130を介して外部から与えられるコマンドを、ROM111内のプログラムに基づいて実行し、実行結果をレスポンスとして、I/O部130を介して外部へと返す。図示の例は、平文データを暗号文データに変換する暗号化処理と、逆に、暗号文データを平文データに変換する復号化処理とを実行する機能を有するICカードの例であり、ROM111内には、この暗号化および復号化を行うためのプログラムが格納されており、EEPROM112内には、このプログラムが利用する暗号用キーが格納されている。
このICカード100に対して、I/O部130を介して、所定の暗号化コマンドと平文データを与えると、CPU120は、ROM111内のプログラムに基づいて、与えられた暗号化コマンドを実行し、与えられた平文データに対して所定の暗号化処理を施し、得られた暗号文データを、I/O部130を介して、レスポンスとともに外部へ出力する処理を行う。この暗号化処理を行う際に、EEPROM112内に格納されている暗号用キーが利用される。逆に、このICカード100に対して、I/O部130を介して、所定の復号化コマンドと暗号文データを与えると、CPU120は、ROM111内のプログラムに基づいて、与えられた復号化コマンドを実行し、与えられた暗号文データに対して所定の復号化処理を施し、元の平文データを復元し、この平文データを、I/O部130を介して、レスポンスとともに外部へ出力する処理を行う。この復号化処理を行う際にも、EEPROM112内に格納されている暗号用キーが利用される。このとき、暗号化処理に用いた暗号用キーと同一のキーを用いないと、平文データの復元を正しく行うことはできない。
なお、ここでは、暗号化/復号化の処理プログラムがROM111内に用意されている例を示したが、このプログラムはEEPROM112に用意しておくことも可能である。暗号化/復号化の処理プログラムをEEPROM112内に用意しておくようにすると、必要に応じて、この処理プログラムを書き換えることも可能である。また、ここでは説明の便宜上、暗号化および復号化の処理機能のみをもったICカード100を示すが、実用上は、ICカード100は様々な用途に利用されるので、ROM111あるいはEEPROM112内には、これら様々な用途における様々な処理を実行するためのプログラムが格納されていることになる。
図2は、暗号化/復号化の処理を、ICカード100の内部ではなく、外部の演算処理装置200内で行う場合の実施形態を示すブロック図である。この例では、外部の演算処理装置200に平文データを与えると、暗号文データとして出力されることになり、逆に、暗号文データを与えると、平文データとして出力されることになる。このように、暗号化/復号化の処理を外部の演算処理装置200で行う場合、EEPROM112内に格納されている暗号用キーが、I/O部130を介して、外部の演算処理装置200側へと読み出される。暗号化および復号化のためのプログラムは、外部の演算処理装置200側に用意されており、当該プログラムが、ICカード100から読み出した暗号用キーを用いて暗号化/復号化の処理を実行することになる。
図2に示す実施形態では、EEPROM112内に格納されている暗号用キーが、ICカード100の外部へと読み出されてしまうため、セキュリティの観点からは、図1に示す実施形態の方が優れている。図1に示す実施形態では、EEPROM112に格納された暗号用キーがICカード100の外部に読み出されることはないので、暗号用キーがEEPROM112に格納された後は、不正な手段で知られる可能性は極めて低い。
ここでは、このような暗号化/復号化の処理を行うための暗号用キーを格納したICカードを、社員証として発行する場合を考えてみる。前述したように、通常、企業が社員証として機能するICカードを各社員に配付するような場合、ICカードの調達および発行業務をICカード提供業者(たとえば、大手印刷会社)に依頼するのが一般的である。図3は、ICカード提供業者Xが、顧客企業Aおよび顧客企業Bに所属する各社員に対して、それぞれ社員証として機能するICカードを発行する様子を示すブロック図である。ここでは、便宜上、顧客企業Aに所属する3名の社員甲、乙、丙と、顧客企業Bに所属する3名の社員丁、戊、己に対して、それぞれ固有の暗号用キーを格納したICカードを社員証として発行する例を示すが、実用上は、より多数の社員に対してICカードの発行が行われ、また、顧客企業もより多数存在することになる。
各ICカードに格納される暗号用キーは、互いに異なる固有のキーになる。図示の例では、社員甲、乙、丙、丁、戊、己に対して発行されるICカード内には、それぞれ固有の暗号用キーK(甲)、K(乙)、K(丙)、K(丁)、K(戊)、K(己)が格納された状態が示されている。このような固有の暗号用キーを格納したICカードを発行する場合、従来は、ICカード提供業者X側にこれらの暗号用キーのデータを用意しておき、発行時に、個々のICカードに個々の暗号用キーを書き込む処理を行うのが一般的である。そして、前述したとおり、再発行を行う場合の便宜を考え、暗号用キーのデータは、ICカード提供業者X側で保管するか、あるいは、顧客企業Aおよび顧客企業Bの管理担当者が保管することになる。いずれにしても、ICカードの発行作業をICカード提供業者Xに委ねる以上、暗号用キーのデータをICカード提供業者X側に提供する必要があるので、ICカード提供業者X側の不正行為や過失により、暗号用キーが漏えいする可能性は否定できない。また、顧客企業Aや顧客企業B内に不正行為をなすものが存在する可能性も否定できない。暗号化/復号化処理に用いる暗号用キーは、本来、このような漏えいが生じることがないように、厳重なセキュリティの下に管理されるべきものである。
このような漏えいを防ぐ方法として、個々のICカード内で乱数を用いてランダムな暗号用キーを発生させ、これをそのままICカード内に格納する方法もある。しかしながら、この方法では、万一、ICカードを紛失したり、破損したりした場合、暗号用キーが永遠に失われてしまい、ICカードの再発行を行うことができなくなるので、過去に暗号化したデータを復号化することができなくなってしまう。本発明は、十分なセキュリティを確保することができ、しかも再発行が可能になるICカードの発行方法を提供するものである。
<<< §2.本発明の基本的実施形態 >>>
図4は、本発明に係るICカード内に用意される鍵情報発生プログラムの処理プロセスを示すブロック図である。本発明で用いる鍵情報発生プログラムは、少なくとも2つのデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、当該2つのデータに応じて一義的に定まる暗号用鍵情報(暗号用キー)を発生させる機能を有している。図4には、秘密グループコードGと秘密個人コードPという2つのデータを用いて、所定のアルゴリズムAに基づく演算処理を実行した結果、暗号用鍵情報Kが生成される例が示されている。秘密グループコードGおよび秘密個人コードPの意味合いや、両者の相違については後述する。
ここで、所定のアルゴリズムAとしては、どのようなアルゴリズムを用いてもかまわないが、図には、一例として、4桁の数字からなる秘密グループコードGと、同じく4桁の数字からなる秘密個人コードPとの和を求め、この和の下4桁を暗号用鍵情報Kとする単純なアルゴリズムが示されている。たとえば、秘密グループコードGが「6789」なる数字、秘密個人コードPが「5151」なる数字であった場合、図示のとおり、「1940」なる数字からなる暗号用鍵情報Kが生成されることになる。このようなアルゴリズムを採用すれば、2つのデータGおよびPが与えられると、この2つのデータに応じて一義的に定まる暗号用鍵情報Kを発生させることができる。
なお、暗号用鍵情報Kを発生させるアルゴリズムは、必ずしも2つのデータに基づく演算処理に限定されるものではなく、秘密グループコードGと秘密個人コードPという2つのデータが少なくとも用いられ、これら2つのデータに応じて一義的に定まる暗号用鍵情報Kが得られるアルゴリズムであれば、第3のデータや第4のデータを用いる演算であってもかまわない。
このように、秘密グループコードGと秘密個人コードPという2つのデータを用いたアルゴリズムによって暗号用鍵情報Kを生成させるようにしておけば、十分なセキュリティを確保するという要請と、ICカードの再発行を可能にするという要請との双方を満たすことが可能になる。すなわち、十分なセキュリティを確保するという点に関しては、暗号用鍵情報Kを得るためには、秘密グループコードGと秘密個人コードPとの2つのコードが必要になり、どちらか一方だけでは、暗号用鍵情報Kを生成することができないので、秘密グループコードGと秘密個人コードPとをそれぞれ別個の管理環境におけば、不正な方法で暗号用鍵情報Kが取得される可能性を極めて低減させることができる。一方、秘密グループコードGと秘密個人コードPとの2つのコードさえあれば、これら2つのコードに基づいて一義的に定まる情報として、暗号用鍵情報Kをいつでも生成することができるので、万一の場合には、ICカードを再発行することも可能になる。
図5は、本発明に係るICカードの発行方法の基本的な手順を示す流れ図である。まず、ステップS1において、図1に示すような構成、すなわち、メモリ110と、CPU120と、外部に対して情報のやりとりを行うI/O部130と、を有するICカードが用意される。しかも、このメモリ110内には、図4に示す暗号用鍵情報の生成プロセスを実行するためのプログラムが用意されている。すなわち、ステップS1では、少なくとも2つのデータを用いて所定のアルゴリズムに基づく演算処理を行うことにより、当該2つのデータに応じて一義的に定まる暗号用鍵情報を発生させる鍵情報発生プログラムが格納されたICカードが用意されることになる。
続くステップS2では、秘密グループコードGの書き込みが行われ、ステップS3では、秘密個人コードPの書き込みが行われる。これらの書込処理は、実際には、ICカード100に対して、所定の書込コマンドとともに、書込対象データを与えることによって行われる。そして、最後のステップS4において、暗号用鍵情報Kの発生処理が行われる。すなわち、図4に示すプロセスがICカード100の内部で実行され、生成された暗号用鍵情報Kが、そのままEEPROM112へ書き込まれて格納される。この暗号用鍵情報Kの発生処理は、実際には、ICカード100に対して、鍵情報発生プログラムを実行させるための実行コマンドを与えることによって行われる。
なお、ステップS2,S3の書込処理は、EEPROM112に対して行ってもよいし、RAM113に対して行ってもよい。もっとも、RAM113は不揮発性メモリなので、ステップS4の実行前に、ICカード100に対する電源供給が一時ストップするような工程をとる場合には、不揮発性メモリであるEEPROM112への書き込みを行うようにする必要がある。
続いて、図3に示す具体的事例に本発明に係る発行方法を適用した場合の実施形態を、図6のブロック図を参照しながら説明する。前述したとおり、この実施形態は、顧客企業Aおよび顧客企業Bからの委託を受けたICカード提供業者Xが、社員甲、乙、丙、丁、戊、己に対して、それぞれ固有の暗号用キーK(甲)、K(乙)、K(丙)、K(丁)、K(戊)、K(己)が格納されたICカードを発行する事例である。
まず、ICカード提供業者Xは、各企業ごとに、それぞれ秘密グループコードGを定義する。図示の例では、顧客企業Aに対しては、秘密グループコードG(A)が定義され、顧客企業Bに対しては、秘密グループコードG(B)が定義された例が示されている。これらコードG(A),G(B)は、互いに異なるコードであれば、どのようなコードであってもかまわない。また、図には示されていないが、第3の顧客企業C,第4の顧客企業Dなどがあれば、これらの企業に対しても、それぞれ異なる秘密グループコードG(C),G(D)を定義する。このように、本発明における秘密グループコードとは、1つのグループに対して共通して付与されるユニークなコードである。
なお、ここでは、1企業を1グループとして取り扱う例を示すが、同一企業内の部や課を1グループとして取り扱うことも可能である。この場合、同一企業であっても、所属する部や課に応じて、それぞれ異なる秘密グループコードが割り振られることになる。逆に、複数企業をまとめて1グループとして取り扱うことも可能である。
図5のステップS2では、ICカードに対して、秘密グループコードの書き込みが行われることになるが、このプロセスは、図6に示す実施形態の場合、ICカード提供業者X側において、顧客企業Aに納品すべきICカードには、秘密グループコードG(A)を書き込む処理を行い、顧客企業Bに納品すべきICカードには、秘密グループコードG(B)を書き込む処理を行う作業ということになる。結局、図6に示す実施形態の場合、ICカード提供業者Xは、秘密グループコードG(A)が書き込まれた3枚のICカードを顧客企業Aに納品し、秘密グループコードG(B)が書き込まれた3枚のICカードを顧客企業Bに納品すればよい。
このように、図5の前半に示すステップS1およびS2の処理は、ICカード提供業者X側で行われる処理であるが、図5の後半に示すステップS3およびS4の処理は、各顧客企業A,B側で行われる処理である。たとえば、顧客企業Aには、既に秘密グループコードG(A)が書き込まれた3枚のICカードが納品されるので、顧客企業Aの担当者は、これらのICカードを各社員甲、乙、丙に配付し、各自所定の初期化プロセスを実行して、ICカードを初期化するように指示する。この初期化プロセスにおいて、図5のステップS3,S4が実行されることになる。すなわち、社員甲、乙、丙は、それぞれ固有の秘密個人コードP(甲)、P(乙)、P(丙)を各自のICカード内に書き込む処理を行った後、ICカードに対して、鍵情報発生プログラムを実行させるための実行コマンドを与え、秘密グループコードG(A)と、各自が書き込んだ秘密個人コードP(甲)、P(乙)、P(丙)とを利用して、それぞれICカード内部で暗号用鍵情報K(甲)、K(乙)、K(丙)を発生させ、そのままICカード内のEEPROM112に格納させる処理を行う。
かくして、上述した初期化プロセスを実行した後の段階では、社員甲、乙、丙が所持する各ICカード内には、それぞれ固有の暗号用鍵情報K(甲)、K(乙)、K(丙)が格納された状態になり、暗号化/復号化処理に利用できる状態になる。同様に、顧客企業Bには、既に秘密グループコードG(B)が書き込まれた3枚のICカードが納品されるので、社員丁、戊、己が、それぞれ固有の秘密個人コードP(丁)、P(戊)、P(己)を書き込む処理を行った後、鍵情報発生プログラムを実行させるための実行コマンドを与えれば、それぞれ暗号用鍵情報K(丁)、K(戊)、K(己)が格納された状態のICカードを得ることができる。
なお、上述した初期化プロセスを実行するには、ICカード用のリーダライタ装置が装備され、専用の初期化用プログラムが組み込まれたコンピュータを用意しておくのが好ましい。具体的には、社員が自分のICカードを、このコンピュータのリーダライタ装置に挿入し、初期化用プログラムを実行すると、コンピュータの画面上に、秘密個人コードPの入力を促すメッセージが表示されるようにしておき、社員が、任意のコードを秘密個人コードPとして入力すると、当該任意のコードをICカード内に書き込む処理(図5のステップS3)を行うためのコマンドがICカードに与えられ、続けて、鍵情報発生プログラムを実行する処理(図5のステップS4)を行うためのコマンドがICカードに与えられるようにしておけばよい。
図6に示す実施形態からもわかるとおり、本発明で用いられる秘密グループコードGは、発行対象となる個人(図示の例では各社員)が所属するグループ(図示の例では各企業)について定義されたコードであるのに対し、秘密個人コードPは、発行対象となる個人が指定したコードということになる。このように、2通りのコードを用いれば、固有の暗号用鍵情報をそれぞれ格納した複数のICカードを、それぞれ特定のグループに所属する特定の個人に発行する場合に非常に都合がよい。
たとえば、図6に示す例の場合、秘密グループコードG(A),G(B)は、ICカード提供業者Xの管理者(別言すれば、A,Bいずれのグループにも所属しない管理者)が保管管理することになる。これらのコードは、各暗号用鍵情報を発生させるためには不可欠のコードであるが、その実体は、暗号用鍵情報そのものではなく、個々のグループについて付与された秘密コードというべきものであるので、当該管理者は、企業A,Bに所属する個々の社員が携帯するICカード内に格納されている暗号用鍵情報がどのようなデータであるかを知る由もない。別言すれば、ICカード提供業者X側の管理者が知り得る内容は、顧客企業A宛てに出荷されたICカードには、G(A)なる秘密グループコードが書き込まれており、顧客企業B宛てに出荷されたICカードには、G(B)なる秘密グループコードが書き込まれている、という事実にすぎない。したがって、万一、ICカード提供業者X側の原因により、これらの秘密グループコードG(A),G(B)が漏えいしたとしても、セキュリティ保護上、重大な事態には至らない。
なお、秘密グループコードは、各顧客企業側の担当者が保管管理するようにしてもかまわない。たとえば、秘密グループコードG(A)については、顧客企業A側の担当者が保管管理を行い、秘密グループコードG(B)については、顧客企業B側の担当者が保管管理を行うようにし、ICカード提供業者X側では、これらのコードの保管管理を一切行わないようにしてもよい。もちろん、顧客企業A,B側の担当者と、ICカード提供業者X側の管理者との双方で、保管管理することもできる。
一方、秘密個人コードPについては、それぞれ当該個人のみが知りうる状態となるように管理するのが好ましい。たとえば、社員甲についての秘密個人コードP(甲)は、社員甲が自己のICカードに対する初期化プロセスで入力したコードであり、甲のみが知っている秘密のコードとすることができる。ただし、万一のときに、ICカードの再発行を受けるためには、この秘密個人コードPが必須になるので、初期化プロセスで入力する秘密個人コードとしては、決して忘れることのないコードにするのが好ましく、できれば機密メモとして記録しておくのが好ましい。
本発明の利点は、上述したように、個々のICカードに格納されている暗号用鍵情報については十分なセキュリティが確保されつつ、万一の場合には、ICカードの再発行が可能になる点である。たとえば、社員甲が、自分のICカードを紛失したり、破損したりしてしまった場合、当該ICカードを用いないと、過去に暗号化したデータを復元することが一切できなくなってしまう。このような場合、社員甲は、単に、ICカード提供業者Xから新たなICカードを納品してもらい、前回と同じ秘密個人コードP(甲)を用いて初期化プロセスを行えば、再発行したICカードを取得することができる。この場合、ICカード提供業者Xは、顧客企業Aに対する納品であるので、ICカードに、秘密グループコードG(A)を書き込んだ状態で納品することになる。したがって、社員甲が、前回と同じ秘密個人コードP(甲)を用いて初期化プロセスを行う限り、再発行したICカード内には、前回と同じ暗号用鍵情報K(甲)が格納されることになるので、過去に暗号化したデータの復元が可能になる。
<<< §3.本発明の変形例 >>>
以上、本発明を図示する基本的な実施形態について説明したが、ここでは、本発明のいくつかの変形例を述べておく。
(1) 暗号用キーテーブルを用いる例
図1および図2では、ICカード内に格納されている暗号用キーを用いて、暗号化処理および復号化処理を行う例を示したが、本発明における「暗号用鍵情報」とは、このように、暗号化もしくは復号化に用いる暗号用キー自身だけではなく、その一部分が、暗号化もしくは復号化に用いる暗号用キーとして利用されるキーテーブルも含んだ広い概念を意味するものである。
図7は、このようなキーテーブルの概念を示す図である。図示の例では、1つのマス目は1バイトのデータを示しており、合計20バイトのデータ列によって、キーテーブルが構成されている。このようなキーテーブルをICカード内に暗号用鍵情報として格納しておくようにすれば、必要に応じて、このキーテーブルの所望の一部分を暗号用キーとして抽出して利用することができ、複数通りのバリエーションをもった暗号用キーとして利用することができるようになる。たとえば、暗号化処理の際に、「7バイト目から8バイト分を暗号用キーとして用いよ」なる指示を外部から与えて暗号化処理を実行させたとすれば、図示の例のように、キーテーブルから指定された一部分のみが抽出されて暗号用キーとして利用されることになる。このような方法で暗号化されたデータを復号化する際には、暗号化処理の際と同じ「7バイト目から8バイト分を暗号用キーとして用いよ」なる指示を与えて、暗号用キーを特定する必要があるので、セキュリティを更に向上させることが可能になる。
本発明で用いる暗号用鍵情報Kは、図4に示す処理プロセスで発生させられるデータであり、秘密グループコードGの桁数や秘密個人コードPの桁数を適当に設定することにより、あるいはアルゴリズムAとして特定のアルゴリズムを採用することにより、任意の桁数をもった暗号用鍵情報Kを発生させることが可能である。したがって、本発明により発生させた暗号用鍵情報Kは、上述したキーテーブルとして利用することも十分に可能である。
(2) 2つのキーテーブルを用いる例
図8に示す変形例は、上述したキーテーブルを利用した変形例の更なる発展形態である。この変形例では、図5のステップS3において、秘密個人コードとして2通りのコードが書き込まれる。そして、ステップS4では、第1の秘密個人コードと秘密グループコードとに基づいて第1のキーテーブルを発生させ、第2の秘密個人コードと秘密グループコードとに基づいて第2のキーテーブルを発生させ、これら2つのキーテーブルを暗号用鍵情報としてICカード内に格納する処理が行われる。このように、2つのキーテーブルを暗号用鍵情報として格納しておくと、第1のキーテーブルの一部分と第2のキーテーブルの一部分とを合成することにより、暗号化もしくは復号化に用いる暗号用キーを得ることができるので、セキュリティを更に向上させることができる。
たとえば、図8に示す具体例では、社員甲が、2つの秘密個人コードP(甲1),P(甲2)を入力した例が示されている。ICカード内には、既に、顧客企業Aについての秘密グループコードG(A)が格納されているので、秘密個人コードP(甲1)と秘密グループコードG(A)とについて所定のアルゴリズムに基づく演算を施すことにより、第1のキーテーブルを発生させることができ、秘密個人コードP(甲2)と秘密グループコードG(A)とについて所定のアルゴリズムに基づく演算を施すことにより、第2のキーテーブルを発生させることができる。そこで、ステップS4では、これら2つのキーテーブルをそのままICカード内に格納する処理を行う。
ここで、暗号化処理を行う際には、たとえば、「第1のキーテーブルの14バイト目から4バイト分に、第2のキーテーブルの3バイト目から4バイト分を連結したものを、暗号用キーとして用いよ」なる指示を与えて暗号化処理を実行させればよい。このような利用形態では、2つのキーテーブルがICカード内に存在することが必須要件となるので、セキュリティは更に向上することになる。
(3) 暗号用鍵情報発生処理の実行を所定回数に制限する例
前述したとおり、図5のステップS4の処理、すなわち、暗号用鍵情報の発生処理は、ICカードに対して、所定のコマンドを与え、ROM111(あるいはEEPROM112)に組み込まれている鍵情報発生プログラムを実行させることにより行われる。通常、ICカードに対しては、同じコマンドを何度も与えることが可能であり、ICカード側では、与えられたコマンドに対応するプログラムがメモリ内に用意されていれば、これを何度も実行することが可能である。
しかしながら、セキュリティを確保する観点からは、鍵情報発生プログラムの実行は、所定回数(たとえば1回)だけに制限した方が好ましい。なぜなら、正規の方法でICカードを発行するのであれば、鍵情報発生プログラムの処理は、上述した初期化プロセスで1回(あるいは失敗した場合を考慮して数回)実行すれば足りる処理であり、繰り返し実行する必要のある処理ではない。その一方で、このICカードが不正利用者の手に渡った場合、当該不正利用者が、秘密グループコードや秘密個人コードを不正な手段によって書き換え、鍵情報発生プログラムを繰り返し実行することにより、鍵情報発生のアルゴリズムなどを解析する可能性がある。このような点を考慮すれば、鍵情報発生プログラムの実行を、所定回数だけに制限することは理にかなっている。
そこで、実用上は、ICカード内に用意する鍵情報発生プログラムに、ICカード上で所定回数だけ実行すると、以後の実行を禁止する指示をICカード内(たとえば、EEPROM112内)に記録するルーチンと、当該指示が記録されていた場合に、実行を禁止するルーチンと、を含ませておくようにすればよい。
現在広く利用されている一般的なICカードの構成と、このICカードを利用した暗号化処理のプロセスを説明するブロック図である。 暗号化/復号化の処理を、ICカード100の内部ではなく、外部の演算処理装置200内で行う場合の実施形態を示すブロック図である。 ICカード提供業者Xが、顧客企業Aおよび顧客企業Bに所属する各社員に対して、それぞれ社員証として機能するICカードを発行する様子を示すブロック図である。 本発明に係るICカード内に用意される鍵情報発生プログラムの処理プロセスを示すブロック図である。 本発明に係るICカードの発行方法の基本的な手順を示す流れ図である。 図3に示す具体的事例に本発明に係る発行方法を適用した場合の実施形態を示すブロック図である。 暗号化/復号化処理に利用されるキーテーブルの概念を示す図である。 図7に示すキーテーブルを2組利用した発展形態を示す図である。
符号の説明
100…ICカード
110…メモリ
111…ROM
112…EEPROM
113…RAM
120…CPU
130…I/O部
200…外部の演算処理装置
A…顧客企業/アルゴリズム
B…顧客企業
G…秘密グループコード
K…暗号用鍵情報
P…秘密個人コード
S1〜S4…流れ図の各ステップ
X…ICカード提供業者

Claims (4)

  1. CPUと、メモリと、外部に対して情報のやりとりを行うI/O部と、を有し、前記メモリには、少なくとも2つのデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、前記2つのデータに応じて一義的に定まる暗号用鍵情報を発生させる鍵情報発生プログラムと、前記暗号用鍵情報を用いた暗号化/復号化を内部もしくは外部で行うための処理を行う暗号化/復号化プログラムと、が格納されている複数のICカードを、それぞれ特定のグループに所属する特定の個人に発行し、発行したICカードを用いて、暗号化/復号化の処理を行う方法であって、
    発行処理段階と暗号化/復号化処理段階とを有し、
    前記発行処理段階は、
    前記CPUが、前記I/O部を介して外部から与えられた書込コマンドに基づいて、当該ICカードの発行対象となる個人が所属するグループについて定義された秘密グループコードを前記メモリ内に書き込む段階と、
    前記CPUが、前記I/O部を介して外部から与えられた書込コマンドに基づいて、当該ICカードの発行対象となる個人が指定した第1の秘密個人コードおよび第2の秘密個人コードを前記メモリ内に書き込む段階と、
    前記CPUが、前記鍵情報発生プログラムを実行することにより、前記第1の秘密個人コードと前記秘密グループコードとに基づいて第1のキーテーブルを発生させ、前記第2の秘密個人コードと前記秘密グループコードとに基づいて第2のキーテーブルを発生させ、これら2つのキーテーブルを暗号用鍵情報として前記メモリ内に書き込む段階と、
    を有し、
    前記暗号化/復号化処理段階は、
    前記CPUが、前記暗号化/復号化プログラムを実行することにより、前記I/O部を介して外部から与えられた指示に基づいて、前記第1のキーテーブルの一部分と前記第2のキーテーブルの一部分とを合成することにより、暗号化もしくは復号化に用いる暗号用キーを生成する段階と、
    前記CPUが、前記暗号化/復号化プログラムを実行することにより、前記暗号用キーを用いて暗号化もしくは復号化を行うか、もしくは、生成した暗号用キーを外部に出力する段階と、
    を有することを特徴とするICカードを発行して暗号化/復号化を行う方法。
  2. 請求項1に記載の方法において、
    鍵情報発生プログラムに、ICカード上で所定回数だけ実行すると、以後の実行を禁止する指示をICカード内に記録するルーチンと、前記指示が記録されていた場合に、実行を禁止するルーチンと、が含まれていることを特徴とするICカードを発行して暗号化/復号化を行う方法。
  3. 固有の暗号用鍵情報を用いた暗号化処理もしくは復号化処理を実行するために利用されるICカードであって、
    CPUと、メモリと、外部に対して情報のやりとりを行うI/O部と、を有し、
    前記メモリには、
    前記メモリ内の第1の格納場所、第2の格納場所、第3の格納場所に、それぞれ外部から与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、
    前記第1の格納場所に格納されている第1のデータおよび前記第2の格納場所に格納されている第2のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第1のキーテーブルを発生させ、これを暗号用鍵情報として前記メモリ内に格納するプログラムと、
    前記第1の格納場所に格納されている第1のデータおよび前記第3の格納場所に格納されている第3のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第2のキーテーブルを発生させ、これを暗号用鍵情報として前記メモリ内に格納するプログラムと、
    前記第1のキーテーブルの一部分と前記第2のキーテーブルの一部分とを合成することにより、暗号化もしくは復号化に用いる暗号用キーを生成するプログラムと、
    生成した暗号用キーを利用して、ICカード内部で暗号化処理もしくは復号化処理を実行するプログラムと、
    が格納されていることを特徴とする暗号化もしくは復号化処理用のICカード。
  4. 固有の暗号用鍵情報を用いた暗号化処理もしくは復号化処理を実行するために利用されるICカードであって、
    CPUと、メモリと、外部に対して情報のやりとりを行うI/O部と、を有し、
    前記メモリには、
    前記メモリ内の第1の格納場所、第2の格納場所、第3の格納場所に、それぞれ外部から与えられた暗号用鍵情報生成用のデータを格納する処理を行うプログラムと、
    前記第1の格納場所に格納されている第1のデータおよび前記第2の格納場所に格納されている第2のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第1のキーテーブルを発生させ、これを暗号用鍵情報として前記メモリ内に格納するプログラムと、
    前記第1の格納場所に格納されている第1のデータおよび前記第3の格納場所に格納されている第3のデータを用いて、所定のアルゴリズムに基づく演算処理を行うことにより、これら2つのデータに応じて一義的に定まる第2のキーテーブルを発生させ、これを暗号用鍵情報として前記メモリ内に格納するプログラムと、
    前記第1のキーテーブルの一部分と前記第2のキーテーブルの一部分とを合成することにより、暗号化もしくは復号化に用いる暗号用キーを生成するプログラムと、
    ICカード外部で暗号化処理もしくは復号化処理を実行するために、前記暗号用キーを外部へ読み出すプログラムと、
    が格納されていることを特徴とする暗号化もしくは復号化処理用のICカード。
JP2004137192A 2004-05-06 2004-05-06 Icカードを発行して暗号化/復号化を行う方法 Expired - Fee Related JP4646050B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004137192A JP4646050B2 (ja) 2004-05-06 2004-05-06 Icカードを発行して暗号化/復号化を行う方法
PCT/JP2005/008656 WO2005109739A1 (ja) 2004-05-06 2005-05-02 暗号用鍵情報を格納したicカードの発行方法
US11/579,080 US20070165860A1 (en) 2004-05-06 2005-05-02 Method for issuing ic card storing encryption key information
US13/111,586 US8099771B2 (en) 2004-05-06 2011-05-19 Method for issuing IC card storing encryption key information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004137192A JP4646050B2 (ja) 2004-05-06 2004-05-06 Icカードを発行して暗号化/復号化を行う方法

Publications (2)

Publication Number Publication Date
JP2005322962A JP2005322962A (ja) 2005-11-17
JP4646050B2 true JP4646050B2 (ja) 2011-03-09

Family

ID=35320550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004137192A Expired - Fee Related JP4646050B2 (ja) 2004-05-06 2004-05-06 Icカードを発行して暗号化/復号化を行う方法

Country Status (3)

Country Link
US (2) US20070165860A1 (ja)
JP (1) JP4646050B2 (ja)
WO (1) WO2005109739A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4582619B2 (ja) * 2004-05-06 2010-11-17 大日本印刷株式会社 暗号化もしくは復号化処理用のicカードならびにこれを用いた暗号通信システムおよび暗号通信方法
JP4646050B2 (ja) * 2004-05-06 2011-03-09 大日本印刷株式会社 Icカードを発行して暗号化/復号化を行う方法
JP2009505521A (ja) * 2005-08-18 2009-02-05 エントロピック テクノロジーズ ピーティーワイ エルティーディー コード生成方法
JP4680779B2 (ja) * 2006-01-13 2011-05-11 三菱電機株式会社 通信装置及び認証方法
US20080229117A1 (en) * 2007-03-07 2008-09-18 Shin Kang G Apparatus for preventing digital piracy
US8842836B2 (en) * 2007-11-26 2014-09-23 Koolspan, Inc. System for and method of cryptographic provisioning
US20090202081A1 (en) * 2008-02-08 2009-08-13 Ayman Hammad Key delivery system and method
KR101657705B1 (ko) * 2008-10-06 2016-09-19 코닌클리케 필립스 엔.브이. 네트워크를 운영하기 위한 방법, 시스템 관리 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램
JP2012084071A (ja) * 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
US8842840B2 (en) 2011-11-03 2014-09-23 Arvind Gidwani Demand based encryption and key generation and distribution systems and methods
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
JP2014175758A (ja) * 2013-03-07 2014-09-22 Toppan Printing Co Ltd Icカード及びその処理方法
EP2889854A1 (fr) * 2013-12-30 2015-07-01 Gemalto SA Dispositif de communication comportant un capteur d'activation lumineux
US10579786B2 (en) * 2014-04-02 2020-03-03 Sony Corporation Information processing system
US10210132B2 (en) 2014-09-19 2019-02-19 Casio Computer Co., Ltd. Calculator, recording medium and compute server
US10192329B2 (en) 2014-09-19 2019-01-29 Casio Computer Co., Ltd. Electronic device which displays and outputs function formula data, data output method, and computer readable medium
JP6358009B2 (ja) * 2014-09-19 2018-07-18 カシオ計算機株式会社 サーバ装置、データ処理方法およびデータ処理プログラム
US9860221B2 (en) * 2015-03-10 2018-01-02 Intel Corporation Internet of things group formation using a key-based join protocol
JP6503242B2 (ja) * 2015-06-26 2019-04-17 ルネサスエレクトロニクス株式会社 データのセキュリティを提供するための装置、システムおよび方法ならびに当該方法をコンピュータに実行させるためのプログラム
JP6581611B2 (ja) * 2017-02-21 2019-09-25 日本電信電話株式会社 認証鍵共有システムおよび認証鍵共有方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233851A (ja) * 1988-03-14 1989-09-19 Nec Corp 暗号装置
JPH0386469U (ja) * 1989-12-21 1991-09-02
JPH09106445A (ja) * 1995-10-12 1997-04-22 Dainippon Printing Co Ltd 情報記録媒体のキー変更方法および情報記録媒体
JPH09167220A (ja) * 1995-12-18 1997-06-24 N T T Electron Technol Kk 情報通信用icカードと、その発行システム並びにその通信システム
JPH10327142A (ja) * 1997-03-26 1998-12-08 Sony Corp 認証システムおよび方法、並びに認証装置および方法
JP2001514834A (ja) * 1997-03-10 2001-09-11 ガイ・エル・フィールダー 安全決定性暗号鍵発生システムおよび方法
US20040006536A1 (en) * 2001-06-11 2004-01-08 Takashi Kawashima Electronic money system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
US5309516A (en) * 1990-12-07 1994-05-03 Hitachi, Ltd. Group cipher communication method and group cipher communication system
US5841866A (en) * 1994-09-30 1998-11-24 Microchip Technology Incorporated Secure token integrated circuit and method of performing a secure authentication function or transaction
WO1997029416A2 (en) * 1996-02-09 1997-08-14 Integrated Technologies Of America, Inc. Access control/crypto system
US6490680B1 (en) * 1997-12-04 2002-12-03 Tecsec Incorporated Access control and authorization system
JP3867388B2 (ja) * 1998-02-12 2007-01-10 富士ゼロックス株式会社 条件付き認証装置および方法
JP2002073571A (ja) * 2000-08-31 2002-03-12 Sony Corp 個人認証システムおよび個人認証方法、並びにプログラム提供媒体
JP3557181B2 (ja) * 2001-05-14 2004-08-25 株式会社東芝 Icカード発行システム
US6708893B2 (en) * 2002-04-12 2004-03-23 Lucent Technologies Inc. Multiple-use smart card with security features and method
MXPA05010430A (es) * 2003-04-01 2006-03-21 Mi Kyoung Park Terminal movil que tiene funcion de lectura de informacion de etiqueta de comunicacion de tipo sin contacto, y metodo que proporciona informacion si el articulo es genuino o no.
JP4646050B2 (ja) * 2004-05-06 2011-03-09 大日本印刷株式会社 Icカードを発行して暗号化/復号化を行う方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233851A (ja) * 1988-03-14 1989-09-19 Nec Corp 暗号装置
JPH0386469U (ja) * 1989-12-21 1991-09-02
JPH09106445A (ja) * 1995-10-12 1997-04-22 Dainippon Printing Co Ltd 情報記録媒体のキー変更方法および情報記録媒体
JPH09167220A (ja) * 1995-12-18 1997-06-24 N T T Electron Technol Kk 情報通信用icカードと、その発行システム並びにその通信システム
JP2001514834A (ja) * 1997-03-10 2001-09-11 ガイ・エル・フィールダー 安全決定性暗号鍵発生システムおよび方法
JPH10327142A (ja) * 1997-03-26 1998-12-08 Sony Corp 認証システムおよび方法、並びに認証装置および方法
US20040006536A1 (en) * 2001-06-11 2004-01-08 Takashi Kawashima Electronic money system

Also Published As

Publication number Publication date
US20070165860A1 (en) 2007-07-19
US20110222686A1 (en) 2011-09-15
JP2005322962A (ja) 2005-11-17
WO2005109739A1 (ja) 2005-11-17
US8099771B2 (en) 2012-01-17

Similar Documents

Publication Publication Date Title
JP4646050B2 (ja) Icカードを発行して暗号化/復号化を行う方法
TWI750223B (zh) 區塊鏈加密射頻晶片存儲設計方法
JP4169822B2 (ja) 記憶媒体のデータ保護方法、その装置及びその記憶媒体
US8595813B2 (en) IC card for encryption or decryption process and encrypted communication system and encrypted communication method using the same
JPH05257816A (ja) 電子化データ保護方式
CN102208001A (zh) 硬件支持的虚拟化密码服务
US20080076355A1 (en) Method for Protecting Security Accounts Manager (SAM) Files Within Windows Operating Systems
JP4670585B2 (ja) 設定装置および方法、並びにプログラム
JP4843563B2 (ja) 情報記録媒体のセキュリティ方法、情報処理装置及びプログラム
JP5332004B2 (ja) 電子機器及びその不正利用防止方法
JP3567615B2 (ja) 情報記録システム
JP2004023122A (ja) Icカードを利用した暗号システム
JPH09179950A (ja) 個別icカード、認証用icカード及びそれらを用いたicカードシステム
JP4039061B2 (ja) Icカード発行装置及びicカード発行方法
CN105893830B (zh) 学生ic卡业务管理方法
JP2006099697A (ja) 情報プログラム保護方法及び装置
JPH0973416A (ja) Icカード
US20040153654A1 (en) Data recording apparatus and data reading apparatus
JP3868519B2 (ja) 情報記録媒体への暗号鍵設定情報の作成装置
JP4321837B2 (ja) 暗号化処理機能を備えた可搬記録媒体
CN114120496A (zh) 用于开锁控制的方法、服务器、加密组件及装置
Patil et al. The Design and Implementation of Password Management System using Blowfish Algorithm
JP2005347897A (ja) 1組の電子鍵及びその生成方法
Martin Key-management infrastructure for protecting stored data
JP2005165735A (ja) データ保護方法及びその装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100804

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

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

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

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4646050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees