(57)【要約】本発明は、セントラルユニット（１０）と、修正できない可能性のあるソフトウェアバグを少なくとも含む元のコードが記憶されているコードメモリー（１６）と、一つ又は複数のソフトウェアバグのアドレスのみならず、ソフトウェアバグのない置換コードが領域１５に記憶されるデータ／コードメモリー（１４）と、実行されるべきハードウェアアドレスを確認するセントラルユニットのアドレスを遮断する機構（１１）とを、コンポーネントとして備え、該アドレスを遮断する機構（１１）は、ソフトウェアバグのアドレス又は一組のアドレスを検知した場合には、セントラルユニットが経路付けをすることを可能とするアドレス遮断置換用ユニット（１２）と、別の経路がない場合にはコードメモリー（１６）のデータ、又はデータ／コードメモリー（１４）からのデータのいずれかをセントラルユニット（１０）が考慮することを可能とするデータマルチプレクサー（１３）と、を備えることを特徴とするスマートカードに関する。本発明は、また、そのようなスマートカードのソフトウェアバグを回避する方法に関する。
2005519403.tif 000002
【特許請求の範囲】
【請求項１】
セントラルユニット（１０）と、修正できない可能性のあるソフトウェアバグを少なくとも含む元のコードが記憶されているコードメモリー（１６）と、一つ又は複数のソフトウェアバグのアドレスのみならず、ソフトウェアバグのない置換コードが領域（１５）に記憶されるデータ／コードメモリー（１４）と、実行されるべきハードウェアアドレスを確認するセントラルユニット（１０）のアドレスを遮断する機構（１１）とを、コンポーネントとして備え、該アドレスを遮断する機構（１１）は、ソフトウェアバグのアドレス又は一組のアドレスを検知した場合には、セントラルユニット（１０）が経路付けをすることを可能とするアドレス遮断置換用ブロック（１２）と、経路付けがない場合にはコードメモリー（１６）からのデータ、又はデータ／コードメモリー（１４）からのデータのいずれかをセントラルユニット（１０）が考慮することを可能とするデータマルチプレクサー（１３）と、を備えることを特徴とするスマートカード。
【請求項２】
データ／コードメモリー（１４）はＥ2ＰＲＯＭ、フラッシュメモリー、又は、ＦｅＲＡＭのいずれかである請求項１に記載のスマートカード。
【請求項３】
コードメモリー（１６）は、ＲＯＭ又はフラッシュメモリーのいずれかである請求項１に記載のスマートカード。
【請求項４】
スマートカードのコンポーネントのコードメモリー（１６）内に記憶されたコードでは修正不可能なソフトウェアバグの回避方法であって、前記スマートカードのコンポーネントは、セントラルユニット（１０）と、データ／コードメモリー（１４）と、実行されるべきハードウェアアドレスを確認するセントラルユニットからのアドレスを遮断する機構（１１）と、を備え、
・少なくとも、前記コンポーネントのコードメモリー（１６）内でのソフトウェアバグに気付くステップと、
・データ／コードメモリー内に、ソフトウェアバグのない代替コード及び一つ又は複数のバグの所在をロードするステップと、
・データ／コードメモリー内にロードされたアドレスと、実行されるべきハードウェアアドレスとを比較するステップと、
・比較の結果が否定的であればコードメモリーのデータ、比較の結果が肯定的であればデータ／コードメモリーのデータいずれかを考慮するステップと、
を備えることを特徴とするソフトウェアバグの回避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートカードにおける「ソフトウェア」の不具合を回避するスマートカード及び方法に関する。
【背景技術】
【０００２】
例えば、ユーザーがプログラム（番組）にアクセスする権限を制御するためにデジタルテレビの分野で用いられるスマートカードのコンポーネント（構成要素）は、一度コンポーネントを完成させると修正することのできないコードメモリー（コード記憶部）を備えている。このメモリーにロードされたコード中のエラーは、徹底的なテストをしていないことやソフトウェアのバグに起因して、修正されない可能性がある。
【０００３】
実際、コンポーネントがそのような方法で完成されると、設計者によって提供されたコードは、例えば、イオン化工程を用いて、そのままシリコンに焼き付けられる（即ち、「マスクを施されたコード」となる。）。マスクを施した後にソフトウェアバグが確認された場合には、新しいコードを作成し、ひいては新たにマスクを施す以外に他の選択肢はなく、それは、例えば何ヶ月もの大変長い時間を要するものである。同様に、操作中にソフトウェアバグが発覚した場合であっても、スマートカードは顧客の元にあるため、この問題を簡易に解決するのは大変に困難である。一般的に、これを解決するには、スマートカードを不良品回収（リコール）し、且つ取り替える以外に方法はない。
【０００４】
従来技術からの解決策は、スマートカードのコンポーネントに配置されたデータメモリー内のパッチコードをロードすることにある。そのようなロードは、カードのカスタマイズ（注文生産）の間に行われるか、例えばデコーダーサービスの購読者に対して直接遠隔送信することによって行われる。そのような解決策においては、コードメモリー内の「マスクコード」に対して、例えば以下に示す要領で、問題が発生する可能性のある場所が予測される。
・少なくとも、少しでも重要性があり得るそれぞれのモジュール又は機能において、
・それぞれの機能を呼び出し、
・それぞれの条件をテストする。
【０００５】
その結果、パッチコードはデータメモリー内にロードされるべく送信され、パッチコードが実行されるべき、コードメモリー「マスクコード」の中にロードされた元のコードの位置が示される。
【０００６】
そのような解決策は、以下の不便さを有する。
・問題が起こり得る場所を予め予測することで、不必要に元のコードのサイズを大きくすることとなり、
・大きなサイズのモジュールにおいて問題が起こる場合には、パッチコードもそれ自体大きなサイズのものとなる。結果として、それは必要以上に大きなサイズとなり得る。
・予測されていない元のコードの場所に介入するすることは不可能である。
【０００７】
従って、従来技術に係るスマートカードは、以下の点で満足の行くものではない。
・それらの動作、
・ソフトウェアバグの処理
・安全性
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、スマートカードの操作中に、該スマートカードのコンポーネントで発生するソフトウェアバグを修正可能とすることによって、これらの不便さを克服することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、コンポーネントとして、セントラルユニットと、修正できない可能性のあるソフトウェアバグを少なくとも含む元のコードが記憶されているコードメモリーと、一つ又は複数のソフトウェアバグの所在とともに、ソフトウェアバグのない代替コードが、その領域内に格納されるデータ／コードメモリーと、実行されるべきハードウェアアドレスを確認するセントラルユニットのアドレスを遮断する機構（メカニズム）と、を備えるスマートカードに関する。該アドレスを遮断する機構は、ソフトウェアバグの一つ又は一組のアドレスを検知した場合には、セントラルユニットが経路付けをする(route)ことを可能とする、アドレス遮断及び置き換え用のブロックと、経路付けがない場合にはコードメモリーからのデータ、又はデータ／コードメモリーからのデータのいずれかをセントラルユニットが考慮することを可能とするデータマルチプレクサー（データ多重装置）とを備えることを特徴とする。
【００１０】
データ／コードメモリーは、好ましくは、Ｅ2ＰＲＯＭ、フラッシュメモリー又はＦｅＲＡＭである。コードメモリーは、ＲＯＭメモリーであり得るし、フラッシュメモリーであり得る。
【００１１】
さらに、本発明は、スマートカードのコンポーネントのコードメモリー内に記憶されたコードでは修正不可能なソフトウェアバグを回避する方法に関し、前記コンポーネントは、セントラルユニットと、データ／コードメモリーと、実行されるべきハードウェアアドレスを確認するセントラルユニットからのアドレスを遮断する機構と、をさらに備え、以下のステップ、
・少なくとも、前記コンポーネントのコードメモリー内でのソフトウェアバグに気付くステップと、
・データ／コードメモリー内に、ソフトウェアバグのない代替コード及び一つ又は複数のバグの所在をロードするステップと、
・データ／コードメモリー内にロードされたアドレスと、実行されるべきハードウェアアドレスとを比較するステップと、
・比較の結果が否定的であればコードメモリーのデータ、比較の結果が肯定的であればデータ／コードメモリーのデータのいずれかを考慮するステップと、
を備えることを特徴とする。
【００１２】
本発明は、以下のような利点を有する。
・経路付けする場所を予め予測しない、
・メモリーサイズを最適化でき、コストを低減させることができる、
・本発明の遮断されるハードウェアはセントラルユニットにとってトランスピアレントである（セントラルユニットからは見えない）ため、スピード面が改善される、
・コードのサイズが改善され、ひいては開発期間をも改善できる。
【発明の効果】
【００１３】
この発明に係る方法は、製造過程でソフトウェアバグを修正することを可能とするだけでなく、コンポーネントの操作中に、予めコード中のソフトウェア遮断を予測することなく、自らソフトウェアバグを修正することを可能とする。ハードウェアとソフトウェアとをさらに結び付けるこの方法は、極めて柔軟性に富むものである。
【発明を実施するための最良の形態】
【００１４】
図面は、本発明に係るスマートカードの一具体例を示すものである。
【００１５】
本発明の本質は、「マスクコード」としてスマートカードに記憶された一つ又は複数のコードのソフトウェアバグを修正するために、実行されるべきハードウェアアドレスを確認するスマートカードのセントラルユニット１０のアドレスを遮断する機構を与えることにある。
【００１６】
即ち、図に示されるように、スマートカードの構成要素は、
・セントラルユニット１０と、
・例えば、Ｅ2ＰＲＯＭメモリー（電気的消却・プログラム可能型リードオンリーメモリー）、フラッシュメモリー、又は、ＦｅＲＡＭメモリー（強誘電性ランダムアクセスメモリー）など、領域１５において代替コードが記憶されているデータ／コードメモリー１４（ＭＤＣ）と、
・元のコードが記憶されている、ＲＯＭ（リードオンリーメモリー）又はフラッシュタイプのコードメモリー（ＭＣ）１６と、
・アドレスを遮断し且つ置き換えるためのブロック（区画）１２と、セントラルユニットがメモリー１４のデータ又はメモリー１６のデータを評価することを可能とするデータマルチプレクサー１３とを備えて構成され、該セントラルユニット１０からのアドレスを遮断する機構１１と、
・セントラルユニット１０とマルチプレクサー１３とを接続するデータバス１７と、
・マルチプレクサー１３とメモリー１４とを接続するデータバスＭＤＣ１８と、
・マルチプレクサー１３とメモリー１６とを接続するデータバスＭＣ１９と、
・メモリー１４と機構１１とを接続するアドレスバスＭＤＣ２０と、
・セントラルユニット１０と、機構１１と、メモリー１６とを接続するセントラルユニットデータバス２１と、
を備える。
【００１７】
遮断機構１１によって、アドレスを遮断する論理関数を実行することが可能となる。ソフトウェアバグが発生した場合には、この論理関数は、予めメモリー１４内に記憶されていて「バグフリー」即ち論理バグがないと考えられる代替コードに、セントラルユニット１０が至る経路を定める。
【００１８】
このように、スマートカードの元のコードに少なくともソフトウェアバグがあることに気付いたユーザーは、例えば遠隔送信された信号の場合には、これらを修正すべく、論理バグがないパッチコード及び一つ又は複数のソフトウェアバグのアドレスを送信する。
【００１９】
遮断機構１１が、一つ又は一組のソフトウェアバグのアドレスを検知した場合には、元のコードから正しいコードへの経路決けが行われる。
【００２０】
このような操作方法は、セントラルユニット１０から完全に独立したものであり得る。
【００２１】
アドレスの遮断は、一つのアドレスのみに限られるものではなく、連続するものであろうとなかろうと、一組のアドレスにも関するものである。
【００２２】
即ち、本発明に係る論理バグの回避方法は、以下のステップを備えるものである。
・初期設定において、セントラルユニット１０からのアドレス遮断の機構１１は、データ／コードメモリー１４内の領域１５に、予め記憶された置換用のアドレス及び置換コードの有効なリストを有しており、該リストは、例えば置換表の中に記憶されている。
・セントラルユニット１０があるアドレスに位置する場合、アドレス１２を遮断するためのブロックは、ハードウェアアドレスと置換表のアドレスとの間に一致がないかどうかを調べるべく、実行されるべき該ハードウェアアドレスを分析する。
○一致がなければ、プログラムは引き続き１６から経路付けされる。
○一致がある場合には、実行されるべきアドレスにおける、データ／コードメモリー１４中に記憶されたアドレスに置き換えられ、このアドレスから該置換コードが実行される。
【００２３】
従って、パッチコードは、データ／コードメモリー１４中の一つ又は複数の経路付けされたアドレスとともに、予めロードされる。従来の装置と比較して、かなり縮小されたサイズの情報のみがロードされる。加えて、セントラルユニット１０から完全に見えない方法で、メモリー１４に記憶されたコ−ドが実行される。
【００２４】
このように、本発明の本質は、置換表及び置換コードをデータ／コードメモリー１４内にロードすることを実行することにあり、このロードは、場合によっては遠隔で行われ、セントラルユニット１０からのアドレス遮断を実行するために、論理バグの場合には、コードの置換は、セントラルユニット１０には見えない方法で行われる。
【図面の簡単な説明】
【００２５】
【図１】本発明に係るスマートカードの一具体例を示す。
【図１】
2005519403.tif 000003
【国際調査報告】
2005519403.tif 000004
2005519403.tif 000005
2005519403.tif 000006
2005519403.tif 000007
2005519403.tif 000008
2005519403.tif 000009