JP3824297B2 - 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置 - Google Patents

外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置 Download PDF

Info

Publication number
JP3824297B2
JP3824297B2 JP2001191828A JP2001191828A JP3824297B2 JP 3824297 B2 JP3824297 B2 JP 3824297B2 JP 2001191828 A JP2001191828 A JP 2001191828A JP 2001191828 A JP2001191828 A JP 2001191828A JP 3824297 B2 JP3824297 B2 JP 3824297B2
Authority
JP
Japan
Prior art keywords
random number
external storage
secret key
storage device
password
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001191828A
Other languages
English (en)
Other versions
JP2003018151A (ja
Inventor
秀人 新島
博明 江藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2001191828A priority Critical patent/JP3824297B2/ja
Publication of JP2003018151A publication Critical patent/JP2003018151A/ja
Application granted granted Critical
Publication of JP3824297B2 publication Critical patent/JP3824297B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、外部記憶装置とシステム装置との間でなされる認証方法等に係り、特に、実効的に強力なセキュリティを確保する認証方法等に関する。
【0002】
【従来の技術】
近年、CATV(ケーブルテレビ)の他、デジタル放送であるCS放送、BSデジタル放送が開始され、受信されるコンテンツを録画する方法としては、従来のビデオテープへの録画方式から、ハードディスクドライブ(HDD)等の外部記憶媒体に録画する方式に注目が移っている。このCATVやCS放送、BSデジタル放送を受信するための機能に加え、内蔵されるハードディスクドライブに番組を録画して追いかけ視聴ができたり、インターネットに接続できたりといった機能を備えた情報端末として、セットトップボックス(STB:Set Top Box)が存在している。
【0003】
このセットトップボックスは、コンテンツの配信に重点が置かれており、現在のビジネスモデルでは顧客に無料で配布される場合が多い。ハードディスクドライブが装備されたセットトップボックスを無料配布するメーカにとっては、放送されるコンテンツの用途に対してハードディスクドライブが利用されれば問題はないのであるが、他の用途に流用されることには問題がある。即ち、ハードディスクドライブを流用する目的でセットトップボックスの無料配布を受ける顧客を排除することが必要となる。
【0004】
【発明が解決しようとする課題】
ここで、AT互換機のハードディスク・インターフェースとして、最も普及しているATA(IDE)では、下記のようなセキュリティコマンドが、標準ATAコマンドとしてサポートされている。
・SECURITY SET PASSWORD
・SECURITY UNLOCK
・SECURITY ERASE PREPARE
・SECURITY ERASE UNIT
・SECURITY FREEZE LOCK
・SECURITY DISABLE PASSWORD
【0005】
しかしながら、これらは単純なパスワードシステムであり、例えば、ハードディスクドライブのロック状態を解除するためのコマンドである「SECURITY UNLOCK」では、その因数としてのパスワードをハードディスクドライブへ転送している。この構成の場合、例えば、ハードディスクドライブが盗まれてもその内容を盗まれたくないような態様には有効に働かせることができる。しかし、セットトップボックスのシステム所有者が、ハードディスクドライブが接続された状態でパスワードを盗み、その後、ハードディスクドライブを他に転用するような状況は想定されていない。即ち、セットトップボックスの提供メーカが、無料配布するハードディスクドライブを特定のセットトップボックス(例えば配布時に組み合わされたセットトップボックス)に対してのみ使用を許可したいと欲するにも関わらず、現状の技術では、かかる顧客を排除することは困難である。
【0006】
このハードディスクドライブを盗用しようとするもの(攻撃者)が行なうものとしては、パスワードハックと、横取りとがある。現状の技術では、ハードディスクドライブパスワードは、ハードディスクコントローラからハードディスクドライブに対して、素のもの(Plain Text)が引き渡されている。攻撃者は、これをモニタすることによって、簡単にハードディスクドライブパスワードを盗み取る(パスワードハック)が可能である。また、ハードディスクドライブは、一度、ハードディスクドライブパスワードを受け取ってしまうと、以後、如何なるコントローラからのコマンドに対しても応答してしまう。この構成は、ハードディスクドライブを他の用途に使用するチャンスを攻撃者に与えるだけではなく、ハードディスクドライブ内コンテンツの読取りを簡便にし、コンテンツプロテクションの脆弱性を高める可能性もある。
【0007】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、外部記憶装置が特定のシステムとの組み合わせ以外で動作することを禁止することにある。
また他の目的は、外部記憶装置を盗用しようとする者が、その認証プロトコルなどを知り得ても、盗用が成功しないような充分安全(セキュア)なプロトコルと機構とを実装することにある。
更に他の目的は、現状のコマンドとの最大限の整合性を考慮した新たなコマンド体系を提供することにある。
【0008】
【課題を解決するための手段】
かかる目的のもと、本発明は、ハードディスクドライブ等の外部記憶装置とシステム側であるシステム装置との間で秘密情報(秘密鍵)を共有し、これによって機器相互認証を行なう。また、システム装置は、この秘密情報を用いてパスワードを暗号化して外部記憶装置に送信し、以後、システム装置は、コマンドを外部記憶装置へ発行する度に、または特定のコマンド群を外部記憶装置へ発行する度に、秘密情報に基づいた毎回発生するパスワードを外部記憶装置へ送信している。更に、パスワードを受け取った外部記憶装置は、そのパスワードの有効性を毎回検査の上、システム装置からのコマンドに応答し、または拒否を行なっている。
【0009】
即ち、本発明は、データの書き込みおよび読み出しを行なう外部記憶装置とこの外部記憶装置に対してアクセスするシステム装置との間でなされる認証方法として把握できる。ここで、このシステム装置は、発生した乱数を外部記憶装置に送信し、外部記憶装置は、送信された乱数に対して一定の法則に則って加工を施した後に秘密鍵で暗号化した情報をシステム装置に送信し、システム装置は、受信した情報を秘密鍵を用いて復号化し、復号化された情報に基づいて、乱数に対して一定の法則に則って加工が施されたことを認識し、外部記憶装置とシステム装置とが互いに同一の秘密鍵を保持していることを確認することを特徴としている。ここで、このシステム装置は、確認の結果として認証の失敗回数をカウントし、この認証の失敗回数がある一定値を超えた時点で外部記憶装置に対するアクセスを停止することを特徴とすることができる。
【0010】
また、本発明が適用される認証方法では、外部記憶装置は、発生した乱数に第1の秘密鍵を用いて暗号化を施した暗号化乱数をシステム装置に送信し、システム装置は、送信された暗号化乱数に対して第1の秘密鍵を用いて復号化し、一定の法則に則って加工を施した後に第2の秘密鍵で暗号化された情報を外部記憶装置に送信し、外部記憶装置は、送信された情報を第2の秘密鍵を用いて復号化した後の数が乱数を一定の法則に則って加工したものであることを確認することを特徴とすることができる。
【0011】
更に、本発明が適用される認証方法では、外部記憶装置及びシステム装置は、秘密情報として第1の鍵および第2の鍵を互いに保持し、この第1の鍵および第2の鍵を用いて、それぞれ暗号化および復号化を行なうことが好ましい。
【0012】
また、本発明が適用される認証方法では、外部記憶装置は、発生させた乱数を秘密鍵を用いて暗号化してシステム装置に送信し、システム装置は、送信された乱数を秘密鍵を用いて復号化し、復号化された乱数によりパスワードに対して論理演算が施された演算結果を外部記憶装置に送信し、外部記憶装置は、送信された演算結果に対して論理演算の逆演算を施すことによりパスワードを抽出し、外部記憶装置が保持しているパスワードと一致しているか否かを判断することを特徴とすることができる。また、第1の秘密鍵と第2の秘密鍵とを互いに保持し、システム装置は、この第1の秘密鍵により復号化された乱数を第2の秘密鍵により暗号化してパスワードマスクとし、パスワードに対してパスワードマスクによる論理演算が施された演算結果を外部記憶装置に送信することを特徴とすることができる。
【0013】
一方、本発明は、外部記憶装置と、この外部記憶装置に対してアクセスするシステム装置とを備えた認証システムとして把握することができる。この認証システムにおけるシステム装置では、発生した乱数を外部記憶装置に送信し、送信された乱数に対して外部記憶装置が一定の法則に則って加工を施した後に秘密鍵で暗号化した情報を外部記憶装置から受信し、受信した情報を秘密鍵を用いて復号化し、復号化された情報に基づいて、乱数に対して一定の法則に則って加工が施されたことを認識することで、外部記憶装置とシステム装置とが互いに同一の秘密鍵を保持していることを確認している。この確認の結果として、認証の連続失敗回数をカウントし、認証の連続失敗回数がある一定値を超えた時点で外部記憶装置に対するアクセスを停止することを特徴とすれば、認証の誤りに対してアクセスを停止してしまう問題に対応することができる。
【0014】
また、本発明は、ハードディスクドライブが内蔵された提供されるセットトップボックス(STB)等のコンピュータ装置として把握することができる。
【0015】
更に観点を変えると、本発明は、外部記憶装置に対してアクセスするシステム装置として把えることができる。このシステム装置は、秘密情報として外部記憶装置と共通する2つの秘密鍵を保持する保持手段、乱数を発生する乱数発生手段、乱数を外部記憶装置に送信する送信手段、送信された乱数に対して外部記憶装置が一定の法則に則って加工を施した後に秘密鍵で暗号化した情報を外部記憶装置から受信する受信手段、受信した情報を秘密鍵を用いて復号化する復号化手段、復号化された情報により乱数発生手段にて発生した乱数に対して一定の法則に則って加工が施されたことを認識することで、外部記憶装置とシステム装置とは互いに同一の秘密鍵を保持することを確認する確認手段とを備えている。
【0016】
また、本発明が適用されるハードディスクドライブ等の外部記憶装置では、システム装置と同一の秘密鍵を保持する保持手段、乱数を発生する乱数発生手段と、乱数に秘密鍵を用いて暗号化を施す暗号化手段と、暗号化が施された暗号化乱数をシステム装置に送信する送信手段、送信した暗号化乱数に対してシステム装置にて復号化された後に加工された乱数をシステム装置から受信する受信手段、受信した乱数が一定の法則に則って加工されたものであることを確認する確認手段を備えたことを特徴としている。
【0017】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図1は、本実施の形態が適用されるコンピュータシステムの構成を説明するための図である。ここでは、コンピュータシステムの一例として、ケーブルTV(CATV)用であるデジタル型のセットトップボックス10を挙げて説明する。本実施の形態が適用されるセットトップボックス10は、ケーブルTVとして配信される番組(コンテンツ)を受信するケーブルモデム8と、配信された番組を表示出力するディスプレイ(TV)9に接続されている。
【0018】
また、システム側として機能するセットトップボックス10には、ICカードの1つであるスマートカード7を取り付けることができる。このスマートカード7には、システム側の秘密情報(後述するPks、Pkh)が保存されている。また、このスマートカード7には乱数発生装置が組み込まれており、本実施の形態にてシステム側で生成すべき乱数は、このスマートカード7の内部で生成されている。
【0019】
セットトップボックス10は、スマートカード7に格納された情報を読み込みスマートカード7にアクセスすることができるスマートカードリーダ11、ディスプレイ(TV)9とのインターフェース(I/F)として機能するディスプレイI/F12、ケーブルモデム8を介して受信したコンテンツを取り込むイーサネットI/F13、各種カウンタの値等を格納するRAM14、セットトップボックス10の全体を制御するMPU15、MPU15の動作プログラム等が格納されているROM16を備えている。このROM16には、手順公開型の秘密鍵暗号の一方式であるDES(Data Encryption Standard)や対象ストリーム暗号方式であるRC4等の暗号プログラムが実装されている。
【0020】
更に、セットトップボックス10は、本実施の形態が適用される外部記憶装置であるセキュア(Secure)HDD(ハードディスクドライブ)20が接続されている。セットトップボックス10を提供するメーカからは、セットトップボックス10とセキュアHDD20とを筐体に一体として組み込んだ形式にて提供される。ケーブルモデム8を介して配信されるコンテンツは、セットトップボックス10のイーサネットI/F13を通り、セキュアHDD20に保存される。保存されたコンテンツは、必要に応じて、ディスプレイI/F12を介してディスプレイ(TV)9に再生表示される。
【0021】
図2は、本実施の形態が適用される外部記憶装置の構成を詳述した説明図である。本実施の形態が適用されるセキュアHDD20は、データが格納されるメディアであるディスクメディア21、ディスクメディア21を制御するメディアコントローラ22、セキュアHDD20の全体を制御する演算処理装置であるMPU23、DESやRC4等の暗号プログラムが実装されるROM24、MPU23により制御される各種カウンタ等を格納するRAM25、ATA(AT Attachment)によりシステム側とのインターフェースを司るATA I/F26を備えている。
【0022】
図3は、図1および図2にて説明したコンピュータシステムにおける処理ブロックの構成を説明するための図である。ここでは、システム装置であるシステム側30(セットトップボックス10側)と外部記憶装置であるHDD側50(セキュアHDD20側)とがデータバス40を介して接続されている。システム側30は、図1に示すMPU15に含まれる中央処理装置31、HDD側50とのデータ送受信を実行するデータ送受信制御装置32、本実施の形態におけるセキュリティ関連情報の格納等がなされているセキュリティ制御機構33とを備えている。セキュリティ制御機構33は、図1に示すスマートカード7に格納される不揮発性メモリ34と乱数発生器35を備え、また、図1に示すMPU15によって制御管理されてRAM14上に保持される認証失敗カウンタ36およびコマンドカウンタ37とを含んでいる。更に、乱数発生器35とは別のコマンドで用いられる乱数発生器38を備えている。
【0023】
この乱数発生器38は、図1に示すROM16上のソフトウェアによって実装され、より具体的には、DES、RC4等の暗号プログラムにより実現される。乱数発生器38は、図1に示すスマートカード7の不揮発性メモリ34に格納されている秘密鍵(秘密情報(Pks、Pkh))を受け取ると共に、乱数発生器35から初期乱数値を受け取る。暗号プログラムは、受け取ったこの乱数初期値を秘密鍵で繰り返し暗号化することにより、擬似乱数列を生成している。認証失敗に関する情報は認証失敗カウンタ36に格納され、システム停止などの定められた状態への遷移に利用される。また、データバス40を介してハードディスクドライブとの送受信に用いられたコマンドは、コマンドカウンタ37に格納される。
【0024】
HDD側50は、図2に示したMPU23に含まれる中央処理装置51、システム側30とデータバス40を介して送受信を行なうデータ送受信制御装置52、およびセキュリティ制御機構53を備えている。このセキュリティ制御機構53は、乱数発生器54を備えている。この乱数発生器54は、専用のハードウェアを用意してMPU23と接続してもよいが、本実施の形態では、ROM24上のソフトウェアによる実装とし、その前提として、HDD出荷時にディスクメディア21に固有の乱数初期値を2個、書き込んでおくものとする。ROM24上には、DESやRC4等の暗号プログラムが実装されており、1つの初期値を暗号鍵として、暗号プログラムにより他の初期値を暗号化し、その暗号化の結果をもって生成された乱数とみなすものとする。この生成された乱数を、初期値に上書きし、以降、この生成プロセスを繰り返すことにより、同一の乱数列が生成されることを防いでいる。
【0025】
乱数発生器57は、ROM24上のソフトウェアにより実装され、DESやRC4等の暗号プログラムにより実現される。この暗号プログラムは、暗号鍵と乱数初期値とを受け取り、乱数初期値を暗号鍵で繰り返し暗号化することによって、擬似乱数列を生成している。認証失敗カウンタ55およびコマンドカウンタ56は、図2に示したMPU23により制御管理され、これらの値はRAM25上に保持される。
【0026】
システム側30に設けられる認証失敗カウンタ36、HDD側50に設けられる認証失敗カウンタ55は、連続して認証の失敗をした回数が記録される。ここでは、相手機器が秘密情報を共有していないことが明らかになった時点で、認証の失敗が発生し、認証失敗カウンタ36,55のカウント値がインクリメントされる。相手機器が秘密情報を共有していることが明らかになった時点で、認証失敗カウンタ36,55のカウンタ値が「0」にリセットされる。また、認証失敗カウンタ36,55のカウンタ値がある一定数を超えた時点で、システム側30またはHDD側50の動作を停止している。
【0027】
次に、図4〜図6を用いて、本実施の形態におけるシステム側30とHDD側50とでなされる暗号・認証方式について説明する。ここでは、パーソナライズ(Personalize)処理、パスワードの暗号化、および継続的な機器認証機構を説明する。
【0028】
図4は、イニシャル時になされるパーソナライズ処理を説明するための図である。本実施の形態では、システム側30とHDD側50とで秘密情報(Personal Key)を共有し、この秘密情報を用いることにより、機器相互認証を行なっている。この機器相互認証は、電源立ち上げ時には必ず行なわれる。また、システム側30とHDD側50とは、互いに乱数を発生させ、これをこの秘密情報を用いて暗号化した後に交換している。
【0029】
図4に示すように、システム側30とHDD側50とは、秘密情報として秘密鍵Pksと秘密鍵Pkhとを持ち、その初期値として、各々Is、Ihという値を持っている。これらは、システム側30とHDD側50との製造時に書き込むものとし、システム側30とHDD側50との初期化プログラムを実行することにより、PksとPkhとが各々Is、Ihに戻るものとしている。これらIs、Ihには、例えば、客先固有の値を与え、夫々を秘密にすることによって、初期状態にあるHDD側50に対しても、それを他社のシステム側30に接続することを禁止することができる。
【0030】
秘密状態として持つPksまたはPkhは、各々異なるものを与える場合と、Pks=f(Pkh)というような、片方の値を加工した値を与える場合とが考えられる。例えば、PksはPkhに1を加えたり、Pkhに特定の定数値と排他的論理和を取ったものを採用する方法もある。この初期状態にあるシステム側30とHDD側50とを用い、例えばSTBを提供するメーカは、セキュアHDD20をセットトップボックス10に装填する。
【0031】
システム側30では、先ず乱数RNDxが生成され、次にHDD側50に対して、『SET_PERSONALIZE』コマンドが発行される。同時に、コマンドの引数として、先に生成した乱数RNDxがHDD側50へ送信される。乱数の受け渡しの際に、何らかの加工が施される場合も本例に含むものとする。例えば、乱数RNDxを暗号化したものがHDD側50へ送信される場合などである。
【0032】
HDD側50では、乱数RNDyが生成され、次に、受け取った乱数RNDxに特定の加工が施される。そして、乱数RNDyおよび特定の加工が施された乱数RNDxが連結されたものがPkhにより暗号化され、システム側30に送信される。ここでは、手順公開型であるDESによって暗号化されている。また、乱数RNDxの加工例として、単純に+1がなされる場合を示しているが、例えば、乱数RNDyが加えられたり、乱数RNDyと排他的論理和が取られる場合もある。更には「0」が加えられる場合もある。
【0033】
システム側30では、加工されて送られてきた乱数RNDxに対して秘密鍵Pkh(=Ih)にて復号化が行なわれ、その結果が特定の加工を受けた乱数RNDxと同一であるかどうかが確認される。図4に示す例では、復号結果がRNDx+1になっているかどうかが確認される。この結果が正しくなければ、システム側30内の認証失敗カウンタ36がインクリメントされ、本コマンドプロトコルが終了される。認証失敗カウンタ36の出力がある特定の値(例えば3)を超える場合には、セキュリティ上の問題があるとして、システム側30はシステム停止などの定められた状態に遷移し、コマンドを受け付けないようにする。但し、どのような状態に遷移するかは基本的にはセットトップボックス10を提供するメーカ側のセキュリティポリシーに依存するものとなる。
【0034】
RNDx+1が正しく確認された場合、図4に示すように、システム側30は、乱数 newPks を発生し、それが新たなPksの候補とされる。また、システム側30では、RNDyがPkh(=Ih)にて復号化され、その結果に対して特定の加工(ここでは+1)が行なわれる。システム側30では、newPksとRNDy+1とがPks(=Is)にて暗号化され、これがHDD側50に送信される。
【0035】
次に、HDD側50では、加工されて送られてきたRNDyに対して秘密鍵Pks(=Is)にて復号化が行なわれ、その結果が特定の加工を受けたRNDyと同一であるかどうかが確認される(この例では、復号結果がRNDy+1になっているかどうかが確認される)。この結果が正しくなければ、HDD側50内の認証失敗カウンタ55がインクリメントされ、本コマンドプロトコルが終了されて、通常のATAコマンドと同様の方式にてエラーがシステム側30に返される。認証失敗カウンタ55の出力がある特定の値(例えば3)を超える場合には、セキュリティ上の問題があるとして、HDD側50ではシステム停止などの定められた状態への遷移がなされ、コマンドが受け付けられないように制御される。但し、どのような状態に遷移するかは、基本的にはセットトップボックス10を提供するメーカ側のセキュリティポリシーに依存することとなる。
【0036】
RNDy+1が正しく確認された場合には、HDD側50からは、乱数 newPkh が出力され、これが新たなPkh候補とされる。次にHDD側50では、newPks が秘密鍵Pks(=Is)にて復号化され、これが新たな 秘密鍵Pks とされて、古い秘密鍵Pks(=Is)が置き換えられる。HDD側50からは、ステータスコードとして正常終了がシステム側30に返されると共に、newPkhが秘密鍵Pkh(=Ih)にて暗号化された結果がシステム側30に送信される。その後、HDD側50では、newPkhが新たな秘密鍵Pkhとして、古いPkh(=Ih)に置き換えられる。
【0037】
システム側30では、ステータスコードとしてエラーが返って来た場合には、Pks、Pkhが更新されることはなく、プロトコルが終了される。ステータスコードとして正常終了が返って来た場合には、システム側30では、newPkh がPkh(=Ih)にて復号化され、これが新たなPkh として、古いPkh(=Ih)に置き換えられる。更に、newPks が新たなPksとされて、古いPks(=Is)が置き換えられる。
【0038】
以上のようなプロトコルにより、秘密鍵であるPksとPkhとが更新され、以降、この新たな秘密鍵を有するペアのシステム側30とHDD側50以外では通信が不可能となる。その後、更に秘密鍵の更新が必要となった場合には、上記のプロトコルにおける現在のPks、Pkhの値をIs、Ihに読み替えることによって、同一のプロトコルにて実現することが可能となる。
【0039】
図5は、パスワードの暗号化処理を説明するための図である。ここでも前述と同様に、システム側30とHDD側50とは、秘密鍵PksとPkhとを秘密情報として持つものとし、また、電源投入時に、HDD側50は、パスワードロックがなされた状態で起動されるものとする。このとき、本実施の形態では、システム側30はHDD側50を使用するためにHDD側50にパスワードを送らなければならず、図5に示す手順が実行される。
【0040】
システム側30では、先ず、乱数sRNDが生成され、次にHDD側50に対して『OPEN_SESSION』コマンドが発行される。同時に、このコマンドの引数として、先に生成した乱数sRNDがHDD側50へ送信される。
【0041】
HDD側50では、先ず乱数hRNDが生成され、次に受け取った乱数sRNDに特定の加工が施される。そして、乱数hRNDと特定の加工が施された乱数sRNDとが連結されたものに対して秘密鍵Pkh にて、例えばDESによる暗号化が施され、システム側30に送信される。ここでは、乱数sRNDの加工例として単純に+1が施される例が示されているが、例えば、乱数hRNDが加えられたり、乱数hRNDと排他的論理和が取られる場合もある。更には、「0」が加えられる場合もある。
【0042】
システム側30では、加工されて送られてきた乱数sRNDに対して秘密鍵Pkh にて復号化がなされ、その結果が特定の加工を受けた乱数sRNDと同一であるか否かが判断される(図5に示す例では、復号結果がsRND+1になっているかどうかが確認される)。この結果が正しくなければ、システム側30内の認証失敗カウンタ36がインクリメントされ、本コマンドプロトコルが終了される。認証失敗カウンタ36の出力が、ある特定の値(例えば3)を超える場合には、セキュリティ上の問題があるとしてシステム側30はシステム停止などの定められた状態に遷移され、コマンドを受け付けないように制御される。但し、どのような状態に遷移するかは基本的にはSTBメーカのセキュリティポリシーに依存している。
【0043】
sRND+1が正しく確認された場合、システム側30では暗号化されたhRNDがPkh にて復号化され、乱数hRNDが取り出される。システム側30では、この乱数hRNDが更に秘密鍵Pks にて暗号化され、これがPW_Maskとされる。同時に、HDD側50でも乱数hRNDが秘密鍵Pksにて暗号化され、これがPW_Maskとされる。システム側30では、通常のHDDパスワードをPW_Mask により暗号化(ここでは排他的論理和を計算)する事によってマスクがなされる(Masked_PW の生成)。
【0044】
システム側30からは、標準の『SECURITY UNLOCK』コマンドが発行されるが、このとき、素のパスワードの代わりに、生成されたMasked_PW がパスワードフィールドに埋め込まれて、HDD側50へ送信される。HDD側50では、Masked_PW が復号化される(ここでは、Masked_PW と PW_Mask との排他的論理和が計算される)事により、素のHDDパスワードが抽出される。HDD側50では、得られた素のHDDパスワードが用いられ、以後、標準の『SECURITY UNLOCK』コマンドの手順に従い、コマンド処理が実行される。
【0045】
図6は、継続的な機器認証機構を説明するための図である。イニシャルセットアップ(Initial Setup)において、まず、システム側30では、パスワードの暗号化プロセスによって『OPEN_SESSION』コマンドが発行される。これに伴い、システム側30とHDD側50とでは、乱数sRNDとhRNDとが共有される。ここでシステム側30およびHDD側50では、ある特定の関数にsRNDとhRNDとが与えられ、擬似乱数列のシード値Ivが作成される。具体的な関数としては、例えばsRNDとhRNDとの排他的論理和の計算等が挙げられるが、この他にもsRNDをhRNDにて暗号化することも可能である。
【0046】
システム側30およびHDD側50には、同一の擬似乱数発生器(PRNG(Pseudo Random Number Generator))が内蔵され、これへの初期値としてIvが与えられて、乱数列PRNG(Iv++)が生成される。システム側30でのこの乱数列の先頭をKrsとし、HDD側50でのこの乱数列の先頭をKrhとする。
【0047】
システム側30からHDD側50へコマンドが送出される毎に、又は、システム側30からHDD側50へ特定のコマンド群(例えばREADコマンド)が送出される毎に、システム側30からは『SET_KEY』コマンドが発行され、その引数としてKrsがHDD側50に送信される。また、システム側30からHDD側50に対して、READコマンドが送信される。このREADコマンドは、通常のATAコマンドであるが、この例では、機器認証を必要とするコマンドの例とされている。
【0048】
HDD側50では、このREADコマンドの受信に先立って、送信されたKrsが、HDD側50内部で生成されたKrhと同一であるかどうかが検査される。これが同一である場合には、READコマンドに対して通常どおりの処理が行なわれる。以降、HDD側50およびシステム側30では、それぞれのPRNGによって得られる乱数列から、順序に従って取り出した乱数が、それぞれ新たなKrs、Krhとされ、『SET_KEY』コマンドからのプロトコルが繰り返される。また、KrsがKrhと異なる場合、HDD側50の動作が停止され、セキュリティロックがかかった状態に遷移する。これを解除するためには、再度『OPEN_SESSION』コマンドから手続きを踏む必要がある。
【0049】
以上のようにして、システム側30とHDD側50との間における秘密鍵の共有と新規鍵への交換、パスワードの暗号化、継続的な機器認証機構行い、両者の機器認証を可能としている。これによって、HDD側50は、特定のシステム側30以外では動作せず、また、システム側30は偽のHDD側50を認識することが可能となる。また、2つの鍵を共有する場合には、短い鍵を使用した比較的弱い暗号方式を使いながらも、実行的に強力なセキュリティを確保することが可能となる。
【0050】
次に、図7〜図10を用いてセットトップボックス10(システム装置)であるシステム側30における処理の流れを詳述する。
図7は、システム側30における全体処理の流れを説明するためのフローチャートである。まず、中央処理装置31の電源がオンされ(ステップ101)、『OPEN_SESSION』コマンドの処理が実行される(ステップ102)。そして、パーソナライズ(PERSONALIZE)要求の有無が判断される(ステップ103)。要求が存在する場合には、『SET_PERSONALIZE』コマンドの処理が実行されて(ステップ104)、ステップ107に移行する。ステップ103で要求が存在しない場合には、各種HDDコマンド要求の有無が判断される(ステップ105)。要求が存在する場合には、各種HDDコマンド処理が実行され(ステップ106)、ステップ107に移行する。ステップ105で要求が存在しない場合には、図3に示すコマンドカウンタ37が特定の値、例えば「10」より大きいか否かが判断される(ステップ107)。この特定の値を超える場合には、コマンドカウンタ37を「0」にセットし(ステップ108)、『SET_KEY』コマンド処理が実行される(ステップ109)。ステップ107で、この特定の値を超えない場合には、コマンドカウンタ37をインクリメント(+1)し(ステップ110)、ステップ103に戻る。
【0051】
図中の▲1▼からの処理、即ち、後述するタイムアウトエラーや復号結果が正しくない場合には、認証失敗カウンタ36をインクリメント(+1)する(ステップ111)。そして、認証失敗カウンタ36が特定の値、例えば3より大きいか否かが判断される(ステップ112)。特定の値を超える場合には、誤りがあるものとして中央処理装置31を停止する(ステップ113)。認証失敗カウンタ36が特定の値を超えない場合には、ステップ103からの処理が実行される。
【0052】
図8は、図7のステップ104における『SET_PERSONALIZE』コマンドの処理を詳述したフローチャートである。システム側30は、まず、乱数発生器35から64ビット乱数RNDxを取り出す(ステップ201)。そして、取り出した乱数をパラメータに持つ『SET_PERSONALIZE』コマンドをデータ送受信制御装置32からHDD側50に対して送信する(ステップ202)。その後、データ送受信制御装置32によって受信される128ビット通信データを待つ(ステップ203)。中央処理装置31は、タイムアウトエラーが生じたか否かを判断し(ステップ204)、タイムアウトの場合には、上述した▲1▼の認証失敗処理に移行する。タイムアウトエラーが生じる前に128ビット通信データを受信した場合には、受信した128ビット通信データをD1とする(ステップ205)。
【0053】
次に、中央処理装置31は、不揮発性メモリ34のハードディスク用秘密鍵領域からPkhを取り出す(ステップ206)。そして、このPkhで受信データD1を復号する(ステップ207)。ここで、復号データの後半64ビットデータがRNDx+1か否かが判断され(ステップ208)、RNDx+1ではない場合、即ち、この結果が正しくない場合には、上述した▲1▼の認証失敗処理に移行する。正しい場合には、復号データの前半64ビットデータをRNDyとする(ステップ209)。
【0054】
次に、不揮発性メモリ34のシステム用秘密鍵領域からPksを取り出す(ステップ210)。そして、乱数発生器35から64ビットデータD2を作成し(ステップ211)、このD2から56ビットを取り出して新しいシステム用秘密鍵newPksとする(ステップ212)。次に、D2とRNDy+1を結合した128ビットデータをPksで暗号化し(ステップ213)、この暗号化データをデータ送受信制御装置32から送信する(ステップ214)。そして、データ送受信制御装置32から128ビット通信データを待ち(ステップ215)、タイムアウトエラーの有無を判断して(ステップ216)、タイムアウトエラーである場合には、上述した▲1▼のステップに移行する。タイムアウトエラーではない場合には、受信した64ビット通信データをPkhで復号し、その値を不揮発性メモリ34のハードディスク用秘密鍵領域に格納する(ステップ217)。そして、newPksを不揮発性メモリ34のシステム用秘密鍵領域に格納し(ステップ218)、認証失敗カウンタ36を0として(ステップ219)、ステップ107へ戻る。
【0055】
図9は、図7のステップ102における『OPEN_SESSION』コマンドの処理を詳述したフローチャートである。システム側30は、まず、乱数発生器35から64ビット乱数sRNDを取り出し(ステップ301)、取り出した乱数をパラメータに持つ『OPEN_SESSION』コマンドをデータ送受信制御装置32からHDD側50に対して送信する(ステップ302)。そして、データ送受信制御装置32によって受信される128ビット通信データを待つ(ステップ303)。ここで、タイムアウトエラーが発生したか否かを判断し(ステップ304)、タイムアウトの場合には、▲1▼の認証失敗処理に移行する。タイムアウトエラーが生じる前に128ビット通信データを受信した場合には、受信した128ビット通信データをD1とする(ステップ305)。
【0056】
次に、中央処理装置31は、不揮発性メモリ34のハードディスク用秘密鍵領域からPkhを取り出し(ステップ306)、このPkhで受信データD1を復号する(ステップ307)。ここで、復号データの後半64ビットデータがsRND+1か否かが判断され(ステップ308)、sRND+1ではない場合、即ち、この結果が正しくない場合には、上述した▲1▼の認証失敗処理に移行する。正しい場合には、復号データの前半64ビットデータをhRNDとする(ステップ309)。
【0057】
次に、不揮発性メモリ34のシステム用秘密鍵領域からPksを取り出し(ステップ310)、hRNDをPksで暗号化した値と不揮発性メモリ34に格納されたHDD用パスワードの排他的論理和をD2とする(ステップ311)。このD2をパラメータとするATA SECURITYコマンドをデータ送受信制御装置32からHDD側50に送信する(ステップ312)。そして、sRND+hRNDの値を乱数発生器35の初期値に設定し(ステップ313)、認証失敗カウンタ36を0として(ステップ314)、ステップ103へ戻る。
【0058】
図10は、図7のステップ109における『SET_KEY』コマンドの処理を示したフローチャートである。『SET_KEY』コマンド処理では、乱数発生器38から擬似乱数列のシード値Ivを取得する(ステップ401)。その後、このIvをパラメータに持つ『SET_KEY』コマンドをデータ送受信制御装置32からHDD側50に送信し(ステップ402)、ステップ103に戻る。
【0059】
このように、本実施の形態におけるセットトップボックス10等のシステム側30では、乱数を発生してHDD側50に対して送信し、この乱数に対してHDD側50により一定の法則に則って加工が施され(加工された乱数)、秘密鍵で暗号化されたものを受信する。一方で、システム側30では、暗号化された「加工された乱数」を秘密鍵を用いて復号化し、その数が、発生した乱数に一定の法則に基づいて加工を施したものかどうかを確認している。これによって、システム側30にて、HDD側50が秘密鍵を保持しているか否かを判断することができる。
【0060】
次に、図11〜図14を用いてHDD側50における処理の流れを詳述する。図11は、HDD側50における全体処理の流れを説明するためのフローチャートである。まず、中央処理装置51の電源がオンされ(ステップ501)、『OPEN_SESSION』コマンドの処理が実行される(ステップ502)。そして、パーソナライズ(PERSONALIZE)コマンドの有無が判断され(ステップ503)、コマンドが存在する場合には、『SET_PERSONALIZE』コマンドの処理が実行されて(ステップ504)、ステップ508に移行する。ステップ503で要求が存在しない場合には、『SET_KEY』コマンドの有無が判断される(ステップ505)。コマンドが存在する場合には、『SET_KEY』コマンドの処理が実行され(ステップ506)、コマンドカウンタ56を0にして(ステップ507)、ステップ508に移行する。
【0061】
ステップ505でコマンドが存在しない場合には、図3に示すコマンドカウンタ56が特定の値、例えば「10」より大きいか否かが判断される(ステップ508)。この特定の値を超える場合には、中央処理装置51を停止する(ステップ509)。この特定の値を超えない場合には、コマンドカウンタ56をインクリメント(+1)し(ステップ510)、ステップ503に戻る。
【0062】
図中の▲2▼からの処理、即ち、後述するタイムアウトエラーや復号結果が正しくない場合には、認証失敗カウンタ55をインクリメント(+1)する(ステップ511)。そして、認証失敗カウンタ55が特定の値、例えば3より大きいか否かが判断される(ステップ512)。特定の値を超える場合には、誤りがあるものとして中央処理装置51を停止する(ステップ509)。認証失敗カウンタ55が特定の値を超えない場合には、ステップ503からの処理が実行される。
【0063】
図12は、図11のステップ504における『SET_PERSONALIZE』コマンドの処理を詳述したフローチャートである。HDD側50の中央処理装置51は、まず、データ送受信制御装置52からRNDxを受け取り(ステップ601)、乱数発生器54から64ビット乱数RNDyを取り出す(ステップ602)。そして、不揮発性メモリ(ディスクメディア21)のハードディスク用秘密鍵領域からPkhを取り出す(ステップ603)。その後、RNDyとRNDx+1を結合した128ビットデータをPkhで暗号化する(ステップ604)。暗号化したデータをデータ送受信制御装置52からシステム側30に対して送信する(ステップ605)。その後、データ送受信制御装置52によって受信される128ビット通信データを待つ(ステップ606)。この通信データを待つに際し、タイムアウトエラーが生じたか否かが判断され(ステップ607)、タイムアウトの場合には、上述した▲2▼の認証失敗処理に移行する。タイムアウトエラーが生じる前に128ビット通信データを受信した場合には、受信した128ビット通信データをD1とする(ステップ608)。
【0064】
次に、中央処理装置51は、不揮発性メモリ(ディスクメディア21)のシステム用秘密鍵領域からPksを取り出す(ステップ609)。そして、このPksで受信データD1を復号する(ステップ610)。ここで、復号データの後半64ビットデータがRNDy+1か否かが判断され(ステップ611)、RNDy+1ではない場合、即ち、この結果が正しくない場合には、上述した▲2▼の認証失敗処理に移行する。正しい場合には、復号データの前半64ビットデータをnewPksとする(ステップ612)。
【0065】
次に、乱数発生器54から64ビットデータD2を作成し(ステップ613)、このD2から56ビットを取り出して新しいハードディスク用秘密鍵newPkhとする(ステップ614)。次に、D2とPkhで暗号化し(ステップ615)、この暗号化データをデータ送受信制御装置52から送信する(ステップ616)。そして、newPkhを不揮発性メモリ(ディスクメディア21)のハードディスク用秘密鍵領域に格納し(ステップ617)、newPksを不揮発性メモリ(ディスクメディア21)のシステム用秘密鍵領域に格納する(ステップ618)。そして、認証失敗カウンタ55を0として(ステップ619)、ステップ508へ戻る。
【0066】
図13は、図11のステップ502における『OPEN_SESSION』コマンドの処理を詳述したフローチャートである。HDD側50は、まず、データ送受信制御装置52からsRNDを受け取る(ステップ701)。そして、乱数発生器54から64ビット乱数hRNDを取り出し(ステップ702)、不揮発性メモリ(ディスクメディア21)のハードディスク用秘密鍵領域からPkhを取り出す(ステップ703)。次に、取り出した乱数hRNDとsRNDx+1を結合した128ビットデータを取り出したPkhで暗号化し(ステップ704)、暗号化データをデータ送受信制御装置52からシステム側30に対して送信する(ステップ705)。
【0067】
次に、中央処理装置51は、データ送受信制御装置52からATA SECURITYコマンドを待ち(ステップ706)、所定の時間までにコマンドが到達せず、タイムアウトエラーが発生したか否かを判断する(ステップ707)。タイムアウトの場合には、▲2▼の認証失敗処理に移行する。タイムアウトエラーが生じる前にATA SECURITYコマンドを受信した場合には、受信したATA SECURITYコマンドのパラメータをD1とする(ステップ708)。
【0068】
また、中央処理装置51は、不揮発性メモリ(ディスクメディア21)のシステム用秘密鍵領域からPksを取り出し(ステップ709)、乱数hRNDをPksで暗号化した値とD1の排他的論理和をD2とする(ステップ710)。ここで、不揮発性メモリ(ディスクメディア21)に格納されたHDD用パスワードとD2が一致しているか否かが判断され(ステップ711)、一致していない場合、即ち、この結果が正しくない場合には、上述した▲2▼の認証失敗処理に移行する。正しい場合には、sRND+hRNDの値を乱数発生器54の初期値に設定し(ステップ712)、認証失敗カウンタ55を0として(ステップ713)、ステップ503へ戻る。
【0069】
図14は、図11のステップ506における『SET_KEY』コマンドの処理を示したフローチャートである。『SET_KEY』コマンド処理では、まず、中央処理装置51は、データ送受信制御装置52から擬似乱数列のシード値Ivを受け取り(ステップ801)、乱数発生器57から取得された値がIvと等しいか否かが判断される(ステップ802)。等しい場合には、ステップ507に戻る。等しくない場合には、中央処理装置51を停止する(ステップ803)。
【0070】
このように、本実施の形態によれば、ハードディスクドライブ(HDD)等の外部記憶装置側からセットトップボックス10等のシステム装置(側)を認証することにより、外部記憶装置が特定の組み合わせ以外で動作することを防ぎ、システム装置は偽外部記憶装置を認識すること(機器認証)が可能である。これによって、例えば、HDDが組み込まれたセットトップボックス10を無料で提供する等のビジネス形態に対し、HDDだけを取り外して別の用途に使用される等の危険性を排除することができる。また、暗号技術の輸出規制を勘案し、輸出規制の対象外となるような暗号方式を提供することができる。更には、これまでのHDDコマンドに対して最大限の整合性を持つ新たなコマンド体系を提供することが可能となる。
【0071】
【発明の効果】
以上説明したように、本発明によれば、外部記憶装置が特定のシステム装置との組み合わせ以外で動作することを禁止することができる。また、システム装置では、外部記憶装置を認証することが可能となる。
【図面の簡単な説明】
【図1】 本実施の形態が適用されるコンピュータシステムの構成を説明するための図である。
【図2】 本実施の形態が適用される外部記憶装置の構成を詳述した説明図である。
【図3】 図1および図2にて説明したコンピュータシステムにおける処理ブロックの構成を説明するための図である。
【図4】 イニシャル時になされるパーソナライズ処理を説明するための図である。
【図5】 パスワードの暗号化処理を説明するための図である。
【図6】 継続的な機器認証機構を説明するための図である。
【図7】 システム側における全体処理の流れを説明するためのフローチャートである。
【図8】 図7のステップ104における『SET_PERSONALIZE』コマンドの処理を詳述したフローチャートである。
【図9】 図7のステップ102における『OPEN_SESSION』コマンドの処理を詳述したフローチャートである。
【図10】 図7のステップ109における『SET_KEY』コマンドの処理を示したフローチャートである。
【図11】 HDD側における全体処理の流れを説明するためのフローチャートである。
【図12】 図11のステップ504における『SET_PERSONALIZE』コマンドの処理を詳述したフローチャートである。
【図13】 図11のステップ502における『OPEN_SESSION』コマンドの処理を詳述したフローチャートである。
【図14】 図11のステップ506における『SET_KEY』コマンドの処理を示したフローチャートである。
【符号の説明】
7…スマートカード、8…ケーブルモデム、9…ディスプレイ(TV)、10…セットトップボックス、11…スマートカードリーダ、12…ディスプレイI/F、13…イーサネットI/F、14…RAM、15…MPU、16…ROM、20…セキュア(Secure)HDD(ハードディスクドライブ)、21…ディスクメディア、22…メディアコントローラ、23…MPU、24…ROM、25…RAM、26…ATA I/F、30…システム側、31…中央処理装置、32…データ送受信制御装置、33…セキュリティ制御機構、34…不揮発性メモリ、35…乱数発生器、36…認証失敗カウンタ、37…コマンドカウンタ、38…乱数発生器、40…データバス、50…HDD側、51…中央処理装置、52…データ送受信制御装置、53…セキュリティ制御機構、54…乱数発生器、55…認証失敗カウンタ、56…コマンドカウンタ、57…乱数発生器

Claims (11)

  1. データの書き込みおよび読み出しを行なう外部記憶装置と当該外部記憶装置に対してアクセスするシステム装置との間でなされる認証方法であって、
    前記外部記憶装置は、乱数を発生させると共に、当該乱数を秘密鍵を用いて暗号化して前記システム装置に送信し、
    前記システム装置は、送信された前記乱数を秘密鍵を用いて復号化すると共に、復号化された当該乱数によりパスワードに対して論理演算が施された演算結果を前記外部記憶装置に送信し、
    前記外部記憶装置は、送信された前記演算結果に対して前記論理演算の逆演算を施すことにより前記パスワードを抽出し、当該外部記憶装置が保持しているパスワードと一致しているか否かを判断し、
    前記外部記憶装置と前記システム装置とは、第1の秘密鍵と第2の秘密鍵とを互いに保持し、
    前記システム装置は、前記第1の秘密鍵により復号化された前記乱数を前記第2の秘密鍵により暗号化してパスワードマスクとし、前記パスワードに対して当該パスワードマスクによる論理演算が施された演算結果を前記外部記憶装置に送信することを特徴とする認証方法。
  2. 前記外部記憶装置は、発生した乱数に第1の秘密鍵を用いて暗号化を施した暗号化乱数を前記システム装置に送信し、
    前記システム装置は、送信された前記暗号化乱数に対して前記第1の秘密鍵を用いて復号化し、一定の法則に則って加工を施した後に第2の秘密鍵で暗号化された情報を前記外部記憶装置に送信し、
    前記外部記憶装置は、送信された前記情報を前記第2の秘密鍵を用いて復号化した後の数が前記乱数を前記一定の法則に則って加工したものであることを確認することを特徴とする請求項1記載の認証方法。
  3. 前記外部記憶装置と前記システム装置とは、前記第1の秘密鍵と前記第2の秘密鍵との初期値として同一の値を保持し、以後、当該第1の秘密鍵と当該第2の秘密鍵との値として乱数を用いた新たな値を共有することを特徴とする請求項2記載の認証方法。
  4. 前記外部記憶装置は、確認の結果として認証の失敗回数をカウントし、当該認証の失敗回数がある一定値を超えた時点で所定の動作を停止することを特徴とする請求項2記載の認証方法。
  5. データの書き込みおよび読み出しを行なう外部記憶装置と、当該外部記憶装置に対してアクセスするシステム装置とを備え、
    前記外部記憶装置は、乱数を発生させると共に、当該乱数を秘密鍵を用いて暗号化して前記システム装置に送信し、
    前記システム装置は、送信された前記乱数を秘密鍵を用いて復号化すると共に、復号化された当該乱数によりパスワードに対して論理演算が施された演算結果を前記外部記憶装置に送信し、
    前記外部記憶装置は、送信された前記演算結果に対して前記論理演算の逆演算を施すことにより前記パスワードを抽出し、当該外部記憶装置が保持しているパスワードと一致しているか否かを判断し、
    前記外部記憶装置と前記システム装置とは、第1の秘密鍵と第2の秘密鍵とを互いに保持し、
    前記システム装置は、前記第1の秘密鍵により復号化された前記乱数を前記第2の秘密鍵により暗号化してパスワードマスクとし、前記パスワードに対して当該パスワードマスクによる論理演算が施された演算結果を前記外部記憶装置に送信することを特徴とする認証システム。
  6. 前記外部記憶装置と前記システム装置とは、前記第1の秘密鍵と前記第2の秘密鍵との初期値として同一の値を保持し、以後、当該第1の秘密鍵と当該第2の秘密鍵との値として乱数を用いた新たな値を共有することを特徴とする請求項5記載の認証システム。
  7. 前記外部記憶装置は、発生した乱数に第1の秘密鍵を用いて暗号化を施した暗号化乱数を前記システム装置に送信し、
    前記システム装置は、送信された前記暗号化乱数に対して前記第1の秘密鍵を用いて復号化し、一定の法則に則って加工を施した後に第2の秘密鍵で暗号化された情報を前記外部記憶装置に送信し、
    前記外部記憶装置は、送信された前記情報を前記第2の秘密鍵を用いて復号化した後の数が前記乱数を前記一定の法則に則って加工したものであることを確認することを特徴とする請求項6記載の認証システム。
  8. 前記外部記憶装置は、確認の結果として認証の失敗回数をカウントし、当該認証の失敗回数がある一定値を超えた時点で所定の動作を停止することを特徴とする請求項5記載の認証システム。
  9. 前記外部記憶装置はハードディスクドライブであり、前記システム装置と一体となって装備されることを特徴とする請求項5記載の認証システム。
  10. 前記システム装置および前記ハードディスクドライブは、第1の鍵と第2の鍵とを互いに保持し、
    前記システム装置において保持される前記第1の鍵および前記第2の鍵は、ICカードに格納され、
    前記ハードディスクドライブに保持される前記第1の鍵および前記第2の鍵は、当該ハードディスクドライブを構成するディスクメディアに格納されることを特徴とする請求項9記載の認証システム。
  11. システム装置に接続されて、データの書き込みおよび読み出しを行なう外部記憶装置であって、
    システム装置と同一の秘密鍵を保持する保持手段と、
    乱数を発生する乱数発生手段と、
    前記乱数に前記秘密鍵を用いて暗号化を施す暗号化手段と、
    前記暗号化手段により暗号化が施された暗号化乱数を前記システム装置に送信する送信手段と、
    送信した前記暗号化乱数に対して前記システム装置にて復号化された前記乱数により、当該システム装置にてパスワードに対して論理演算が施された演算結果を当該システム装置から受信する受信手段と、
    前記受信手段により受信した前記演算結果に対して前記論理演算の逆演算を施すことにより前記パスワードを抽出し、自らが保持しているパスワードと一致しているか否かを判断する手段とを備え、
    前記保持手段は、前記システム装置と同一の値である第1の秘密鍵と第2の秘密鍵とを初期値として保持し、以後、当該第1の秘密鍵と当該第2の秘密鍵との値として乱数を用いた新たな値を当該システム装置と共有して保持することを特徴とする外部記憶装置。
JP2001191828A 2001-06-25 2001-06-25 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置 Expired - Fee Related JP3824297B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001191828A JP3824297B2 (ja) 2001-06-25 2001-06-25 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001191828A JP3824297B2 (ja) 2001-06-25 2001-06-25 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置

Publications (2)

Publication Number Publication Date
JP2003018151A JP2003018151A (ja) 2003-01-17
JP3824297B2 true JP3824297B2 (ja) 2006-09-20

Family

ID=19030382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001191828A Expired - Fee Related JP3824297B2 (ja) 2001-06-25 2001-06-25 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置

Country Status (1)

Country Link
JP (1) JP3824297B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008317B2 (en) 2007-04-10 2015-04-14 International Business Machines Corporation Key encryption and decryption

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585096B1 (ko) 2003-06-26 2006-05-30 삼성전자주식회사 기록 장치를 구비하는 데이터 처리 장치의 인증 방법 및이에 적합한 장치들
WO2005024639A1 (ja) * 2003-08-28 2005-03-17 Fujitsu Limited Usbコントローラ、電子計算機およびusb接続制御方法
KR20050049973A (ko) * 2003-11-24 2005-05-27 삼성전자주식회사 이동식 저장 장치의 저장 제어 방법 및 이를 이용한정보단말
FR2864741A1 (fr) * 2003-12-30 2005-07-01 Koninkl Philips Electronics Nv Dispositif et methode de stockage de donnees audio/video dans un reseau domestique.
JP4611642B2 (ja) * 2004-01-16 2011-01-12 三菱電機株式会社 認証システム
JP4736398B2 (ja) * 2004-10-22 2011-07-27 日本電気株式会社 近接する端末間における認証方法、秘匿情報の配送方法、装置、システム、及び、プログラム
JP4685517B2 (ja) * 2005-03-31 2011-05-18 マスプロ電工株式会社 Catvシステム,ケーブルモデムおよびプログラム
JP4658704B2 (ja) 2005-03-31 2011-03-23 マスプロ電工株式会社 Catvシステム,ケーブルモデムおよびプログラム
JP2006351160A (ja) * 2005-06-20 2006-12-28 Hitachi Global Storage Technologies Netherlands Bv コンピュータシステム、及びディスク装置
EP1899886A2 (en) * 2005-06-29 2008-03-19 Nxp B.V. Security system and method for securing the integrity of at least one arrangement comprising multiple devices
JP4735828B2 (ja) * 2005-10-14 2011-07-27 株式会社メガチップス 画像記録装置の管理方法および画像記録装置
US20070266443A1 (en) * 2006-05-12 2007-11-15 Hitachi Global Storage Technologies Netherlands B.V. Certified HDD with network validation
US8042141B2 (en) 2006-09-28 2011-10-18 Masprodenkoh Kabushikikaisha CATV system, management device, cable modem and program
JP6531429B2 (ja) * 2015-03-02 2019-06-19 株式会社バッファロー 情報処理システム、情報処理装置、記憶装置、情報処理装置における認証方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008317B2 (en) 2007-04-10 2015-04-14 International Business Machines Corporation Key encryption and decryption
US9747223B2 (en) 2007-04-10 2017-08-29 International Business Machines Corporation Key encryption and decryption
US10108558B2 (en) 2007-04-10 2018-10-23 Intrenational Business Machines Corporation Key encryption and decryption

Also Published As

Publication number Publication date
JP2003018151A (ja) 2003-01-17

Similar Documents

Publication Publication Date Title
TWI406569B (zh) 管理音訊/視訊資料的單元以及該資料的存取控制方法
JP4954628B2 (ja) 真性乱数発生素子あるいは擬似乱数発生素子を用いた認証用デバイス、認証装置及び認証方法
AU2005223902B2 (en) Authentication between device and portable storage
KR101086399B1 (ko) 홈 네트워크 구성 기기의 정보를 담고 있는 스마트 카드를이용하여 홈 도메인을 구축하는 시스템 및 방법
TW412909B (en) Mechanism of matching between a receiver and a security module
US5623637A (en) Encrypted data storage card including smartcard integrated circuit for storing an access password and encryption keys
TWI271079B (en) System and method for security key transmission with strong pairing to destination client
JP3824297B2 (ja) 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置
JP2014089652A (ja) 情報処理装置
CN103415855A (zh) 大容量存储设备存储器加密方法、系统及装置
JP2014089644A (ja) プロセッサ、プロセッサ制御方法及び情報処理装置
CA2869817A1 (en) Systems, methods and apparatuses for the secure transmission of media content
US7853787B2 (en) Peripheral device for programmable logic controller
US20090187770A1 (en) Data Security Including Real-Time Key Generation
CN109690537A (zh) 用于解密和呈现内容的系统
CN101770559A (zh) 数据保护装置和方法
WO2023240866A1 (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
JPH11161165A (ja) 情報処理装置
JP2008287488A (ja) データ分散保存装置
JP2008148851A (ja) 遊技機制御用チップ及びそのromライタ
CN103324970B (zh) 一种高效安全的rfid的收发方法及其系统
US9077854B2 (en) Preventing the use of modified receiver firmware in receivers of a conditional access system
CN102236754B (zh) 数据保密方法以及使用此数据保密方法的电子装置
CN100388240C (zh) 内容再生装置和内容再生方法
JP4363796B2 (ja) 復号装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060525

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060626

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees