(57)【要約】【課題】本発明の目的は、セキュリティの向上を図りつつも、暗号キーの変更が容易にできる暗号キー生成装置を提供することである。【解決手段】ＣＰＵに接続されたバスに入力端子が接続されている第１及び第２のレジスタ（１４０，１５０）と、前記第１及び第２のレジスタそれぞれの値を前記バスとは異なる信号線を介して受け取り、暗号キーを生成する暗号キー生成回路（１７０）と、前記暗号キーを前記バスとは異なる信号線を介して受け取り、前記ＣＰＵに送る第３のレジスタ（１８０）とを備える暗号キー生成装置。【選択図】　　　図１
2004086085.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵに接続されたバスに入力端子が接続されている第１及び第２のレジスタと、
前記第１及び第２のレジスタそれぞれの値を前記バスとは異なる信号線を介して受け取り、暗号キーを生成する暗号キー生成回路と、
前記暗号キーを前記バスとは異なる信号線を介して受け取り、前記ＣＰＵに送る第３のレジスタと
を備える暗号キー生成装置。
【請求項２】
前記第１または第２のレジスタのうち少なくとも一つは、複数の固定データを格納している格納レジスタと、この格納レジスタのアドレスを指定する指定レジスタを備えることを特徴とする請求項１記載の暗号キー生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号キー生成装置に関し、特に、ＣＰＵ（中央演算処理装置；Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）を内蔵したＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）内での暗号キー生成装置に関する。
【０００２】
【従来の技術】
従来、暗号処理専用ハードウェアと、この専用ハードウェア内部で生成される暗号キーとによって、暗号のエンコードやデコードが行われていた。このため暗号キーが外部に漏れることはなかった。
【０００３】
例えば、特開平１１−１０９８５６号公報には、復号鍵情報を不正に取得した第三者が暗号化されたプログラムまたは暗号化されたデータを容易に復号化することを防止するために、所定の暗号方式に対応した専用ハードウェアの外部から入力された第１復号鍵情報と、内部に格納された第２復号鍵情報とを用いて、内部で復号鍵を生成しており、外部に暗号キーが漏れることはなかった。
【０００４】
しかし、最近のＣＰＵの処理能力が向上してきたので、各種の暗号化方式に柔軟に対応できるようにリアルタイムにソフト処理をするようになってきた。暗号処理をソフトで行う場合には、暗号処理プログラムと暗号キーの二つが必要である。暗号処理プログラムのソースコードは、汎用ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）では公開されている。このため、暗号キーがわかってしまうと、暗号の解析は可能になってしまう。
【０００５】
そこで、暗号処理をソフトウェアで実行する場合には、暗号キーをＣＰＵが組み込まれたチップ内の固定レジスタに割り当てたり、チップ内臓のフラッシュメモリに保存することによって、チップ外部に暗号キーが出ないようにする必要があった。チップ外部のフラッシュメモリなどに暗号キーを置くと、バス上に暗号キーが出てしまい、暗号処理が破られやすくなるからである。
【０００６】
【発明が解決しようとする課題】
しかし、いったん、チップ内臓の専用レジスタでは暗号キーが盗まれてしまえば、暗号キーを変えることが難しい。また、内臓フラッシュメモリでは、チップコストが上がるし、書き換えはチップと接続している外部バス経由で行われるため、書き換え中に暗号キーを盗まれる可能性がある。
【０００７】
本発明の目的は、上記問題点に考慮し、セキュリティの向上を図る暗号キー生成装置を提供することである。
【０００８】
【課題を解決するための手段】
第１の発明は、ＣＰＵに接続されたバスに入力端子が接続されている第１及び第２のレジスタと、前記第１及び第２のレジスタそれぞれの値を前記バスとは異なる信号線を介して受け取り、暗号キーを生成する暗号キー生成回路と、前記暗号キーを前記バスとは異なる信号線を介して受け取り、前記ＣＰＵに送る第３のレジスタとを備える暗号キー生成装置である。
【０００９】
第２の発明は、前記第１または第２のレジスタのうち少なくとも一つは、複数の固定データを格納している格納レジスタと、この格納レジスタのアドレスを指定する指定レジスタを備えることを特徴とする第１の発明記載の暗号キー生成装置である。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
図１は本発明の実施形態に係る暗号キー生成装置の概略図であり、図２はこの暗号キー生成装置の動作フローチャートである。
暗号キー生成装置１００はパッケージングされたＡＳＩＣチップで製造されており、ＣＰＵ１１０には少なくとも２つの接続ピンがある。これら接続ピンの一方は、内部バス１３０ａ及び外部バス１２０経由で外部装置（例えばＲＯＭ；　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）２００ａ，２００ｂと接続されており、接続ピンの他方は、外部バス１２０に接続されていない内部バス１３０ｂにだけ接続されている。したがって、内部バス１３０ｂを流れるデータがチップの外に漏れることはない。
【００１１】
次に、暗号キー生成装置１００の動作を説明する。暗号キー生成装置が内蔵されているホームサーバ等の電源を入れると、ＣＰＵ１１０はＲＯＭ２００ａから暗号キー生成プログラムを読み込み実行する（Ｓ１００）。このプログラムによって、ＣＰＵ１１０は、ＲＯＭ２００ａから第１のライト専用レジスタ１４０へ書き込むデータを読み込み、内部バス１３０ｂ経由で第１のライト専用レジスタ１４０に書き込む（Ｓ１１０）。同様に、ＲＯＭ２００ｂから第２のライト専用レジスタ１５０用のデータを読み込み、内部バス１３０ｂ経由で第２のライト専用レジスタ１５０に書き込む（Ｓ１２０）。ここで、ライト専用レジスタとは、通常のフリップフロップ回路の入力端子は内部バスに接続されているが、出力端子は内部バスに接続されておらず、内部バスとは異なる専用線１６０に接続されているものをいう。すなわち、第１及び第２のライト専用レジスタには、内部バスからはデータを書き込めるが、読み込むことはできない。
【００１２】
続いて、第１及び第２のライト専用レジスタ１４０，１５０はそれぞれ、専用線１６０経由で暗号キー生成回路（例えば論理積（ＡＮＤ）回路）１７０へデータを送り、暗号キーを生成する（Ｓ１３０）。ここで、暗号キー生成回路１７０がＡＮＤ回路の場合の暗号キー生成例を図３を用いて説明する。第１及び第２のライト専用レジスタのデータが４ビットであり、第１のライト専用レジスタの値が”１１００”、第２のライト専用レジスタの値が”１００１”であれば、各ビット毎に論理和を取るので、暗号キー生成回路１７０の出力すなわち暗号キーは”１０００”となる。この暗号キーも、専用線１６０経由でリード専用レジスタ１８０に送られる（Ｓ１４０）。ここで、リード専用レジスタとは、通常のフリップフロップ回路の出力端子は内部バスに接続されているが、入力端子は内部バスに接続されておらず、内部バスとは異なる専用線１６０に接続されているものをいう。すなわち、リード専用レジスタには、内部バスからはデータを読み込めるが、書き込むことはできない。
【００１３】
ＣＰＵ１１０はリード専用レジスタ１８０に格納されている暗号キーを内部バス１３０ｂ経由で読み込む。この取得した暗号キーとＲＯＭ２００ａから読み込んだ暗号処理プログラムによって、所望の暗号処理を開始することができる（Ｓ１５０）。
【００１４】
本実施形態によれば、暗号キー生成回路１７０の入出力端子は内部バスに接続されていないため、暗号キー生成装置１００であるチップの外側からは暗号キー生成回路１７０を見ることができず、また、第１及び第２のライト専用レジスタのデータとリード専用レジスタのデータとの間の相関関係があることも理解できないので、セキュリティの向上を図ることができる。
【００１５】
また、仮にリード専用レジスタ１８０から内部バス１３０ｂを経由してＣＰＵ１１０が読み込んだ暗号キーを盗まれても、次回からの暗号キーを変えることが容易である。
【００１６】
本実施形態に係る暗号キー生成装置１００は上述したようにライト専用レジスタ１４０，１５０に書き込むデータを変えるだけで暗号キーを変えることができ、例えば、数分毎にスクランブルコードが変わる有料コンテンツ番組などを受信して、テレビに表示するホームサーバ等のリアルタイムソフト処理に適用することができる。
【００１７】
また、本実施形態は、暗号処理自体はＣＰＵ１１０でソフトウェア処理を行うので、各種暗号処理方式に対応することができ、バッチ処理のように時分割で暗号処理をさせることもできる。各種暗号処理としては、例えば、ＤＴＣＰ（Ｄｉｇｉｔａｌ　Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｅｎｔ　Ｐｒｏｔｅｃｔｉｏｎ）、ＣＰＲＭ（Ｃｏｎｔｅｎｔ　Ｐｒｏｔｅｃｔｉｏｎ　ｆｏｒ　Ｒｅｃｏｒｄａｂｌｅ　Ｍｅｄｉａ）、ＭＵＬＴＩ暗号アルゴリズム、ＤＥＳ（Ｄａｔａ　Ｅｎｃｒｙｐｔｉｏｎ　Ｓｔａｎｄａｒｄ）３−ＤＥＳ（Ｔｒｉｐｌｅ　ＤＥＳ）、Ｃ２暗号記録技術（ローカル暗号記録技術）などに適用可能である。
【００１８】
（ライト専用レジスタの変形例）
図４は、図１で説明したライト専用レジスタの変形例を示す概略図である。このライト専用レジスタ３００は、ライト専用指定レジスタ３１０と固定データ格納レジスタ３２０で構成されている。固定データ格納レジスタ３２０には、複数のデータ（図ではデータ１〜４）が格納されており、出力端子は暗号キー生成回路１７０と専用線１６０を介して接続されている。そして、ライト専用指定レジスタ３１０によってアドレス指定された固定データが暗号キー生成回路１７０へ出力されるように構成されている。ライト専用指定レジスタ３１０の入力端子は内部バス１３０ｂに接続しており、出力端子は専用線１６０を介して固定データ格納レジスタ３２０に接続している。
【００１９】
したがって、上述した暗号キー生成プログラムによって、ＣＰＵ１１０は、固定データ格納レジスタ３２０に格納されている複数のデータのうちどのデータを指定するかという指定データをＲＯＭ２００からライト専用指定レジスタ３１０へ書き込むことによって、複数の固定データから任意のデータを指定することができる。
【００２０】
本変形例の場合も、上述した実施形態と同様に、暗号キー生成回路１７０の入出力端子は内部バスに接続されていないため、暗号キー生成装置１００であるチップの外側からは暗号キー生成回路１７０を見ることができず、また、第１及び第２のライト専用レジスタのデータとリード専用レジスタのデータとの間の相関関係があることも理解できない。
【００２１】
上述した実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の趣旨を逸脱しない範囲であれば、適宜組合わせ及び変更することができることはいうまでもない。例えば、図４で説明したライト専用レジスタ３００を図１の第１又は第２のライト専用レジスタのどちらか一方に用いてもよいし、両方に用いてもよい。また、暗号キー生成回路１７０が複数あってもよい。この場合、複数の暗号キー生成回路のうちどの暗号キーを使うかを選択するセレクタが必要である。このセレクタもまた、内部バスに接続されておらず、専用線１６０を介して、どの暗号キーを選択すればよいかという情報をライト専用レジスタなどから受け取ればよい。
【００２２】
【発明の効果】
上述したように本発明によれば、セキュリティの向上を図る暗号キー生成装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る暗号キー生成装置の概略図。
【図２】図１の暗号キー生成装置の動作フローチャート。
【図３】暗号キー生成回路１７０がＡＮＤ回路の場合の暗号キー生成例を示す図。
【図４】図１で説明したライト専用レジスタの変形例を示す概略図。
【符号の説明】
１００　暗号キー生成装置
１１０　ＣＰＵ
１２０　外部バス
１３０ａ、１３０ｂ　内部バス
１４０　第１のライト専用レジスタ
１５０　第２のライト専用レジスタ
１６０　専用線
１７０　暗号キー生成回路
１８０　リード専用レジスタ
２００ａ、２００ｂ　ＲＯＭ
３００　ライト専用レジスタ
３１０　ライト専用指定レジスタ
３２０　固定データ格納レジスタ
【図１】
2004086085.tif 000003
【図２】
2004086085.tif 000004
【図３】
2004086085.tif 000005
【図４】
2004086085.tif 000006