JP2007513402A - 携帯電話機上のリソースへのセキュア・マルチエンティティ・アクセス - Google Patents
携帯電話機上のリソースへのセキュア・マルチエンティティ・アクセス Download PDFInfo
- Publication number
- JP2007513402A JP2007513402A JP2006537443A JP2006537443A JP2007513402A JP 2007513402 A JP2007513402 A JP 2007513402A JP 2006537443 A JP2006537443 A JP 2006537443A JP 2006537443 A JP2006537443 A JP 2006537443A JP 2007513402 A JP2007513402 A JP 2007513402A
- Authority
- JP
- Japan
- Prior art keywords
- identity
- resource
- script
- entity
- mrix
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/082—Access security using revocation of authorisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72412—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/02—Details of telephonic subscriber devices including a Bluetooth® interface
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Telephonic Communication Services (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
内層:ユーザ、電話機所有者
次の層:オペレーティング・システム/ミドルウェア・ソフトウェアのベンダ
次の層:携帯電話機製造業者
外層:ネットワーク・オペレータ
この図式が意味することは、例えば、エンドユーザが、個人情報と(システムに接続するためのアクセスコードのような)銀行Aに属する情報を格納している銀行Aのバンキング・アプリケーションを実行していれば、エンドユーザはデータにアクセスできるが、そのモデルの内層以外の各層にいる誰でもデータにアクセスできる。ネットワーク・オペレータが望むなら、すべてのエンドユーザ情報にアクセスできる、ということである。この図式は次のことも意味する。ソフトウェア・ベンダのようなエンティティが、重要なシステムを展開しようとしている企業に本機器を売ろうとするなら、その企業は、携帯電話機製造業者とネットワーク・オペレータがアプリケーションとデータを結局のところ管理する図式を信じるか、アプリケーションを展開しないかのどちらかを強いられる。
(a)アイデンティティと許可状態を関係付けるが、ここでアイデンティティはリソースを使える可能性を持つ幾つかあるエンティティの1つに適用できる識別名であり、許可状態はリソースを実際に使用可能とするか否かを決定する。そして、
(b)リソースの使用を許可する許可状態に関係付けられたアイデンティティを持つ1つまたは複数のエンティティだけに、リソースの使用を許可する。
(a) 任意のエンティティに関係付けられているスクリプトまたは他の種類の実行可能コードが、特定のリソースの使用要求を送信する。そのスクリプトはアイデンティティを持っているか、アイデンティティを推定できる確実な署名を含んでいる。
(b) 機器上で実行されるソフトウェア・コンポーネントが、要求を処理し、そのスクリプトまたは実行可能コードのアイデンティティに関係付けられている適用可能な許可状態を決定するためそのアイデンティティを使用する。
いくつかの例が役に立つだろう。銀行口座の明細を収納している電話機上のファイルを考えてみよう。電話機の所有者は、そのデータにアクセスを試みるバンキング・アプリケーションを実行する。そこでは、所有者とバンキング・アプリケーションの2つのアイデンティティが活動中である。アクセス管理はソフトウェア・コンポーネントにより処理されるが、ソフトウェア・コンポーネントはカーネルであり、オペレーティング・システムに不可欠の部分ではない。これは、「mrixカーネル」である。カーネルは、所有者はデータに読み出しだけのアクセスが可能であり、さらにバンキング・アプリケーションもそのデータにアクセスが可能であると決定できる(これをユーザがダウンロードしたばかりのスペース・インベーダー・ゲームと比較してみると、そのゲームは誰が実行するかにかかわらず、バンキング・データにアクセスできないことは間違いない)。
本発明は、インテュウェーブ社(Intuwave Limited)の「mrix」と呼ばれるソフトウェアを使い実装される。mrixは、モバイル機器用のネットワーク化されたアプリケーション・ソフトウェアの開発を迅速にできるようにし、そのような機器上のリソースへの安全なマルチエンティティ・アクセスを提供する。実装は、スマートフォン、デスクトップPC、サーバのようなモバイル機器を含むネットワークに接続している異なるコンピュータ機器に常駐するソフトウェアから構成される。構成例を図1に示す。
1.開発者は、そのアプリケーションにmrixパイプ・プロセッサー・コンポーネントのどのモジュール・セットを使用するか選ぶ。
2.開発者は、選んだパイプ・プロセッサーがコマンドラインからどのように使われるかテストする。
3.これらをまとめて、電話機上さらにはデスクトップPCから遠隔で実行できるすべての要素を含むアプリケーションにするため、簡単なスクリプトが編集される。
4.mrixの一部かもしれないmRouterのようなPC上の接続コンポーネントは、モバイル機器からデスクトップPCへネットワーク化された接続が必要とされたり、モバイル機器からデスクトップPCへのルーティングが必要とされたりすると使用される。mRouter の詳細についてはPCT//GB2002/003923参照のこと。その内容は参考文献に収録してある。
5.サーバ上の接続コンポーネントは、サーバから電話機に接続する必要があるなら使用される。電話機のIPアドレスは外界からは見えず、サーバから連絡できないので、これが必要となる。それゆえ、サーバにネットワーク化された通信を可能にするため、中継サーバは電話機とバックオフィス・サーバの両方から見えることが必要とされる。
・習熟曲線を短縮し、それゆえ、より大きな開発者のコミュニティに開発を開放する。
・スマートフォンを共有のネットワーク・コンポーネントのように取り扱うことを可能にするネットワークOSのような設備を提供する。
・複雑なスマートフォンの機能をカプセル化する重要な「素材」を提供する。
mrixはスマートフォン上で動作するコマンドインタプリータおよび遠隔PCあるいは他の適切なプラットフォーム上で動作するコマンド実行シェルの周りに設計される。パイププロッセサを、mRouter(登録商標)を介してデスクトップPCから、あるいはリレーを介して遠隔サーバから(ユニックスコマンドのように)遠隔呼び出しができる。これによりmrixの解決法による開発およびデバッグを都合の良いデスクトップPCから実施できるばかりでなく、またネットワークを介して実行時にスマートフォンのコンポーネントの共有を許容する。
使用するコンポーネントに関するより多くの情報については「mrixの特徴一覧」を参照されたい。
核をなすmrixシステムは幾つかのエレメントを含み、その幾つかはスマートフォン上に配備される。
m-Router(登録商標):シンビアンOSのスマートフォン上のローカル接続の管理を処理するイントュウエイブの既存のm-Router(登録商標)製品へのコマンドラインインタフェースである。m-Router(登録商標)はシリアル、ブルートゥース、USBおよびIrDAベアラを介して動作する。
mrElay:mrElayはイントュウエイブの遠隔リレーサーバへのコマンドラインインタフェースとリレーサーバ自体の両方からなる。現在、リレーサーバはGPRSあるいはローカルm-Router(登録商標)リンクにより代理されるWANを介してスマートフォンからアクセスすることができる。
パイププロセッサ:パイププロセッサはスマートフォンの機能をカプセル化する小型自己完結モジュールである。イベント処理およびファイルアクセスを管理する少数のパイププロセッサはmrixの核に存在する。
スクリプトエンジン:強力でコンパクト(60k)なLUA5.0スクリプト記述エンジンはスマートフォンに含まれ、開発者がスクリプトを使用して直接難なくパイププロセッサの機能を結合することを許容する。スクリプト記述エンジンに含まれるのは、既存のパイププロセッサの機能を強力に結合する幾つかの核mrixスクリプトである。
mrix参照マニュアル:全ての既存の核パイププロセッサの使用法を説明するHTMLページである。m-Router(登録商標)およびmrcmd機能、並びに新しいパイププロセッサの記述に関する指示も存在する。文書およびスクリプトの詳細が含まれる。
mrix技術は、スマートフォン機器の遠隔制御が重要なところでは、広い範囲のアプリケーションに直接適用可能である。
PIMアプリケーション:mrixは、スクリプトがアクセスできるツールキットを提供することで、PC接続PIMアプリケーションの迅速な開発を可能にしている。
アクセス管理:mrixは、リソースへの安全なマルチエンティティ・アクセスを可能にする。
mrixは、スマートフォン製造業者と電話ネットワーク・オペレータに非常に多くの利点を提供する。
開発スピード:mrixの開発は、APIに対してコーディングするのではなく、スクリプトを素早く繰返し徐々に発展させることにより行われる。このことは、開発サイクルを大幅に高速化する。
コスト:mrix機能はスクリプトに基づいているので、開発コスト、維持コスト、機能強化コストが大幅に減少している。
クロス・プラットフォーム:mrixは、スマートフォンに対し完全なクロス・プラットフォーム・サポートを提供する。クロス・プラットフォーム・ツールキットと組み合わせると、サーバ・アプリケーションを異なるPCオペレーティング・システムにわたって実行できるように作ることができる。
mrixのセキュリティは、実生活に合わせて作られている。実生活では、すべての人、すべてのものが、アイデンティティとして機能する。バンキングの例をもっと詳しく検討することは、mrixの中でセキュリティが維持される方法を理解するうえで役立つ。名前とシナリオは露骨に作られているが、重要な点を説明するのに都合が好い。
・アリスが彼女の主張しているとおりの人間であると証明できるようにしたい。
・出納係/mrContactsが信頼できることを保証したい。
・銀行/電話機が意図したものであり、贋物でないことを保証したい。
・アリスと出納係/mrContactsとのやりとりは盗聴されず、後で不正なアクセスに使用されることはないと保証したい。
・ややこしいと銀行/電話機は使われないので簡単であることを保証したい。
本セクションは、mrixの目標とするセキュリティを記述する。記載しているものがまだ存在していないかもしれないが、現在形で書く。別の文書は現在の状況を記述する。
mrixの中核は以下に基づいている。
・mSecure − このシングルEPOCサーバはmStream、mIdentity、mrBootの機能を結合して一体化し、そうする中でオーバーヘッドが少なく、より強固なセキュリティとより多くの機能を提供する。例えば、パイプ・プロセッサーを要求するのに、以前は2つの異なるサーバに少なくとも12回の呼び出しが必要だったが、今はたった2回だけだ。
mrixのセキュリティは、アイデンティティの概念に基づいている。アイデンティティは、ユーザIDや原則と類似して抽象概念である。パイプ・プロセッサーはアイデンティティのために呼び出され、それゆえにそれがどのアイデンティティかにより異なる振る舞いをすることができる。アイデンティティは、望むならモジュールとプロセス間で手渡されるアイデンティティ・ハンドル(トークン)によりシステムの中で代理される。アイデンティティ・ハンドルは、認証プロセスの結果としてだけ作成される。アイデンティティが与えられると、モジュールはそのユーザに対する許可と他の設定を尋ねることができる。モジュールを呼び出すアイデンティティに加えて、モジュールが利用できる2番目のアイデンティティもあり、それはそのモジュールを作成した/書いた/署名したアイデンティティである。
各パイプ・プロセッサー(スクリプトを含むがそれに限定されない)は独立したメタデータ・ファイルと一緒に供給されることがある。このファイル自体が署名されているので、メタデータへの変更は見破ることができる。メタデータは以下のものを含む。
・ファイルが通信するパイプ・プロセッサーのハッシュ
・著作権、バージョン、ライセンス、著者連絡先情報
・パイプ・プロセッサーが必要とする許可とモジュール(換言すると依存関係)
・パイプ・プロセッサーに埋め込まれている許可(換言するとポリシー)
ファイルの内容は、当初は著者によりテキスト文書として作成され、次にtxt2mrixユーティリティにより署名/編集される。
mrixは、秘密/公開鍵認証、プレーンテキスト認証、ハッシュ認証をはじめとする数タイプの認証を提供する。そのような証明物は、機器のメモリ上に暗号化されて格納されている。暗号化は、信頼できるハードウェア(つまりSIMカード)と組み合わせて、それとの連携でさらに強化される。
ユーザを認証するために、rshdはmrCmdを実行している遠隔のピアにチャレンジする。認証方式はサーバとピアの間でネゴシエーションされる。
認証メカニズムは以下のものを含む。
・プレーンテキスト・ユーザ名/パスワード−簡単だが、秘密もはっきり見えるかもしれない。
・ユーザ名/パスワードのMD5ハッシュとチャレンジ−認証が必要とされるときは毎回唯一のキーがチャレンジに用いられる。アルゴリズムはこのキーおよび信頼されているエンティティだけが知っている秘密からハッシュを発生するために使われる。両方で同じハッシュ・アルゴリズムを実施する。送信された結果が予期された応答と同じであれば、ピアは秘密を知っているに違いないと次に考える。ハッシュを送信することで、秘密は安全でないリンク上で決して暴露されることはない。毎回唯一のキーを使うことにより、以前の応答は以後の認証で不正に使うことができない。
* 公開/秘密鍵−公開秘密鍵それ自体で、ピアは秘密鍵の持ち主であると証明するのに使える。証明書は、その所有権と現実の世界のアイデンティティを結びつけるのに使える。文書のハッシュを作成し、次にそのハッシュを秘密鍵で暗号化することで、文書は署名される。文書の変更はハッシュを変えるので、署名を無効にする。mSecureはメタファイルを署名するのにこの特性を使う。その結果として、スクリプト自体の中にプレーンテキストの証明書を埋め込む必要なしに、スクリプトが選ばれたアイデンティティで実行されるのを可能にする。
mSecureは管理する各アイデンティティに対し暗号化された記憶場所を提供する。パイプ・プロセッサーはアイデンティティにより署名される/書かれるので、このことは、各パイプ・プロセッサーはそれ自体専用の安全な記憶場所にアクセスできることを意味する。その記憶場所内で、mSecureはアイデンティティごとにサブ記憶場所を提供する。例えば、mSecureは「mrFile」パイプ・プロセッサーのアイデンティティに記憶場所を提供する。mrFileは、他のアイデンティティがデータにアクセスできないこの記憶場所に許可とポリシーデータを格納できる。その保管スペースに、mrFileは「ジョン・ドウ」や「アニー・ウォン」のアイデンティティのため、個別のデータを格納できる。mrFileは「ジョン・ドウ」に対する「設定/許可」をチェックできる。スクリプトがmrFileアイデンティティで署名されていれば、この記憶場所にアクセスできる。このことは、スクリプトをパイプ・プロセッサーの許可とポリシーに関する管理および構成の一部として使うことができることを意味する。この暗号化された記憶場所に格納できるデータは、階層化されたネーム・バリュー構造になっている。ネーム・バリューの各対は各アイデンティティに対して異なるバリューを格納できる。フォルダとサブファイルを持つソース・コントロール・システムと、比較されるかもしれない。さらに、各ファイルにはさまざまなバージョンがあるかもしれない。ネーム・バリューの対は、ユニコード・テキストである。その記憶場所は生のバイナリ・データをサポートしない。
このレベルのシステム・サポートを持って、コア・パイプ・プロセッサーはそれらの振る舞いをきめ細かく管理できる。例えば、mrFileはファイルシステムの異なるエリアに対して読み出し/書き込みのアクセス管理ができる。
機器上のアイデンティティと関連データ管理するため、mrixはmrixConfigと呼ばれるユーザ・インタフェース・コンポーネントを含んでいる。このユーザ・インタフェースは以下のことを可能にする。
・任意の認証データを持つ(ユーザ)アイデンティティの追加/削除
・スクリプトおよびパイプ・プロセッサー(それ自体がアイデンティティ)の追加/削除
・上記に対する許可とポリシーの授与と取り消し
ユーザ設定ツールが使用可能になる前に、ユーザは自分自身を認証しなければならない、ということは驚くにあたらないはずだ。このことは、個人使用及び企業使用の両方において携帯電話機の共同利用を可能にする。換言すると、個人で電話機を購入したら、その許可のサブセットを企業のITアイデンティティのために使用させることができる。そのITアイデンティティは、企業のアプリケーションとデータをインストールしたり削除したりするのに使われる。個人がその後これら企業のアプリケーションやデータを管理できるかどうかは、個人と企業との「契約」しだいである。mrixは様々なオプションを選択できるようにしている。このケースでは、個人が望むなら、電話機からそのようなアプリケーションとデータを追放する選択肢をいつでも持っている。代わりに、企業がモバイル機器を所有して従業員に貸し出し、個人のアプリケーションをインストールし実行する許可を与えることもある。前と同じように、このデータは個人の私有のものなので、企業が望むなら追放することができる。そもそも企業が個人に許可を与えているのだから。電話機のそのような共有は、アイデンティティが他のアイデンティティに許可を授与および委任することを可能とする。通常はこの共有には財務上の同意があるかもしれないが、今回はmrixの範囲外である。そうは言っても、mrixによって提供される設備は、有料のサービスを実装するのに使うことができる。
mrixコアは、ROMに焼き付けられるか、電話機購入後追加コンポーネントとしてインストールされる。初期状態では、mrixは「ファクトリ・デフォルト」と呼ばれるアイデンティティを使用する。このアイデンティティは、企業IT部門やソニー・オンライン・ゲームのような、電話機を管理するための追加のユーザ・アイデンティティを作成するために使われる。
インストール用のフィルの場所は、mrixコアに関しては決まっている。しかし、Identity.iniファイルは、新しいパイプ・プロセッサーのdllごとに修正される必要があることに留意。スクリプトは現在「可能」許可を持たないので、すべてのスクリプトは誰かにより呼び出される。そのような呼び出しの行為は、使用するパイプ・プロセッサーの振る舞いに明らかに左右される。その結果、スクリプトが使用するアイデンティティに依存する。スクリプトの実行または試験を除いて、スクリプトが任意のアイデンティティに対して期待されているように実行されるかを知る実際的な方法はない。最終的に、どのユーザも、パイプ・プロセッサーのライセンスまたは電話機の所有権(換言すると、業務用に雇用主から従業員に貸し出された電話機)にかかわらず、電話機上にどのようなパイプ・プロセッサーでもインストールできる。
MRIX−始めようガイド
1.1 MRIX概要
mrixはプラットフォームに寛容なワイヤレス・ネットワーク・オペレーティング・システムである。スマートフォン、パソコン、サーバの各機器上および各機器間の両方について、プラットフォームをまたがる幅広いモバイル・アプリケーションの迅速な開発を可能にするため企画された。コマンドラインで操作するツールの強力なセットであり、スクリプト言語を使用する込み入ったPCアプリケーション上に構築され、それと一体化される。さらに、mrixは、スマートフォン自体の上で実行可能なアプリケーションを書くのに使用できる。
・m-Router:ベアラ接続エージェント。m-RouterはたくさんのPCおよびスマートフォン両方のコンポーネントから構成されている。IrDA、ブルートゥース、USB、シリアル等各種のショートリンク・ベアラを媒体として、スマートフォンとPC間の通信を可能にする。
・リレー:リレーのmrElayD(「D」はデーモン(daemon)を表す)が、GPRS経由でPCからスマートフォンへのリモート・アクセスを可能にする。PCとスマートフォンの両方が、両者間の通信を行うためにそのリレーに接続する。
・アイデンティティ・サーバ:すべてのコマンドは、遠近にかかわらず、「アイデンティティ」(人またはシステム)のために実行される。異なるアイデンティティは、異なる結果をもたらすコマンドを実行するために設定される。
・ブートサーバ:スマートフォンの再起動時に開始されるmrixイベントを処理する。
・コマンド・インタプリタ:コマンド・インタプリタ・モジュールのrshdは、スマートフォン上で実行され、普通は起動時に開始するよう設定される。
・コマンド・シェル:コマンド・シェルmrcmdは、PC上で実行される。このシェルは現在Windows(登録商標)上で実行されるが、すぐにLinuxとMac OS X上でも使用できるようになる。プログラムとスクリプトは、スマートフォン上のmrixコンポーネントと通信しやりとりするPCのために書くことができる。
・ Luaスクリプティングエンジン:Lua(http://www.lua.org)で書かれたスクリプトは、スマートフォン上で実行できる。多くの役に立つスクリプト、例えば、SMTPやFTPクライアントが公開され提供されている。
・パイプ・プロセッサー:個別のスマートフォン・モジュールで、様々なスマートフォン機能の利用機会を提供するため、mrixコマンド環境を通じてアクセス可能である。
mrixの使用には、以下のハードウェアとソフトウェアが必要である。
・IrDAまたはブルートゥースをサポートしているPC
・Microsoft Windows(登録商標) 2000または以降
・m-Router
・mrix
・スマートフォン(ノキア社製 7650、3650、6600、N-Gage、ソニー・エリクソン社製 P800)
1.3 MRIXの使用
1.3.1 m-Router−スマートフォンへの接続
PC上でコマンド・プロンプトを開き、以下をタイプする。
>mrouter -h
このコマンドはm-Routerのヘルプを表示する。コマンドはすべてヘルプ・オプションを持っており、-hまたは長い形式の-helpによって呼び出せる。
>mrouter -c search-devices
このコマンド・オプションは、近所にあるすべてのブルートゥース機器を捜す。
>mrouter -c connect-device -d <ブルートゥース機器名>
例えば、スマートフォンのブルートゥース名がNokia7650なら、コマンドは以下のようになる。
>mrouter -c connect-device -d Nokia7650
システム・トレイの中のm-Routerアイコンのスクリーンが、赤から青に変わるのが見える。
開発目的では、「search-devices」から得られる序数を使うのが最も便利だと気づくかもしれない。様々なアドレス方式を使いスマートフォンに接続できる。「-d」オプションは、<スキーマ>:<ID>の形式をとる。スキーマは、N、IMEI、BTADDR、BTNAME、ANYのどれか1つである。提示されないなら、スキーマはANYであると仮定される。Nは、list-devicesまたはsearch-devicesに対し返される各機器の隣にある記載番号に一致する。IMEIはUID欄と一致する。BTADDRはブルートゥース・アドレスに一致する。BTNAMEは、機器のブルートゥースの愛称に一致する。ANYは上記の全部にマッチする。それゆえ、様々な方法で機器に接続することが可能である。
>mrouter -c connect-device -d8
>mrouter -c connect-device -d IMEI :xxxxxxxxxxx
>mrouter -c connect-device -d BTADDR :xxxxxxxxxx
>mrouter -c connect-device -d SJC xxxxxxxxx
スマートフォンとの接続を切断するために、以下をタイプする
>mrouter -c disconnect-device -d <ブルートゥース機器名>
次のようにタイプしてもよい。
>mrouter -c disconnect-device -d.
ここでピリオドは、現在接続されている機器または現在2以上の機器が接続されているなら最初に接続された機器を表す。
mrcmdはPCサイドのプログラムで、スマートフォン上のパイプ・プロセッサーとスクリプトを実行できるようにする。スマートフォン上でパイプ・プロセッサーとスクリプトを実行する前に、mrix設定に対する必要なセキュリティ・レベルを設定する必要がある。これは、mrcmd環境変数を設定することで行われる。現在、アイデンティティ設定情報は、スマートフォンの\system\mrix\identity.iniファイルに格納されている。CTOアイデンティティが、パスワードGOODでこのファイルの中に設定されている。mrixシステムをいじくるにはこのアイデンティティ使うべきである。これは、DOSコマンド・シェルから以下のようにタイプすることで実施できる。
>set mrcmd=-i CTO -a GOOD
代わりに、これを継続的に設定することを望むときは以下のようにする。
デスクトップ上の「マイコンピュータ」を右クリックし、「プロパティ」を選ぶ。
「詳細設定」タブを選ぶ。
「環境変数」ボタンをクリック。
「システム環境変数」リストの中の「新規」ボタンをクリック。
「変数名」欄に「MRCMD」、「変数値」欄に「-i CTO -a GOOD」と記入。
変更を保存するため、OKを3回クリック。
mrtcp
--accept --local 3011 --run "rshd --run"
mrixアプリケーションは、スマートフォン上でコマンドとスクリプトを実行する単純な方法である。mrixから別のコマンドを呼び出すためには、ただ単に既存のコマンドラインに(それと必要なパラメータを)上書きすればよい。
m-Routerを使いスマートフォンに接続。
スマートフォン上で実行されている全プロセスを見るためには、以下のようにタイプする。
>mrcmd . "mrps -l"
mrcmdは、スマートフォンに(この場合、現在接続されている機器を意味するピリオドにより指定されているが、ブルートゥース名を明示し指定することもできる)-lオプション付きでmrpsパイプ・プロセッサーを実行するように告げている。コマンドがダブル・クォーテーション・マークで囲まれていることに留意のこと。
>mrcmd . "mrps -h"
スマートフォンにファイルを送るには、
>mrcmd."mrfile -w c:\system\default.car" <c:\mrix\bin\default.car
このコマンドは、ファイル(c:\mrix\bin\default.car)をスマートフォンに向け直す。「-w」オプションは、スマートフォンのどこにファイルが書かれるべきかを指定する(c:\system\default.car)。
>mrcmd . "mrfile -d c:\system\default.car"
コマンドラインからmrfileのヘルプを見るには、
>mrcmd . "mrfile -h"
mrcmdを使いluaスクリプトも呼び出せる。コマンドラインからluaスクリプトを実行するためのヘルプを見るには、
>mrcmd . "luarun -h"
test.luaと呼ばれるスクリプト・ファイルを作成し、シェブロン間(シェブロンを含まない)のテキストをコピーし、そのファイルに貼り付ける。
>>>>>>>>>>>>>>>>>>>>
#!luarun
mrix.write("Hello, World!\n")
-- mrpromptパイプ・プロセッサーを実行する
-- mrix.runは他のスクリプトとパイプ・プロセッサーを実行する。mrix.runの書式は決まっている。
-- mrix.run(コマンド, コマンドパラメータ, [オプションの入力])
res = mrix.run("mrprompt", "-t YESNO -p \ "Need help?\"")
mrix.write("Result = "..res.."\n")
>>>>>>>>>>>>>>>>>>>>
luaスクリプトをスマートフォン上で実行するには、2つの方法がある。
* luaスクリプトをスマートフォンにストリーミングする。
* スマートフォン上に存在するluaスクリプトを実行する。
スクリプトをスマートフォンにストリーミングするには、以下のようにタイプする。
>mrcmd . "luarun -" < test.lua
スクリプトは、コマンドラインで「Hello, World!」と表示する。この方法によれば、スクリプトはスマートフォン上に常駐する必要はない。
スマートフォンからスクリプトを実行するために、まずそれにスクリプトを書く。
>mrcmd . "mrfile -w c:\system\mrix\test.lua" < test.lua
スクリプトを実行するためには、以下のようにタイプする。
>mrcmd . "luarun c:\system\mrix\test.lua"
結果は、一番目の方法でスクリプトを実行するのと同じである。
luaは、次の例が示すように対話形式で呼び出すことができる。
>mrcmd . "luarun"
>mrix.write("Hello, World!")
>q
luaについてのヘルプは、以下のリソースhttp://www.lua.orgおよびhttp://lua-users.org/wiki/TutorialDirectoryを調査のこと。mrix文書の中の、luaへのIntuwaveの拡張を精査のこと。
PCとのやりとりに関係なく、スマートフォン上でluaスクリプトを実行するには、2つの方法がある。
>mrcmd . "mrevent-a -n runmyscript -e BOOT-c luascript.lua"
このコマンドは、スマートフォンのスイッチが入れられたときスクリプト(-c luascript.lua)を実行するように、ブートコマンド(-e BOOT)をスマートフォンのブートファイルに加える(-a (add))。イベントは名前(-n runmyscript)を与えられ、それはイベントをブートファイルから取り除くさいにハンドルの役割を果たす。
>mrcmd . "mrevent -d -n runmyscript"
1.3.4 アイデンティティ
mrixスマートフォンのスクリプトとパイプ・プロセッサーはすべて、遠近にかかわらず、アイデンティティの許可のもとで実行される。アイデンティティは、ユーザ名、パスワード、1組の許可から構成されている。許可は、そのアイデンティティのもとでどのスクリプトとパイプ・プロセッサーが実行可能かを決めている。アイデンティティ・ファイルのidentity.iniは、スマートフォン上の\system\mrixディレクトリにある。
>>>>>>>>>>>>>>>>>>>>
#!luarun
-- 現在のアイデンティティ、この場合はゲストを保存
old_id = mrix.getcurrentidentity()
-- ユーザ名CTOを使い新しいアイデンティティ・ハンドルを作成する
new_id = mrix.makenewidentity("CTO","GOOD")
-- この新しく作成されたアイデンティティを使い、次のコマンドを実行する
mrix. setcurrentidentity (new_id)
mrix. write("hello, world!\n")
-- mrpromptパイプ・プロセッサーを実行する
-- mrix.runは他のスクリプトとパイプ・プロセッサーを実行する。mrix.runの書式は決まっている。
-- mrix.run(コマンド, コマンドパラメータ, [オプションの入力])
res = mrix.run("mrprompt","-t YESNO -p \"Need help?\"")
mrix.write("Result =".. res.."\n");
-- 保存されているアイデンティティを復活させる
mrix.setcurrentidentity(old_id)
-- リソースを使える状態にするため新しいアイデンティティを開放する
mrix. releaseidentity(new_id)
>>>>>>>>>>>>>>>>>>>>
付録2
mrix 2.0 カーネル内部
2 概論
mrix v2 カーネルは、それ自体のプロセス/スレッド内でSymbian「サーバ」として動作する。クライアントはMrixClient経由でカーネルを呼ぶ。カーネル自体は、さらに小さなモジュールからできている。パイプ、バンドル、ストリング、リンクのような基本的で原始的なオブジェクトが、MrixKernelObjectsと呼ばれるモジュールの中に収容されている。別のモジュールMrixKernelIdentityが、アイデンティティ/ポリシー・サービスを提供するため、これらのクラスの上に組み立てられる。三番目のモジュールMrixKernelTasksは、dll、exe、scriptにより提供されるタスクを、作成し実行する能力を付加する。最後に、MrixKernelが、前述のモジュールを駆動し調和よく組み合わせる、実際のSymbianサーバとセッション・クラスを実装する。これらのモジュールはすべて、現在のところdllである。小さく実行可能なスタブ(MrixKernelLoader)がこれらdllをロードし、プロセス空間でそれらを実行する。カーネルのはるか将来のバージョンでは、個別のdllが破壊されるのを防ぐために、これらのモジュールすべてを1つの実行ファイルにまとめる必要があるかもしれない。カーネルのセキュリティの多くは、様々なクラスを組み合わせることによりもたらされている。ある程度は、全モジュールが理解されたときにだけ、全体の図式が明らかになるが、各モジュールが個別に果たす役割を理解することは可能なはずである。うまくいけば、このことは、(可能なところではエクスポートされるAPIを同一に保って)他の部分に与える影響がもしあったとしてもごくわずかで、各部分の保守を可能にする。
テキストファイル・ログ収集機能を提供するユーティリティ・クラス「CUtil_Logger」を除いて、クラスの大部分は概念的なMSharedObjectBaseクラスから派生しているかそれに関係している。
MsharedObjectBaseクラスのデフォルトの実装は、Ckern_ObjectBaseが提供する。これは、その中にCManagerと呼ばれる関連するファクトリクラスを持っている。他のクラスは、繰返す実装パターンを提供するためこれらのクラスから派生される。CKern_ObjectBaseは、参照計数方法を提供するが、参照計数が0になっても、オブジェクトは直ぐには削除されない。そうではなくて、マネージャー・クラスのアクティブオブジェクトが、無効なオブジェクトを非同期ですべてゴミ収集する。削除を遅らせることには、いくつかの利点がある。
・参照計数がゼロになるストリングのようなクラスは、実際に削除される前に調べられ、必要なら「救助され」、参照計数が増やされる。
・ある機能の開始時にオブジェクトを指すポインターが有効なら、削除は非同期で行われるので、その機能の実行中に呼び出された別の機能が開放しても、その機能の終了までそのポインターは有効である。これは、mstreamの中でのアクセス違反の原因だった。そのような問題を避けるようプログラムすることは可能である(場所によっては実施されている)が、プログラムが少し複雑に見える。本仕組みは、最初からそのようなことが起こらないようにして問題を回避している。それは、循環依存の問題も単純化する。オブジェクトが開放されるとき、それが参照するオブジェクトを開放する。直ぐに削除される(そうして、プログラムの問題を引起す可能性を作る)より、このオブジェクトが完全に自分を切り離し削除されてから、オブジェクトは削除される。
・カーネルの呼び出しを、より速く実行できる。メモリの解放と圧縮が、クライアントが始めた操作に同期して行われるのではなくて、アイドル時間に処理されるからである。
* オブジェクト作成時におけるクリーンアップスタックの呼び出しを回避する。従来は、ある方法が去れば削除されるのを知っていて、新しいオブジェクトを気前よくクリーンアップスタックに押し込んでいる。遅らせた参照計数仕組みの1側面は、オブジェクトは参照計数ゼロで作られる。何かがオブジェクトの(部分的な)所有権を得なければ、後でゴミ収集される。クリーンアップスタックと不要物除去装置は素晴しいが、計測可能なほどの性能上のオーバーヘッドを招くので、必要とされるところだけで使われる。
CKern_LibraryおよびCKern_Authenticatorのような他のモジュールの中にあるクラス自体は、もっと専門化したクラスを提供するために、サブクラスを派生する。現在のところ、これらサブクラス(ライブラリ・タイプおよびオーセンチケータタイプ)は、カーネルの一部である。外部または第三者のサブクラスを許可するメカニズムをカーネルに加えることは可能だが、明らかにセキュリティに影響を及ぼす(カーネル・メモリ・アドレス空間にロードされた第三者コード)。
クラスにより提供される操作は、本質的に非同期である。概念的なベース・クラスMSharedAsyncRequestが、そのような操作をカプセル化するために使われる。CancelRequestバーチャル法は、そのような要求の取り消しを可能にする。
MSharedObjectBaseから派生するクラスのインスタンスのすべては、カーネルの中のそのオブジェクトを独自に識別する「ハンドル」を持っている。現在このハンドルは実際のところ「この」ポインター(唯一のものなので)だが、セキュリティの理由からカーネルの将来バージョンではおそらく変わるだろうから、このことを当然のことと決めてかかるべきでない。ハンドルがわかると、CManagerがそれに適合するハンドルを持つインスタンスを捜すために使われる。こうして、ハンドルをポインターに投げないで、ポインターをハンドルに投げるだけである。そうは言っても、後述するCKern_Linkオブジェクトは、このハンドル()値を集めることをオブジェクトに委任する。
CManagerから派生しているオブジェクトにより所有されるオブジェクトには、テンプレート化された反復器を使うことにより反復適用される。この反復器は所有されている全オブジェクトに踏み込み、それぞれに対して求められるインタフェースを提供することを試みる。そのインタフェースが提供できないなら、反復器は静かに次のオブジェクトに移動する。ハンドルをポインターに投げることはない。
オブジェクトは、カーネルの異なる部分により共有される。上に述べたようにハンドルを参照することにより、カーネルのクライアントがオブジェクトを共有できる。ハンドルによるオブジェクトの公開と共有は、MrixKernelObjectsの中に実装されているCKern_Linkオブジェクトが提供するフラグ(アクセス権ビット)を使い、MrixKernel.dllにより行われる。
本セクションは、MrixKernelObjectsが提供する原始的なクラスの目的と様相を、簡単に説明する。
パイプはバイナリ・バイトのFIFO(First-In First-Out)である。パイプには両端がある。リーダエンドとライタエンドである。ライタエンドに書き込まれたバイトは、ある程度はパイプの内部に保留される。次にこのバイトは書き込まれたのと同じ順番でパイプの外に読み出される。ライタはパイプを「閉じる」ことができる。このことは、それ以上のデータをそのパイプの中に書き込むことが許されないことを意味する。パイプが空になり、リーダがエラー(EOF)を返すまで、依然としてバイトは閉じられたパイプから読み出される。
データはパイプの中に書き込まれるので、書き込まれるバイトの計算が続けられる。概念的には、これがパイプの長さである。パイプが閉じられているときに、リーダはこの値を取り出すことができ、すでに読み出した量を知っているので、読み出しが必要な量を知ることができる。例えば、長さが既知のファイルを書き込む場合、ライタは前もってこの「パイプ長」を指定できる。そのときは、合計でそのデータ量を超えてパイプに書き込むことは許されない(その「長さ」に達した時点で、パイプは自動的に閉じられる)。パイプの長さが知られる前に、リーダがパイプの長さを要求すると、値-1が戻される。
このパイプ長は、パイプの実装がその中に保留することができるデータの量ではない。パイプが内部に保留することができる量は4kだったが、今は256バイトである。しかし、クライアントはバッファサイズを決めてかかるべきでない。パイプに対するバッファサイズを減らしたことは、パイプ当たりのメモリ(そして実効的にmrixカーネルのメモリ)が以前の量の1/16であることを意味する。バッファサイズが減らされると、小さな塊でデータを転送するためIPC呼がもっと必要になり、遅れを増加する。256バイトは妥当な数字に見える。「十分に速く」かつ「多すぎる量のメモリ」を消費しない。現在パイプに対する循環バッファは、カーネルのかたまりの中から割当てられている。そのようなバッファは小さいが、将来の改善は「チャンク」を使用することだろう。これはSymbianが提供するメモリの割当てであり、mrixカーネルのかたまりの中から割当てるのでなく、グローバル・メモリ・プールから割当てる。
クラスの実装は、循環バッファにデータを書き込んだり読み出したりするためにMSharedAsyncRequestオブジェクトを使う。これがどのように働くにかについては、例で説明するほうがわかりやすい。クライアントがパイプのライタエンドに16kのデータを書く要求をする。パイプの実装はクライアントからのデータで256バイトの循環バッファを満杯にするが、クライアントの要求をまだ完了していない。この時の前後いずれかに、別のクライアントがパイプから8kの読み出しを試みる。パイプは読み出すクライアントのためにできるだけたくさん(この場合は256バイト)書き出す。しかし、クライアントの要求をまだ完了しない。循環バッファを書き込みクライアントが補充することができるか調べるが、この場合はできるので、書き込みクライアントから循環バッファに別の256バイトが読み込まれる。次に読み出しクライアントにこれを書き出す。ライタが転送するデータがなくなるか、読み出しクライアントのバッファが満杯になるかのどちらかになるまで、このループを繰返す。このケースでは、読み出しクライアントのバッファが最初に一杯になり、その時点でその非同期要求は完了する。さらに16kのデータを読むため別の要求を行い、最終的にはライタのデータは使い果たされる。その時点でクライアントの非同期要求は完了する。パイプのコードは、基本的に2つのクライアント(プロセス/スレッド)間でデータを動かす。256バイトの塊ごとにコンテキスト・スイッチを必要としないので、比較的簡単に素早くこれをできる。コンテキト・スイッチは悪いので(つまり、時間がかかり、スピードを落とす)、避けるのがたいていは良い考えだ。読み出しクライアントは、「1つまたはもっと」読むと要求することができる。その場合、できるだけ多くのデータを転送するとき、パイプ・オブジェクトは読み出し非同期要求を完了する(つまり、循環バッファが空になり、リーダに相当な量のデータを転送している場合)。
クライアントは要求を取り消すことができ、その場合は直ぐに処理される。パイプのリーダエンドまたはライタエンドに要求を追加または要求を取去ることは、パイプ転送エンジンの非同期「起動」の引き金となるので、エンジンがたとえ止まっても(それは決して起こらないし、起こるべきでない)、次の要求がされる/取り消されるときに再起動される。
パイプはバイト・ストリームなので、ユニコードのストリングをそのまま転送することはできない。UTF8(この良い特徴は西洋文字はまだ読める)として知られるユニコード・テキストのコード化がある。カーネルはユニコード・データを受入れ、utf8に変換し、それをパイプに書き込むことができる。メモリのオーバーヘッドを抑えるために、これを大量に行う。
大部分のプログラムがストリングを使うが、理由は異なる。時には、ストリングはファイル名またはフィールド名のようにプログラムの一部であり、またある時は、ユーザ・インタフェース・メッセージである。ストリングは時には8ビットで、別の時には16ビットである。16ビット・ストリングの使用は、明らかに8ビット・ストリングの2倍のメモリを使うので、適切に使うべきである。そうは言っても、ストリングは有益なもので、頻繁にカーネルから出し入れされる。多くの場合に、ストリングは激しく再利用される。例えば、「mrStorage」および「--list THING --option SOMETHING」のようなストリングは、繰り返し利用される。カーネルが内部にそのようなストリングの複製を持ち続けたら、メモリが直ぐに足りなくなってしまう。必要なメモリの量を減らすために、カーネルはストリングを共有ストリング・オブジェクトを指すポインターに変換する。CKern_StringのCManagerクラスは、全ストリングを順序づける。ストリングは二分探索法を使い探されるので、カーネルの中に例えば1024のストリングがあれば、マッチするストリングを探すのに運が悪い場合でも10回ストリングの比較をするだけだ。一旦これが行われると、ストリング・オブジェクトはそのオブジェクトを指す32ビットのポインターを比較することにより比べられる(大文字小文字の区別あり)。これは素早く行われる。
ストリングは、ストリング「ハンドル」を指定することにより、クライアントに戻すことができる(そしてたいてい戻される)。クライアントは、次にコンテンツを取って来るか、コンテンツの長さを知りたいなら尋ねることができる。カーネルはユニコードのストリングをUTF8相当に変換するので、クライアントはどちらかのフォーマットでデータを要求することができる。スレッドの境界を越えてストリングを動かすには、IPC要求の中でハンドル通過させる以上に、オーバーヘッドを持つ。従って、クライアントは、ストリングの代わりにストリング・ハンドル通過させることにより、自身を加速することができる。しかし、これをすると、ソース・コードの読みやすさが犠牲になる。
「バンドルは不運な誤解の産物である。機会を与えれば、クリスマスには良くなっているだろう。」
バンドルは、ネーム・バリュー・ペア・リストを提供するために、カーネルの内部で激しく再利用されるデータ構造である。内部では、ストリング・オブジェクト・ペアのリストが維持されている。リストには同じバリューを持つ複数のエントリが可能である。ストリング・キー・バリューに基づき、バリューを追加/置き換え/取り去る方法がある。キーは大文字小文字の区別をする。
各ペアはそれに関連する32ビットのフラグ・ワードを持っている。これは、クライアントへのアクセスを管理するためMrixKernelにより使用される(詳細は後記)。バンドルはクライアント間で共有でき、変更を待ち受けられている。換言すれば、バンドルを「見張る」ために、クライアントは非同期の要求を行うことができる。そのバンドルが変更(バリューが変更される、項目が削除される、取り除かれる)されると、バンドルを見張っている全クライアントに通知される。クライアントは次に監視要求を再提出でき、バンドルにバリューを尋ねることができる。競合条件を避けるために、その順序で行われる。
CKern_Linkオブジェクトは、他のオブジェクトを指すポンターを収容している。32ビットのフラグ・ワードを公開し、指し示すオブジェクトをまとめる。CKern_Linkの実装は、集約されたオブジェクトに委任するため、Handle()とGetExtensionInterface()を上書きする。
各クライアント・セッション(後述)は、そのセッションにより使われる全「リンク」を所有する関係するCKern_Link::CManagerインスタンスを持っている。セッションがオブジェクトにハンドルを手渡すとき、そのセッションが知っているオブジェクト全部に対して有効になる。現実には、このことは、オブジェクトがそのセッションに対するCManagerインスタンスの中にあることを確認する。同時に、タイプとアクセス権(つまり、32ビットのフラグ・ワード)は、クライアントが要求している操作に関して調べられる。セッションが開放されると、そのセッションが所有するリンクのすべても(CManagerオブジェクト経由で)開放される。セッションは1リンクについて複数の参照計数を持つことができるが、これは集約されたオブジェクトについては1つの参照計数と同等である。
4.1 アイデンティティ
概念的には、活動はすべてアイデンティティが行い、(通常他の)アイデンティティが所有するリソース上での行為である。アイデンティティは、人間のことも、遠隔にある自動化されたプロセスのことも、アプリケーションのことも、認証されているスクリプトのこともある。アイデンティティは、それを識別するためにプログラム上で使うことができる独自の名前を持っている。アイデンティティは人間が読める他の名前または記述を持つこともできるが、本質的にはアイデンティティは名前の付いた「行為者」である。アイデンティティが参照されるとき、アイデンティティが本当に主張どおりのアイデンティティかどうかについてはある程度の確実性/不確実性がいつもつきまとう。実生活では、ある人がその主張どおりの人物であるとどのようにして証明できるだろうか。
アイデンティティが別のアイデンティティのリソース上で行動するとき、許可されていることとどのように振舞うべきかに関しポリシーがある。カーネルの中では、リソースを所有するアイデンティティはコンテキスト・アイデンティティと呼ばれる。こうして、CTOのようなアイデンティティはmrFileとの関係で、リソース上で行動できる。クライアントが明示的にそのコンテキストを設定しない限り、共有のグローバル・コンテキストが使用される。
各ライブラリ(以下で説明)はアイデンティティを持っており、現在のところこのアイデンティティはライブラリの名前を元に自動作成される。しかし、将来このアイデンティティは、ライブラリにデジタル署名でサインする結果として入手されるほうがよいだろう。
要求可能な特別な「ストック・オブジェクト」アイデンティティがある。
・ゲスト−ネゴシエーションの済んでいない外部のピアが、デフォルトで使えるアイデンティティ。
・DefaultUserIdentity−ユーザ・インタフェースおよび他の「ローカル」モジュールにより使用されるアイデンティティで、「全面的」許可を持つ。将来は、このアイデンティティが別のアイデンティティのための(変更可能な)エイリアスになる可能性がある。将来は、デフォルト・ユーザ・アイデンティティは、機器に対し完全な管理権限も持たなくなりそうだが、このバージョンでは持っている。このアイデンティティを要求し使用するアプリケーションとコードは、署名するか暗証番号入力により認証する必要がある可能性もある。(これは、明らかにユーザ・インタフェースの考慮事項である)。
・SharedGlobalContext−これは全スクリプトおよび全「mr」ライブラリにより共有されるコンテキストであるが、別のコンテキストを明示的に指定し使用することができる。
アイデンティティ・マネージャーはそれ自体リソースであり、従って実際にアイデンティティ・データへの読み出しまたは書き込み許可を与えるか否かは、このデータを要求する人物のアイデンティティに依存する。つまり、以下の状況が生じる。
・要求するアイデンティティAは、アイデンティティBに関する設定はアイデンティティCのコンテキストの中にある、ということを知りたい。
または、
・要求するアイデンティティAは、アイデンティティCのコンテキストの中にあるアイデンティティBに対する設定を修正したい。
CManagerクラスは機能を公開しているので、それゆえそのような質問を許可する。
クライアントはコンテキスト・アイデンティティ(上記「C」)を設定でき、要求アイデンティティ(上記「A」)を設定できる(はずである)。
アイデンティティ・マネージャーは、現在以下のポリシーを適用する。
・DefaultUserIdentityだけが、ポリシーの変更を要求することを許可されている。
・DefaultUserIdentityは、どのようなタスク/ライブラリを実行することも許可されている。
現在のところ、全「mr」ライブラリが自分のアイデンティティとしてそのコンテキストを設定しているわけではなく、デフォルトのGlobalSharedContextアイデンティティを使用している。この欠点は、例えば「mrFile」に対する設定名は、例えば「mrContracts」の設定とかち合うことができないことである。
将来は(ユーザやライブラリのような)アイデンティティを取り去ることは、そのアイデンティティを含むポリシーも削除するかもしれない(そうでなければ、機器は時間の経過とともに古く使われていないポリシーで一杯になる)。
現在のカーネルでは、ポリシー情報はバンドルとしてメモリに収容されており、開始時にテキストファイルidentity.iniから一度読み込まれる。バイナリファイルにこのデータを保存し取り出すために、取るに足らないほどのコードを加えることは(再構成を考えれば)可能である。将来はそのようなポリシーデータはSymbianデータベースに蓄積される可能性もある。カーネルの未来バージョンでは、このポリシーデータの一部は、SIM(スマートカード)にさえ格納されるかもしれない。
アイデンティティ・オブジェクトは、名前を使用して獲得することができるが、認証プロセスの結果として獲得するのが理想的である。ユーザを認証する実際の仕組みは、アイデンティティそれ自体およびそれがどのように使われるかとは独立している。CKern_Authenticatorクラスおよびそれから派生するクラスは、ピア・アイデンティティとネゴシエーションするため一連のチャレンジとレスポンスに使用できる。
プレーンテキストまたはMDハッシュまたは証明書/署名のチャレンジであれ、認証を実施する方法は、チャレンジとレスポンスがどのように転送されるかには関係ない。場合によっては、チャレンジがないかも知れない。例えば、rshdで使用されるプレーンテキスト認証では、バイト長がゼロのチャレンジがある:)。カーネルの内部にオーセンチケータを持つことは、カーネルの外側では利用できない(つまりパスワードでは利用できない)特権を持つアイデンティティにアクセスできることを意味する。カーネルの将来バージョンでは、オーセンチケータは認証の一部を実行するためにSIM(スマートカード)を使用するかも知れない。
現在のところ、実装されている唯一のオーセンチケータは、プレーンテキスト・ユーザ名・パスワード・オーセンチケータである。
明らかにネゴシエーションは、入ってくることもあり、出てゆくこともあり、対称的なこともある。オーセンチケータを作成するときは、ピアに提示するためのローカル・アイデンティティを指定できる。ネゴシエーション(の成功)後、そのピアを代理するCKern_Identityオブジェクト(信頼水準を含む)はオーセンチケータ・オブジェクトから入手できる。
このモジュールは、タスクの実行を可能にするため、前述のモジュールとクラスの上に組み立てられる。これらのタスクは、ライブラリの内部で実行される(歴史的にパイプ・プロセッサーと呼ばれる)。これらのライブラリは、多様な形態を持つdllから実行可能ファイルやスクリプトまで様々な方法で実装される。図7がそれを示す。
CKern_Taskオブジェクトは、以下の状態の1つ状態を持つ。
・作成されている。
・開始している。
・実行している。
・止まっている(結果のコードを持って)
多数のプロパティを収容しており(バンドルとして内部に実装されている)、その中にはアイデンティティ、入出力パイプ、入出力環境を含んでいる。タスクは少なくとも1つのそれに関係するライブラリとコマンドラインのペアも持っている。スクリプトの場合には、2つ以上のペアがあってもよい。例えば、あるタスクは「myScript.lua」と「−run thing」のペアを持っているかもしれないが、「lua5.exe」と「myScript.lua−run thing」のペアも持っている。(実際のところ、ライブラリはCKern_Libraryインスタンスへのポインターであり、タスクは、ライブラリの内部で実行しているがそのライブラリのアイデンティティと、タスクを実行しているアイデンティティにアクセスできる。)
クライアントはタスクを作成し、その時点で様々なシステム・リソースが割当てられる。次に、タスクが開始される。内部では、これによりタスク・オブジェクトは開始可能と実際に印をつける。ある時点で、ライブラリはこのタスクの要求を満たし、終了コードを付けてタスクを停止/完了する。タスクを作成したクライアントは、タスクが開始や終了するのを非同期的に待ってもよい。
タスクを実行するとき、実行するために渡されるアイデンティティは、以下の1つでなければならない。
・ストック・アイデンティティ
・それ自身のためにライブラリの内部から回収されたアイデンティティ
・認証されているアイデンティティ
換言すると、CTOアイデンティティと単に主張することはできず、タスクを実行するときはそれを証明しなければならない。(既知のパスワードを使ってでも)
5.2 ライブラリ
ライブラリはタスクの列を持っている(CKern_Task::CManagerとして実装されている)。由来するクラスの実装しだいで、ライブラリはそのタスクを処理する進行中あるいは停止中のコードを実行する。
多様な形態を持つdllの場合には、これにはワーカ・スレッドの中にそのdllをロードすることを含む。多態なdllはカーネルにタスクを要求する。カーネルはワーカ・スレッドとそれを作成したライブラリを関係付け、要求があれば実行するためにそれをタスクに渡す。スレッドが不意に死ねば、その中で実行されているどのタスクも「停止」と印を付けられる。タスクが開始される前にスレッドが死ねば、実行されていないタスクは停止と印を付けられる。このことは、粗悪なライブラリがしばしば死ねば、その作成者と次に続くタスクは停止と印される(タスクの結果コードはスレッドの終了コードに設定される)。もしこれをしなかったら、常にライブラリをロードしようとして失敗する固定したループで(以前のバージョンのカーネルで起こったように)カーネルが立ち往生してしまう可能性がある。
実行可能ファイルの場合は、現在のところ派生するライブラリ・クラスが各実行タスクに対してアクティブオブジェクトを作る。そのアクティブオブジェクトは、その実行可能ファイルのインスタンスを開始する。実行可能ファイルはその「タスク」に関してカーネルに要求し、カーネルはクライアントのスレッド/プロセスを正しいライブラリ・オブジェクトおよびアクティブオブジェクトと組み合わせる。実行可能ファイルがタスクを完了/停止の設定をすることなく終了すると、アクティブオブジェクトがこの事実を検知し、その実行可能ファイルの終了コードを使いタスクは完了していると設定する。
スクリプトは、内部でその実行を別のライブラリに委任するライブラリにより処理される。その別のライブラリは同様にまた委任でき、あるライブラリがそれを処理するかエラーが発生するまで、委任を繰返せる。
最終的に、カーネル内部で実行される未使用のライブラリ・クラスが残る。それは、コマンドMrixKernelCmdの中にプログラムされた/組み立てられたハードを提供する。そのコマンドは、アイデンティティと許可を管理するために使われる。外部コマンドとして書かれることもあり得たが、そのときはこのライブラリにより使われる内部インタフェースを公開する必要があったろう。MrixKernelCmdは現在のところ未完了/テスト未実施であるが、ユーザが安全な方法で許可とポリシーを管理することができる時点で完成するのは簡単なはずだ。ライブラリはすべてクライアントと同じく振舞うように見える。
各ライブラリは関係するアイデンティティを持ち、現在そのアイデンティティはライブラリ名を元に自動作成される。しかし将来は、このアイデンティティは証明書を付けてライブラリ・バイナリにサインする結果として供給されるかもしれない。
各ライブラリは、それに関係する「情報」バンドルも持つ。現在はこのバンドルは空であるが、将来は自動作成されるデータを持つかもしれない。あるいは将来このバンドルが、ライブラリにメタデータ・ファイル供給することで、しっかりと中身を持つかもしれない。そのようなライブラリ・データは将来以下のものを含むかもしれない。
・著作権
・バージョン
・リソース・ストリング
・ライセンス情報
・ライブラリ実行のための著者/証拠
・アップデートするためのURL
6 MrixKernel.dll
これは、カーネルを作成するためにすべてをまとめるモジュールである。図8に示す。モジュールがロードするとき、CServer由来のクラスを作成する。次にクライアントは、CSession由来のクラスを要求できる。
Symbian IPCの変更のため、IPCの中にあったAPIの各種の仕組みが分離されていることに留意のこと。例えば、メッセージの二番目の主張を得るために、ファンクションInt32(aMessage,2)等を使用できる。これは、コードの条件付編集をモジュールのシングル部分に移す。
CMrixKernelServerはいくつかのマネージャーを作成し所有する。
CKern_String: CManager−これはカーネル内部で共有されるすべてのストリングの「辞書」である。
CKern_Bundle::CManagerとCKern_Pipe::CManagerは、クライアントがバンドルやパイプを作成してもらう必要があるとき、ファクトリとして使用される。
CKern_Identity::CManagerは、アイデンティティ・オブジェクトのファクトリの役を務め、またそれらのアイデンティティのポリシーを尋ねられるオブジェクトとしての機能も果たす。
CKern_Authenticator::CManagerは、要求されるタイプのオーセンチケータ・オブジェクトを作成する。マネージャーは、パスワード情報にアクセスしアイデンティティを取得および「返却」できるように、アイデンティティ・マネージャーへの照会で初期化される。
CKern_Library::CManagerは、ライブラリに由来するクラスを見つける/ロードする/アンロードする責任がある。
サーバの組み立て時に、これらのマネージャーはいくつかのストック・オブジェクト(つまり、ゲスト・アイデンティティ、空パイプ等)を作成するために使われる。
各クライアントは、少なくともセッションに由来するクラスを1つは作る。CMrixKernelSessionクラスはクライアントからの要求を処理する。各セッション・オブジェクトはCKern_Link::CManagerクラスのインスタンスを所有する。オブジェクトが作成され、参照ハンドルがクライアントに戻されるとき、そのリンクの使用許可を含むリンク・オブジェクトが付加(または再用)される。クライアントが要求しハンドル・バリューを渡すとき、セッション・マネージャーはそのハンドルを有効化するためリンク・マネージャーを使う。要求された操作に対して、リンクが正しいフラグ(ビット)セットを持っているかも調べる。要求が非同期であれば、その要求を処理するため(由来する)インスタンスを作成する。例を以下に挙げる。
EOpWritePipeの場合:
{
iLinks- > LogLine8 (NULL,"WtitePipe");
CKern_Pipe::CWriter.
CKern_Link *link=
GetObjectL(aMessage,0,CKern_Pipe::CWriter::ETypeUid,(TAny**)&pWriter,mrix::K CanWrite);
CMrixKernelAsyncRequest
*req=NewRequestLC(EOpWritePipe,aMessage,3,Lehgth(aMessage,3));
req- > AddLinkL(link);
pWriter-> QueueWriteL(req,Length(aMessage,3),Int32(aMessage,l));
CleanupStack::PopAndDestroy();//req now owned by writer
break;
}
このコードの断片は、
・機能が呼び出されているログ。
・メッセージの第0番目のパラメータで渡されるハンドルにマッチするオブジェクトを得る。CKern_pipe::CWriterタイプであることを調べる。このセッションが所有するそのオブジェクトのためのリンクがmrix::KCanWriteフラグを含むことを調べる。条件の一部でも満足されないなら、その方法はKErrAccessDeniedを残しておく。
・メッセージの第3番目の主張で指定されるクライアント・バッファを使用する要求オブジェクトを作成する。
・リンクとその要求を関係付け、そして次に
・非同期で完了するライタ・オブジェクトに関する方法を呼び出す。
・ライタは参照計数を獲得しその要求を現在「所有」しているので、クリーンアップスタック上でこのコードが持っている参照を処分する。
前述のように、各セッションは(リンク・オブジェクト経由で)既知のオブジェクトのリストを維持し、これらのオブジェクトに対する許可フラグを持っている。オブジェクトを作成する以外に、オブジェクトが別のクライアントと明示的に共有されているなら、クライアントはオブジェクトへのハンドルも獲得できる。例えば、クライアントAがパイプへのハンドルを持っていれば、クライアントAが明示的にそのセッションIDを指定しそのバリューをクライアントBと共有するまで、クライアントBはそのハンドル・バリューを使用することはできない。(各クライアント・セッションは唯一のIDを持っている)。また、オブジェクトをタスクまたはバンドルに渡すことは、タスク・ハンドルが別のクライアントに(タスク実行の一部として)転送されるなら、そのタスクに収容されているオブジェクトに対する権利もまた転送される。
mrikカーネルは強力なデバッグ用のログ収集機能を含んでいる。多分強力過ぎるので、デフォルトではデバッグ・カーネルの中にだけログが蓄積される。c:\logs\mrixKernelと呼ばれるディレクトリを作成することにより、カーネルはメモリに持っているバイナリ・パイプ・データやその他危険のないデータを始めとするオブジェクトのすべてを周期的にダンプする。言い換えると、エミュレータ上のIntuwaveの内部でデバッグするのは今のところ良いが、カーネル・セキュリティの防御を打ち負かすので、決してそのコードを大きく広い世界に出してはならない。さらにデバッグにおいて、ベース・クラスの結果としてコンポーネント・ログを作る。例えば、mrFileのために、c:\logs\mrFileと呼ばれるディレクトリを作成すると、各クライアントのインスタンスは行われたすべての呼び、結果、転送された全データをログする。以下は1例である。
カーネルのクライアント・インタフェースを公開するこのクラスは、mrixのユーザを対象とする別の文書に一番適切に記述されている。そのクラスはカーネルに接続しようと試みる。必要なら、(機器上のMrixKernelLoader.exeを使い)それを開始し、そうして、ユーザが様々なmrix機能にアクセスするのに使用可能な各種の機能を提供する。
Claims (39)
- 携帯電話機上の特定のリソースへのアクセスを制御する方法であって、
(a) 前記リソースを使える可能性を持つ幾つかのエンティティの1つに適用できる識別名であるアイデンティティと、前記リソースを実際に使用可能な許可状態とするか否かを決定し、前記アイデンティティと前記許可状態とを関係付けるステップと、
(b) 前記リソースの使用を許可する許可状態に関係付けられたアイデンティティを持つ1つまたは複数のエンティティだけに、前記リソースの使用を許可するステップと、
を備えることを特徴とする方法。 - (a) 与えられたエンティティに関係付けられている、アイデンティティを持っているか、あるいは、アイデンティティを推定できる確実な署名を含んでいるスクリプト、または他の種類の実行可能なコードが特定のリソースの使用要求を送信するステップと、
(b) 前記携帯電話機上で実行されるソフトウェア・コンポーネントが、前記要求を処理し、前記スクリプトまたは実行可能なコードのアイデンティティに関係付けられている適用可能な許可状態を決定するためそのアイデンティティを使用するステップと、
を更に備えることを特徴とする請求項1に記載の方法。 - 前記許可状態が許可のタイプと値とを含むことを特徴とする請求項1または2に記載の方法。
- 与えられたアイデンティティに関係付けられている許可状態は更新または変更可能であることを特徴とする請求項1乃至3のいずれかに記載の方法。
- 許可状態の更新または変更が、前記携帯電話機から遠くにあるコンピュータから送信される命令により行われることを特徴とする請求項4に記載の方法。
- 前記リソースの使用には、アクセス、配備、変更、削除の1つまたは複数のものが含まれることを特徴とする請求項1乃至5のいずれかに記載の方法。
- 前記エンティティに関係付けられているスクリプトまたは他の種類の実行可能コードが、前記エンティティのアイデンティティとは別個または独立に追加されるアイデンティティを持ち、前記追加されるアイデンティティは前記スクリプトまたは前記コードを識別することを特徴とする請求項2に記載の方法。
- 前記アイデンティティが前記リソースの使用を許可されているかどうかにかかわりなく、前記スクリプト自体が前記リソースの使用を許可されるかどうかの決定を可能にするため、前記追加されるアイデンティティに関係する許可状態が利用されることを特徴とする請求項7に記載の方法。
- 前記スクリプトまたは前記コードは前記アイデンティティを変更することが可能であることを特徴とする請求項2に記載の方法。
- 前記変更が遠隔のコンピュータから前記電話機に送信される命令の結果であることを特徴とする請求項9に記載の方法。
- 前記スクリプトまたは前記コードが所定の信頼水準で認証される場合だけ、前記アイデンティティはより高いまたはより広い許可状態に関係付けられているアイデンティティに変更されることを特徴とする請求項9または10に記載の方法。
- 前記方法は、オペレーティング・システムの一部でないコンポーネントにより前記携帯電話機に配備され、前記オペレーティング・システムを格納する前記電話機のメインROMに焼き付ける必要なしに前記電話機にインストール可能であることを特徴とする請求項2に記載の方法。
- 前記コンポーネントは前記携帯電話機の安全なSIMの中で動作することを特徴とする請求項12に記載の方法。
- 前記許可状態および異なるアイデンティティとの関係が前記SIMに保存され、前記コンポーネントは前記SIMの外で動作することを特徴とする請求項12に記載の方法。
- 前記コンピュータから遠隔のコンピュータにより命令を送信することで、異なるアイデンティティに関係する許可状態を遠隔から管理するステップを更に備えることを特徴とする請求項14に記載の方法。
- 前記コンポーネントが、異なるアイデンティティに関係する許可状態の一覧を、メモリに格納する、またはメモリから読み出すことを特徴とする請求項2に記載の方法。
- アイデンティティが、デジタル署名を使用する認証プロセスによりアクセスコードを捜すスクリプトのために決められることを特徴とする請求項2に記載の方法。
- 前記認証プロセスがトークンとして転送可能なアイデンティティ・ハンドルを生成することを特徴とする請求項17に記載の方法。
- 前記アイデンティティ・ハンドルが前記認証に基づき関連する信頼水準を有することを特徴とする請求項18に記載の方法。
- 前記エンティティが個別のエンドユーザであることを特徴とする請求項1に記載の方法。
- 前記エンティティがネットワーク・オペレータであることを特徴とする請求項1に記載の方法。
- 前記エンティティが携帯電話機製造業者であることを特徴とする請求項1に記載の方法。
- 前記エンティティがアプリケーション開発者またはベンダであることを特徴とする請求項1に記載の方法。
- 前記エンティティが雇用主であることを特徴とする請求項1に記載の方法。
- 前記エンティティが操作であることを特徴とする請求項1に記載の方法。
- 開始コードが実行され、前記開始コードが特定のアイデンティティを持ち、前記アイデンティティに対する許可が開始時にできることとできないことを決定するため、前記操作が前記電話機を起動することを特徴とする請求項25に記載の方法。
- 前記エンティティが開始タイマーの操作であることを特徴とする請求項1に記載の方法。
- 前記エンティティがエンティティの種類またはタイプであることを特徴とする請求項1乃至27のいずれかに記載の方法。
- 少なくとも2つのエンティティが、互いに階層的に配列されている許可状態に関係しているアイデンティティを持たないことを特徴とする請求項1乃至28のいずれかに記載の方法。
- 前記エンティティが、互いに階層的に配列されている許可状態に関係しているアイデンティティを持たないことを特徴とする請求項1乃至29のいずれに記載の方法。
- 前記エンティティが前記電話機上の全リソースを使用する権利を自動的に持たないことを特徴とする請求項1乃至30のいずれかに記載の方法。
- 前記リソースが特定のデータであることを特徴とする請求項1乃至31のいずれかに記載の方法。
- 前記許可状態は、前記データの読み出し、修正、削除が可能かどうかを決定することを特徴とする請求項32に記載の方法。
- 前記リソースは特定の実行可能なアプリケーションであり、前記許可状態は前記アプリケーションが実行または更新可能か否かを決定することを特徴とする請求項1乃至33のいずれかに記載の方法。
- 前記リソースが前記電話機上のハードウェア・リソースであることを特徴とする請求項1乃至34のいずれかに記載の方法。
- 前記リソースが前記電話機上のネットワークまたは通信リソースであることを特徴とする請求項1乃至35のいずれかに記載の方法。
- アイデンティティと許可状態を関係付けるステップは、前記電話機のメモリに格納される関係を記録することを特徴とする請求項1乃至36にいずれかに記載の方法。
- 前記リソースの使用を許可するステップは、前記電話機のデータを処理するCPUで実行されることを特徴とする請求項1乃至37のいずれかに記載の方法。
- 特定のリソースを持つ携帯電話機であって、前記リソースへのアクセスが請求項1乃至38のいずれかに記載の方法を用いることにより制御されることを特徴とする携帯電話機。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0325883A GB0325883D0 (en) | 2003-11-06 | 2003-11-06 | Secure multi-user access to phones |
| GB0329520A GB0329520D0 (en) | 2003-11-06 | 2003-12-19 | A method and framework of rapid software application development on wireless mobile devices |
| PCT/GB2004/004701 WO2005046272A1 (en) | 2003-11-06 | 2004-11-08 | Secure multi-entity access to resources on mobile telephones |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007513402A true JP2007513402A (ja) | 2007-05-24 |
Family
ID=33542693
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006537443A Withdrawn JP2007513402A (ja) | 2003-11-06 | 2004-11-08 | 携帯電話機上のリソースへのセキュア・マルチエンティティ・アクセス |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20070254631A1 (ja) |
| EP (1) | EP1688006A1 (ja) |
| JP (1) | JP2007513402A (ja) |
| GB (1) | GB2408121B (ja) |
| WO (1) | WO2005046272A1 (ja) |
Families Citing this family (129)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1466261B1 (en) | 2002-01-08 | 2018-03-07 | Seven Networks, LLC | Connection architecture for a mobile network |
| US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
| US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
| US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
| US7734284B2 (en) | 2004-04-30 | 2010-06-08 | Research In Motion Limited | System and method for handling data transfers |
| US7441271B2 (en) | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
| US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
| FI117152B (fi) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | Sähköpostiasetusten käyttöönotto matkaviestimelle |
| US7877703B1 (en) | 2005-03-14 | 2011-01-25 | Seven Networks, Inc. | Intelligent rendering of information in a limited display environment |
| US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
| WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
| US7614082B2 (en) | 2005-06-29 | 2009-11-03 | Research In Motion Limited | System and method for privilege management and revocation |
| US8321837B2 (en) * | 2006-01-23 | 2012-11-27 | Microsoft Corporation | Techniques for minimum permissions detection and verification |
| US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
| WO2008012738A2 (en) * | 2006-07-25 | 2008-01-31 | Nxp B.V. | Mobile device comprising an operating system emulator |
| US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
| US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
| US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
| US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
| US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
| US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
| US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
| GB2457305A (en) * | 2008-02-11 | 2009-08-12 | Symbian Software Ltd | Controlling access to system resources using script and application identifiers |
| US10875182B2 (en) | 2008-03-20 | 2020-12-29 | Teladoc Health, Inc. | Remote presence system mounted to operating room hardware |
| US8799984B2 (en) * | 2008-05-27 | 2014-08-05 | Open Invention Network, Llc | User agent to exercise privacy control management in a user-centric identity management system |
| US8943560B2 (en) * | 2008-05-28 | 2015-01-27 | Microsoft Corporation | Techniques to provision and manage a digital telephone to authenticate with a network |
| US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
| US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
| US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
| US10536990B1 (en) * | 2009-02-03 | 2020-01-14 | Dominic M. Kotab | Telephone base station for combining mobile and terrestrial telephone service |
| US8384755B2 (en) | 2009-08-26 | 2013-02-26 | Intouch Technologies, Inc. | Portable remote presence robot |
| KR101267227B1 (ko) * | 2009-12-02 | 2013-05-23 | 한국전자통신연구원 | 게임 패킷 데이터 가시화 장치 및 그 방법 |
| FR2954656B1 (fr) | 2009-12-23 | 2016-01-08 | Oberthur Technologies | Dispositif electronique portable et procede associe de mise a disposition d'informations |
| US9544143B2 (en) | 2010-03-03 | 2017-01-10 | Duo Security, Inc. | System and method of notifying mobile devices to complete transactions |
| US9532222B2 (en) | 2010-03-03 | 2016-12-27 | Duo Security, Inc. | System and method of notifying mobile devices to complete transactions after additional agent verification |
| US8670017B2 (en) | 2010-03-04 | 2014-03-11 | Intouch Technologies, Inc. | Remote presence system including a cart that supports a robot face and an overhead camera |
| US9131356B2 (en) * | 2010-04-22 | 2015-09-08 | Zipit Wireless, Inc. | System and method for administration and operation of one or more mobile electronic communications devices |
| WO2012018477A2 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
| GB2500333B (en) | 2010-07-26 | 2014-10-08 | Seven Networks Inc | Mobile application traffic optimization |
| US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
| EP3407673B1 (en) | 2010-07-26 | 2019-11-20 | Seven Networks, LLC | Mobile network traffic coordination across multiple applications |
| US8326985B2 (en) | 2010-11-01 | 2012-12-04 | Seven Networks, Inc. | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
| CN103620576B (zh) | 2010-11-01 | 2016-11-09 | 七网络公司 | 适用于移动应用程序行为和网络条件的缓存 |
| US8166164B1 (en) | 2010-11-01 | 2012-04-24 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor |
| US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
| US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
| WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
| EP2596658B1 (en) | 2010-11-22 | 2018-05-09 | Seven Networks, LLC | Aligning data transfer to optimize connections established for transmission over a wireless network |
| WO2012071384A2 (en) | 2010-11-22 | 2012-05-31 | Michael Luna | Optimization of resource polling intervals to satisfy mobile device requests |
| US9325662B2 (en) | 2011-01-07 | 2016-04-26 | Seven Networks, Llc | System and method for reduction of mobile network traffic used for domain name system (DNS) queries |
| EP2700020A4 (en) | 2011-04-19 | 2015-01-07 | Seven Networks Inc | SHARING DEVICE RESOURCES FOR NETWORK RESOURCE CONSERVATION |
| EP2702500B1 (en) | 2011-04-27 | 2017-07-19 | Seven Networks, LLC | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
| US20120278431A1 (en) | 2011-04-27 | 2012-11-01 | Michael Luna | Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources and methods therefor |
| WO2013015994A1 (en) | 2011-07-27 | 2013-01-31 | Seven Networks, Inc. | Monitoring mobile application activities for malicious traffic on a mobile device |
| US9467463B2 (en) | 2011-09-02 | 2016-10-11 | Duo Security, Inc. | System and method for assessing vulnerability of a mobile device |
| US9565156B2 (en) * | 2011-09-19 | 2017-02-07 | Microsoft Technology Licensing, Llc | Remote access to a mobile communication device over a wireless local area network (WLAN) |
| US9161226B2 (en) | 2011-10-17 | 2015-10-13 | Blackberry Limited | Associating services to perimeters |
| US9497220B2 (en) * | 2011-10-17 | 2016-11-15 | Blackberry Limited | Dynamically generating perimeters |
| US8836751B2 (en) * | 2011-11-08 | 2014-09-16 | Intouch Technologies, Inc. | Tele-presence system with a user interface that displays different communication links |
| US9613219B2 (en) | 2011-11-10 | 2017-04-04 | Blackberry Limited | Managing cross perimeter access |
| US8799227B2 (en) | 2011-11-11 | 2014-08-05 | Blackberry Limited | Presenting metadata from multiple perimeters |
| US8918503B2 (en) | 2011-12-06 | 2014-12-23 | Seven Networks, Inc. | Optimization of mobile traffic directed to private networks and operator configurability thereof |
| EP2789138B1 (en) | 2011-12-06 | 2016-09-14 | Seven Networks, LLC | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
| WO2013086447A1 (en) | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
| WO2013086455A1 (en) | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation |
| US9021021B2 (en) | 2011-12-14 | 2015-04-28 | Seven Networks, Inc. | Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system |
| WO2013090834A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
| WO2013090821A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
| WO2013103988A1 (en) | 2012-01-05 | 2013-07-11 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
| US9203864B2 (en) | 2012-02-02 | 2015-12-01 | Seven Networks, Llc | Dynamic categorization of applications for network access in a mobile network |
| WO2013116852A1 (en) | 2012-02-03 | 2013-08-08 | Seven Networks, Inc. | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
| US9256717B2 (en) * | 2012-03-02 | 2016-02-09 | Verizon Patent And Licensing Inc. | Managed mobile media platform systems and methods |
| US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
| GB2512950B (en) | 2012-04-10 | 2015-07-15 | Seven Networks Inc | Intelligent customer service/call center services enhanched using real-time and historical mobile application and traffic-related statistics collected by |
| US9148429B2 (en) * | 2012-04-23 | 2015-09-29 | Google Inc. | Controlling access by web applications to resources on servers |
| US9262420B1 (en) | 2012-04-23 | 2016-02-16 | Google Inc. | Third-party indexable text |
| US9195840B2 (en) | 2012-04-23 | 2015-11-24 | Google Inc. | Application-specific file type generation and use |
| US8751493B2 (en) | 2012-04-23 | 2014-06-10 | Google Inc. | Associating a file type with an application in a network storage service |
| CN103455478A (zh) * | 2012-05-21 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 加速网页访问的方法和装置 |
| US9369466B2 (en) | 2012-06-21 | 2016-06-14 | Blackberry Limited | Managing use of network resources |
| US9317709B2 (en) | 2012-06-26 | 2016-04-19 | Google Inc. | System and method for detecting and integrating with native applications enabled for web-based storage |
| WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
| US10178642B1 (en) * | 2012-08-28 | 2019-01-08 | Tionesta, Llc | System and method for providing alternate wireless and network service in a bandwidth constrained environment |
| US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
| US8656016B1 (en) | 2012-10-24 | 2014-02-18 | Blackberry Limited | Managing application execution and data access on a device |
| US9075955B2 (en) | 2012-10-24 | 2015-07-07 | Blackberry Limited | Managing permission settings applied to applications |
| US9529785B2 (en) | 2012-11-27 | 2016-12-27 | Google Inc. | Detecting relationships between edits and acting on a subset of edits |
| US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
| US9271238B2 (en) | 2013-01-23 | 2016-02-23 | Seven Networks, Llc | Application or context aware fast dormancy |
| US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
| US9418213B1 (en) * | 2013-02-06 | 2016-08-16 | Amazon Technologies, Inc. | Delegated permissions in a distributed electronic environment |
| US9466051B1 (en) | 2013-02-06 | 2016-10-11 | Amazon Technologies, Inc. | Funding access in a distributed electronic environment |
| US9326185B2 (en) | 2013-03-11 | 2016-04-26 | Seven Networks, Llc | Mobile network congestion recognition for optimization of mobile traffic |
| US9430578B2 (en) | 2013-03-15 | 2016-08-30 | Google Inc. | System and method for anchoring third party metadata in a document |
| US9727577B2 (en) | 2013-03-28 | 2017-08-08 | Google Inc. | System and method to store third-party metadata in a cloud storage system |
| US9275221B2 (en) * | 2013-05-01 | 2016-03-01 | Globalfoundries Inc. | Context-aware permission control of hybrid mobile applications |
| US9832728B2 (en) * | 2013-05-10 | 2017-11-28 | Elwha Llc | Dynamic point to point mobile network including origination user interface aspects system and method |
| US9461870B2 (en) | 2013-05-14 | 2016-10-04 | Google Inc. | Systems and methods for providing third-party application specific storage in a cloud-based storage system |
| US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
| US9971752B2 (en) | 2013-08-19 | 2018-05-15 | Google Llc | Systems and methods for resolving privileged edits within suggested edits |
| US9271149B2 (en) * | 2013-10-18 | 2016-02-23 | Verizon Patent And Licensing Inc. | Managing hidden security features in user equipment |
| US9348803B2 (en) | 2013-10-22 | 2016-05-24 | Google Inc. | Systems and methods for providing just-in-time preview of suggestion resolutions |
| US9762590B2 (en) * | 2014-04-17 | 2017-09-12 | Duo Security, Inc. | System and method for an integrity focused authentication service |
| KR20160101826A (ko) * | 2015-02-17 | 2016-08-26 | 삼성전자주식회사 | 멀티 유저 기반의 전자 장치 |
| US9930060B2 (en) | 2015-06-01 | 2018-03-27 | Duo Security, Inc. | Method for enforcing endpoint health standards |
| US12301570B2 (en) * | 2015-06-02 | 2025-05-13 | JumpCloud, Inc. | Integrated hosted directory |
| US10397208B2 (en) * | 2015-12-11 | 2019-08-27 | Paypal, Inc. | Authentication via item recognition |
| US10237740B2 (en) | 2016-10-27 | 2019-03-19 | International Business Machines Corporation | Smart management of mobile applications based on visual recognition |
| US9768893B1 (en) * | 2016-11-16 | 2017-09-19 | Spirent Communications, Inc. | Over-the-air isolation testing |
| US10412113B2 (en) | 2017-12-08 | 2019-09-10 | Duo Security, Inc. | Systems and methods for intelligently configuring computer security |
| US11658962B2 (en) | 2018-12-07 | 2023-05-23 | Cisco Technology, Inc. | Systems and methods of push-based verification of a transaction |
| US12050937B2 (en) | 2021-09-21 | 2024-07-30 | International Business Machines Corporation | Preventing resource exploitation in mobile devices |
| US12039044B2 (en) | 2022-06-10 | 2024-07-16 | Bank Of America Corporation | Data security in a metaverse environment |
| US12273362B2 (en) | 2022-06-10 | 2025-04-08 | Bank Of America Corporation | Securing data in a metaverse environment using simulated data interactions |
| US12223066B2 (en) | 2022-06-29 | 2025-02-11 | Bank Of America Corporation | Data security in virtual-world systems |
| US12361103B2 (en) | 2022-06-29 | 2025-07-15 | Bank Of America Corporation | Interoperability of real-world and metaverse systems |
| US12231462B2 (en) | 2022-07-14 | 2025-02-18 | Bank Of America Corporation | Managing digital assets in virtual environments |
| US12126606B2 (en) | 2022-07-18 | 2024-10-22 | Bank Of America Corporation | Authenticating a virtual entity in a virtual environment |
| US12445422B2 (en) | 2022-07-19 | 2025-10-14 | Bank Of America Corporation | Managing virtual data objects in virtual environments |
| US12547684B2 (en) | 2022-10-26 | 2026-02-10 | Bank Of America Corporation | Integrating real-world and virtual-world systems |
| US12413430B2 (en) | 2022-11-22 | 2025-09-09 | Bank Of America Corporation | Performing data interactions in a virtual environment |
| US12411918B2 (en) | 2022-11-22 | 2025-09-09 | Bank Of America Corporation | Performing secure data interactions in a virtual environment |
| CN116074249B (zh) * | 2023-01-30 | 2024-07-12 | 北京达佳互联信息技术有限公司 | 多级页面启动方法、装置、电子设备及存储介质 |
| US12072794B1 (en) | 2023-02-15 | 2024-08-27 | Bank Of America Corporation | Testing a metaverse application for rendering errors across multiple devices |
| US12499032B2 (en) | 2023-02-15 | 2025-12-16 | Bank Of America Corporation | Identifying and resolving rendering errors associated with a metaverse environment across devices |
| US12487907B2 (en) | 2023-02-15 | 2025-12-02 | Bank Of America Corporation | Detecting and resolving video and audio errors in a metaverse application |
| US12399964B2 (en) | 2023-03-14 | 2025-08-26 | Bank Of America Corporation | System and method for generating a virtual experience in a virtual environment |
| US12463972B2 (en) | 2023-04-17 | 2025-11-04 | Bank Of America Corporation | System and method to identify and reverse tampering of virtual images |
| US12468472B2 (en) * | 2024-01-25 | 2025-11-11 | Dell Products L.P. | End-of-life data page processing |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0756856A (ja) * | 1993-08-13 | 1995-03-03 | Toshiba Corp | コンピュータシステム |
| JP2000510977A (ja) * | 1996-05-17 | 2000-08-22 | ジャンプリュ エス.セ.ア. | 各ユーザーカードによる複数のアプリケーションの機密保持された独立管理を可能にする通信システム、対応するユーザーカード及び管理方法 |
| JP2002505476A (ja) * | 1998-02-26 | 2002-02-19 | サンマイクロシステムズ インコーポレーテッド | スタックをベースとしたアクセス制御 |
| JP2003500923A (ja) * | 1999-05-21 | 2003-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | セキュア通信をイニシャライズし、装置を排他的にペアリングする方法、コンピュータ・プログラムおよび装置 |
| JP2003501759A (ja) * | 1999-06-03 | 2003-01-14 | ジェムプリュス | 端末の追加のチップカード内に保存されたプログラムの事前検査方法 |
| US20030041154A1 (en) * | 2001-08-24 | 2003-02-27 | Tran Trung M. | System and method for controlling UNIX group access using LDAP |
| JP2003223235A (ja) * | 2001-11-26 | 2003-08-08 | Matsushita Electric Ind Co Ltd | アプリケーション認証システム |
| WO2003071401A2 (en) * | 2002-02-22 | 2003-08-28 | Axalto Sa | Controlling an application provided on a portable object |
| JP2003280990A (ja) * | 2002-03-22 | 2003-10-03 | Ricoh Co Ltd | 文書処理装置及び文書を管理するためのコンピュータプログラム |
| WO2003085532A1 (en) * | 2002-04-02 | 2003-10-16 | Corporation For National Research Initiatives | Authenticating and using digital objects |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5544246A (en) * | 1993-09-17 | 1996-08-06 | At&T Corp. | Smartcard adapted for a plurality of service providers and for remote installation of same |
| FI114434B (fi) * | 1999-05-11 | 2004-10-15 | Nokia Corp | Viestintälaitteet |
| US6980660B1 (en) * | 1999-05-21 | 2005-12-27 | International Business Machines Corporation | Method and apparatus for efficiently initializing mobile wireless devices |
| US7305701B2 (en) * | 2001-04-30 | 2007-12-04 | Microsoft Corporation | Methods and arrangements for controlling access to resources based on authentication method |
| JP2003317070A (ja) * | 2002-04-23 | 2003-11-07 | Ntt Docomo Inc | Icカード、携帯端末、及びアクセス制御方法 |
| EP1367843A1 (en) * | 2002-05-30 | 2003-12-03 | SCHLUMBERGER Systèmes | Secure interaction between downloaded application code and a smart card in a mobile communication apparatus |
-
2004
- 2004-11-08 JP JP2006537443A patent/JP2007513402A/ja not_active Withdrawn
- 2004-11-08 US US10/578,767 patent/US20070254631A1/en not_active Abandoned
- 2004-11-08 EP EP04798424A patent/EP1688006A1/en not_active Withdrawn
- 2004-11-08 WO PCT/GB2004/004701 patent/WO2005046272A1/en not_active Ceased
- 2004-11-08 GB GB0424653A patent/GB2408121B/en not_active Expired - Fee Related
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0756856A (ja) * | 1993-08-13 | 1995-03-03 | Toshiba Corp | コンピュータシステム |
| JP2000510977A (ja) * | 1996-05-17 | 2000-08-22 | ジャンプリュ エス.セ.ア. | 各ユーザーカードによる複数のアプリケーションの機密保持された独立管理を可能にする通信システム、対応するユーザーカード及び管理方法 |
| JP2002505476A (ja) * | 1998-02-26 | 2002-02-19 | サンマイクロシステムズ インコーポレーテッド | スタックをベースとしたアクセス制御 |
| JP2003500923A (ja) * | 1999-05-21 | 2003-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | セキュア通信をイニシャライズし、装置を排他的にペアリングする方法、コンピュータ・プログラムおよび装置 |
| JP2003501759A (ja) * | 1999-06-03 | 2003-01-14 | ジェムプリュス | 端末の追加のチップカード内に保存されたプログラムの事前検査方法 |
| US20030041154A1 (en) * | 2001-08-24 | 2003-02-27 | Tran Trung M. | System and method for controlling UNIX group access using LDAP |
| JP2003223235A (ja) * | 2001-11-26 | 2003-08-08 | Matsushita Electric Ind Co Ltd | アプリケーション認証システム |
| WO2003071401A2 (en) * | 2002-02-22 | 2003-08-28 | Axalto Sa | Controlling an application provided on a portable object |
| JP2006514788A (ja) * | 2002-02-22 | 2006-05-11 | アクサルト ソシエテ アノニム | 移動体に提供されたアプリケーションの制御 |
| JP2003280990A (ja) * | 2002-03-22 | 2003-10-03 | Ricoh Co Ltd | 文書処理装置及び文書を管理するためのコンピュータプログラム |
| WO2003085532A1 (en) * | 2002-04-02 | 2003-10-16 | Corporation For National Research Initiatives | Authenticating and using digital objects |
| JP2005521970A (ja) * | 2002-04-02 | 2005-07-21 | コーポレーション フォー ナショナル リサーチ イニシアチブス | デジタル・オブジェクトの認証および使用 |
Non-Patent Citations (1)
| Title |
|---|
| ""Mobile Infomation Device Profile for Java 2 Micro Edition, version 2"", JCP SPECIFICATION. JAVA 2 PLATFORM, MICRO EDITION, vol. version 2.0, JPN5006017769, 5 November 2002 (2002-11-05), pages 1 - 10, ISSN: 0001770324 * |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2408121A (en) | 2005-05-18 |
| GB0424653D0 (en) | 2004-12-08 |
| EP1688006A1 (en) | 2006-08-09 |
| WO2005046272A1 (en) | 2005-05-19 |
| US20070254631A1 (en) | 2007-11-01 |
| GB2408121B (en) | 2006-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20070254631A1 (en) | Secure Multi-Entity Access to Resources on Mobile Telephones | |
| CN112861191B (zh) | 一种应用程序监控方法及装置 | |
| JP7019697B2 (ja) | ブロックチェーン上の動的アクセス制御 | |
| Gray et al. | D’Agents: Security in a multiple-language, mobile-agent system | |
| JP6538570B2 (ja) | クラウドデータセキュリティのためのシステム及び方法 | |
| US7457951B1 (en) | Data integrity monitoring in trusted computing entity | |
| CN100478828C (zh) | 用于软件产品许可证的单次重激活方法和系统 | |
| KR101298293B1 (ko) | 제1 플랫폼으로부터 제2 플랫폼으로의 디지털 라이센스이주 | |
| US20050060561A1 (en) | Protection of data | |
| US8171295B2 (en) | Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process | |
| CN101198947B (zh) | 对web服务第三方扩展的安全且稳定的主存 | |
| US20020065946A1 (en) | Synchronized computing with internet widgets | |
| US20050060568A1 (en) | Controlling access to data | |
| JP4975127B2 (ja) | 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置 | |
| CN111431707A (zh) | 业务数据信息处理方法、装置、设备以及可读存储介质 | |
| CN1965281A (zh) | 具有多进程结构的用于运行插件程序代码模块的计算装置 | |
| WO2025092260A1 (zh) | 基于可信执行环境的数据处理方法以及数据处理引擎 | |
| Thiel | iOS application security: The definitive guide for hackers and developers | |
| Berthold et al. | A technical architecture for enforcing usage control requirements in service-oriented architectures | |
| US12169712B2 (en) | Secrets framework | |
| Munoz et al. | TPM‐based protection for mobile agents | |
| WO2022051695A1 (en) | Securing computer source code | |
| Gritzalis et al. | Distributed component software security issues on deploying a secure electronic marketplace | |
| KR101265887B1 (ko) | 보호 컴퓨팅 환경을 제공하는 방법 및 장치 내에 보호 환경을 설정하는 방법 | |
| Madhwal et al. | A Blockchain-Based Access Control Architecture Using Non-Transferable NFTs and Gas-Efficient IPFS URI Management |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070517 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070802 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071101 |
|
| 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: 20101108 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20101207 |
