JP4740830B2 - チップセットセキュリティオフロードエンジン - Google Patents

チップセットセキュリティオフロードエンジン Download PDF

Info

Publication number
JP4740830B2
JP4740830B2 JP2006337403A JP2006337403A JP4740830B2 JP 4740830 B2 JP4740830 B2 JP 4740830B2 JP 2006337403 A JP2006337403 A JP 2006337403A JP 2006337403 A JP2006337403 A JP 2006337403A JP 4740830 B2 JP4740830 B2 JP 4740830B2
Authority
JP
Japan
Prior art keywords
bridge
cpu
security engine
encryption
data
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
JP2006337403A
Other languages
English (en)
Other versions
JP2007215159A (ja
Inventor
ビー. コックス マイケル
パッカード モアトン ヘンリー
キース ランゲンドーフ ブライアン
ジー. リード デイヴィッド
Original Assignee
エヌヴィディア コーポレイション
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
Priority claimed from US11/304,116 external-priority patent/US8473750B2/en
Priority claimed from US11/304,408 external-priority patent/US7920701B1/en
Application filed by エヌヴィディア コーポレイション filed Critical エヌヴィディア コーポレイション
Publication of JP2007215159A publication Critical patent/JP2007215159A/ja
Application granted granted Critical
Publication of JP4740830B2 publication Critical patent/JP4740830B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

関連出願の相互参照
[0001]本出願は、本出願人へ共に譲渡され、且つ、本願と同日に米国特許商標庁に出願された「Apparatus, System, and Method for Digital Content Protection」と題する米国特許出願(代理人管理番号NVID−106/02US)に関連するものであり、当該米国特許出願の内容を本明細書に援用する。
発明の分野
[0002]本発明は、一般に、デジタルコンテンツの保護を提供するための技術に関するものである。より詳細には、本発明は、中央処理装置(CPU)からデジタルコンテンツの保護の側面をオフロード(移動)する技術に関するものである。
発明の背景
[0003]多くの消費者向け製品における問題の一つは、傍受されてしまうことのある信号経路に沿ってデジタルコンテンツが送信されねばならいことである。その結果として、デジタルコンテンツプロバイダーは、ハッカーによるデジタルコンテンツの許可されていないコピーについて心配しなければならない。例えば、ホームエンターテイメントシステムは、パーソナルコンピュータ(PC)、グラフィックサブシステム、高精細テレビジョン、セットトップボックス、デジタルビデオレコーダ及びプレーヤ、並びにデジタル汎用ディスク(DVD)プレーヤを含み得る。従って、暗号化されていないデジタルコンテンツ(しばしば「クリアテキスト」コンテンツとして知られる)は、ハッカーが、例えば、一以上の信号バスの出力を使用することによって傍受されてしまうというリスクがある。
[0004]デジタルコンテンツの保護は、オーディオ及びビデオコンテンツが許可なしにコピーされないようにするために、その重要性を増してきている。デジタルコンテンツの保護は、とりわけ、傍受され得るような信号バスを通して送信されるコンテンツを暗号化するためのプロトコルを含む。デジタル送信コンテンツ保護(DTCP)スキームは、1998年に五つの会社(5C)によって開発され、日立、インテルコーポレーション、松下電器産業、ソニーコーポレーション及び東芝コーポレーションによって1998年7月に刊行された文献「5C Digital Transmission Content Protection」に記載されており、当該文献の内容を本明細書に援用する。このDTCPの方法のより詳細な点については、日立、インテルコーポレーション、松下電器産業、ソニーコーポレーション及び東芝コーポレーションによって2004年1月に刊行された「Digital Transmission Content Protection Specification」改訂1.3に記載されており、その内容を本明細書に援用する。DTCPの方法は、米国電気電子技術者協会(IEEE)1394マルチメディアバスに使用し得るものであり、ソースデバイス及びシンクデバイス(コンテンツストリームを受け取る装置)のためのプロトコルであってコンテンツの安全な送信を確立するためのプロセスを含んでいる。DTCPの方法は、認証及びキー交換(AKE)プロトコル、コンテンツ暗号化、並びに、暗号化モードインジケータ(EMI)を使用するコピーコントロール情報(CCI)を含む。
[0005]DTCPのようなデジタルコンテンツの保護のスキームの1つの欠点は、コンテンツがデバイス間のシステムバスにて暗号化されるにもかかわらず、クリアテキストデータが一以上の内部データバスで盗まれやすいというものである。例えば、PCベースのマルチメディアシステムにおけるDVDの再生について考える。DVDコンテンツは、DVDプレーヤから暗号化された形式にて中央処理装置(CPU)によって受け取られる。CPUは、受け取ったデジタルコンテンツを復号する。次いで、CPUは、そのデータを表示装置へ書き込む前にそのDVDデータを再暗号化する。しかしながら、CPUによって行われる復号及び再暗号化では、通常、クリアテキストデータをシステムメモリへ書き込む必要があり、この場合には、コンテンツがメモリバスにて盗まれ易いのである。
[0006]デジタルコンテンツの保護スキームの別の欠点は、高精細ビデオの暗号化及び復号を行うのにCPUに相当の負荷を掛けてしまうということである。例えば、アドバンスド暗号化標準(AES)は、略16サイクル/バイト(B)の暗号化コストを要する。圧縮フォーマット高精細テレビジョン(HDTV)は、約50MB/sの暗号化帯域幅に相当し、各圧縮HDTVコンテンツストリームは利用可能なCPUクロックサイクルの800MHzに相当する。これは、数ギガヘルツのクロックレートで動作するCPUには相当の負荷である。その上、幾つかのマルチメディアシステムにおいては、同時に幾つかのビデオストリームを取り扱う能力を有することが望まれており、これによって、最悪のケースのシナリオでは、CPUに対する暗号化/復号の全負荷がCPUクロックサイクルの大部分を消費することがある。
[0007]従って、デジタルコンテンツの保護を提供するための改良された装置、システム及び方法が望まれている。
発明の概要
[0008]中央処理装置をシステムの他のコンポーネントへ接続(ブリッジ)するためのブリッジについて開示する。ブリッジにおけるセキュリティエンジンは、暗号化サービスが中央処理装置からブリッジへと移動されるようにする。一実施の形態では、セキュリティエンジンは、ブリッジの非安全なインターフェイスにおいて、保護されるべきデータを暗号テキストとして暗号化する。
[0009]本発明は、添付図面と共に以下なされる詳細な説明を参照することによって、より十分に理解されよう。これら図を通して対応する部分を、同様の参照符号によって指し示す。
発明の詳細な説明
[0018]図1は、本発明の一実施の形態によるデジタルコンテンツシステム100のブロック図である。デジタルコンテンツシステム100は、セキュリティエンジン112を有するブリッジ110を含む。本発明の一実施の形態によれば、セキュリティサービスは、CPU120より下流の少なくとも一つのデバイス用のデータの暗号化といったものであり、CPU120からセキュリティエンジン112を使用するブリッジ110へ移動される。
[0019]ブリッジ110は、単一チップとして、一群のチップとして、又はCPU120が形成されているチップの一部分として実装し得るものである。以下に詳述するように、ブリッジ110は、中央処理装置(CPU)120を他のデバイスへと接続(ブリッジ)するためのチップセットの部分として使用される任意のブリッジを含み得るものであり、例えば、ノースブリッジチップ、サウスブリッジチップ、又は、ノースブリッジチップ及びサウスブリッジチップの組み合わせといったものである。
[0020]セキュリティエンジン112は、ブリッジ110内で暗号化サービスを実行する。典型的な暗号化サービスとしては、暗号化、復号、及びトランスコード(すなわち、異なる暗号化フォーマット間の変換)がある。暗号化サービスは、例えば、保護される必要のあるデータクラスに適用し得る。あるアプリケーションでは、ブリッジを通るデータの全てが暗号化サービスを必要とする。しかしながら、より一般的には、保護を必要とするデータ、例えば、デジタルコンテンツの保護を必要とするデータのようなデータのみが、暗号化サービスを必要とする。セキュリティエンジン112によって提供される暗号化サービスを利用して、ハッキングを受けやすいデジタルコンテンツシステム100の各部におけるデータ(例えば、ビデオコンテンツのようなデジタルコンテンツ)を保護してもよい。
[0021]暗号化サービスは、データ書込みオペレーションのようなデータアクセスオペレーション中に提供することが可能である。暗号化/復号キー114は、暗号化サービスをサポートするためにセキュリティエンジン112に記憶されている。単一の暗号化及び/又は復号キーが記憶されているが、より一般的には、暗号化、復号、又はトランスコードのうち一以上のタイプをサポートするために追加のキーを記憶してもよい。一実施の形態では、コンテクストポインター116が、メモリ130内のコンテクストデータ118といったコンテクストデータのソースを指示する。コンテクストデータ118は、特定のソース/宛先アドレスに対してセキュリティエンジン112によって行われるべき特定の暗号化サービス(例えば、暗号化、復号又はトランスコード)をコンテクストスイッチが選択できるようにするデータ構造体を含む。各コンテクストが、また、特定の暗号化/復号キーを指示してもよい。
[0022]一実施の形態においては、セキュリティエンジン112は、圧縮又は非圧縮データの標準暗号化及び復号技法(例えば、アドバンスド暗号化標準(AES)、トリプルデータ暗号化標準(3DES)、又はパブリック/プライベートキーリモートサーバー管理(RSM))をサポートする。しかしながら、セキュリティエンジン112は、また、他の暗号化プロトコルをサポートするように構成されていてもよい。典型的なトランスコードアプリケーションとしては、一つの暗号化標準のフォーマットから別の一つの暗号化標準のフォーマットへの変換、又は、二つの異なる暗号化キーの間の変換、例えば、第1キーでのAESと第2キーでのAESとの間の変換の実行がある。セキュリティエンジン112は、好ましくは、専用の改竄防止暗号化ハードウェアを少なくとも部分的に用いて実装されており、これにより、ソフトウェアのみによる暗号化/復号アルゴリズムの実行と比較してセキュリティが改善されるという利点が得られる。また、セキュリティエンジン112を専用ハードウェアで実施することによって、更に、性能及び電力消費における改善が可能となる。
[0023]ブリッジ110は、CPU120、メモリ130、及びグラフィック処理装置(GPU)140(図示の例ではディスプレイ150に結合されている)といった他の装置を結合している。ブリッジ110は、フロントサイドバス(FSB)のようなバスインターフェイス121を有するバス122によって、CPU120に結合されている。CPUをブリッジに結合するバスインターフェイス121は、典型的には、専用高速インターフェイスであり、当該専用高速インターフェイスは、半田接続、埋め込み回路パス、及び高速なデータ速度のために、バスへのハッキングを困難なものとするのであり、本来的にセキュリティの高いものである。従って、以下の説明を通じて、クリアテキストデータがCPU120からブリッジ110へバスインターフェイス121を通して安全に送信できることが理解されるであろう。これは、アセンブルされたユニットにおいては、バスインターフェイス121からハッカーがデータを傍受することが、非常に難しいものであるからである。
[0024]システム100においては、ブリッジ110とコンポーネント130及び140のような他のコンポーネントとの間に非安全なリンクを有する幾つかの経路がある。リンクが安全でないのは、例えば、ブリッジインターフェイス124又は126及びそれに関連するバス135又は145が潜在的にハッカーによってアクセスできる場合である。例えば、メモリバス135又はGPU140へのバス145は、それらバス135又は145が、確実に半田付けされていないか、及び/又は、それらバス135又は145へのハッキングが可能であるような低いデータレートを有する場合には、安全ではないことがある。
[0025]入力経路としては、CPU120からブリッジ110への直接書込みのような、他のデバイスからブリッジ110への入力データの書込み経路がある。出力経路としては、GPU140への書込み又はメモリ130への書込みのように、ピアツーピア技法を使用する他のデバイスへのブリッジ110からの出力データの直接書込み経路がある。更に、直接メモリアクセス経路としては、CPU110がメモリ130へ書き込む直接メモリアクセスのようなメモリ130への直接書込み経路がある。ブリッジ110は、一つのデバイスから別の一つのデバイスへデータを書き込みすることが可能であり且つ直接メモリアクセスを可能とする任意のインターフェイスを利用できる。一実施の形態では、ブリッジ110は、GPU140のような少なくとも一つ他のデバイスとの高速インターフェイスとして、周辺コンポーネントインターフェイスエクスプレス(PCI-E)を使用するようになっている。PCI-Eは、周辺コンポーネントインターフェイススペシャルインタレストグループ(PCI-SIG)によって刊行された「PCIeベース仕様書」に記載された高速インターフェイス標準であり、この仕様書の内容を本明細書に援用する。しかしながら、より一般的には、CPU110をブリッジ110へ結合するPCI-Eの代わりに周辺コンポーネントインターフェイス(PCI)のような他の工業標準インターフェイスを使用することも可能である。
[0026]一実施の形態では、セキュリティエンジン112は、PCIデバイスであり、当該PCIデバイスを、例えば、PCIバス0に実装して、セキュリティエンジン112をマザーボード製造時に認証及び承認することを可能にしている。PCIアーキテクチャーにおいては、一次バス番号、二次バス番号、及び下位バス番号に対応する異なるバス番号がある。PCIバス0は、ホストブリッジが接続するバスであるものと定義され、当該ホストブリッジは、CPUをPCIシステムへ接続する。暗号化/復号キーをセキュリティエンジン112へロードするために特権書込みを使用してもよい。
[0027]図1は、CPU120においてビデオプレーヤ(VP)アプリケーション190及びグラフィックドライバー185を実行する典型的なアプリケーション185を例示している。暗号化されたデジタルコンテンツは、DVDプレーヤのようなデジタルコンテンツソースプレーヤ160から受け取られる(例示のために、デジタルコンテンツソースプレーヤ160を、直接的にCPU120に取り付けているように示しているが、より正確には、プレーヤ160は入力デバイスポートに接続される)。デジタルコンテンツ保護プロトコルに従って、CPU120は、暗号化/復号ソフトウェア195を有しており、デジタルコンテンツソース160から暗号化されたデジタルコンテンツを読み取り、暗号化/復号ソフトウェア195を使用して暗号化されたコンテンツの初期復号を実行する。VPアプリケーション190は、一以上のビデオストリームの再生及び/又は記憶を管理するためのオペレーションを実行する。
[0028]GPU140は、ビデオフレームを生成するためのコマンドをCPU120から受け取り、また、通常、メモリ130からビデオデータを受け取る。GPU140の一つの特徴は、CPU140の使用を減少させるためにビデオ処理オペレーションをGPU140へ移動し得ることである。しかしながら、GPU140の別の特徴は、改善された表示特性を有するビデオフレームを生成し得ることである。ビデオコンテンツは、例えば、パーソナルコンピュータ又は高精細テレビジョンにおいて表示するのに最適化されていないようなオリジナルフォーマットで生成されることがある。例えば、カリフォルニア州サンタクララのNvidiaコーポレーションによって販売されているNvidia PureVideo Decoderは、GeForce6及び7シリーズのGPUで作動する。GeForce6及び7シリーズのGPUは、プログラマブルビデオプロセッサ、MPEG-2復号エンジン、及び運動推定エンジンを備えている。Nvidia PureVideo Decoderは、ハードウェアアクセラレーションを使用して、フィルタリング、スケーリング、フォーマット変換、及びその他のオペレーションを行い、ビデオの再生を加速する。さらに、種々なオペレーションを利用して、デスクトップパーソナルコンピュータ、ノートブックパーソナルコンピュータ(PC)及び高精細テレビジョン(HDTV)でのビデオコンテンツの表示を、エイリアシング効果を減少させるサブピクセル計算を含む視覚アーチファクトの除去によって、改善してもよい。従って、本明細書を通じて、一実施の形態では、GPU140が、ビデオ再生を改善し、且つ、CPUの使用を減少させる一以上の特徴、例えば、プログラマブルビデオ処理、MPEG-2デコーディング、デインターレーシング、逆テレシネ、フィルタリング、スケーリング、フォーマット変換、及び運動推定を、サポートするものと理解されるであろう。
[0029]CPU120は、任意の適当なマイクロプロセッサに基づくことができる。一実施形態として、CPU120は、仮想マシンの実装をサポートするマイクロプロセッサであってもよい。仮想マシンの実装は、マイクロプロセッサCPUを、種々の機能を実行する専用の別々のパーティションへと論理的に分割することを可能にする。デジタルコンテンツアプリケーションでは、これによって、例えば、あるパーティションを、デジタルコンテンツサービスに専用のものとすることが可能である。例示的な実施の形態として、仮想マシンにおける一つのパーティションが、ビデオプレーヤソフトウェアに専用のものとされてもよい。仮想マシンの実装では、ビデオプレーヤのパーティションが、他のパーティションから分離され、その結果、他のソフトウェアが、ビデオプレーヤのデータを読み取ったり変更したりすることがなくなる。仮想マシンは、ソフトウェアの攻撃に対して改善されたセキュリティを提供し、一方、セキュリティエンジン112は、ハードウェアの攻撃に対して改善されたセキュリティを提供する。仮想マシンとして動作するように設計されたCPUの一実施の形態として、インテルが、ワシントン州レドモンドのマイクロソフトコーポレーションのWindows(登録商標)オペレーティングシステムのコードネーム「ロングホーン(Longhorn)」バージョンをサポートするように設計された統合セキュリティ特徴を有する64ビットペンティアムマイクロプロセッサを開発している。
[0030]従来のコンテンツ保護スキームによれば、バス145にてGPU140へ送られるコマンドストリームは、暗号化される必要があり、次いで、GPU復号エンジン147を使用してGPU140にて復号される。従来においては、CPU120が、また、バス145の出力が暗号化されるよう、ブリッジ110へ送られるデジタルコンテンツを再暗号化する機能を実行しなければならなかったであろう。しかしながら、本発明によれば、ブリッジ110が、データの任意の必要な再暗号化を実行する。従って、再暗号化機能が、CPU120からオフロードされ、それによって、CPU性能が改善される。その上、セキュリティエンジン112は、CPU195内のソフトウェアベースの暗号化/復号に比べて暗号化/復号に必要とされる電力消費を低減する専用ハードウェアを有することが可能である。さらに、一実施の形態では、ブリッジ110は、メモリ130での記憶のためにメモリバス135を通して送信されるデータを暗号化し、それによって、セキュリティを改善する。
[0031]図2は、セキュリティエンジン112の典型的な実装形態を示している。一実施の形態では、セキュリティエンジン112は、レジスタスペース210、マイクロコントローラ220、及び読取り専用メモリ(ROM)コードストア230を備えている。サポートされた暗号化アルゴリズムの各々は、暗号化/復号アルゴリズムを実行するためのものであってチップメモリバッファ245に関連付けられた専用の改竄防止暗号化ハードウェアモジュール240(通常「暗号化ハードウェア」として知られている)を含むことができる。通信モジュール250は、直接メモリアクセス(DMA)及びシステム100の他のコンポーネントとのピアツーピア(P2P)通信をサポートする。
[0032]図3は、ノースブリッジアーキテクチャーを例示している。この実施の形態では、セキュリティエンジン112が、ノースブリッジチップ305内に設けられている。通常のサウスブリッジチップ310が、ノースブリッジチップ305に結合されている。
[0033]図4は、サウスブリッジアーキテクチャーを例示している。この実施の形態では、セキュリティエンジン112が、サウスブリッジチップ410内に設けられている。サウスブリッジチップ410は、ノースブリッジチップ405に結合されていてもよい。しかしながら、AMD K8プロセッサのようなマイクロプロセッサCPUは、統合ノースブリッジ機能を有している。したがって、この場合には、サウスブリッジチップ410が、CPU120に直接に接続されることが理解されるであろう。
[0034]前述したように、一実施の形態では、セキュリティエンジン112は、PCIアーキテクチャー環境(例えば、PCI-E仕様書又はPCI2.2仕様書に記載されているようなPCI-エクスプレス環境。これら仕様書は、共にPCI-SIGによって刊行されており、その内容を参照することによって本明細書に援用する。)にて動作するように設計されている。PCIアーキテクチャーは、CPU及びデバイスのメモリに対する読取り書込みトランザクション、並びに特殊コンフィギュレーションによるデバイスに対する読取り書込みトランザクション、I/O、及びメモリマップI/O(MMIO)トランザクションをサポートする。各PCI準拠デバイスは、当該デバイスを検出し、当該デバイスに問い合わせを行い、当該デバイスを設定することを可能にする「コンフィギュレーションスペース」をサポートする。各「コンフィギュレーションスペース」は、CPU及び他のデバイスがそのデバイスに対して読取り書込みを行うアドレス領域を任意にサポートしてもよい。これらの領域は、「ベースアドレスレジスタ」(BAR)によって定義される。
[0035]図5は、CPU又は他のデバイスからメモリマップの読取り及び書込みを介してメモリマップアドレス領域へのアクセスを可能にするベースアドレスレジスタ520を有するPCIコンフィギュレーションスペース510を例示している。デバイス制御及びデータ構造体は、BARによって指示されるアドレス領域に埋め込むことができる。例えば、以下に説明する制御及びデータ構造体は、セキュリティエンジン112の一実施の形態ではBARによって指示される一以上のアドレス領域に埋め込むことができる。
[0036]図6は、コンテクストスイッチを実装するための典型的なコンテクストデータ構造体610を例示している。一実施の形態では、セキュリティエンジン112は、コンテクストデータ構造体610のM個のインスタンスに対応する整数M個の同時セッションをサポートすることができる。キー配列630は、異なるキー(又は一つより多いキー)を必要とする種々の暗号化、復号、又はトランスコーディングアルゴリズムを使用することを可能とする。一実施の形態では、整数N個のキーがキー配列630によってサポートされる。コンテクストは、ソースアドレス、宛先アドレス、及びメモリ属性(例えば、直接メモリアドレス)に基づいて選択される。典型的なコンテクストデータ構造体610は、暗号化又は復号のいずれが実行されるべきかを定めるコンテクスト情報e/dフィールド612、使用されるべき暗号化/復号アルゴリズムを定めるe/dアルゴリズムフィールド614、DMAが使用されるか否かを定めるフィールド616、メモリからのDMA用にデバイスによって必要とされるパラメータを定めるDMA入力記述子フィールド618、デバイスからの出力のために必要とされるパラメータを定める出力記述子フィールド620、キーアレイ630における第1のキーを特定するインデックスフィールド622、及び暗号化/復号アルゴリズムによって使用されるキーの数を指示するナンバーフィールド624を含む。
[0037]典型的なコンテクストデータ構造体610を、また、疑似コードとして表してもよい。一実施の形態では、セキュリティエンジンが、整数M個のコンテクスト及び整数N個のオンチップキーをサポートする。各コンテクストは、種々の数のキーを使用してもよい。さらに、各コンテクストは、入力データを読み取ることができるようにする(又は入力データをそれに書き込ませる)のに必要な情報、及び出力データを書き込むことができるようにするのに必要な情報を有する。DMAアドレス記述子テーブル又は他の記述子を備えて、DMAアクセスをサポートしてもよい。また、現在のコンテクストへのインデックスを提供しており、これによって、(コンテクストを変更し、現在のインデックスを変更するための)高速コンテクストスイッチを可能にしている。ベースアドレスレジスタからのオフセットを提供して、セキュリティエンジン112を単一PCIデバイスにおける幾つかの機能の一つとして実施できるようにしている。疑似コードにおいては、これらデータ構造体が、一以上のセキュリティエンジンBARへ次のようにマッピングされる。

Integer N
Integer M
Index current_context
Offset_from_base_address_MMIO_input
Key keys[N]
典型的なコンテクストデータ構造体は次の通りである。

Struct {
Boolean encrypt_not decrypt;
Enumerated encryption_decryption_algorithm;
Boolean use_dma
DMA_input dma_input
Output output
Index start_key(index into keys)
Integer number_of_keys
(numberof keys must be consistent with encryption decryption algorithm)
} Contexts[M]

ここで、
struct DMA input{
Address data_descript_table
Integer length
}
Struct Output{
Address addr
Integer limit
}
[0038]本発明によれば、セキュリティエンジン112を使用して、暗号化、復号又はトランスコードを行う幾つかの異なる入力モードが可能になる。セキュリティエンジン112への入力は、CPUからの直接的書込み、別のデバイスからの直接的書込み、又は直接メモリアクセスを通してなされる入力であることが可能である。一例として、デバイスへのメモリマップ書込みは、CPUによって、又はピアツーピアトランザクションを介した別のデバイスによって行うことが可能である。一例として、CPUは、クリアテキストをセキュリティエンジンへ書き込むことが可能である。次いで、セキュリティエンジンは、暗号化を実行して暗号テキストを宛先へ書き込む。別の例として、CPU又は他のデバイスが、暗号テキストをセキュリティエンジン112へ書き込むことが可能である。この場合には、セキュリティエンジン112が、その暗号テキストを復号してクリアテキストの出力を宛先へ書き込む。直接メモリアクセス入力の場合には、直接メモリアクセスを使用して、CPU又は別のデバイスによって書き込まれるコンテンツデータをメモリから読み取る。直接メモリアクセスがクリアテキストデータに対するものである場合には、セキュリティエンジン112が、暗号テキストの暗号化及び書込みを行う。直接メモリアクセスがクリアテキストデータに対するものである場合には、セキュリティエンジン112は、復号してクリアテキストデータを書き込む。
[0039]出力は、物理メモリに対して成すことが可能であり、又はピアツーピアを使用して別のデバイスに対して成すことも可能である。一実施の形態では、出力は、プログラマブルアドレスによって決定される。例えば、プログラマブルアドレスは、物理メモリ又は別のデバイスのメモリスペースにおける出力アドレス領域であることができる。
[0040]入力モードは、CPU120によるMIMO書き込み、又はピアツーピア書込みを使用する他のデバイスによるMMIO書込みを含む。出力モードは、メモリに対する直接的メモリアクセス、及びピアツーピアを含む。1つの実施形態では、CPU120は、クリアテキストデータを暗号化エンジン112へ直接的に書き込むことができる。暗号化エンジンは、暗号化されたデータをメモリ130へ書き込むことができ、クリアデータテキストデータをメモリ130に記憶する必要をなくすることができる。
[0041]本発明の典型的なアプリケーションとしては、再生用のビデオの暗号化及び復号のアプリケーション、ネットワーク記憶のような記憶アプリケーションのための異なる標準間の暗号化及び復号(すなわち、トランスコーディング)、ネットワークトラフィックの暗号化、復号、及びトランスコーディング、並びに、パーソナルビデオレコーダーシステムにおけるコンテンツの暗号化及び復号のアプリケーションがある。
[0042]図7は、ビデオを安全に表示するためのオペレーションの典型的なシーケンスを示している。例示として、ブリッジ110が、ノースブリッジチップ610-A及びサウスブリッジチップ610-Bとして示されている。コンポーネント間のバスは、図を簡単化するために省略されている。矢印701によって示されるように、CPU120は、ビデオコンテンツソース160からビデオデータを読み取る。コンテンツ保護プロトコルによれば、コンテンツは暗号化される。CPU120は、ソフトウェア復号技法を使用してCPU120内で復号702を行う。クリアテキストデータが、矢印703で示されるようにCPU120によってセキュリティエンジン112へ送られる。フロントサイドバスは傍受され難いので、CPU120からセキュリティエンジン112へのクリアテキストデータの送信は、本来的に安全である。セキュリティエンジン112は、データ704を暗号化する。次いで、セキュリティエンジン112は、直接メモリアクセスを使用して、暗号テキストをメモリ130に書き込む(705)。その結果、メモリバス(図示していない)を通して送信されるコンテンツは安全となる。次いで、GPU140が、直接メモリアクセスを使用して、暗号テキストを読み取る(706)。次に、GPU140は、そのコンテンツを復号し表示する(707)。
[0043]図7を参照するに、本発明によって提供される一つの利点は、ハッキングを受け易いシステムの各部においてコンテンツが暗号テキストとして送信され記憶されるという点である。従って、デジタルコンテンツ保護が改善される。加えて、コンテンツの暗号化に関連したCPUのオーバーヘッドが減少され、CPUの性能が改善される。さらに、セキュリティエンジン112は、好ましくは、暗号化及び復号オペレーションを行うのにCPU120よりもより良い電力効率を有するように設計される。その結果、セキュリティエンジン112への暗号化/復号オペレーションのオフロードによって、電力消費を減少することが可能である。
[0044]本発明の別のアプリケーションとして、パーソナルビデオレコーダー(PVR)アプリケーションがある。PVRは、HDTV信号といったテレビジョン信号を記録する。図8は、デジタルテレビジョン(DTV)のための典型的なPVRシステム800を例示している。PVRシステム800は、例えば、CPU120、GPU140、ディスプレイ150、メモリ130、及びブリッジ110のような少なくとも一つのブリッジを有するメディアセンターパーソナルコンピュータであってもよい。ビデオキャプチャ(VC)モジュール805が、PVRシステム800に含まれており、例えば、ブリッジ110に含まれていてもよい。VCモジュール805は、記憶のためブロードキャスト信号を取り込む。HDTV受信器802が、ブロードキャスト信号を受け取るためPVRシステム800に結合されていてもよい。HDTV受信器802は、例えば、復調及び復号を実行して、復調データパケットのトランスポートストリームの形態でビデオ信号810を生成してもよい。ビデオ信号810は、その実装形態に依存して、ブリッジ110により直接的に受け取られてもよく、又は、別のコンポーネントからブリッジ110へ結合されてもよい。
[0045]将来のテレビジョン受信器は、ブロードキャストフラグを認識する必要があり、そのブロードキャストフラグの検出に応答してデジタルコンテンツ保護スキームを実施し、取り入れたビデオがインターネット又はその他のマス方法を介して分配されないようにすることが提案されている。その結果、受信されたブロードキャストHDTV信号のコピーは、保護されたフォーマットにて維持され、これによって、エンドユーザがビデオコンテンツの保護されていないコピーを分配することが困難なものとされる。ブロードキャストフラグを、例えば、プログラム及びシステム情報プロトコル(PSIP)に従ってアドバンスドテレビジョンシステムコミッティ(ATSC)のヘッダーに含めてもよい。本発明の一実施の形態では、PVRシステム800は、ブロードキャストフラグがビデオ信号810に存在するか否かを検出する。ブロードキャストフラグが存在する場合には、デジタルコンテンツ保護をサポートするのに必要とされる暗号化/復号サービスがセキュリティエンジン112へ移動される。PVRアプリケーションの場合には、多くのプロセスは、データのソースがブロードキャスト信号であること、及び、ブロードキャストフラグの存在が監視されることを除けば、図7に記載したプロセスと同一である。例えば、PVRシステム800は、メモリ130に記憶して後に再生するために受信したビデオ信号のコピーを暗号化し、その後の再生に必要な復号を行ってもよい。
[0046]本発明の典型的なアプリケーションについて説明してきたが、より一般的には、本発明を利用して、種々の異なるタイプのデバイス及びメモリのための暗号化、復号又はトランスコーディングサービスを提供し得る。暗号化、復号又はトランスコーディングサービスは、メモリスティック又はネットワーク記憶デバイスに対して提供することができる。例えば、ネットワーク記憶デバイスでは、セキュリティエンジン112を使用して、記憶用のデータを暗号化してもよい。ネットワーク記憶装置の一実施の形態では、セキュリティエンジン112は、暗号化フォーマットが第1の暗号化フォーマット(例えば、ネットワークを通して送信されるデータのための暗号化フォーマット)から第2の暗号化フォーマット(例えば、データ記憶のための暗号化フォーマット)へ変換されるようなトランスコーディングを実行する。
[0047]一実施の形態では、セキュリティエンジン112は、ブリッジ110とは別の分離したデバイスに形成される。例えば、セキュリティエンジン112が、ブリッジ110とは異なるチップに形成されてもよい。この実施形態では、PCI-Eのような入力/出力インターフェイスを使用して、セキュリティエンジン112をチップセットにおける他のコンポーネントへ結合してもよい。この代替の実装形態の一つの利点は、セキュリティエンジン112の機能的な利点を異なる物理的パーティショニングを用いてチップセットにて達成できることである。一例として、基本的なチップセットは、セキュリティエンジン112なしに設計できる。高いセキュリティを必要とするマーケットの場合には、セキュリティエンジン112を含むデバイスを、I/Oインターフェイスを介して基本チップセット構造に結合して、高いセキュリティを有したチップセットとすることができる。
[0048]前述したように、コンテクスト状態は、複数のコンテクストの使用をサポートするためメモリに記憶される。仮想マシンの実装形態(例えば、ロングホーン)では、パーティションによって、前述したように、ソフトウェアの攻撃に対して高度の保護が提供される。しかしながら、Linux又はWinXpを実行するシステムのように、コンテナの分離を提供するパーティションを有していないシステムにおいては、セキュリティを増すためにメモリに記憶されたコンテクスト情報の付加的保護を提供することが望ましい。一実施の形態では、メモリに記憶されるコンテクスト状態を暗号化/復号するためのキーがセキュリティエンジン112のハードウェアに記憶される。これによって、コンテクスト状態が暗号テキストとしてメモリに記憶させられ、コンテクスト状態情報をクリアテキストとしてメモリに記憶するのに比べて、セキュリティが改善される。
[0049]本発明の一実施の形態は、種々のコンピュータ実装のオペレーションを実行するウためのコンピュータコードを有するコンピュータ読取り可能な媒体を備えたコンピュータ記憶製品に関する。媒体及びコンピュータコードは、本発明の目的のために特別に設計及び構成されたものであってもよいし、又は、コンピュータソフトウェア技術の分野において当業者に良く知られて利用可能となっている種類のものであってもよい。コンピュータ読取り可能な媒体の例として、これに限定されないが、ハードディスク、フロッピーディスク、及び磁気テープのような磁気媒体、CD-ROM及びホログラフィックデバイスのような光学的媒体、光ディスクのような磁気-光媒体、並びに、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、ROM及びRAMデバイスのようにプログラムコードを記憶し実行するように特別に構成されたハードウェアデバイスがある。コンピュータコードの例としては、コンパイラによって生成されるようなマシンコード、及びインタープリタを使用してコンピュータにより実行されるようなより高レベルのコードを含むファイルがある。例えば、本発明の一実施の形態は、Java、C++、又は他のオブジェクト指向プログラミング言語及び開発ツールを使用して実施できる。本発明の別の実施の形態は、適宜、マシン実行可能なソフトウェア命令の代わりに、又はマシン実行可能なソフトウェア命令と組み合わせて、ハード・ワイヤード回路でも実施し得る。
[0050]前述の記載では、本発明を完全に理解させるために特定の用語を使用した。しかしながら、特定の細部が本発明の実施に必要でないことが当業者に明らかであろう。従って、前述の本発明の特定の実施形態についての記載は、単なる例示に過ぎない。それらの記載はそれに尽きるものでなく、又、本発明を、それら説明した細部の構成に限定しようとするものではなく、前述の記載に鑑みれば、多くの変形例が可能であることは明らかであろう。前述の実施形態は、本発明の原理及びその実際的な応用について最も良く説明するために選択されたものであり、従って、当業者であれば、本発明及び種々な実施形態について意図する特定の使用に適合するような種々な変形を加えて最も良く利用することができるであろう。特許請求の範囲及びその等効物は、本発明の範囲を定めることを意図したものである。
本発明の一実施の形態によるブリッジに配置されたセキュリティエンジンを有するデジタルコンテンツ保護システムのブロック図である。 本発明の一実施形の態によるセキュリティエンジンのブロック図である。 本発明の一実施の形態によるノースブリッジの実装形態のブロック図である。 本発明の一実施の形態によるサウスブリッジの実装形態のブロック図である。 本発明の一実施の形態によるPCIコンフィギュレーションスペースを示す図である。 本発明の一実施の形態によるコンテクストデータ構造を示す図である。 本発明の一実施の形態によるデジタルコンテンツの保護のためのオペレーションの典型的シーケンスを示す図である。 本発明の一実施の形態によるビデオデータのためのデジタルコンテンツ保護システムのブロック図である。
符号の説明
110…ブリッジ、112…セキュリティエンジン、114…キー、116…コンテクストポインター、118…コンテクストデータ構造、130…メモリ、147…復号、150…ディスプレイ、160…コンテンツ、185…グラフィックドライバー、190…ビデオプレーヤ、195…暗号化/復号、210…レジスタスペース、220…マイクロコントローラ、230…ROMコードストア

Claims (4)

  1. 中央処理装置(CPU)をシステム内の他のコンポーネントへ接続するためのブリッジであって、
    該ブリッジ内に設けられたセキュリティエンジンを備え、
    前記セキュリティエンジンは、該ブリッジを介して行われるデータアクセスオペレーションに暗号化サービスを提供するよう動作して、前記CPUによって暗号化デジタルコンテンツから生成され該ブリッジによって受け取られるクリアテキストデータを暗号化して暗号テキストを生成し、該ブリッジに結合されたシステムメモリに該ブリッジを介して前記暗号テキストを転送
    前記ブリッジは、前記暗号テキストを、前記ブリッジに結合されており且つ前記暗号テキストを復号して生成したコンテンツを表示するグラフィック処理装置(GPU)へ提供するようになっている、
    ブリッジ。
  2. 前記ブリッジは、前記CPUから受け取ったコマンドストリームを暗号化し、暗号化されたコマンドストリームを前記ブリッジに結合されたグラフィック処理装置へ提供するようになっている、請求項1に記載のブリッジ。
  3. 改善されたデジタルコンテンツの保護を有するデジタルコンテンツシステムにおいて、
    暗号化デジタルコンテンツからクリアテキストデジタルデータを生成するようになっている中央処理装置(CPU)と、
    前記CPUに結合され、前記暗号化デジタルコンテンツに対応する前記クリアテキストデータを受け取るブリッジと、
    前記ブリッジに結合されたシステムメモリと、
    前記ブリッジに結合されたグラフィック処理装置(GPU)と、
    前記ブリッジ内に設けられたセキュリティエンジンであって、暗号化サービスを提供して、前記クリアテキストデータを該セキュリティエンジンによって暗号化して暗号テキストを生成し、前記ブリッジを介して前記暗号テキストを前記システムメモリ及び前記暗号テキストを復号して生成したコンテンツを表示する前記グラフィック処理装置に転送する、該セキュリティエンジンと、
    を備えるデジタルコンテンツシステム。
  4. 前記ブリッジは、ビデオ信号を受け取り、該ビデオ信号のビデオキャプチャ用のコンテンツ保護を提供するよう暗号化サービスを実行するようになっている、請求項1に記載のブリッジ。
JP2006337403A 2005-12-14 2006-12-14 チップセットセキュリティオフロードエンジン Expired - Fee Related JP4740830B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/304408 2005-12-14
US11/304,116 US8473750B2 (en) 2004-12-15 2005-12-14 Chipset security offload engine
US11/304,408 US7920701B1 (en) 2004-12-15 2005-12-14 System and method for digital content protection
US11/304116 2005-12-14

Publications (2)

Publication Number Publication Date
JP2007215159A JP2007215159A (ja) 2007-08-23
JP4740830B2 true JP4740830B2 (ja) 2011-08-03

Family

ID=37762429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006337403A Expired - Fee Related JP4740830B2 (ja) 2005-12-14 2006-12-14 チップセットセキュリティオフロードエンジン

Country Status (5)

Country Link
EP (1) EP1801725B1 (ja)
JP (1) JP4740830B2 (ja)
KR (1) KR100893980B1 (ja)
CN (1) CN1984298B (ja)
DE (1) DE602006009366D1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473750B2 (en) 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
US7920701B1 (en) * 2004-12-15 2011-04-05 Nvidia Corporation System and method for digital content protection
US8233527B2 (en) * 2007-05-11 2012-07-31 Advanced Micro Devices, Inc. Software video transcoder with GPU acceleration
JP2009044481A (ja) * 2007-08-09 2009-02-26 Ricoh Co Ltd データ処理装置及び画像形成装置
US8319780B2 (en) 2008-07-30 2012-11-27 Nvidia Corporation System, method, and computer program product for synchronizing operation of a first graphics processor and a second graphics processor in order to secure communication therebetween
US8373708B2 (en) 2008-07-30 2013-02-12 Nvidia Corporation Video processing system, method, and computer program product for encrypting communications between a plurality of graphics processors
US8625788B2 (en) * 2011-01-05 2014-01-07 Intel Corporation Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
FR2979443B1 (fr) 2011-08-30 2013-09-27 Maxim Integrated Products Microcontroleur securise a base de mode
US8931108B2 (en) * 2013-02-18 2015-01-06 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US10102391B2 (en) 2015-08-07 2018-10-16 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US9767320B2 (en) 2015-08-07 2017-09-19 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
EP3252651A1 (en) 2016-05-30 2017-12-06 Samsung Electronics Co., Ltd Computing system having an on-the-fly encryptor and an operating method thereof
CN107277579A (zh) * 2017-05-10 2017-10-20 深圳创维数字技术有限公司 信息加解密方法及机顶盒

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0539247Y2 (ja) * 1989-12-15 1993-10-05
DE4120398A1 (de) * 1991-06-20 1993-01-07 Standard Elektrik Lorenz Ag Datenverarbeitungsanlage
US5818939A (en) 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
WO2000019299A1 (en) * 1998-09-25 2000-04-06 Hughes Electronics Corporation An apparatus for providing a secure processing environment
JP2001086481A (ja) * 1999-07-13 2001-03-30 Matsushita Electric Ind Co Ltd パケット分離装置、ディジタル信号転送システム、暗号化装置、媒体、および情報集合体
EP1264241A2 (en) * 1999-08-06 2002-12-11 Intel Corporation Digital membership card system
AU6519600A (en) * 1999-08-10 2001-03-05 Intel Corporation System and method for securely distributing content to groups of receivers
JP2003532946A (ja) * 1999-10-18 2003-11-05 インテル・コーポレーション 取外し可能大容量記憶媒体からコンテンツを安全に自動再生する方法および装置
CN1219382C (zh) * 2000-09-05 2005-09-14 中兴通讯股份有限公司 一种新的加密装置
US8522041B2 (en) * 2000-12-07 2013-08-27 Sony Corporation System and method for efficiently performing a data encryption operation
JP2002222119A (ja) * 2001-01-26 2002-08-09 Mitsubishi Electric Corp 情報処理装置
US7073070B2 (en) * 2001-06-29 2006-07-04 Intel Corporation Method and apparatus to improve the protection of information presented by a computer
US20030018892A1 (en) * 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
US20030142818A1 (en) * 2001-09-28 2003-07-31 Nec Usa, Inc. Techniques for efficient security processing
US7248585B2 (en) * 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
US7028149B2 (en) 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
KR100480998B1 (ko) * 2002-12-16 2005-04-07 한국전자통신연구원 디지털 하드웨어 시스템 보안 장치 및 방법
US20040117639A1 (en) * 2002-12-17 2004-06-17 Mowery Keith R. Secure driver
JP4945053B2 (ja) * 2003-03-18 2012-06-06 ルネサスエレクトロニクス株式会社 半導体装置、バスインターフェース装置、およびコンピュータシステム
AU2003901454A0 (en) * 2003-03-28 2003-04-10 Secure Systems Limited Security system and method for computer operating systems
JP2004349970A (ja) * 2003-05-21 2004-12-09 Sharp Corp ブリッジ回路、映像・音声ストリーム記録再生装置、及び、pvr一体型デジタル放送受信機
CN1689268A (zh) * 2003-05-22 2005-10-26 富士通株式会社 加密数据接收装置及解密密钥更新方法
US7685436B2 (en) * 2003-10-02 2010-03-23 Itt Manufacturing Enterprises, Inc. System and method for a secure I/O interface
KR100891222B1 (ko) * 2003-12-05 2009-04-01 모션 픽쳐 어쏘시에이션 오브 아메리카 디스플레이 어댑터를 위한 보안 비디오 시스템
CN100420181C (zh) * 2004-12-31 2008-09-17 北京中星微电子有限公司 一种数字版权管理媒体信息处理方法

Also Published As

Publication number Publication date
EP1801725B1 (en) 2009-09-23
KR100893980B1 (ko) 2009-04-20
CN1984298A (zh) 2007-06-20
KR20070063465A (ko) 2007-06-19
CN1984298B (zh) 2010-05-19
DE602006009366D1 (de) 2009-11-05
JP2007215159A (ja) 2007-08-23
EP1801725A3 (en) 2007-07-11
EP1801725A2 (en) 2007-06-27

Similar Documents

Publication Publication Date Title
JP4740830B2 (ja) チップセットセキュリティオフロードエンジン
US8473750B2 (en) Chipset security offload engine
US7920701B1 (en) System and method for digital content protection
EP3191994B1 (en) Media decoding control with hardware-protected digital rights management
EP2492774B1 (en) Secure media path methods, systems, and architectures
US7055038B2 (en) Method and apparatus for maintaining secure and nonsecure data in a shared memory system
EP1582962B1 (en) System and method for protecting media content
US7478235B2 (en) Methods and systems for protecting data in USB systems
TWI269169B (en) Methods and systems for cryptographically protecting secure content
KR100899469B1 (ko) 혼성 암호화 가속기 및 이 가속기의 동작 방법
RU2310227C2 (ru) Способы и системы для аутентификации компонентов в графической системе
US6668324B1 (en) System and method for safeguarding data within a device
US9665740B1 (en) Method and system for cryptographically securing a graphics system
US20080317249A1 (en) Encoded Digital Video Content Protection Between Transport Demultiplexer and Decoder
JP4893040B2 (ja) 暗号化データ記録装置
JP2004129227A (ja) 情報再生装置、セキュアモジュールおよび情報再生方法
TWI390408B (zh) 晶片組防護卸載引擎
US20060075507A1 (en) Secure protocols for use with microsoft directshow filters
JP4665510B2 (ja) 暗号化データ記録装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110502

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees