(57)【要約】【課題】ディスクドライブの乱数発生方法及びシステムを提供する。【解決手段】ディスクドライブから乱数を発生させるために，シードはディスクドライブの少なくとも一つのセクタの各セクタ番号から生成される。乱数はシードを使用して生成される。強化された予測不可能性及び複雑度を有するように生成されたシードは，ディスクドライブ内でデータ暗号化を確保するための乱数を発生するのに使われる。【選択図】図５
2005011356.tif 000002
【特許請求の範囲】
【請求項１】
ディスクドライブの少なくとも一つのセクタの各セクタ番号からシードを生成する工程と，
前記シードを利用して乱数を計算する工程と，を含む，
ことを特徴とするディスクドライブにおける乱数発生方法。
【請求項２】
前記シードは，複数のセクタの各セクタ番号から生成される，ことを特徴とする請求項１に記載のディスクドライブにおける乱数発生方法。
【請求項３】
前記複数のセクタの各々は，各時点でディスクドライブ内でアクセスされる，ことを特徴とする請求項２に記載のディスクドライブにおける乱数発生方法。
【請求項４】
前記各セクタ番号は，各時点でインタフェースレジスタから読出されるものである，ことを特徴とする請求項２に記載のディスクドライブにおける乱数発生方法。
【請求項５】
先のセクタ番号と後のセクタ番号とを読出す時間間隔は，先のセクタ番号によって決定される，ことを特徴とする請求項４に記載のディスクドライブにおける乱数発生方法。
【請求項６】
前記各セクタ番号は，シードを発生するためにインタフェースレジスタから読出された後，順次に付加される，ことを特徴とする請求項４に記載のディスクドライブにおける乱数発生方法。
【請求項７】
前記複数のセクタは，ディスクドライブ内の同じトラック上に分布されたものである，ことを特徴とする請求項２に記載のディスクドライブにおける乱数発生方法。
【請求項８】
前記複数のセクタは，ディスクドライブ内の他のトラック上に分布されたものである，ことを特徴とする請求項２に記載のディスクドライブにおける乱数発生方法。
【請求項９】
前記シードは，乱数を発生するための線形合同乱数発生器によって使用される，ことを特徴とする請求項１に記載のディスクドライブにおける乱数発生方法。
【請求項１０】
さらに，ディスクドライブ内のユーザ認証あるいはデータ暗号化のうち一つのために乱数を使用する工程，を含む，
ことを特徴とする請求項１に記載のディスクドライブにおける乱数発生方法。
【請求項１１】
前記ディスクドライブは，ＰＶＲ内でＡ／Ｖデータを保存するためのハードディスクドライブである，ことを特徴とする請求項１に記載のディスクドライブにおける乱数発生方法。
【請求項１２】
ディスクドライブの少なくとも一つのセクタの各セクタ番号からシードを生成する手段と，
前記シードを利用して乱数を計算する乱数発生器と，を含む，
ことを特徴とするディスクドライブにおける乱数発生システム。
【請求項１３】
前記シードは，複数のセクタの各セクタ番号から生成される，ことを特徴とする請求項１２に記載のディスクドライブにおける乱数発生システム。
【請求項１４】
前記複数のセクタの各々は，各時点でディスクドライブ内でアクセスされる，ことを特徴とする請求項１３に記載のディスクドライブにおける乱数発生システム。
【請求項１５】
前記シードを発生する手段は，各時点で各セクタ番号を保存するインタフェースレジスタを含む，
ことを特徴とする請求項１４に記載のディスクドライブにおける乱数発生システム。
【請求項１６】
先のセクタ番号と後のセクタ番号とを読出す時間間隔は，先のセクタ番号によって決定される，ことを特徴とする請求項１５に記載のディスクドライブから乱数を発生するシステム。
【請求項１７】
前記各セクタ番号は，シードを発生するためにインタフェースレジスタから読出された後，順次に付加される，ことを特徴とする請求項１５に記載のディスクドライブにおける乱数発生システム。
【請求項１８】
前記複数のセクタは，ディスクドライブ内の同じトラック上に分布されたものである，ことを特徴とする請求項１３に記載のディスクドライブにおける乱数発生システム。
【請求項１９】
前記複数のセクタは，ディスクドライブ内の他のトラック上に分布されたものである，ことを特徴とする請求項１３に記載のディスクドライブにおける乱数発生システム。
【請求項２０】
前記乱数発生器は，線形合同乱数発生器である，ことを特徴とする請求項１２に記載のディスクドライブにおける乱数発生システム。
【請求項２１】
前記ディスクドライブは，ＰＶＲ内でＡ／Ｖデータを保存するためのハードディスクドライブである，ことを特徴とする請求項１２に記載のディスクドライブにおける乱数発生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ディスクドライブにおける乱数発生方法及びそのシステムに関し，さらに詳細には，ディスクドライブ内のセクタ番号を利用して乱数を発生するディスクドライブにおける乱数発生方法及びそのシステムに関する。
【背景技術】
【０００２】
一般に，乱数は，多くの応用（特に，“データ保安を維持する技術及び科学”）として幅広く規定される暗号化で使用される。データ保安の３つの主要な要素は，認証，機密性，及び完全性である。
【０００３】
上記認証は，認証されたユーザのみがデータにアクセスすることが保証される。例えば，乱数を利用した認証のための例示的なプロトコルは，以下の通りである。
【０００４】
Ａ．ユーザは，サーバでパスワードによって保護されるデータへのアクセスを要請する。
Ｂ．サーバは，他の情報と結合された乱数であるランダムなチャレンジで応答する。
Ｃ．ユーザは，自分のパスワードをキーとして利用してランダムなチャレンジを暗号化し，サーバに暗号化されたチャレンジをリターンする。
Ｄ．サーバは，自分のデータベースから読出したユーザのパスワードで同じランダムなチャレンジを暗号化する。
Ｅ．サーバは，二つのランダムなチャレンジを比較し，もしそれらが一致すれば，ユーザはデータにアクセスするように認証される。
【０００５】
このような方法において，ランダムなチャレンジが使用されるため，ユーザはネットワーク上でパスワードだけを伝送するユーザを排除して認証される。さらに，乱数が使用されるので，ランダムなチャレンジは認証を確保するために時間的に変化する。
【０００６】
上記機密性は，認証されていない者が暗号化されたデータから有用なデータを抽出できないように保証する。データ暗号化は，平文を暗号化キーと結合させることによって，理想的には復号化キーなしに復号化することを不可能にする暗号化されたデータを生成するプロセスである。かかる暗号化及び復号化キーとして使用される乱数は，データ暗号化において基本的なものである。
【０００７】
上記完全性は，与えられたメッセージに固有であり，オリジネータの秘密鍵によって署名された固定された長さの２進ストリング（例えば，暗号化ハッシュ）のデジタル署名を使用するデータへの好ましくない改ざんを検出する。オリジネータの公開鍵を有するユーザは，メッセージを復号化し，秘密鍵の所有者がメッセージを発生したことを確信する。乱数は，そのようなデジタル署名を発生するために使用される。
【０００８】
このように，乱数は，多様なデータ保安プロトコルのために基本的なものであり，乱数のさらに高い程度のランダム性は，保安レベルを向上させる。
【０００９】
図１及び図２は，従来技術による乱数発生方法及び装置を示す。
【００１０】
システム１００は，システムタイマー１０４から変数ＳＥＥＤを受容する（図１のｓ１０６）データプロセッサ１０２を含む。システムタイマ１０４は，システム１００での現在時間に依存するＳＥＥＤを発生する。データプロセッサ１０２は，変数Ｘ（ｎ）（ｎは，初期値０を有する）をＳＥＥＤと設定する（図１の１０８工程）。
【００１１】
次いで，以下の数式によって乱数Ｘ（ｎ＋１）が発生する（図１の１１０工程）。
ＲＡＮＤＯＭ  ＮＵＭＢＥＲ，Ｘ（ｎ＋１）＝［１１０３５１５２４５＊Ｘ（ｎ）＋１２３４５］ｍｏｄ  Ｍ
【００１２】
上記数式は，図２のデータプロセッサ１０２によって計算された線形合同乱数発生器の一例である。Ｘ（ｎ＋１）に対する上記数式は，非特許文献１に記載されている。Ｘ（ｎ＋１）に対する上記数式は，［０−（Ｍ−１）］範囲のランダムな整数を返還するｍｏｄＭのモジュラー演算を含み，ＳＥＥＤは，同様に，［０−（Ｍ−１）］範囲にある。例えば，ＳＥＥＤ＝Ｘ（０）は，８ビット長さであり，ＳＥＥＤが０から（２８−１）＝２５５の範囲にある場合には，Ｍ＝２５６である。
【００１３】
１１０工程で，ＲＡＮＤＯＭ  ＮＵＭＢＥＲ  Ｘ（ｎ＋１）が演算され，ｎが７より大きくない場合には（図１の１１６工程），Ｘ（Ｎ＋１）がシステム１００のデータバッファ１１２に保存される（図１の１１０工程）。
【００１４】
この場合において，ｎが１だけ増加すれば（即ち，ｎ＝ｎ＋１）（図１の１１６工程），フローチャートは増加したｎを有しており，以下のＸ（ｎ＋１）を計算するために１１０工程に復帰する。一方，もし，ｎが７より大きい場合には，図１のフローチャートは終了する。
【００１５】
したがって，１１０，１１４，及び１１６工程は，Ｘ（１），Ｘ（２），Ｘ（３），Ｘ（４），Ｘ（５），Ｘ（６），Ｘ（７）及びＸ（８）が発生してデータバッファ１１２内に保存されるｎ＞７であるまで反復される。このような乱数Ｘ（１），Ｘ（２），Ｘ（３），Ｘ（４），Ｘ（５），Ｘ（６），Ｘ（７）及びＸ（８）の２進ビットは，増加したビットの乱数を形成するために順次に付加される。
【００１６】
例えば，タイマー１０４からのＳＥＥＤが８ビット長さであれば，Ｘ（１），Ｘ（２），Ｘ（３），Ｘ（４），Ｘ（５），Ｘ（６），Ｘ（７）及びＸ（８）の各乱数は，同様に，８ビット長さである。６４ビット長さの乱数を発生するために，Ｘ（１），Ｘ（２），Ｘ（３），Ｘ（４），Ｘ（５），Ｘ（６），Ｘ（７）及びＸ（８）は，相互順次に付加される。
【００１７】
データプロセッサによる演算から発生するいかなる乱数も“純粋にランダムな”ものではない。一方，サイコロ投げ又は電子の動きは“純粋にランダムな”物理的工程である。したがって，データプロセッサによる演算から発生する乱数は“擬似ランダム”なものと見なされる。このような擬似乱数は，初期ＳＥＥＤが同じであれば，同じ反復的なパターンにより，ただ限定された組合わせの可能なＳＥＥＤ値のみが存在する。
【００１８】
したがって，擬似乱数発生器の質（即ち，ランダム性のレベル）は，ＳＥＥＤ値の質に依存する。ＳＥＥＤ値は，可能な限りランダムなことが好ましく，可能な限り予測できない高いビット数を意味する高度の複雑性を有することが好ましい。
【００１９】
図１及び図２の従来の方法及びシステムは，タイマー１０４からのＳＥＥＤ値がただ８ビットもので構成されるために短所がある。しかも，ＳＥＥＤ値がタイマー１０４の現在時間に依存するため，その値はある程度予測できるものでもある。
【００２０】
データ保安は，現在の家電のハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）において重要な要素となっている。ＨＤＤはランダムアクセス，高いデータ伝送速度，低コスト，そして他の補助メモリ装置に比べて高い容量の長所を有している。したがって，ＨＤＤは，例えばマルチメディアデータを保存するのに広く使用されている。特に，放送局またはネットワークを通じて受信されたデジタルＡＶデータをＨＤＤに保存して再生するＰＶＲ（Ｐｅｒｓｏｎａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）が広く使用されている。
【００２１】
このようなデジタルＡＶデータは，一般的に暗号化及びスクランブリング処理されて伝送され，この視聴が許可された放送受信装置を通じてのみデコーディングが可能になる。
【００２２】
しかし，このような放送受信装置において，ＨＤＤに保存されたデジタルＡＶデータが許可されていない第３者によってアクセスされて外部に流出される可能性があるため，これを防止するための対策がなされている。例えば，本出願人によって出願された特許文献１には受信されたデジタルＡＶデータをＨＤＤに保存するに当って，デスクランブリング及び暗号化を再度行って保存させることが開示されている。
【００２３】
上記特許文献１の装置は，放送受信装置ごとに各々異なる初期値を有する乱数発生器を備え，この乱数発生器から発生した乱数によって受信したデジタルＡＶデータをデスクランブリング及び暗号化してＨＤＤに記録する。
【００２４】
いかなる場合にも，データ保安がＨＤＤ応用のための重要なファクタとなっているため，高度のランダム性を有する乱数発生メカニズムが要求される。
【００２５】
【特許文献１】韓国特許公開２００１−２７５５０号公報明細書
【非特許文献１】Ｂｒｉａｎ  Ｗ．Ｋｅｒｎｉｇｈａｎ，Ｄｅｎｎｉｓ  Ｍ．Ｒｉｔｃｈｉｅ，“Ｔｈｅ  Ｃ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ”
【発明の開示】
【発明が解決しようとする課題】
【００２６】
したがって，本発明の目的は，ディスクドライブのセクタ番号を利用して高度のランダム性と複雑性とを有するシードを発生する方法を提供することにある。さらに，本発明の他の目的は，上記方法に好適な装置を提供することにある。
【課題を解決するための手段】
【００２７】
ディスクドライブにおいて，乱数を発生するための一般的な方法及び装置において，シードは，ディスクドライブの少なくとも一つのセクタの個別的なセクタ番号から発生する。乱数は，ディスクドライブ内のそのようなシードを利用して計算される。
【００２８】
本発明の一実施例において，シードは，個別的な時間にディスクドライブ内のアクセスされたセクタ各々の個別的なセクタ番号から発生する。この場合，各々のセクタ番号は，個別的な時間にインタフェースレジスタから読出される。
【００２９】
他の一つの実施例において，先のセクタ番号と後のセクタ番号とを読出す時間間隔が先のセクタ番号によって決定される。
【００３０】
さらに他の実施例において，各々のセクタ番号は，シードを発生するためにインタフェースレジスタから読出された後に順次に付加される。
【００３１】
複数のセクタは，ディスクドライブ内の同じトラックあるいは他のトラックに分布されたものとすることができる。
【００３２】
発生したシードは，好ましくは，乱数を発生するための線形合同乱数発生器によって使用される。
【００３３】
このような乱数は，ＰＶＲ内のＡ／Ｖデータを保存するＨＤＤのようなディスクドライブ内の認証あるいはデータ暗号化に特別に使用される。
【００３４】
このような方式において，シードは，シードが相対的に予測可能できないように多様な時間間隔でアクセスされるセクタのセクタ番号を使用して発生する。
【００３５】
さらに，セクタ番号は，増加した複雑性を有する比較的高い数のビットを有するシードを形成するために結合される。その予測不可能性及び複雑度を有して発生したシードは，ディスクドライブ内のデータ暗号化を保証するための乱数を発生するために使用される。
【発明の効果】
【００３６】
本発明による乱数発生方法は，ＨＤＤのディスク上に記録されたセクタ番号を読出して乱数を発生させることによって，乱数の複雑度を向上することができる。
【発明を実施するための最良の形態】
【００３７】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００３８】
以下，ＨＤＤを例に挙げて説明するが，本発明はデータを再生／記録するためにアクセスされるセクタを有するいかなる形態のディスクドライブでも乱数を発生するために採用することができる。
【００３９】
まず，図３に基づいて，本実施形態にかかるディスクドライブ２００の構成について説明する。なお，図３は，例えばＨＤＤのようにデータを磁気的に保存するディスクドライブ２００のブロック図を示す。
【００４０】
図３に示すように，ホストシステム２０２は，ディスクドライブ２００内の磁気ディスク２０４から／にデータを再生／記録するためのディスクドライブ２００をアクセスする。ディスクドライブ２００は，ホストシステム２０２へのディスクインタフェース２０６を含む。
【００４１】
ＭＰＵ（Ｍａｉｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０８は，ディスクドライブ２００の要素の動作を制御するデータプロセッサであり，ディスクインタフェース２０６に結合されている。また，ＭＰＵ２０８は，ＭＰＵ２０８の動作のための多様な命令及びデータを保存するデータ保存部２１０にも結合されている。
【００４２】
また，ＭＰＵ２０８は，磁気ディスク２０４から／にデータを再生／記録するための再生／記録ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２１１に結合されている。プリアンプ２１２は，磁気ディスク２０４から／にデータを再生／記録するために使われる磁気ヘッド２１４に／からの信号を増幅する。ＭＰＵ２０８は，磁気ディスク２０４に対して磁気ヘッド２１４を動かすＶＣＭ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ）ドライバ２１６を制御する。ＭＰＵ２０８は，同様に，磁気ヘッド２１４に対して磁気ディスク２０４を回転させるＳＰＭ（Ｓｐｉｎｄｌｅ  Ｍｏｔｏｒ）２１８を制御する。なお，磁気ディスク２０４から／にデータを再生／記録する通常の動作のための図３の要素は，当業者に公知なものである。
【００４３】
しかし，ＨＤＤ２００の要素は，本実施形態にかかる乱数発生のための図４のシステム２０１を形成するために，従来技術よりも改良されている。図４に示すように，ＭＰＵ２０８は，乱数発生器２５２を含むように改良され，データ保存部２１０も本実施形態にかかるシードを発生する複数のセクタ番号を保存するように改良されている。
【００４４】
さらに，ＭＰＵ２０８は，図５，図６，及び図９のフローチャートの工程を，特に，ＨＤＤ２００がＡ／Ｖデータを処理するＰＶＲのようにデータ暗号化を要求する応用で使用される際に行うように改良されている。なお，図５，図６，及び図９は，データ保存部２１０に保存された命令のシーケンスを行う際に，ＭＰＵ２０８によって行われる工程のフローチャートを示している。
【００４５】
図５は，ＨＤＤ２００でデータ暗号化のための乱数発生のための工程のフローチャートである。図４及び図５に示すように，ＭＰＵ２０８は，ユーザ認証やデータ暗号化のようなデータ暗号化要請を受信する（図５の３０２工程）。
【００４６】
このような要請に対して，ＭＰＵ２０８はＨＤＤ２００内のセクタ番号を使用してＳＥＥＤを生成する（図５の３０４工程）。このようなＳＥＥＤを使用して，ＭＰＵ２０８は，本実施形態にかかる線形合同乱数発生器の乱数発生器２５２と共にＲＡＮＤＯＭ  ＮＵＭＢＥＲを生成する（図５の３０６工程）。
【００４７】
ＭＰＵ２０８は，ユーザ認証あるいはデータ復号化のためにＲＡＮＤＯＭ  ＮＵＭＢＥＲを使用する（図５の３０８工程）。
【００４８】
図６は，図５の３０４工程でＳＥＥＤを発生する詳細な副次工程のフローチャートである。図３，図４，図５，及び図６に示すように，ＳＥＥＤを生成するために，ＭＰＵ２０８は，変数ｎを０と設定する（図６の３１２工程）。ＭＰＵ２０８は，ヘッド２１４が磁気ディスク２０４のトラックに安定するまで待機する（図６の３１４工程）。
【００４９】
図７に示すように，磁気ディスク２０４は，同心円形トラックで構成される。各トラックは，複数のセクタに分割される。したがって，ディスク２０４の各トラックはＴＸ，ＳＹと表記される（但し，Ｘはトラック番号を表し，Ｙはセクタ番号を表す）。図７は，説明及び描写を明確にするために，トラック当り８個のセクタを有する３個のトラックを示す。しかし，近年におけるＨＤＤの通常のディスクは，数千個のトラックとトラック当り２８＝２５６個のセクタとを有する。
【００５０】
ディスク２０４から／にデータを再生／記録するに際し，ホストシステム２０２は，ディスクインタフェース２０６を通じてその再生／記録のためにアクセスされるトラック番号及びセクタ番号を規定する。そのような情報は，当業者に公知のように，ＡＴＡＰＩ／ＩＤＥ標準によってディスクインタフェース２０６に伝送される。
【００５１】
したがって，図４及び図５に示すように，ディスクインタフェース２０６は，そのトラック及びセクタ番号を保存するためのＡＴＡインタフェースレジスタ２５４を含む。第一のＡＴＡインタフェースレジスタ２５４は，アクセスされるセクタのトラック番号を保存し，第二のＡＴＡインタフェースレジスタ２５８はアクセスされるセクタのセクタ番号を保存する。ＡＴＡ／ＩＤＥ標準において，第一のＡＴＡインタフェースレジスタ２５６は選択されたトラック番号を保存するための１６ビットレジスタであり，第二のＡＴＡインタフェースレジスタ２５８は選択されたセクタ番号を保存するための８ビットレジスタである。
【００５２】
図６の３１４工程を再び参照すれば，磁気ヘッド２１４は，第一のＡＴＡインタフェースレジスタ２５６内に規定されたトラック番号を有するトラックに安定される。次いで，第二のＡＴＡインタフェースレジスタ２５８に保存された８ビットセクタ番号Ｓ（ｎ）が読出されてデータ保存部２１０に保存される（図６の３１６及び３１８工程）。
【００５３】
次いで，ＭＰＵ２０８は，所定の時間間隔だけ待機する（図６の３２０工程）。本実施形態においては，その時間間隔は３１６工程で読出される先のセクタ番号Ｓ（ｎ）の値に依存する。
【００５４】
その時間間隔が経過し，ｎが７より大きくなければ（図６の３２２工程），ｎが一つだけ増加し（図６の３２４工程），そして３１６工程に復帰する。その反復によって，３１６，３１８，３２０，３２２，及び３２４工程が増加したｎと共に第二のＡＴＡインタフェースレジスタ２５８に保存された後，セクタ番号を読出すために反復される。
【００５５】
このような方法により，各セクタ番号Ｓ（０），Ｓ（１），Ｓ（２），Ｓ（３），Ｓ（４），Ｓ（５），Ｓ（６），及びＳ（７）が各時点で読出される。各セクタ番号Ｓ（０），Ｓ（１），Ｓ（２），Ｓ（３），Ｓ（４），Ｓ（５），Ｓ（６），及びＳ（７）は，かかる順序によって順次に読出される。かかる８個のセクタ番号を読出すための時点が相異なるため，そのセクタ番号は互いに異なりやすい。
【００５６】
本実施形態においては，各セクタ番号は，例えば，８ビット長さである。本実施形態においては，ＳＥＥＤは，例えば，セクタ番号Ｓ（０），Ｓ（１），Ｓ（２），Ｓ（３），Ｓ（４），Ｓ（５），Ｓ（６），及びＳ（７）が順序によって互いに付加されて６４ビット長さのＳＥＥＤとなる。したがって，３２２工程の変数ｎの最大値は，セクタ番号のビット長さ及び要求されるＳＥＥＤのビット長さによって限定される。
【００５７】
３２２工程で，ｎが７より大きければ，セクタ番号Ｓ（０），Ｓ（１），Ｓ（２），Ｓ（３），Ｓ（４），Ｓ（５），Ｓ（６），及びＳ（７）を順次に付加することによってＳＥＥＤが生成される。図６及び図７に示すように，かかる６４ビットＳＥＥＤは，Ｍ’＝２６４のモジュールで関数を有する図７の３０６工程でＲＡＮＤＯＭ  ＮＵＭＢＥＲを決定するために使用される。
【００５８】
本実施形態においては，セクタ番号Ｓ（０），Ｓ（１），Ｓ（２），Ｓ（３），Ｓ（４），Ｓ（５），Ｓ（６），及びＳ（７）は，ディスク２０４の同じトラック上のセクタのためのものである。また，他の実施例においては，セクタ番号Ｓ（０），Ｓ（１），Ｓ（２），Ｓ（３），Ｓ（４），Ｓ（５），Ｓ（６），及びＳ（７）は，ディスク２０４の他のトラック上のセクタのためのものである。そのような場合において，図９のフローチャートは，ＭＰＵが各セクタ番号が読出される前にヘッドがトラック上に安定されたかを判断することを示している。
【００５９】
したがって，図６及び９のフローチャートは，図９のフローチャートが３２４工程でｎが増加した後に３１４工程に復帰すること以外は同様である。
【００６０】
しかも，他の実施例においては，図９のフローチャートが図６の３２０工程とは異なる３２６工程を有する。図９の３２６工程では，ＭＰＵ２０８は，セクタ番号を読出す間に同じ所定の時間間隔が経過したか否かを判断する。このような所定の時間間隔は，そのような所定の時間間隔内で第二のＡＴＡインタフェースレジスタ２５８内のセクタ番号が確立されるように選択される。
【００６１】
一方，図６の３２０工程では，セクタ番号を読出す間に経過した時間間隔は，以前に読出されたセクタ番号の値に依存して変わる。そのような変更は，望ましいセクタ番号の読出しに対する，そしてそのようなセクタ番号によって生成されるＳＥＥＤに対する予測不可能性を追加的に加える。
【００６２】
このような方式で，多様な時点でアクセスされるセクタのセクタ番号を使用してシードが生成されるので，シードは相対的に予測可能でなくなる。
【００６３】
さらに，セクタ番号は，強化された複雑性のために相対的に大きいビット数を有するシードを形成するために結合される。このような予測不可能性及び複雑性を有して生成されるシードは，ディスクドライブ内でデータ暗号化を保証するための乱数を生成するのに使われる。
【００６４】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【００６５】
例えば，上記実施形態においては，ＨＤＤを例に挙げて説明したが，かかる例には限定されない。データの再生／記録のためにアクセスされるセクタを有するいかなる形態のディスクドライブでも乱数を発生するために適用することができる。さらに，本発明は，ＳＥＥＤを生成するための他の関数あるいは他の結合と共にセクタ番号が使用される場合に使用することができる。さらに，ここで使用されたいかなる数や値も，ただ例示的なものである。
【産業上の利用可能性】
【００６６】
本発明による乱数発生方法は，保存装置としてＨＤＤを有するセットップボックス，ＰＶＲ，ＰＣなどに使われて，認証のための乱数を発生するのに使用されうる。
【図面の簡単な説明】
【００６７】
【図１】従来の乱数発生方法を示すフローチャートである。
【図２】図１に示された方法によって乱数を発生する従来のシステムを示す図面である。
【図３】本発明の実施例による乱数発生のために適用されたＨＤＤ内の要素のブロック図である。
【図４】本発明の実施例による乱数発生のために図３のＨＤＤ内の要素を使用して具現されたシステムのブロック図である。
【図５】本発明の一実施例による乱数発生のための図４のシステムの動作を示すフローチャートである。
【図６】本発明の実施例によるセクタ番号を利用して乱数を発生するための図５のシステムの動作を示すフローチャートである。
【図７】トラック及びセクタで構成された図３のＨＤＤの磁気ディスクを示す図面である。
【図８】アクセスされるセクタのトラック及びセクタ番号を保存するＡＴＡインタフェースレジスタの例を示す図面である。
【図９】本発明の他の実施例によって相異なるトラックに位置したセクタのセクタ番号を使用してシードを発生する工程を示すフローチャートである。
【図１】
2005011356.tif 000003
【図２】
2005011356.tif 000004
【図３】
2005011356.tif 000005
【図４】
2005011356.tif 000006
【図５】
2005011356.tif 000007
【図６】
2005011356.tif 000008
【図７】
2005011356.tif 000009
【図８】
2005011356.tif 000010
【図９】
2005011356.tif 000011