(57)【要約】【課題】  本発明の目的は、メッセージの不正な復号化の結果を未然に防止することが可能なプログラムブロックを含むメッセージの送信方法を提供することにある。この目的は、セキュリティモジュール内に組み込まれたソフトウェアのセキュア化された更新方法であって、第１更新プログラムブロック（ＰＢＩ）を形成する工程と、前記セキュリティモジュールのターゲットメモリ領域を決定する工程と、前記セキュリティモジュールのために、前記ターゲットメモリ領域内に事前記録された内容（ＭＭ＿Ｒｅｆ）を決定する工程と、事前記録した内容の全て若しくは一部と第１プログラムブロック（ＰＢＩ）との混合により得られる第２プログラムブロック（ＳＢＩ）を形成する工程と、第２プログラムブロック（ＳＢＩ）をセキュリティモジュールに送信する工程と、セキュリティモジュールが第２ブロックを受信する工程と、ターゲットメモリ領域（ＭＥＭ）を読み込む工程と、第２ブロックとターゲットメモリ領域内容の全て若しくは一部の逆混合により、ターゲットメモリ領域内で第１ブロックを取得し書き込む工程を含む方法により達成される。
2008502969.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティモジュール内に組み込まれたソフトウェアのセキュア化された更新方法であって、
‐  第１更新プログラムブロック(PBI)を形成する工程と、
‐  前記セキュリティモジュールのターゲットメモリ領域を決定する工程と、
‐  前記セキュリティモジュールのために、前記ターゲットメモリ領域内に事前記録された内容(MM_Ref)を決定する工程と、
‐  事前記録した内容の全て若しくは一部と第１プログラムブロック(PBI)との混合により得られる第２プログラムブロック(SBI)を形成する工程と、
‐  第２プログラムブロック(SBI)をセキュリティモジュールに送信する工程と、
‐  セキュリティモジュールが第２ブロックを受信する工程と、
‐  ターゲットメモリ領域(MEM)を読み込む工程と、
‐  第２ブロックとターゲットメモリ領域内容の全て若しくは一部の逆混合により、ターゲットメモリ領域内で第１ブロックを取得し書き込む工程と
を含む方法。
【請求項２】
前記ターゲットメモリ領域がランダムに生成された値により事前記録されることを特徴とする、請求項１記載の方法。
【請求項３】
前記ターゲットメモリ領域が、セキュリティモジュールのマイクロプロセッサによって実行されないダミープログラムにより事前記録されることを特徴とする、マイクロプロセッサを備えるモジュールを使用する請求項１記載の方法。
【請求項４】
混合操作が排他的ＯＵ機能であることを特徴とする、請求項１から３に記載の方法。
【請求項５】
混合操作が、暗号化鍵として事前記録したメモリの内容による暗号化機能であることを特徴とする、請求項１から３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願はセキュリティモジュールの分野に関し、より詳細には、更新可能なソフトウェアを有するセキュリティモジュールに関する。
【背景技術】
【０００２】
これらのセキュリティモジュールは、認証、権利の確認、クレジットの監理等、多くの機能を受け持つ。これらの機能は高い処理能力を必要とするので、ソフトウェアの大部分が書き換え可能メモリに記憶されている高速マイクロプロセッサを有する。
【０００３】
従って、一旦プログラミングエラー又はセキュリティリークが検知されると、補正ブロックが準備されメモリの空き領域内に保存される。この新しいプログラムブロックの機能の恩恵を受けるために、プログラム部分内で補正も行われる。
【０００４】
そのようなモジュールが分散システム内で使用される時は、セキュリティモジュールの更新は、配信（多数のモジュールが同じメッセージを受信する）或いはポイントツーポイントリンク等、利用可能な通信手段により行われる。
【０００５】
両者の場合、特に前者の場合、更新メッセージは悪意のある人間の攻撃に対し脆弱である。モジュールが受信したメッセージを分析することにより、前記モジュールの動作を明らかにする手がかりが得られたり、セキュリティに関する機密が明らかになることがある。
【０００６】
これらのメッセージは暗号化されるが、これらのメッセージを復号化しそこから内容を抽出するために、悪意のある人達によって重大な手段が講じられることは確かである。
【０００７】
本発明の対象となるモジュールは、有料テレビ、携帯電話、更には銀行関連のアプリケーションにおいて使用される。
【０００８】
以下の説明に関しては有料テレビの分野を例として示すことにする。
【０００９】
既知の方法によれば、監視センターは、セキュリティリークが通知されると、セキュリティモジュールのソフトウェアを更新するための「パッチ」と呼ばれるプログラムブロックを用意する。
【００１０】
このようにして用意されたブロックは、セキュリティモジュールに固有な単数又は複数の鍵により暗号化される。全てのモジュールに共通なグローバル鍵で暗号化することも、各モジュールに固有なプライベート鍵で暗号化することも可能である。後者の場合、セキュリティモジュールの数と同数のメッセージを用意しなければならない。
【００１１】
次にメッセージは、モジュールへの送信手段を有する管理センターに送られる。単方向システム内では、各モジュールがメッセージを受信したことを確認するために、所与の時間中、メッセージが反復される。
【００１２】
セキュリティリークが検出されると当業者は難しい状況に直面する、というのも、第三者によってそのようなメッセージが分析されるリスク、及びそのリークが開いたままにされるリスクを評価しなければならないからである。このジレンマから、プログラムの不良を修正することを控えなければならない場合があったが、その理由は代替プログラムが理解されるリスクが高過ぎたからである。
【００１３】
有料テレビのデコーダ内でのプログラムの更新は既知のことであり、例えば米国特許ＵＳ２００４／１０７３４９（特許文献１）において記述されている。プログラムモジュールは、一度使用された鍵により暗号化されてデコーダに送られる。ここで用いられるのは抹消リストの原理である。一旦受信されたプログラムモジュールはデコーダのメモリ内に保存され、通常のプロトコル（アドレスからパッチへの転換）により起動される。
【特許文献１】米国特許ＵＳ２００４／１０７３４９
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、当業者がメッセージの不正な復号化の結果について心配することなくメッセージ内にプログラムブロックを含むメッセージを送信できるようにすることである。
【課題を解決するための手段】
【００１５】
本発明の目的は、セキュリティモジュール内に組み込まれたソフトウェアのセキュア化された更新方法であって、
‐  第１更新プログラムブロックを形成する工程と、
‐  前記セキュリティモジュールのターゲットメモリ領域を決定する工程と、
‐  前記セキュリティモジュールのために、前記ターゲットメモリ領域内に事前記録された内容を決定する工程と、
‐  事前記録した内容の全て若しくは一部と第１プログラムブロックとの混合により得られる第２プログラムブロックを形成する工程と、
‐  第２プログラムブロックをセキュリティモジュールに送信する工程と、
‐  セキュリティモジュールが第２ブロックを受信する工程と、
‐  ターゲットメモリ領域を読み込む工程と、
‐  第２ブロックとターゲットメモリ領域内容の全て若しくは一部の逆混合により、ターゲットメモリ領域内で第１ブロックを取得し書き込む工程と
を含む方法により達成される。
【００１６】
このように本発明により、ターゲットメモリの内容を知らない者にとっては、送信されたコード（第２ブロック）は第１ブロックとは何ら関連性がない。
【００１７】
メッセージを解読できるようになる第三者も、セキュリティモジュールの動作に関してはそれ以上知ることはできない。
【００１８】
この方法は全てのセキュリティモジュールに同一のメッセージを送信する場合に適用され、その場合、ターゲットメモリ領域の内容が全てのモジュールに対し同じであるとみなす。個別アドレッシングが行われる場合、各メモリの内容は異なっていてもよい。第１プログラムブロックは、一旦生成されたら、各セキュリティモジュールのデータと混合され、その結果、同数の第２プログラムブロックが生成される。
【００１９】
本発明は、非限定的例として示した添付の図面を参照して行う以下の詳細な説明により、よりよく理解されよう。
【発明を実施するための最良の形態】
【００２０】
第１実施変形形態によれば、ターゲットメモリの内容は擬似乱数により事前記録される。そのようなモジュールのカスタマイズの時には、ランダムに生成させたデータＭＭ＿ＲｅｆをセキュリティモジュールＭＥＭ及び管理センター内に記憶させる。
【００２１】
第２実施変形形態によれば、あらかじめ登録されたデータは、セキュリティモジュールのプロセッサにより実行することができるプログラムコードで構成される。実際にはこのコードは決して実行されず、更新領域の初期化値の役割を果たす。先の例の場合と同様、全てのモジュールが同じダミープログラムを持つこと、或いは各モジュールが異なるプログラムを受信する。
【００２２】
図１は、配布のための第２プログラムブロックの形成方法を示す。
【００２３】
本発明の方法は、プログラムブロックＰＢＩの配信準備が完了した時点で、セキュリティモジュール内でのこのブロックの今後のロケーションを決めることにある。このロケーションがわかったら、管理センター内に記憶されているデータにより、カスタマイズ時にプログラムされていた内容を探し出すことができる。これらのデータが明らかになった後の操作は、新規のデータブロックＳＢＩを得るためにこれらのデータをプログラムブロックＰＢＩと混合することである。
【００２４】
この混合操作は別の種類のものとすることもできる。最も簡単なものは、プログラムブロックＰＢＩと事前記録データＭＭ＿Ｒｅｆの間においてＸＯＲ関数を使用するものである。
【００２５】
第２の混合例は、事前記録データＭＭ＿Ｒｅｆの内容でプログラムブロックＰＢＩの各メモリロケーションを暗号化するものである。
【００２６】
この混合の結果が第２プログラムブロックＳＢＩとなる。このようにして構成されたこのブロックは、管理センターとセキュリティモジュールの間で利用可能な通信モードにより、当該セキュリティモジュールに送信することができる。それは、既知の方法に従い、本システムの暗号鍵により暗号化される
【００２７】
図２はセキュリティモジュールのメモリ内への書き込みプロセスを示す。
【００２８】
第２ブロックの受信後の、セキュリティモジュールのメモリへの新規プログラムブロックの書き込み操作は、対象となるメモリロケーションの内容を読み取る操作を経る。当方の例によれば、ターゲット領域ＭＥＭの各メモリロケーションｉは、選択されたアルゴリズムにより読み取られ処理（又は混合）される。この例においては、各メモリロケーションは、第２プログラムブロックＳＢＩの対応するロケーションｉと混合される。結果はセキュリティモジュールのメモリ内に記録される。
【００２９】
更新するプログラムブロックは既知のモード（ハッシュ、ＣＲＣ等）による確認データが添付されていることに留意すべきである。プログラムがモジュールのメモリ内に保存され正式に確認されると、通常、主領域内のプログラムの一部を変更することにより、プログラムを起動することができる。
【００３０】
このプロセスはリカレントにすることができる。即ち、既にプログラムを受け入れたプログラム領域内の一部を変更したい場合、旧のプログラムが事前記録値の代用となる。新規プログラムの占有量がより大きくなると、直前のプログラムの内容は、まだ使用していないメモリ領域の場合、カスタマイズ時に生成された事前記録値を使用する。
【００３１】
実際には、管理センターは、内容が現地のセキュリティモジュールの内容を表す仮想セキュリティモジュールを保存する。セキュリティモジュール用のプログラムも全て仮想モジュール内に入力される。
【００３２】
ある実施変形形態によれば、ターゲット領域の一部分のみ、例えば３つのロケーションのうちの１つが専用の値で事前記録される。残りはブランクのままにされる。従って混合は３つのロケーションのうちの１つでのみ行われ、他のロケーションは変更されない。
【図面の簡単な説明】
【００３３】
【図１】図１は第２ブロックの生成方法を示す図である。
【図２】図２はセキュリティモジュールのメモリ内への書き込み方法を示す図である。
【図１】
2008502969.tif 000003
【図２】
2008502969.tif 000004
【国際調査報告】
2008502969.tif 000005
2008502969.tif 000006
2008502969.tif 000007
2008502969.tif 000008