JP4526383B2 - 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体 - Google Patents

実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体 Download PDF

Info

Publication number
JP4526383B2
JP4526383B2 JP2004507971A JP2004507971A JP4526383B2 JP 4526383 B2 JP4526383 B2 JP 4526383B2 JP 2004507971 A JP2004507971 A JP 2004507971A JP 2004507971 A JP2004507971 A JP 2004507971A JP 4526383 B2 JP4526383 B2 JP 4526383B2
Authority
JP
Japan
Prior art keywords
digest
code
stored
executable code
mobile radio
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
JP2004507971A
Other languages
English (en)
Other versions
JP2005527905A (ja
Inventor
コリンヌ ディヴ−ルクリュー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
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
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of JP2005527905A publication Critical patent/JP2005527905A/ja
Application granted granted Critical
Publication of JP4526383B2 publication Critical patent/JP4526383B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Slot Machines And Peripheral Devices (AREA)
  • Telephone Function (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Percussion Or Vibration Massage (AREA)
  • Saccharide Compounds (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)

Description

本発明は、取り外し可能な(リムーバブルな)媒体に格納された実行可能なコードにタンパーエビデント性(tamper evidence)を提供する装置に関する。本装置は、プラットフォーム・セキュリティ構造においてある要素を形成するものである。
プラットフォーム・セキュリティは、悪意ある又は下手に書かれたコード(malicious or badly written code)に対するプラットフォーム防護メカニズムの思想、構造、実装をカバーするものである。これらの防護メカニズムにより、そのようなコードが害をもたらすことを妨げることができる。悪意あるコードは一般に2つの要素を有する。それは、ダメージを与えるペイロードメカニズム(payload mechanism)と、それを拡散する手助けをする拡散メカニズム(propagation mechanism)である。これらは通常、以下のように分類される。
トロイの木馬(Trojan horse):良性でユーザにとって魅力的に出現する正規のアプリケーション(legitimate application that appears benign and attrative to the user)を有する。
ワーム(Worm):その提供者、あるいはユーザによる更なるマニュアル操作によらず複製され、拡散する。
ウィルス(Virus):正規のプログラムに侵入し、データを変更、或いは破壊する。
セキュリティの脅威は、(a)サービスやデータの守秘性(confidentiality)、インテグリティ(integrity:完全性)又は、利用可能性(availability)を連鎖的に損なう潜在性や、(b)サービス機能の妥協を包含している。このような脅威は以下のように分類される。
1.データの守秘性及びインテグリティに関する脅威。例えば、ユーザのパスワードを入手したり、ファイルを破壊したりする。
2.サービスの守秘性及びインテグリティに関する脅威。例えば、電話ネットワークの加入者の帯域を無料で利用したり、ネットワーク・サービス・プロバイダとのトランザクションを無効化したりする。
3.サービスの利用可能性に関する脅威(又は、サービスの拒否とも呼ばれる)。例えば、ユーザがテキストメッセージを送信することを妨げたり、電話の着信を受けることを妨げたりする。
このように、移動体無線装置は、セキュリティ構造の設計者に対して相当数の課題を突きつけるものである。この課題の重要な側面の一つは、移動体無線装置が一般的に取り外し可能な格納装置上にプログラムをインストールするであろうということである。主な動機は、どのプログラムセットをユーザが使用したいかに基づいて、無線装置のユーザが変更可能な特別なストレージ(extra storage)を提供することである。良く知られた例としては、パーソナル・コンピュータの環境におけるフロッピー(登録商標)ディスクやメモリーカードの利用が挙げられる。取り外し可能な格納装置は、原理的に、移動体無線装置にプラグインされていない場合でも、何らかの方法で手を加えられることがあり得るので、該装置上に格納されているプログラムはそのインテグリティを喪失するであろう。全ての環境において、取り外し可能な格納装置が再挿入されようとする場合を含めて、(例えば、セキュリティ特性を無効にするための悪意のある変更は行われていない、或いは、ウィルスが含まれていない、などといった)無線装置が実行可能なコードのインテグリティを信頼することは極めて重要である。
今までの所、移動体無線装置から転送され、元の装置に戻されようとしている実行可能なコードのインテグリティを保証するための効果的な提案はなされていない。
[発明の概要]
本発明の第一の側面においては、取り外し可能な媒体状のネイティブで実行可能なコードをインストールすることが可能な移動体無線装置が提供される。装置は、当該コードのダイジェスト(このダイジェストは、当該内容が異なる場合には、同一の値を生成することができないことを保証するアルゴリズムを利用して、当該コードの内容全体から生成される値である。)を演算し、装置内の取り外しができない固定的格納部(a persistent non-removable store)に格納するようにプログラムされている。ネイティブコード(native code)は、装置のCPUによって直接に実行される命令で構成される。
取り外し可能な媒体が再度接続され、該実行可能なコードが呼び出された場合、装置は、当該取り外し可能な媒体からロードしようとするコードからダイジェストを再演算し、取り外しができない固定的格納部に格納されているダイジェストと比較する。もし、それらが一致しない場合、当該実行可能なコードは、改竄されたものであるから、装置から信用されることはありえない。当該ダイジェストは、(後述する)トラステッド・コンピューティング・ベース(Trusted Computing Base)におけるコンポーネントによってのみアクセス可能であって、それ自体は安全である。このダイジェストは、ハッシュや実行可能なコードの全体から再計算可能な他のユニークで代替的値であってもよい。
このアプローチは、ハッシュがメディアファイルから導出され、当該ファイルに挿入され、ファイルを気づかれない程度に修正する従来の電子透かしとは異なるものである。
ある実施態様では、ダイジェストは、実行可能なコードの“ケーパビリティ”と同様に、装置上で安全に格納される。“ケーパビリティ”は、特に注意を要する動作(sensitive action)の実行の認可に対応するアクセストークン(access token)として考えることができる。(ケーパビリティモデルの目的は、注意を要する(sensitive)システムリソースへのアクセスを制御することである。)ロード時において、ローダーはロード以前にハッシュを検証する。もし検証に失敗すると、実行可能なコードはロードされないであろう。もし、実行可能なコードが不知(unknown)である場合(関連するダイジェストがない場合)、実行可能なコードはケーパビリティなし(即ち、注意を要するリソースへのアクセス権がない)及び識別子なし(識別されたオペレーティングシステムプロセスにのみ公開されるデータへのアクセス権がない)でロードされる。もし、検証が成功すれば、実行可能なコードはロードされ、新しくロードされたコードに格納されているケーパビリティが割り当てられる。
本発明は、ユーザが、装置間において制約を受けることなくメモリカード及び他の形態の取り外し可能な媒体を共有することを可能とする。また、媒体や他のユーザの選択とは独立に、ユーザがこれらのカードに格納されているアプリケーションに許可した特権をユーザが維持することを可能とする。
[詳細な記述]
本発明は、シングルユーザ無線装置のために設計されたオブジェクト指向のオペレーティングシステムであるシンビアンOSのセキュリティ構造を参照して記載される。シンビアン・オペレーティング・システムは、英国ロンドンのシンビアン・リミテッドにより移動体無線装置のために開発されたものである。
シンビアンOSにおけるセキュリティ構造の基本的な概要は、中世の城の防護(a medieval castle defences)に類似している。類似の形態において、インストール境界(installation perimeter)に加えて、簡単で、スタッガード構造の(staggered)セキュリティレイヤーを採用する。当該モデルが取り扱おうとしている重要な脅威は、ユーザーデータ及びシステムサービス、特にフォンスタック(phone stack)への権原のないアクセスと関連している。フォンスタックはスマートフォンと関連して特に重要である。というのも、フォンスタックが電話ネットワークとの不変のデータ接続(permanent data connection)を制御するからである。当該モデルの後ろに位置する重要なデザインドライバ(key design drivers)が二つある。
・その一つは、ケーパビリティベースのアクセス制御を利用した重要なシステムリソースのファイアウォール防護である。
・もう一つは、標準的なソフトウェアがアクセスできない、保護された部分をファイルシステムに生成するデータ分割(data partitioning)である。
以下に記載するケーパビリティモデルの主たるコンセプトは、ユーザが何ができるかではなく、プロセスに何ができるかを制御することにある。このアプローチは、ウィンドウズ(登録商標)NTやUnix(登録商標)といった既知のオペレーティングシステムとは極めて異なるものである。その主な理由は、以下のようになる。
・シングルユーザ用途のシンビアンOSの性質。
・シンビアンOSは、独立したサーバープロセスを介してサービスを提供している。それらは常に動作しており、かつ、ユーザセッションに付加されることがない。電力が供給されている限り、シンビアンOSはユーザがログオンしていない場合であっても常に起動状態にある。
・シンビアンOSは、技術的知識の無い、多くの公衆に利用される装置において使用されることを目的としている。ソフトウェアのインストール時に、どんな許可をアプリケーションに対して与えるかを決定する能力をユーザが有していなくても良い。さらに、常に接続されている装置に関しては、誤った或いは悪意のある決定の結果は、装置自体よりもドメインに遙かに大きなインパクトを与えるかもしれない。
1 トラステッド・コンピューティング・プラットフォーム(Trusted Computing Platform)
1.1 トラステッド・コンピューティング・ベース(Trusted Computing Base)
トラステッド・コンピューティング・ベース(TCB)は、ロバストなプラットフォーム・セキュリティに対する基本的な構造的要求(basic architectural requirement)である。トラステッド・コンピューティング・ベースは、サブバート(subverted)されない多くの構造的要素(architectural elements)から構成され、装置のインテグリティを保証する。このベースをできるだけ小さく維持すること、更には、システムサーバー及びアプリケーションが、それらが機能するのに必要としない特権を与えられる必要がないことを保証するために最小特権の原理(the principle of least privilege)を適用することは、重要である。クローズな装置では、TCBはカーネル、ローダー及びファイルサーバーから構成される。オープンな装置では、ソフトウェアインストーラーもまた必要とされる。これらの処理の全ては、システムワイド・トラステッド(system-wide trusted)であり、それゆえに装置へのフルアクセスを有する。この信用できるコードは、他のプラットフォームコード(セクション2.1を参照)が利用できない“ルート”ケーパビリティとともに実行される。
トラステッド・コンピューティング・ベースのインテグリティを維持するための他の重要な要素は、本発明の範囲から外れるものであるが、それは即ち、ハードウェアである。特に、トラステッド・コンピューティング・ベース機能をフラッシュROM内に有する装置では、セキュアなブートローダー(boot loader)を提供し、悪意のあるROMイメージによりトラステッド・コンピューティング・ベースをサブバートすることが不可能であることを保証する必要がある。
1.2 トラステッド・コンピューティング環境(Trusted Computing Environment)
他のシステム・コンポーネントは、コアを越えて(beyond the core)制限された直交システムケーパビリティ(restricted orthoglnal system capabilities)が許可されるであろうし、トラステッド・コンピューティング環境(TCE)を構成するであろう。それらは、電話サーバーやウィンドウサーバーのようなシステムサーバーを含むであろう。例えば、ウィンドウサーバーは、フォンスタックアクセスのケーパビリティは許可されないであろうし、電話サーバーは、キーボードイベントに直接アクセスするケーパビリティは認められないでろう。ここで、できるだけ少ないシステムケーパビリティをソフトウェアコンポーネントに適用して、これらの特権の誤用による潜在的なダメージを制限することを強く薦めるものである。
TCBは、TCEの各要素があるサービスのインテグリティを保証するように、システム全体のインテグリティを保証するものである。TCEは、TCB無しには存在し得ない、しかしTCBはそれ自体として存在し、安全な“サンドボックス(sand box)”を各プロセスについて保証することができる。
2.プロセスケーパビリティ
ケーパビリティは、注意を要する行為(sensitive action)を実行する際の許可に対応するアクセストークン(access token)として考えることができる。ケーパビリティモデルの目的は、注意を要するシステムリソースへのアクセスを制御することである。アクセス制御を必要とする最も重要なリソースは、それ自体で実行可能なカーネル(kernel executive itself)であり、システムケーパビリティ(セクション2.1を参照)は、クライアントがカーネルAPIを介して所定の機能にアクセスするために必要とされる。その他のリソースの全ては、IPC(Inter Process Communication:プロセス間通信)を介してアクセスされるユーザ側のサーバーに属する。基本的なケーパビリティの小さなセットは、サーバー上での特定のクライアントの動作を取り締まるために定義される。例えば、発呼のケーパビリティ(make calls capability)の所有は、電話サーバーを利用するクライアントに認められるであろう。ケーパビリティが存在するリソースへのクライアントのアクセスを取り締まることは、対応するサーバーの責任であろう。ケーパビリティはまた、各ライブラリ(DLL)及びプログラム(EXE)と関連づけられ、カーネルによって保持されるであろうネット・プロセス・ケーパビリティ(net process capabilityes)を生成するために実行時に(at run time)ローダーによって結合される。オープンな装置の場合、インストールパッケージに署名するために利用される証明書(certificate)に基づいたソフトウェアのインストールの間、或いは、ユーザによるソフトウェアインストール後のいずれかに、サード・パーティ・ソフトウェアについてケーパビリティが割り当てられる。ケーパビリティの取り締まりは、ローダー、カーネル及び影響を受けるサーバーの間で管理されるが、IPCメカニズムを通じて、カーネルで仲介されたもの(kernel-mediated)となる。
このプロセス・ケーパビリティ・モデルの重要な特徴は以下のようになる。
・システムサーバーと、これらのエンティティ間でのクライアント−サーバにおけるIPCインタラクションの周りにまずフォーカスされる。
・ケーパビリティはプロセスと関連づけられ、スレッド(threads)とは関連づけられない。同一プロセスにおけるスレッドは、同一アドレス空間及びメモリアクセス許可を共有する。このことは、あるスレッドにより利用されるであろういかなるデータも、同一プロセス内の他のスレッドの全てがリードし、修正可能であることを意味する。
・ケーパビリティの取り締まりは、ローダー及びカーネルによって、ターゲットサーバーのケーパビリティ取締りを通じて管理される。カーネルIPCメカニズムは、後者に含まれる。
・コードが実行されていない場合、ケーパビリティはライブラリ及びプログラムの内部に格納される。ライブラリ及びプログラムに格納されているケーパビリティは修正できない。これは、インストールの間に、トラステッド・コンピューティング・ベースによってのみアクセス可能な場所に格納されるためである。
・全てのサーバーが、クライアントケーパビリティを扱う必要はない。サーバーは、希望する場合にケーパビリティの解釈について責任を負う。
・この手法に含まれる唯一の暗号は、ソフトウェアのインストールステージに存在し、そこでは証明書(certificates)が適切なルート証明書(suitable root certificate)と照合される。
2.1システムケーパビリティ:装置のインテグリティを保護する
ルート。”全てのファイルへのフルアクセス−実行可能なコードと関連づけられたケーパビリティを修正できる。”
“ルート”ケーパビリティ−トラステッド・コンピューティング・ベースのみにより利用され、装置内の全てのファイルへのフルアクセスを与える。
システムケーパビリティ
あるシステムサーバーは、トラステッド・コンピューティング・ベースへのある特定のアクセスを要求する。オブジェクト指向で実装されているシンビアンOSのために、システムサーバーによって要求される種類のリソースは、ほとんどの場合それ専用である。それ故に、あるシステムサーバーは、他のシステムサーバーが要求するものと直交する(orthogonal)、あるシステムケーパビリティが許可されるであろう。例えば、ウィンドウサーバーは、カーネルによって発行されるキーボード及びペンイベントへのアクセスが許可されるであろうが、フォンスタックへのアクセスの許可は得られないであろう。同様に、電話サーバーはフォンスタックへのアクセスは許可されるであろうが、カーネルからのイベントを受け取る許可は得られないであろう。
例えば、以下のように称することができる。
WriteSystemData コンフィギュレーション・システム・データの修正を許可する。
CommDD 全ての通信及びイーサネット(登録商標)カード装置ドライバへのアクセスを許可する。
DiskAdmin ディスクの管理タスク(administration task、リフォーマットやドライブの名称変更など)を実行できる。
2.2 ユーザに公表されるケーパビリティ(User-exposed apabilities):実世界許可のマッピング(Mapping real-world permissions)
ケーパビリティの生成処理は困難となりえる。まず、取り締まりを要求するアクセスを識別しなければならず、その後、これらの要求をユーザにとって意味のあるものにマッピングしなければならない。更に、ケーパビリティが多くなればなるほど複雑性も大きくなるが、複雑性はセキュリティの最大の敵であることは広く認知されている。そこで、ケーパビリティベースのソリューションは、分散される全体数を最小化することを模索すべきである。以下のケーパビリティは、システムサービス(例えば、フォンスタック)への権限なきアクセスである主たる脅威に対し、かなり広くマッピングされ、ユーザデータの守秘性/インテグリティを維持する。
PhoneNetwork“電話ネットワークサービスにアクセス可能であり、潜在的にユーザの金を消費する。”
“電話をかける(Make telephone calls)”
“短いテキストメッセージを送信する(Send short text messages)”
WriteUserData“ユーザのプライベート情報をリードし、修正できる。”
“コンタクトを追加する(Add a contact)”
“アポイントメントとを削除する(Delete appointment)”
ReadUserData“ユーザのプライベート情報をリードできる。”
“コンタクトデータにアクセスする(Access contacts data)”
“アジェンダデータにアクセスする(Access agenda data)”
LocalNetwork“ローカルネットワークにアクセスできる。”
“ブルトゥースメッセージを送信する(Send Bluetooth messages)”
“IR接続を確立する(Establish an IR connection)”
“USB接続を確立する(Establish USB connection)”
Location“装置の現在のロケーションにアクセスできる”
“装置をマップ上に位置させる(Locate the device on a map)”
“最も近いレストランと映画館を表示する(Display closest restaurants and cinema)”
ルート及びシステムのケーパビリティは、強制的なものである。もし実行可能なコードに対して許可されなければ、装置のユーザーは該コードの実行を決定できない。それらの厳格な制御により、トラステッド・コンピューティング・プラットフォームのインテグリティが保証される。しかしながら、サーバーがユーザに公表されたケーパビリティ(user-exposed capabilities)をチェックする方法やそれらを解釈する方法は完全に柔軟なものであって、ユーザに一任しても良い。
2.3 ケーパビリティのプロセスへの割当
ランタイムケーパビリティとプロセスとの関連性は、ローダーを含むものである。本質的に、それは、個々のライブラリ及びプログラムと関連づけられた静的なケーパビリティ設定を、カーネルが保持し、カーネルユーザライブラリAPIを通じて要求され得るランタイム・ケーパビリティに変換する。
ルール1
プログラムからプロセスを生成する場合、ローダーは、そのプログラムのケーパビリティのセットと同一のケーパビリティのセットを割り当てる。
ルール2
ライブラリを実行可能なコード内にロードする場合、当該ライブラリのケーパビリティセットは、ロードする実行可能なコードのケーパビリティのセット(the capability set of the loading executable)よりも大きいか、或いは等価でなければならない。もし、この通りでなければ、ライブラリは実行可能なコード内にロードされない。
ルール3
実行可能なコードは、より高いケーパビリティを有するライブラリ(a library with higher capabilities)をロードすることができるが、そうすることによりケーパビリティが増強されることはない。
ルール4
ローダーは、TCBにリザーブされているファイルシステムの閉じられた部分のデータ(the data caged part of the file system reserved to the TCB)にない、いかなる実行可能なコードのロードも拒む。
ここで、以下の点には注意すべきである。
・ライブラリのケーパビリティは、ロード時においてのみチェックされる。その上で、ライブラリに含まれる全てのコードは自由に実行され、あるIPC呼を開始する場合に(when initiating some IPC calls)それが読み込まれるプログラム(the program it runs into)のケーパビリティセットと同一のケーパビリティのセットが割り当てられる。
・適切に実行されるROMイメージについて(for ROM images with execution in place)、ROMビルトツール(ROM built tool)は、実行時にローダーと同一のタスクを行う全てのシンボルを決定する。そのために、ROMビルトツールは、ROMイメージを構築する場合にローダーと同一のルールを強制する。
これらのルールは、
・注意を要するプロセス(sensitive process)、例えばシステムサーバーにおけるプラグイン、にマルウェア(malware)がロードされることを阻止する。
・また、バイパスを行わずに、プロセスの内部にある注意を要するコードのカプセル化を推奨する。
以下の例は、静的又は動的にロードされたライブラリのそれぞれの場合について、これらのルールがどのように適用されるかを示す。
2.3.1 リンクされたDLLについての例
プログラムP.EXEは、ライブラリL1.DLLにリンクされている。
ライブラリL1.DLLは、ライブラリL0.DLLにリンクされている。
ケース1
P.EXEは、Cap1及びCap2を保持する。
L1.DLLは、Cap1、Cap2及びCap3を保持する。
L0.DLLは、Cap1及びCap2を保持する。
L1.DLLがL0.DLLをロードできないために、プロセスPは生成されず、ローダーは失敗する。L0.DLLは、L1.DLLよりも大きい、或いは、等価なケーパビリティセットを有していないので、ルール2が適用される。
ケース2
P.EXEは、Cap1及びCap2を保持する。
L1.DLLは、Cap1、Cap2及びCap3を保持する。
L0.DLLは、Cap1、Cap2、Cap3及びCap4を保持する。
プロセスPは生成され、ローダーは成功し、新たなプロセスにCap1及びCap2が割り当てられる。新たなプロセスのケーパビリティは、ルール1を適用して決定される。ここで、ルール3に規定されるように、L1.DLLはL0.DLLが有するCap4ケーパビリティを取得できず、P1.EXEはL1.DLLが有するCap3ケーパビリティを取得できない。
2.3.2 動的にロードされるDLLについての例
プログラムP.EXEは、ライブラリL1.DLLを動的にロードする。
ライブラリL1.DLLは、ライブラリL0.DLLを動的にロードする。
ケース1
P.EXEは、Cap1及びCap2を保持する。
L1.DLLは、Cap1、Cap2及びCap3を保持する。
L0.DLLは、Cap1及びCap2を保持する。
プロセスPは無事に生成され、Cap1及びCap2が割り当てられる。
PがローダーにL1.DLL及びL0.DLLをロードすることを要求すると、ローダーはそれに成功する。これは、PがL1.DLLとL0.DLLとをロードすることができるからである。ここでは、ライブラリL1.DLLではなく、ロードする実行可能なコードである(the loading executable)プロセスPに対してルール2が適用される。また、(該ローダーによって処理される)IPCロード要求は、プロセスPによって送信される(the IPC load request that the loader processes is sent by the process P.)。呼(call)はL1.DLL内にあるという事実は、ここでは不適切である。ルール1及び3が前のように適用され、L1.DLLのロードによっては、PがCap3を取得することはない。
ケース2
P.EXEは、Cap1及びCap2を保持する。
L1.DLLは、Cap1、Cap2及びCap3を保持する。
L0.DLLは、Cap1、Cap2及びCap4を保持する。
プロセスPは無事生成され、Cap1及びCap2が割り当てられる。Pが、ローダーにL1.DLLとL0.DLLをロードすることを要求すると、ローダーはそれに成功する。これは、PがL1.DLLとL0.DLLをロードできるからである。ここで再度、ルール2が、L1.DLLではなく、ロードする実行可能なコードであるPに適用され、その一方で、ルール3により、PはCap3及びCap4のいずれも取得しないことが確定される。
2.4 取り外し可能な媒体の柔軟性をどのようにプラットフォーム・セキュリティと結びつけるか
2.4.1 今日
2.4.1.1 装置のインテグリティ
今日、取り外し可能な媒体に格納されているファイルは完全に無防備である。それらは、完全にアクセス可能であり、修正を受けることができる。取り外し可能な媒体が装置に再度接続されると、システムのインテグリティを保証するためのチェックは一切実行されない。この事実と関連するリスクは、低く見られているかもしれない。というのも、媒体の所有はサブヴァージョン(subversion)のために必要とされるからである。しかしながら、例えば、悪意のあるユーザはマルウェア(malware)をインストールして、装置にはダメージを与えないが、ネットワークオペレータに対する武器として利用するかもしれない。今日、プラットフォーム・セキュリティを除けば、取り外し可能な媒体からのコードのロードを拒否するローダーを利用するしか保護の術はない。しかしながら、長い目で見れば、より多くのスペースがより多くのアプリケーションを格納するために必要とされ、この方法では、ユーザが装置用にソフトウェアを購入することの妨げとなってしまい、もしそれを利用することができないのであればオープンなプラットフォームを購入することを、暗黙のうちに阻止することとなってしまう。
2.4.1.2 データの守秘性(confidentiality)
データの守秘性に対する脅威は現実のものであるが、盗まれた取り外し可能な媒体に含まれるデータのみに限られる。このような脅威の大半は、プラットフォーム・セキュリティのサポートに依らずに既に防止することができる。
プラットフォーム・セキュリティ:
1.媒体へのハードウェア・コントロール・アクセス
平均的な装置では、例えば、セキュアMMC(Secure MMC)、PIN保護されたSIM(PIN-protected SIM)媒体はパスワードにより保護される。
2.ファイル暗号化
ユーザがある注意を要するデータ(sensitive data)のセキュリティに関心を有し、そのデータを取り外し可能な媒体に格納するならば、該ユーザは暗号化を行うことが好ましい。
3.ファイルシステム暗号化
ファイルシステム暗号化は、ディスク装置ドライバレベルにおいて提供されるのが好ましい。
2.4.2 提案に係る発明
提案に係る本発明は、現在の脅威を防止するだけでなく、取り外し可能な媒体の相互運用性(interoperability)及びコード分配利用(code distribution uses)を維持することをも目的とする。
プラットフォーム・セキュリティ構造では、取り外し可能な媒体が装置から取り外された場合になされる修正を防止することはできない。パスワードで保護された取り外し可能な媒体であっても、権限のあるユーザはそれを変更することができる。ゆえに、最も好ましいプラットフォーム・セキュリティは、既知の実行可能なコードについてはタンパーエビデンス機能(tamper evidence mechanism)を提供し、不知のコードについては安全な実行を提供することができる。
2.4.2.1 ソフトウェア・インストーラ
インストール時において、アプリケーションパッケージが取り外し可能な媒体に格納されるべきである場合、
ステップ1.ソフトウェア・インストーラは、取り外し可能な媒体にインストールされようとしている実行可能なコードが、正しいセキュア識別子(SID)を有し、かつ、他の正当な実行可能なコードになりすまして、そのプライベートデータにアクセスしようとしていないか、を検証する。
ステップ2.ソフトウェア・インストーラは、幾つかのシステム及びユーザのケーパビリティを、アプリケーションパッケージに含まれている実行可能なコードに割り当てる。
ステップ3.ソフトウェア・インストーラは、実行可能なコードをハッシュする。
ステップ4.ソフトウェア・インストーラは、全てのケーパビリティとハッシュ結果(即ち、ダイジェスト)を(例えば、移動不可能な)不変のファイルシステムのTCBで制限されたエリア(TCB-restricted area of a permanent file system)に格納する。
デインストール時(de-install time)には、ソフトウェア・インストーラは実行可能なコードが存在する場合にはそれを取り外し可能な媒体から除去し、インストールステップ4において生成された関連ファイルを破壊する。
プレフォーマットされた取り外し可能な媒体(既にインストールされたファイル)については、ソフトウェア・インストーラにステップ1から3を実行させるために、アプリケーションパッケージの簡素なバージョン(lighter version)が提供されなければならない。本発明は、プリフォーマットされた取り外し可能な媒体上の新しいアプリケーションを検出するための装置を、いかなるものにも限定することはない。可能性のあるオプションとしては、無線装置へ取り外し可能な媒体が挿入された時点において新しいアプリケーションの存在を検出してもよいし、プリフォーマットされた取り外し可能な媒体の除去を、それが含むアプリケーションのデインストールの際に考慮してもよい。
2.4.2.2 ローダー(Loader)
ロード時において、ローダーは取り外し可能な媒体からロードするために実行可能なコードを識別する。ローダーは、対応するHASHファイル、(例えば、移動不可能な)不変のファイルシステムのTCBで制限されたエリア(TCB-restricted area of a permanent file system)に格納されたハッシュ結果、を参照する。
-もし、該ハッシュファイルが存在する場合、実行可能なコードをハッシュして、両ハッシュ結果を比較する。
-もし両者が一致する場合、ローダーはHASHファイルから抽出されたシステム及びユーザのケーパビリティを、該実行可能なコードに割り当てて、通常のローディング処理を実行する。
-もし両者が一致しない場合、ローダーはエラーを返す。
-もし、対応するHASHファイルが存在しない場合、ローダーは、システム及びユーザのケーパビリティを、該実行可能なコードに割り当てることはせずに、通常のローディング処理を実行する。ローダーは、当該“不知のコード(unknown)”にセキュア識別子(SID)を割り当てて(プロセスの該SID(セキュア識別子)は、OS上で実行可能なコードの一部をユニークに識別するための手法であって、関連する実行可能なコードに格納されている)、正当なプロセスへのなりすましを防止する。ケーパビリティ及びSIDが不知のコードには許可されないので、このコードはトラステッド・コンピューティング・プラットフォームのインテグリティを危うくすることはない。
ハッシュ処理(hashing process)は、取り外し可能な媒体とは独立でなければならない。実行されるべきは、コードの一部の認証であって、それを提供する取り外し可能な媒体の認証ではない。好適な実施態様では、無線装置において利用するのに合理的な安全性と高速性を有する点から、SHA−1が利用される。
2.4.3 利用ケース(Use cases)
2.4.3.1 アクター(Actors)
1.Uは、ユーザである。
2.P1、P2は、Uによって所有されている2つの無線装置である。
3.C1、C2は、Uによって所有されている2つの取り外し可能な媒体である。
4.APPは、実行可能なコードを1つのみ有するアプリケーションである。
5.ローダー
6.SWInstallは、ソフトウェア・インストーラである。
7.ETELは、電話ネットワークへのアクセスを制御するプロセスである。
2.4.3.2 仮定(Assumptions)
1.APPは、PhoneNetworkケーパビリティを有する署名されたアプリケーションパッケージAPP.sisとして配信される。
2.C:は、内部ドライブである。
3.D:は、取り外し可能な媒体用のドライブである。
4.C1はAPP.sisをルート下に含む。APP.sisは、APPのインストレーション・パッケージである。
2.4.3.3 利用ケース1−UがP1にAPPをインストールする
1.UはC1をP1に接続する。
2.UはP1を利用する。
3.Uは、SWInstallに、D:\APP.sisをドライブD:\にインストールすることを依頼する。
4.SWInstallは、署名証明書(signing certificate)を検証する。{E1}
5.SWInstallは、APP.appを抽出する。
6.SWInstallは、システム及びユーザのケーパビリティを実行可能なコードから除去し、c:\<TCBのみがアクセス可能なディレクトリ(directory accessible to TCB only)>\APP.capへコピーする。
7.SWInstallは、APP.appをハッシュして、c:\<TCBのみがアクセス可能なディレクトリ>\APP.capに格納する。
8.SWInstallは、APP.appをD:へコピーする。
9.SWInstallは、インストールを完了する。
E1−有効でない署名
1.利用ケース終了。
2.4.3.4 利用ケース2−UがC1をC2にオフラインでコピーし、C2をP1で利用する
1.UはC1をC2にオフラインでコピーする。
2.UはC2をP1に接続する。
3.UはP1を利用する。
4.Uは、ローダーにAPPの開始を依頼する。
5.ローダーはAPP.appをD:\に発見する。
6.ローダーは、c:\<TCBのみがアクセス可能なディレクトリ>\APP.capを開く。
7.ローダーは、ハッシュ結果の検証に成功する。{E2}
8.ローダーは、システム及びユーザのケーパビリティをAPP.capから抽出する。
9.ローダーはAPP.appをロードし、APP.appにケーパビリティを割り当てる。
10.Uは、APPに番号のダイヤルを依頼する。
11.APPはETELに番号のダイヤルを依頼する。
12.ETELは、APPがPhoneNetworkを取得したことのチェックに成功する。
13.ETELは番号をダイヤルする。
14.Uは電話接続を利用する。
E2−ハッシュは一致しない
1.ローダーはAPPをロードせず、バイナリハッシュ不一致エラー(Binary Hash Mismatch error)を返す。
2.UはAPPを利用できない。
2.4.3.5 利用ケース3−UがC1をP2で利用する
1.UはC1をP2に接続する。
2.UはP2を利用する。
3.UはローダーにAPPの開始を依頼する。
4.ローダーはAPP.appをD:\に発見する。
5.ローダーは、c:\<TCBのみがアクセス可能なディレクトリ>\APP.capを発見しない。
6.ローダーはAPP.appをロードし、APP.appに、ユーザ及びシステムのケーパビリティを割り当てない。
7.Uは、APPに番号のダイヤルを依頼する。
8.APPはETELに番号のダイヤルを依頼する。
9.ETELは、APPがPhoneNetworkを取得していないことを検出する。
10.ETELは、電話をかけたいかどうかをUに問い合わせる。
11.Uは許可する(U accepts)。{E1}
12.ETELは番号をダイヤルする。
13.Uは電話接続を利用する。
E1−Uは許可しない(U does not accept)
1.ETELは番号をダイヤルしない。
2.APPはUに対してエラーを表示する。
2.4.3.6 利用ケース4−UはAPPをP2にインストールし、APPのPhoneNetworkをデモートする(demote)。
1.UはC1をP2に接続する。
2.UはP2を利用する。
3.UはP2のD:\にAPPをインストールすることに成功する。(利用ケース1を参照。)
4.Uは、SWInstallに、APPのケーパビリティからPhoneNetworkを除去することを依頼する。
5.SWInstallは、c:\<TCBのみがアクセス可能なディレクトリ>\APP.capを修正し、ファイル内のユーザのケーパビリティをリセットする。
6.Uは、ローダーにAPPの開始を依頼する。
7.ローダはD:\にAPP.appを発見する。
8.ローダーはc:\<TCBのみがアクセス可能なディレクトリ>\APP.capを開く。
9.ローダーはハッシュ結果の検証に成功する。{E2}
10.ローダーはケーパビリティをAPP.capから抽出する。
11.ローダーは、APP.appをロードし、ケーパビリティをAPP.appに割り当てる。
12.UはAPPに番号のダイヤルを依頼する。
13.APPはETELに番号のダイヤルを依頼する。
14.ETELはAPPがPhoneNetworkを取得していないことを検出する。
15.ETELは、電話をかけたいかどうかをUに問い合わせる。
16.Uは許可する。{E1}
17.ETELは番号をダイヤルする。
18.Uは電話接続を利用する。
19.UはC1をP1に接続する。
20.UはAPPに番号のダイヤルを依頼する。
21.APPは、ETELに番号のダイヤルを依頼する。
22.ETELはAPPがPhoneNetworkを取得したことのチェックに成功する。
23.ETELは番号をダイヤルする。
24.Uは電話接続を利用する。
E1−Uは許可しない。
1.ETELは番号をダイヤルしない。
2.APPはUに対してエラーを表示する。
E2−ハッシュ結果が不一致
1.ローダーはAPPをロードせず、バイナリハッシュ不一致エラーを返す。
2.UはAPPを利用できない。
2.4.3.7 利用ケース5−Uは、P2からC2を利用してAPPをアンインストールする
1.UはC2をP2に接続する。
2.UはP2を利用する。
3.UはSWInstallにAPPのアンインストールを依頼する。
4.SWInstallは、c:\<TCBのみがアクセス可能なディレクトリ>\APP.capを削除する。
5.SWInstallは、UにD:上での削除の承認を依頼する。
6.Uは承認する。{E1}
7.SWInstallは、APP.appをD:から削除する。
8.UはC2をP1又はP2上で利用してAPPを開始することができない。
E2−Uは承認しない。
1.SWInstallは、APP.appをDから削除しない。
2.UはC2をP1で利用してAPPを開始することができる。
2.4.3.8 利用ケース6−UはAPP.appをハックし、幾つかのシステムケーパビリティを追加する
1.Uは、C1上でオフラインでAPP.appシステムケーパビリティを修正する。
2.UはC1をP1に接続する。
3.UはP1を利用する。
4.UはローダーにAPPの開始を依頼する。
5.ローダーはD:にAPP.appを発見する。
6.ローダーは、c:\<TCBのみがアクセス可能なディレクトリ>\APP.capを開く。
7.ローダーはハッシュの検証に失敗する。
8.ローダーはAPPをロードせず、バイナリハッシュ不一致エラーを返す。
9.UはAPPを利用できない。
2.4.3.9 結論
これらの利用ケースは、プラットフォーム・セキュリティにおいても、取り外し可能な媒体により提供される以下の柔軟性が維持されることを示している。
−異なるユーザケーパビリティ設定を有する装置間においてカードを共有すること
−カードを複製し、当該複製されたものを制限なく利用すること
−取り外し可能な媒体から取得されるコードを安全に実行すること

Claims (11)

  1. 移動体無線装置であって、
    取り外し可能な媒体上のネイティブで実行可能なコードをインストール可能にプログラムされていることと;
    前記コードのダイジェストを計算し、前記移動体無線装置内の取り外しできない固定的な格納部に格納するようにプログラムされていることと;
    前記取り外し可能な媒体が前記移動体無線装置に再度接続され、前記コードが呼び出された場合に、前記移動体無線装置は、前記取り外し可能な媒体よりロードしようとするコードからダイジェストを再計算するようにプログラムされていることと;
    前記再計算したダイジェストと、前記取り外しできない固定的な格納部に格納されているダイジェストとを比較して、前記再計算したダイジェストと前記格納されているダイジェストとが異なる場合は、前記ロードしようとするコードの利用を抑制するようにプログラムされていることと;
    前記実行可能なコードについてのダイジェストが格納されていないため、前記比較ができない場合、前記実行可能なコードをケーパビリティ及び識別子なしでロードするように構成されることと;
    を特徴とする、移動体無線装置。
  2. 前記格納されているダイジェストを、トラステッド・コンピューティング・ベースのコンポーネントによってのみアクセス可能とするように構成される、請求項1に記載の移動体無線装置。
  3. 前記実行可能なコードのケーパビリティを、トラステッド・コンピューティング・ベースのコンポーネントによってのみアクセス可能とするように構成される、請求項1または2に記載の移動体無線装置。
  4. 前記再計算したダイジェストと、前記格納されているダイジェストとが一致しない場合は、前記実行可能なコードをロードしないように構成される、請求項1からのいずれかに記載の移動体無線装置。
  5. 前記再計算したダイジェストと、前記格納されているダイジェストとが一致した場合、前記移動体無線装置に格納されているケーパビリティを前記実行可能なコードに割り当てるように構成される請求項1からのいずれかに記載の移動体無線装置。
  6. 取り外し可能な媒体に格納された実行可能なコードを利用することに関する処理において、移動体無線装置のコンピュータが、コンピュータ読み取り可能な命令に従って実行する方法であって、
    前記コードの第1のダイジェストを計算し、前記移動体無線装置内の取り外しのできない固定的格納部に格納することと;
    前記取り外し可能な媒体が前記移動体無線装置に再度接続され、前記コードが呼び出された場合に、前記移動体無線装置は、前記取り外し可能な媒体よりロードしようとするコードからダイジェストを再計算することと;
    前記再計算したダイジェストと、前記取り外しできない固定的な格納部に格納されているダイジェストとを比較して、前記再計算したダイジェストと前記格納されているダイジェストとが異なる場合は、前記ロードしようとするコードの利用を抑制することと;
    前記実行可能なコードについてのダイジェストが格納されていないため、前記比較ができない場合、前記実行可能なコードをケーパビリティ及び識別子なしでロードすることと;
    を含む、方法。
  7. 前記格納されているダイジェストは、トラステッド・コンピューティング・ベースのコンポーネントによってのみアクセス可能である、請求項に記載の方法。
  8. 前記実行可能なコードのケーパビリティは、トラステッド・コンピューティング・ベースのコンポーネントによってのみアクセス可能であるように格納される、請求項またはに記載の方法。
  9. 前記再計算したダイジェストと、前記格納されているダイジェストとが一致しない場合は、前記実行可能なコードをロードしないことを含む、請求項からのいずれかに記載の方法。
  10. 前記再計算したダイジェストと、前記格納されているダイジェストとが一致した場合、前記移動体無線装置に格納されているケーパビリティを前記実行可能なコードに割り当てることを含む、請求項からのいずれかに記載の方法。
  11. 請求項から10のいずれかに記載の方法を、移動体無線装置のコンピュータに実行させる命令を含む、コンピュータ・プログラム。
JP2004507971A 2002-05-28 2003-05-28 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体 Expired - Fee Related JP4526383B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0212318.0A GB0212318D0 (en) 2002-05-28 2002-05-28 Tamper evident removable media storing executable code
PCT/GB2003/002326 WO2003100583A1 (en) 2002-05-28 2003-05-28 Tamper evident removable media storing executable code

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010057097A Division JP4975127B2 (ja) 2002-05-28 2010-03-15 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置

Publications (2)

Publication Number Publication Date
JP2005527905A JP2005527905A (ja) 2005-09-15
JP4526383B2 true JP4526383B2 (ja) 2010-08-18

Family

ID=9937598

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2004507971A Expired - Fee Related JP4526383B2 (ja) 2002-05-28 2003-05-28 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体
JP2010057097A Expired - Lifetime JP4975127B2 (ja) 2002-05-28 2010-03-15 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010057097A Expired - Lifetime JP4975127B2 (ja) 2002-05-28 2010-03-15 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置

Country Status (10)

Country Link
US (1) US8205094B2 (ja)
EP (1) EP1512060B1 (ja)
JP (2) JP4526383B2 (ja)
AT (1) ATE326718T1 (ja)
AU (1) AU2003234040A1 (ja)
DE (1) DE60305315T2 (ja)
DK (1) DK1512060T3 (ja)
ES (1) ES2265105T3 (ja)
GB (2) GB0212318D0 (ja)
WO (1) WO2003100583A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205270A (ja) * 2002-05-28 2010-09-16 Nokia Corp 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
GB2413654B (en) * 2004-04-29 2008-02-13 Symbian Software Ltd A method of backing up and restoring data in a computing device
EP1645931A1 (en) * 2004-10-11 2006-04-12 Telefonaktiebolaget LM Ericsson (publ) Secure loading and storing of data in a data processing device
US8627086B2 (en) 2004-10-11 2014-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Secure loading and storing of data in a data processing device
US7953225B2 (en) * 2005-10-21 2011-05-31 Harris Corporation Mobile wireless communications device with software installation and verification features and related methods
US7689205B2 (en) 2005-12-23 2010-03-30 Morgan Stanley Systems and methods for configuration of mobile computing devices
FR2895815B1 (fr) * 2005-12-29 2008-06-20 Trusted Logic Sa Procede et systeme de gestion pour gerer le contenu de donnees electroniques
US20140043059A1 (en) * 2012-08-10 2014-02-13 Microsemi Soc Corp. Secure digest for pld configuration data
US9443112B2 (en) * 2014-05-23 2016-09-13 Bank Of America Corporation Secure media container
WO2017014727A1 (en) * 2015-07-17 2017-01-26 Hewlett Packard Enterprise Development Lp Data tamper detection
EP3887979A4 (en) * 2018-11-30 2022-10-12 BicDroid Inc. PERSONALIZED AND CRYPTOGRAPHICALLY SECURE ACCESS CONTROL IN OPERATING SYSTEMS
JP7262269B2 (ja) * 2019-03-27 2023-04-21 キヤノン株式会社 情報処理装置、及び情報処理装置の制御方法、プログラム

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975950A (en) * 1988-11-03 1990-12-04 Lentz Stephen A System and method of protecting integrity of computer data and software
JPH05167496A (ja) * 1991-12-16 1993-07-02 Matsushita Electric Ind Co Ltd 自動車電話装置
US5359659A (en) * 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
KR100268693B1 (ko) 1995-02-08 2000-10-16 이리마지리 쇼우이치로 보안 검사 기능을 갖는 정보 처리 장치 및 보안 검사 방법
US5748940A (en) * 1995-08-17 1998-05-05 Compaq Computer Corporation Secure updating of non-volatile memory
US5883956A (en) * 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
TW313642B (en) * 1996-06-11 1997-08-21 Ibm A uniform mechanism for using signed content
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
US7058822B2 (en) * 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US5954817A (en) * 1996-12-31 1999-09-21 Motorola, Inc. Apparatus and method for securing electronic information in a wireless communication device
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
JP3103061B2 (ja) 1997-09-12 2000-10-23 インターナショナル・ビジネス・マシーンズ・コーポレ−ション トークン作成装置および該トークンを用いたデータ制御システム
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
GB2340344A (en) * 1998-07-29 2000-02-16 Nokia Mobile Phones Ltd Bilateral Data Transfer Verification for Programming a Cellular Phone
AU6042899A (en) * 1998-09-18 2000-04-10 Qualcomm Incorporated Method and apparatus for authenticating embedded software in a remote unit over a communications channel
US6463535B1 (en) * 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US6438600B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Securely sharing log-in credentials among trusted browser-based applications
US6567917B1 (en) * 1999-02-01 2003-05-20 Cisco Technology, Inc. Method and system for providing tamper-resistant executable software
GB9903123D0 (en) * 1999-02-11 1999-04-07 Nokia Telecommunications Oy Method of securing communication
JP4779183B2 (ja) 1999-03-26 2011-09-28 ソニー株式会社 再生装置および再生方法
EP1041573B1 (en) 1999-03-03 2010-01-06 Sony Corporation Reproducing apparatus and reproducing method
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
JP4049498B2 (ja) * 1999-11-18 2008-02-20 株式会社リコー 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
JP3976946B2 (ja) * 1999-06-18 2007-09-19 株式会社リコー 原本性保証電子保存装置、原本性保証電子保存方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6681329B1 (en) * 1999-06-25 2004-01-20 International Business Machines Corporation Integrity checking of a relocated executable module loaded within memory
US6543052B1 (en) * 1999-07-09 2003-04-01 Fujitsu Limited Internet shopping system utilizing set top box and voice recognition
JP4196240B2 (ja) 1999-08-31 2008-12-17 ソニー株式会社 再生制限機能付き再生装置、再生制限方法及び再生制限プログラム
US6880083B1 (en) * 1999-12-31 2005-04-12 Intel Corporation Method and apparatus for creating and executing secure scripts
US20020026584A1 (en) * 2000-06-05 2002-02-28 Janez Skubic Method for signing documents using a PC and a personal terminal device
JP2002014871A (ja) 2000-06-29 2002-01-18 Fujitsu Ltd コンテンツチェック方法、コンテンツ更新方法、および処理装置
US7039801B2 (en) * 2000-06-30 2006-05-02 Microsoft Corporation System and method for integrating secure and non-secure software objects
GB2364404B (en) * 2000-07-01 2002-10-02 Marconi Comm Ltd Method of detecting malicious code
JP2002023704A (ja) 2000-07-06 2002-01-25 Sony Corp 制御装置および制御方法
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
AU2001285125B2 (en) * 2000-08-21 2004-08-26 Igt Method and apparatus for software authentication
US7043636B2 (en) * 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
AU2001296205A1 (en) 2000-10-17 2002-04-29 Shyne-Song Chuang A method and system for detecting rogue software
GB2377137B (en) * 2001-06-27 2004-10-20 Hewlett Packard Co Network appliances
US7062622B2 (en) * 2001-06-29 2006-06-13 Microsoft Corporation Protection of content stored on portable memory from unauthorized usage
US20030009687A1 (en) * 2001-07-05 2003-01-09 Ferchau Joerg U. Method and apparatus for validating integrity of software
US7003672B2 (en) * 2001-09-25 2006-02-21 Hewlett-Packard Development Company, L.P. Authentication and verification for use of software
JP2003122442A (ja) * 2001-10-16 2003-04-25 Sony Corp ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置
US7376625B2 (en) * 2001-11-15 2008-05-20 Nokia Corporation System and method for activating individualized software modules in a digital broadcast environment
WO2003042988A1 (en) * 2001-11-15 2003-05-22 Sony Corporation System and method for controlling the use and duplication of digital content distributed on removable media
US8266113B2 (en) * 2003-04-01 2012-09-11 Cybersoft, Inc. Methods, apparatus and articles of manufacture for computer file integrity and baseline maintenance
WO2003060673A1 (en) * 2002-01-18 2003-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Loading data into a mobile terminal
US20030182561A1 (en) * 2002-03-25 2003-09-25 International Business Machines Corporation Tamper detection mechanism for a personal computer and a method of use thereof
US6782477B2 (en) * 2002-04-16 2004-08-24 Song Computer Entertainment America Inc. Method and system for using tamperproof hardware to provide copy protection and online security
GB0212308D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Trusted user interface for a secure mobile wireless device
GB0212315D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device with protected file systems
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
GB0212318D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Tamper evident removable media storing executable code
US20030226040A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Controlling access to data stored on a storage device of a trusted computing platform system
EP1561301B1 (en) * 2002-11-08 2008-01-09 Nokia Corporation Software integrity test in a mobile telephone

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205270A (ja) * 2002-05-28 2010-09-16 Nokia Corp 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置

Also Published As

Publication number Publication date
JP2010205270A (ja) 2010-09-16
ES2265105T3 (es) 2007-02-01
AU2003234040A1 (en) 2003-12-12
EP1512060A1 (en) 2005-03-09
WO2003100583A1 (en) 2003-12-04
EP1512060B1 (en) 2006-05-17
JP2005527905A (ja) 2005-09-15
DK1512060T3 (da) 2006-09-18
GB0312199D0 (en) 2003-07-02
ATE326718T1 (de) 2006-06-15
JP4975127B2 (ja) 2012-07-11
DE60305315T2 (de) 2007-02-08
GB2390918B (en) 2004-10-27
GB2390918A (en) 2004-01-21
US8205094B2 (en) 2012-06-19
US20050216907A1 (en) 2005-09-29
DE60305315D1 (de) 2006-06-22
GB0212318D0 (en) 2002-07-10

Similar Documents

Publication Publication Date Title
JP4975127B2 (ja) 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置
US11514159B2 (en) Method and system for preventing and detecting security threats
JP4535871B2 (ja) セキュアな移動体無線装置
US7810153B2 (en) Controlling execution of computer applications
US7802294B2 (en) Controlling computer applications' access to data
US20080066187A1 (en) Mobile Wireless Device with Protected File System
KR102618922B1 (ko) 무기체계 임베디드 시스템의 sw 역공학 방지장치 및 그 방법
Dive-Reclus et al. SYMBIAN OS PLATFORM SECURITY ARCHITECTURE
Trampus et al. Are e-commerce users defenceless?

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060526

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090309

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090319

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100315

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100527

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100601

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4526383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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