JP3898796B2 - Encryption device - Google Patents

Encryption device Download PDF

Info

Publication number
JP3898796B2
JP3898796B2 JP12997297A JP12997297A JP3898796B2 JP 3898796 B2 JP3898796 B2 JP 3898796B2 JP 12997297 A JP12997297 A JP 12997297A JP 12997297 A JP12997297 A JP 12997297A JP 3898796 B2 JP3898796 B2 JP 3898796B2
Authority
JP
Japan
Prior art keywords
encryption
data
random number
key
data transfer
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 - Lifetime
Application number
JP12997297A
Other languages
Japanese (ja)
Other versions
JPH1051439A (en
Inventor
なつめ 松崎
俊治 原田
誠 館林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP12997297A priority Critical patent/JP3898796B2/en
Publication of JPH1051439A publication Critical patent/JPH1051439A/en
Application granted granted Critical
Publication of JP3898796B2 publication Critical patent/JP3898796B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、秘密鍵を共有して暗号通信を行なう通信機器に備えられる暗号化装置に関し、特に、小さい回路規模で実現することができる暗号化装置に関する。
【0002】
【従来の技術】
通信路を介して通信されているデータが通信路上で不正にコピーされたり改変されることを防ぐことが必要となる場合が数多くある。
例えば、映画などの著作物がディジタル化されさらに情報圧縮され、さらに光ディスク上にディジタル記録されており、これが光ディスク再生装置により電気情報として取り出され、取り出されたデジタル情報が情報伸長装置により伸長され、映像音響再生装置により再生されるような場合である。
【0003】
ここで光ディスク再生装置と情報伸長装置は別々の機器として分離しており、その間がディジタル通信路によりデータ通信される場合、この通信データが著作者の許可なくディジタル情報記録装置により記録され、さらにディジタル情報複製装置により複製されるものであれば、その映画の著作物が不正に複製されることになり、著作権の侵害が起こる。従って通信路を介して通信されているデータが通信路上で不正にコピーされることを防がなければならない。機器内の回路や部品の仕様が一般には公開されないのに対し、データ通信のための電気的特性や信号形式は一般に公開される場合が多いので通信路におけるデータの不正コピーやそれに引き続くデータの改変が大きな問題になる。
【0004】
このような不正行為を排除して安全な通信を確保するための技術については従来より様々なものが知られている。
最も代表的なものは相手認証技術を用いるものである。これは基本的にはデータを送出する側が受信する側の正当性を認証し、正当な受信者であることが確認できたときのみにデータを送信することで、デジタル著作物が不正な機器に受信されることを防止するものである。
【0005】
なお、この場合の受信者のように自らの正当性を証明する側を証明者と呼び、またこの場合の送信者のように相手の正当性を確認する側を認証者と呼ぶ。また、前述の光ディスク記録再生に関わる機器のような場合では、特定の機器の間で認証が成功するか否かということよりも、それら機器が光ディスク関連機器の業界によって定められた規格に準拠したものであるか否かが問題となる。従ってこのような場合では、「正当性」とは「所定の規格に準拠すること」を意味する。
(第1の従来技術)
第1の具体的な従来技術として、国際標準規格ISO/IEC9798-2に記載される暗号技術を用いた一方向認証方法がある。
【0006】
この認証方法は証明者が認証鍵と呼ばれる秘密のデータを持つことを、その鍵自身を知らせることなく認証者に対して証明することを基本としている。そのためにまず認証者があるデータを選びこれを証明者に対して投げかける。この行為をチャレンジ、投げかけたデータをチャレンジデータと呼ぶ。
これに対して証明者は、予め所有していた暗号変換と認証鍵を用いて前記チャレンジデータを暗号化する。そして、暗号化したデータを認証者に返す。この行為をレスポンス、そのデータをレスポンスデータを呼ぶ。
【0007】
このレスポンスデータを受信した認証者は、証明者が所有している暗号変換の逆変換である復号変換と認証鍵を共有しており、証明者から返信されてきたレスポンスデータをその認証鍵と復号変換を用いて復号化する。この結果が前記チャレンジデータと一致すれば受信者は正規の認証鍵を持つものと判断し、証明者の正当性を認証する。一方向認証とは一方の側がその正当性を他方に証明することを意味する。
【0008】
ここで、暗号変換Tとは、鍵データSにより定まる平文集合から暗号文集合への写像である。平文をXとしたとき暗号文を T(S,X)と書く。同じ鍵データSにより定まる暗号文集合から平文集合への写像である逆変換TINVとの間には、
TINV(S,T(S,X)) = X
の関係がある。これは平文Xを暗号変換し、これを逆変換すると元に戻ることを意味している。暗号変換の逆変換を復号変換と呼ぶ。暗号変換であるためには鍵Sの知識がないときに暗号文T(S,X)から平文Xを求めるのが困難であることが必要である。なお、慣例により暗号変換をE(S, )、復号変換をD(S, )と記す。
【0009】
図11は、前記規格に記載されている認証方法の一例を示す図である。
図11では、第1の機器11から第2の機器12にデジタル著作物mjを転送する場合が示されている。ここでは、第1の機器11が第2の機器12の正当性を確認する。
以下この従来の一方向認証方法の動作を同図に示されたステップ番号に従って説明する。
【0010】
(1) 第1の機器11は、乱数R1を生成する。そしてこれをチャレンジデータとして通信路を介して第2の機器12に送信する。
(2) 第2の機器12はこの乱数を受けとると、第2の機器12に格納されている秘密の認証鍵Sを暗号鍵としてこの乱数を暗号化する。そしてその結果C1をレスポンスデータとして通信路を介して第1の機器11に送信する。
【0011】
(3) 第1の機器11はこのレスポンスデータを受け取ると、第1の機器11に格納されている認証鍵Sを復号鍵としてこのレスポンスデータC1を復号化する。
(4) 第1の機器11は、復号の結果RR1を第1の機器11内に一時保管されている乱数R1と比較する。これが一致すれば第1の機器11は第2の機器12機器が同じ認証鍵Sを保有するものと考え、通信相手が正当なものであると認証する。一方、一致しなければ通信相手が正当なものではないものと判断して処理を中断する。
【0012】
(5) 第1の機器11は第2の機器12を正当なものと認証した後、デジタル著作物を通信路を介して第2の機器12に送信する。
もしも、第2の機器12の代わりに認証鍵Sを有さない第3の機器が通信路に接続されている場合には、その第3の機器は上記ステップ(2)で正しい値のデータC1を作成することができず、結果としてステップ(3)で復号の結果RR1が前記R1と一致しないため、ステップ(4)において第1の機器11はデジタル著作物をその第3の機器に伝送しない。
【0013】
なお、第1の機器11と第2の機器12の間でいつも同じチャレンジデータとレスポンスデータが用いられるならば、そのことを知った不正な第3の機器が第2の機器12になりすますことが考えられる。これを避けるために第1の機器11からは毎回異なるチャレンジデータ(乱数)を送っている。
(第2の従来技術)
ところで、上記第1の従来技術では、例えば認証の後、ハードディスク装置に記憶されている偽りのデータを正規の認証鍵を有する第2の機器12に対して不正に送出することも可能である。この問題を解決するため、第1の機器11が第2の機器12の正当性を確認すると同時に、第2の機器12も第1の機器11の正当性を確認することが必要となる。
【0014】
また、双方の機器が認証した後にデジタル著作物を通信路を介して第2の機器12に伝送している最中に、この通信路上のデータを抜きとり、これを例えばハードディスク装置に記憶することが考えられる。もちろんこのためには通信路上の信号の電気的特性やデータ形式などの知識が必要であるが、それらの知識は一般に特に秘密にされている情報ではないので、そのディジタル著作物の抜きとりは技術的に十分に可能である。そのため、認証だけでは不十分であり、認証が成功した後に、各機器間でランダムに生成した新たな鍵を共有し、その鍵を用いてデジタル著作物を暗号化して転送する暗号通信をすることが必要になる。なお、デジタル著作物等の転送すべきデータを暗号化するための秘密鍵を、以下、「データ転送鍵」と呼ぶ。
【0015】
以下、上記第1の従来技術である一方向認証を拡張し、双方向認証とデータ転送鍵の共有化と暗号通信とを行なう第2の従来技術を説明する。
図12は、この双方向認証を実現する装置の一例を示す。
図12には、第1の機器21から第2の機器22にデジタル著作物mjを暗号化した後に転送する場合が示されている。
【0016】
以下この従来の双方向認証とデータ転送鍵の共有化の動作を同図に示されたステップ番号に従って説明する。
(1) 第1の機器21は乱数R1を生成する。これは第1のチャレンジデータとしての意味を持つ。そしてこれを通信路を介して第2の機器22に送信する。
ここで乱数R2は第2の機器22から第1の機器21への第2のチャレンジデータとしての意味を持つ。つまり、暗号文C1は第1のチャレンジデータに対するレスポンスデータと第2のチャレンジデータの両方の意味を持つ。
【0017】
(2) 第2の機器22は乱数R2を生成し、それと第1の機器21から受けとった乱数R1とを結合することで結合データR1||R2を作成する。ここで記号" || "は双方のデータを桁方向に並べて結合することを示す。そして第2の機器22の認証鍵Sを暗号鍵として、この結合データR1||R2を暗号化し、その暗号文C1を第1の機器21に送信する。
【0018】
(3) 第1の機器21は、第2の機器22から受信した暗号文C1を認証鍵Sを復号鍵として復号化し、その結果の上位を分離データRR1、下位を分離データRR2とする。
(4) 第1の機器21では、この分離データRR1を第1の機器21に一時記憶されている乱数R1と比較する。これが一致すれば通信相手が認証鍵Sを持っている正当な機器であると認証する。もしも一致しなければここで認証処理を中断する。
【0019】
(5) 第1の機器21は、乱数Kを発生しこれをデータ転送鍵Kとして設定する。そして前記獲得した分離データRR2とこのデータ転送鍵Kを結合した結合データRR2||Kを第1の機器21の認証鍵Sで暗号化して、その暗号文C2を第2の機器22に送信する。
(6) 第2の機器22は、第1の機器21から受信した暗号文C2を認証鍵Sを用いて復号化し、その上位を分離データRRR2、下位を分離データKKとする。
【0020】
(7) 第2の機器22は、この分離データRRR2を第2の機器22に一時記憶されている乱数R2と比較する。これが一致すれば通信相手が認証鍵Sを持っている正当な機器であると認証する。もしも一致しなければ、ここで認証処理を中断する。一方、復号化した分離データKKをデータ転送鍵KKとして設定する。
【0021】
(8) 第1の機器21は、前記データ転送鍵Kを用いてデジタル著作物を暗号化し、通信路を介して第2の機器22に送信する。
(9)第2の機器22ではこれを前記データ転送鍵KKを用いて復号化し、もとのデジタル著作物を獲得する。
ここで、もしも第1の機器21が正規の認証鍵Sを有し、第2の機器22が正規の認証鍵を有していない場合には、ステップ(4)で第1の機器21は通信相手が正規の認証鍵を有していないものと判断し、認証処理を中断できる。また第1の機器21が正規の認証鍵を有しておらず、第2の機器22は正規の認証鍵を有している場合には、ステップ(7)において第2の機器22は通信相手が正規の認証鍵を有していないものと判断し、認証処理を中断できる。このようにしてデジタル著作物が不正な機器に流出することを防止すると同時に不正な機器から正当な機器に流入することも防止することができる。
【0022】
さらに、第1の機器21も第2の機器22も正当な認証鍵を有している場合において前記認証処理が完了しステップ(8)においてデジタル著作物が通信路上を伝送されている際に、もし、そのデジタル著作物が電気的にコピーされ、ディジタル蓄積装置に蓄積された場合であっても、そのディジタル著作物は暗号化されているので、無意味なデジタルデータとなっており、元のデジタル著作物は有効に保護される。
【0023】
以上のように、暗号技術を用いた双方向認証が首尾よく行われるには、第1の機器21及び第2の機器22の内部に格納されている認証鍵が不正を行おうとするものに容易に分からないことが必須の条件となる。また、チャレンジデータのための乱数の生成部やデータ転送鍵Kの生成部が外部からアクセス不可なこと、変更できないことが必要である。
【0024】
それら構成要素の秘匿性を確保する最も効果的な方法は、上記の認証やデータ転送鍵の共有化及び暗号通信を行う部分をICとして実現する方法である。ICを解析するには一般に多大な労力がかかるので、認証鍵などが容易には解読されないからである。
【0025】
【発明が解決しようとする課題】
ところが、上記の第2従来技術における第1の機器21をICで実現するためには、そのようなIC(以下、「暗号化IC」という。)は次の部分を備えることが必要である。
・乱数R1を生成する乱数生成部
・暗号文C1を復号化するための復号部
・認証鍵Sを格納する部分
・乱数R1と分離データRR1を比較するための比較部
・データ転送鍵Kを生成するための乱数生成部
・分離データRR2とデータ転送鍵Kを結合して暗号化するための暗号部
・データ転送鍵Kを格納する部分
・データ転送鍵Kを用いてデジタル著作物を暗号化する暗号部
第2の機器22についてもこれと同程度の規模のハードウェアが必要である。
【0026】
このように、上記従来の認証方式をICで実現したのでは、2つの乱数生成部、2つの変換部(復号部と暗号部)非常に多くの機能を持たなければならないために、回路規模が大きくなり結局機器のコストアップにつながるという問題点を有する。
また、上記第2従来技術ではデータを暗号化するためのデータ転送鍵Kは第1の機器21が生成しているが、相互認証が必要とされるのと同じ理由により、この鍵は双方の機器が生成した値を反映するほうが望ましい。
【0027】
以上説明したように、機器間の回線を保護するためには、認証等の機能やそのための秘密の情報をICに封じ込めて実現する方法が効果的である。しかし、従来の方法において、相互認証の部分、データ転送鍵の共有化の部分及びデータ暗号化の部分をすべて1つのICで実現するのでは、そのICの規模は非常に大きくなってしまい、コストアップにつながる。
【0028】
そこで、本発明は、規模の小さな暗号化ICを備え、機器間通信の安全性を確保するための必要最小限の機能を有する暗号化装置を提供することを第1の目的とする。
ここで暗号化ICは次の機能を有する。
(1) 認証鍵を安全に格納する。その鍵は外部からのアクセスにより書き換え及び読み出しがなされない。
【0029】
(2) データ転送鍵を安全に共有する。その鍵は外部からのアクセスにより書き換え及び読み出しがなされない。
(3) 但し、通信システムの安全性に関連しない部分を暗号化ICに備えないことにより、暗号化ICの規模を最小とする。
また、本発明の第2の目的は、規模の小さな暗号化ICを用いて実現するのに好適であり、かつ、安全性の高い暗号通信システムを提供することである。
【0030】
【課題を解決するための手段】
上記第1の目的を達成するために本発明は、データ転送鍵の共有化とそのデータ転送鍵を用いた暗号通信を行ない、チャレンジレスポンス型の認証プロトコルに基づく通信により相互に前記相手機器が正当な機器であることを認証し合う機器に備えられる暗号化装置であって、前記データ転送鍵の共有化のための第1乱数を生成する第1乱数生成手段と、前記第1乱数生成手段により生成された第1乱数を保持する第1乱数保持手段と、前記第1乱数生成手段により生成された第1乱数を暗号化する第1暗号化手段と、前記第1暗号化手段で暗号化された第1乱数を前記暗号通信の相手機器に送信する第1送信手段と、前記相手機器に送信するチャレンジデータ用の第2乱数を生成する第2乱数生成手段と、前記チャレンジデータに対して前記相手機器から返信されてきたレスポンスデータと前記第2乱数とが一致するか否かを判断し、一致した場合に前記相手機器は正当な機器であると認証する認証手段と、前記認証手段による認証がなされた場合に、前記第1乱数保持手段に保持された第1乱数を用いて時変の前記データ転送鍵を生成するデータ転送鍵生成手段と、暗号通信の対象となる転送データに対して前記データ転送鍵を用いて暗号化する転送データ暗号化手段とを備え、前記第1乱数生成手段、前記第1乱数保持手段、前記第1暗号化手段、前記データ転送鍵生成手段及び前記転送データ暗号化手段は、1個のIC内の回路で実現され、前記第2乱数生成手段及び前記認証手段は、前記IC外の回路で実現され、前記第1乱数保持手段は、前記ICの外部からアクセスできない領域に前記第1乱数を保持することを特徴とする。
【0031】
これにより、データ転送鍵の生成に直接関連する第1乱数は外部からアクセスできない暗号化ICの内部に保持されるので、時変のデータ転送鍵は各機器に安全に共有され、暗号通信が行われる。また、暗号化ICは、機器間通信の安全性を確保するための必要最小限の機能を持つので、小さな回路で実現することができる。
また、第3者はデータ転送鍵の生成に直接関連する第1乱数を知ることができなくなるので、データ転送鍵の秘密性が維持され、たとえ暗号アルゴリズム及びその逆変換アルゴリズムが知られたとしても暗号通信は維持される。機器間の相互認証が成功したときに同時に正規のデータ転送鍵が生成されることになり、秘密通信の安全性が向上される。さらに、通信システムの安全性に関連しない部分、即ち、データ転送鍵の生成に直接関連しない処理部は暗号化ICの外に設けられるので、暗号化ICの規模が不要に大きくなることが抑制される。
【0032】
また、上記第2の目的を達成するために本発明は、データ転送鍵の共有化とそのデータ転送鍵を用いた暗号通信を行なう送信機及び受信機から構成される通信システムであって、それら送信機及び受信機は、チャレンジレスポンス型の認証プロトコルに基づく通信により相互に相手機器が正当な機器であることを認証し合うものであり、それぞれ、チャレンジデータ用の第1乱数を生成する第1乱数生成手段と、前記データ転送鍵用の第2乱数を生成する第2乱数生成手段と、前記第1乱数と前記第2乱数を結合する結合手段と、前記結合データを暗号化する暗号化手段と、暗号化された前記結合データを前記相手機器に送信する第1送信手段と、前記相手機器の第1送信手段から送信された暗号化された結合データを受信する第1受信手段と、受信した前記結合データを復号化する復号化手段と、復号化された前記結合データをレスポンスデータに相当する第1分離データと前記データ転送鍵用の第2分離データに分離する分離手段と、前記第1分離データをレスポンスデータとして前記相手機器に返信する第2送信手段と、前記相手機器の第2送信手段から返信された第1分離データを受信する第2受信手段と、受信した前記第1分離データと前記第1乱数とを比較し、一致している場合に前記相手機器を正当な機器と認証する比較手段と、前記第2乱数と前記第2分離データとを結合することで、前記データ転送鍵を生成するデータ転送鍵生成手段と、前記認証がなされた場合に、生成された前記データ転送鍵を用いて前記相手機器と暗号通信を行なう暗号通信手段とを備えることを特徴とする。
【0033】
これにより、送信機及び受信機間で相互認証が行われると共にデータ転送鍵が生成されること、データ転送鍵の生成に直接関連する乱数はそのままでは送受信されないこと、及び、データ転送鍵の生成に直接関連する2つの乱数はそれぞれ送信機及び受信機から提供されたものであることから、規模の小さな暗号化ICを用いて実現するのに好適であり、かつ、安全性の高い暗号通信システムが実現される。
【0034】
【発明の実施の形態】
(実施の形態1)
図1は、本発明に係る暗号化装置を備えた第1の機器と第2の機器間で相互認証とデータ転送鍵の共有化とデータの暗号通信とを行う実施の形態1における処理シーケンスを示す図である。
【0035】
図1では、第1の機器51から第2の機器52にデジタル著作物mjを転送する場合が示されている。なお、図1には、各機器51、52が備える暗号化装置だけが示されており、暗号化装置と直接に関連しない他の構成要素(送受信部やデジタル著作物の処理系等)は省略されている。
第1の機器51に備えられた本発明に係る暗号化装置は、大きく分けてMPU53と第1の暗号化IC54とから構成される。
【0036】
MPU53は、この暗号化装置に固有の制御プログラムを保持するROMとその制御プログラムを実行する汎用マイクロプロセッサとRAM等からなり、データ転送鍵の共有化に直接的には関与しない処理(図中のステップ(1)、(7))を行なう。
第1の暗号化IC54は、1チップの半導体ICであり、データ転送鍵の共有化に直接的に関与する処理(図中のステップ(3),(5),(9),(11))を行なう。
【0037】
同様に、第2の機器52に備えられた本発明に係る暗号化装置も、大きく分けてMPU55と第2の暗号化IC56とから構成される。
MPU55は、この暗号化装置に固有の制御プログラムを保持するROMとその制御プログラムを実行する汎用マイクロプロセッサとRAM等からなり、データ転送鍵の共有化に直接的には関与しない処理(図中のステップ(2)、(8))を行なう。
【0038】
第2の暗号化IC56は、1チップの半導体ICであり、データ転送鍵の共有化に直接的に関与する処理(図中のステップ(4),(6),(10),(12))を行なう。
なお、この実施の形態においては、データ暗号化規格(DES:Data Encryption Standard)に準拠した64ビットブロック暗号アルゴリズムEとその逆変換アルゴリズムDを用いている。以降では暗号アルゴリズムEを用いる変換を「暗号化」、逆変換アルゴリズムDを用いる変換を「復号化」と称する。
【0039】
また、第1の暗号化IC54は暗号アルゴリズムEだけを、第2の暗号化IC56は逆変換アルゴリズムDだけを備える。これは、各暗号化IC54、56の規模を削減することと、安全性のためである。
以下、図1に示されたステップ番号に従って、実施の形態1における暗号化装置の動作を説明する。
【0040】
(1) 第1の機器51のMPU53において乱数R1(32ビット)を生成して、記憶するとともに第1の暗号化IC54に渡す。
(2) ステップ(1)と同様に、第2の機器52のMPU55において乱数R2(32ビット)を生成して、記憶するとともに第2の暗号化IC56に送信する。
【0041】
(3) 第1の暗号化IC54において、乱数R3(32ビット)を生成、外部よりアクセスできない領域に格納する。そして、前記MPUで生成した乱数R1と前記乱数R3を結合してE関数で暗号化する。
ここで、記号" || "は2つの乱数を桁方向に結合して64ビット(乱数R1を上位32ビット、乱数R3を下位32ビット)とすることを示している。また、暗号化には第1の暗号化IC54及び第2の暗号化IC56で予め共通に保持している秘密の認証鍵Sを用いる。第1の暗号化IC54は、第1の機器51の送信部(図では示していない)を介して上記暗号結果C1を第2の機器52に送信する。
【0042】
(4) ステップ(3)と同様に、第2の暗号化IC56において、乱数R4(32ビット)を生成して、外部よりアクセスできない領域に格納する。前記MPUで生成した乱数R2と前記乱数R4を結合して逆変換アルゴリズムDで復号化する。復号には前記認証鍵Sを用いる。第2の暗号化IC56は、第2の機器52の送信部(図では示していない)を介して復号結果C2(64ビット)を第1の機器51に送信する。
【0043】
(5) 第1の暗号化IC54において、前記第2の機器52から受信した復号文C2を前記E関数を用いて前記認証鍵Sで暗号化する。そして、得られた64ビットをその上位32ビットである分離データRR2と下位32ビットである分離データRR4に分離する。さらに、分離データRR2は第1の機器51の送信部を介して第2の機器52に送信し、一方、分離データRR4は外に出さずに第1の暗号化IC54内の外部からアクセスできない領域に格納する。
【0044】
なお、第1の暗号化IC54及び第2の暗号化IC56が互いに正規なものであり同じ認証鍵Sを保持している場合には、前記分離データRR2は前記第2の機器52のMPU55が生成した乱数R2と一致し、前記分離データRR4は前記第2の暗号化IC56が内部に格納している乱数R4と一致する。
(6) ステップ(5)と同様に、第2の暗号化IC56において、前記第1の暗号化IC54から受信した暗号文C1を前記逆変換アルゴリズムDを用いて前記認証鍵Sで復号化する。そして、得られた64ビットをその上位32ビットである分離データRR1と下位32ビットである分離データRR3に分離する。さらに、分離データRR1は第2の機器52の送信部を介して第1の機器51に送信し、一方、分離データRR3は外に出さずに第2の暗号化IC56内の外部からアクセスできない領域に格納する。
【0045】
なお、第1の暗号化IC54及び第2の暗号化IC56が互いに正規なものであり同じ認証鍵Sを保持している場合には、前記分離データRR1は前記乱数R1と一致し、前記分離データRR3は前記乱数R3と一致する。
(7) 第1の機器51のMPU53において前記ステップ(1)で記憶していた乱数R1と前記第2の機器52から受信した分離データRR1とを比較し、一致している場合には、第2の暗号化IC56及びそれを備えた第2の機器52を正当な機器と認証する。
【0046】
(8) ステップ(7)と同様に、第2の機器52のMPU55において前記ステップ(2)で記憶していた乱数R2と前記第2の機器52から受信した分離データRR2とを比較し、一致している場合には、第1の暗号化IC54及びそれを備えた第1の機器51を正当な機器と認証する。
(9) 第1の暗号化IC54において、前記ステップ(3)で記憶しておいた乱数R3と前記分離データRR4を結合することでデータ転送鍵Kを作成する。ここでは、乱数R3を上位の32ビット、分離データRR4を下位の32ビットとするデータ転送鍵K(64ビット)を生成する。なお、このデータ転送鍵Kは、2つの乱数の結合であるので、時変、即ち、新たにランダムに生成された鍵と言える。
【0047】
(10) ステップ(9)と同様に、第2の暗号化IC56において、前記分離データRR3と前記ステップ(4)で記憶しておいた乱数R4を結合することでデータ転送鍵Kを生成する。ここでは、上記分離データRR3を上位の32ビット、上記ステップ(4)で記憶しておいた乱数R4を下位の32ビットとするデータ転送鍵K(64ビット)を生成する。このデータ転送鍵も時変の鍵である。
【0048】
なお、ステップ(7)及びステップ(8)での相互の認証が成功した場合には、ステップ(3)で生成された乱数R3とステップ(6)で得られた分離データRR3とは一致し、ステップ(4)で生成された乱数R4とステップ(5)で得られた分離データRRR4とは一致することになるので、結果的に、ステップ(9)及びステップ(10)それぞれで生成されるデータ転送鍵Kは一致することになる。
【0049】
(11) 第1の機器51の第1の暗号化IC54において、MPU53から送られてくるブロック化されたデジタル著作物mj(64ビット)を上記ステップ(9)で得られたデータ転送鍵Kを用いて暗号化し、得られた暗号文Cjを第2の機器52に送信する処理を、転送すべき全てのデジタル著作物を送信し終えるまで繰り返す。
【0050】
(12) ステップ(11)に対応して、第2の機器52の第2の暗号化IC56において、第1の機器51が送信した暗号化された上記デジタル著作物Cj(64ビット)を受信し、上記ステップ(10)で得られたデータ転送鍵Kを用いて復号化し、得られたデジタル著作物mmjをMPU55に送る。この復号化は上記デジタル著作物Cjが第1の機器51から送信されてくる限り繰り返す。
【0051】
このようにして、実施の形態1の暗号化装置により、第1の機器51と第2の機器52間で相互認証とデータ転送鍵Kの共有化とデータの暗号通信とが行われる。
以上の説明から明らかなように、上記実施の形態1の暗号化装置は、以下の特徴を有する。
【0052】
第1の特徴は、データ転送鍵Kは暗号化ICの内部に安全に保護されていることである。具体的には、第1の機器51が備える暗号化装置であれば、データ転送鍵Kを生成するために直接的に用いられた2つのデータ、即ち、乱数R3と分離データRR4は以下の条件を満たす。
・乱数R3は、第1の暗号化IC54の内部で生成され、外部に出力されておらず、かつ、外部から読めない領域に保持されている。
【0053】
・分離データRR4は、第1の暗号化IC54の内部で生成(分離生成)され、外部に出力されておらず、かつ、外部から読めない領域に保持されている。これらのことにより、データ転送鍵Kは暗号化IC内に保護されるので、暗号アルゴリズムE及び逆変換アルゴリズムDとして公開されているものを採用したとしても、第1の機器51及び第2の機器52間における暗号通信の安全性は保証される。
【0054】
第2の特徴は、暗号化IC内に納められる回路は、必要最低限のものに留められていることである。具体的には、第1の機器51が備える暗号化装置であれば、以下の処理は、第1の暗号化IC54の外の回路、即ち、MPU53によって実現されている。
・乱数R1の生成
・乱数R1と分離データRR1との比較
つまり、第1の暗号化IC54の回路規模が不必要に大きくならないように配慮されている。これら2つの処理は、相手機器の認証に関するものであり、データ転送鍵Kの生成に直接的には関与していない。従って、たとえ、これら処理がIC外で実現されていることを利用して不正をしようとしても、第1の機器51に利益をもたらすような不正をはたらくことは不可能である。なお、第2の機器52からのチャレンジデータC2に対するレスポンスデータRR2の作成は暗号化IC内で行っている。
【0055】
図2は、第1の暗号化IC54のハードウェア構成を示すブロック図である。
第2の暗号化IC56も同程度のハードウェア規模で実現できる。
外部I/F部61は、この第1の暗号化IC54の内部回路に外部からアクセスするための唯一の入出力ポートである。
乱数生成部60は、32ビットの乱数R3を生成する。
【0056】
乱数格納部62は、乱数生成部60で生成された乱数R3を保持する記憶回路である。
結合部63は、乱数格納部62に格納された乱数R3を下位32ビットとし、外部I/F部61を介して入力された32ビットのデータR1を上位32ビットとして結合する。
【0057】
認証鍵S格納部64は、予め与えられた認証鍵Sを保持する記憶回路である。
スイッチ65、66は、それぞれ64ビット幅の3入力1出力マルチプレクサ、64ビット幅の2入力1出力マルチプレクサである。
E関数67は、暗号アルゴリズムEに基づく暗号化回路である。
スイッチ68は、64ビット幅の1入力3出力デマルチプレクサである。
【0058】
分離部69は、スイッチ68から出力された64ビットデータを上位32ビットRR2と下位32ビットRR4に分離する。
データ転送鍵K生成部59は、乱数格納部62に格納された乱数R3を上位32ビットとし、分離部69で分離された分離データRR4を下位32ビットとして結合することで、データ転送鍵Kを生成する。
【0059】
データ転送鍵K格納部70は、データ転送鍵K生成部59で生成されたデータ転送鍵Kを保持する記憶回路である。
次に、この図2に示された各構成要素が図1に示された各ステップにおいていかに動作するのかを示す。
図1のステップ(3)においては、乱数生成部60は乱数R3を生成して乱数格納部62に格納し、結合部63はその乱数R3と外部I/F部61を介して入力される乱数R1とを結合し、スイッチ65を介してE関数67に送る。E関数67は、認証鍵S格納部64からスイッチ66を介して認証鍵Sを受け取り、それを用いて結合部63から出力された結合データR1||R3を暗号化し、その結果C1をスイッチ68及び外部I/F部61を介して第2の機器52に出力する。
【0060】
図1のステップ(5)及び(9)においては、外部I/F部61を介して入力される復号文C2はスイッチ65を経てE関数に入力される。E関数67は、認証鍵S格納部64から認証鍵Sを受け取り、それを用いて復号文C2を暗号化し、スイッチ68を介して分離部69に送る。分離部69は、それを分離データRR2と分離データRR4に分離し、分離データRR2は外部I/F部61を介して外部に出力し、分離データRR4はデータ転送鍵K生成部59に送る。データ転送鍵K生成部59は、乱数格納部62に格納されていた乱数R3と分離部69から送られてきた分離データRR4とを結合することでデータ転送鍵Kを生成した後に、データ転送鍵K格納部70に格納する。
【0061】
図1のステップ(11)においては、E関数67は、外部I/F部61及びスイッチ65を介して入力されるデジタル著作物mjをデータ転送鍵K格納部70に格納されたデータ転送鍵Kを用いて暗号化し、その結果Cjをスイッチ68及び外部I/F部61を介して第2の機器52に出力する。
なお、実施の形態1では、乱数や暗号文等の具体的なビット長やデータ構成を示したが、本発明はそれらに限定されるものではない。例えば、上記ステップ(5)において32ビットの乱数R1とR2を結合して64ビットとし、これを64ビット暗号関数Eに入力して64ビットの暗号文C1を求めている。この部分は、例えば、各乱数を64ビットとし、暗号関数Eによる暗号化を2回繰り返すことで128ビットの暗号文C1を生成する方式としてもよい。ただしこの場合には暗号文C1から乱数R1に関する部分とR2に関する部分が容易に切り離せないことが必要である。その方法の1つとしてはCBCモードのように連鎖を伴う暗号の方法がある。CBCモードについては、池野信一、小山謙二共著「現代暗号理論」電子通信学会1986年のp70に詳しい。
【0062】
また、実施の形態1では第1の暗号化IC54は暗号関数Eだけを、第2の暗号化IC56はその逆関数Dだけを備えることにより、ハードウェア規模を削減しているが、そのこと自体は、上述したように本発明の本質ではない。つまり、それら暗号化IC54、56に許容される回路規模や暗号化アルゴリズムの種類等との関連において決定すればよい事項であり、例えば、それぞれが暗号アルゴリズムEと逆変換アルゴリズムDの両方を所有し、乱数の暗号化に暗号アルゴリズムEを、相手機器から送付された情報の復号に逆変換アルゴリズムDを用いてもよい。本発明は、少なくともデータ転送鍵Kの生成に直接関わる構成要素をIC化することで秘密通信の安全性を確保している点に特徴があるからである。
【0063】
また、実施の形態1において、例えば、ステップ(1)での乱数R1の生成を第1の暗号化IC54内で行ってもよい。このことにより、第1の暗号化IC54を暗号解読器として用いる可能性をなくし、より安全な暗号化装置とすることができる。つまり、実施の形態1では、乱数R1は第1の暗号化IC54の外部で生成され、この乱数R1に基づいて第1の暗号化IC54は暗号文C1を出力する。この暗号文C1は、第1の暗号化IC54の内部で生成された乱数R3の影響を受けているが、もし乱数R3が十分にランダムな値でない場合には、第1の暗号化IC54を暗号解読器として悪用することが可能になってしまう。従って、乱数R1の生成を第1の暗号化IC54内で行うことで、以上述べた攻撃の可能性がなくなり、この暗号化装置はより安全なものになる。
(実施の形態2)
次に、図1に示された実施の形態1でのステップの変形例として、実施の形態2を示す。その目的や効果は実施の形態1と同じである。またハードウェア規模としても図2に示された実施の形態1と同程度である。実施の形態1ではチャレンジデータを暗号化しないでレスポンスデータを暗号化して通信したが、実施の形態2ではチャレンジデータを暗号化しレスポンスデータを暗号化しないで通信する。実施の形態1と相違する点を中心に説明する。
【0064】
図3は、本発明に係る暗号化装置を備えた第1の機器71と第2の機器72間で相互認証とデータ転送鍵の共有化とデータの暗号通信とを行う実施の形態2における処理シーケンスを示す図である。
図3では、第1の機器71から第2の機器72にデジタル著作物mjを転送する場合が示されている。
【0065】
MPU73、第1の暗号化IC74、MPU75及び第2の暗号化IC76は、実施の形態1におけるMPU53、第1の暗号化IC54、MPU55及び第2の暗号化IC56に対応し、処理手順の相違を除いて、ハードウェア構成等については実施の形態1の場合と同様である。
以下、図3に示されたステップ番号に従って、実施の形態2における暗号化装置の動作を説明する。
【0066】
(1) 第1の機器71のMPU73において乱数R1(32ビット)を生成して、記憶するとともに第1の機器71の送信部(図では示してない)を介して、第2の機器72に送信する。第2の機器72ではこれを第2の暗号化IC76に渡す。
(2) ステップ(1)と同様に、第2の機器72のMPU75において乱数R2(32ビット)を生成して、記憶するとともに第2の機器72の送信部(図では示してない)を介して、第1の機器71に送信する。第1の機器71ではこれを第1の暗号化IC74に渡す。
【0067】
(3) 第1の暗号化IC74において、乱数R3(32ビット)を生成して、外部よりアクセスできない領域に格納する。前記第2の機器72から受信した乱数R2と前記乱数R3とを結合してE関数で暗号化する。暗号化には第1の暗号化IC74及び第2の暗号化IC76で予め共通に保持している秘密の認証鍵Sを用いる。第1の暗号化IC74は、暗号化結果C1(64ビット)を第2の機器72に送信する。
【0068】
(4) ステップ(3)と同様に、第2の暗号化IC76において、乱数R4(32ビット)を生成して、外部よりアクセスできない領域に格納する。前記第1の機器71から受信した乱数R1と前記乱数R4を結合して逆変換アルゴリズムDで復号化する。復号には前記認証鍵Sを用いる。第2の暗号化IC76は、復号結果C2(64ビット)を第1の機器71に送信する。
【0069】
(5) 第1の暗号化IC74において、前記第2の暗号化IC76から受信した復号文C2を前記E関数を用いて前記認証鍵Sで暗号化する。その結果の64ビットデータのうち上位32ビットを分離データRR1,下位32ビットを分離データRR4とする。そして分離データRR1は第1の機器71のMPU73に渡し、一方分離データRR4は外に出さずに第1の暗号化IC74内の外部からアクセスできない領域に格納する。
【0070】
なお、第1、第2の暗号化IC76が互いに正規なものであり同じ認証鍵Sを保持している場合には、前記分離データRR1は前記第1の機器71のMPU73が生成した乱数R1と同じになり、前記分離データRR4は第2の暗号化IC76が生成した乱数R4と同じになる。
(6) ステップ(6)と同様に、第2の暗号化IC76において、前記第1の暗号化IC74から受信した暗号文C1を前記逆変換アルゴリズムDを用いて前記認証鍵Sで復号化する。その結果の64ビットデータの上位32ビットを分離データRR2、下位32ビットを分離データRR3とする。そして分離データRR2は第2の機器72のMPU75に渡し、一方分離データRR3は外に出さずに第2の暗号化IC76内の外部からアクセスできない領域に格納する。
【0071】
なお、第1、第2の暗号化IC76が互いに正規なものであり同じ認証鍵Sを保持している場合には、前記分離データRR2は前記第2の機器72のMPU75が生成した乱数R2と同じになり、前記分離データRR3は第1の暗号化IC74が生成した乱数R3と同じになる。
(7) 第1の機器71のMPU73において前記記憶していたR1と前記第1の暗号化IC74から受け取った分離データRR1を比較して一致している場合には、第2の暗号化IC76及び第2の暗号化IC76が含まれた第2の機器72を正当な機器と認証する。
【0072】
(8) ステップ(8)と同様に、第2の機器72のMPU75において前記記憶していたR2と前記第2の暗号化IC76から受け取った分離データRR2を比較して一致している場合には、第1の暗号化IC74及び第1の暗号化IC74が含まれた第1の機器71を正当な機器と認証する。
(9) 第1の暗号化IC74内で前記乱数R3と前記分離データRR4を用いてデータ転送鍵Kを作成する。図では双方の結合をデータ転送鍵K(64ビット)としている。
【0073】
(10) ステップ(10)と同様に、第2の暗号化IC76内で前記分離データRR3と前記乱数R4を用いて第1の暗号化IC74と同様にデータ転送鍵Kを作成する。図では双方の結合をデータ転送鍵K(64ビット)としている。
(11) 第1の機器71の第1の暗号化IC74において、MPU73から送られてくるブロック化されたデジタル著作物mj(64ビット)を上記ステップ(9)で得られたデータ転送鍵Kを用いて暗号化し、得られた暗号文Cjを第2の機器72に送信する処理を、転送すべき全てのデジタル著作物を送信し終えるまで繰り返す。
【0074】
(12) ステップ(11)に対応して、第2の機器72の第2の暗号化IC76において、第1の機器71が送信した暗号化された上記デジタル著作物Cj(64ビット)を受信し、上記ステップ(10)で得られたデータ転送鍵Kを用いて復号化し、得られたデジタル著作物mmjをMPU75に送る。この復号化は上記デジタル著作物Cjが第1の機器71から送信されてくる限り繰り返す。
【0075】
このようにして、実施の形態2の暗号化装置により、実施の形態1の場合と同様に、第1の機器71と第2の機器72間で相互認証とデータ転送鍵Kの共有化とデータの暗号通信とが行われる。
なお、上述したように、本実施の形態の暗号化装置と実施の形態1のものとはハードウェア構成において一致し、処理手順、即ち、各ハードウェア構成要素の接続と実行順序が異なるだけである。従って、本実施形態の暗号化装置の特徴やその変形例については、実施の形態1の場合と同様のことが言える。
(実施の形態3)
以上の実施の形態1及び2の暗号化装置には以下の共通点がある。
(1)双方の機器においてそれぞれ2つの乱数が生成され、その一方は認証用にのみ使用され、他の一方はデータ転送鍵Kの生成用にのみ使用される。
(2)データ転送鍵Kの生成に使用される乱数はそのままの形では暗号化ICの外部に出力されることはなく、一方、認証用に使用される乱数は暗号化ICの外部に出力されて公開される。
【0076】
これに対して、次に説明する実施の形態3の暗号化装置は、乱数を一つだけ生成し、それを認証用とデータ転送鍵の生成用の両方の目的に使用する。これは、実施の形態1及び2に比べて、暗号化IC内での乱数生成の負担を軽減するためである。
また、暗号化ICの内部において認証のための乱数生成と比較処理を行う。即ち、実施の形態1及び2と相違し、データ転送鍵の生成のみならず認証処理も含めて暗号化ICの内部回路で行う。これは、上述したように、暗号化ICを暗号解読のために用いるという悪用に対処するためであり、暗号通信の安全性を高めることができる。
【0077】
図4は、本発明に係る暗号化装置を備えた第1の機器71と第2の機器72間で相互認証とデータ転送鍵の共有化とデータの暗号通信とを行う実施の形態3における処理シーケンスを示す図である。
図4では、第1の機器81から第2の機器82にデジタル著作物mjを転送する場合が示されている。
【0078】
なお、本実施の形態においても、実施の形態1及び2と同様に、各機器81、82に備えられた本発明に係る暗号化装置は、大きく分けてMPU83、85と暗号化IC84、86とから構成される。しかし、MPU83、85はデジタル著作物mjを暗号化IC84、86に渡すだけの機能を果たすので、実質的には、本発明に係る暗号化装置は暗号化IC84、86のみから構成されると言える。
【0079】
第1の暗号化IC84及び第2の暗号化IC86は、実の形態1及び2と同様、1チップの半導体ICである。
以下、図4に示されたステップ番号に従って、実施の形態3における暗号化装置の動作を説明する。
(1) 第1の暗号化IC84において乱数R1を生成して記憶するとともに、これをE関数で暗号化して第1の機器81の送信部(図では示してない)を介して、暗号文C1を第2の機器82に送信する。暗号化には第2の暗号化IC86と予め共通に保持している秘密の認証鍵Sを用いる。第2の機器82では受信した暗号文C1を第2の暗号化IC86に渡す。
【0080】
(2) 第2の暗号化IC86では受信した暗号文C1を逆変換アルゴリズムDで復号化し復号文RR1を得る。第1の暗号化IC84及び第2の暗号化IC86が正規のものである場合にはこの復号文RR1は前記乱数R1と一致する。
(3) 第2の暗号化IC86において乱数R2を生成して記憶すると共に、これを前記復号文RR1と結合して前記逆変換アルゴリズムDで復号化する。復号には前記認証鍵Sを用いる。第2の暗号化IC86は復号文C2を第2の機器82の送信部(図では示してない)を介して、第1の機器81に送信する。第1の機器81ではこれを第1の暗号化IC84に渡す。
【0081】
(4) 第1の暗号化IC84においては、前記復号文C2を前記E関数で暗号化し、その結果を分離データRRR1と分離データRR2に分離する。なお分離データRRR1は正当な機器でのやり取りの場合であれば、前記復号文RR1及び乱数R1と一致する。また分離データRR2は前記乱数R2と一致する。
(5) 第1の暗号化IC84内において、前記ステップ(1)で記憶していた乱数R1と前記分離データRRR1とを比較し、一致する場合には第2の暗号化IC86及び第2の暗号化IC86を含んだ第2の機器82の正当性を認証する。
【0082】
(6) 第1の暗号化IC84において、前記分離データRR2を前記E関数で暗号化し、第2の機器82に送信する。第2の機器82はこの暗号文C3を第2の暗号化IC86に渡す。
(7) 第2の暗号化IC86において、前記暗号文C3を前記逆変換アルゴリズムDで復号化し、復号文RRR2を得る。
【0083】
(8) 第2の暗号化IC86において、前記ステップ(3)で記憶していた乱数R2と前記復号文RRR2を比較し、一致している場合には第1の暗号化IC84及び第1の暗号化IC84を含んだ第1の機器81の正当性を認証する。
(9) 第1の暗号化IC84において、前記乱数R1と前記分離データRR2を結合することでデータ転送鍵Kを生成する。
【0084】
(10) 第2の暗号化IC86において、前記復号文RR1と前記乱数R2を用いてデータ転送鍵Kを生成する。
(11) 第1の機器81の第1の暗号化IC84において、MPU83から送られてくるブロック化されたデジタル著作物mj(64ビット)を上記ステップ(9)で得られたデータ転送鍵Kを用いて暗号化し、得られた暗号文Cjを第2の機器82に送信する処理を、転送すべき全てのデジタル著作物を送信し終えるまで繰り返す。
【0085】
(12) ステップ(11)に対応して、第2の機器82の第2の暗号化IC86において、第1の機器81が送信した暗号化された上記デジタル著作物Cj(64ビット)を受信し、上記ステップ(10)で得られたデータ転送鍵Kを用いて復号化し、得られたデジタル著作物mmjをMPU85に送る。この復号化は上記デジタル著作物Cjが第1の機器81から送信されてくる限り繰り返す。
【0086】
このようにして、実施の形態3の暗号化装置により、実施の形態1及び2の場合と同様に、第1の機器71と第2の機器72間で相互認証とデータ転送鍵Kの共有化とデータの暗号通信とが行われる。
なお、上記ステップ(1)(2)(6)(7)においては1つの乱数の暗号化、ステップ(3)(4)においては2つの乱数の結合の暗号化を行っている。64ビット幅のE関数と逆変換アルゴリズムDを用いる場合には、各乱数を32ビットとして、前者については残りの32ビットの入力に固定の32ビットの値をパディングするとよい。例えば、乱数を下位32ビッとし、上位32ビットを固定的に全てゼロとする等である。また後者については結合した64ビットをそのまま各関数に入力するとよい。
【0087】
また、各乱数のビット長を倍の64ビットにする場合には、前者はそのまま関数に入力し、後者については各関数を2回繰り返して用い、例えばCBCモードのように連鎖のある暗号を行えばよい。
以上述べた実施の形態3においては、実施の形態1及び2とは異なり、認証のための乱数とデータ転送鍵の共有化のための乱数は兼用されている。そして、認証のための乱数生成や認証のための比較処理は暗号化IC内で行われている。従って、乱数はそのままでは暗号化ICの外に現れないため、暗号化ICを解読器として用いる攻撃に対して、より安全である。また、このことにより、各乱数のビット数が少なくても十分な安全性を確保することができる。
(実施の形態4)
次に、実施の形態4に係る暗号化装置について説明する。
【0088】
本装置は、暗号化ICのコンパクト化を追求した実施形態であり、一方向認証を採用している点、及び、データ転送鍵が公開される点において、上記実施の形態1〜3と相違する。但し、暗号アルゴリズムE及びその逆変換アルゴリズムDは秘密にされていることを前提とする。
図5は、第1の機器91から第2の機器92にデジタル著作物mjを転送する場合の処理シーケンスを示す図である。
【0089】
図6は、第1の暗号化IC94のハードウェア構成を示すブロック図である。
(1) まず、第1の暗号化IC94の乱数生成部101はチャレンジデータとデータ転送鍵を兼用する乱数R1を生成し、乱数格納部102に格納すると共に、外部I/F部100を介して第2の機器92に送信する。
(2) 第2の暗号化IC96は、受信した乱数R1に対して、予め第1の暗号化IC94と共通に所有している認証鍵Sを用いて復号化し、得られた復号文C1を第1の機器91に送信する。
【0090】
(3) 第1の暗号化IC94では、E関数106は、外部I/F部100及びスイッチ105を介して受信した復号文C1に対して、認証鍵S格納部103に予め格納された上記認証鍵Sと同じものを用いて暗号化する。その結果得られたデータRR1は、スイッチ107を経て比較部108に送られ、ここで、乱数格納部102に保持されていた乱数R1と比較される。
【0091】
(4) その結果一致している場合には、第2の機器92は正当な機器であると認証できるので、比較部108は、乱数格納部102に保持されていた乱数R1がデータ転送鍵として用いられるように、スイッチ104を制御する。
(5) E関数106は、MPU93から外部I/F部100及びスイッチ105を経て送られてくるデジタル著作物mjに対して、スイッチ104を経て送られてくる乱数R1を用いて暗号化し、スイッチ107及び外部I/F部100を介して第2の機器92に送信する。
【0092】
(6) 第2の機器92の第2の暗号化IC96においては、第1の機器91から送られてきたデジタル著作物Cjに対して、上記ステップ(2)で受信した乱数R1をデータ転送鍵として用いて復号化し、得られたデジタル著作物mmjをMPU95に送る。
このようにして、本実施の形態では、実施の形態1〜3の場合よりも少ないステップと構成要素により、認証とデータ転送鍵の共有化と暗号通信とが実現される。
【0093】
なお、本実施の形態では、第1の機器91から第2の機器92に送信された乱数R1がそのままデータ転送鍵として用いられているために、データ転送鍵は容易に第3者に知られ得る。ところが、そのデータ転送鍵を知った第3者がデジタル著作物Cjを盗聴し復号化しようとしても、上述したように暗号アルゴリズムE及びその逆変換アルゴリズムDは秘密にされているので、その試みは成功しない。
【0094】
また、その第3者が都合のよい乱数R1を偽造することで暗号アルゴリズムを解読しようとしても、新たな乱数R1を乱数格納部102に格納できるのは乱数生成部101だけであり、この第1の暗号化IC94の外部から新たな乱数R1を乱数生成部101に格納する手段は存在しないので、その試みも成功しない。
このように、暗号アルゴリズム及びその逆変換アルゴリズムが秘密にされるならば、本実施の形態のようなコンパクトな暗号化ICによっても認証とデータ転送鍵の生成と暗号通信を実現することができる。
【0095】
なお、上記実施の形態1〜4において、認証鍵Sを暗号化ICに設定する(記憶させる)方法としては以下が好ましい。
つまり、認証鍵Sの一部は暗号化ICの製造時に予め設定しておき、残る部分はその暗号化ICの製造後に書き込む方法である。具体的には、認証鍵S格納部64の一部は、認証鍵Sの一部を予め書き込んだマスクROMで構成し、残る部分は、プログラマブルに書き込み可能な追記ROMで構成する。
【0096】
これは、マスクROMのみで構成した場合には、最終的な暗号化ICの作成のために人手を介さないために安全である反面、リバースエンジニアリングによるチップ解析で設定値の解析が容易であるという欠点があり、一方、追記ROMのみで構成した場合には、設定値のリバースエンジニアリングによる解析が困難である反面、設定に人手を介するためミスが混入したり不正が可能となるという欠点があるので、それら両方の欠点を補うためである。
【0097】
また、上記実施の形態1〜4の暗号通信における暗号アルゴリズムの具体例として、次のようなものであってもよい。
送信側でデジタル著作物を64ビットのブロックに分割し、前記データ転送鍵K(64ビット)とビットごとの排他的論理和をとる。その結果を暗号文とする。受信側でも同様に、受信した64ビットの暗号文とデータ転送鍵Kとの排他的論理和をとればよい。これによって、もとのブロックに復号される。
【0098】
また、データ転送鍵Kを固定とするのではなく、それらブロックごとに、用いられるデータ転送鍵Kを送信側と受信側で同期をとりながら更新していく方法もある。その更新のために、前記E関数や逆変換アルゴリズムDを用いてもよい。ブロック内の暗号/復号は先に述べた排他的論理和であってもよい。
また、上記実施の形態1〜4において、認証方法としてチャレンジレスポンス型のいくつかの例が示されているが、本発明はこれらの例に限られない。例えば、認証側の暗号化ICで乱数を生成し、これをチャレンジデータとして送付し、証明側から返送されたレスポンスデータと認証側で生成した参照用のレスポンスデータとを比較する、というチャレンジレスポンス型の別の例であってもよい。
【0099】
なお、上記実施の形態1〜4において、小さな回路規模で認証と暗号通信を安全に行なう技術を開示したが、安全性の強度とそのために必要な回路規模とはトレードオフの関係にあることは言うまでもない。従って、もしMPUや暗号化IC内に実装できる回路規模に余裕がある場合には、以下の目的のために、データ変換F()を実行する新たな変換手段を追加導入することで、暗号通信の安全性を強化することができる。
(1)その一つは、平文のチャレンジデータや平文のレスポンスデータが伝送路を流れないようにすることである。
【0100】
例えば、図1に示された第1の機器51が第2の機器52を認証する処理シーケンス(ステップ(1)(3)(6)(7))において、以下のように変更する。
ステップ(6)において、第2の暗号化IC56は、分離データRR1をMPU53に送るのではなく、その分離データRR1に所定の変換F()を施し、その結果得られたデータF(RR1)をMPU53に送る。
【0101】
ステップ(7)において、MPU53は、乱数R1と分離データRR1とを比較するのではなく、乱数R1に上記ステップ(6)で用いたものと同じ変換F()を施し、その結果得られたデータF(R1)と第2の暗号化IC56から送られてきたデータF(RR1)とを比較する。
このようにすることで、暗号文C1とその平文の一部RR1とが伝送路を流れることが回避されるので、既知平文攻撃に対する安全性が強化される。
(2)もう一つは、チャレンジデータをそのままデータ転送鍵として用いないようにすることである。
【0102】
例えば、図5に示されたステップ(5)において、第1の暗号化IC94は、乱数R1をそのままデータ転送鍵として用いるのではなく、乱数R1に所定の変換F()を施し、その結果得られたデータF(R1)をデータ転送鍵として用いる。
同様に、ステップ(6)において、第2の暗号化IC96は、乱数R1をそのままデータ転送鍵として用いるのではなく、乱数R1に上記ステップ(5)で用いたものと同じ変換F()を施し、その結果得られたデータF(R1)をデータ転送鍵として用いる。
【0103】
このようにすることで、データ転送鍵F(R1)を秘匿することができ、暗号通信の安全性が強化される。
(3)さらにもう一つは、結合処理を複雑にすることである。
例えば、図1に示されたステップ(9)において、第1の暗号化IC54は、乱数R3と分離データRR4とを単に桁方向に結合するのではなく、これらR3、RR4に所定の変換F()を施し、その結果得られたデータF(R3,RR4)をデータ転送鍵Kとする。
【0104】
同様に、ステップ(10)において、第2の暗号化IC56は、乱数R4と分離データRR3とを単に桁方向に結合するのではなく、これらR4、RR3に上記ステップ(9)で用いたものと同じ変換F()を施し、その結果得られたデータF(R3,RR4)をデータ転送鍵Kとする。
このようにすることで、データ転送鍵Kの生成手順が複雑化され、暗号通信の安全性が強化される。
(具体的な通信システムへの適応例)
以上のように、本発明に係る暗号化装置は、規模の小さな暗号化ICを備え、機器間通信の安全性を確保するための必要最小限の機能を持っている。従って、本暗号化装置は、秘密通信が必要とされ、かつ、小型であることが要求される通信機器、例えば、携帯電話機やデジタル著作物を扱うマルチメディア関連機器等に好適な装置である。
【0105】
図7は、本発明に係る暗号化装置の具体的な通信システムへの適用例を示す図であり、映画等のデジタル著作物の再生システムの概観を示す。
このシステムは、上記実施形態における第1の機器に対応する光ディスクドライブ装置110と第2の機器に対応する映像再生装置111とそれらを接続するSCSIケーブル116等からなる。光ディスクドライブ装置110で読み出した圧縮映像データを暗号化して映像再生装置111に転送し、そこで映像再生するシステムである。
【0106】
図8は、光ディスクドライブ装置110の構成を示すブロック図である。
光ディスクドライブ装置110は、装置全体の制御を行うMPU124と、映像再生装置111との通信インタフェースであるSCSIコントローラ121と、光ヘッド125を制御して光ディスク115から映像データを読み出し制御する読み出し制御部122と、上述の実施形態1〜4における第1の機器の暗号化ICに相当する暗号化IC123とからなり、映像再生装置111が正当な機器であることを認証した後に、光ディスク115に記録された映像データを読み出して暗号化IC123において暗号化し、SCSIケーブル116を介して映像再生装置111に転送する。
【0107】
図9は、光ディスクドライブ装置110の内部に実装される回路基板の概観を示す図である。暗号化IC123は、1個のシリコン基板に形成されたLSIであり、プラスチックでモールドされたフラットパッケージの形状をしている。
図10は、映像再生装置111の構成を示すブロック図である。
映像再生装置111は、装置全体の制御を行うMPU131と、光ディスクドライブ装置110との通信インタフェースであるSCSIコントローラ130と、上述の実施形態1〜4の第2の機器の暗号化ICに相当する暗号化IC132と、暗号化IC132で復号された圧縮映像データの伸長を行うMPEGデコーダ133と、伸長された映像データをアナログ映像信号に変換してCRT112及びスピーカ114に映像出力するAV信号処理部134とから構成される。
【0108】
本発明に係る暗号化装置をこのような映像再生システムに適用することで、光ディスク115に記録されたデジタル著作物は不正コピー等から保護され、マルチメディア関連製品の流通市場における健全な発展が期待できる。
【0109】
【発明の効果】
以上の説明から明らかなように、本発明に係る暗号化装置は、データ転送鍵の共有化とそのデータ転送鍵を用いた暗号通信を行なう機器に備えられる暗号化装置であって、前記データ転送鍵の共有化のための第1乱数を生成する第1乱数生成手段と、前記第1乱数生成手段により生成された第1乱数を保持する第1乱数保持手段と、前記第1乱数生成手段により生成された第1乱数を前記暗号通信の相手機器に送信する第1送信手段と、前記第1乱数保持手段に保持された第1乱数を用いて時変の前記データ転送鍵を生成するデータ転送鍵生成手段と、暗号通信の対象となる転送データに対して前記データ転送鍵を用いて暗号化する転送データ暗号化手段とを備え、前記第1乱数生成手段、前記第1乱数保持手段、前記データ転送鍵生成手段及び前記転送データ暗号化手段は、1個のIC内の回路で実現され、前記第1乱数保持手段は、前記ICの外部からアクセスできない領域に前記第1乱数を保持することを特徴とする。
【0110】
これにより、データ転送鍵の生成に直接関連する第1乱数は外部からアクセスできない暗号化ICの内部に保持されるので、時変のデータ転送鍵は各機器に安全に共有され、暗号通信が行われる。また、暗号化ICは、機器間通信の安全性を確保するための必要最小限の機能を持つので、小さな回路で実現することができる。
【0111】
ここで、前記暗号化装置はさらに、前記第1乱数生成手段により生成された第1乱数を暗号化する第1暗号化手段を備え、前記第1暗号化手段は、前記IC内の回路で実現され、前記第1送信手段は、前記第1暗号化手段で暗号化された第1乱数を前記相手機器に送信するとすることもできる。
これにより、第3者はデータ転送鍵の生成に直接関連する第1乱数を知ることができなくなるので、データ転送鍵の秘密性が維持され、たとえ暗号アルゴリズム及びその逆変換アルゴリズムが知られたとしても暗号通信は維持される。
【0112】
ここで、前記機器は、チャレンジレスポンス型の認証プロトコルに基づく通信により相互に前記相手機器が正当な機器であることを認証し合うものであり、前記暗号化装置はさらに、前記相手機器に送信するチャレンジデータ用の第2乱数を生成する第2乱数生成手段と、前記チャレンジデータに対して前記相手機器から返信されてきたレスポンスデータと前記第2乱数とが一致するか否かを判断し、一致した場合に前記相手機器は正当な機器であると認証する認証手段とを備え、前記データ転送鍵生成手段は、前記認証がなされた場合に前記データ転送鍵を生成するとすることもできる。
【0113】
これにより、機器間の相互認証が成功したときに同時に正規のデータ転送鍵が生成されることになり、秘密通信の安全性が向上される。
ここで、前記第2乱数生成手段及び前記認証手段は、前記IC外の回路で実現されているとすることもできる。
これにより、通信システムの安全性に関連しない部分、即ち、データ転送鍵の生成に直接関連しない処理部は暗号化ICの外に設けられるので、暗号化ICの規模が不要に大きくなることが抑制される。
【0114】
ここで、前記暗号化装置はさらに、前記相手機器から送られてきた暗号化された結合データを復号化する復号化手段と、復号化された結合データをレスポンスデータに相当する第1分離データと残る第2分離データとに分離する分離手段と、前記第1分離データを前記相手機器に返信する第2送信手段とを備え、前記第1暗号化手段は、前記第1乱数と前記第2乱数とを結合し、その結果得られた結合データを暗号化し、前記データ転送鍵生成手段は、前記第1乱数と前記第2分離データとを結合することにより、前記データ転送鍵を生成し、前記復号化手段及び前記分離手段は、前記IC内の回路で実現されているとすることもできる。
【0115】
また、前記暗号化装置はさらに、前記第2乱数をチャレンジデータとして前記相手機器に送信する第2送信手段と、前記相手機器から送られてきた暗号化された結合データを復号化する復号化手段と、復号化された結合データをレスポンスデータに相当する第1分離データと残る第2分離データとに分離する分離手段とを備え、前記認証手段は、前記第1分離データを前記相手機器から返信されてきたレスポンスデータとして前記判断及び認証をし、前記第1暗号化手段は、前記相手機器から送信されてきたチャレンジデータと前記第1乱数とを結合し、その結果得られた結合データを暗号化し、前記データ転送鍵生成手段は、前記第1乱数と前記第2分離データとを結合することにより、前記データ転送鍵を生成し、前記復号化手段及び前記分離手段は、前記IC内の回路で実現されているとすることもできる。
【0116】
これにより、機器間通信の安全性を確保するための必要最小限の機能を持ち、規模の小さな暗号化ICを備えた暗号化装置が実現される。
ここで、前記転送データ暗号化手段による暗号化のアルゴリズムは、前記第1暗号化手段及び前記復号化手段の少なくとも1つのものと同一であることを特徴とするとすることもできる。
【0117】
これにより、転送データ暗号化手段と第1暗号化手段や復号化手段を1個の変換器で兼用して実装することが可能となるので、暗号化ICの回路規模が削減される。
ここで、前記転送データ暗号化手段による暗号化のアルゴリズムは、前記第1暗号化手段及び前記復号化手段のいずれのものとも異なり、かつ、いずれのものよりも簡易であるとすることもできる。
【0118】
これにより、転送データのサイズが大きいために何度もその暗号化を繰り返すような場合であっても、暗号化のためにデータ転送時間が大幅に長くなってしまうという不具合が回避される。
ここで、前記転送データ暗号化手段は、前記転送データを一定長のブロックに区切り、各ブロックに対して前記データ転送鍵の対応する部分を用いて暗号化するとすることもできる。
【0119】
これにより、データサイズの大きい転送データの暗号通信に対しても、本暗号化装置を適用することが可能となる。
ここで、前記転送データ暗号化手段は、前記ブロックと前記データ転送鍵の対応する部分との排他的論理和をとることにより、前記暗号化を行なうとすることもできる。
【0120】
これにより、簡易な論理回路で転送データ暗号化手段を実現することが可能となる。
ここで、前記第1暗号化手段での暗号と前記復号化手段での復号化とは、同一の変換アルゴリズムであるとすることもできる。
これにより、第1暗号化手段と復号化手段を1個の変換器で兼用して実装することが可能となり、暗号化ICの回路規模が削減される。
【0121】
ここで、前記第1暗号化手段及び前記復号化手段は、予め前記IC内に保持された鍵データを用いて前記暗号化及び復号化を行い、その鍵データの一部は、前記IC内のマスクROM領域に格納され、残る一部は、前記IC内の追記ROM領域に格納されているとすることもできる。
これにより、認証鍵をマスクROMのみで構成した場合における欠点と、追記ROMのみで構成した場合における欠点と補うことが可能となる。
【0122】
ここで、前記機器は、チャレンジレスポンス型の認証プロトコルに基づく通信により相互に前記相手機器が正当な機器であることを認証し合うものであり、
前記暗号化装置はさらに、前記チャレンジデータに対して前記相手機器から送られてきた暗号化された結合データを復号化する復号化手段と、復号化された結合データをレスポンスデータに相当する第1分離データと残る第2分離データとに分離する分離手段と、前記第1乱数と前記第1分離データとが一致するか否かを判断し、一致した場合に前記相手機器は正当な機器であると認証する認証手段と、前記認証がなされた場合に前記第2分離データを暗号化する第2暗号化手段と、暗号化された前記第2分離データをレスポンスデータとして前記相手機器に返信する第2送信手段とを備え、前記データ転送鍵生成手段は、前記第1乱数と前記第2分離データとを結合することにより、前記データ転送鍵を生成し、前記復号化手段、前記分離手段及び前記第2暗号化手段は、前記IC内の回路で実現されているとすることもできる。
【0123】
これにより、乱数を一つだけ生成し、それを認証用とデータ転送鍵の生成用の両方の目的に使用しているので、暗号化装置での乱数生成のための回路規模が軽減される。
また、暗号化ICの内部において認証のための乱数生成と比較処理を行っているので、暗号通信の安全性が高められる。
【0124】
また、本発明は、データ転送鍵の共有化とそのデータ転送鍵を用いた暗号通信を行なう送信機及び受信機から構成される通信システムであって、それら送信機及び受信機が、それぞれ上記構成を備えるとすることもできる。
これにより、送信機及び受信機間で相互認証が行われると共にデータ転送鍵が生成されること、データ転送鍵の生成に直接関連する乱数はそのままでは送受信されないこと、及び、データ転送鍵の生成に直接関連する2つの乱数はそれぞれ送信機及び受信機から提供されたものであることから、規模の小さな暗号化ICを用いて実現するのに好適であり、かつ、安全性の高い暗号通信システムが実現される。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る暗号化装置の処理シーケンスを示す図である。
【図2】図1に示された第1の暗号化IC54のハードウェア構成を示すブロック図である。
【図3】本発明の第2の実施の形態に係る暗号化装置の処理シーケンスを示す図である。
【図4】本発明の第3の実施の形態に係る暗号化装置の処理シーケンスを示す図である。
【図5】本発明の第4の実施の形態に係る暗号化装置の処理シーケンスを示す図である。
【図6】図5に示された第1の暗号化IC94のハードウェア構成を示すブロック図である。
【図7】本発明に係る暗号化装置の具体的な通信システムへの適用例を示す図である。
【図8】図7に示された光ディスクドライブ装置110の構成を示すブロック図である。
【図9】同光ディスクドライブ装置110の内部に実装される回路基板の概観を示す図である。
【図10】図7に示された映像再生装置111の構成を示すブロック図である。
【図11】第1の従来技術に係る一方向認証の処理シーケンスを示す図である。
【図12】第2の従来技術に係る双方向認証の処理シーケンスを示す図である。
【符号の説明】
51、71、81、91 第1の機器
52、72、82、92 第2の機器
53、73、83、93 第1の機器のMPU
54、74、84、94 第1の暗号化IC
55、75、85、95 第2の機器のMPU
56、76、86、96 第2の暗号化IC
59 データ転送鍵K生成部
60、101 乱数生成部
61、100 外部I/F部
62、102 乱数格納部
63 結合部
64、103 認証鍵S格納部
65、66、68、104、105、107 スイッチ
67、106 E関数
69 分離部
70 データ転送鍵K格納部
108 比較部
110 光ディスクドライブ装置
111 映像再生装置
121 SCSIコントローラ
122 制御部
123 暗号化IC
124 MPU
125 光ヘッド
130 SCSIコントローラ
131 MPU
132 暗号化IC
133 MPEGデコーダ
134 AV信号処理部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encryption device provided in a communication device that performs secret communication by sharing a secret key, and particularly relates to an encryption device that can be realized with a small circuit scale.
[0002]
[Prior art]
There are many cases where it is necessary to prevent data communicated via a communication path from being illegally copied or altered on the communication path.
For example, a literary work such as a movie is digitized, further compressed, and digitally recorded on an optical disc, which is taken out as electrical information by an optical disc playback device, and the extracted digital information is decompressed by an information decompression device, This is the case where it is played back by the audiovisual playback device.
[0003]
Here, the optical disk reproducing device and the information decompressing device are separated as separate devices, and when data communication is performed between them by a digital communication path, this communication data is recorded by the digital information recording device without permission of the author, and further digital information is recorded. If it is duplicated by the duplicating device, the copyrighted work of the movie is illegally duplicated, and copyright infringement occurs. Therefore, it is necessary to prevent data being communicated via the communication path from being illegally copied on the communication path. While the specifications of circuits and components in equipment are not publicly disclosed, the electrical characteristics and signal formats for data communication are often disclosed to the public, so unauthorized copying of data on the communication path and subsequent data modification Becomes a big problem.
[0004]
Various techniques for excluding such illegal activities and ensuring safe communication have been known.
The most representative one uses a partner authentication technique. Basically, the sender of the data authenticates the validity of the receiver and sends the data only when it is confirmed that the receiver is a legitimate recipient. It is prevented from being received.
[0005]
In this case, the side that proves its validity like the receiver in this case is called a prover, and the side that checks the validity of the other party like the sender in this case is called an authenticator. In addition, in the case of devices related to the above-mentioned optical disc recording / playback, those devices comply with the standards set by the industry of optical disc related devices rather than whether or not the authentication is successful between specific devices. Whether it is a thing or not is a problem. Therefore, in such a case, “validity” means “conforming to a predetermined standard”.
(First prior art)
As a first specific conventional technique, there is a one-way authentication method using a cryptographic technique described in the international standard ISO / IEC9798-2.
[0006]
This authentication method is based on proving that the prover has secret data called an authentication key to the authenticator without notifying the key itself. For that purpose, first, the certifier selects some data and throws it to the prover. This action is called challenge, and the data thrown is called challenge data.
On the other hand, the prover encrypts the challenge data using a cryptographic conversion and an authentication key that are owned in advance. Then, the encrypted data is returned to the authenticator. This action is called a response, and the data is called response data.
[0007]
The authenticator who has received this response data shares the authentication key with the decryption conversion, which is the reverse of the encryption conversion owned by the prover, and decrypts the response data returned from the prover with the authentication key. Decrypt using transform. If this result matches the challenge data, it is determined that the receiver has a proper authentication key, and authenticity of the prover is authenticated. One-way authentication means that one side proves its validity to the other.
[0008]
Here, the cryptographic conversion T is a mapping from a plaintext set determined by the key data S to a ciphertext set. When the plaintext is X, the ciphertext is written as T (S, X). Between the inverse transformation TINV that is a mapping from the ciphertext set determined by the same key data S to the plaintext set,
TINV (S, T (S, X)) = X
There is a relationship. This means that plaintext X is encrypted and converted back to the original state. Inverse conversion of encryption conversion is called decryption conversion. In order to perform cryptographic conversion, it is necessary that it is difficult to obtain the plaintext X from the ciphertext T (S, X) when there is no knowledge of the key S. In addition, by convention, encryption conversion is described as E (S,), and decryption conversion is described as D (S,).
[0009]
FIG. 11 is a diagram illustrating an example of an authentication method described in the standard.
FIG. 11 shows a case where the digital work mj is transferred from the first device 11 to the second device 12. Here, the first device 11 confirms the validity of the second device 12.
The operation of this conventional one-way authentication method will be described below according to the step numbers shown in the figure.
[0010]
(1) The first device 11 generates a random number R1. Then, this is transmitted as challenge data to the second device 12 via the communication path.
(2) When receiving the random number, the second device 12 encrypts the random number using the secret authentication key S stored in the second device 12 as an encryption key. As a result, C1 is transmitted as response data to the first device 11 via the communication path.
[0011]
(3) When receiving the response data, the first device 11 decrypts the response data C1 using the authentication key S stored in the first device 11 as a decryption key.
(4) The first device 11 compares the decryption result RR1 with the random number R1 temporarily stored in the first device 11. If they match, the first device 11 considers that the second device 12 has the same authentication key S and authenticates that the communication partner is valid. On the other hand, if they do not match, it is determined that the communication partner is not valid, and the processing is interrupted.
[0012]
(5) The first device 11 authenticates the second device 12 and then transmits the digital work to the second device 12 via the communication path.
If a third device that does not have the authentication key S is connected to the communication path instead of the second device 12, the third device detects the correct data C1 in the above step (2). As a result, the decryption result RR1 does not match R1 in step (3), so that the first device 11 does not transmit the digital work to the third device in step (4). .
[0013]
If the same challenge data and response data are always used between the first device 11 and the second device 12, an unauthorized third device that knows that may impersonate the second device 12. Conceivable. In order to avoid this, different challenge data (random numbers) is sent from the first device 11 each time.
(Second prior art)
By the way, in the first conventional technique, for example, after authentication, false data stored in the hard disk device can be illegally transmitted to the second device 12 having a regular authentication key. In order to solve this problem, it is necessary for the second device 12 to confirm the validity of the first device 11 at the same time as the first device 11 confirms the validity of the second device 12.
[0014]
In addition, when the digital work is transmitted to the second device 12 via the communication path after both devices have been authenticated, the data on the communication path is extracted and stored in, for example, a hard disk device. Can be considered. Of course, this requires knowledge of the electrical characteristics and data format of the signals on the communication path, but since such knowledge is generally not particularly secret information, the extraction of digital works is a technology. Is fully possible. Therefore, authentication alone is not sufficient, and after successful authentication, a new key randomly generated is shared between each device, and encrypted communication is performed by encrypting and transferring the digital work using that key. Is required. A secret key for encrypting data to be transferred such as a digital work is hereinafter referred to as a “data transfer key”.
[0015]
In the following, a second prior art that extends the one-way authentication as the first prior art and performs two-way authentication, sharing of a data transfer key, and encrypted communication will be described.
FIG. 12 shows an example of an apparatus that realizes this bidirectional authentication.
FIG. 12 shows a case where the digital work mj is encrypted and transferred from the first device 21 to the second device 22.
[0016]
The conventional bidirectional authentication and data transfer key sharing operation will be described below according to the step numbers shown in FIG.
(1) The first device 21 generates a random number R1. This has the meaning as the first challenge data. And this is transmitted to the 2nd apparatus 22 via a communication path.
Here, the random number R2 has a meaning as second challenge data from the second device 22 to the first device 21. That is, the ciphertext C1 has the meaning of both response data to the first challenge data and second challenge data.
[0017]
(2) The second device 22 generates a random number R2 and combines it with the random number R1 received from the first device 21 to create combined data R1 || R2. Here, the symbol "||" indicates that both pieces of data are combined in the digit direction. The combined data R1 || R2 is encrypted using the authentication key S of the second device 22 as an encryption key, and the ciphertext C1 is transmitted to the first device 21.
[0018]
(3) The first device 21 decrypts the ciphertext C1 received from the second device 22 using the authentication key S as a decryption key, and sets the higher order as separated data RR1 and the lower order as separated data RR2.
(4) The first device 21 compares the separated data RR1 with the random number R1 temporarily stored in the first device 21. If they match, the communication partner is authenticated as a valid device having the authentication key S. If they do not match, the authentication process is interrupted here.
[0019]
(5) The first device 21 generates a random number K and sets it as the data transfer key K. The combined data RR2 || K obtained by combining the acquired separated data RR2 and the data transfer key K is encrypted with the authentication key S of the first device 21, and the ciphertext C2 is transmitted to the second device 22. .
(6) The second device 22 decrypts the ciphertext C2 received from the first device 21 using the authentication key S, and sets the higher order as separated data RRR2 and the lower order as separated data KK.
[0020]
(7) The second device 22 compares the separated data RRR2 with the random number R2 temporarily stored in the second device 22. If they match, the communication partner is authenticated as a valid device having the authentication key S. If they do not match, the authentication process is interrupted here. On the other hand, the decrypted separated data KK is set as the data transfer key KK.
[0021]
(8) The first device 21 encrypts the digital work using the data transfer key K and transmits it to the second device 22 via the communication path.
(9) The second device 22 decrypts the data using the data transfer key KK to obtain the original digital work.
Here, if the first device 21 has a regular authentication key S and the second device 22 does not have a regular authentication key, the first device 21 communicates in step (4). It can be determined that the other party does not have a regular authentication key, and the authentication process can be interrupted. If the first device 21 does not have a regular authentication key and the second device 22 has a regular authentication key, the second device 22 is a communication partner in step (7). Can be determined to have no authorized authentication key, and the authentication process can be interrupted. In this way, it is possible to prevent a digital work from flowing out to an unauthorized device and at the same time to prevent an unauthorized device from flowing into an authorized device.
[0022]
Further, when both the first device 21 and the second device 22 have a valid authentication key, when the authentication process is completed and the digital work is transmitted on the communication path in step (8), Even if the digital work is electronically copied and stored in the digital storage device, the digital work is encrypted, so it is meaningless digital data. Digital works are effectively protected.
[0023]
As described above, for successful two-way authentication using encryption technology, it is easy for the authentication keys stored in the first device 21 and the second device 22 to be fraudulent. It is an indispensable condition not to understand. Further, it is necessary that the random number generation unit for the challenge data and the data transfer key K generation unit are not accessible from the outside and cannot be changed.
[0024]
The most effective method for ensuring the secrecy of these components is a method for realizing, as an IC, a part that performs the above-described authentication, data transfer key sharing, and encryption communication. This is because, in general, it takes a lot of labor to analyze an IC, so that an authentication key or the like is not easily deciphered.
[0025]
[Problems to be solved by the invention]
However, in order to realize the first device 21 in the second prior art with an IC, such an IC (hereinafter referred to as “encrypted IC”) needs to include the following parts.
・ Random number generator for generating random number R1
A decryption unit for decrypting the ciphertext C1
-The part that stores the authentication key S
A comparison unit for comparing the random number R1 with the separated data RR1
・ Random number generator for generating data transfer key K
An encryption part for combining and encrypting the separated data RR2 and the data transfer key K
-The part that stores the data transfer key K
・ Cryptographic part that encrypts digital works using data transfer key K
The second device 22 also requires hardware of the same scale.
[0026]
As described above, when the above conventional authentication method is realized by an IC, two random number generation units and two conversion units (decryption unit and encryption unit) must have a large number of functions, so that the circuit scale is large. There is a problem that it increases and eventually leads to an increase in the cost of the equipment.
In the second prior art, the data transfer key K for encrypting data is generated by the first device 21. For the same reason that mutual authentication is required, this key is used for both the keys. It is better to reflect the value generated by the device.
[0027]
As described above, in order to protect a line between devices, a method of realizing a function such as authentication and secret information for that purpose in an IC is effective. However, in the conventional method, if the mutual authentication part, the data transfer key sharing part, and the data encryption part are all realized in one IC, the scale of the IC becomes very large, and the cost is reduced. Leading up.
[0028]
Accordingly, a first object of the present invention is to provide an encryption apparatus that includes a small-scale encryption IC and has a minimum necessary function for ensuring the safety of communication between devices.
Here, the encryption IC has the following functions.
(1) Store the authentication key securely. The key is not rewritten or read by external access.
[0029]
(2) Share the data transfer key securely. The key is not rewritten or read by external access.
(3) However, the size of the encryption IC is minimized by not providing the encryption IC with a part not related to the security of the communication system.
A second object of the present invention is to provide a highly secure cryptographic communication system that is suitable for implementation using a small-scale encryption IC.
[0030]
[Means for Solving the Problems]
  In order to achieve the first object, the present invention performs sharing of a data transfer key and encryption communication using the data transfer key.Mutually authenticate that the other device is a legitimate device by communication based on a challenge-response authentication protocolAn encryption device provided in a device, the first random number generation unit for generating a first random number for sharing the data transfer key, and the first random number generated by the first random number generation unit First random number holding means;A first encryption unit for encrypting the first random number generated by the first random number generation unit; and the first random number encrypted by the first encryption unitFirst transmission means for transmitting a first random number to the counterpart device of the encrypted communication;Second random number generation means for generating a second random number for challenge data to be transmitted to the counterpart device, and whether the response data returned from the counterpart device with respect to the challenge data matches the second random number When the authentication unit authenticates that the counterpart device is a legitimate device when they match, and when the authentication unit authenticates,A data transfer key generating unit that generates the time-varying data transfer key using the first random number held in the first random number holding unit, and the data transfer key for the transfer data to be encrypted Transfer data encryption means for encrypting the data, the first random number generation means, the first random number holding means,The first encryption means;The data transfer key generation means and the transfer data encryption means are realized by a circuit in one IC,The second random number generation means and the authentication means are realized by a circuit outside the IC,The first random number holding means holds the first random number in an area that cannot be accessed from outside the IC.
[0031]
  As a result, the first random number directly related to the generation of the data transfer key is held inside the encryption IC that cannot be accessed from the outside, so that the time-varying data transfer key is securely shared with each device and encrypted communication is performed. Is called. In addition, the encryption IC has a minimum necessary function for ensuring the safety of communication between devices, and thus can be realized with a small circuit.
  In addition, since the third party cannot know the first random number directly related to the generation of the data transfer key, the confidentiality of the data transfer key is maintained, even if the encryption algorithm and its inverse conversion algorithm are known. Cryptographic communication is maintained. When the mutual authentication between devices succeeds, a regular data transfer key is generated at the same time, and the security of the secret communication is improved. Further, since the processing unit that is not related to the security of the communication system, that is, the processing unit that is not directly related to the generation of the data transfer key is provided outside the encryption IC, the scale of the encryption IC is prevented from becoming unnecessarily large. The
[0032]
In order to achieve the second object, the present invention provides a communication system comprising a transmitter and a receiver for sharing a data transfer key and performing cryptographic communication using the data transfer key, The transmitter and the receiver mutually authenticate that the counterpart device is a legitimate device by communication based on the challenge-response type authentication protocol, and each generates a first random number for challenge data. Random number generating means; second random number generating means for generating a second random number for the data transfer key; combining means for combining the first random number and the second random number; and encrypting means for encrypting the combined data. A first transmission unit that transmits the encrypted combined data to the counterpart device, and a first reception unit that receives the encrypted combined data transmitted from the first transmission unit of the counterpart device Decrypting means for decrypting the received combined data; separating means for separating the decrypted combined data into first separated data corresponding to response data and second separated data for the data transfer key; A second transmitting means for returning the first separated data as response data to the counterpart device; a second receiving means for receiving the first separated data returned from the second transmitting means of the counterpart device; Comparing one separated data with the first random number, and combining the second random number and the second separated data with a comparing means for authenticating the counterpart device with a valid device if they match, A data transfer key generating unit that generates the data transfer key; and an encryption communication unit that performs encrypted communication with the counterpart device using the generated data transfer key when the authentication is performed. It is characterized in.
[0033]
As a result, mutual authentication is performed between the transmitter and the receiver, a data transfer key is generated, a random number directly related to the generation of the data transfer key is not transmitted and received as it is, and a data transfer key is generated. Since the two directly related random numbers are provided from the transmitter and the receiver, respectively, it is suitable to be realized using a small-scale encryption IC, and a highly secure cryptographic communication system is provided. Realized.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
(Embodiment 1)
FIG. 1 shows a processing sequence in Embodiment 1 in which mutual authentication, data transfer key sharing, and data encryption communication are performed between a first device and a second device having an encryption device according to the present invention. FIG.
[0035]
FIG. 1 shows a case where the digital work mj is transferred from the first device 51 to the second device 52. FIG. 1 shows only the encryption device included in each of the devices 51 and 52, and other components not directly related to the encryption device (transmission / reception unit, digital work processing system, etc.) are omitted. Has been.
The encryption device according to the present invention provided in the first device 51 is roughly composed of an MPU 53 and a first encryption IC 54.
[0036]
The MPU 53 includes a ROM that holds a control program unique to the encryption apparatus, a general-purpose microprocessor that executes the control program, and a RAM. The MPU 53 is a process that does not directly participate in sharing the data transfer key (in the figure). Steps (1) and (7)) are performed.
The first encryption IC 54 is a one-chip semiconductor IC, and is a process directly involved in sharing the data transfer key (steps (3), (5), (9), (11) in the figure). To do.
[0037]
Similarly, the encryption apparatus according to the present invention provided in the second device 52 is roughly composed of an MPU 55 and a second encryption IC 56.
The MPU 55 includes a ROM that holds a control program unique to the encryption device, a general-purpose microprocessor that executes the control program, and a RAM. The MPU 55 is a process that is not directly involved in sharing the data transfer key (in the figure). Steps (2) and (8)) are performed.
[0038]
The second encryption IC 56 is a one-chip semiconductor IC and is a process directly involved in sharing the data transfer key (steps (4), (6), (10), (12) in the figure). To do.
In this embodiment, a 64-bit block encryption algorithm E compliant with a data encryption standard (DES) and an inverse conversion algorithm D thereof are used. Hereinafter, the conversion using the encryption algorithm E is referred to as “encryption”, and the conversion using the inverse conversion algorithm D is referred to as “decryption”.
[0039]
Further, the first encryption IC 54 includes only the encryption algorithm E, and the second encryption IC 56 includes only the inverse conversion algorithm D. This is for reducing the scale of the encryption ICs 54 and 56 and for safety.
The operation of the encryption apparatus according to the first embodiment will be described below according to the step numbers shown in FIG.
[0040]
(1) The MPU 53 of the first device 51 generates a random number R1 (32 bits), stores it, and passes it to the first encryption IC 54.
(2) Similarly to step (1), the MPU 55 of the second device 52 generates a random number R2 (32 bits), stores it, and transmits it to the second encryption IC 56.
[0041]
(3) The first encryption IC 54 generates a random number R3 (32 bits) and stores it in an area that cannot be accessed from the outside. The random number R1 generated by the MPU and the random number R3 are combined and encrypted using the E function.
Here, the symbol “||” indicates that two random numbers are combined in the digit direction to be 64 bits (the random number R1 is the upper 32 bits and the random number R3 is the lower 32 bits). For encryption, a secret authentication key S held in advance by the first encryption IC 54 and the second encryption IC 56 is used. The first encryption IC 54 transmits the encryption result C1 to the second device 52 via the transmission unit (not shown in the figure) of the first device 51.
[0042]
(4) Similar to step (3), the second encryption IC 56 generates a random number R4 (32 bits) and stores it in an area that cannot be accessed from the outside. The random number R2 generated by the MPU and the random number R4 are combined and decrypted by the inverse transformation algorithm D. The authentication key S is used for decryption. The second encryption IC 56 transmits the decryption result C2 (64 bits) to the first device 51 via the transmission unit (not shown) of the second device 52.
[0043]
(5) The first encryption IC 54 encrypts the decrypted text C2 received from the second device 52 with the authentication key S using the E function. Then, the obtained 64 bits are separated into separated data RR2 which is the upper 32 bits and separated data RR4 which is the lower 32 bits. Further, the separated data RR2 is transmitted to the second device 52 via the transmission unit of the first device 51, while the separated data RR4 is not accessible from the outside in the first encryption IC 54 without going out. To store.
[0044]
Note that when the first encryption IC 54 and the second encryption IC 56 are authentic and hold the same authentication key S, the separated data RR2 is generated by the MPU 55 of the second device 52. The separated data RR4 matches the random number R4 stored inside the second encryption IC 56.
(6) Similar to step (5), the second encryption IC 56 decrypts the ciphertext C1 received from the first encryption IC 54 with the authentication key S using the inverse conversion algorithm D. Then, the obtained 64 bits are separated into separated data RR1 which is the upper 32 bits and separated data RR3 which is the lower 32 bits. Further, the separated data RR1 is transmitted to the first device 51 via the transmission unit of the second device 52, while the separated data RR3 is not accessible from the outside in the second encryption IC 56 without going out. To store.
[0045]
In the case where the first encryption IC 54 and the second encryption IC 56 are normal to each other and hold the same authentication key S, the separated data RR1 matches the random number R1, and the separated data RR3 matches the random number R3.
(7) The random number R1 stored in the step (1) in the MPU 53 of the first device 51 is compared with the separated data RR1 received from the second device 52. The second encryption IC 56 and the second device 52 having the same are authenticated as valid devices.
[0046]
(8) Similar to step (7), the random number R2 stored in step (2) in the MPU 55 of the second device 52 is compared with the separated data RR2 received from the second device 52. If yes, the first encryption IC 54 and the first device 51 having the same are authenticated as valid devices.
(9) The first encryption IC 54 generates the data transfer key K by combining the random number R3 stored in the step (3) and the separated data RR4. Here, the data transfer key K (64 bits) is generated with the random number R3 as the upper 32 bits and the separated data RR4 as the lower 32 bits. Since this data transfer key K is a combination of two random numbers, it can be said to be a time-variant key, that is, a newly generated key.
[0047]
(10) Similarly to step (9), the second encryption IC 56 generates the data transfer key K by combining the separated data RR3 and the random number R4 stored in the step (4). Here, a data transfer key K (64 bits) is generated in which the separated data RR3 is the upper 32 bits and the random number R4 stored in step (4) is the lower 32 bits. This data transfer key is also a time-varying key.
[0048]
When the mutual authentication in step (7) and step (8) succeeds, the random number R3 generated in step (3) matches the separated data RR3 obtained in step (6). Since the random number R4 generated in step (4) matches the separated data RRR4 obtained in step (5), the data generated in step (9) and step (10) respectively. The transfer key K will match.
[0049]
(11) The first encryption IC 54 of the first device 51 uses the data transfer key K obtained in the above step (9) for the blocked digital work mj (64 bits) sent from the MPU 53. The process of transmitting the encrypted ciphertext Cj to the second device 52 is repeated until all the digital works to be transferred have been transmitted.
[0050]
(12) In response to step (11), the second encryption IC 56 of the second device 52 receives the encrypted digital work Cj (64 bits) transmitted by the first device 51. The digital work mmj obtained by decrypting the data transfer key K obtained in step (10) is sent to the MPU 55. This decryption is repeated as long as the digital work Cj is transmitted from the first device 51.
[0051]
In this manner, mutual authentication, sharing of the data transfer key K, and encrypted data communication are performed between the first device 51 and the second device 52 by the encryption device of the first embodiment.
As is clear from the above description, the encryption apparatus according to the first embodiment has the following characteristics.
[0052]
The first feature is that the data transfer key K is safely protected inside the encryption IC. Specifically, in the case of the encryption device included in the first device 51, two data directly used for generating the data transfer key K, that is, the random number R3 and the separated data RR4 are as follows: Meet.
The random number R3 is generated inside the first encryption IC 54, is not output to the outside, and is held in an area that cannot be read from the outside.
[0053]
The separated data RR4 is generated (separated and generated) inside the first encryption IC 54, is not output to the outside, and is held in an area that cannot be read from the outside. As a result, since the data transfer key K is protected in the encryption IC, the first device 51 and the second device can be used even if those disclosed as the encryption algorithm E and the inverse conversion algorithm D are adopted. The security of the encryption communication between 52 is guaranteed.
[0054]
The second feature is that the circuit accommodated in the encryption IC is kept to the minimum necessary. Specifically, in the case of the encryption device included in the first device 51, the following processing is realized by a circuit outside the first encryption IC 54, that is, the MPU 53.
・ Generation of random number R1
・ Comparison of random number R1 and separated data RR1
In other words, consideration is given so that the circuit scale of the first encryption IC 54 does not become unnecessarily large. These two processes relate to the authentication of the counterpart device and are not directly involved in the generation of the data transfer key K. Therefore, even if an attempt is made to make fraud using the fact that these processes are implemented outside the IC, it is impossible to make an act that would benefit the first device 51. The response data RR2 for the challenge data C2 from the second device 52 is created in the encryption IC.
[0055]
FIG. 2 is a block diagram showing a hardware configuration of the first encryption IC 54.
The second encryption IC 56 can also be realized with the same hardware scale.
The external I / F unit 61 is the only input / output port for accessing the internal circuit of the first encryption IC 54 from the outside.
The random number generation unit 60 generates a 32-bit random number R3.
[0056]
The random number storage unit 62 is a storage circuit that holds the random number R <b> 3 generated by the random number generation unit 60.
The combining unit 63 combines the random number R3 stored in the random number storage unit 62 with the lower 32 bits and the 32-bit data R1 input via the external I / F unit 61 as the upper 32 bits.
[0057]
The authentication key S storage unit 64 is a storage circuit that holds an authentication key S given in advance.
The switches 65 and 66 are a 64-bit wide 3-input 1-output multiplexer and a 64-bit wide 2-input 1-output multiplexer, respectively.
The E function 67 is an encryption circuit based on the encryption algorithm E.
The switch 68 is a 64-bit wide 1-input 3-output demultiplexer.
[0058]
The separation unit 69 separates the 64-bit data output from the switch 68 into the upper 32 bits RR2 and the lower 32 bits RR4.
The data transfer key K generation unit 59 combines the random number R3 stored in the random number storage unit 62 with the upper 32 bits and the separated data RR4 separated by the separation unit 69 as the lower 32 bits, thereby obtaining the data transfer key K. Generate.
[0059]
The data transfer key K storage unit 70 is a storage circuit that holds the data transfer key K generated by the data transfer key K generation unit 59.
Next, how each component shown in FIG. 2 operates in each step shown in FIG.
In step (3) of FIG. 1, the random number generation unit 60 generates a random number R3 and stores it in the random number storage unit 62, and the combining unit 63 receives the random number R3 and the random number input via the external I / F unit 61. R1 is combined and sent to E function 67 via switch 65. The E function 67 receives the authentication key S from the authentication key S storage unit 64 via the switch 66, encrypts the combined data R1 || R3 output from the combining unit 63 using the authentication key S, and converts the result C1 into the switch 68. And output to the second device 52 via the external I / F unit 61.
[0060]
In steps (5) and (9) of FIG. 1, the decrypted text C2 input via the external I / F unit 61 is input to the E function via the switch 65. The E function 67 receives the authentication key S from the authentication key S storage unit 64, encrypts the decrypted text C2 using it, and sends it to the separation unit 69 via the switch 68. The separation unit 69 separates it into separated data RR2 and separated data RR4, the separated data RR2 is output to the outside via the external I / F unit 61, and the separated data RR4 is sent to the data transfer key K generation unit 59. The data transfer key K generation unit 59 generates the data transfer key K by combining the random number R3 stored in the random number storage unit 62 and the separated data RR4 sent from the separation unit 69, and then generates the data transfer key K. Store in the K storage unit 70.
[0061]
In step (11) of FIG. 1, the E function 67 uses the data transfer key K stored in the data transfer key K storage unit 70 as a digital work mj input via the external I / F unit 61 and the switch 65. And the result Cj is output to the second device 52 via the switch 68 and the external I / F unit 61.
In the first embodiment, specific bit lengths and data structures such as random numbers and ciphertexts are shown, but the present invention is not limited to these. For example, in the above step (5), the 32-bit random numbers R1 and R2 are combined into 64 bits, which are input to the 64-bit cryptographic function E to obtain the 64-bit ciphertext C1. For example, each part may be 64 bits, and a 128-bit ciphertext C1 may be generated by repeating encryption using the encryption function E twice. However, in this case, it is necessary that the part related to the random number R1 and the part related to R2 cannot be easily separated from the ciphertext C1. As one of the methods, there is an encryption method with a chain like the CBC mode. For details on the CBC mode, see Shinichi Ikeno and Kenji Koyama, “Contemporary Cryptography”, p.
[0062]
In the first embodiment, the first encryption IC 54 includes only the encryption function E, and the second encryption IC 56 includes only the inverse function D, thereby reducing the hardware scale. Is not the essence of the present invention as described above. That is, it is a matter that needs to be determined in relation to the circuit scale allowed for the encryption ICs 54 and 56, the type of encryption algorithm, and the like. For example, each possesses both the encryption algorithm E and the inverse transformation algorithm D. The encryption algorithm E may be used for encryption of random numbers, and the inverse conversion algorithm D may be used for decryption of information sent from the counterpart device. This is because the present invention is characterized in that the security of the secret communication is ensured by making at least the components directly involved in the generation of the data transfer key K into an IC.
[0063]
In the first embodiment, for example, the generation of the random number R1 in step (1) may be performed in the first encryption IC 54. As a result, the possibility of using the first encryption IC 54 as a decryption device is eliminated, and a more secure encryption device can be obtained. That is, in the first embodiment, the random number R1 is generated outside the first encryption IC 54, and the first encryption IC 54 outputs the ciphertext C1 based on the random number R1. The ciphertext C1 is affected by the random number R3 generated inside the first encryption IC 54. If the random number R3 is not a sufficiently random value, the first encryption IC 54 is encrypted. It can be abused as a decryption device. Therefore, by generating the random number R1 in the first encryption IC 54, the possibility of the attack described above is eliminated, and the encryption apparatus becomes more secure.
(Embodiment 2)
Next, a second embodiment is shown as a modification of the steps in the first embodiment shown in FIG. The purpose and effect are the same as those of the first embodiment. Further, the hardware scale is similar to that of the first embodiment shown in FIG. In the first embodiment, communication is performed by encrypting the response data without encrypting the challenge data. However, in the second embodiment, communication is performed without encrypting the response data by encrypting the challenge data. The description will focus on the differences from the first embodiment.
[0064]
FIG. 3 shows processing in Embodiment 2 in which mutual authentication, data transfer key sharing, and data encryption communication are performed between the first device 71 and the second device 72 having the encryption device according to the present invention. It is a figure which shows a sequence.
FIG. 3 shows a case where the digital work mj is transferred from the first device 71 to the second device 72.
[0065]
The MPU 73, the first encryption IC 74, the MPU 75, and the second encryption IC 76 correspond to the MPU 53, the first encryption IC 54, the MPU 55, and the second encryption IC 56 in the first embodiment, and have different processing procedures. Except for this, the hardware configuration is the same as in the first embodiment.
The operation of the encryption apparatus according to the second embodiment will be described below according to the step numbers shown in FIG.
[0066]
(1) The random number R1 (32 bits) is generated and stored in the MPU 73 of the first device 71 and stored in the second device 72 via the transmission unit (not shown) of the first device 71. Send. The second device 72 passes this to the second encryption IC 76.
(2) Similar to step (1), the MPU 75 of the second device 72 generates and stores a random number R2 (32 bits) and passes it through the transmission unit (not shown) of the second device 72. To the first device 71. The first device 71 passes this to the first encryption IC 74.
[0067]
(3) The first encryption IC 74 generates a random number R3 (32 bits) and stores it in an area that cannot be accessed from the outside. The random number R2 received from the second device 72 and the random number R3 are combined and encrypted with the E function. For encryption, a secret authentication key S held in advance by the first encryption IC 74 and the second encryption IC 76 is used. The first encryption IC 74 transmits the encryption result C1 (64 bits) to the second device 72.
[0068]
(4) Similar to step (3), the second encryption IC 76 generates a random number R4 (32 bits) and stores it in an area that cannot be accessed from the outside. The random number R1 received from the first device 71 and the random number R4 are combined and decrypted by the inverse transformation algorithm D. The authentication key S is used for decryption. The second encryption IC 76 transmits the decryption result C2 (64 bits) to the first device 71.
[0069]
(5) The first encryption IC 74 encrypts the decrypted text C2 received from the second encryption IC 76 with the authentication key S using the E function. Of the resulting 64-bit data, the upper 32 bits are the separated data RR1, and the lower 32 bits are the separated data RR4. The separated data RR1 is passed to the MPU 73 of the first device 71, while the separated data RR4 is stored in a region in the first encryption IC 74 that cannot be accessed from the outside without going out.
[0070]
When the first and second encryption ICs 76 are authentic and have the same authentication key S, the separated data RR1 is the same as the random number R1 generated by the MPU 73 of the first device 71. The separated data RR4 is the same as the random number R4 generated by the second encryption IC 76.
(6) Similar to step (6), the second encryption IC 76 decrypts the ciphertext C1 received from the first encryption IC 74 with the authentication key S using the inverse conversion algorithm D. The high-order 32 bits of the resulting 64-bit data are set as separation data RR2, and the low-order 32 bits are set as separation data RR3. Then, the separated data RR2 is transferred to the MPU 75 of the second device 72, while the separated data RR3 is stored in an area in the second encryption IC 76 that cannot be accessed from the outside without going out.
[0071]
If the first and second encryption ICs 76 are authentic and have the same authentication key S, the separated data RR2 is a random number R2 generated by the MPU 75 of the second device 72. The separated data RR3 is the same as the random number R3 generated by the first encryption IC 74.
(7) When the stored R1 in the MPU 73 of the first device 71 matches the separated data RR1 received from the first encryption IC 74, the second encryption IC 76 and The second device 72 including the second encryption IC 76 is authenticated as a valid device.
[0072]
(8) Similar to step (8), if the stored R2 in the MPU 75 of the second device 72 is compared with the separated data RR2 received from the second encryption IC 76, they match. The first encryption IC 74 and the first device 71 including the first encryption IC 74 are authenticated as a legitimate device.
(9) The data transfer key K is created in the first encryption IC 74 using the random number R3 and the separated data RR4. In the figure, the combination of both is the data transfer key K (64 bits).
[0073]
(10) Similar to step (10), the data transfer key K is created in the second encryption IC 76 using the separated data RR3 and the random number R4 in the same manner as the first encryption IC 74. In the figure, the combination of both is the data transfer key K (64 bits).
(11) The first encryption IC 74 of the first device 71 uses the data transfer key K obtained in the above step (9) as the blocked digital work mj (64 bits) sent from the MPU 73. The process of transmitting the encrypted ciphertext Cj to the second device 72 is repeated until all digital works to be transferred have been transmitted.
[0074]
(12) Corresponding to step (11), the second encryption IC 76 of the second device 72 receives the encrypted digital work Cj (64 bits) transmitted by the first device 71. Then, decryption is performed using the data transfer key K obtained in the step (10), and the obtained digital work mmj is sent to the MPU 75. This decryption is repeated as long as the digital work Cj is transmitted from the first device 71.
[0075]
In this manner, the encryption apparatus of the second embodiment allows mutual authentication, sharing of the data transfer key K and data between the first device 71 and the second device 72 as in the case of the first embodiment. Encryption communication is performed.
As described above, the encryption apparatus according to the present embodiment and the one according to the first embodiment are identical in hardware configuration, and only the processing procedure, that is, the connection and execution order of each hardware component are different. is there. Therefore, the characteristics of the encryption apparatus of the present embodiment and its modification can be said to be the same as in the first embodiment.
(Embodiment 3)
The encryption devices of the first and second embodiments have the following common points.
(1) Two random numbers are generated in both devices, one of which is used only for authentication and the other one is used only for generating the data transfer key K.
(2) The random number used for generating the data transfer key K is not output to the outside of the encryption IC as it is, while the random number used for authentication is output to the outside of the encryption IC. Will be released.
[0076]
On the other hand, the encryption apparatus according to the third embodiment described below generates only one random number and uses it for both purposes for authentication and data transfer key generation. This is to reduce the burden of random number generation in the encryption IC compared to the first and second embodiments.
Further, random number generation and comparison processing for authentication are performed inside the encryption IC. That is, unlike the first and second embodiments, not only the data transfer key generation but also the authentication processing is performed by the internal circuit of the encryption IC. As described above, this is for coping with the misuse of using the encryption IC for decryption, and the safety of encryption communication can be improved.
[0077]
FIG. 4 shows processing in Embodiment 3 for performing mutual authentication, data transfer key sharing, and data encryption communication between the first device 71 and the second device 72 having the encryption device according to the present invention. It is a figure which shows a sequence.
FIG. 4 shows a case where the digital work mj is transferred from the first device 81 to the second device 82.
[0078]
In the present embodiment, as in the first and second embodiments, the encryption devices according to the present invention provided in the devices 81 and 82 are roughly divided into MPUs 83 and 85 and encryption ICs 84 and 86, respectively. Consists of However, since the MPUs 83 and 85 perform the function of only passing the digital work mj to the encryption ICs 84 and 86, it can be said that the encryption device according to the present invention is substantially composed only of the encryption ICs 84 and 86. .
[0079]
The first encryption IC 84 and the second encryption IC 86 are one-chip semiconductor ICs as in the first and second embodiments.
The operation of the encryption apparatus according to the third embodiment will be described below according to the step numbers shown in FIG.
(1) The first encryption IC 84 generates and stores the random number R1, encrypts it with the E function, and sends the ciphertext C1 via the transmission unit (not shown) of the first device 81. Is transmitted to the second device 82. For encryption, a secret authentication key S held in advance with the second encryption IC 86 is used. The second device 82 passes the received ciphertext C1 to the second encryption IC 86.
[0080]
(2) The second encryption IC 86 decrypts the received ciphertext C1 with the inverse conversion algorithm D to obtain a decrypted text RR1. When the first encryption IC 84 and the second encryption IC 86 are authentic, the decrypted text RR1 matches the random number R1.
(3) The second encryption IC 86 generates and stores the random number R2, and combines it with the decrypted text RR1 to decrypt it with the inverse transformation algorithm D. The authentication key S is used for decryption. The second encryption IC 86 transmits the decrypted text C2 to the first device 81 via the transmission unit (not shown) of the second device 82. The first device 81 passes this to the first encryption IC 84.
[0081]
(4) In the first encryption IC 84, the decrypted text C2 is encrypted with the E function, and the result is separated into separated data RRR1 and separated data RR2. The separated data RRR1 matches the decrypted text RR1 and the random number R1 in the case of an exchange with a legitimate device. The separated data RR2 matches the random number R2.
(5) In the first encryption IC 84, the random number R1 stored in the step (1) is compared with the separated data RRR1, and if they match, the second encryption IC 86 and the second encryption IC The validity of the second device 82 including the integrated IC 86 is authenticated.
[0082]
(6) In the first encryption IC 84, the separated data RR2 is encrypted with the E function and transmitted to the second device 82. The second device 82 passes this ciphertext C3 to the second encryption IC 86.
(7) In the second encryption IC 86, the ciphertext C3 is decrypted by the inverse conversion algorithm D to obtain a decrypted text RRR2.
[0083]
(8) The second encryption IC 86 compares the random number R2 stored in the step (3) and the decrypted text RRR2, and if they match, the first encryption IC 84 and the first encryption The validity of the first device 81 including the integrated IC 84 is authenticated.
(9) In the first encryption IC 84, the data transfer key K is generated by combining the random number R1 and the separated data RR2.
[0084]
(10) In the second encryption IC 86, the data transfer key K is generated using the decrypted text RR1 and the random number R2.
(11) In the first encryption IC 84 of the first device 81, the block digital work mj (64 bits) sent from the MPU 83 is used as the data transfer key K obtained in the above step (9). The process of transmitting the encrypted ciphertext Cj to the second device 82 is repeated until all the digital works to be transferred have been transmitted.
[0085]
(12) In response to step (11), the second encryption IC 86 of the second device 82 receives the encrypted digital work Cj (64 bits) transmitted from the first device 81. Decryption is performed using the data transfer key K obtained in step (10), and the obtained digital work mmj is sent to the MPU 85. This decryption is repeated as long as the digital work Cj is transmitted from the first device 81.
[0086]
In this manner, mutual authentication and sharing of the data transfer key K is performed between the first device 71 and the second device 72 by the encryption device of the third embodiment, as in the first and second embodiments. And data encryption communication.
In steps (1), (2), (6), and (7), one random number is encrypted, and in steps (3) and (4), a combination of two random numbers is encrypted. When the 64-bit E function and the inverse transformation algorithm D are used, each random number is set to 32 bits, and the former 32-bit value is padded with a fixed 32-bit value. For example, the random number is the lower 32 bits, and the upper 32 bits are all fixedly zero. For the latter, the combined 64 bits may be input to each function as it is.
[0087]
In addition, when the bit length of each random number is doubled to 64 bits, the former is input to the function as it is, and for the latter, each function is repeatedly used twice. For example, a chained cipher such as CBC mode is performed. Just do it.
In the third embodiment described above, unlike the first and second embodiments, the random number for authentication and the random number for sharing the data transfer key are shared. Then, random number generation for authentication and comparison processing for authentication are performed in the encryption IC. Accordingly, since the random number does not appear outside the encryption IC as it is, it is safer against an attack using the encryption IC as a decryptor. This also ensures sufficient safety even when the number of bits of each random number is small.
(Embodiment 4)
Next, an encryption apparatus according to Embodiment 4 will be described.
[0088]
This device is an embodiment pursuing a compact encryption IC, and is different from the above embodiments 1 to 3 in that one-way authentication is adopted and a data transfer key is disclosed. . However, it is assumed that the encryption algorithm E and its inverse transformation algorithm D are kept secret.
FIG. 5 is a diagram showing a processing sequence when the digital work mj is transferred from the first device 91 to the second device 92.
[0089]
FIG. 6 is a block diagram showing a hardware configuration of the first encryption IC 94.
(1) First, the random number generation unit 101 of the first encryption IC 94 generates a random number R1 that uses both challenge data and a data transfer key, stores the random number R1 in the random number storage unit 102, and passes through the external I / F unit 100. Transmit to the second device 92.
(2) The second encryption IC 96 decrypts the received random number R1 using the authentication key S previously owned in common with the first encryption IC 94, and the obtained decrypted text C1 1 to the first device 91.
[0090]
(3) In the first encryption IC 94, the E function 106 performs the above authentication stored in advance in the authentication key S storage unit 103 for the decrypted text C1 received via the external I / F unit 100 and the switch 105. Encryption is performed using the same key S. Data RR1 obtained as a result is sent to the comparison unit 108 via the switch 107, where it is compared with the random number R1 held in the random number storage unit 102.
[0091]
(4) If the results match, the second device 92 can be authenticated as a legitimate device, and therefore the comparison unit 108 uses the random number R1 held in the random number storage unit 102 as the data transfer key. The switch 104 is controlled as used.
(5) The E function 106 encrypts the digital work mj sent from the MPU 93 via the external I / F unit 100 and the switch 105 using the random number R1 sent via the switch 104, The data is transmitted to the second device 92 via the 107 and the external I / F unit 100.
[0092]
(6) In the second encryption IC 96 of the second device 92, the random number R1 received in the above step (2) is applied to the digital work Cj sent from the first device 91 as the data transfer key. And the obtained digital work mmj is sent to the MPU 95.
In this way, in this embodiment, authentication, sharing of a data transfer key, and encrypted communication are realized with fewer steps and components than in the first to third embodiments.
[0093]
In the present embodiment, since the random number R1 transmitted from the first device 91 to the second device 92 is used as it is as a data transfer key, the data transfer key is easily known to a third party. obtain. However, even if a third party who knows the data transfer key attempts to eavesdrop and decrypt the digital work Cj, the encryption algorithm E and its inverse conversion algorithm D are kept secret as described above. Not successful.
[0094]
Further, even if the third party attempts to decipher the cryptographic algorithm by forging the convenient random number R1, only the random number generation unit 101 can store the new random number R1 in the random number storage unit 102. Since there is no means for storing the new random number R1 in the random number generation unit 101 from the outside of the encryption IC 94, the attempt is not successful.
As described above, if the encryption algorithm and its inverse conversion algorithm are kept secret, authentication, data transfer key generation, and encryption communication can be realized even by a compact encryption IC as in this embodiment.
[0095]
In the first to fourth embodiments, the method for setting (storing) the authentication key S in the encryption IC is preferably as follows.
That is, a part of the authentication key S is preset when the encryption IC is manufactured, and the remaining part is written after the encryption IC is manufactured. Specifically, a part of the authentication key S storage unit 64 is constituted by a mask ROM in which a part of the authentication key S is written in advance, and the remaining part is constituted by a programmable writable ROM.
[0096]
This is because it is safe because it does not involve human intervention for creating the final encryption IC, but it is easy to analyze the set value by chip analysis by reverse engineering. On the other hand, when it consists only of the write-once ROM, it is difficult to analyze the set value by reverse engineering, but there is a drawback that mistakes can be mixed and fraud is possible because the setting is manual. This is to make up for both of these drawbacks.
[0097]
In addition, as a specific example of the encryption algorithm in the encryption communication of the first to fourth embodiments, the following may be used.
The digital work is divided into 64-bit blocks on the transmission side, and the data transfer key K (64 bits) and exclusive OR for each bit are taken. The result is ciphertext. Similarly, on the receiving side, an exclusive OR of the received 64-bit ciphertext and the data transfer key K may be taken. As a result, the original block is decoded.
[0098]
There is also a method of updating the data transfer key K used for each block while synchronizing the data transfer key K between the transmitting side and the receiving side, instead of fixing the data transfer key K. For the update, the E function or the inverse transformation algorithm D may be used. The encryption / decryption in the block may be the exclusive OR described above.
In the first to fourth embodiments, some examples of the challenge response type are shown as the authentication method, but the present invention is not limited to these examples. For example, a challenge response type in which a random number is generated by an encryption IC on the authentication side, this is sent as challenge data, and response data returned from the certification side is compared with reference response data generated on the authentication side Another example may be used.
[0099]
In the first to fourth embodiments, a technique for securely performing authentication and encryption communication with a small circuit scale has been disclosed. However, there is a trade-off relationship between the strength of security and the circuit scale necessary for that purpose. Needless to say. Therefore, if there is a sufficient circuit scale that can be implemented in the MPU or encryption IC, a new conversion means for executing the data conversion F () is additionally introduced for the following purpose. Can enhance the safety.
(1) One of them is to prevent plaintext challenge data and plaintext response data from flowing through the transmission path.
[0100]
For example, in the processing sequence (steps (1), (3), (6), and (7)) in which the first device 51 shown in FIG. 1 authenticates the second device 52, the following changes are made.
In step (6), the second encryption IC 56 does not send the separated data RR1 to the MPU 53, but performs a predetermined conversion F () on the separated data RR1 and uses the resulting data F (RR1). Send to MPU53.
[0101]
In step (7), the MPU 53 does not compare the random number R1 and the separated data RR1, but performs the same transformation F () as that used in step (6) on the random number R1, and obtains the data obtained as a result. F (R1) is compared with data F (RR1) sent from the second encryption IC 56.
By doing so, it is avoided that the ciphertext C1 and a part of the plaintext RR1 flow through the transmission path, so that security against known plaintext attacks is enhanced.
(2) The other is to avoid using the challenge data as a data transfer key as it is.
[0102]
For example, in step (5) shown in FIG. 5, the first encryption IC 94 does not use the random number R1 as it is as a data transfer key, but performs a predetermined conversion F () on the random number R1 and obtains the result. The obtained data F (R1) is used as a data transfer key.
Similarly, in step (6), the second encryption IC 96 does not directly use the random number R1 as a data transfer key, but performs the same conversion F () as that used in step (5) on the random number R1. The data F (R1) obtained as a result is used as a data transfer key.
[0103]
By doing so, the data transfer key F (R1) can be concealed, and the security of encryption communication is enhanced.
(3) The other is to complicate the joining process.
For example, in step (9) shown in FIG. 1, the first encryption IC 54 does not simply combine the random number R3 and the separated data RR4 in the digit direction, but converts these R3 and RR4 into a predetermined conversion F ( The data F (R3, RR4) obtained as a result is set as the data transfer key K.
[0104]
Similarly, in step (10), the second encryption IC 56 does not simply combine the random number R4 and the separated data RR3 in the digit direction, but uses these R4 and RR3 in the above step (9). The same conversion F () is performed, and the data F (R3, RR4) obtained as a result is set as the data transfer key K.
By doing so, the procedure for generating the data transfer key K is complicated, and the security of encryption communication is enhanced.
(Examples of application to specific communication systems)
As described above, the encryption apparatus according to the present invention includes a small-scale encryption IC and has a minimum necessary function for ensuring the safety of communication between devices. Therefore, the encryption device is suitable for communication devices that require secret communication and are required to be small, such as mobile phones and multimedia related devices that handle digital works.
[0105]
FIG. 7 is a diagram showing an application example of the encryption apparatus according to the present invention to a specific communication system, and shows an overview of a reproduction system of a digital work such as a movie.
This system includes the optical disk drive device 110 corresponding to the first device in the above embodiment, the video reproduction device 111 corresponding to the second device, the SCSI cable 116 connecting them, and the like. In this system, the compressed video data read by the optical disk drive device 110 is encrypted and transferred to the video playback device 111, where the video is played back.
[0106]
FIG. 8 is a block diagram showing a configuration of the optical disk drive device 110.
The optical disk drive device 110 includes an MPU 124 that controls the entire device, a SCSI controller 121 that is a communication interface with the video reproduction device 111, and a read control unit 122 that controls the optical head 125 to read and control video data from the optical disc 115. And the encryption IC 123 corresponding to the encryption IC of the first device in the first to fourth embodiments described above, and recorded on the optical disc 115 after authenticating that the video reproduction device 111 is a valid device. The video data is read out, encrypted by the encryption IC 123, and transferred to the video playback device 111 via the SCSI cable 116.
[0107]
FIG. 9 is a diagram showing an overview of a circuit board mounted inside the optical disk drive device 110. The encryption IC 123 is an LSI formed on one silicon substrate, and has a flat package shape molded with plastic.
FIG. 10 is a block diagram showing the configuration of the video playback device 111.
The video reproduction device 111 includes an MPU 131 that controls the entire device, a SCSI controller 130 that is a communication interface with the optical disc drive device 110, and an encryption corresponding to the encryption IC of the second device of the first to fourth embodiments. IC 132, MPEG decoder 133 that decompresses the compressed video data decrypted by encryption IC 132, AV signal processor 134 that converts the decompressed video data into an analog video signal, and outputs the video to CRT 112 and speaker 114; Consists of
[0108]
By applying the encryption apparatus according to the present invention to such a video reproduction system, digital works recorded on the optical disc 115 are protected from unauthorized copying and the like, and healthy development in the distribution market of multimedia related products is expected. it can.
[0109]
【The invention's effect】
As is apparent from the above description, the encryption device according to the present invention is an encryption device provided in a device that performs sharing of a data transfer key and encryption communication using the data transfer key. First random number generating means for generating a first random number for key sharing, first random number holding means for holding the first random number generated by the first random number generating means, and the first random number generating means Data transfer for generating the time-varying data transfer key using first transmission means for transmitting the generated first random number to the counterpart device of the cryptographic communication and the first random number held in the first random number holding means Key generation means, and transfer data encryption means for encrypting transfer data to be encrypted by using the data transfer key, the first random number generation means, the first random number holding means, Data transfer key generation means Fine the transfer data encryption means is realized by circuits in one IC, the first random number holding means is characterized by holding the first random number in an area inaccessible from outside of the IC.
[0110]
As a result, the first random number directly related to the generation of the data transfer key is held inside the encryption IC that cannot be accessed from the outside, so that the time-varying data transfer key is securely shared with each device and encrypted communication is performed. Is called. In addition, the encryption IC has a minimum necessary function for ensuring the safety of communication between devices, and thus can be realized with a small circuit.
[0111]
Here, the encryption device further includes first encryption means for encrypting the first random number generated by the first random number generation means, and the first encryption means is realized by a circuit in the IC. The first transmission unit may transmit the first random number encrypted by the first encryption unit to the counterpart device.
As a result, the third party cannot know the first random number that is directly related to the generation of the data transfer key, so that the confidentiality of the data transfer key is maintained, even if the encryption algorithm and its inverse conversion algorithm are known. Even encrypted communication is maintained.
[0112]
Here, the devices mutually authenticate that the counterpart device is a valid device by communication based on a challenge-response type authentication protocol, and the encryption device further transmits to the counterpart device A second random number generating means for generating a second random number for challenge data, and determining whether or not the response data returned from the counterpart device with respect to the challenge data matches the second random number; In this case, the counterpart device may be provided with authentication means for authenticating that the device is a legitimate device, and the data transfer key generation means may generate the data transfer key when the authentication is performed.
[0113]
Thereby, when the mutual authentication between the devices is successful, a regular data transfer key is generated at the same time, and the security of the secret communication is improved.
Here, the second random number generation means and the authentication means may be realized by a circuit outside the IC.
As a result, the portion not related to the security of the communication system, that is, the processing unit not directly related to the generation of the data transfer key is provided outside the encryption IC, thereby suppressing the size of the encryption IC from becoming unnecessarily large. Is done.
[0114]
Here, the encryption device further includes decryption means for decrypting the encrypted combined data sent from the counterpart device, first separated data corresponding to the response data, and the decrypted combined data. Separating means for separating the remaining second separated data, and second transmitting means for returning the first separated data to the counterpart device, wherein the first encryption means includes the first random number and the second random number. And the resulting combined data is encrypted, and the data transfer key generation means generates the data transfer key by combining the first random number and the second separated data, and The decoding unit and the separation unit may be realized by a circuit in the IC.
[0115]
The encryption apparatus further includes a second transmission unit that transmits the second random number as challenge data to the counterpart device, and a decryption unit that decrypts the encrypted combined data transmitted from the counterpart device. And separating means for separating the decrypted combined data into first separated data corresponding to response data and remaining second separated data, and the authenticating means returns the first separated data from the counterpart device The first encryption unit combines the challenge data transmitted from the counterpart device and the first random number, and encrypts the combined data obtained as a result. The data transfer key generation means generates the data transfer key by combining the first random number and the second separated data, and generates the data transfer key, Separating means can also be assumed to be realized by the circuits in the IC.
[0116]
As a result, an encryption apparatus having a minimum necessary function for ensuring the safety of communication between devices and having a small-scale encryption IC is realized.
Here, the encryption algorithm by the transfer data encryption means may be the same as at least one of the first encryption means and the decryption means.
[0117]
This makes it possible to mount the transfer data encryption unit, the first encryption unit, and the decryption unit together with a single converter, thereby reducing the circuit scale of the encryption IC.
Here, the encryption algorithm by the transfer data encryption means is different from any of the first encryption means and the decryption means, and may be simpler than any of them.
[0118]
As a result, even if the encryption is repeated many times due to the size of the transfer data, the problem that the data transfer time is significantly increased due to the encryption is avoided.
Here, the transfer data encryption means may divide the transfer data into blocks having a predetermined length and encrypt each block using a corresponding portion of the data transfer key.
[0119]
As a result, this encryption apparatus can be applied to encrypted communication of transfer data having a large data size.
Here, the transfer data encryption means may perform the encryption by taking an exclusive OR of the block and a corresponding portion of the data transfer key.
[0120]
As a result, the transfer data encryption means can be realized with a simple logic circuit.
Here, the encryption by the first encryption unit and the decryption by the decryption unit may be the same conversion algorithm.
As a result, the first encryption means and the decryption means can be implemented by a single converter, and the circuit scale of the encryption IC can be reduced.
[0121]
Here, the first encryption means and the decryption means perform the encryption and decryption using the key data previously stored in the IC, and part of the key data is stored in the IC. It can also be assumed that the remaining part of the data stored in the mask ROM area is stored in the write-once ROM area in the IC.
As a result, it is possible to make up for the drawbacks when the authentication key is composed only of the mask ROM and the disadvantages when the authentication key is composed only of the write-once ROM.
[0122]
Here, the devices mutually authenticate that the counterpart device is a legitimate device by communication based on a challenge-response type authentication protocol,
The encryption apparatus further includes decryption means for decrypting encrypted combined data sent from the counterpart device with respect to the challenge data, and first decryption data corresponding to response data. Separating means for separating the separated data and the remaining second separated data, and whether or not the first random number and the first separated data match each other, and if the two match, the counterpart device is a legitimate device Authenticating means for authenticating, a second encryption means for encrypting the second separated data when the authentication is made, and a second reply for sending the encrypted second separated data as response data to the counterpart device 2 transmission means, wherein the data transfer key generation means generates the data transfer key by combining the first random number and the second separated data, and the decryption means, the separation Stage and the second encryption unit may also be assumed to be realized by the circuits in the IC.
[0123]
As a result, only one random number is generated and used for both the purpose of authentication and the generation of the data transfer key, so that the circuit scale for generating the random number in the encryption device is reduced.
Further, since random number generation and comparison processing for authentication are performed inside the encryption IC, the security of encryption communication is improved.
[0124]
The present invention also relates to a communication system including a transmitter and a receiver that share a data transfer key and perform cryptographic communication using the data transfer key. Can also be provided.
As a result, mutual authentication is performed between the transmitter and the receiver, a data transfer key is generated, a random number directly related to the generation of the data transfer key is not transmitted and received as it is, and a data transfer key is generated. Since the two directly related random numbers are provided from the transmitter and the receiver, respectively, it is suitable to be realized using a small-scale encryption IC, and a highly secure cryptographic communication system is provided. Realized.
[Brief description of the drawings]
FIG. 1 is a diagram showing a processing sequence of an encryption device according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a hardware configuration of the first encryption IC 54 shown in FIG.
FIG. 3 is a diagram showing a processing sequence of the encryption device according to the second embodiment of the present invention.
FIG. 4 is a diagram showing a processing sequence of an encryption apparatus according to a third embodiment of the present invention.
FIG. 5 is a diagram showing a processing sequence of an encryption apparatus according to a fourth embodiment of the present invention.
6 is a block diagram showing a hardware configuration of the first encryption IC 94 shown in FIG. 5. FIG.
FIG. 7 is a diagram showing an application example of the encryption apparatus according to the present invention to a specific communication system.
8 is a block diagram showing a configuration of the optical disc drive apparatus 110 shown in FIG.
FIG. 9 is a diagram showing an overview of a circuit board mounted inside the optical disc drive apparatus 110;
10 is a block diagram showing a configuration of the video reproduction device 111 shown in FIG.
FIG. 11 is a diagram showing a one-way authentication processing sequence according to the first prior art.
FIG. 12 is a diagram showing a processing sequence of two-way authentication according to the second prior art.
[Explanation of symbols]
51, 71, 81, 91 First device
52, 72, 82, 92 Second device
53, 73, 83, 93 MPU of the first device
54, 74, 84, 94 First encryption IC
55, 75, 85, 95 MPU of the second device
56, 76, 86, 96 Second encryption IC
59 Data transfer key K generator
60, 101 random number generator
61, 100 External I / F section
62, 102 random number storage
63 Joint
64, 103 Authentication key S storage
65, 66, 68, 104, 105, 107 switch
67, 106 E function
69 Separation part
70 Data transfer key K storage
108 comparator
110 Optical disk drive device
111 Video playback device
121 SCSI controller
122 Control unit
123 Encryption IC
124 MPU
125 optical head
130 SCSI controller
131 MPU
132 Encryption IC
133 MPEG decoder
134 AV signal processor

Claims (9)

データ転送鍵の共有化とそのデータ転送鍵を用いた暗号通信を行ない、チャレンジレスポンス型の認証プロトコルに基づく通信により相互に前記相手機器が正当な機器であることを認証し合う機器に備えられる暗号化装置であって、
前記データ転送鍵の共有化のための第1乱数を生成する第1乱数生成手段と、
前記第1乱数生成手段により生成された第1乱数を保持する第1乱数保持手段と、
前記第1乱数生成手段により生成された第1乱数を暗号化する第1暗号化手段と、
前記第1暗号化手段で暗号化された第1乱数を前記暗号通信の相手機器に送信する第1送信手段と、
前記相手機器に送信するチャレンジデータ用の第2乱数を生成する第2乱数生成手段と、
前記チャレンジデータに対して前記相手機器から返信されてきたレスポンスデータと前記第2乱数とが一致するか否かを判断し、一致した場合に前記相手機器は正当な機器であると認証する認証手段と、
前記認証手段による認証がなされた場合に、前記第1乱数保持手段に保持された第1乱数を用いて時変の前記データ転送鍵を生成するデータ転送鍵生成手段と、
暗号通信の対象となる転送データに対して前記データ転送鍵を用いて暗号化する転送データ暗号化手段とを備え、
前記第1乱数生成手段、前記第1乱数保持手段、前記第1暗号化手段、前記データ転送鍵生成手段及び前記転送データ暗号化手段は、1個のIC内の回路で実現され、
前記第2乱数生成手段及び前記認証手段は、前記IC外の回路で実現され、
前記第1乱数保持手段は、前記ICの外部からアクセスできない領域に前記第1乱数を保持することを特徴とする暗号化装置。
Sharing of data transfer key and its data transfer key cryptographic communication line stomach using, provided to a device mutually authenticate that the counterpart device to each other is an authorized device by communication based on a challenge-response type authentication protocol An encryption device,
First random number generation means for generating a first random number for sharing the data transfer key;
First random number holding means for holding the first random number generated by the first random number generating means;
First encryption means for encrypting the first random number generated by the first random number generation means;
First transmission means for transmitting the first random number encrypted by the first encryption means to the counterpart device of the encrypted communication;
Second random number generation means for generating a second random number for challenge data to be transmitted to the counterpart device;
Authentication means for judging whether or not the response data returned from the counterpart device with respect to the challenge data matches the second random number, and authenticating that the counterpart device is a valid device if they match When,
A data transfer key generating unit that generates the time-varying data transfer key using the first random number held in the first random number holding unit when the authentication unit performs authentication ;
Transfer data encryption means for encrypting transfer data to be encrypted using the data transfer key,
The first random number generation means, the first random number holding means, the first encryption means, the data transfer key generation means, and the transfer data encryption means are realized by a circuit in one IC,
The second random number generation means and the authentication means are realized by a circuit outside the IC,
The encryption apparatus according to claim 1, wherein the first random number holding means holds the first random number in an area that cannot be accessed from outside the IC.
前記暗号化装置はさらに、
前記相手機器から送られてきた暗号化された結合データを復号化する復号化手段と、
復号化された結合データをレスポンスデータに相当する第1分離データと残る第2分離データとに分離する分離手段と、
前記第1分離データを前記相手機器に返信する第2送信手段とを備え、
前記第1暗号化手段は、前記第1乱数と前記第2乱数とを結合し、その結果得られた結合データを暗号化し、
前記データ転送鍵生成手段は、前記第1乱数と前記第2分離データとを結合することにより、前記データ転送鍵を生成し、
前記復号化手段及び前記分離手段は、前記IC内の回路で実現されていることを特徴とする請求項記載の暗号化装置。
The encryption device further includes:
Decryption means for decrypting the encrypted combined data sent from the counterpart device;
Separating means for separating the decrypted combined data into first separated data corresponding to response data and remaining second separated data;
Second transmission means for returning the first separated data to the counterpart device;
The first encryption means combines the first random number and the second random number, encrypts the combined data obtained as a result,
The data transfer key generation means generates the data transfer key by combining the first random number and the second separated data,
Said decoding means and said separation means, the encryption apparatus according to claim 1, characterized in that it is implemented in circuitry within the IC.
前記暗号化装置はさらに、
前記第2乱数をチャレンジデータとして前記相手機器に送信する第2送信手段と、
前記相手機器から送られてきた暗号化された結合データを復号化する復号化手段と、
復号化された結合データをレスポンスデータに相当する第1分離データと残る第2分離データとに分離する分離手段とを備え、
前記認証手段は、前記第1分離データを前記相手機器から返信されてきたレスポンスデータとして前記判断及び認証をし、
前記第1暗号化手段は、前記相手機器から送信されてきたチャレンジデータと前記第1乱数とを結合し、その結果得られた結合データを暗号化し、
前記データ転送鍵生成手段は、前記第1乱数と前記第2分離データとを結合することにより、前記データ転送鍵を生成し、
前記復号化手段及び前記分離手段は、前記IC内の回路で実現されていることを特徴とする請求項記載の暗号化装置。
The encryption device further includes:
Second transmission means for transmitting the second random number as challenge data to the counterpart device;
Decryption means for decrypting the encrypted combined data sent from the counterpart device;
Separating means for separating the decrypted combined data into first separated data corresponding to response data and remaining second separated data;
The authentication means performs the determination and authentication as response data returned from the counterpart device as the first separation data,
The first encryption means combines the challenge data transmitted from the counterpart device and the first random number, encrypts the combined data obtained as a result,
The data transfer key generation means generates the data transfer key by combining the first random number and the second separated data,
Said decoding means and said separation means, the encryption apparatus according to claim 1, characterized in that it is implemented in circuitry within the IC.
前記転送データ暗号化手段による暗号化のアルゴリズムは、前記第1暗号化手段及び前記復号化手段の少なくとも1つのものと同一であることを特徴とする請求項又は記載の暗号化装置。The algorithm for encryption by the transfer data encryption means, at least one of those and encryption device according to claim 2 or 3, wherein the the same said first encryption means and the decryption means. 前記転送データ暗号化手段による暗号化のアルゴリズムは、前記第1暗号化手段及び前記復号化手段のいずれのものとも異なり、かつ、いずれのものよりも簡易であることを特徴とする請求項又は記載の暗号化装置。The algorithm for encryption by the transfer data encryption means differs also from that of any of the first encryption means and the decryption means, and claim 2 or characterized in that it is a simple than that of any 3. The encryption device according to 3 . 前記転送データ暗号化手段は、前記転送データを一定長のブロックに区切り、各ブロックに対して前記データ転送鍵の対応する部分を用いて暗号化することを特徴とする請求項記載の暗号化装置。6. The encryption according to claim 5, wherein the transfer data encryption means divides the transfer data into blocks having a predetermined length and encrypts each block using a corresponding portion of the data transfer key. apparatus. 前記転送データ暗号化手段は、前記ブロックと前記データ転送鍵の対応する部分との排他的論理和をとることにより、前記暗号化を行なうことを特徴とする請求項記載の暗号化装置。7. The encryption apparatus according to claim 6, wherein the transfer data encryption means performs the encryption by taking an exclusive OR of the block and a corresponding portion of the data transfer key. 前記第1暗号化手段での暗号と前記復号化手段での復号化とは、同一の変換アルゴリズムであることを特徴とする請求項記載の暗号化装置。8. The encryption apparatus according to claim 7, wherein the encryption by the first encryption means and the decryption by the decryption means are the same conversion algorithm. 前記第1暗号化手段及び前記復号化手段は、予め前記IC内に保持された鍵データを用いて前記暗号化及び復号化を行い、
その鍵データの一部は、前記IC内のマスクROM領域に格納され、残る一部は、前記IC内の追記ROM領域に格納されていることを特徴とする請求項記載の暗号化装置。
The first encryption means and the decryption means perform the encryption and decryption using key data previously held in the IC,
9. The encryption apparatus according to claim 8 , wherein a part of the key data is stored in a mask ROM area in the IC and a remaining part is stored in a write-once ROM area in the IC.
JP12997297A 1996-05-22 1997-05-20 Encryption device Expired - Lifetime JP3898796B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12997297A JP3898796B2 (en) 1996-05-22 1997-05-20 Encryption device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-126751 1996-05-22
JP12675196 1996-05-22
JP12997297A JP3898796B2 (en) 1996-05-22 1997-05-20 Encryption device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006315959A Division JP2007049759A (en) 1996-05-22 2006-11-22 Encoding device

Publications (2)

Publication Number Publication Date
JPH1051439A JPH1051439A (en) 1998-02-20
JP3898796B2 true JP3898796B2 (en) 2007-03-28

Family

ID=26462880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12997297A Expired - Lifetime JP3898796B2 (en) 1996-05-22 1997-05-20 Encryption device

Country Status (1)

Country Link
JP (1) JP3898796B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4071870B2 (en) * 1998-08-20 2008-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Secret key generation method
EP1089488B1 (en) 1999-04-13 2006-10-04 Sony Corporation Information processing system, information processing method, and information processing device
KR100578685B1 (en) * 1999-06-15 2006-05-12 지멘스 악티엔게젤샤프트 Method and system for verifying the authenticity of a first communication participants in a communications network
KR100580159B1 (en) * 1999-06-28 2006-05-15 삼성전자주식회사 Digital interface method for preventing an illegal copy
KR100723765B1 (en) 2000-01-14 2007-05-30 마츠시타 덴끼 산교 가부시키가이샤 Authentication communication device and authentication communication system
JP4713745B2 (en) * 2000-01-14 2011-06-29 パナソニック株式会社 Authentication communication apparatus and authentication communication system
JP4617533B2 (en) 2000-03-14 2011-01-26 ソニー株式会社 Information providing apparatus and method, information processing apparatus and method, and program storage medium
JP4300832B2 (en) 2003-03-14 2009-07-22 ソニー株式会社 Data processing apparatus, method thereof and program thereof
JP4881538B2 (en) 2003-06-10 2012-02-22 株式会社日立製作所 Content transmitting apparatus and content transmitting method
JP2007096728A (en) * 2005-09-28 2007-04-12 Kyocera Corp Communication apparatus, communication system, and information transmitting method
US9143331B2 (en) * 2013-02-07 2015-09-22 Qualcomm Incorporated Methods and devices for authentication and key exchange

Also Published As

Publication number Publication date
JPH1051439A (en) 1998-02-20

Similar Documents

Publication Publication Date Title
KR100473536B1 (en) An encryption apparatus for ensuring security in communication between devices and communication system
KR100443485B1 (en) Device authentication system which allows the authentication function to be changed
JP3541522B2 (en) Communication protection system and equipment between devices
KR100921586B1 (en) Method and apparatus for content protection in a personal digital network environment
US5949877A (en) Content protection for transmission systems
TWI271079B (en) System and method for security key transmission with strong pairing to destination client
US7702925B2 (en) Method and apparatus for content protection in a personal digital network environment
KR100417657B1 (en) One-way data conversion device and device authentication system
TW379308B (en) Coding apparatus and method, decoding apparatus and method and data processing device and method
JP2004533194A (en) Device configured to exchange data and method of authentication
KR20060020688A (en) Improved secure authenticated channel
TW200541285A (en) A secure key authentication and ladder system
JPS61237546A (en) Method establishing key between communication nodes
MXPA01010347A (en) Method of and apparatus for providing secure communication of digital data between devices.
US7617402B2 (en) Copyright protection system, encryption device, decryption device and recording medium
KR20020016636A (en) Self authentication ciphertext chaining
JP3898796B2 (en) Encryption device
KR20020082422A (en) Copyright protection system and method thereof
JPH11161165A (en) Information processing device
JP3575951B2 (en) Device authentication method and device, and authentication system
JP2007049759A (en) Encoding device
JP4713745B2 (en) Authentication communication apparatus and authentication communication system
CN101009549B (en) Decoding device for the digital copyright management
US7664964B2 (en) Electronic media communication apparatus
JPH09261217A (en) Communication equipment and its method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term