JP2007265404A - ソフトウェア・アプリケーション配布のための範囲を制限された許可 - Google Patents

ソフトウェア・アプリケーション配布のための範囲を制限された許可 Download PDF

Info

Publication number
JP2007265404A
JP2007265404A JP2007065370A JP2007065370A JP2007265404A JP 2007265404 A JP2007265404 A JP 2007265404A JP 2007065370 A JP2007065370 A JP 2007065370A JP 2007065370 A JP2007065370 A JP 2007065370A JP 2007265404 A JP2007265404 A JP 2007265404A
Authority
JP
Japan
Prior art keywords
security
application
metadata
distribution
parameter
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.)
Granted
Application number
JP2007065370A
Other languages
English (en)
Other versions
JP5030626B2 (ja
Inventor
Bentley John Hargrave
ベントリー、ジョン、ハーグレーブ
Peter Kriens
ピーター、クリーンス
Benjamin C Reed
ベンジャミン、クレー、リード
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007265404A publication Critical patent/JP2007265404A/ja
Application granted granted Critical
Publication of JP5030626B2 publication Critical patent/JP5030626B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】ソフトウェア開発および配送プロセスの複数のレベルの間でセキュリティ許可の割り当てを分配する態様で、セキュリティ許可を定義する方法を提供する。
【解決手段】開発者は、特定のアプリケーションに対する許可を、メタデータとして定義して、アプリケーションと関連して保存される許可メタデータ・ファイル内に許可を保存する。署名者は、アプリケーション及び許可ファイルを検査して、ファイル内の適切な許可レベルが適正に設定されているとき、アプリケーションを有効にするか、又はアプリケーションに署名する。署名者が、アプリケーションおよび許可ファイル内の許可を有効にした、又は署名したとき、アプリケーションは、許可ファイルの下での最大の許可が付与された状態で、利用者に配布され、又は提供される。利用者は、アプリケーションにポリシー・ファイルを付加することにより、開発者から付与された許可の範囲をさらに制限できる。
【選択図】図1

Description

本発明は、一般的に、コンピュータ・セキュリティに関し、さらに具体的に述べると、コンピュータ利用技術におけるセキュリティ許可を定義する方法、システム及びプログラムに関する。
「ウェブ」と呼ばれることもあるインターネットの出現とともに、企業および消費者は、以前は利用できなかったソフトウェア・アプリケーションの開発および配送のための複数のチャンネルを有する。企業体の複数のレベルに渡るアプリケーションの分配は、組織間の信用の問題をもたらす。例えば、企業内でアプリケーションを実装する配布者は、アプリケーションの健全性を検証する署名者を信じなければならず、この署名者もまた、アプリケーションのコードを作る開発者を信じなければならない。ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ社(IBM)のような企業は、ソフトウェア・アプリケーションの配布、統合、実行、および管理を容易にするセキュリティ手続きを開発した。
現在、コンピュータ・セキュリティ問題に対する一般的なアプローチの1つは、ランタイム環境におけるアプリケーションの健全性を確保するために、Java(登録商標)2セキュリティ・モデルを配布することである。Java(登録商標)2セキュリティの1つの問題は、正確なセキュリティ許可を定義するプロセスが厄介であることである。
ワシントン州レドモンドのマイクロソフト社により発表されたウィンドウズ(登録商標)では、アプリケーション許可は、ゾーンまたはグループに基づいている。異なったセキュリティ・ゾーンが定義されるとともに、特定ゾーン内の主要な決定は、アプリケーションのセキュリティ許可設定に基づいて、特定のアプリケーションを実行するべきかどうかということである。アプリケーションの実行を許可する決定が行われると、通常、稼動するアプリケーションは、ゾーンに対応するすべての許可を取得する。さらに、許可があまりにも細かく分割されているため、セキュリティ・ゾーンはJava(登録商標)環境では有用ではない。換言すれば、この細かく分割された、イエスかノーかのアプローチは、アプリケーションを配布するシステム管理者または他の利用者が、詳細なセキュリティ設定情報を使用できることを要求するとともに、利用者が、特定のゾーン内の異なるアプリケーションに対して、異なるレベルのセキュリティを設定することを防止する。
Java(登録商標)2セキュリティは、セキュリティ・ポリシーを実施するために、許可検査を使用する。J2EEランタイム環境デフォルトJava(登録商標)2セキュリティ・ポリシーは、ランタイム健全性を確保するために、J2EEアプリケーションに、非常に限定された許可の組を付与する。アプリケーションを配布する利用者は、アプリケーションに対する許可レベルを設定しなければならない。上述したように、このアプローチは、アプリケーションを配布する利用者が、アプリケーションがどのように使用されるべきか、および誰によって使用されるべきかについての詳細な情報を有することを要求する。
アプリケーションを開発して、署名して、配布する責任がある人々の間にセキュリティ・ポリシーの設定を分配するシステムが求められている。各レベルにおいて、作業者は、セキュリティ要求上の異なった見解を有し、分散型アプローチは、各レベルの作業者が彼らの特定のセキュリティ上の問題に対処することを可能にするであろう。
ソフトウェア開発および配送プロセスの複数のレベル間でセキュリティ許可の割り当てを分配する態様で、コンピュータ利用技術におけるセキュリティ許可を定義する方法を提供する。レベルは、開発者、アプリケーション署名者、およびアプリケーションを配布する作業者を含むが、これらに限らない。許可ファイルを作成することにより、開発者は特定のアプリケーションに適用可能な最大の許可を指定できる。その後署名者は、システムに関する署名者の知識に応じて、アプリケーションの許可をさらに制限できる。最後に、アプリケーションを配布する利用者は、様々な利用者に割り当てられた特定の許可についてのコントロールをアサートすることができる。
開発者は、特定のアプリケーションに対する許可を、アプリケーション内のメタデータとして定義して、アプリケーションと関連して保存される許可メタデータ・ファイル内に許可を保存する。署名者は、アプリケーションおよび許可ファイルを検査して、ファイル内の適切な許可レベルが適正に設定されたことが満たされているとき、アプリケーションを有効にするか、またはアプリケーションに「署名する」。署名者が、アプリケーションおよび許可ファイル内の許可を有効にしたか、または署名したとき、アプリケーションは、許可ファイルの下での最大の許可が付与された状態で、コンピューティング・システム上にアプリケーションをインストールする利用者に配布され、または提供される。配布されたアプリケーションは、メタデータにおいて指定された許可を付与されるが、利用者が署名者と関連づけて、かつポリシー・ファイルにおいて定義した許可に制限される。換言すれば、アプリケーションが実行されるとき、ランタイム検査は、アプリケーションが、アプリケーションを配布する人が署名者に付与した最大の信用に基づいて、署名者により保証されるような許可ファイルと、アプリケーションを配布する作業者により定義されるようなポリシー・ファイルの両方により許可される動作を実行できるだけであることを確保する。
開示された技術の1つの利点は、署名者が責任を制限できることである。例えば、署名者が、特定のバンドルがあまり信頼できないと判断するとき、署名者は、狭いセキュリティ範囲の中だけで、バンドルに署名できる。署名者はまた、異なった信用レベルに対して同じ証明書を使用できるため、コンピュータ管理を簡素化できる。さらに、システム管理者または他の利用者は、実行処理に対して必要とされる許可について判断するために、配布の前に許可ファイルを検査することができる。また、クレームされた内容は、システム管理者が特定の署名者が受け取るアプリケーションの最大セキュリティ範囲を制限することを可能とする。
この要約は、クレームされた内容を包括的に説明するものではなく、むしろ、クレームされた内容と関連する機能のうちの、いくつかの簡潔な概説を提供するものである。本発明の他のシステム、方法、機能、特徴、および利点は、後述の図面および詳細な説明を検討すれば、当業者に明らかであり、または明らかになるであろう。
特にウィンドウズ(登録商標)・オペレーティング・システム(OS)およびJava(登録商標)開発環境に関連して説明されるが、クレームされた内容は、フレキシブルなアプリケーション・セキュリティが好ましい任意の情報技術(IT)システムにおいて実行されうる。コンピューティング技術の当業者は、開示された実施形態が、後述されるコンピューティング環境に加えて、様々なコンピューティング環境と関連性を有することを認識するであろう。さらに、開示された発明の方法は、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアの組み合わせで実行されうる。ハードウェア部分は、専用ロジックを用いて実行され、ソフトウェア部分は、メモリに保存されて、マイクロプロセッサ、パーソナル・コンピュータ(PC)、またはメインフレームのような好適な命令実行システムにより実行されうる。
本明細書の文脈では、「メモリ」または「記録媒体」は、命令実行システム、装置、またはデバイスにより使用する、または命令実行システム、装置、またはデバイスと共に使用する、プログラムおよびデータ、もしくは、プログラムまたはデータを、含む、保存する、通信する、伝搬する、または搬送する任意の手段でありうる。メモリおよび記録媒体は、電子的、磁気的、光学的、電磁気的、赤外線式、または半導体のシステム、装置、もしくはデバイスでありうるが、これらに限らない。また、メモリおよび記録媒体は、例えば、携帯用コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラム可能読取り専用メモリ(EPROM、またはフラッシュ・メモリ)、および携帯用コンパクト・ディスク読取り専用メモリ、または、プログラムおよびデータ、もしくは、プログラムまたはデータを保存できる他の好適な媒体を含むが、これらに限らない。
クレームされた主題に基づく一実施形態は、ソフトウェア・アプリケーション・セキュリティを実行するプログラムされた方法に関する。本明細書で使用される「プログラムされた方法」という用語は、現在、実行される1つ以上のプロセス・ステップ、あるいは、将来の時点で実行されることが可能な1つ以上のプロセス・ステップを意味すると定義される。プログラムされた方法という用語は、3つの選択的形態を予想する。第1に、プログラムされた方法は、現在、実行されるプロセス・ステップを含む。第2に、プログラムされた方法は、コンピュータにより実行されるとき1つ以上のプロセス・ステップを実行する、コンピュータ命令を具現化するコンピュータ読み込み可能媒体を含む。最後に、プログラムされた方法は、1つ以上のプロセス・ステップを実行するために、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせでプログラムされたコンピュータ・システムを含む。「プログラムされた方法」という用語は、同時に2つ以上の選択的形態を有するものと解釈されるべきではなく、むしろ、選択的形態の最も本当の意味で解釈されるべきであり、所与の任意の時点において、複数の選択的形態のうち、1つだけが存在することを理解すべきである。
ここで図面を参照すると、図1は、クレームされた内容を組み込んだ例示的コンピューティング・システム・アーキテクチャ100のブロック図である。クライアント・システム102は、共に、コンピューティング・システム100およびクライアント・システム102とのヒューマン・インタラクションを容易にするモニタ106、キーボード108、およびマウス110に結合された中央処理装置(CPU)104を含む。また、クライアント・システム102内に含まれ、かつCPU104に取り付けられているのは、データ記憶構成要素112であり、このデータ記憶構成要素112は、CPU104、すなわち内部デバイスに組み込まれてもよく、またはこれに限定されないが、例えば、ユニバーサル・シリアル・バス(USB)ポート(図示しない)のような様々な一般的に利用可能な接続デバイスを用いて、外部からCPU104に取り付けられてもよい。クレームされた内容を組み込んだ例示的コンピュータ・ソフトウェア・アプリケーション114を保存するデータ記憶112が示されている。アプリケーション114は、数個の構成要素、すなわち、コード116、許可メタデータ・ファイル118、証明書120、および署名122を含む。また、ポリシー・ファイル124がデータ記憶112上に保存されている。アプリケーション114と関連して示されているが、ポリシー・ファイル124は、アプリケーション114とは別々に配布されるとともに、アプリケーション114に固有のものではない。換言すれば、通常、ポリシー・ファイル124は、特定のアプリケーションに対するポリシーではなく、コンピュータ・システムに対するポリシーを定義する。典型的なコンピューティング・システムは、2つ以上のアプリケーションを含むであろうが、便宜上、1つだけを示していることに注目すべきである。構成要素118、120、122、および124は、発明の背景において上述したセキュリティ問題に対処する分散型のフレキシブルなセキュリティ・ポリシーを提供するセキュリティ・システムの構成要素を示す。構成要素118、120、122、および124は、図2〜図5と共にさらに詳細に後述される。
クライアント・システム102およびCPU104は、インターネット126に接続され、また、このインターネット126は、サーバ・コンピュータ128に接続される。この例では、CPU104およびサーバ128は、インターネット126を介して結合されて通信を行うが、また、CPU104およびサーバ128は、これに限定されないが、例えば、ローカル・エリア・ネットワーク(LAN)(図示しない)のような任意の個数の通信媒体を介して結合されうる。さらに、多数の可能なコンピューティング・システム構成があり、コンピューティング・システム100は、その1つの簡単な例に過ぎないことに注目すべきである。
図2は、クレームされた内容を使用する、ソリューション、またはアプリケーション開発システム130のブロック図である。図1のクライアント・システム102、コード116、サーバ、または「ステージング・サーバ」128が、この図に含まれている。図1と同様に、アプリケーション114は、コード116、許可メタデータ118、証明書120、および署名122を含む。この図は、開発システム130によるアプリケーション114の作成を示す。
開発者が、特定のソフト市場にカスタム・ビジネス・ソリューションを提供するこの例において、プロセスは、アプリケーション開発132、アプリケーション認証または署名134、アプリケーション・ステージング136、およびアプリケーション配布138の4つの例示的段階に分けて示される。
アプリケーション開発132の間に、開発者は、コード116を作成して、コード116と関連する許可メタデータ・ファイル118を定義する。コード116は、例示的ファイル、すなわち、ファイル_1 140、およびファイル_2 142を含む。便宜上、ファイル_1 140、およびファイル_2 142は、開発プロセス130のうち、1段階の間だけ、コード116内に示されているが、ファイル140および142は、段階134、136、および138を通じても同様にコード116の一部であることを理解すべきである。
例示的許可メタデータ・ファイル118は、図3と共にさらに詳細に後述される。許可メタデータ・ファイル118を使用するプロセスは、図4および図5と共に詳細に後述される。コード116の開発は、カスタム・コンピュータ・コードの記述、ならびにサード・パーティのコードおよびソフトウェア製品の組み込みを含みうるが、これらに限らない。換言すれば、コード116は、市販の製品であったり、専門技術者により作成されたり、またはサード・パーティ業者により開発された任意の個数の個別構成要素を含みうる。ファイル_1 140、およびファイル_2 142は、2つのこのような構成要素である。ファイル140および142は、あくまで説明のために使用されたに過ぎず、典型的なアプリケーション114および対応するコード116は、多数のファイルおよび構成要素を含むであろうことに注目すべきである。便宜上、ファイル_1 140、およびファイル_2 142だけが示されている。
アプリケーション署名134の間に、システム管理者のような信頼のある当事者が、コード116、および許可メタデータ・ファイル118を検査して、セキュリティ要件が満たされているとき、証明書120、および対応する署名122を付加することにより、コード116およびファイル118を認証する。認証の前に、付加的なファイル(図示しない)が、コード116、および許可メタデータ・ファイル118に含まれうる。認証されると、コード116、許可メタデータ・ファイル118、証明書120、および署名122は、アプリケーション・パッケージ144の一部分となり、証明書120および署名122を無効にすることなく、変更することができない。換言すれば、コード116、もしくはファイル140または142のような任意の構成要素部分が変更されるとき、新しい証明書120および署名122を挿入することにより、コード116および許可メタデータ・ファイル118を再認証しなければならない。したがって、アプリケーション・パッケージ144の証明書120および署名122は、システム管理者または他の認定ユーザが、アプリケーション・パッケージ144がセキュリティのために調べられたことを認識して、アプリケーション・パッケージ144を配布することを可能とする。
証明書120は、システム管理者、他の認定ユーザ、または「署名者」を確認する手段である。証明書120は、証明書チェーンを有する署名者に対応する公開鍵を含む。証明書120は、署名者のアイデンティティの証拠として、異なったアプリケーションで提示されうる。署名された各アプリケーションは、アプリケーション114のようなアプリケーションのコンテンツに基づく、異なった署名122、およびアプリケーションに署名するために使用された証明書120を有する。実際に、わずかであってもバージョンのコンテンツが異なるため、アプリケーションの異なったバージョンは、異なった署名を有する。したがって、署名122は2つの機能を実行し、すなわち、署名122は、証明書120が署名122を作成するために使用されたことを確認するために使用されうるとともに、また、アプリケーション114のコンテンツ、および証明書120が関連する他の任意のアプリケーションのコンテンツを検証するために使用されうる。セキュリティのためにアプリケーションを検査して、認証して、かつ署名するプロセスは、コンピューティング技術および暗号技術の当業者には、よく知られているはずである。
アプリケーション・ステージング136は、最終的なクライアントまたは顧客にアプリケーション・パッケージ144を分配するいくつかの方法を示す。このような分配手段の例としては、例えば、クライアント・システム102などの顧客システム上にインストールするために、郵送、または別の方法で顧客に配送されるコンパクト・ディスク(CD)146、およびクライアント・システム102がアプリケーション・パッケージ144のような製品またはソリューションをダウンロードできるステージング・サーバ128などがあるが、これらに限らない。コンピューティング技術の当業者は、CD146およびステージング・サーバ128の他に、多数の可能な配送選択肢があることを認識するはずである。
アプリケーション配布138の間に、クライアント・システム102に対する責任を有するシステム管理者または他の作業者が、データ記憶112上にアプリケーション・パッケージ144をロードする。配布されると、アプリケーション114は、多く見てもせいぜい許可メタデータ・ファイル118内に指定される許可を付与される。システム管理者、またはアプリケーション114を配布する他の利用者は、コード116および許可メタデータ・ファイル118を検査した後に、管理者が有しうる任意のセキュリティ上の問題に対処するためにポリシー・ファイル124を付加する。アプリケーション114が実行されるとき、ランタイム検査は、アプリケーション114が、署名者により保証されるような許可メタデータ・ファイル118と、アプリケーション114を配布する作業者により定義されるようなポリシー・ファイル124の両方により許可される動作を実行できるだけであることを確保する。このように、段階132、134、および138の作業者は皆、彼らの個々の必要性および関心に基づいて、アプリケーション114に付与される最大の許可を管理する。特に、システム管理者は、アプリケーション配布段階138の間、アプリケーション署名段階134の間に証明書120および署名122を作成した署名者に管理者が付与した最大の信用に基づいて、アプリケーション114を制限できる。例えば、管理者が、特に開発者または署名者を信頼しないとき、それでもなお、アプリケーションは、非常に限られた許可を付与されて、かつ実行することができる。
図3は、図1および図2と共に最初に上述された、クレームされた内容の一実施形態で使用されうる例示的許可メタデータ・ファイル118を示す。許可メタデータ・ファイル118は、「ファイル」エントリ150、「特性」エントリ152、および「システム」エントリ154を含む。ファイル・エントリ150は、コード116(図1および図2)と関係がある様々なファイルと関連するアクセス許可を定義し、この例では、両方とも図2と共に上述された、ファイル_1 140、およびファイル_2 142を含む。特性エントリ152は、コンピューティング・システムおよびアプリケーション114と関連しうる様々な特性に対するアクセス権を定義する。システム・エントリ154は、特に、アプリケーション114がインストールされるシステムにアクセスするために使用されうる様々なリモート・コンピューティング・デバイスに対するアクセス・パラメータを定義する。下記の例では、アプリケーション114は、クライアント・システム102上にインストールされて、サーバ128からのリモート・アクセスを可能とする。
ファイル・エントリ150は、例示的ファイル_A(図示しない)を参照する第1行「java.io.FilePermission “FILE_A” ‘read,write’」、および例示的データ・ファイル_B(図示しない)を参照する第2行「java.io.FilePermission “FILE_B” “read,execute”」の2つの例示的な行を含む。ファイル・エントリ150内の行のシンタックスは、第1のエントリ、例えば、「jave.io.FilePermissions」は、許可の種類を指定し、第2のエントリ、例えば、「FILE_A」は、許可が適用される組織名であり、第3のエントリ、例えば、「read,write」は、対応するファイルについて許された許可された動作を指定する。例えば、第1の行で、「java.io.FilePermission」というフレーズは、エントリがjava入出力(I/O)許可を参照することを指定する。「FILE_A」という用語は、対応するデータ・ファイルを指定する。「read,write」というフレーズは、ファイル_Aが、利用者またはアプリケーションにより、読み出されかつ書き込まれうることを示す。簡単に述べると、ファイル_Aは、利用者およびアプリケーションが読み出しかつ書き込むことができる普通のファイルとしてリストにされる。
特性エントリ152は、1つの例示的な行「java.io.PropertyPermission “some.property.name” “read”」を含む。ファイル・エントリ150と同様に、第1のフレーズ、例えば、「java.io.PropertyPermission」は、許可の種類を指定し、第2のエントリ、例えば、「some.property.name」は、許可が適用される組織名であり、第3のエントリ、例えば、「read」は、対応する特性について許された許可された動作を指定する。換言すれば、行「java.io.PropertyPermission “some.property.name” “read”」は、エントリが特性に対するjava入出力(I/O)許可を参照することを指定する。「some.property.name」という用語は、定義された特性を指定する。「read」というフレーズは、対応する特性が、利用者またはアプリケーションにより、読み出されうることを示す。
システム・エントリ154は、1つの例示的な行「java.net.SocketPermission “www.ibm.com:80” “connect,accept”」を含む。システム・エントリ154内の行のシンタックスは、ファイル・エントリ150および特性エントリ152のシンタックスと類似している。例えば、システム・エントリ154におけるこの例の行の1つは、この例では、“www.ibm.com”の、ホスト・ポート80が、接続と連結してかつ受容することが許可されることを示す。
ファイル118は、クレームされた内容を実行するために使用されうる許可メタデータ・ファイルの一例に過ぎないことを理解すべきである。コンピューティング技術の当業者は、本明細書に説明されたシステムに組み込まれうるエントリには、多数のフォーマットおよび種類があることを理解すべきである。エントリ150、152、および154のエントリのフォーマットおよび意味は、あくまで例として使用されているに過ぎない。さらに、シンタックスおよび意味は、コンピューティング技術の当業者には、よく知られているはずである。
図4は、クレームされた内容と関連するアプリケーション開発および配布(D&D)プロセス200のフローチャートである。開示された技術に基づき、プロセス200と関連する動作が、アプリケーション開発および配布プロセス130(図2)の数人の作業者の間に分配される。例えば、アプリケーションは、送信前に開発者により署名され、または送信後に開発者以外のだれかにより署名されうる。関連しているとき、特定の動作に対して通常責任のある当事者について、説明されるであろう。
プロセス200は、「アプリケーション・パッケージ(AP)の開発および配布 (D&D)を開始」ブロック202で始まり、コントロールは、直ちに「アプリケーションをコード化」ブロック204に進む。ブロック204の間に、アプリケーション開発者は、コード116(図1および図2)を特定用途用に、書き込みおよびアセンブルし、もしくは、書き込みまたはアセンブルする。上述したように、コード116の開発は、カスタム・コンピュータ・コードの記述、ならびにサード・パーティのコードおよびソフトウェア製品の組み込みを含みうるが、これらに限らない。換言すれば、コード116は、市販の製品であったり、専門技術者により作成されたり、またはサード・パーティ業者により開発された任意の個数の個別構成要素を含みうる。ファイル_1 140(図2)、およびファイル_2 142(図2)は、2つのこのような構成要素である。
ブロック204の間にコードが製作された後、「許可を定義」ブロック206の間に、アプリケーション開発者は、ファイル118(図1〜図3)のような許可メタデータ・ファイルを製作する。「パッケージを送信」ブロック208の間に、開発者は、コード116およびファイル118をアプリケーション・パッケージとして、パッケージのソースを検証する署名者に配送する。ブロック208は、アプリケーション開発132(図2)から、アプリケーション署名134(図2)への移行に対応する。
「パッケージを認証」ブロック210の間に、ファイル内の、図3と共に上述したもののような適切な許可レベルが、適正に設定されたことが満たされているとき、署名者は、コード116および許可メタデータ・ファイル118を検査して、それらを有効にするか、またはそれらに「署名する」。アプリケーションの署名は、アプリケーション・パッケージ144(図2)を製作するために、証明書120および署名122を、コード116および許可メタデータ・ファイル118に組み込むことにより実行される。
ブロック210の間に署名者がアプリケーションおよび許可ファイルを有効にしたか、または署名したとき、「パッケージを配送」ブロック212の間に、アプリケーションがエンド・ユーザに配送される。ブロック212は、アプリケーション署名134から、アプリケーション・ステージング136(図2)を介して、アプリケーション配布138(図2)への移行に対応する。「ポリシーを定義」ブロック214の間に、システム管理者、またはコンピューティング・システム102(図1および図2)に対して責任を有する利用者は、許可メタデータ・ファイル118を検査して、定義された許可が適切であるか否かを判断する。システム管理者が、変更が必要であると判断するとき、ポリシー・ファイル124(図1および図2)が修正される。「パッケージをインストール」ブロック216の間に、アプリケーション・パッケージ144が、最終的なアプリケーション114(図1および図2)を作成するために、コンピューティング・システム102上にインストールされる。
最後に、プロセス200は、プロセス200が完了する「APのD&Dを終了」ブロック219に進む。この例では、単一プロセス200として示されたが、ブロック204、206、208、および210を開発プロセス220の一部として、ならびにブロック212、214、および216を配布プロセス230の一部として特徴付けることができる。換言すれば、プロセス220およびプロセス230は、異なるコンピューティング・システム上の異なる組織により実行されうる別個のプロセスであり、単に、便宜上、単一プロセス200の一部として示されているに過ぎない。開発および配布プロセス200の間に、ブロック204、206、208、210、212、214、および216の各々は、複数回、挿入されうることを理解すべきである。例えば、ブロック210の間に、署名者は、許可メタデータ・ファイル118が不十分であるか、または制限し過ぎているかを判断して、変更を行うために、コード116および許可メタデータ・ファイル118を開発者に戻すことができる。
図5は、アプリケーション114を実行するランタイム・プロセス250のフローチャートである。この例では、プロセス250は、データ記憶112(図1)上に保存されて、CPU104(図1)上で実行処理する。一実施形態および下記の例では、プロセス250は、カリフォルニア州サンタ・クララのサン・マイクロシステムズ社(Sun Microsystems、 Incorporated)により発表されたJava(登録商標)ランタイム環境(JRE)(図示しない)に組み込まれる。
プロセス250は、「アプリケーション(App.)の実行処理を開始」ブロック252で始まり、コントロールは、直ちに「アプリケーションをロード」ブロック254に進む。ブロック254の間に、プロセス250は、アプリケーション114(図1および図2)をCPU104にロードする。「命令を取り出す」ブロック256の間に、プロセス250は、アプリケーション114内の実行されていない第1の命令を取得する。プロセス250がブロック256に入るたびに、取り出された命令は、後述の説明において「現在」の命令と呼ばれる。
「許可を検査」ブロック258の間に、プロセス250は、ブロック256の間に取り出された命令に関連する情報を探して、アプリケーション114と関連する許可メタデータ・ファイル118をスキャンする。例えば、現在の命令が、データ記憶112の特定のディレクトリへの書き込みを要求するとき、プロセス250は、特定のディレクトリ、およびアプリケーション114を開始した利用者との関係を探して、ファイル・エントリ150(図3)をスキャンする。「許可(Perm.)を許すか?」ブロック260の間に、プロセス250は、許可ファイル118が、現在の命令の実行を許可するか、または禁じるかについて判断する。ファイル118が実行を許可するとき、プロセス250は、現在の命令に関連する情報を探してポリシー・ファイル124をスキャンする「ポリシーを検査」ブロック262に進む。
「ポリシーを許すか?」ブロック264の間に、プロセス250は、ポリシー・ファイル124が、現在の命令の実行を許可するか、または禁じるかについて判断する。ファイル124が実行を許可するとき、プロセス250は、JREが命令を実行する「命令を実行」ブロック266に進む。
許可を許すか?ブロック260の間、またはポリシーを許すか?ブロック264の間に、現在の命令の実行はファイル118またはファイル124に違反するとプロセス250が判断するとき、それぞれ、プロセス250は、「エクセプションをスロー(Throw Exception)」ブロック268に進む。ブロック268の間に、JREは、実行拒否から回復するために適切な処置を取る。エクセプションをどのように取り扱うかに応じて、これは、アプリケーション114の実行およびアプリケーション114の終了、もしくは、アプリケーション114の実行またはアプリケーション114の終了を開始した人への通知を含みうる。この例では、ブロック268の間にスローされたエクセプションを取り扱った後に、JREは適切な処置を取り、単に、次の命令を取り出して、処理を続ける。スローされたエクセプションのプログラミングおよび使用は、プログラミング技術の当業者には、よく知られているはずである。
ブロック266の間の現在の命令の実行処理、またはこの例では、ブロック268の間のエクセプションのスローに続いて、プロセス250は、「さらに命令があるか?」ブロック270に進み、このブロック270の間に、プロセス250は、アプリケーション114内に付加的な実行されていない命令があるか否かを判断する。プロセス250が、アプリケーション114内に付加的な実行されていない命令があると判断するとき、プロセス250は、ブロック256に戻り、次の命令を取り出して、上述したように処理が続く。プロセス250が、実行されていない命令はないと判断したとき、コントロールは、プロセス250およびアプリケーション114が完了する「アプリケーションの実行処理を終了」ブロック279に進む。
本発明は、その特定の実施形態に関して図示されかつ説明されたが、形式および詳細における上記のおよび他の変更が、同じか、または異なる順序で実行される、付加的な、より少ない、または変更された要素、または付加的な、より少ない、または変更されたブロックを含むとともに、これらに限定されずに、本発明の要旨および範囲を逸脱することなく、本発明に行われうることを当業者は理解するであろう。
下記の添付図面とともに、開示された実施形態についての下記の詳細な説明を検討すれば、本発明をより良く理解できる。
クレームされた内容を組み込んだ例示的コンピューティング・システムのブロック図である。 分配要素を含む、クレームされた内容を使用する例示的アプリケーション開発アーキテクチャのブロック図である。 クレームされた内容の一実施形態で使用されうる例示的許可ファイルを示す。 クレームされた内容と関連するアプリケーション開発および配布プロセスのフローチャートである。 クレームされた内容に基づいて開発されたアプリケーションを実行するランタイム・プロセスのフローチャートである。

Claims (20)

  1. ソフトウェア・アプリケーションに対応するメタデータ・セキュリティ・パラメータを設定するステップと、
    前記アプリケーションおよび前記メタデータ・セキュリティ・パラメータを検証するときに、前記アプリケーションおよび前記メタデータ・セキュリティ・パラメータに安全に署名するステップと、
    前記ソフトウェア・アプリケーションの配布者が、前記アプリケーションおよび前記メタデータ・セキュリティ・パラメータの署名者に対して有する信用レベルに対応する配布セキュリティ・パラメータを設定するステップと、
    前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータで表されるセキュリティ・レベルのうち低い方と関連するセキュリティ・レベルで前記アプリケーションを配布するステップとを含む、ソフトウェア・アプリケーションのセキュリティ・パラメータを設定する方法。
  2. 署名者セキュリティ・パラメータを設定するステップをさらに含み、配布の前記セキュリティ・レベルが、前記メタデータ・セキュリティ・パラメータ、前記署名者セキュリティ・パラメータ、および前記配布セキュリティ・パラメータで表されるセキュリティ・レベルのうち大きい方である、請求項1に記載の方法。
  3. 前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータが、コンピュータ・コードに対するセキュリティ・レベルに対応する、請求項1に記載の方法。
  4. 命令により要求される前記セキュリティ・レベルが、前記配布されるセキュリティ・レベルを超えないことを確保するために、前記ソフトウェア・アプリケーションの命令のランタイム検査を実行するステップをさらに含む、請求項1に記載の方法。
  5. 前記ランタイム検査が、Java(登録商標)ランタイム・エンジンにより実行される、請求項4に記載の方法。
  6. 前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータが、Java(登録商標)セキュリティ・ポリシーに適合している、請求項1に記載の方法。
  7. 前記メタデータ・セキュリティ・パラメータが、前記ソフトウェア・アプリケーションの開発者により定義される、請求項1に記載の方法。
  8. ソフトウェア・アプリケーションに対応するメタデータ・セキュリティ・パラメータと、
    前記ソフトウェア・アプリケーションおよび前記メタデータ・セキュリティ・パラメータを検証する、前記ソフトウェア・アプリケーションに対応する証明書および署名と、
    前記ソフトウェア・アプリケーションの配布者が、前記証明書および前記署名を作成した署名者に対して有する信用レベルに対応する配布セキュリティ・パラメータと、
    前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータで表されるセキュリティ・レベルのうち低い方と関連するセキュリティ・レベルで前記アプリケーションを配布するロジックとを含む、ソフトウェア・アプリケーションのセキュリティ・パラメータを設定するシステム。
  9. 前記署名者により定義された署名者セキュリティ・パラメータをさらに含み、配布する前記ロジックが、前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータで表されるセキュリティ・レベルのうち低い方に、配布の前記セキュリティ・レベルを設定する、請求項8に記載のシステム。
  10. 前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータが、コンピュータ・コードに対するセキュリティ・レベルに対応する、請求項8に記載のシステム。
  11. 命令により要求される前記セキュリティ・レベルが、前記配布されるセキュリティ・レベルを超えないことを確保するために、前記ソフトウェア・アプリケーションの実行中の命令について実行されるランタイム検査をさらに含む、請求項8に記載のシステム。
  12. 前記ランタイム検査が、Java(登録商標)ランタイム環境により実行される、請求項11に記載のシステム。
  13. 前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータが、Java(登録商標)セキュリティ・ポリシーに適合している、請求項8に記載のシステム。
  14. 前記メタデータ・セキュリティ・パラメータが、前記ソフトウェア・アプリケーションの開発者により定義される、請求項8に記載のシステム。
  15. ソフトウェア・アプリケーションに対応するメタデータ・セキュリティ・パラメータと、
    前記アプリケーションおよび前記メタデータ・セキュリティ・パラメータを検証するときに、前記アプリケーションおよび前記メタデータ・セキュリティ・パラメータに安全に署名するロジックと、
    前記ソフトウェア・アプリケーションの配布者が、前記アプリケーションおよび前記メタデータ・セキュリティ・パラメータの署名者に対して有する信用レベルに対応する配布セキュリティ・パラメータと、
    前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータで表されるセキュリティ・レベルのうち低い方と関連するセキュリティ・レベルで前記アプリケーションを配布するロジックとを含む、アプリケーション開発者により設定されるセキュリティ許可を有する安全なアプリケーションの分配サービス用プログラム。
  16. 署名者セキュリティ・パラメータをさらに含み、前記アプリケーションを配布する前記ロジックが、前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータで表されるセキュリティ・レベルのうち低い方のセキュリティ・レベルに、配布のセキュリティ・レベルを適用する、請求項15に記載のプログラム。
  17. 前記メタデータ・セキュリティ・パラメータおよび前記配布セキュリティ・パラメータが、コンピュータ・コードに対するセキュリティ・レベルに対応する、請求項15に記載のプログラム。
  18. 命令により要求される前記セキュリティ・レベルが、前記配布されるセキュリティ・レベルを超えないことを確保するために、前記ソフトウェア・アプリケーションの命令のランタイム検査を実行するロジックをさらに含む、請求項15に記載のプログラム。
  19. 前記ランタイム検査が、Java(登録商標)ランタイム環境により実行される、請求項18に記載のプログラム。
  20. 前記メタデータ・セキュリティ・パラメータが、前記ソフトウェア・アプリケーションの開発者により定義される、請求項15に記載のプログラム。
JP2007065370A 2006-03-28 2007-03-14 ソフトウェア・アプリケーション配布のための範囲を制限された許可 Expired - Fee Related JP5030626B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/277665 2006-03-28
US11/277,665 US20070240194A1 (en) 2006-03-28 2006-03-28 Scoped permissions for software application deployment

Publications (2)

Publication Number Publication Date
JP2007265404A true JP2007265404A (ja) 2007-10-11
JP5030626B2 JP5030626B2 (ja) 2012-09-19

Family

ID=38577106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007065370A Expired - Fee Related JP5030626B2 (ja) 2006-03-28 2007-03-14 ソフトウェア・アプリケーション配布のための範囲を制限された許可

Country Status (3)

Country Link
US (1) US20070240194A1 (ja)
JP (1) JP5030626B2 (ja)
CN (1) CN100478977C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015502588A (ja) * 2011-10-17 2015-01-22 インタートラスト テクノロジーズ コーポレイション ゲノム及び他の情報を保護及び管理するシステム及び方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523231B1 (en) * 2007-06-29 2009-04-21 Emc Corporation Application aware storage
US8051491B1 (en) * 2007-12-10 2011-11-01 Amazon Technologies, Inc. Controlling use of computing-related resources by multiple independent parties
GB2456134A (en) * 2007-12-31 2009-07-08 Symbian Software Ltd Typed application development
US8695056B2 (en) * 2008-01-26 2014-04-08 International Business Machines Corporation Method for information tracking in multiple interdependent dimensions
WO2009111405A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on a trusted cache
AU2009222009B2 (en) * 2008-03-04 2013-02-07 Apple Inc. System and method of authorizing execution of software code in a device based on entitlements granted to a carrier
US20090228704A1 (en) * 2008-03-04 2009-09-10 Apple Inc. Providing developer access in secure operating environments
US20090247124A1 (en) * 2008-03-04 2009-10-01 Apple Inc. Provisioning mobile devices based on a carrier profile
JP2011515743A (ja) * 2008-03-04 2011-05-19 アップル インコーポレイテッド セキュアな動作環境におけるソフトウェア開発者に対するコードエンタイトルメントの管理
CN102016867B (zh) * 2008-03-04 2015-02-25 苹果公司 基于至少一个已安装的简档来授权执行软件代码的系统和方法
US8332909B2 (en) * 2008-12-16 2012-12-11 Microsoft Corporation Automated software restriction policy rule generation
US20130055243A1 (en) * 2011-08-24 2013-02-28 Dell Products, Lp Unified Management Architecture to Support Multiple Platform-as-a-Service Workloads
US9118686B2 (en) * 2011-09-06 2015-08-25 Microsoft Technology Licensing, Llc Per process networking capabilities
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9009855B2 (en) 2011-09-11 2015-04-14 Microsoft Technology Licensing, Llc Generating developer license to execute developer application
US8656182B2 (en) * 2011-09-12 2014-02-18 Microsoft Corporation Security mechanism for developmental operating systems
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US8745616B1 (en) 2011-09-23 2014-06-03 Symantec Corporation Systems and methods for providing digital certificates that certify the trustworthiness of digitally signed code
US8572368B1 (en) * 2011-09-23 2013-10-29 Symantec Corporation Systems and methods for generating code-specific code-signing certificates containing extended metadata
KR101861306B1 (ko) * 2011-10-10 2018-05-31 삼성전자주식회사 휴대용단말기에서 응용프로그램의 제어 정보를 관리하기 위한 장치 및 방법
WO2013171802A1 (en) * 2012-05-18 2013-11-21 Hitachi, Ltd. Information processing system and method for controlling the same
CN103347116A (zh) * 2012-11-09 2013-10-09 北京深思洛克软件技术股份有限公司 一种在智能手机中设置多安全模式的系统和方法
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
US9383984B2 (en) 2014-01-13 2016-07-05 International Business Machines Corporation Seal-based regulation for software deployment management
US9881159B1 (en) * 2014-11-14 2018-01-30 Quest Software Inc. Workload execution systems and methods
EP3513544B1 (en) * 2016-09-16 2021-12-01 Pivotal Software, Inc. Credential management in cloud-based application deployment
WO2018119644A1 (zh) * 2016-12-27 2018-07-05 深圳配天智能技术研究院有限公司 一种软件授权方法、系统及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185502A (ja) * 1996-01-05 1997-07-15 Apuritetsuku Kk 不正使用防止システム
JPH10301773A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US6044466A (en) * 1997-11-25 2000-03-28 International Business Machines Corp. Flexible and dynamic derivation of permissions
JP2000132388A (ja) * 1998-10-19 2000-05-12 Internatl Business Mach Corp <Ibm> ソフトウェア・コンポ―ネントを処理および配布するための方法および装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910128B1 (en) * 2000-11-21 2005-06-21 International Business Machines Corporation Method and computer program product for processing signed applets
US20050278790A1 (en) * 2004-06-10 2005-12-15 International Business Machines Corporation System and method for using security levels to simplify security policy management
US7669226B2 (en) * 2004-07-30 2010-02-23 International Business Machines Corporation Generic declarative authorization scheme for Java

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185502A (ja) * 1996-01-05 1997-07-15 Apuritetsuku Kk 不正使用防止システム
JPH10301773A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US6044466A (en) * 1997-11-25 2000-03-28 International Business Machines Corp. Flexible and dynamic derivation of permissions
JP2000132388A (ja) * 1998-10-19 2000-05-12 Internatl Business Mach Corp <Ibm> ソフトウェア・コンポ―ネントを処理および配布するための方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015502588A (ja) * 2011-10-17 2015-01-22 インタートラスト テクノロジーズ コーポレイション ゲノム及び他の情報を保護及び管理するシステム及び方法
US10621550B2 (en) 2011-10-17 2020-04-14 Intertrust Technologies Corporation Systems and methods for protecting and governing genomic and other information
US11481729B2 (en) 2011-10-17 2022-10-25 Intertrust Technologies Corporation Systems and methods for protecting and governing genomic and other information

Also Published As

Publication number Publication date
US20070240194A1 (en) 2007-10-11
CN100478977C (zh) 2009-04-15
CN101046838A (zh) 2007-10-03
JP5030626B2 (ja) 2012-09-19

Similar Documents

Publication Publication Date Title
JP5030626B2 (ja) ソフトウェア・アプリケーション配布のための範囲を制限された許可
JP4550147B2 (ja) コンポーネントをロードするための方法、システム及び記録媒体
US7069554B1 (en) Component installer permitting interaction among isolated components in accordance with defined rules
US8122256B2 (en) Secure bytecode instrumentation facility
US6820063B1 (en) Controlling access to content based on certificates and access predicates
US7802294B2 (en) Controlling computer applications&#39; access to data
US7434263B2 (en) System and method for secure storage data using a key
US7810153B2 (en) Controlling execution of computer applications
US8024564B2 (en) Automating configuration of software applications
US7669238B2 (en) Evidence-based application security
TWI376634B (en) Computing system, method, computer-readable medium and patch data structure product for augmenting software
US7591014B2 (en) Program authentication on environment
KR101033620B1 (ko) 신뢰된 코드 그룹들
JP2004260834A (ja) 委託された取り消し権限による取り消しリストに基づく、デジタル著作権マネージメントシステムにおける、証明書の取り消しおよび他のプリンシパルの除外
CA2951914C (en) Restricted code signing
US20070079364A1 (en) Directory-secured packages for authentication of software installation
JP5091925B2 (ja) ライセンスファイルのインストール方法
US20120047074A1 (en) Methods of protecting software programs from unauthorized use
CN114651253A (zh) 用于策略强制实施的虚拟环境类型验证
KR101265887B1 (ko) 보호 컴퓨팅 환경을 제공하는 방법 및 장치 내에 보호 환경을 설정하는 방법
EP3143749B1 (en) Restricted code signing
TW202207108A (zh) 企業電腦中應用程式稽查管理系統及其方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111228

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111228

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20111228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120426

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120529

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120529

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees