JP4850073B2 - コンフィギュラブルファイヤウォールを利用するシステム、方法、及びコンピュータ読み取り可能な記憶媒体 - Google Patents

コンフィギュラブルファイヤウォールを利用するシステム、方法、及びコンピュータ読み取り可能な記憶媒体 Download PDF

Info

Publication number
JP4850073B2
JP4850073B2 JP2006547078A JP2006547078A JP4850073B2 JP 4850073 B2 JP4850073 B2 JP 4850073B2 JP 2006547078 A JP2006547078 A JP 2006547078A JP 2006547078 A JP2006547078 A JP 2006547078A JP 4850073 B2 JP4850073 B2 JP 4850073B2
Authority
JP
Japan
Prior art keywords
java
firewall control
firewall
registered trademark
applet
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.)
Active
Application number
JP2006547078A
Other languages
English (en)
Other versions
JP2007515732A (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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2007515732A publication Critical patent/JP2007515732A/ja
Application granted granted Critical
Publication of JP4850073B2 publication Critical patent/JP4850073B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Description

本発明は、コンピューティングシステムに関し、特に、安全なコンピューティングシステムを提供する手法に関する。
通常のデスクトップと異なり、他のコンピューティング機器は携帯型であり、特定の用途に高度に特化しており、相対的に少ないメモリ、および/または処理制約と共に動作する。一例として、スマートカードは、特定の用途(例えば、セキュリティ)に高度に特化可能な携帯コンピューティング機器を代表するものである。スマートカードは、提供可能なメモリ量および処理能力が一般にデスクトップ(例えば、パーソナルコンピュータ)環境のものほど多くないコンピューティング環境の例でもある。そのため、スマートカードは、好例となり得るものであり、以下に説明する。
スマートカードは、重要情報を格納するために使用されるメモリカード(例えば、フォンカード)の形態で約20年前に導入された。しかしながら、現在のスマートカードは、最初に導入されたものに比べ、遙かに高度化している。現在、スマートカードは、埋め込み集積回路(IC)を有することができる。スマートカードは、例えば、埋め込み集積回路(IC)を含むプラスチックカードである。スマートカードは、クレジットカードのようにすることができる。さらに、機密性の高い用途(例えば、バンキング、セキュリティ)にも使用できる。その結果として、安全なスマートカードを開発するために、多数の団体が広範な活動を行っている。
スマートカードは、国際標準化機構(ISO)および国際電気標準会議(IEC)の第1合同技術委員会(JTC1)により定義および管理されている業界標準である。1987年に導入され、2003年に最新の更新が行われた一連の国際規格ISO/IEC7816では、スマートカードの様々な態様を定義しており、これには物理的特徴、物理的接触、電子信号および伝送プロトコル、コマンド、セキュリティアーキテクチャ、アプリケーション識別子、共通データ要素が含まれる。
一部の使用領域において、スマートカードは、単に保護された不揮発性ストレージを提供するメモリカードに過ぎない。しかしながら、さらに進んだスマートカードは、マイクロプロセッサとメモリとの両方を有し、安全な処理およびストレージのために使用できる。スマートカードは、電池なしで動作できる(即ち、カードリーダに接続された時のみアクティブとなる)。接続時、リセットシーケンスの後、カードは、受動状態を維持し、クライアント(ホスト)アプリケーションからのコマンド要求受領のため待機する。名称が示すとおり、接触スマートカードは、カードリーダとスマートカードの8ピン接点との間の物理的接触を介して通信することで機能し、一方、非接触スマートカードは、通常2フィート未満の範囲で高周波信号を用いて通信する。非接触スマートカードの無線通信は、盗難防止および在庫追跡のために店舗で使用される高周波ID(RFID)タグに類似する技術に基づいている。図1は、接触および非接触スマートカードを表している。図1Aおよび1Bは、それぞれ、接触および非接触スマートカードを表している。
現在の携帯機器の普及を考慮すると、より携帯機器に適したプログラミング環境を開発することが望ましい。こうしたプログラミング環境は、何よりも、安全であるべきである。
上述のように、携帯機器の普及を考慮すると、より携帯機器に適したプログラミング環境を開発することが望ましい。こうしたプログラミング環境は、通常、相対的に限定されたリソース(処理能力および/またはメモリ)での動作、および/または、高度に特化した機能の提供を行う。
プラットフォーム非依存プログラミング環境として、特にJava(登録商標、以下において登録商標を“TM”と表記する)技術は、こうした環境に適している。JavaTMは、分散環境(例えば、インターネット)での使用に適したプログラミング言語である。C++言語の「外観および感じ」を有するように設計されているが、C++よりも使用が容易であり、オブジェクト指向プログラミングモデルを実現する。JavaTMは、単一のコンピュータで実行し得る、あるいは、ネットワーク内のサーバおよびクライアント間で分散させ得る、完全なアプリケーションを作成するために使用できる。Webページの一部として使用される小さなアプリケーションモジュールであるアプレットを構築するためにも使用できる。アプレットにより、Webページユーザは、ページとの情報のやりとりが可能となる。

JavaTMプラットフォームは、Java CardTM技術を含む。Java CardTM技術により、JavaTMプログラミングプラットフォームは、高度に特化した環境、および/または、例えばデスクトップコンピューティング環境に比べて厳しいメモリおよび/または処理制約で動作する環境を有するスマートカードその他の携帯機器での使用に適したものとなる。Java Smart CardTMは、数多くの異なる領域で有用となる。また、高レベルのセキュリティを必要とする情報システムに認証と安全なアクセスとを追加するために使用できる。Java Smart CardTMに格納された情報は、携帯可能である。Java CardTM技術により、病歴、クレジットカード番号、または電子マネー残高といった、重要かつ機密の個人情報を、コンパクトだが安全な媒体において持ち運ぶことが可能となる
Java CardTM技術は、スマートボタンおよびUSBトークン(図1Cおよび1Dに例示)のように、スマートカード以外の形態でも存在する。スマートカードと同様に、スマートボタンおよびUSBトークンも、例えば、ユーザの認証または機密情報の持ち運びに使用できる。スマートボタンは、電池を内蔵可能で、通常は接触に基づき、一方、USBトークンは、PCのUSBポートに直接差し込み可能で、接触または非接触リーダを必要としない。いずれの場合も、こうした他の形態は、スマートカードと同様のプログラミング能力を提供可能であり、不正改変防止特性を有する。
JavaTMプログラミング環境が提供する保護に加え、JavaTMカード技術は、追加されたランタイム実行の保護手段として、アプリケーション(またはアプレット)ファイヤウォールを提供する。ファイヤウォールは、基本的には、JavaTMカードプラットフォームを別個の保護オブジェクト空間(または「コンテキスト」)に区分する。言い換えると、ファイヤウォールは、あるコンテキストと別のコンテキストとの間に境界を提供する。この環境において、別個の保護空間(またはコンテキスト)は、互いにアクセスできない場合がある。
アプレットは、通常、JavaTMパッケージと呼び得るものの中で、共にパッケージされることに留意されたい。さらに、単一のJavaTMパッケージ内の全アプレットは、同じコンテキストを共有することに留意されたい。これは、同じパッケージ内のアプレット間にファイヤウォールが存在しないことを意味する。さらに、ファイヤウォール境界は、アプレットがどのようにパッケージされるかに依存する。これは、個々のアプレットに基づいてファイヤウォール境界を定義できない場合があることを意味する。こうしたファイヤウォールの実装は、パッケージに基づくファイヤウォール環境と呼ぶことができる。
パッケージに基づくファイヤウォール環境において、同じパッケージ内に存在しないアプレット同士のアクセスを可能にするには、比較的複雑な手法が必要となる。一例として、他のアプレットによりアクセス可能なアプレットのために、共有可能なインタフェースを実装する必要がある(例えば、JCSystem.getAppletShareableInterfaceObject()メソッド)。その結果、第1のアプレットは、第2のアプレットの共有可能インタフェースへのアクセスを要求できる。次に、第1のアプレットの代わりに、JavaTMカードランタイム環境(JCRE)は、メソッド(例えば、getSharableInterfaceObject()メソッド)を呼び出すことで、第2のアプレットに、共有可能インタフェースを要求することができる。第2のアプレットによりアクセスが許可された場合、第1のアプレットは、第2のアプレットに対する参照を取得する必要がある。
上記を考慮すると、安全なコンピューティング環境を提供するための代替手法は、有用である。本発明の上記その他の目的を達成するために、コンフィギュラブルファイヤウォールを提供するための枠組みを開示する。コンフィギュラブルファイヤウォールは、コンピューティング環境の様々な構成要素間でのアクセス権を実装および制御する機構として使用可能な制御ブロックを提供する。そのため、ファイヤウォール制御ブロックは、コンピューティング環境において、ある構成要素が別の構成要素にアクセス可能かを判定するために使用できる。
一例として、制御ブロックは、本発明の一実施形態によるJavaTMカードコンピューティング環境内の各JavaTMアプリケーション(またはアプレット)に対して提供できる。これにより、ファイヤウォール境界を個別のアプレット毎に選択的に構成および定義できる柔軟な環境が可能となる。これにより、各アプレットが所定のアプレットセットに対するアクセスを許可できると共に、その逆も可能となるような形でファイヤウォール境界を定義できる、柔軟な環境が提供される。
加えて、異なるシステム要件(例えば、処理速度、メモリ)に対して適切となり得る様々な手法を使用して、ファイヤウォール制御ブロックを実装可能であることが例示される。そのため、コンフィギュラブルファイヤウォールは、様々なコンピューティングシステム、特に、相対的に限定された処理能力での動作、および/または高度に特化した機能の提供を行うもの(例えば、スマートカード)に対してセキュリティを実装するのに有用である。さらに例示されるように、多数の形態のファイヤウォール制御ブロックにおいて、様々な手法を使用してセキュリティを実装できる。本発明の他の態様は、様々なファイヤウォール制御ブロックを使用してセキュリティを実装するのに使用可能な手法を提供する。
本発明は、システム、装置、方法、またはコンピュータ読み取り可能な媒体を含む、多数の方法として実装できる。本発明のいくつかの実施形態について、下で説明する。
コンピューティング環境として、本発明の一実施形態は、オペレーティングシステムと、オペレーティングシステム上で動作するバーチャルマシンと、バーチャルマシン上で動作する第1および第2のアプリケーションとを含む。加えて、ファイヤウォール制御ブロックが、コンピューティング環境に提供される。
ファイヤウォール制御ブロックは、第2のアプリケーションに対する第1のアプリケーションのアクセス権を定義し、さらに、第1のアプリケーションに対する第2のアプリケーションのアクセス権を定義する。このファイヤウォール制御ブロックは、例えば、携帯機器用に実装できる。一例として、JavaTMスマートカードは、本発明によるファイヤウォール制御ブロックを使用して実装可能である。
さらに別の実施形態では、JavaTM対応コンピューティング環境にセキュリティを提供する方法として実装できる。JavaTM対応コンピューティング環境は、JavaTMバーチャルマシンと、JavaTMバーチャルマシン上で動作する複数のJavaTM対応アプレットとを含む。最初に、第1のJavaTM対応アプレットからの要求が受領される。この要求は、第2のJavaTM対応アプレットにアクセスするための要求である。次に、第2のJavaTM対応アプレットに関連するファイヤウォール制御ブロックが読み出される。その後、ファイヤウォール制御ブロックに基づいて、第1のJavaTM対応アプレットが第2のJavaTM対応アプレットにアクセスするのを許可するべきかが決定される。以下で説明するように、この決定は、様々な異なる基準に基づくものにできる。したがって、第1のJavaTM対応アプレットは、アクセスを許可するべきであると決定された場合のみ、アクセスを認められる。同様に、コンピュータプログラムコードを含むコンピュータ読み取り可能な媒体も実装可能である。
本発明は、同様の参照符号が同様の構成要素を示す添付図面と併せて、以下の詳細な説明から容易に理解されよう。
背景の節で説明したように、携帯機器の普及を考慮すると、より携帯機器に適したプログラミング環境を開発することが望ましい。こうしたプログラミング環境は、通常、相対的に限定されたリソース(処理能力および/またはメモリ)での動作、および/または、高度に特化した機能の提供を行う。
プラットフォーム非依存プログラミング環境として、特にJavaTM技術は、こうした環境に適している。JavaTMは、分散環境(例えば、インターネット)での使用に適したプログラミング言語である。C++言語の「見た目(look and feel)」を有するように設計されているが、C++よりも使用が容易であり、オブジェクト指向プログラミングモデルを実現する。JavaTMは、単一のコンピュータで実行し得る、あるいはネットワーク内のサーバおよびクライアント間で分散させ得る、完全なアプリケーションを作成するために使用できる。Webページの一部として使用される、小さなアプリケーションモジュールであるアプレットを構築するためにも使用できる。アプレットにより、Webページユーザは、ページとの情報のやりとりが可能となる。
JavaTMプラットフォームは、Java CardTM技術を含む。Java CardTM技術により、JavaTMプログラミングプラットフォームは、高度に特化した環境、および/または、例えばデスクトップコンピューティング環境に比べて、厳しいメモリおよび/または処理制約で動作する環境を有するスマートカードその他の携帯機器での使用に適したものとなる。Java Smart CardTMは、数多くの異なる領域で有用となる。また、高レベルのセキュリティを必要とする情報システムに認証と安全なアクセスとを追加するために使用できる。Java Smart CardTMに格納された情報は、携帯可能である。Java CardTM技術により、病歴、クレジットカード番号、または電子マネー残高といった、重要かつ機密の個人情報を、コンパクトだが安全な媒体において持ち運ぶことが可能となる。
Java CardTM技術は、スマートボタンおよびUSBトークン(図2Aおよび2Bに例示)のように、スマートカード以外の形態でも存在する。これらも、スマートカードと同様に、例えば、ユーザの認証または機密情報の持ち運びに使用できる。スマートボタンは、電池を含み、接触に基づいており、一方、USBトークンは、PCのUSBポートに直接差し込み可能で、接触または非接触リーダを必要としない。両方とも、スマートカードと同様のプログラミング能力を提供し、不正改変防止特性を有する。
JavaTMプログラミング環境が提供する保護に加え、Java CardTM技術は、追加されたランタイムの実行保護手段として、アプリケーション(またはアプレット)ファイヤウォールを提供する。ファイヤウォールは、基本的には、Java CardTMプラットフォームを別個の保護オブジェクト空間(または「コンテキスト」)に区分する。言い換えると、ファイヤウォールは、あるコンテキストと別のコンテキストとの間に境界を提供する。この環境において、別個の保護空間(またはコンテキスト)は、互いにアクセスできない場合がある。
アプレットは、通常、JavaTMパッケージと呼び得るものの中で、共にパッケージされることに留意されたい。さらに、単一のJavaTMパッケージ内の全アプレットは、同じコンテキストを共有することに留意されたい。これは、同じパッケージ内のアプレット間にファイヤウォールが存在しないことを意味する。さらに、ファイヤウォール境界は、アプレットがどのようにパッケージされるかに依存する。これは、アプレット毎にファイヤウォール境界を定義できない場合があることを意味する。こうしたファイヤウォールの実装は、パッケージに基づくファイヤウォール環境と呼ぶことができる。
パッケージに基づくファイヤウォール環境において、同じパッケージ内に存在しないアプレット同士のアクセスを可能にするには、比較的複雑な手法が必要となる。一例として、他のアプレットによりアクセス可能なアプレットのために、共有可能なインタフェースを実装する必要がある(例えば、JCSystem.getAppletShareableInterfaceObject()メソッド)。その結果、第1のアプレットは、第2のアプレットの共有可能インタフェースへのアクセスを要求できる。次に、第1のアプレットの代わりに、Javaカードランタイム環境(JCRE)は、メソッド(例えば、getSharableInterfaceObject()メソッド)を呼び出すことで、第2のアプレットに、共有可能インタフェースを要求することができる。第2のアプレットによりアクセスが許可された場合、第1のアプレットは、第2のアプレットに対する参照を取得する必要がある。
上記を考慮すると、安全なコンピューティング環境を提供するための代替手法は、有用である。本発明の上記その他の目的を達成するために、コンフィギュラブルファイヤウォールを提供するための枠組みを開示する。コンフィギュラブルファイヤウォールは、コンピューティング環境の様々な構成要素間でのアクセス権を実装および制御する機構として、制御ブロックを提供する。そのため、ファイヤウォール制御ブロックは、コンピューティング環境において、ファイヤウォール制御ブロックにおいて定義されたアクセス権に基づいて、ある構成要素が別の構成要素にアクセス可能かを決定するために使用できる。
一例として、制御ブロックは、本発明の一実施形態によるJava CardTMコンピューティング環境内の各JavaTMアプリケーション(またはアプレット)に対して提供できる。これにより、各アプレットが所望のアプレットセットにアクセスできるように、ファイヤウォール境界を各アプレットの周囲に構成できる。加えて、例示されるように、ファイヤウォール制御ブロックは、異なるシステム要件(例えば、処理速度、メモリ)において適切となり得る様々な手法を使用して実装できる。そのため、コンフィギュラブルファイヤウォールは、様々なコンピューティングシステム、特に、相対的に限定された処理能力での動作、および/または高度に特化した機能の提供を行うもの(例えば、スマートカード)において、セキュリティを実装するのに有用である。さらに例示されるように、多数の形態のファイヤウォール制御ブロックを、互いに連動させて、あるいは組み合わせて、セキュリティを実装できる。本発明の他の態様は、様々なファイヤウォール制御ブロックを使用してセキュリティを実装するのに使用可能な手法を提供する。
本発明の実施形態について、図1ないし図5を参照して下で説明する。しかしながら、これらの図に関して本明細書に記載する詳細な説明が例示的な目的のみを有し、こうした限定された実施形態の範囲を本発明が超えることは、当業者に容易に理解されよう。
図2は、本発明の一実施形態による、例示的なコンピューティング環境200を示している。コンピューティング環境200は、カード側202と、リーダ側204と、バックエンドアプリケーションおよびシステム206とを含む。
説明する実施形態において、カード側202は、多重アプリケーション環境を提供するJava CardTMプラットフォーム202として実装される。図2に示したように、複数のJava CardTMアプリケーション(またはアプレット)A、B、C、D、E、F、およびGが、Java CardTMプラットフォーム202(またはJava CardTM)に常駐してよい。こうしたJava CardTMアプリケーション(またはアプレット)は、Javaカードランタイム環境(JCRE)208によってサポートされる。Javaカードランタイム環境(JCRE)208は、Java CardTMフレームワーク、アプリケーションプログラムインタフェース(API)、およびセキュリティ210を含む。Javaカードランタイム環境(JCRE)208は、カードオペレーティングシステム(OS)214がサポートするJavaTMバーチャルマシン212上で動作する。Java CardTMアプレットA、B、C、D、E、F、G、およびHは、ロード時にインスタンス化可能であり、電源をオフにした時も存在し続ける。そのため、カードのアプレットは、サーバと同じように振る舞い、受動状態を維持できる。言い換えると、カードプラットフォーム202の電源を入れた後、アプレットは、選択されるまで非アクティブを維持し、選択時に初期化を行ってもよい。
リーダ側204は、ホストアプリケーション220と、カードアクセプタンスデバイス(CAD)224とを含む。ホストアプリケーション220は、例えば、PC、電子決済端末、携帯電話、またはセキュリティサブシステム等のデスクトップまたは端末に常駐可能である。いずれの場合も、ホストアプリケーション220は、バックエンドアプリケーションおよびシステム206とJava CardTMアプレットA、B、C、D、E、F、およびGとの間の通信を円滑化できる。カードアクセプタンスデバイス(CAD)224は、例えば、ホストアプリケーション220とJava CardTMプラットフォーム202との間に位置するインタフェースデバイスにすることができる。加えて、カードアクセプタンスデバイス(CAD)224は、カードへ電力を提供し、および/または、カード側202との電気または(高周波)RF通信の円滑化を行うことができる。CAD224は、例えば、シリアルポートを使用してデスクトップコンピュータに取り付けたカードリーダにすることが可能であり、レストランまたはガソリンスタンドの電子決済端末等の端末に統合してもよい。さらに、CAD224は、例えば、ホストアプリケーション220からJava CardTMプラットフォーム202へアプリケーションプロトコルデータユニット(APDU)コマンドを転送できることに留意されたい。さらに、アプリケーションプロトコルデータユニット(APDU)を使用して、Java CardTMプラットフォーム202からホストアプリケーション220へ応答を転送することもできる。
したがって、リーダ側204により、Java CardTMプラットフォーム202のユーザは、ホストアプリケーション220および/またはバックエンドアプリケーションおよびシステム206によって提供されるサービスにアクセスできる。バックエンドアプリケーションおよびシステム206は、JavaTMアプレットA、B、C、D、E、F、およびGをサポートするサービスを提供する。例えば、バックエンドアプリケーション206は、電子決済システムとの接続を提供する。そのため、バックエンドアプリケーションおよびシステム206は、例えば、クレジットカードおよび/またはその他の支払い情報へのアクセスを提供できる。
理解されるように、Javaカードランタイム環境(JCRE208)は、JavaTMアプレットA、B、C、D、E、F、およびGにファイヤウォール保護を提供できる。さらに、ランタイム環境(JCRE208)によって提供されるファイヤウォール保護は、コンフィギュラブルである。これは、特に、1個以上のJavaTMアプレットを含むパッケージ境界に基づいてファイヤウォール保護を定義する必要がないことを意味する。言い換えると、ファイヤウォール保護は、パッケージ230、232、324に基づいて定義する必要がない。ファイヤウォール保護は、さらに説明するファイヤウォール制御ブロック(例えば、図3参照)を使用して構成可能だが、最初に、コンフィギュラブルファイヤウォールについてさらに説明する。
図2に示したように、パッケージ230は、JavaTMアプレットAおよびBを含む。同様に、パッケージ232は、JavaTMアプレットCおよびDを含む。パッケージ234は、JavaTMアプレットE、F、およびGを含む。しかしながら、ファイヤウォール境界は、JavaTMアプレット毎に独立して定義できる。言い換えると、JavaTMアプレットA、B、C、D、E、F、およびGのそれぞれについて、JavaTMアプレットを含むパッケージに依存せずにファイヤウォール境界を定義できる。一例として、パッケージ230のJavaTMアプレットAには、ファイヤウォール境界部240を介して、パッケージ232のJavaTMアプレットCへのアクセスを許可できる。しかしながら、ファイヤウォール部240は、パッケージ230のJavaTMアプレットBがパッケージ232のJavaTMアプレットCへのアクセスを試みた時には、そのアクセスを拒否し得る。
更なる説明のために、図2では、JavaTMアプレットDの周囲にファイヤウォール境界部242を示している。ファイヤウォール境界部242は、例えば、同じパッケージ232内に含まれるJavaTMアプレットCを含む他の全てのJavaTMアプレットによるアクセスを拒否できる。しかしながら、JavaTMアプレットDは、他のアプレット(例えば、JavaTMアプレットB)へのアクセスが可能であってもよいことに留意されたい。さらに、ファイヤウォールは、パッケージ境界に関係なく1個以上のJavaTMアプレットおよび/またはパッケージによってアクセス可能なライブラリを実装するために使用できることに留意されたい。一例として、JavaTMアプレットEおよびFは、ライブラリ250として実装できる。ライブラリ250は、JavaTMアプレットA、B、C、およびDのいずれかによってアクセスできる。
上記のように、ファイヤウォール境界は、ファイヤウォール制御ブロックを使用して実装できる。このファイヤウォール制御ブロックは、本発明の一態様により、JavaTMアプレットおよび/またはJavaTMパッケージ毎に定義できる。ファイヤウォール制御は、JavaTMアプレットに別のJavaTMアプレットおよび/またはJavaTMパッケージへのアクセスを認めるべきかを決定するのに使用できる。
図3は、本発明の一実施形態によるファイヤウォール制御ブロック300を示している。ファイヤウォール制御ブロック300は、ファイヤウォール制御値302およびファイヤウォール制御インジケータ304を含む。ファイヤウォール制御値302は、アクセス権の定義を提供する。ファイヤウォール制御インジケータ304は、ある構成要素が別の構成要素にアクセスするべきかを決定するために、定義をどのように解釈するべきかを示す。
ファイヤウォール制御値302は、例えば、JavaTMアプレットに対するファイヤウォールアクセス値を定義するために使用できる。言い換えると、制御値302は、第1のJavaTMアプレットおよび/またはパッケージに対するアクセス権を定義できる。ファイヤウォール制御インジケータ304は、他のJavaTMアプレットが第1のJavaTMアプレットおよび/またはJavaTMパッケージにアクセスできるかを決定するために使用できる。理解されるように、ファイヤウォール制御値302および304は、例えば、それぞれバイトの配列(即ち、1バイト以上の配列)として実装できる。図3Bは、ファイヤウォール制御ブロック310の実装を例示している。ファイヤウォール制御ブロック310は、M個のバイトの配列として表されるファイヤウォール制御値を含む。N個のバイトの配列は、ファイヤウォール制御インジケータを表す。Nは、通常Mより小さい(即ち、通常、ファイヤウォール制御インジケータに必要なバイト数は少ない)ことに留意されたい。
更なる説明のために、図4は、図2のアプレットA、B、C、D、E、F、およびGに対してそれぞれ実装可能な、簡略化ファイヤウォール制御ブロックA、B、C、D、E、F、およびGを示している。そのため、ファイヤウォール制御ブロックAは、例えば、どのJavaTMアプレットがJavaTMアプレットAによってアクセス可能かを決定するために使用できる。加えて、ファイヤウォール制御ブロックAは、別のアプレットがJavaTMアプレットAにアクセス可能かを決定するために使用できる。図4に示したように、ファイヤウォール制御ブロックAは、ファイヤウォール制御値402およびファイヤウォール制御インジケータ404を含む。ファイヤウォール制御値402は、一連の数値(例えば、バイト値{1,2,3,4,5,6})として表現される。
ファイヤウォール制御値402({1,2,3,4,5,6})は、例えば、JavaTMアプレットAがJavaTMアプレットCにアクセス可能かを決定するために使用できる。この決定を行うために、ファイヤウォール制御ブロックCのファイヤウォール制御インジケータ408を使用できる。ファイヤウォール制御インジケータ408は{3}の値を示す。このインジケータ値は、例えば、ファイヤウォール制御ブロックCのファイヤウォール制御値406({1,2,3,7,8,9})の最初の3個の値に一致するJavaTMアプレット(またはパッケージ)へのアクセスを可能にするものと解釈できる。
これは、ファイヤウォール制御値402({1,2,3,4,5,6})の最初の3個の値を、ファイヤウォール制御値406({1,2,3,7,8,9})の最初の3個の値と比較できることを意味する。ファイヤウォール制御値402({1,2,3,4,5,6})の最初の3個の値は、ファイヤウォール制御値406({1,2,3,7,8,9})の最初の3個の値と一致することに留意されたい。したがって、アプレットAについて、アプレットCへのアクセスを許可できる。
一方、アプレットCは、アプレットAにアクセスできず、これはファイヤウォール制御値406({1,2,3,7,8,9})の最初の4個の値がファイヤウォール制御値402({1,2,3,4,5,6})と一致するべきであることをファイヤウォール制御インジケータ404{4}が示しているためである。しかしながら、第4の値は、一致していない(即ち、7は、4と等しくない)。したがって、アプレットCは、アプレットAへのアクセスを拒否される。
同様に、ファイヤウォール制御値410({1,9,4,3,5,6})の第2の値(または第3の値)がファイヤウォール制御値406({1,2,3,7,8,9})の第2の値(または第3の値)と一致しないため、JavaTMアプレットBは、JavaTMアプレットCへのアクセスを許可されない。ファイヤウォール制御ブロックDのファイヤウォール制御インジケータ412は、{40}の値を示す。{40}の値は、例えば、他の全てのJavaTMアプレットがJavaTMアプレットDにアクセスできない(Java CardTM管理システムのみがJavaTMアプレットDにアクセスできる)ことを示し得る。しかしながら、JavaTMアプレットDは、他のJavaTMアプレット(例えば、JavaTMアプレットB)にアクセス可能であってよい。一方、JavaTMアプレットEおよびFにそれぞれ提供されたファイヤウォール制御インジケータ414および416は、例えば、最初のファイヤウォール制御値が値{1}に等しい全てのJavaTMアプレット(例えば、アプレットA、B、C、D、およびG)とのアクセスを可能にするものと解釈可能な{1}の値を示し得る。そのため、アプレットEおよびFは、例えば、別の選択されたアプレットに対して提供可能なライブラリを表現できる。
図3Cは、本発明の別の実施形態による制御ブロック320を示している。図3Cに示したように、単一のバイトを使用してファイヤウォール制御値302を実装し、ファイヤウォール制御値300をバイトの配列として実装できる。
さらに、本発明の別の実施形態により、追加の単一バイトを使用して、ファイヤウォール制御ブロックを実装できることに留意されたい。この単一バイトは、通常既に利用可能なデータに対して追加できる。説明のため、図3Dは、本発明の別の実施形態による、ファイヤウォールコンテキストの実装330を表している。ファイヤウォールコンテキストの実装330は、通常Java CardTM環境に提供される、コンテキスト識別情報(ID)332およびアプリケーション識別子データ(AID)を含む。これらに加え、AIDのバイトインジケータ336が提供される。AIDのバイトインジケータ336は、ファイヤウォール制御インジケータ(例えば、図4に示した404、408)と同様に使用可能であり、一方、アプリケーション識別子データ(AID)は、ファイヤウォール制御値(例えば、図4に示した402、406)として使用できる。
理解されるように、既存のJava CardTM環境と同様に、アプリケーション識別子データ(AID)は、ISO7816規格に基づいて定義できる。ISO7816は、スマートカードシステムを構築するための広範な技術について記述したマルチパート規格である。ISO7816−5は、カードアプリケーション(およびカードファイルシステム内の特定の種類のファイル)を一意に識別するために使用するべきAID(アプリケーション識別子)データ形式を定義している。Java CardTMプラットフォームは、AIDデータ形式を使用して、アプレットおよびパッケージを特定する。AIDは、国際標準化機構(ISO)によって管理されているため、一意の識別子として使用できる。
図3Eに示したように、Java CardTMプラットフォームで使用するAID形式は、2つの別個の部分として解釈されるバイトの配列にすることができる。第1の部分は、RID(リソース識別子)として知られる5バイトの値である。第2の部分は、PIX(固有アプリケーション識別子拡張)として知られる可変長の値である。PIXは、0ないし11バイトの長さにできる。したがって、AIDは、全長5ないし16バイトにできる。ISOは、企業へのRIDの割り当てを制御しており、各企業はISOから固有のRIDを取得している。企業は、独自のRIDを使用して、AIDに対するPIXの割り当てを管理している。JavaTMプラットフォームにおいて、パッケージは、Unicode文字列と、インターネットドメイン名に基づく命名体系とを使用して一意に特定される。Java CardTMプラットフォームにおいて、パッケージおよびアプレットは、AIDを使用して特定できる。そのため、Java CardTM技術に対応した装置にインストールされる各アプレットは、一意のAIDを有する。このAIDは、パッケージAIDと同様に構築される。通常は、アプレットプロバイダのRIDと、そのアプレットのPIXとの連結である。
図3Fは、本発明のさらに別の実施形態による、ファイヤウォール制御ブロック350の実装を示している。ファイヤウォール制御ブロック350は、例えば、図3Dの制御ブロック330の実装に相当する。いずれの場合も、既存のJava CardTM環境と同様に、バイト配列を使用して、AIDを表現し、短い値を使用して、コンテキスト(またはオブジェクト空間)を表現するのに一般的に使用されるコンテキストIDを表現する。理解されるように、AIDバイトインジケータは、単一のバイト値として実装される。そのため、制御ブロック350は、ファイヤウォールの実装によるオーバヘッドを最小化する必要がない状況に適したものとなり得る。しかしながら、上記と同様の形で、AIDバイトインジケータは、ファイヤウォール制御インジケータとして使用可能であり、AIDは、ファイヤウォール制御値として使用できる。
図3Gは、本発明のさらに別の実施形態による、制御ブロック360を示している。説明する実施形態において、制御ブロック360は、RID値を意味する単一のバイト配列を使用して実装される。これは、JavaTMアプレット(またはパッケージ)が別のJavaTMアプレット(またはパッケージ)にアクセス可能かを決定するために、RID値のみが使用されることを意味する。一例として、RID値が一致する場合にアクセスを許可できる。RID値は、Java CardTM環境において一般的に提供される。したがって、制御ブロック360も、ファイヤウォール制御ブロック情報を格納および処理するための大量のオーバヘッドを必要とすることなく実装できる。RID値と同様に、AID値を使用して、ファイヤウォール制御ブロックを実装できる。
上記に基づき、本発明において、多数の異なるファイヤウォール制御ブロックの実施形態が考えられることは明らかであろう。こうした実施形態の一つ以上は、特定のシステム要件(例えば、メモリストレージ、速度、その他)に適したものになり得る。例えば、図3Gの制御ブロック360は、ファイヤウォールに指定されたメモリおよびオーバヘッドを最小化するべき環境に適したものになり得る。
さらに、様々な実施形態を組み合わせてよいことにも留意されたい。一例として、図3Hは、本発明のさらに別の実施形態による、制御ブロック370を示している。制御ブロック370は、例えば、制御ブロック320および350の組み合わせを表現できる。説明する実施形態では、AID、ファイヤウォール制御値、およびファイヤウォール制御インジケータが提供される。下で例示するように、制御ブロック370は、JavaTMカード環境においてコンフィギュラブルファイヤウォールを実装するために様々な手法を使用する柔軟性を提供する。加えて、制御ブロック370は、こうした手法のいくつかを例示するのに有用なツールの役割を果たしうる。
したがって、図5は、本発明の一実施形態による、JavaTMカード環境においてファイヤウォールを提供する方法500を示している。方法500は、例えば、AID、ファイヤウォール制御値、およびファイヤウォール制御インジケータが全て提供された図3Hの制御ブロック370と共に使用できる。最初に、ステップ502において、第1のJavaTMアプレットの第1のバイトコード命令を読み出す。次に、ステップ504において、第1のJavaTMアプレットのバイトコードが別の(または第2の)JavaTMアプレット内のオブジェクトにアクセスを試みているかについて判定する。ステップ504において、第1のJavaTMアプレットのバイトコードが第2のJavaTMアプレット内のオブジェクトにアクセスを試みていないと判定された場合、方法500は、ステップ506へ進み、最後のバイトコード命令に到達したかを判定する。そうである場合、方法500は終了する。しかしながら、ステップ506において、最後のバイトコード命令に到達していないと判定された場合、方法500は、ステップ508へ進み、第1のJavaTMアプレットの次のバイトコード命令を読み出す。その後、方法500は、ステップ504へ進み、第1のJavaTMアプレットのバイトコードが第2のJavaTMアプレット内のオブジェクトにアクセスを試みているかを判定する。
ステップ504において、第1のJavaTMアプレットのバイトコードが第2のJavaTMアプレット内のオブジェクトにアクセスを試みていると判定された場合、方法500は、ステップ510へ進み、第2のJavaTMアプレットのファイヤウォール制御インジケータを読み出す。これに応じて、ステップ512では、第2のJavaTMアプレットのファイヤウォール制御インジケータが第1の値(例えば、0x80)に等しいかを判定する。ステップ512において、第2のJavaTMアプレットのファイヤウォール制御インジケータが第1の値に等しいと判定された場合、方法500は、ステップ514へ進み、制御ブロックのファイヤウォール保護を迂回できる(例えば、パッケージ境界に基づいて、ファイヤウォール保護を提供できる)。方法500は、ステップ514の後で終了する。しかしながら、ステップ512において、第2のJavaTMアプレットのファイヤウォール制御インジケータが第1の値に等しくないと判定された場合、方法500は、ステップ516へ進み、第2のJavaTMアプレットのファイヤウォール制御インジケータが第2の値に等しいかを判定する。第2の値は、第1および第2のJavaTMアプレットのPIX値(例えば、図3E参照)が一致するか比較するべきであることを示唆できる。したがって、第2のJavaTMアプレットのファイヤウォール制御インジケータが第2の値に等しい場合、ステップ518において、第1および第2のアプレットのPIX値を比較できる。その後、方法500は、ステップ520へ進み、これらの値が一致するかを判定する。これらの値が一致しない場合、方法500は、ステップ522へ進み、アクセスが拒否される。加えて、ステップ524において、エラーを出力できる(例えば、「Java.lang.SecurityException」をスローできる)。方法500は、ステップ524の後で終了する。
一方、ステップ520において、一致すると判定された場合、方法500は、ステップ526へ進み、第1のJavaTMアプレットは、第2のJavaTMアプレットへのアクセスを許可される。理解されるように、このアクセスは、共有可能なインタフェースを実装する必要なく提供できる。一実施形態において、呼び出し可能なメソッドによって、第2のアプレットに対する参照が提供される。このメソッドは、例えば、JavaTMカード管理(またはシステム)環境の一部として実装された比較的単純な参照取得メソッドにできる(例えば、getAppletReference()メソッド)。当業者が理解するように、この参照取得メソッドに対して、パートナーメソッドを提供することもできる。このパートナーメソッドは、例えば、JavaTMアプレットクラスとして実装されるメソッドにできる。
図5を再び参照すると、ステップ516において、第2のJavaTMアプレットのファイヤウォール制御インジケータが第2の値に等しくないと判定された場合、方法500は、ステップ528へ進み、第2のJavaTMアプレットのファイヤウォール制御インジケータが第3の値に等しいかを判定する。そうである場合、方法500は、ステップ530へ進み、第1および第2のアプレットのAID(例えば、図3E参照)値を比較する。その後、方法500は、上記と同様の形でステップ520へ進む。
しかしながら、ステップ528において、第2のJavaTMアプレットのファイヤウォール制御インジケータが第3の値に等しくないと判定された場合、方法500は、ステップ532へ進み、第4の値に等しいかを判定する。第4の値は、Java CardTM管理のみに対してアクセスが確保されることを示めすことができる。したがって、第2のJavaTMアプレットのファイヤウォール制御インジケータが第4の値に等しい場合、方法500は、ステップ534へ進み、Java CardTM管理コンテキストの下で、バイトコードが実行されているかを判定する(例えば、コンテキストIDがJava CardTM管理のものかを判定する)。この判定に応じて、方法500は、上記と同様に、アクセスが拒否されるステップ522か、あるいはアクセスが許可されるステップ526へ進む。
最後に、ステップ532において、第2のJavaTMアプレットのファイヤウォール制御インジケータが第4の値に等しくないと判定された場合、方法500は、ステップ536へ進み、ファイヤウォール制御インジケータが解釈される。一例として、ファイヤウォール制御インジケータは、図4に例示したものと同様の形で解釈可能であり、第1および第2のアプレットにそれぞれ割り当てられたファイヤウォール制御値の1バイト以上を、ファイヤウォール制御インジケータの値に基づいて比較する。いずれの場合も、解釈に基づいて、ステップ538で、適切な制御値を決定し、一致するかを比較できる。したがって、方法500は、ステップ520へ進み、値が一致するかを判定する。方法500は、上記と同様な形で進み、ステップ526においてアクセスを許可し、あるいはステップ522において拒否する。方法500は、エラーが出力されるステップ524、あるいは第1のJavaTMアプレットが第2のJavaTMアプレットへのアクセスを許可されるステップ526の何れかに続いて終了する。
本発明の多くの特徴および利点について、記載の説明から明らかであり、したがって、付記した請求項は、こうした本発明の全ての特徴および利点を網羅するものである。さらに、多数の変形例および変更例が当業者によって容易に発案されるため、本発明を例示および説明された厳密な構成および動作に限定することは望ましくない。したがって、全ての適切な変形例および等価物は、本発明の範囲に含まれるものとして分類し得る。
携帯コンピューティング機器を表す図である。 携帯コンピューティング機器を表す図である。 携帯コンピューティング機器を表す図である。 携帯コンピューティング機器を表す図である。 本発明の一実施形態による、例示的なコンピューティング環境を示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、ファイヤウォール制御ブロックを示す図である。 Javaアプレットとして実装可能な簡略化ファイヤウォール制御ブロックを示す図である。 本発明の一実施形態による、JavaTMカード環境において、ファイヤウォールを提供する方法を例示する図である。

Claims (9)

  1. コンピューティングシステムであって、
    オペレーティングシステムと、
    前記オペレーティングシステム上で動作するバーチャルマシンと、
    前記バーチャルマシン上で動作する第1のアプリケーションと、
    前記バーチャルマシン上で動作する第2のアプリケーションと、
    前記第1のアプリケーションのための第1のファイヤウォール制御ブロックと、
    前記第2のアプリケーションのための第2のファイヤウォール制御ブロックと、
    を備え、
    前記第1のファイヤウォール制御ブロックは、複数の第1のファイヤウォール制御値と、第1のファイヤウォール制御インジケータとを含み、前記第1のファイヤウォール制御インジケータは、前記複数の第1のファイヤウォール制御値のうちで前記第1のアプリケーションへのアクセス制御に使用されるファイヤウォール制御値の第1の個数を示し、
    前記第2のファイヤウォール制御ブロックは、複数の第2のファイヤウォール制御値と、第2のファイヤウォール制御インジケータとを含み、前記第2のファイヤウォール制御インジケータは、前記複数の第2のファイヤウォール制御値のうちで前記第2のアプリケーションへのアクセス制御に使用されるファイヤウォール制御値の第2の個数を示し、
    前記第2のファイヤウォール制御ブロックは、前記複数の第1のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列が、前記複数の第2のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列と同一の場合にのみ、前記第1のアプリケーションに対して前記第2のアプリケーションへのアクセスを許可する、
    コンピューティングシステム。
  2. 請求項1に記載のコンピューティングシステムであって、
    前記コンピューティングシステムは、Java(登録商標)カード対応コンピューティングシステムであり、
    前記第1のファイヤウォール制御ブロックは、ランタイムシステムとして実装される、
    コンピューティングシステム。
  3. 携帯コンピューティング機器であって、
    オペレーティングシステムと、
    前記オペレーティングシステム上で動作するJava(登録商標)対応バーチャルマシンと、
    前記Java(登録商標)対応バーチャルマシン上で動作する第1のJava(登録商標)対応アプレットと、
    前記Java(登録商標)対応バーチャルマシン上で動作する第2のJava(登録商標)対応アプレットと、
    前記第1のJava(登録商標)対応アプレットのための第1のファイヤウォール制御ブロックと、
    前記第2のJava(登録商標)対応アプレットのための第2のファイヤウォール制御ブロックと、
    を備え、
    前記第1のファイヤウォール制御ブロックは、複数の第1のファイヤウォール制御値と、第1のファイヤウォール制御インジケータとを含み、前記第1のファイヤウォール制御インジケータは、前記複数の第1のファイヤウォール制御値のうちで前記第1のJava(登録商標)対応アプレットへのアクセス制御に使用されるファイヤウォール制御値の第1の個数を示し、
    前記第2のファイヤウォール制御ブロックは、複数の第2のファイヤウォール制御値と、第2のファイヤウォール制御インジケータとを含み、前記第2のファイヤウォール制御インジケータは、前記複数の第2のファイヤウォール制御値のうちで前記第2のJava(登録商標)対応アプレットへのアクセス制御に使用されるファイヤウォール制御値の第2の個数を示し、
    前記第2のファイヤウォール制御ブロックは、前記複数の第1のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列が、前記複数の第2のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列と同一の場合にのみ、前記第1のJava(登録商標)対応アプレットに対して前記第2のJava(登録商標)対応アプレットへのアクセスを許可する、
    携帯コンピューティング機器。
  4. 請求項3記載の携帯コンピューティング機器であって、
    前記携帯機器は、Java(登録商標)対応スマートカードである、
    携帯コンピューティング機器。
  5. 請求項4に記載の携帯コンピューティング機器であって、
    ファイヤウォール制御ブロックは、Java(登録商標)対応アプレット毎に定義される、携帯コンピューティング機器。
  6. Java(登録商標)バーチャルマシンと、前記Java(登録商標)バーチャルマシン上で動作する複数のJava(登録商標)対応アプレットとを含むJava(登録商標)対応コンピューティングシステムにセキュリティを提供する方法であって、
    前記Java(登録商標)バーチャルマシンが、前記Java(登録商標)バーチャルマシン上で動作する第1のJava(登録商標)対応アプレットから、第2のJava(登録商標)対応アプレットにアクセスするための要求を受領する工程と、
    前記Java(登録商標)バーチャルマシンが、前記第1のJava(登録商標)対応アプレットに関連する第1のファイヤウォール制御ブロックと、前記第2のJava(登録商標)対応アプレットに関連する第2のファイヤウォール制御ブロックを読み出す工程と、
    前記Java(登録商標)バーチャルマシンが、前記第1と第2のファイヤウォール制御ブロックに基づいて、前記第1のJava(登録商標)対応アプレットが前記第2のJava(登録商標)対応アプレットにアクセスするのを許可するべきかを判定する工程と、
    前記Java(登録商標)バーチャルマシンが、前記判定する工程によりアクセスを許可するべきであると判定された場合、前記第1のJava(登録商標)対応アプレットが前記第2のJava(登録商標)対応アプレットにアクセスするのを許可する工程と、
    を備え、
    前記第1のファイヤウォール制御ブロックは、複数の第1のファイヤウォール制御値と、第1のファイヤウォール制御インジケータとを含み、前記第1のファイヤウォール制御インジケータは、前記複数の第1のファイヤウォール制御値のうちで前記第1のJava(登録商標)対応アプレットへのアクセス制御に使用されるファイヤウォール制御値の第1の個数を示し、
    前記第2のファイヤウォール制御ブロックは、複数の第2のファイヤウォール制御値と、第2のファイヤウォール制御インジケータとを含み、前記第2のファイヤウォール制御インジケータは、前記複数の第2のファイヤウォール制御値のうちで前記第2のJava(登録商標)対応アプレットへのアクセス制御に使用されるファイヤウォール制御値の第2の個数を示し、
    前記Java(登録商標)バーチャルマシンは、前記複数の第1のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列が、前記複数の第2のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列と同一の場合にのみ、前記第1のJava(登録商標)対応アプレットに対して前記第2のJava(登録商標)対応アプレットへのアクセスを許可する、
    方法。
  7. 請求項6記載の方法であって、さらに、
    前記判定する工程によりアクセスを許可するべきであると判定された場合、前記Java(登録商標)バーチャルマシンが、前記第1のJava(登録商標)対応アプレットに、前記第2のJava(登録商標)対応アプレットに対する参照を提供する工程を備える方法。
  8. 請求項6に記載の方法であって、
    前記参照を提供する工程は、
    前記Java(登録商標)バーチャルマシンが、前記Java(登録商標)対応コンピューティングシステムの一部として実装される第1のメソッドを呼び出す工程と、
    前記Java(登録商標)バーチャルマシンが、前記第1のメソッドを呼び出した結果として、アプレットクラスとして実装された第2のメソッドを呼び出す工程と、
    を備える方法。
  9. コンピューティングシステムにセキュリティを提供するためのコンピュータプログラムコードを含むコンピュータ読み取り可能な記憶媒体であり、
    第1のアプリケーションから、第2のアプリケーションにアクセスするための要求を受領するためのコンピュータプログラムコードと、
    前記第1のアプリケーションに関連する第1のファイヤウォール制御ブロックと、前記第2のアプリケーションに関連する第2のファイヤウォール制御ブロックを読み出すためのコンピュータプログラムコードと、
    前記第1と第2のファイヤウォール制御ブロックに基づいて、前記第1のアプリケーションが前記第2のアプリケーションにアクセスするのを許可するべきかを判定するコンピュータプログラムコードと、
    前記判定するステップによりアクセスを許可するべきであると判定された場合、前記第1のアプリケーションが前記第2のアプリケーションにアクセスするのを許可するコンピュータプログラムコードと、
    を前記コンピューティングシステムに実行させるコンピュータ読み取り可能な記憶媒体であり、
    前記第1のファイヤウォール制御ブロックは、複数の第1のファイヤウォール制御値と、第1のファイヤウォール制御インジケータとを含み、前記第1のファイヤウォール制御インジケータは、前記複数の第1のファイヤウォール制御値のうちで前記第1のアプリケーションへのアクセス制御に使用されるファイヤウォール制御値の第1の個数を示し、
    前記第2のファイヤウォール制御ブロックは、複数の第2のファイヤウォール制御値と、第2のファイヤウォール制御インジケータとを含み、前記第2のファイヤウォール制御インジケータは、前記複数の第2のファイヤウォール制御値のうちで前記第2のアプリケーションへのアクセス制御に使用されるファイヤウォール制御値の第2の個数を示し、
    前記第2のファイヤウォール制御ブロックは、前記複数の第1のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列が、前記複数の第2のファイヤウォール制御値のうちの前記第2の個数のファイヤウォール制御値の配列と同一の場合にのみ、前記第1のアプリケーションに対して前記第2のアプリケーションへのアクセスを許可する、
    コンピュータ読み取り可能な記憶媒体。
JP2006547078A 2003-12-22 2004-12-09 コンフィギュラブルファイヤウォールを利用するシステム、方法、及びコンピュータ読み取り可能な記憶媒体 Active JP4850073B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/743,929 US7543331B2 (en) 2003-12-22 2003-12-22 Framework for providing a configurable firewall for computing systems
US10/743,929 2003-12-22
PCT/US2004/041303 WO2005066786A1 (en) 2003-12-22 2004-12-09 Framework for providing a configurable firewall for computing systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011037000A Division JP5323873B2 (ja) 2003-12-22 2011-02-23 コンフィギュラブルファイヤウォールを利用するシステム、方法、携帯コンピューティング機器、及びコンピュータ読み取り可能な媒体

Publications (2)

Publication Number Publication Date
JP2007515732A JP2007515732A (ja) 2007-06-14
JP4850073B2 true JP4850073B2 (ja) 2012-01-11

Family

ID=34678717

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006547078A Active JP4850073B2 (ja) 2003-12-22 2004-12-09 コンフィギュラブルファイヤウォールを利用するシステム、方法、及びコンピュータ読み取り可能な記憶媒体
JP2011037000A Active JP5323873B2 (ja) 2003-12-22 2011-02-23 コンフィギュラブルファイヤウォールを利用するシステム、方法、携帯コンピューティング機器、及びコンピュータ読み取り可能な媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011037000A Active JP5323873B2 (ja) 2003-12-22 2011-02-23 コンフィギュラブルファイヤウォールを利用するシステム、方法、携帯コンピューティング機器、及びコンピュータ読み取り可能な媒体

Country Status (5)

Country Link
US (2) US7543331B2 (ja)
EP (1) EP1697845A4 (ja)
JP (2) JP4850073B2 (ja)
CN (1) CN100449503C (ja)
WO (1) WO2005066786A1 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US7953671B2 (en) 1999-08-31 2011-05-31 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US7889052B2 (en) 2001-07-10 2011-02-15 Xatra Fund Mx, Llc Authorizing payment subsequent to RF transactions
US7725427B2 (en) 2001-05-25 2010-05-25 Fred Bishop Recurrent billing maintenance with radio frequency payment devices
US7303120B2 (en) 2001-07-10 2007-12-04 American Express Travel Related Services Company, Inc. System for biometric security using a FOB
US7360689B2 (en) 2001-07-10 2008-04-22 American Express Travel Related Services Company, Inc. Method and system for proffering multiple biometrics for use with a FOB
US9024719B1 (en) 2001-07-10 2015-05-05 Xatra Fund Mx, Llc RF transaction system and method for storing user personal data
US8284025B2 (en) 2001-07-10 2012-10-09 Xatra Fund Mx, Llc Method and system for auditory recognition biometrics on a FOB
US7249112B2 (en) 2002-07-09 2007-07-24 American Express Travel Related Services Company, Inc. System and method for assigning a funding source for a radio frequency identification device
US8001054B1 (en) 2001-07-10 2011-08-16 American Express Travel Related Services Company, Inc. System and method for generating an unpredictable number using a seeded algorithm
US7668750B2 (en) 2001-07-10 2010-02-23 David S Bonalle Securing RF transactions using a transactions counter
US8548927B2 (en) 2001-07-10 2013-10-01 Xatra Fund Mx, Llc Biometric registration for facilitating an RF transaction
US7735725B1 (en) 2001-07-10 2010-06-15 Fred Bishop Processing an RF transaction using a routing number
US7705732B2 (en) 2001-07-10 2010-04-27 Fred Bishop Authenticating an RF transaction using a transaction counter
US9031880B2 (en) 2001-07-10 2015-05-12 Iii Holdings 1, Llc Systems and methods for non-traditional payment using biometric data
US20040236699A1 (en) 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for hand geometry recognition biometrics on a fob
US9454752B2 (en) 2001-07-10 2016-09-27 Chartoleaux Kg Limited Liability Company Reload protocol at a transaction processing entity
US8294552B2 (en) 2001-07-10 2012-10-23 Xatra Fund Mx, Llc Facial scan biometrics on a payment device
US6805287B2 (en) 2002-09-12 2004-10-19 American Express Travel Related Services Company, Inc. System and method for converting a stored value card to a credit card
US7374099B2 (en) * 2004-02-24 2008-05-20 Sun Microsystems, Inc. Method and apparatus for processing an application identifier from a smart card
US7191288B2 (en) * 2004-02-24 2007-03-13 Sun Microsystems, Inc. Method and apparatus for providing an application on a smart card
US7165727B2 (en) * 2004-02-24 2007-01-23 Sun Microsystems, Inc. Method and apparatus for installing an application onto a smart card
US7140549B2 (en) * 2004-02-24 2006-11-28 Sun Microsystems, Inc. Method and apparatus for selecting a desired application on a smart card
ATE500698T1 (de) 2004-04-30 2011-03-15 Research In Motion Ltd System und verfahren zur filterung von datentransfers in einem mobilgerät
CA2509092A1 (en) * 2004-06-03 2005-12-03 Casting Workbook Services Inc. Method and system for creating, tracking, casting and reporting on moving image projects
US7318550B2 (en) 2004-07-01 2008-01-15 American Express Travel Related Services Company, Inc. Biometric safeguard method for use with a smartcard
US20060000893A1 (en) * 2004-07-01 2006-01-05 American Express Travel Related Services Company, Inc. Method for biometric security using a smartcard-reader
DE102004059391C5 (de) * 2004-12-09 2012-01-12 Jörg Eberwein Krypto-Wireless-Tag
US7232073B1 (en) 2004-12-21 2007-06-19 Sun Microsystems, Inc. Smart card with multiple applications
US7719708B2 (en) * 2005-06-01 2010-05-18 Sharp Laboratories Of America, Inc. Secured release method and system for transmitting and imaging a print job in which a security attribute in the print job header will prevent acceptance of subsequent data packets until a user performs authentication on the imaging device
US20070017969A1 (en) * 2005-07-14 2007-01-25 Wilson James B Iii Identification card
JP4867482B2 (ja) * 2006-06-06 2012-02-01 富士ゼロックス株式会社 制御プログラムおよび通信システム
EP1971101B1 (en) * 2007-03-12 2018-11-21 Nokia Solutions and Networks GmbH & Co. KG A method , a device for configuring at least one firewall and a system comprising such device
US8024790B2 (en) * 2007-04-11 2011-09-20 Trend Micro Incorporated Portable secured computing environment for performing online confidential transactions in untrusted computers
US7913299B2 (en) * 2007-12-21 2011-03-22 International Business Machines Corporation Systems, methods and computer program products for firewall use of certified binaries
US8479006B2 (en) * 2008-06-20 2013-07-02 Microsoft Corporation Digitally signing documents using identity context information
CN101452397B (zh) * 2008-11-27 2012-08-22 上海交通大学 虚拟化环境中的强制访问控制方法及装置
CN101964068A (zh) * 2009-07-22 2011-02-02 深圳市江波龙电子有限公司 一种sd卡及其数据访问控制方法
JP5258059B2 (ja) * 2009-08-27 2013-08-07 Necカシオモバイルコミュニケーションズ株式会社 通信端末装置、および、プログラム
US8807440B1 (en) 2010-12-17 2014-08-19 Google Inc. Routing secure element payment requests to an alternate application
US8352749B2 (en) 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US8621168B2 (en) 2010-12-17 2013-12-31 Google Inc. Partitioning the namespace of a contactless smart card
US8479294B1 (en) 2011-02-15 2013-07-02 Trend Micro Incorporated Anti-malware scan management in high-availability virtualization environments
US20140096237A1 (en) * 2011-05-24 2014-04-03 Nec Corporation Information processing system, access right management method, information processing apparatus and control method and control program therefor
US8255687B1 (en) 2011-09-15 2012-08-28 Google Inc. Enabling users to select between secure service providers using a key escrow service
US8171525B1 (en) 2011-09-15 2012-05-01 Google Inc. Enabling users to select between secure service providers using a central trusted service manager
US8313036B1 (en) 2011-09-16 2012-11-20 Google Inc. Secure application directory
US9161226B2 (en) 2011-10-17 2015-10-13 Blackberry Limited Associating services to perimeters
EP2592578A1 (en) * 2011-11-10 2013-05-15 Research In Motion Limited Managing cross perimeter access
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
US8484732B1 (en) 2012-02-01 2013-07-09 Trend Micro Incorporated Protecting computers against virtual machine exploits
US8966632B1 (en) 2012-02-17 2015-02-24 Trend Micro Incorporated In-the-cloud sandbox for inspecting mobile applications for malicious content
US8385553B1 (en) 2012-02-28 2013-02-26 Google Inc. Portable secure element
US8429409B1 (en) 2012-04-06 2013-04-23 Google Inc. Secure reset of personal and service provider information on mobile devices
US9369466B2 (en) 2012-06-21 2016-06-14 Blackberry Limited Managing use of network resources
CN103093142B (zh) * 2012-12-26 2015-07-22 飞天诚信科技股份有限公司 一种Java卡对象访问的控制方法
US10075384B2 (en) 2013-03-15 2018-09-11 Advanced Elemental Technologies, Inc. Purposeful computing
US9378065B2 (en) 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
US9721086B2 (en) 2013-03-15 2017-08-01 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US9225799B1 (en) 2013-05-21 2015-12-29 Trend Micro Incorporated Client-side rendering for virtual mobile infrastructure
US9444912B1 (en) 2013-05-21 2016-09-13 Trend Micro Incorporated Virtual mobile infrastructure for mobile devices
US9300720B1 (en) 2013-05-21 2016-03-29 Trend Micro Incorporated Systems and methods for providing user inputs to remote mobile operating systems
US9049169B1 (en) 2013-05-30 2015-06-02 Trend Micro Incorporated Mobile email protection for private computer networks
GB2517493A (en) * 2013-08-23 2015-02-25 Advanced Risc Mach Ltd Handling access attributes for data accesses
US9507617B1 (en) 2013-12-02 2016-11-29 Trend Micro Incorporated Inter-virtual machine communication using pseudo devices
US9824246B2 (en) * 2014-01-03 2017-11-21 Kt Corporation Radio frequency identification tag having input device
JP6282204B2 (ja) 2014-09-12 2018-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュアサイト内のネットワークへのアクセス監視システム、方法
US10592710B1 (en) 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CN111147428B (zh) * 2018-11-06 2022-04-26 中国电信股份有限公司 访问控制方法、系统、安全单元se访问插件装置和终端
EP3825881B1 (en) * 2019-11-21 2021-12-29 IDEMIA France Managing personalisation in a device implementing a java card environment
US11544373B2 (en) * 2020-12-18 2023-01-03 Huawei Technologies Co., Ltd. Method and system for application security

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189633A (ja) * 2000-12-21 2002-07-05 Nec Corp 仮想空間のメモリ保護方法及び装置
JP2003196625A (ja) * 2001-12-27 2003-07-11 Dainippon Printing Co Ltd Icカードプログラム及びicカード
WO2003069922A2 (en) * 2002-02-15 2003-08-21 Telefonaktiebolaget Lm Ericsson (Publ) Layered sim card and security function

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1516795A (en) * 1922-07-14 1924-11-25 Schwarting Louise Limb support for operating tables
US1721221A (en) * 1926-04-14 1929-07-16 Jauregui Pedro Surgical arm chair
US5092552A (en) * 1982-10-04 1992-03-03 Wang Laboratories, Inc. Ergonomic equipment arm
US4997054A (en) * 1989-04-14 1991-03-05 J. I. Case Company Adjustable wrist rest
JP4145365B2 (ja) * 1994-08-03 2008-09-03 株式会社野村総合研究所 ファイルアクセス制御装置
JP3688830B2 (ja) 1995-11-30 2005-08-31 株式会社東芝 パケット転送方法及びパケット処理装置
US5751813A (en) 1996-04-29 1998-05-12 Motorola, Inc. Use of an encryption server for encrypting messages
US5944823A (en) * 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
US6047376A (en) 1996-10-18 2000-04-04 Toshiba Information Systems (Japan) Corporation Client-server system, server access authentication method, memory medium stores server-access authentication programs, and issuance device which issues the memory medium contents
US6678822B1 (en) 1997-09-25 2004-01-13 International Business Machines Corporation Method and apparatus for securely transporting an information container from a trusted environment to an unrestricted environment
US6056162A (en) * 1997-10-31 2000-05-02 Spectronics Corporation Self-contained service tool for adding fluorescent leak detection dye into systems operating with pressurized fluids
CA2228687A1 (en) 1998-02-04 1999-08-04 Brett Howard Secured virtual private networks
US6000916A (en) * 1998-02-06 1999-12-14 Optimize Technologies, Inc. Pump head quick connect assembly
US6317838B1 (en) 1998-04-29 2001-11-13 Bull S.A. Method and architecture to provide a secured remote access to private resources
US6092202A (en) 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
US20040154027A1 (en) * 1998-10-14 2004-08-05 Jean-Jacques Vandewalle Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server
US6256690B1 (en) 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card
US6526506B1 (en) 1999-02-25 2003-02-25 Telxon Corporation Multi-level encryption access point for wireless network
US6542993B1 (en) 1999-03-12 2003-04-01 Lucent Technologies Inc. Security management system and method
GB2348568A (en) 1999-03-31 2000-10-04 Ibm Enabling conformance to legislative requirements for mobile devices
US7127605B1 (en) * 1999-05-10 2006-10-24 Axalto, Inc. Secure sharing of application methods on a microcontroller
US7620980B1 (en) * 1999-07-21 2009-11-17 Sun Microsystems, Inc. Secure data broker
US20010007146A1 (en) 1999-12-23 2001-07-05 Uwe Hansmann Method for providing a set of software components
JP4548758B2 (ja) * 2000-09-05 2010-09-22 大日本印刷株式会社 共有アクセス管理機能を備えた携帯可能な情報処理装置
US7380008B2 (en) * 2000-12-22 2008-05-27 Oracle International Corporation Proxy system
US6619747B2 (en) * 2001-04-25 2003-09-16 Kam Ko Torso and forearm supporting device for chairs and workstands
US7392546B2 (en) * 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US6896183B2 (en) 2001-08-03 2005-05-24 Dai Nippon Printing Co., Ltd. Multi-application IC card
US6704959B2 (en) * 2001-08-13 2004-03-16 Peter Schuerch Adjustable position limb support for surgical tables
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US6786461B1 (en) * 2003-07-30 2004-09-07 Horng Sheng Lih Enterprise Co., Ltd. Computer armrest

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189633A (ja) * 2000-12-21 2002-07-05 Nec Corp 仮想空間のメモリ保護方法及び装置
JP2003196625A (ja) * 2001-12-27 2003-07-11 Dainippon Printing Co Ltd Icカードプログラム及びicカード
WO2003069922A2 (en) * 2002-02-15 2003-08-21 Telefonaktiebolaget Lm Ericsson (Publ) Layered sim card and security function

Also Published As

Publication number Publication date
US7543331B2 (en) 2009-06-02
JP2011150709A (ja) 2011-08-04
JP5323873B2 (ja) 2013-10-23
EP1697845A4 (en) 2008-04-23
US7503064B2 (en) 2009-03-10
US20050149926A1 (en) 2005-07-07
US20050138354A1 (en) 2005-06-23
WO2005066786A1 (en) 2005-07-21
EP1697845A1 (en) 2006-09-06
JP2007515732A (ja) 2007-06-14
CN1918549A (zh) 2007-02-21
CN100449503C (zh) 2009-01-07

Similar Documents

Publication Publication Date Title
JP4850073B2 (ja) コンフィギュラブルファイヤウォールを利用するシステム、方法、及びコンピュータ読み取り可能な記憶媒体
EP0757336B1 (en) Data exchange systems comprising portable data processing units
US8321923B2 (en) Secure sharing of resources between applications in independent execution environments in a retrievable token (e.g. smart card)
US6385645B1 (en) Data exchange system comprising portable data processing units
EP0666550B1 (en) Data exchange system comprising portable data processing units
EP1155366B2 (en) Techniques for permitting access across a context barrier on a small footprint device using an entry point object
US6296191B1 (en) Storing data objects in a smart card memory
US20140189880A1 (en) System and method for administrating access control rules on a secure element
EP3588275A2 (en) Suspending and resuming a card computing device
Husemann Standards in the smart card world
Marvie et al. Value-added Services: How to Benefit from Smart Cards
Yuqiang et al. Design and implementation of Smart Card COS
Oldenburg et al. Smartcard-based multi user security concept for mobile devices
Sauveron et al. Smart Card Reader and Mobile APIs
Adavalli Smart Card Solution: Highly secured Java Card Technology
Corcoran et al. An open middleware for smart cards
Chaumette et al. The Software Infrastructure of a Java Card Based Security Platform for Distributed Applications.
Stusek et al. Prototyping minimal footprint NFC-based user access control system for IoT applications
Cucinotta et al. An open middleware for smart cards
Catuogno et al. Securing operating system services based on smart cards
Vogt et al. Middleware for smart cards
Huang et al. A controllable and accountable state-oriented Card-Aided Firewall

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110413

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110829

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: 20110920

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: 20111018

R150 Certificate of patent or registration of utility model

Ref document number: 4850073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250