JP2004040622A - Encryption processing system - Google Patents
Encryption processing system Download PDFInfo
- Publication number
- JP2004040622A JP2004040622A JP2002197068A JP2002197068A JP2004040622A JP 2004040622 A JP2004040622 A JP 2004040622A JP 2002197068 A JP2002197068 A JP 2002197068A JP 2002197068 A JP2002197068 A JP 2002197068A JP 2004040622 A JP2004040622 A JP 2004040622A
- Authority
- JP
- Japan
- Prior art keywords
- data
- encryption
- response
- command
- processing system
- 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
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は暗号処理システムに関し、特に、ICカードなどの携帯型の暗号化装置を利用した暗号処理システムに関する。
【0002】
【従来の技術】
インターネットを中心とする世界的規模のネットワーク環境が広まったことにより、社会生活上の様々な分野において、データの暗号化が必要になってきている。たとえば、個人を認証するための方法として、従来の署名に代えて、デジタル署名の利用が普及し始めているが、このデジタル署名にも暗号化の技術が用いられている。すなわち、署名の対象となるメッセージデータについてのデジタル署名は、当該メッセージデータに対して、秘密データを用いた所定の秘密アルゴリズムに基く暗号化演算を行うことにより作成される。デジタル署名を作成するための暗号化演算には、公開鍵暗号方式が用いられており、作成されたデジタル署名からは秘密データを求めることはできない。したがって、デジタル署名を入手した第三者が、このデジタル署名に基づいてもとの秘密データを知得することはできない配慮がなされている。しかしながら、秘密データ自体が不正な手段で読み出されてしまうと、デジタル署名の偽造が可能になってしまう。このため、秘密データを格納し、この秘密データを用いてデジタル署名を作成する暗号化装置としては、可能な限りセキュリティの高い装置を用いるのが好ましい。
【0003】
このような理由から、デジタル署名などの個人用の暗号化処理を行うのに適した暗号化装置として、現在、ICカードが広く利用されるようになってきている。個人個人にICカードを配付し、このICカード内に各個人用の秘密データを格納するようにすれば、秘密データを十分なセキュリティの下に管理することが可能になる。暗号化装置として機能するICカード内には、格納された秘密データを利用した所定のアルゴリズムに基づく暗号化演算プログラムが組み込まれており、暗号化演算はすべてICカードの内部で実行されることになる。暗号化の対象となる第1のデータは、データ処理装置として機能するコンピュータ側で用意し、これをリーダライタ装置を介してICカードへと送信すればよい。ICカードは、リーダライタ装置を介して与えられた第1のデータに対して内部で所定の暗号化演算を実行し、作成した第2のデータを再びリーダライタ装置を介してコンピュータ側へと返信する。
【0004】
【発明が解決しようとする課題】
上述したICカードを利用した暗号処理システムでは、暗号化演算に必要な秘密データや秘密のアルゴリズムはすべてICカード内に格納され、不正な方法で外部に読み出されることのないような十分なセキュリティ対策が講じられている。しかしながら、データ処理装置として機能するコンピュータと、暗号化装置として機能するICカードと、の間の通信が傍受されると、秘密データや秘密のアルゴリズム自体が暴露されることはないものの、「特定の平文データに対して、特定の暗号文データが得られた」という事実は外部に漏れてしまうことになる。このような通信傍受は、リーダライタ装置とICカードとの間の信号経路において行うことも可能であるし、コンピュータとリーダライタ装置との間の信号経路において行うことも可能である。更に、コンピュータ内のメモリを探索することによっても、通信傍受と同等の結果を得ることができる。最近は、このような通信傍受機能をもったコンピュータウイルスを配付することにより不正行為を行う例も少なくない。このような不正行為により、「特定の平文データと特定の暗号文データとの対応関係」が多数入手されると、これらを解析することにより、ICカード内の秘密データが推定されてしまう危険性が出てくる。また、通信傍受により、暗号を作成させるためのコマンドコードを割り出すことも可能であり、不正アクセス者が、意図的に作成した都合のよい平文データを、割り出したコマンドコードとともにICカードに与えることにより、当該平文データに対応する暗号データを入手する、という不正行為が可能になり、様々な方法で暗号解読への悪用が行われる可能性がある。
【0005】
そこで本発明は、暗号化のもとになるデータと、暗号化したデータとの対応関係が、不正な方法で傍受される蓋然性を低減し、よりセキュリティを向上させることが可能な暗号処理システムを提供することを目的とする。
【0006】
【課題を解決するための手段】
(1) 本発明の第1の態様は、暗号化処理の対象となる第1のデータに基いて、秘密のアルゴリズムを用いた暗号化演算を行うことにより、第2のデータを作成する処理を行う暗号処理システムにおいて、
内部に秘密のアルゴリズムを記憶し、外部から与えられた第1のデータに対して秘密のアルゴリズムに基づく演算を実行することにより、当該第1のデータに対応した第2のデータを作成する機能をもった暗号化装置と、
暗号化装置に接続することができ、暗号化処理の対象となる第1のデータを用意する機能と、用意した第1のデータを暗号化装置に送信する機能と、暗号化装置の内部で作成された第2のデータを受信する機能と、を有するデータ処理装置と、
を設け、
暗号化装置とデータ処理装置との間の情報のやりとりが、データ処理装置から暗号化装置に対して所定のコマンドを送信する送信処理と、暗号化装置からデータ処理装置に対してコマンドに応じたレスポンスを返信する返信処理と、を交互に実行することによりなされるように構成し、
データ処理装置が、暗号化処理の対象となる第1のデータを含んだ「暗号化コマンド」を暗号化装置に対して送信し、これに応じて暗号化装置から返信されてくるレスポンスを受信する第1の能動処理と、第2のデータの返信を要求するための「返信要求コマンド」を暗号化装置に対して送信し、これに応じて暗号化装置から返信されてくるレスポンスを受信する第2の能動処理と、受信した複数のレスポンスに含まれているデータを合成することにより第2のデータを組み立てる合成処理と、を行うようにし、
暗号化装置が、「暗号化コマンド」が送信されてきたときに、当該コマンドに含まれている第1のデータに対して秘密のアルゴリズムに基づく演算を実行することにより、当該第1のデータに対応した第2のデータを作成し、当該「暗号化コマンド」に応じたレスポンスとして、作成した第2のデータを全く含まないかあるいはその一部のみを含む所定のレスポンスを返信する第1の受動処理と、「返信要求コマンド」が送信されてきたときに、当該「返信要求コマンド」に応じたレスポンスとして、作成した第2のデータの一部のみを含む所定のレスポンスを返信する第2の受動処理と、を行うようにしたものである。
【0007】
(2) 本発明の第2の態様は、上述の第1の態様に係る暗号処理システムにおいて、
データ処理装置が、第1のデータとして、暗号化処理の対象となる平文データを用意し、合成処理により得られた第2のデータを、平文データに対する暗号文データとして取り扱うようにしたものである。
【0008】
(3) 本発明の第3の態様は、上述の第1の態様に係る暗号処理システムにおいて、
データ処理装置が、第1のデータとして、デジタル署名の対象となる所定のメッセージデータを用意するようにし、合成処理により得られた第2のデータを、メッセージデータに対する個人認証用のデジタル署名として取り扱うようにしたものである。
【0009】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る暗号処理システムにおいて、
ICカードを暗号化装置として用い、当該ICカードにアクセスする機能をもったリーダライタ装置およびこのリーダライタ装置を制御するためのコンピュータをデータ処理装置として用いるようにしたものである。
【0010】
(5) 本発明の第5の態様は、上述の第1〜第3の態様に係る暗号処理システムにおいて、
クライアントコンピュータを暗号化装置として用い、このクライアントコンピュータにインターネットを介して接続されたサーバコンピュータをデータ処理装置として用いるようにしたものである。
【0011】
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る暗号処理システムにおいて、
暗号化装置が、作成した第2のデータを複数n個のブロックに分割し、n個の各ブロックをn回のレスポンスに分けてデータ処理装置に返信する処理を行うようにしたものである。
【0012】
(7) 本発明の第7の態様は、上述の第6の態様に係る暗号処理システムにおいて、
暗号化装置が、ブロックの分割数nおよび各ブロックのデータ長を、ランダムに決定するようにしたものである。
【0013】
(8) 本発明の第8の態様は、上述の第7の態様に係る暗号処理システムにおいて、
暗号化装置が、ランダムに決定した分割数nおよび各ブロックのデータ長を示す情報を、いずれかのレスポンスに含ませてデータ処理装置に返信するようにし、
データ処理装置が、この返信された情報に基いて第2のデータの入手を行うようにしたものである。
【0014】
(9) 本発明の第9の態様は、上述の第6〜第8の態様に係る暗号処理システムにおいて、
暗号化装置が、n個の各ブロックの順序をランダムに入れ替える処理を行い、このn個の各ブロックを、入れ替えた後の順序で、個々のレスポンスに含ませてデータ処理装置に返信する処理を行い、かつ、入れ替えた後のブロック順を示す情報を、いずれかのレスポンスに含ませてデータ処理装置に返信するようにし、
データ処理装置が、この返信された情報に基いて第2のデータの組み立てを行うようにしたものである。
【0015】
(10) 本発明の第10の態様は、上述の第8または第9の態様に係る暗号処理システムにおいて、
暗号化装置が、分割数nを示す情報、各ブロックのデータ長を示す情報、入れ替えた後のブロック順を示す情報の少なくとも1つを、「暗号化コマンド」に応じたレスポンスに含ませて返信するようにしたものである。
【0016】
(11) 本発明の第11の態様は、上述の第1〜第10の態様に係る暗号処理システムにおいて、
暗号化装置が、第1の受動処理として返信する「暗号化コマンドに応じたレスポンス」または第2の受動処理として返信する「返信要求コマンドに応じたレスポンス」に、作成した第2のデータとは無関係なダミーデータを含ませるようにしたものである。
【0017】
(12) 本発明の第12の態様は、上述の第1〜第11の態様に係る暗号処理システムにおいて、
データ処理装置が、第2の能動処理として送信する「返信要求コマンド」に、意味のないダミーデータを含ませるようにしたものである。
【0018】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【0019】
§1.本発明の基本的な実施形態
図1は、本発明の基本的な実施形態に係る暗号処理システムの構成を示すブロック図である。この暗号処理システムは、図示のとおり、データ処理装置100と、暗号化装置200とによって構成されている。この実施形態では、データ処理装置100は、コンピュータ110とリーダライタ装置120とによって構成されており、暗号化装置200は、ICカードによって構成されている。ICカードからなる暗号化装置200には、図示のとおり、情報通信部210、コマンド解釈部220、暗号演算部230、レスポンス返信部240なる構成要素が設けられている。もっとも、これらの各構成要素は、ICカードのソフトウエア上の機能に着目した構成を示すものであり、ハードウエア上の構成要素の観点からは、ICカードは、CPUと、メモリ(RAM,ROM,EEPROM)と、入出力インターフェイスと、を備えており、情報通信部210は入出力インターフェイスにより構成され、コマンド解釈部220、暗号演算部230、レスポンス返信部240は、各メモリおよびCPUによって構成される。
【0020】
ICカードからなる暗号化装置200は、携帯型の情報処理装置であり、各ユーザが携帯することができ、必要に応じて、データ処理装置100に接続して利用することができる。最近は、既に種々の用途でICカードが利用され始めている。したがって、暗号化装置200は、必ずしも暗号化処理機能のみを果たす専用のICカードとして提供する必要はなく、実用上は、複数の用途に共用される汎用のICカードを暗号化装置200として利用することが可能である。リーダライタ装置120は、このICカードからなる暗号化装置200と接続して、情報のやりとりを行う機能を有しており、ICカードに対する直接のアクセスは、すべてリーダライタ装置120によって実行される。一方、コンピュータ110は、周辺機器として接続されたリーダライタ装置120を制御する機能を有し、たとえば、個人用のパーソナルコンピュータによって構成することができる。
【0021】
ここでは、このコンピュータ110に、インターネットに接続してWebページを閲覧するWebブラウザソフトウエアが組み込まれており、ユーザがインターネットを介して、特定のサイトに、何らかの暗号化したデータを送信する場合を例にとって、このシステムの基本動作を説明する。このような基本動作は、データ処理装置100と暗号化装置200との分業によって行われる。
【0022】
すなわち、まず、データ処理装置100側において、暗号化処理の対象となる第1のデータ10が用意される。第1のデータ10は、コンピュータ110のキーボードなどを利用して、ユーザからの直接入力により用意するようにしてもよいし、記憶装置内のファイルなどから読み出すことにより用意するようにしてもよい。もちろん、ネットワークを介して、コンピュータ110内に取り込むことにより、第1のデータ10を用意することも可能である。こうしてコンピュータ110内に用意された第1のデータ10は、リーダライタ装置120を介して、暗号化装置200へと送信される。より具体的には、後述するように、第1のデータ10はコマンドの形式でリーダライタ装置120から情報通信部210へと送信され、コマンド解釈部220を経て暗号演算部230へと送られる。暗号演算部230は、この第1のデータ10に基いて、秘密のアルゴリズムを用いた暗号化演算を行うことにより、第2のデータ20を作成する。こうして作成された第2のデータ20は、レスポンス返信部240へと送られ、ここから情報通信部210を介してレスポンスとしてリーダライタ装置120へと送られる。
【0023】
図2は、このような暗号化処理の概念を示す図である。図示の例では、第1のデータ10は、平文からなる文字列データであり、第2のデータ20は、暗号文からなる文字列データである。平文からなる文字列データは、データ処理装置100側で用意された後、暗号化装置200側へと送信され、暗号化装置200内において、秘密のアルゴリズムに基づく演算を行うことにより暗号文にされる。こうして作成された暗号文からなる文字列データは、再び、データ処理装置100側へと送信される。このように、暗号化処理を、わざわざ暗号化装置200内で行う理由は、秘密のアルゴリズムについてのセキュリティを高めるためである。暗号化装置200内で行われる秘密のアルゴリズムに基づく演算は、通常、個々の暗号化装置200に固有の秘密データを利用して行われるが、秘密のアルゴリズムも、秘密データも、いずれも暗号化装置200の内部に格納され、外部へ読み出されることがないような措置が採られているため、不正な手段により、秘密のアルゴリズムや秘密データが外部に読み出されることはない。
【0024】
結局、暗号化装置200は、データ処理装置100側から送信されてきた第1のデータ10に基いて、暗号演算部230内に格納されている秘密のアルゴリズムを用いた暗号化演算を行うことにより第2のデータ20を作成し、作成した第2のデータ20を暗号化装置200へと返信する機能を果たす装置ということになり、データ処理装置100は、暗号化処理の対象となる第1のデータ10を用意し、この用意した第1のデータ10を暗号化装置200に送信し、暗号化装置200の内部で作成された第2のデータ20を受信する機能を果たす装置ということになる。こうして、コンピュータ110内に、第2のデータ20が入手できたら、この第2のデータ20をインタネットを介して所定のサイトへと送信することができる。
【0025】
さて、このように、データ処理装置100側で第1のデータ10を用意し、これを暗号化装置200側に与えて、暗号化装置200側の内部演算で第2のデータ20を作成させ、この第2のデータ20を再びデータ処理装置100側へ返信させる、という基本動作を行うためには、当然ながら、データ処理装置100と暗号化装置200との間で情報のやりとりを行う必要がある。一般に、ICカードとリーダライタ装置との間の情報のやりとりは、リーダライタ装置側から所定のコマンドをICカード側へと送信し、このコマンドに応じた所定のレスポンスをICカード側からリーダライタ装置側へと返信させる、という交信処理を交互に実行することによりなされる。
【0026】
ここでは、説明の便宜上、まず、従来の一般的なICカードを利用した暗号処理システムにおける暗号化処理の手順を述べる。従来の手順では、はじめに、リーダライタ装置からICカードに対して、たとえば図3(a) に示すような「暗号化コマンド」を与え、これに応じて、ICカードからリーダライタ装置に対して、たとえば図3(b) に示すようなレスポンスを返信させる、という処理を行い、第1のデータ10(平文からなる文字列データ)に応じた第2のデータ20(暗号文からなる文字列データ)を作成させることになる。図3に示す具体的な例の場合、「暗号化コマンド」は、「CRYPT」なるコマンドコード(当該コマンドが、暗号化処理を要求するためのコマンドであることを示すコード)からなるコマンド部と、「平文からなる文字列データ(第1のデータ10)」によって構成されるデータ部と、を有している。一方、この「暗号化コマンド」に対するレスポンスは、「OK」なるステータスコード(与えられたコマンドが正しく処理されたことを示すコード)からなるステータス部と、「暗号文からなる文字列データ(第2のデータ20)」によって構成されるデータ部と、を有している。ICカード側に、図3(a) に示すような「暗号化コマンド」を解釈し、このコマンドのデータ部に含まれる第1のデータ10を暗号化して第2のデータ20を作成し、これをデータ部に含んだ図3(b) に示すようなレスポンスを返信する処理を行う機能をもたせておけば、このICカードに対して、図3(a) に示すような「暗号化コマンド」を与えると、図3(b) に示すようなレスポンスが返信されることになり、第1のデータ10を暗号化した第2のデータ20を得ることができる。
【0027】
しかしながら、このように、暗号化の対象となる第1のデータ10をデータ処理装置100側で用意し、この第1のデータ10を含むコマンドを暗号化装置200(ICカード)に与え、暗号化装置200からデータ処理装置100に返信されてくるレスポンスとして、作成された第2のデータ20を得る、という方法を採る以上、データ処理装置100と暗号化装置200との間の交信傍受などの不正手段による攻撃の対象となり、暗号化装置200内の秘密データや秘密のアルゴリズムを推測する手掛かりを与えてしまうおそれがあることは既に述べたとおりである。たとえば、図3に示す例の場合、交信傍受などの方法により、図3(a) に示す「暗号化コマンド」に対して、図3(b) に示すレスポンスが返信された、という事実が認識できれば、第1のデータ10に対応する暗号文が第2のデータ20であることがわかってしまう。もちろん、このような一対の平文データと暗号文データとの組み合わせだけでは、暗号化装置200内の秘密データや秘密のアルゴリズムを推測することは非常に困難であるが、交信傍受を継続すれば、第1のデータ10と第2のデータ20との多数の組み合わせが蓄積でき、このような蓄積が多くなればなるほど、秘密データや秘密のアルゴリズムの推測確率が高まってゆく。また、「暗号化コマンド」のコードが「CRYPT」であることが認識できれば、不正者自身が任意のデータを含んだ「暗号化コマンド」を与え、これに対応するレスポンスを得ることができるようになるので、秘密データや秘密のアルゴリズムは、より推測しやすくなる。
【0028】
本発明は、このように、データ処理装置100から暗号化装置200に対して所定のコマンドを送信する送信処理と、暗号化装置200からデータ処理装置100に対して当該コマンドに応じたレスポンスを返信する返信処理と、を交互に実行することにより、両者間における情報のやりとりが行われる暗号処理システムにおいて、セキュリティの向上を図ることを目的とするものである。その要点は、暗号化装置200の内部において、第2のデータ20を得る演算処理が行われた後、この第2のデータ20を、図4に示すように、複数n個(図示の例では、n=3)のブロック21〜23に分割し、このn個の各ブロック21〜23をn回のレスポンスに分けてデータ処理装置100に返信させるようにする点にある。すなわち、従来は、図3(b) に示す「暗号化コマンドに対するレスポンス」によって、第2のデータ20を返信していたが、本発明では、「暗号化コマンドに対するレスポンス」には、作成した第2のデータ20の一部のみを含ませるか、あるいは、第2のデータ20を全く含ませないようにし、第2のデータ20を、複数回のレスポンスによって小出しに返信するようにするのである。
【0029】
このように、本発明では、「暗号化コマンドに対するレスポンス」だけでは、第2のデータ20全体をデータ処理装置100に返信することはできず、必ず複数回のレスポンスが必要になる。ところが、暗号化装置200側からレスポンスを得るためには、データ処理装置100側から何らかのコマンドを送信してやる必要がある。別言すれば、リーダライタ装置とICカードとの交信は、常に、リーダライタ装置側から能動的な働きかけ、すなわち、コマンドの送信を行い、このコマンドに対するレスポンスとして、ICカード側から受動的な返信が返される、という方式を採る必要がある。そこで、本発明では、暗号化装置200(ICカード)に対して第2のデータ20の返信を要求するための「返信要求コマンド」を用意し、この「返信要求コマンド」に対するレスポンスとして、第2のデータ20の一部を返信させるようにしている。たとえば、図4に示すように、第2のデータ20を3つのブロック21〜23に分割した場合であれば、第1のブロック21については、「暗号化コマンドに対するレスポンス」として返信し、第2のブロック22については、後続して与えられる「返信要求コマンドに対するレスポンス」として返信し、第3のブロック23については、更に後続して与えられる別な「返信要求コマンドに対するレスポンス」として返信するようにすればよい。
【0030】
図5に示すコマンドおよびレスポンスのやりとりは、上述のようにして、3分割した第2のデータ20を3回のレスポンスに分けて返信させる一例である。まず、データ処理装置100から暗号化装置200に対して、図5(a) に示すような「暗号化コマンド」が与えられる。この例では、「暗号化コマンド」は、「CRYPT」なるコマンドコードからなるコマンド部と、平文からなる文字列データ(第1のデータ10)からなるデータ部と、によって構成されている。このような「暗号化コマンド」は、リーダライタ装置120から情報通信部210に与えられ、コマンド解釈部220によって解釈される。そして、コマンド解釈部220は、この「暗号化コマンド」に含まれている第1のデータ10を暗号演算部230へと与え、暗号化演算を実行させる。この暗号化演算の結果として得られた第2のデータ20は、レスポンス返信部240へと与えられるが、このレスポンス返信部240は、与えられた第2のデータ20を1回のレスポンスで返信することはせず、複数n個のブロックに分割した上で、これを一時的に記憶し、複数回のレスポンスに分けて返信する処理を行う。
【0031】
ここに示す例では、第2のデータ20は、図4に示すように、3つのブロック21〜23に分割され、3回のレスポンスに分けて返信されることになる。すなわち、まず、第1のブロック21は、図5(b) に示すように、「暗号化コマンドに対するレスポンス」として返信される。このレスポンスは、「OK」なるステータスコード(与えられた「暗号化コマンド」が支障なく実行されたことを示すコード)からなるステータス部と、第1のブロック21からなるデータ部と、によって構成されている。「暗号化コマンド」に対するレスポンスという意味では、この図5(b) に示すレスポンスは、図3(b) に示す従来のレスポンスと同等のレスポンスであるが、図3(b) に示す従来のレスポンスには、第2のデータ20の全体が含まれていたのに対し、図5(b) に示す本発明のレスポンスには、第2のデータ20の一部分のみしか含まれていないことになる。
【0032】
本発明では、「暗号化コマンドに対するレスポンス」では返信されなかった部分についての返信を要求するために、更に、データ処理装置100から暗号化装置200に対して、図5(c) に示すような「返信要求コマンド」を与える必要がある。この例では、「返信要求コマンド」は「REPLY」なるコマンドコードからなるコマンド部のみから構成され、データ部は存在しない。このような「返信要求コマンド」が情報通信部210を介してコマンド解釈部220に与えられると、コマンド解釈部220はレスポンス返信部240に対して、返信すべき次のブロックをレスポンスとして返す処理を行うよう指示を与える。これにより、データ処理装置100に対して、図5(d) に示すような「返信要求コマンドに対するレスポンス」が返信される。このレスポンスは、「OK」なるステータスコードからなるステータス部に、第2のブロック22からなるデータ部を加えたレスポンスであり、与えられた「返信要求コマンド」が支障なく実行されたことを示すとともに、返信対象となる第2のブロック22を含むレスポンスということになる。続いて、データ処理装置100から暗号化装置200に対して、図5(e) に示すような「返信要求コマンド」(図5(c) のコマンドと同じコマンド)を与えると、暗号化装置200からデータ処理装置100に対して、図5(f) に示すようなレスポンスが返信されることになる。このレスポンスには、返信すべき第3のブロック23が含まれている。かくして、データ処理装置100側には、3回のレスポンスによって、全ブロック21〜23が返信されることになるので、これらを組み立てる合成処理を行えば、第2のデータ20を得ることができるようになる。
【0033】
結局、上述の例の場合、暗号化装置200内で作成された第2のデータ20が、3つのブロック21〜23に分割され、それぞれ図5(b) ,(d) ,(f) という3回のレスポンスに分けて返信されたことになる。このような手法を採れば、万一、通信傍受などの不正な方法で、図5(a) および(b) に示すようなコマンド/レスポンス対が認識されたとしても、図5(a) に示す「暗号化コマンド」に含まれている第1のデータ10と、図5(b) に示すレスポンスに含まれている第1のブロック21とは、平文/暗号文の対としては不完全であるため、暗号演算部230における暗号化処理で利用されている秘密データや秘密のアルゴリズムを推測しにくくすることができる。
【0034】
なお、「返信要求コマンド」が与えられたのに、レスポンス返信部240内に返信すべきブロックが存在しない場合(たとえば、「暗号化コマンド」を与える前に、「返信要求コマンド」を与えてしまった場合や、すべてのブロックが返信済みとなっているにもかかわらず、更に、「返信要求コマンド」を与えてしまった場合)には、当該「返信要求コマンド」に対しては、ステータス部にエラーを示すステータスが書き込まれたレスポンスが返信されることになる。
【0035】
結局、本発明に係る暗号処理システムでは、第1のデータ10を暗号化した第2のデータ20を得るために、データ処理装置100および暗号化装置200において、それぞれ次のような処理が行われることになる。なお、ここでは、説明の便宜上、データ処理装置100側の処理を「能動処理」、暗号化装置200側の処理を「受動処理」と呼んで区別することにする。
【0036】
まず、データ処理装置100側では、次のような処理が行われる。はじめに、暗号化処理の対象となる第1のデータを含んだ「暗号化コマンド」を暗号化装置200に対して送信し、これに応じて暗号化装置200から返信されてくるレスポンスを受信する第1の能動処理が行われる。すなわち、この第1の能動処理は、図5(a) に示すような「暗号化コマンド」を送信し、これに応じて返信されてくる図5(b) に示すようなレスポンスを受信する処理ということになる。続いて、第2のデータの返信を要求するための「返信要求コマンド」を暗号化装置200に対して送信し、これに応じて暗号化装置200から返信されてくるレスポンスを受信する第2の能動処理が行われる。この第2の能動処理は、図5(c) に示すような「返信要求コマンド」を送信し、これに応じて返信されてくる図5(d) に示すようなレスポンスを受信する処理ということになる。図5に示す例の場合、このような第2の能動処理がもう1回繰り返して行われることになる。こうして、第2のデータ20を構成する全ブロックが返信されてきたら、データ処理装置100は、最後に、受信した複数のレスポンスに含まれているデータを合成することにより第2のデータ10を組み立てる合成処理を行う。すなわち、図5に示す例の場合、3回のレスポンスに含まれている3つのブロック21〜23を組み立てることにより、第2のデータ20を得る合成処理が行われることになる。
【0037】
なお、上述した第1の能動処理と第2の能動処理とは、必ずしも連続して実行する必要はなく、両処理の間に別な処理(データ処理装置100側から何らかのコマンドを送信し、これに応じて何らかのレスポンスを受信する処理)を実行してもかまわない。また、第2の能動処理を繰り返し実行する場合も、各処理の間に別な処理を介在させてかまわない。もちろん、暗号化装置200に対するコマンド送信作業は、ユーザの直接的な指示に基づいて行われるわけではなく、データ処理装置100を構成するコンピュータ110上で実行されているプログラムの指示に基づいて行われることになる。したがって、上述した第1の能動処理や第2の能動処理の手順は、このコンピュータ110上で実行されるプログラムに記述されていることになる。
【0038】
一方、暗号化装置200側では、個々のコマンドが与えられるたびに、このコマンドの内容に応じた所定の処理が実行され、所定のレスポンスを返信する処理が実行されることになる。具体的には、まず、上述した「暗号化コマンド」が送信されてきたときには、当該コマンドに含まれている第1のデータ10に対して秘密のアルゴリズムに基づく演算を実行することにより、当該第1のデータ10に対応した第2のデータ20を作成し、当該「暗号化コマンド」に応じたレスポンスとして、その一部のみを含む所定のレスポンスを返信する第1の受動処理が行われる。すなわち、この第1の受動処理は、データ処理装置100から暗号化装置200に対して、図5(a) に示すような、第1のデータ10を含んだ「暗号化コマンド」が送信されてきた場合に、第1のデータ10に基いて第2のデータ20を作成し、この第2のデータ20の一部のみ(第1のブロック21)を含む図5(b) に示すようなレスポンスをデータ処理装置100へ返信する処理ということができる。もっとも、図5に示す例では、「暗号化コマンド」に対するレスポンスに、第2のデータ20の一部である第1のブロック21を含ませるようにしているが、「暗号化コマンド」に対するレスポンスには、第2のデータ20を全く含ませないようにしてもかまわない。この場合、図5(b) に示すレスポンスのデータ部は、たとえば、空の状態にしておけばよく、第2のデータ20を構成する各ブロックは、すべて「返信要求コマンド」に対するレスポンスとして返信されることになる。
【0039】
暗号化装置200に対して、「返信要求コマンド」が送信されてきたときには、当該「返信要求コマンド」に応じたレスポンスとして、過去に作成してレスポンス返信部240内に記憶されていた第2のデータの一部(まだ返信していないで残っている一部)を含む所定のレスポンスを返信する第2の受動処理が行われる。すなわち、この第2の受動処理は、図5(c) ,(e) に示すような「返信要求コマンド」に応じて、図5(d) ,(f) に示すようなレスポンスを返信する処理ということができる。レスポンス返信部240には、返信すべきブロックが一時的に記憶されており、「返信要求コマンド」が与えられるたびに、次に返信すべき順番のブロックを、レスポンスに含ませて返信する処理が行われる。なお、上述したように、「返信要求コマンド」が送信されてきたのにも拘わらず、レスポンス返信部240内に返信すべきブロックが残っていなかった場合には、エラーを示すレスポンスが返信されることになる。
【0040】
もちろん、この第1の受動処理と第2の受動処理とは、実際には、暗号化装置200を構成するICカード内のCPUが、ROMやEEPROMなどに予め格納されたプログラムに基づいて実行する処理である。したがって、上述した第1の受動処理や第2の受動処理の手順は、このICカード上で実行されるプログラムに記述されていることになる。
【0041】
§2.その他の実施形態
以上、本発明の基本的な実施形態を述べたが、ここでは、いくつかの有益な別な実施形態について述べる。まず、本発明では、上述したように、暗号化装置200側で作成した第2のデータ20を、複数n個のブロックに分割することになるが、セキュリティをより高めるために、ブロックの分割数nおよび各ブロックのデータ長は、暗号化装置200側でその都度ランダムに決定するようにするのが好ましい。また、暗号化装置200側で、n個の各ブロックの順序をランダムに入れ替える処理を行い、このn個の各ブロックを、入れ替えた後の順序で、個々のレスポンスに含ませてデータ処理装置100に返信する処理を行うようにするのが好ましい。
【0042】
たとえば、図6(a) に示すように、暗号化装置200側で、第2のデータ20を3つのブロック21,22,23に分割した場合を考えてみる。ここで、分割数n=3は乱数を用いてランダムに決定するようにし、各ブロック21〜23のデータ長L1〜L3も、乱数を用いてランダムに決定するようにする。そして、この3つのブロックの順序を、図6(b) に示すように入れ替える。このようなブロック順の入れ替えも、乱数を用いてランダムに決定するようにする。こうして、図6(b) に示すように、各ブロックの順序がランダムに入れ替えられたら、この3個の各ブロックを、入れ替えた後の順序で、個々のレスポンスに含ませて返信するのである。すなわち、図6(b) の例の場合、ブロックを返信すべき最初のレスポンスでは、第3のブロック23が返信され、2番目のレスポンスでは、第1のブロック21が返信され、3番目のレスポンスで、第2のブロック22が返信されることになる。
【0043】
このように、分割数n、各ブロックのデータ長、入れ替えた後のブロック順を、暗号化装置200側でランダムに決定するようにした場合、データ処理装置100側にも、これらの情報を知らせておく必要がある。そのためには、これらの情報を、暗号化装置200側からデータ処理装置100側に与えるいずれかのレスポンスに含ませておくようにすればよい。特に、分割数nに関する情報は、「暗号化コマンド」に対するレスポンスに含ませておくのが好ましい。そうすれば、データ処理装置100側では、「暗号化コマンド」に対するレスポンスにより、分割数nを認識することができるので、その後、「返信要求コマンド」を何回与えれば、全ブロックが返信されるかを知ることができ、必要な回数だけ、「返信要求コマンド」を与える処理を行うことができる。もっとも、第2のデータ20の全データ長を予め定めておくことができれば、返信されてきたブロックのデータ長の累積値が当該全データ長に達するまで、データ処理装置100側から繰り返し「返信要求コマンド」を与えるようにすればよいので、分割数nに関する情報や各ブロックのデータ長に関する情報をデータ処理装置100側に伝達することは、本発明を実施する上での必須の事項ではない。
【0044】
図7は、本発明の別な実施形態に係るコマンドおよびレスポンスのやりとりを示す図である。図7(a) に示す「暗号化コマンド」は、図5(a) に示す「暗号化コマンド」と全く同様に、第1のデータ10に対する暗号化処理を要求するコマンドである。一方、この実施形態では、このコマンドに対するレスポンスは、図7(b) に示すようなものになる。このレスポンスは、「OK」なるステータスコードからなるステータス部と、図示のようなデータ部と、によって構成されている。データ部には、分割数n、ブロック順、ブロック長を示す情報が含まれている。すなわち、図示の例では、分割数nは「3」、ブロック順は「3→1→2(第3のブロック→第1のブロック→第2のブロックの順に返信される意味)」、ブロック長は「L3,L1,L2(ブロック順に応じて、第3のブロックのブロック長はL3,第1のブロックのブロック長はL1,第2のブロックのブロック長はL2の意味)」なる情報がデータ部に含まれている。
【0045】
また、図7(b) に示すレスポンスのデータ部には、ダミーデータが付加されている。このダミーデータは、暗号化装置200内で作成された第2のデータ20とは無関係な意味のない何らかのデータである。このようなダミーデータの付加は、通信傍受に対するセキュリティを向上させる上で有効である。すなわち、図7(a) ,(b) のようなコマンド/レスポンス対が不正な手段で傍受された場合でも、ダミーデータの存在により、両者の対応関係についての解析をより困難にさせることができる。
【0046】
データ処理装置100は、図7(b) に示すようなレスポンスを受信することにより、第2のデータ20が3つのブロックに分けて返信されてくること、「3→1→2」のブロック順で返信されてくること、各ブロックのデータ長がそれぞれ「L3,L1,L2」であること、を知ることができる。これにより、3回の「返信要求コマンド」が必要なことを認識することができ、まず、図7(c) に示すように、第1回目の「返信要求コマンド」を送信する。なお、「返信要求コマンド」には、本来、データ部は不要であるが、この図7(c) に示す例では、「返信要求コマンド」のデータ部に、意味のないダミーデータを含ませるようにしている。これは、やはりダミーデータの存在により、コマンド/レスポンス対が不正な手段で傍受された場合でも、両者の対応関係についての解析をより困難にさせるための配慮である。
【0047】
この例では、図7(c) に示す「返信要求コマンド」に応じたレスポンスとして、図7(d) に示すようなレスポンスが返信されている。このレスポンスは、「OK」なるステータスコードからなるステータス部と、図示のようなデータ部と、によって構成されている。データ部には、最初の順番に相当する第3のブロックとともに、セキュリティ向上のために付加されたダミーデータが含まれている。データ処理装置100側には、既に各ブロックのブロック長の情報が伝達されているので、本来のブロックデータと、ダミーデータとを識別することが可能である。たとえば、図7(d) に示すようなデータ部については、先頭からデータ長L3に相当する部分までが第3のブロックを構成するデータであり、これに後続する部分はダミーデータである、との認識ができる。同様にして、更に2回の「返信要求コマンド」が送信され、これに応じてそれぞれレスポンスが返信されることになり、データ処理装置100側に、3つのブロックすべてが返信されることになる。データ処理装置100は、ブロック順「3→1→2」なる情報に基いて、返信されてきた3つのブロックを並べかえて組み立てる合成処理を行い、最終的に第2のデータ20を得ることができる。
【0048】
以上、データ処理装置100において用意された平文データを第1のデータ10として暗号化装置200に与え、この平文データに対応した暗号文データを構成する第2のデータ20を作成し、これを複数のレスポンスに分けて返信する例を示したが、本発明に係る暗号処理システムは、必ずしも平文データを暗号文データに変換する用途だけに限定されるものではない。たとえば、データ処理装置100に、第1のデータ10として、個人認証用のデジタル署名の対象となる所定のメッセージデータを用意する機能をもたせ、暗号化装置200側では、このメッセージデータに対する暗号化処理により、所定のデジタル署名を作成する演算を行わせ、このデジタル署名からなる第2のデータ20を複数のレスポンスに分けて返信させるようにしてもかまわない。この場合、データ処理装置100側では、得られた第2のデータを、第1のデータを構成するメッセージデータに対する個人認証用のデジタル署名として取り扱うことになる。
【0049】
図8は、このようなデジタル署名の具体例を示す図である。ここでは、「特許太郎」なる特定のユーザが、コンピュータ110を用いて特定のWebサイトにアクセスし、当該Webサイトが運営するオンライン書店に、百科事典の発注を行う具体的な例をとりあげてみる。まず、このような発注を行うために、ユーザ「特許太郎」は、図8に示すようなメッセージデータM(「百科事典一式を注目します。」なる文字列からなるデータ)をコンピュータ110に入力する。すると、このメッセージデータMは、第1のデータ10として、リーダライタ装置120を介して情報通信部210へと送信され、暗号演算部230に与えられる。ここで、このユーザ「特許太郎」の所持するICカード内の暗号演算部230には、図8に示すような秘密データH(この例では、便宜上、「ABC123」なる文字列であったとする)が格納されていたものとしよう。秘密データHは、このICカードをユーザ「特許太郎」に発行する際に、発行元において所定の方法で書き込まれる。
【0050】
この場合、暗号演算部230は、予め用意されていた所定のアルゴリズムに基づいて、メッセージデータMに対して、秘密データHを利用した所定の演算を実行し、メッセージデータMに対する個人認証用のデジタル署名Dを作成する。ここでは、たとえば、図8に示すようなデジタル署名D(この例では、便宜上、「456789」なる数値であったとする)が作成されたものとしよう。デジタル署名作成のための具体的なアルゴリズムとしては、たとえば、「メッセージデータMを構成する文字列に、秘密データHを構成する文字列を付加し、これら文字列を16進数に置き換えて数値化し、この数値にハッシュ関数を作用させたハッシュ値をデジタル署名とする」というようなアルゴリズムを用いればよい。ある元になる数値にハッシュ関数を作用させることにより得られるハッシュ値は一義的に定まるが、ハッシュ値から元になる数値を逆算することはできないので、メッセージデータMと秘密データHとが与えられれば、暗号演算部230によって、ハッシュ値として与えられるデジタル署名Dを一義的に求めることができるが、逆に、デジタル署名DとメッセージデータMとが既知であったとしても、それらから秘密データHを求めることはできない。したがって、デジタル署名Dは、メッセージデータMを暗号化したデータということができる。
【0051】
こうして、暗号演算部230によって作成された「456789」なる数値からなるデジタル署名Dは、レスポンス返信部240に一時的に記憶された後、複数回のレスポンスに分けて、リーダライタ装置120側へと返信されることになる。たとえば、「456789」なる数値は、「45」、「67」、「89」という3つのブロックに分割され、3回のレスポンスに分けて返信される。コンピュータ110は、これらを合成することにより、「456789」なるデジタル署名Dを復元することになる。かくして、コンピュータ110は、メッセージデータMとともにデジタル署名Dを、「特許太郎」なるユーザからの注文として、オンライン書店のサイトへと送信して、百科事典の発注を行うことになる。
【0052】
一方、暗号演算部230内に格納されている秘密データHは、信頼すべき認証局にも、「特許太郎」なるユーザの個人認証用秘密データとして登録されている。したがって、「百科事典一式注文します。」なるメッセージデータMと、「456789」なるデジタル署名Dとを、「特許太郎」なるユーザからの注文として受信したオンライン書店は、これらを認証局に照会することにより、メッセージデータMおよびデジタル署名Dの組み合わせが、確かに「特許太郎」から発信されたものであることを確認することができる。すなわち、認証局において、「百科事典一式注文します。」なるメッセージデータMと、特許太郎の秘密データHとして登録されている「ABC123」なるデータとを用いて、所定のアルゴリズム(暗号演算部230により実行される署名作成処理と同じアルゴリズム)による演算を実行し、「456789」なる同一のデジタル署名Dが得られれば、「百科事典一式注文します。」なるメッセージデータMと、「456789」なるデジタル署名Dとの組み合わせが、確かに「特許太郎」なるユーザが発信したものであることが確認されることになる。もちろん、メッセージデータMの一部が改竄された場合には、得られるデジタル署名が異なることになるため、正しい認証結果は得られなくなる。
【0053】
図9は、本発明の更に別な実施形態を示すブロック図である。図1に示す基本的実施形態では、コンピュータ110およびリーダライタ装置120によってデータ処理装置100を構成し、ICカードによって暗号化装置200を構成していた。これに対して、図9に示す実施形態は、データ処理装置と暗号化装置とがインターネット300を介して通信を行う形態である。すなわち、この実施形態では、クライアントコンピュータ310、これに接続されたリーダライタ装置320、これに接続されたICカード330という構成要素全体が暗号化装置として機能し、サーバコンピュータ340がデータ処理装置として機能することになる。クライアントコンピュータ310とサーバコンピュータ340とは、インターネット300を介して接続されており、サーバコンピュータ340側からクライアントコンピュータ310に対して所定のコマンドを与えると、クライアントコンピュータ310側で当該コマンドが実行される(必要に応じて、リーダライタ装置320を介してICカード330へのアクセスが行われる)。そして、当該コマンドの実行結果が、インターネット300を介して、サーバコンピュータ340へレスポンスとして返信される構成となっている。
【0054】
具体的には、サーバコンピュータ340からクライアントコンピュータ310に対して、第1のデータ10を含む「暗号化コマンド」を与えると、この「暗号化コマンド」は、リーダライタ装置320を介してICカード330へと与えられ、第2のデータ20が作成されることになる。この第2のデータ20は、リーダライタ装置320を介してクライアントコンピュータ310へと伝達される。そして、この第2のデータ20は、クライアントコンピュータ310からインターネット300を介してサーバコンピュータ340へレスポンスとして送信されることになるが、このとき、第2のデータ20が複数n個のブロックに分割され、複数回のレスポンスに分けてサーバコンピュータ340側へと送信されることになる。このため、インターネット300上での不正な傍受が行われたとしても、通常の方法に比べて高いセキュリティ効果が得られることになる。
【0055】
もちろん、図9に示すクライアントコンピュータ310およびリーダライタ装置320をデータ処理装置として、図9に示すICカード330を暗号化装置として、本発明を実施することも可能であり、その場合には、図9に示す形態では、いわば「入れ子式」に本発明を適用することが可能になる。すなわち、クライアントコンピュータ310およびリーダライタ装置320をデータ処理装置として、ICカード330を暗号化装置として、本発明を実施した場合には、リーダライタ装置320とICカード330との間の通信傍受に対するセキュリティを向上させることができる。一方、クライアントコンピュータ310、リーダライタ装置320、ICカード330という構成要素全体を暗号化装置として、サーバコンピュータ340をデータ処理装置として、本発明を実施した場合には、インターネット300上の通信傍受に対するセキュリティを向上させることができる。
【0056】
以上、本発明をいくつかの実施形態に基いて説明したが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々の形態で実施可能である。たとえば、上述の実施形態では、第2のデータ20を複数のブロックに分割する際に、ひとまとまりのデータを1つのブロックとするような分割形態を採っているが、具体的なブロック分割はどのような形態を採ってもかまわない。たとえば、1バイト目、4バイト目、7バイト目、…というように3バイトおきに抽出したデータを第1のブロックとし、2バイト目、5バイト目、8バイト目、…というように3バイトおきに抽出したデータを第2のブロックとし、3バイト目、6バイト目、9バイト目、…というように3バイトおきに抽出したデータを第3のブロックとする、というような分割形態を採ることも可能である。
【0057】
【発明の効果】
以上のとおり本発明に係る暗号処理システムによれば、暗号化のもとになるデータと、暗号化したデータとの対応関係が、不正な方法で傍受される蓋然性を低減し、よりセキュリティを向上させることが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る暗号処理システムの基本構成を示すブロック図である。
【図2】一般的な暗号化処理の概念を示す図である。
【図3】従来の暗号処理システムにおいて暗号化を行うために用いられるコマンド/レスポンスの一例を示す図である。
【図4】本発明において暗号化により得られる文字列データを分割する態様の一例を示す図である。
【図5】本発明に係る暗号処理システムにおいて、暗号化を行うために用いられるコマンド/レスポンスの一例を示す図である。
【図6】本発明において暗号化により得られる文字列データを分割し、更に順序を入れ替える態様の一例を示す図である。
【図7】本発明に係る暗号処理システムにおいて、暗号化を行うために用いられるコマンド/レスポンスの別な態様の一例を示す図である。
【図8】一般的なデジタル署名システムで用いられているメッセージデータM、秘密データH、デジタル署名Dの具体例を示す図である。
【図9】本発明の変形例に係る暗号処理システムの基本構成を示すブロック図である。
【符号の説明】
10…第1のデータ(平文からなる文字列データ)
20…第2のデータ(暗号文からなる文字列データ)
21〜23…分割により得られた個々のブロック
100…データ処理装置
110…コンピュータ
120…リーダライタ装置
200…暗号化装置(ICカード)
210…情報通信部
220…コマンド解釈部
230…暗号演算部
240…レスポンス返信部
300…インターネット
310…クライアントコンピュータ
320…リーダライタ装置
330…ICカード
340…サーバコンピュータ
D…デジタル署名
H…秘密データ
L1〜L3…各ブロックのデータ長
M…メッセージデータ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a cryptographic processing system, and more particularly, to a cryptographic processing system using a portable encryption device such as an IC card.
[0002]
[Prior art]
With the spread of a global network environment centered on the Internet, data encryption has become necessary in various fields of social life. For example, as a method for authenticating an individual, use of a digital signature instead of a conventional signature has begun to spread, and an encryption technique is also used for this digital signature. That is, the digital signature of the message data to be signed is created by performing an encryption operation on the message data based on a predetermined secret algorithm using secret data. A public key cryptosystem is used for an encryption operation for creating a digital signature, and secret data cannot be obtained from the created digital signature. Therefore, consideration has been given that a third party who has obtained the digital signature cannot know the original secret data based on the digital signature. However, if the secret data itself is read by unauthorized means, it becomes possible to forge a digital signature. For this reason, it is preferable to use a device having the highest possible security as an encryption device that stores secret data and creates a digital signature using the secret data.
[0003]
For these reasons, IC cards are now widely used as encryption devices suitable for performing personal encryption processes such as digital signatures. By distributing an IC card to an individual and storing secret data for each individual in the IC card, it becomes possible to manage the secret data with sufficient security. An encryption operation program based on a predetermined algorithm using stored secret data is incorporated in the IC card functioning as an encryption device, and all the encryption operations are performed inside the IC card. Become. The first data to be encrypted may be prepared on a computer functioning as a data processing device and transmitted to an IC card via a reader / writer device. The IC card internally executes a predetermined encryption operation on the first data provided via the reader / writer device, and returns the created second data to the computer again via the reader / writer device. I do.
[0004]
[Problems to be solved by the invention]
In the above-described cryptographic processing system using an IC card, all security data and secret algorithms necessary for the encryption operation are stored in the IC card, and sufficient security measures are taken so that they cannot be read out by an unauthorized method. Has been taken. However, if the communication between the computer functioning as the data processing device and the IC card functioning as the encryption device is intercepted, the secret data and the secret algorithm itself will not be disclosed, but the "specific The fact that specific ciphertext data has been obtained for plaintext data "will be leaked to the outside. Such communication interception can be performed on a signal path between the reader / writer device and the IC card, or can be performed on a signal path between the computer and the reader / writer device. Further, by searching the memory in the computer, a result equivalent to the wiretapping can be obtained. In recent years, there are many cases in which a computer virus having such a communication interception function is distributed to perform an illegal act. If a large number of "correspondences between specific plaintext data and specific ciphertext data" are obtained due to such misconduct, there is a danger that secret data in the IC card is estimated by analyzing these. Comes out. In addition, it is also possible to determine a command code for generating a cipher by interception of a communication, and an unauthorized access person can give an intentionally created convenient plaintext data to the IC card together with the determined command code. In this case, an illegal act of obtaining encrypted data corresponding to the plaintext data becomes possible, and there is a possibility that the decryption is misused by various methods.
[0005]
Therefore, the present invention provides a cryptographic processing system capable of improving the security by reducing the probability that the correspondence between the data to be encrypted and the encrypted data is intercepted by an unauthorized method. The purpose is to provide.
[0006]
[Means for Solving the Problems]
(1) According to a first aspect of the present invention, a process of creating second data by performing an encryption operation using a secret algorithm based on first data to be encrypted is performed. In the cryptographic processing system to be performed,
A function of internally storing a secret algorithm and performing an operation based on the secret algorithm on first data given from the outside to create second data corresponding to the first data. With an encryption device
A function of preparing first data that can be connected to the encryption device and subject to encryption processing, a function of transmitting the prepared first data to the encryption device, and a function of creating the first data inside the encryption device. A data processing device having a function of receiving the obtained second data;
And
The exchange of information between the encryption device and the data processing device is performed in accordance with a transmission process of transmitting a predetermined command from the data processing device to the encryption device and a command from the encryption device to the data processing device in response to the command. A response process for returning a response and a response process are performed alternately.
The data processing device transmits an “encryption command” including the first data to be encrypted to the encryption device, and receives a response returned from the encryption device in response to the “encryption command”. A first active process and a “reply request command” for requesting a return of the second data are transmitted to the encryption device, and a response returned from the encryption device is received in response to the command. 2 and an combining process of assembling second data by combining data included in the plurality of received responses.
When the “encryption command” is transmitted, the encryption device performs an operation based on a secret algorithm on the first data included in the command, thereby providing the first data with A first passive unit that creates corresponding second data and returns a predetermined response that does not include the created second data at all or includes only a part of the created second data as a response to the “encryption command”. Processing, and when a “reply request command” is transmitted, a second passive part that returns a predetermined response including only a part of the created second data as a response corresponding to the “reply request command” And processing.
[0007]
(2) The second aspect of the present invention provides the cryptographic processing system according to the first aspect,
The data processing device prepares plaintext data to be subjected to encryption processing as first data, and handles the second data obtained by the synthesis processing as ciphertext data for the plaintext data. .
[0008]
(3) A third aspect of the present invention provides the cryptographic processing system according to the first aspect, wherein
The data processing device prepares predetermined message data to be a digital signature as the first data, and treats the second data obtained by the synthesizing process as a digital signature for personal authentication of the message data. It is like that.
[0009]
(4) A fourth aspect of the present invention provides the cryptographic processing system according to the first to third aspects described above.
An IC card is used as an encryption device, and a reader / writer device having a function of accessing the IC card and a computer for controlling the reader / writer device are used as a data processing device.
[0010]
(5) A fifth aspect of the present invention provides the cryptographic processing system according to the first to third aspects described above.
A client computer is used as an encryption device, and a server computer connected to the client computer via the Internet is used as a data processing device.
[0011]
(6) A sixth aspect of the present invention provides the cryptographic processing system according to the first to fifth aspects, wherein:
The encryption device divides the created second data into a plurality of n blocks, and performs a process of dividing each of the n blocks into n responses and returning the data to the data processing device.
[0012]
(7) A seventh aspect of the present invention provides the cryptographic processing system according to the sixth aspect, wherein
The encryption device randomly determines the number of block divisions n and the data length of each block.
[0013]
(8) An eighth aspect of the present invention provides the cryptographic processing system according to the seventh aspect, wherein
The encryption device returns information to the data processing device by including information indicating the randomly determined number of divisions n and the data length of each block in one of the responses,
The data processing device obtains the second data based on the returned information.
[0014]
(9) A ninth aspect of the present invention provides the cryptographic processing system according to the sixth to eighth aspects, wherein:
The encryption device performs a process of randomly changing the order of each of the n blocks, and includes a process of returning the data to the data processing device by including each of the n blocks in an individual response in the changed order. And information indicating the block order after the replacement is included in one of the responses and returned to the data processing device,
The data processing device assembles the second data based on the returned information.
[0015]
(10) A tenth aspect of the present invention provides the cryptographic processing system according to the eighth or ninth aspect, wherein
The encryption device returns at least one of the information indicating the number of divisions n, the information indicating the data length of each block, and the information indicating the order of the blocks after the replacement in a response corresponding to the “encryption command”. It is intended to be.
[0016]
(11) An eleventh aspect of the present invention provides the cryptographic processing system according to the first to tenth aspects, wherein
The second data created by the encryption device in the “response corresponding to the encrypted command” returned as the first passive process or the “response corresponding to the return request command” returned as the second passive process is as follows. This is to include irrelevant dummy data.
[0017]
(12) A twelfth aspect of the present invention provides the cryptographic processing system according to the first to eleventh aspects,
The data processing device includes meaningless dummy data in a "reply request command" transmitted as the second active process.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described based on an illustrated embodiment.
[0019]
§1. Basic embodiment of the present invention
FIG. 1 is a block diagram showing a configuration of a cryptographic processing system according to a basic embodiment of the present invention. This cryptographic processing system includes a data processing device 100 and an encryption device 200 as shown in the figure. In this embodiment, the data processing device 100 includes a
[0020]
The encryption device 200 composed of an IC card is a portable information processing device, can be carried by each user, and can be used by connecting to the data processing device 100 as needed. Recently, IC cards have already begun to be used for various purposes. Therefore, the encryption device 200 does not necessarily need to be provided as a dedicated IC card that performs only the encryption processing function. In practice, a general-purpose IC card shared for a plurality of uses is used as the encryption device 200. It is possible. The reader /
[0021]
Here, Web browser software for browsing a Web page by connecting to the Internet is incorporated in the
[0022]
That is, first, the
[0023]
FIG. 2 is a diagram illustrating the concept of such an encryption process. In the illustrated example, the
[0024]
After all, the encryption device 200 performs an encryption operation using a secret algorithm stored in the
[0025]
By the way, as described above, the
[0026]
Here, for convenience of explanation, first, a procedure of an encryption process in a conventional encryption processing system using a general IC card will be described. In the conventional procedure, first, for example, an “encryption command” as shown in FIG. 3A is given from the reader / writer device to the IC card. For example, a process shown in FIG. 3B is performed to return a response, and the second data 20 (character string data composed of cipher text) corresponding to the first data 10 (character string data composed of plain text) Will be created. In the specific example shown in FIG. 3, the “encryption command” includes a command portion including a command code “CRYPT” (a code indicating that the command is a command for requesting an encryption process). , A data portion composed of “character string data composed of plain text (first data 10)”. On the other hand, the response to the “encrypted command” includes a status part consisting of a status code “OK” (a code indicating that the given command has been correctly processed) and “character string data consisting of cipher text (second Data 20) ". The IC card interprets the “encrypted command” as shown in FIG. 3A, and encrypts the
[0027]
However, as described above, the
[0028]
As described above, according to the present invention, the transmission process of transmitting a predetermined command from the data processing device 100 to the encryption device 200, and the response corresponding to the command from the encryption device 200 to the data processing device 100 are returned. The purpose of the present invention is to improve security in a cryptographic processing system in which information is exchanged between the two by alternately executing a reply process. The point is that, after the arithmetic processing for obtaining the
[0029]
As described above, in the present invention, it is not possible to return the entire
[0030]
The exchange of the command and the response shown in FIG. 5 is an example in which the
[0031]
In the example shown here, the
[0032]
In the present invention, in order to request a reply for a portion not returned in the “response to the encrypted command”, the data processing device 100 further transmits to the encrypting device 200 as shown in FIG. It is necessary to give a "reply request command". In this example, the "reply request command" is composed of only a command part consisting of a command code of "REPLY", and has no data part. When such a “reply request command” is given to the
[0033]
As a result, in the case of the above-described example, the
[0034]
Note that when the “reply request command” is given, but there is no block to be returned in the response reply unit 240 (for example, the “reply request command” is given before the “encrypted command” is given). Or if all blocks have been replied and a "reply request command" has been given), the "reply request command" is displayed in the status section. A response in which a status indicating an error is written is returned.
[0035]
After all, in the cryptographic processing system according to the present invention, the following processing is performed in the data processing device 100 and the encryption device 200 in order to obtain the
[0036]
First, the following processing is performed on the data processing device 100 side. First, an “encryption command” including the first data to be encrypted is transmitted to the encryption device 200, and a response is returned from the encryption device 200 in response to the “encryption command”. One active process is performed. That is, the first active process is a process of transmitting an “encrypted command” as shown in FIG. 5A and receiving a response as shown in FIG. 5B returned in response thereto. It turns out that. Subsequently, a “reply request command” for requesting a return of the second data is transmitted to the encryption device 200, and a second response is received from the encryption device 200 in response thereto. Active processing is performed. This second active process is a process of transmitting a “reply request command” as shown in FIG. 5C and receiving a response as shown in FIG. become. In the case of the example shown in FIG. 5, such second active processing is performed once again. When all blocks constituting the
[0037]
Note that the first active process and the second active process described above do not necessarily need to be executed consecutively, and another process (a command is transmitted from the data processing apparatus 100 side, and (A process of receiving some response) according to the request. Also, when the second active process is repeatedly executed, another process may be interposed between the processes. Of course, the command transmission operation to the encryption device 200 is not performed based on the direct instruction of the user, but is performed based on the instruction of the program executed on the
[0038]
On the other hand, on the encryption device 200 side, every time an individual command is given, a predetermined process according to the content of the command is executed, and a process of returning a predetermined response is executed. Specifically, first, when the above-mentioned “encrypted command” is transmitted, by performing an operation based on a secret algorithm on the
[0039]
When a “reply request command” is transmitted to the encryption device 200, a second response created in the past and stored in the
[0040]
Of course, the first passive process and the second passive process are actually executed by the CPU in the IC card constituting the encryption device 200 based on a program stored in advance in a ROM, an EEPROM, or the like. Processing. Therefore, the procedure of the first passive processing and the second passive processing described above is described in the program executed on the IC card.
[0041]
§2. Other embodiments
Having described the basic embodiment of the present invention, some useful alternative embodiments will now be described. First, in the present invention, as described above, the
[0042]
For example, let us consider a case where the
[0043]
As described above, when the encryption apparatus 200 side randomly determines the number of divisions n, the data length of each block, and the order of the blocks after the replacement, the data processing apparatus 100 also notifies the data processing apparatus 100 of the information. Need to be kept. For this purpose, such information may be included in any response given from the encryption device 200 to the data processing device 100. In particular, it is preferable to include information on the number of divisions n in a response to the “encrypted command”. Then, the data processing apparatus 100 can recognize the number of divisions n by the response to the “encryption command”, so that the number of times the “reply request command” is given thereafter will return all the blocks. It is possible to perform the process of giving the “reply request command” as many times as necessary. However, if the total data length of the
[0044]
FIG. 7 is a diagram showing exchange of commands and responses according to another embodiment of the present invention. The “encryption command” shown in (a) of FIG. 7 is a command for requesting an encryption process on the
[0045]
In addition, dummy data is added to the data portion of the response shown in FIG. This dummy data is any meaningless data irrelevant to the
[0046]
The data processing device 100 receives the response as shown in FIG. 7 (b) {circle around (2)}, and returns the
[0047]
In this example, a response as shown in FIG. 7D is returned as a response to the "reply request command" shown in FIG. 7C. This response is composed of a status part consisting of a status code "OK" and a data part as shown. The data section includes a third block corresponding to the first order and dummy data added for improving security. Since information on the block length of each block has already been transmitted to the data processing device 100, it is possible to distinguish the original block data from the dummy data. For example, in the data portion as shown in FIG. 7D, the portion from the beginning to the portion corresponding to the data length L3 is the data constituting the third block, and the portion following this is dummy data. Can be recognized. Similarly, two more “reply request commands” are transmitted, and in response to this, responses are respectively returned, and all three blocks are returned to the data processing device 100 side. The data processing device 100 can perform the combining process of rearranging and assembling the three returned blocks based on the information in the block order “3 → 1 → 2”, and finally obtain the
[0048]
As described above, the plaintext data prepared in the data processing device 100 is given to the encryption device 200 as the
[0049]
FIG. 8 is a diagram showing a specific example of such a digital signature. Here, a specific example will be described in which a specific user named “Taro Taro” accesses a specific Web site using the
[0050]
In this case, the
[0051]
In this way, the digital signature D composed of the numerical value “456789” created by the
[0052]
On the other hand, the secret data H stored in the
[0053]
FIG. 9 is a block diagram showing still another embodiment of the present invention. In the basic embodiment shown in FIG. 1, the data processing device 100 is configured by the
[0054]
Specifically, when an “encryption command” including the
[0055]
Of course, it is also possible to implement the present invention using the
[0056]
As described above, the present invention has been described based on some embodiments. However, the present invention is not limited to these embodiments, and can be implemented in various other modes. For example, in the above-described embodiment, when the
[0057]
【The invention's effect】
As described above, according to the cryptographic processing system of the present invention, the correspondence between the data to be encrypted and the encrypted data reduces the probability of being intercepted by an unauthorized method, and further improves security. It becomes possible to do.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a basic configuration of a cryptographic processing system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a concept of a general encryption process.
FIG. 3 is a diagram showing an example of a command / response used for performing encryption in a conventional cryptographic processing system.
FIG. 4 is a diagram showing an example of a mode of dividing character string data obtained by encryption in the present invention.
FIG. 5 is a diagram showing an example of a command / response used for performing encryption in the cryptographic processing system according to the present invention.
FIG. 6 is a diagram showing an example of a mode in which character string data obtained by encryption is divided and the order is further changed in the present invention.
FIG. 7 is a diagram showing another example of a command / response used for performing encryption in the cryptographic processing system according to the present invention.
FIG. 8 is a diagram showing a specific example of message data M, secret data H, and digital signature D used in a general digital signature system.
FIG. 9 is a block diagram illustrating a basic configuration of a cryptographic processing system according to a modification of the present invention.
[Explanation of symbols]
10: First data (character string data composed of plain text)
20: second data (character string data composed of cipher text)
21 to 23 individual blocks obtained by division
100 ... data processing device
110 ... Computer
120: Reader / writer device
200: Encryption device (IC card)
210: Information communication section
220 command interpreter
230 ... Cryptographic operation unit
240 ... Response reply unit
300 Internet
310 ... Client computer
320: Reader / writer device
330… IC card
340: Server computer
D: Digital signature
H: Secret data
L1 to L3: Data length of each block
M: Message data
Claims (15)
内部に前記秘密のアルゴリズムを記憶し、外部から与えられた第1のデータに対して前記秘密のアルゴリズムに基づく演算を実行することにより、当該第1のデータに対応した第2のデータを作成する機能をもった暗号化装置と、
前記暗号化装置に接続することができ、暗号化処理の対象となる第1のデータを用意する機能と、用意した第1のデータを前記暗号化装置に送信する機能と、前記暗号化装置の内部で作成された第2のデータを受信する機能と、を有するデータ処理装置と、
を備え、
前記暗号化装置と前記データ処理装置との間の情報のやりとりは、前記データ処理装置から前記暗号化装置に対して所定のコマンドを送信する送信処理と、前記暗号化装置から前記データ処理装置に対してコマンドに応じたレスポンスを返信する返信処理と、を交互に実行することによりなされるように構成されており、
前記データ処理装置は、暗号化処理の対象となる第1のデータを含んだ「暗号化コマンド」を前記暗号化装置に対して送信し、これに応じて前記暗号化装置から返信されてくるレスポンスを受信する第1の能動処理と、第2のデータの返信を要求するための「返信要求コマンド」を前記暗号化装置に対して送信し、これに応じて前記暗号化装置から返信されてくるレスポンスを受信する第2の能動処理と、受信した複数のレスポンスに含まれているデータを合成することにより第2のデータを組み立てる合成処理と、を行う機能を有し、
前記暗号化装置は、前記「暗号化コマンド」が送信されてきたときに、当該コマンドに含まれている第1のデータに対して前記秘密のアルゴリズムに基づく演算を実行することにより、当該第1のデータに対応した第2のデータを作成し、当該「暗号化コマンド」に応じたレスポンスとして、作成した前記第2のデータを全く含まないかあるいはその一部のみを含む所定のレスポンスを返信する第1の受動処理と、前記「返信要求コマンド」が送信されてきたときに、当該「返信要求コマンド」に応じたレスポンスとして、作成した前記第2のデータの一部のみを含む所定のレスポンスを返信する第2の受動処理と、を行う機能を有することを特徴とする暗号処理システム。An encryption processing system that performs a process of creating second data by performing an encryption operation using a secret algorithm based on the first data to be encrypted.
The secret algorithm is stored inside, and an operation based on the secret algorithm is performed on first data given from the outside, thereby creating second data corresponding to the first data. An encryption device with functions,
A function of preparing first data that can be connected to the encryption device and to be subjected to encryption processing, a function of transmitting the prepared first data to the encryption device, A data processing device having a function of receiving internally generated second data;
With
The exchange of information between the encryption device and the data processing device includes a transmission process of transmitting a predetermined command from the data processing device to the encryption device, and a transmission process from the encryption device to the data processing device. And a reply process for returning a response corresponding to the command, and are alternately performed.
The data processing device transmits an “encryption command” including the first data to be encrypted to the encryption device, and a response returned from the encryption device in response to the “encryption command”. And a "reply request command" for requesting a return of the second data is transmitted to the encryption device, and the response is returned from the encryption device accordingly. A function of performing a second active process of receiving a response and a combining process of assembling second data by combining data included in the plurality of received responses;
When the “encryption command” is transmitted, the encryption device performs an operation based on the secret algorithm on the first data included in the command, thereby performing the first encryption. The second data corresponding to the above-mentioned data is created, and a predetermined response containing no or only a part of the created second data is returned as a response to the “encryption command”. A first passive process and, when the “reply request command” is transmitted, a predetermined response including only a part of the created second data as a response corresponding to the “reply request command”. And a second passive process for returning a reply.
データ処理装置が、第1のデータとして、暗号化処理の対象となる平文データを用意する機能を有し、合成処理により得られた第2のデータを、前記平文データに対する暗号文データとして取り扱う機能を有することを特徴とする暗号処理システム。The cryptographic processing system according to claim 1,
A data processing device having a function of preparing plaintext data to be encrypted as first data, and a function of treating second data obtained by the combining process as ciphertext data for the plaintext data A cryptographic processing system comprising:
データ処理装置が、第1のデータとして、デジタル署名の対象となる所定のメッセージデータを用意する機能を有し、合成処理により得られた第2のデータを、前記メッセージデータに対する個人認証用のデジタル署名として取り扱う機能を有することを特徴とする暗号処理システム。The cryptographic processing system according to claim 1,
The data processing device has a function of preparing predetermined message data to be subjected to a digital signature as the first data, and converts the second data obtained by the synthesizing process into a digital for personal authentication of the message data. An encryption processing system having a function of handling as a signature.
ICカードを暗号化装置として用い、当該ICカードにアクセスする機能をもったリーダライタ装置およびこのリーダライタ装置を制御するためのコンピュータをデータ処理装置として用いたことを特徴とする暗号処理システム。The cryptographic processing system according to claim 1,
An encryption processing system using an IC card as an encryption device and a reader / writer device having a function of accessing the IC card and a computer for controlling the reader / writer device as a data processing device.
クライアントコンピュータを暗号化装置として用い、このクライアントコンピュータにインターネットを介して接続されたサーバコンピュータをデータ処理装置として用いたことを特徴とする暗号処理システム。The cryptographic processing system according to claim 1,
An encryption processing system, wherein a client computer is used as an encryption device, and a server computer connected to the client computer via the Internet is used as a data processing device.
暗号化装置が、作成した第2のデータを複数n個のブロックに分割し、n個の各ブロックをn回のレスポンスに分けてデータ処理装置に返信する処理を行うことを特徴とする暗号処理システム。The cryptographic processing system according to any one of claims 1 to 5,
An encryption device that divides the created second data into a plurality of n blocks and divides each of the n blocks into n times responses and returns the response to the data processing device. system.
暗号化装置が、ブロックの分割数nおよび各ブロックのデータ長を、ランダムに決定することを特徴とする暗号処理システム。The cryptographic processing system according to claim 6,
An encryption processing system, wherein an encryption device randomly determines a block division number n and a data length of each block.
暗号化装置が、ランダムに決定した分割数nおよび各ブロックのデータ長を示す情報を、いずれかのレスポンスに含ませてデータ処理装置に返信する機能を有し、
データ処理装置が、前記情報に基いて第2のデータの入手を行う機能を有することを特徴とする暗号処理システム。The cryptographic processing system according to claim 7,
The encryption device has a function of returning information to the data processing device by including information indicating the randomly determined number of divisions n and the data length of each block in one of the responses,
An encryption processing system, wherein the data processing device has a function of obtaining the second data based on the information.
暗号化装置が、n個の各ブロックの順序をランダムに入れ替える処理を行い、このn個の各ブロックを、入れ替えた後の順序で、個々のレスポンスに含ませてデータ処理装置に返信する処理を行う機能を有し、かつ、入れ替えた後のブロック順を示す情報を、いずれかのレスポンスに含ませてデータ処理装置に返信する機能を有し、
データ処理装置が、前記情報に基いて第2のデータの組み立てを行う機能を有することを特徴とする暗号処理システム。The cryptographic processing system according to any one of claims 6 to 8,
The encryption device performs a process of randomly changing the order of each of the n blocks, and includes a process of returning the data to the data processing device by including each of the n blocks in an individual response in the changed order. Has a function of performing, and having a function of returning information to the data processing device by including information indicating the block order after the replacement in one of the responses,
A cryptographic processing system, wherein the data processing device has a function of assembling second data based on the information.
暗号化装置が、分割数nを示す情報、各ブロックのデータ長を示す情報、入れ替えた後のブロック順を示す情報の少なくとも1つを、「暗号化コマンド」に応じたレスポンスに含ませて返信することを特徴とする暗号処理システム。The cryptographic processing system according to claim 8, wherein
The encryption device returns at least one of the information indicating the number of divisions n, the information indicating the data length of each block, and the information indicating the order of the blocks after the replacement in a response corresponding to the “encryption command”. And a cryptographic processing system.
暗号化装置が、第1の受動処理として返信する「暗号化コマンドに応じたレスポンス」または第2の受動処理として返信する「返信要求コマンドに応じたレスポンス」に、作成した第2のデータとは無関係なダミーデータを含ませることを特徴とする暗号処理システム。The cryptographic processing system according to claim 1,
The second data created by the encryption device in the “response corresponding to the encrypted command” returned as the first passive process or the “response corresponding to the return request command” returned as the second passive process is as follows. A cryptographic processing system characterized by including irrelevant dummy data.
データ処理装置が、第2の能動処理として送信する「返信要求コマンド」に、意味のないダミーデータを含ませることを特徴とする暗号処理システム。The cryptographic processing system according to any one of claims 1 to 11,
An encryption processing system characterized in that meaningless dummy data is included in a "reply request command" transmitted as a second active process by a data processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197068A JP4183986B2 (en) | 2002-07-05 | 2002-07-05 | Cryptographic processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197068A JP4183986B2 (en) | 2002-07-05 | 2002-07-05 | Cryptographic processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004040622A true JP2004040622A (en) | 2004-02-05 |
JP4183986B2 JP4183986B2 (en) | 2008-11-19 |
Family
ID=31704931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002197068A Expired - Fee Related JP4183986B2 (en) | 2002-07-05 | 2002-07-05 | Cryptographic processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4183986B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011088330A (en) * | 2009-10-21 | 2011-05-06 | Dainippon Printing Co Ltd | Label printing system |
JP2012243047A (en) * | 2011-05-19 | 2012-12-10 | Mega Chips Corp | Computer system and semiconductor memory |
JP2014018319A (en) * | 2012-07-13 | 2014-02-03 | Olympia:Kk | Game machine |
-
2002
- 2002-07-05 JP JP2002197068A patent/JP4183986B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011088330A (en) * | 2009-10-21 | 2011-05-06 | Dainippon Printing Co Ltd | Label printing system |
JP2012243047A (en) * | 2011-05-19 | 2012-12-10 | Mega Chips Corp | Computer system and semiconductor memory |
JP2014018319A (en) * | 2012-07-13 | 2014-02-03 | Olympia:Kk | Game machine |
Also Published As
Publication number | Publication date |
---|---|
JP4183986B2 (en) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI288552B (en) | Method for implementing new password and computer readable medium for performing the method | |
JP5006817B2 (en) | Authentication information generation system, authentication information generation method, client device, and program | |
JP2009540703A (en) | Method and apparatus for providing low complexity device authentication and confidentiality | |
JP2008269610A (en) | Protecting sensitive data intended for remote application | |
JP2009272737A (en) | Secret authentication system | |
JP4794970B2 (en) | Secret information protection method and communication apparatus | |
Alamer et al. | Prototype device with lightweight protocol for secure RFID communication without reliable connectivity | |
JP4058039B2 (en) | Online PIN verification using polynomials | |
JP4657706B2 (en) | Authority management system, authentication server, authority management method, and authority management program | |
CN100561913C (en) | A kind of method of access code equipment | |
WO2011058629A1 (en) | Information management system | |
KR100720738B1 (en) | A method for providing secrecy, authentication and integrity of information to RFID tag | |
JP4220671B2 (en) | Encrypted data communication method, encrypted data generation system and recording medium therefor | |
JP2000078128A (en) | Communication system, ic card and recording medium | |
JP2004040622A (en) | Encryption processing system | |
RU2470470C2 (en) | Protecting execution of cryptographic computation | |
JP2005065035A (en) | Substitute person authentication system using ic card | |
JP4140617B2 (en) | Authentication system using authentication recording medium and method of creating authentication recording medium | |
Abdulsalam et al. | Enhanced tiny encryption algorithm for secure electronic health authentication system | |
Chiu et al. | A practical attack on patched MIFARE Classic | |
JP4475576B2 (en) | Network printing system, print data exchange method, and server computer program | |
JP2006018583A (en) | Image forming method, program for requesting secret printing, program for secret printing, recording medium, and smart card | |
TWM551721U (en) | Login system implemented along with a mobile device without password | |
WO2024014017A1 (en) | Message presentation system, presentation device, and message presentation method | |
JP4183982B2 (en) | Digital signature system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080613 |
|
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: 20080902 |
|
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: 20080903 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4183986 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: 20110912 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |