説明

セキュリティモジュール内に組み込まれたソフトウェアのセキュアな更新方法

【課題】 本発明の目的は、メッセージの不正な復号化の結果を未然に防止することが可能なプログラムブロックを含むメッセージの送信方法を提供することにある。この目的は、セキュリティモジュール内に組み込まれたソフトウェアのセキュア化された更新方法であって、第1更新プログラムブロック(PBI)を形成する工程と、前記セキュリティモジュールのターゲットメモリ領域を決定する工程と、前記セキュリティモジュールのために、前記ターゲットメモリ領域内に事前記録された内容(MM_Ref)を決定する工程と、事前記録した内容の全て若しくは一部と第1プログラムブロック(PBI)との混合により得られる第2プログラムブロック(SBI)を形成する工程と、第2プログラムブロック(SBI)をセキュリティモジュールに送信する工程と、セキュリティモジュールが第2ブロックを受信する工程と、ターゲットメモリ領域(MEM)を読み込む工程と、第2ブロックとターゲットメモリ領域内容の全て若しくは一部の逆混合により、ターゲットメモリ領域内で第1ブロックを取得し書き込む工程を含む方法により達成される。

【発明の詳細な説明】
【技術分野】
【0001】
本出願はセキュリティモジュールの分野に関し、より詳細には、更新可能なソフトウェアを有するセキュリティモジュールに関する。
【背景技術】
【0002】
これらのセキュリティモジュールは、認証、権利の確認、クレジットの監理等、多くの機能を受け持つ。これらの機能は高い処理能力を必要とするので、ソフトウェアの大部分が書き換え可能メモリに記憶されている高速マイクロプロセッサを有する。
【0003】
従って、一旦プログラミングエラー又はセキュリティリークが検知されると、補正ブロックが準備されメモリの空き領域内に保存される。この新しいプログラムブロックの機能の恩恵を受けるために、プログラム部分内で補正も行われる。
【0004】
そのようなモジュールが分散システム内で使用される時は、セキュリティモジュールの更新は、配信(多数のモジュールが同じメッセージを受信する)或いはポイントツーポイントリンク等、利用可能な通信手段により行われる。
【0005】
両者の場合、特に前者の場合、更新メッセージは悪意のある人間の攻撃に対し脆弱である。モジュールが受信したメッセージを分析することにより、前記モジュールの動作を明らかにする手がかりが得られたり、セキュリティに関する機密が明らかになることがある。
【0006】
これらのメッセージは暗号化されるが、これらのメッセージを復号化しそこから内容を抽出するために、悪意のある人達によって重大な手段が講じられることは確かである。
【0007】
本発明の対象となるモジュールは、有料テレビ、携帯電話、更には銀行関連のアプリケーションにおいて使用される。
【0008】
以下の説明に関しては有料テレビの分野を例として示すことにする。
【0009】
既知の方法によれば、監視センターは、セキュリティリークが通知されると、セキュリティモジュールのソフトウェアを更新するための「パッチ」と呼ばれるプログラムブロックを用意する。
【0010】
このようにして用意されたブロックは、セキュリティモジュールに固有な単数又は複数の鍵により暗号化される。全てのモジュールに共通なグローバル鍵で暗号化することも、各モジュールに固有なプライベート鍵で暗号化することも可能である。後者の場合、セキュリティモジュールの数と同数のメッセージを用意しなければならない。
【0011】
次にメッセージは、モジュールへの送信手段を有する管理センターに送られる。単方向システム内では、各モジュールがメッセージを受信したことを確認するために、所与の時間中、メッセージが反復される。
【0012】
セキュリティリークが検出されると当業者は難しい状況に直面する、というのも、第三者によってそのようなメッセージが分析されるリスク、及びそのリークが開いたままにされるリスクを評価しなければならないからである。このジレンマから、プログラムの不良を修正することを控えなければならない場合があったが、その理由は代替プログラムが理解されるリスクが高過ぎたからである。
【0013】
有料テレビのデコーダ内でのプログラムの更新は既知のことであり、例えば米国特許US2004/107349(特許文献1)において記述されている。プログラムモジュールは、一度使用された鍵により暗号化されてデコーダに送られる。ここで用いられるのは抹消リストの原理である。一旦受信されたプログラムモジュールはデコーダのメモリ内に保存され、通常のプロトコル(アドレスからパッチへの転換)により起動される。
【特許文献1】米国特許US2004/107349
【発明の開示】
【発明が解決しようとする課題】
【0014】
本発明の目的は、当業者がメッセージの不正な復号化の結果について心配することなくメッセージ内にプログラムブロックを含むメッセージを送信できるようにすることである。
【課題を解決するための手段】
【0015】
本発明の目的は、セキュリティモジュール内に組み込まれたソフトウェアのセキュア化された更新方法であって、
‐ 第1更新プログラムブロックを形成する工程と、
‐ 前記セキュリティモジュールのターゲットメモリ領域を決定する工程と、
‐ 前記セキュリティモジュールのために、前記ターゲットメモリ領域内に事前記録された内容を決定する工程と、
‐ 事前記録した内容の全て若しくは一部と第1プログラムブロックとの混合により得られる第2プログラムブロックを形成する工程と、
‐ 第2プログラムブロックをセキュリティモジュールに送信する工程と、
‐ セキュリティモジュールが第2ブロックを受信する工程と、
‐ ターゲットメモリ領域を読み込む工程と、
‐ 第2ブロックとターゲットメモリ領域内容の全て若しくは一部の逆混合により、ターゲットメモリ領域内で第1ブロックを取得し書き込む工程と
を含む方法により達成される。
【0016】
このように本発明により、ターゲットメモリの内容を知らない者にとっては、送信されたコード(第2ブロック)は第1ブロックとは何ら関連性がない。
【0017】
メッセージを解読できるようになる第三者も、セキュリティモジュールの動作に関してはそれ以上知ることはできない。
【0018】
この方法は全てのセキュリティモジュールに同一のメッセージを送信する場合に適用され、その場合、ターゲットメモリ領域の内容が全てのモジュールに対し同じであるとみなす。個別アドレッシングが行われる場合、各メモリの内容は異なっていてもよい。第1プログラムブロックは、一旦生成されたら、各セキュリティモジュールのデータと混合され、その結果、同数の第2プログラムブロックが生成される。
【0019】
本発明は、非限定的例として示した添付の図面を参照して行う以下の詳細な説明により、よりよく理解されよう。
【発明を実施するための最良の形態】
【0020】
第1実施変形形態によれば、ターゲットメモリの内容は擬似乱数により事前記録される。そのようなモジュールのカスタマイズの時には、ランダムに生成させたデータMM_RefをセキュリティモジュールMEM及び管理センター内に記憶させる。
【0021】
第2実施変形形態によれば、あらかじめ登録されたデータは、セキュリティモジュールのプロセッサにより実行することができるプログラムコードで構成される。実際にはこのコードは決して実行されず、更新領域の初期化値の役割を果たす。先の例の場合と同様、全てのモジュールが同じダミープログラムを持つこと、或いは各モジュールが異なるプログラムを受信する。
【0022】
図1は、配布のための第2プログラムブロックの形成方法を示す。
【0023】
本発明の方法は、プログラムブロックPBIの配信準備が完了した時点で、セキュリティモジュール内でのこのブロックの今後のロケーションを決めることにある。このロケーションがわかったら、管理センター内に記憶されているデータにより、カスタマイズ時にプログラムされていた内容を探し出すことができる。これらのデータが明らかになった後の操作は、新規のデータブロックSBIを得るためにこれらのデータをプログラムブロックPBIと混合することである。
【0024】
この混合操作は別の種類のものとすることもできる。最も簡単なものは、プログラムブロックPBIと事前記録データMM_Refの間においてXOR関数を使用するものである。
【0025】
第2の混合例は、事前記録データMM_Refの内容でプログラムブロックPBIの各メモリロケーションを暗号化するものである。
【0026】
この混合の結果が第2プログラムブロックSBIとなる。このようにして構成されたこのブロックは、管理センターとセキュリティモジュールの間で利用可能な通信モードにより、当該セキュリティモジュールに送信することができる。それは、既知の方法に従い、本システムの暗号鍵により暗号化される
【0027】
図2はセキュリティモジュールのメモリ内への書き込みプロセスを示す。
【0028】
第2ブロックの受信後の、セキュリティモジュールのメモリへの新規プログラムブロックの書き込み操作は、対象となるメモリロケーションの内容を読み取る操作を経る。当方の例によれば、ターゲット領域MEMの各メモリロケーションiは、選択されたアルゴリズムにより読み取られ処理(又は混合)される。この例においては、各メモリロケーションは、第2プログラムブロックSBIの対応するロケーションiと混合される。結果はセキュリティモジュールのメモリ内に記録される。
【0029】
更新するプログラムブロックは既知のモード(ハッシュ、CRC等)による確認データが添付されていることに留意すべきである。プログラムがモジュールのメモリ内に保存され正式に確認されると、通常、主領域内のプログラムの一部を変更することにより、プログラムを起動することができる。
【0030】
このプロセスはリカレントにすることができる。即ち、既にプログラムを受け入れたプログラム領域内の一部を変更したい場合、旧のプログラムが事前記録値の代用となる。新規プログラムの占有量がより大きくなると、直前のプログラムの内容は、まだ使用していないメモリ領域の場合、カスタマイズ時に生成された事前記録値を使用する。
【0031】
実際には、管理センターは、内容が現地のセキュリティモジュールの内容を表す仮想セキュリティモジュールを保存する。セキュリティモジュール用のプログラムも全て仮想モジュール内に入力される。
【0032】
ある実施変形形態によれば、ターゲット領域の一部分のみ、例えば3つのロケーションのうちの1つが専用の値で事前記録される。残りはブランクのままにされる。従って混合は3つのロケーションのうちの1つでのみ行われ、他のロケーションは変更されない。
【図面の簡単な説明】
【0033】
【図1】図1は第2ブロックの生成方法を示す図である。
【図2】図2はセキュリティモジュールのメモリ内への書き込み方法を示す図である。

【特許請求の範囲】
【請求項1】
セキュリティモジュール内に組み込まれたソフトウェアのセキュア化された更新方法であって、
‐ 第1更新プログラムブロック(PBI)を形成する工程と、
‐ 前記セキュリティモジュールのターゲットメモリ領域を決定する工程と、
‐ 前記セキュリティモジュールのために、前記ターゲットメモリ領域内に事前記録された内容(MM_Ref)を決定する工程と、
‐ 事前記録した内容の全て若しくは一部と第1プログラムブロック(PBI)との混合により得られる第2プログラムブロック(SBI)を形成する工程と、
‐ 第2プログラムブロック(SBI)をセキュリティモジュールに送信する工程と、
‐ セキュリティモジュールが第2ブロックを受信する工程と、
‐ ターゲットメモリ領域(MEM)を読み込む工程と、
‐ 第2ブロックとターゲットメモリ領域内容の全て若しくは一部の逆混合により、ターゲットメモリ領域内で第1ブロックを取得し書き込む工程と
を含む方法。
【請求項2】
前記ターゲットメモリ領域がランダムに生成された値により事前記録されることを特徴とする、請求項1記載の方法。
【請求項3】
前記ターゲットメモリ領域が、セキュリティモジュールのマイクロプロセッサによって実行されないダミープログラムにより事前記録されることを特徴とする、マイクロプロセッサを備えるモジュールを使用する請求項1記載の方法。
【請求項4】
混合操作が排他的OU機能であることを特徴とする、請求項1から3に記載の方法。
【請求項5】
混合操作が、暗号化鍵として事前記録したメモリの内容による暗号化機能であることを特徴とする、請求項1から3に記載の方法。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2008−502969(P2008−502969A)
【公表日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願番号】特願2007−515960(P2007−515960)
【出願日】平成17年6月16日(2005.6.16)
【国際出願番号】PCT/EP2005/052797
【国際公開番号】WO2005/124502
【国際公開日】平成17年12月29日(2005.12.29)
【出願人】(500477997)ナグラカード エス. アー. (16)
【Fターム(参考)】