JP2010537270A - Virtual token for implicit self-installing security environment - Google Patents
Virtual token for implicit self-installing security environment Download PDFInfo
- Publication number
- JP2010537270A JP2010537270A JP2010520683A JP2010520683A JP2010537270A JP 2010537270 A JP2010537270 A JP 2010537270A JP 2010520683 A JP2010520683 A JP 2010520683A JP 2010520683 A JP2010520683 A JP 2010520683A JP 2010537270 A JP2010537270 A JP 2010537270A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- token
- computer
- security
- interface
- 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.)
- Abandoned
Links
- 238000009434 installation Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 11
- 230000002457 bidirectional effect Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 2
- 238000012790 confirmation Methods 0.000 claims 1
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
カスタムインストールや管理者権限を必要とすることなく、コンピューター内でハードウェアセキュリティトークンの安全な暗号機能を実装する、仮想コンピューター環境における使用のための仮想トークン。ハードウェアセキュリティトークンは、仮想環境及び仮想トークンのための自動インストーラーを有する。コンピューターに差し込まれたとき、ハードウェアセキュリティトークンは必要に応じて動的なインストールを自動的に実行し、既にコンピューターにインストールされた標準的なアプリケーションプログラムに、安全な暗号サービスを提供する。セッションが完了して、セキュリティトークンはコンピューターから除去された後は、ユーザーに暗黙的で、いかなるユーザーの注意を引くことなく、及びコンピューターのオペレーティングシステムにいかなる変更もなされることなく、仮想環境はホストコンピューターから効果的にアンインストールされる。 A virtual token for use in a virtual computer environment that implements the secure cryptographic capabilities of hardware security tokens within a computer without requiring custom installation or administrative privileges. The hardware security token has a virtual environment and an automatic installer for the virtual token. When plugged into a computer, the hardware security token automatically performs dynamic installation as needed, providing secure cryptographic services to standard application programs already installed on the computer. After the session is complete and the security token is removed from the computer, the virtual environment is hosted implicitly to the user, without any user attention, and without any changes to the computer operating system. It is effectively uninstalled from the computer.
Description
本発明は、コンピューターセキュリティトークンに関し、そしてより特定的には、ユーザーにとって暗黙的(transparent)である自己インストールクライアント環境のための仮想トークンに関する。 The present invention relates to computer security tokens, and more particularly to virtual tokens for self-installing client environments that are transparent to the user.
ここでは用語「セキュリティトークン」は、デリケートな機密情報を有し、及び保護し、またプライバシー、アクセスコントロール、認証、及びデータ保護を含む(しかし、それらに限定されない)セキュリティ関連サービスを提供する個人用携帯電子デバイスを意味する。用語「ハードウェアセキュリティトークン」は時として、物理的なデバイスとしてセキュリティトークンの実装を強調するために用いられる。用語「アクセス」はここでは、制限された物理的な場所に入るための、又は、制限されたデータ若しくは情報、コンピューター施設、若しくは制限された通信に従事するための入手及び/若しくは変更するための許可を意味する。用語「認証」は、ここでは、同一性(本人であること)の確立及び確認を意味し、セキュリティトークンのユーザーの個人の同一性を含む(しかし、それに限定されない)。セキュリティトークンによって含まれるデリケートな機密情報は、ユーザーネーム、パスワード、口座番号、アクセスコード、デジタル証明書、暗号/復号鍵、セキュリティ方針、及びそれらに類するものを含む(しかし、それらに限定されない)。セキュリティトークンによって含まれるデリケートな機密データの能力は、デジタル署名作成及び確認、チャレンジレスポンス能力、ユーザーネーム及び/若しくはパスワード及び/又は個人識別番号(PIN)の提示、ワンタイムパスワード生成、データ認証/確認能力、機密データ保存、並びに暗号化/復号化/ハッシュ化能力を含む(しかし、それらに限定されない)。セキュリティトークン内に含まれるデリケートな機密データ情報は典型的には、スマートカードチップ技術を使用することによって保護されている。適切に構築されたスマートカードは、セキュリティトークンを構成することができる。 As used herein, the term “security token” is for individuals who have and protect sensitive and sensitive information and provide security-related services, including but not limited to privacy, access control, authentication, and data protection. Means a portable electronic device. The term “hardware security token” is sometimes used to emphasize the implementation of a security token as a physical device. The term “access” is used herein to enter and / or change to enter a restricted physical location or to engage in restricted data or information, computer facilities, or restricted communications. Means permission. The term “authentication” here means the establishment and verification of identity (identity) and includes (but is not limited to) the identity of the user of the security token. Sensitive sensitive information contained by security tokens includes (but is not limited to) usernames, passwords, account numbers, access codes, digital certificates, encryption / decryption keys, security policies, and the like. Sensitive sensitive data capabilities included by the security token include digital signature creation and verification, challenge response capability, username and / or password and / or personal identification number (PIN) presentation, one-time password generation, data authentication / verification Capabilities (including but not limited to) capabilities, confidential data storage, and encryption / decryption / hashing capabilities. Sensitive sensitive data information contained within a security token is typically protected by using smart card chip technology. A properly constructed smart card can constitute a security token.
セキュリティトークン使用のための原則的な場所の一つは、パーソナルコンピューター内であり、特にはインターネットといった、安全でない公共のネットワークに接続されたパーソナルコンピューターの場合である。パーソナルコンピューター上でのセキュリティトークンの特定の使用として、以下のものを含む(しかし、それらに限定されない):
・仮想プライベートネットワーク(VPN)、公共ネットワーク内の安全な仮想ネットワークへのアクセス;
・公共のネットワークを通しての銀行口座又は他の機密データへのアクセス;及び
・公共のネットワークを介して送られる電子メール又は他の文書の、署名、暗号化、確認、及び/又は復号。
これらすべての場合において、パーソナルコンピューターは、セキュリティトークンに依存して、ある暗号サービスを実行している。暗号化、復号化、ハッシュ化、署名、確認等のためのセキュリティトークンにデータを送ることによって、機密暗号データは、(必ずしも安全ではなく、機密暗号データが機密性を損なったり失ったりしやすい場所である)パーソナルコンピューターに送られる代わりに、安全にセキュリティトークン内で維持される。
One of the principal places for the use of security tokens is in personal computers, especially those connected to insecure public networks such as the Internet. Specific uses of security tokens on personal computers include (but are not limited to):
Virtual private network (VPN), access to a secure virtual network within a public network;
• access to bank accounts or other sensitive data through public networks; and • signing, encryption, verification, and / or decryption of emails or other documents sent over public networks.
In all these cases, personal computers rely on security tokens to perform certain cryptographic services. By sending data to a security token for encryption, decryption, hashing, signing, verification, etc., sensitive cryptographic data is (not necessarily secure and sensitive cryptographic data is subject to loss or loss of confidentiality) Instead of being sent to a personal computer, it is securely maintained in a security token.
しかし、暗号サービスを提供するセキュリティトークンを使用するために、パーソナルコンピューターは、あるデータ処理能力を有する必要があり、その能力は、セキュリティトークンのための「クライアント環境」と一般的に呼ばれる環境において具現化されている。セキュリティトークン又はスマートカードための典型的な先行技術のクライアント環境100のレイヤー図を図1に示した。
However, in order to use a security token that provides cryptographic services, the personal computer needs to have some data processing capability, which is embodied in an environment commonly referred to as a “client environment” for the security token. It has become. A layer diagram of a typical prior
図1は、セキュリティトークン又はスマートカードからの暗号サービス(非制限的な例として以下のものを含む:ユーザーの秘密鍵によるEメールメッセージのデジタル署名;及びインターネット上で制限されたWEBサイトへのアクセス)を必要とする可能性のある典型的なユーザーアプリケーションプログラム101(非制限的な例として以下のものを含む:Microsoft社の「Outlook」(登録商標)といったEメールクライアント;及びMozilla社の「Firefox」(登録商標)といったウェブブラウザ)を示す。暗号及び他のセキュリティサービスへのアクセスを得るために、アプリケーションプログラム101は暗号サービスプロバイダー(CSP)層103と通信を行う。CSP層103は、スマートカードドライバ105といった様々な下位レベルのドライバ、ハードウェアトークンドライバ109、又はチップスマートカードインターフェースデバイスドライバ(CCID)113と順番に通信を行い、スマートカード107、ハードウェアトークン111、又は(スマートカードリーダー若しくはUSBセキュリティトークンといった)USBスマートカードデバイス115といったそれぞれの物理デバイスにアクセスする。典型的な先行技術の追加デバイス接続の非制限的な例としてアプリケーションプログラム101は:マスストレージデバイスドライバ117を介して(フラッシュメモリユニットといった)物理的リムーバブルマスストレージデバイス119;及びヒューマンインターフェースデバイスドライバ121を介して、(キーボードといった)ヒューマンインターフェースデバイス123にもアクセスすることができる。マスストレージデバイスドライバ117及びヒューマンインターフェースデバイスドライバ121の両方は典型的に、現代のパーソナルコンピューターオペレーティングシステムにおける標準的なソフトウェアコンポーネントである。
FIG. 1 illustrates a cryptographic service from a security token or smart card (including, as a non-limiting example: the digital signature of an email message with the user's private key; and access to a restricted WEB site on the Internet ) A typical user application program 101 (including, by way of non-limiting example, the following: an email client such as Microsoft's “Outlook” ®); and Mozilla's “Firefox” ”(A registered web browser) The
ユーザーがセキュリティトークンのためのクライアントとして自身のパーソナルコンピューターを採用しようと望んだ場合、上記環境は、通常はパーソナルコンピューター上にインストールされており、その結果セキュリティトークンがコンピューターにプラグインされたとき、所望のアプリケーションプログラムはセキュリティトークンへの暗号化されたアクセスを持つ。特に、CSP103及びスマートカードドライバ105、並びに要すればハードウェアトークンドライバ109はインストールされなければならない。これは、セキュリティトークンのユーザーによって現在採用されているパーソナルコンピューター操作のためのモードである。しかし、残念ながら、コンピューターにCSP103をインストールすることは、通常特別な管理者権限が必要となる。なぜなら、インストールはコンピューターのオペレーティングシステムに永続的な変更を行うことをまねくからである。
If the user wants to adopt his own personal computer as a client for the security token, the above environment is usually installed on the personal computer, so that when the security token is plugged into the computer, the desired The application program has encrypted access to the security token. In particular, the CSP 103 and
しかし、セキュリティトークンは携帯性を有するため、臨時にクライアントアプリケーションプログラムを支配する、異なるパーソナルコンピューターを用いて、異なる場所において自身のセキュリティトークンを採用することをユーザーが望む機会が頻繁にある。しかし、そのような場合において、ユーザーは新しいホストコンピューター上にクライアント環境をインストールするという問題に直面する。コンピューター上のそのような環境をインストールすることは、時間を消費し、わずらわしい操作であるだけでなく、示したように、ユーザーはインストールメディアを持ち歩くことも必要であり、及びユーザーは管理者権限を有していることが必要である。さらには、ホストコンピューターのオーナー又は管理者は、ユーザーが一時的なアクセスを完了した後、そのクライアント環境がコンピューター上に残ることを望まないかもしれない。従って、ユーザーはクライアント環境をアンインストールしなければならないであろう。しかし、そのような除去にも関わらず、ホストコンピューターのオペレーティングシステムの変更は残る可能性がある。 However, because security tokens are portable, there are frequent opportunities for users to desire to adopt their own security tokens at different locations using different personal computers that dominate client application programs temporarily. However, in such cases, the user faces the problem of installing the client environment on a new host computer. Installing such an environment on a computer is not only a time consuming and annoying operation, but as indicated, the user also needs to carry around the installation media, and the user has administrative privileges. It is necessary to have. Further, the host computer owner or administrator may not want the client environment to remain on the computer after the user completes temporary access. Therefore, the user will have to uninstall the client environment. However, despite such removal, changes to the host computer operating system may remain.
従って、ホストコンピューター上のクライアント環境にユーザーが能動的にインストール及びアンインストールを行う必要がないセキュリティトークン(それは管理者権限を必要とせず、及びオペレーティングシステムの変更を行わない)を有することを、必要とされていることが広く認識されており、またそのようなことは大いに利点があるであろう。この目的は本発明によって満たされる。 Therefore, it is necessary to have a security token in the client environment on the host computer that does not require the user to actively install and uninstall (it does not require administrator rights and does not change the operating system) Is widely recognized, and such would be a great advantage. This object is met by the present invention.
本発明は、仮想環境内での使用のための仮想トークンであり、ユーザーがホストコンピューター上のクライアント環境をインストール又はアンインストールを行うことを必要としない。本願発明の実施形態では、ユーザーには暗黙的な形で、ホストコンピューター上の仮想環境内に仮想トークンのインストールを自動的に実行し、管理者権限を必要としないハードウェアセキュリティトークンを含み、そして前記インストールはセッションが完了した時に効果的にアンインストールされ、ハードウェアセキュリティトークンはコンピューターから除去される。 The present invention is a virtual token for use within a virtual environment and does not require a user to install or uninstall a client environment on a host computer. In an embodiment of the present invention, including a hardware security token that automatically performs a virtual token installation in a virtual environment on the host computer and does not require administrator privileges, implicitly to the user, and The installation is effectively uninstalled when the session is completed, and the hardware security token is removed from the computer.
従って、本発明によれば、コンピューターオペレーティングシステム内の仮想環境内で実行されているアプリケーションプログラムにセキュリティサービスを提供するための仮想トークンが提供され、仮想環境はアプリケーションプログラムに供するための仮想暗号サービスプロバイダー層を含み、仮想トークンは:(a)仮想暗号サービスプロバイダー層へのインターフェース;(b)プロトコルフォーマッタであって、インターフェースから受領されるデータをフォーマットするためのもの及びインターフェースに送られるデータをフォーマットするためのもの;及び(c)コンピューターに連動し、及びプロトコルフォーマッタを通してセキュリティサービスを提供するために構築されるハードウェアセキュリティトークンを含む。 Therefore, according to the present invention, a virtual token for providing a security service to an application program executed in a virtual environment in a computer operating system is provided, and the virtual environment is a virtual cryptographic service provider for providing the application program. The virtual token includes: (a) an interface to the virtual cryptographic service provider layer; (b) a protocol formatter for formatting data received from the interface and formatting data sent to the interface And (c) includes a hardware security token that is constructed to interface with the computer and provide security services through a protocol formatter.
さらには、本発明によれば、コンピューターオペレーティングシステム内の仮想環境内のアプリケーションプログラムにセキュリティサービスを提供するためのセキュリティトークンも提供され、そのセキュリティトークンは以下のもの含む:(a)双方向データのコンピューターに対するインターフェースであって互いにデータ交換するためのもの;(b)仮想環境ローダーであって、オペレーティングシステムに仮想環境をロードするために構築されたものであって、仮想環境は仮想暗号サービスプロバイダー層を含むもの;及び(c)インストールスクリプトであって、仮想環境に仮想トークンをインストールするためのものであり、仮想トークンは以下のものを含む:(d)仮想暗号サービスプロバイダー層に対するインターフェースであって、アプリケーションプログラムと通信をするためのもの;及び(e)プロトコルフォーマッタであて、双方向データインターフェースから受領されるデータのフォーマット及び双方向データインターフェースへ送られるデータのフォーマットをするためのもの。
本願発明はここでは、添付した図面を参照し、実施例のみを介して記述する。
Furthermore, according to the present invention, there is also provided a security token for providing a security service to an application program in a virtual environment in a computer operating system, the security token including: (a) interactive data An interface to a computer for exchanging data with each other; (b) a virtual environment loader constructed to load a virtual environment into an operating system, the virtual environment being a virtual cryptographic service provider layer And (c) an installation script for installing a virtual token in a virtual environment, the virtual token including: (d) an interface to the virtual cryptographic service provider layer For communicating with an application program; and (e) a protocol formatter for formatting data received from and sent to a bidirectional data interface. .
The present invention will now be described by way of example only with reference to the accompanying drawings.
本願発明の実施形態に従った、ハードウェアセキュリティトークンによって暗黙的に自己インストールされる仮想クライアント環境における仮想トークンの原理及び動作は図面や添付した記述を参照することによって理解されるであろう。 The principles and operation of a virtual token in a virtual client environment implicitly self-installed by a hardware security token according to embodiments of the present invention will be understood by referring to the drawings and the accompanying description.
仮想トークン
用語「仮想トークン」は、ここでは、ハードウェアセキュリティトークンによって提供されるであろうアプリケーションプログラムに対して同じセキュリティ関連サービスを提供するコンピューターのための実行可能なソフトウェアを意味する。本発明の実施形態において、仮想トークンはサービスを提供するために外部のハードウェアセキュリティトークンと通信をし、及びそれと連動して稼動する。
The virtual token term “virtual token” refers herein to executable software for a computer that provides the same security-related services to application programs that would be provided by a hardware security token. In an embodiment of the present invention, the virtual token communicates with and operates in conjunction with an external hardware security token to provide services.
図2はホストコンピューターのコンピューターオペレーティングシステム201内での仮想クライアント環境203のレベルを図示している。本発明の実施形態に従った仮想トークン205はインストールされ、(下記でより詳細に示すように)仮想環境203内で実行される仮想CSP層206に対するインターフェース207を有する。
FIG. 2 illustrates the level of the
アプリケーションプログラム204が、コンピューターオペレーティングシステム201のために意図されたアプリケーションプログラムの通常のバージョンであり、外部のサービス又はデバイスによって提供されるセキュリティサービスに対するアクセス性に関連して特別に変更されてはいないという点において、アプリケーションプログラム204は「標準的」であると考えられる。非制限的な例において、アプリケーションプログラム204は、Mircosoft社「Internet Explorer」(登録商標)又はMozilla社の「Firefox」(登録商標)といった、いかなるカスタマイズされた機能や変更を伴わない標準的なウェブブラウザである。アプリケーションプログラム204は、インターフェース202を介して、仮想CSP層206へアクセスする。アプリケーションプログラム204の立場からすると、仮想CSP層206へのアクセスは、以前に示したアプリケーションプログラム101がCSP層103へアクセスする(図1)のと全く同じ様式で行われる。しかし、CSP層206に関して異なる所は、仮想環境203においてCSP層206をインストールするのに、管理者権限や他の特別な手配が必要ないことである。オペレーティングシステム201が関与する限り、仮想環境203は単なる別のアプリケーションプログラムであり、その中のCSP層206は単なる一部に過ぎない。従って、オペレーティングシステム201はCSP層206のインストールについて何ら権限の制限を課すことはない。よって、CSP層206は仮想環境203をロードする間に自動的にロードされることができる。
The
コンピューターのための仮想環境は先行技術において知られており、以下のようなソースを通して入手可能である。Ceedo Technologies社、Rosh−Haayin、イスラエル;InstallFree社、Stamford、CT;MokaFive社、Redwood City、CA;Sun Microsystems社、Santa Clara、CA(「VirtualBox」);及び Citrix Systems社、Ft.Lauderdale FL (「XenDesktop」)。 Virtual environments for computers are known in the prior art and are available through sources such as: Ceedo Technologies, Rosh-Hayin, Israel; InstallFree, Stamford, CT; MokaFive, Redwood City, CA; Sun Microsystems, Santa Clara, CA (“Virx”; Lauderdale FL (“XenDesktop”).
仮想トークン205は、ラップ(wrap)操作211においては、外部へのデータを変換し、アンラップ(unwrap)の操作227においては、内部へのデータを変換して、インターフェース213を介してプロトコルフォーマッタ209と通信をする。このような形で、仮想トークン205はオペレーティングシステム201のコンパチブルデバイスドライバ215を介して外部と通信を行う。本発明の非制限的な実施形態として、プロトコルフォーマッタ209はマスストレージデバイスドライバのための外部へのデータをフォーマットし、及びそこからの内部へのデータを受領し、該ドライバは典型的にはユーザーによるインストールを必要としない生来のデバイスドライバとして現代のオペレーティングシステムに含まれる又はプレインストールされているものである。即ち、この非制限的な実施形態において、デバイスドライバ215はマスストレージデバイスドライバである。本発明の好ましい実施形態において、デバイスドライバ215はそのようなプレインストールされた又は生来のデバイスドライバであり、それらの非制限的な例は、上述したマスストレージデバイスドライバだけでなく、キーボードのためのドライバといったヒューマンインターフェースデバイスドライバも含む。本発明の他の実施形態において、デバイスドライバ215はより特別化される。より特別化されたデバイスドライバの非制限的な例として、従来技術として知られている様々なタイプの専用のスマートカードリーダーのためのデバイスドライバを含む。
The
また、含まれるが、しかし図2に示されていないものとしてコンピューターオペレーティングシステム201と外部のユーザーセキュリティトークン221の間の物理的データ接続がある。そのような物理的データ接続の例として:USB接続機器といった抜き差しできる接続機器; 近接RF、Bluetooth(登録商標)、及びそれに類するものといった無線周波数(RF)データリンク;並びにISO7816スマートカード接続機器が含まれる(しかしそれらに限られない)。
Also included but not shown in FIG. 2 is a physical data connection between the
デバイスドライバ215はコンパチブル外部ユーザーセキュリティトークン221とのデータ通信を可能にするインターフェース217を有している。本発明の好ましい実施形態において、セキュリティトークン221は(上記で議論したように)コンピューターのプレインストールされた又は生来のデバイスドライバに適合可能であり、その上にプロトコルフォーマッタ219を含む。本発明の非制限的な実施形態において、プロトコルフォーマッタ219はマスストレージデバイスやヒューマンインターフェースデバイスに適合させるためにデータをフォーマットする。プロトコルフォーマッタ219はインターフェース217からセキュリティトークンフォーマットへ、アンラップ操作223を通して、データを変換し、セキュリティトークンフォーマットからインターフェースフォーマットへ、ラップ操作225を通してデータを変換する。本発明の他の実施形態では、プロトコルフォーマッタ219はスマートカードリーダーのインターフェースの一部分として含まれる。
The
ラッピング及びアンラッピングプロトコルフォーマット
ここで議論するラッピング及びアンラッピング操作が今や、図3を参照することで、簡単に明らかになる。データアイテム301は、第1のプロトコルP1においてフォーマットされる。データアイテム301はプロトコルP1に関連した、いかなるデータであってもよく、プロトコルP1とともに用いるために定義されることができる。そこには、コマンド;メッセージ;通知;要求;応答;データ引数;及びその他を含むが、それらに限られない。ラッピング操作305において、データアイテム301は、第2のプロトコルP2のフォーマット303に取り込まれる。それによってプロトコルP2の規格に準拠したデータアイテム307が形成され、並びに送信され、受領され、及びP2フォーマットのデータに適合するハードウェア及びソフトウェアによって取り扱われることができる。最後に、アンラッピング操作311において、元のデータアイテム301が抽出され、P2へのフォーマット303は廃棄される。この順番でのプロトコルフォーマッティングは、よく知られた先行技術であり、あるフォーマット(例 P1)におけるデータを、P1を認識しないが、代わりにP2を介して機能するデバイス及びソフトウェアによって取り扱われることを可能にする。
Wrapping and Unwrapping Protocol Format The wrapping and unwrapping operations discussed here will now be readily apparent with reference to FIG. The
暗号プロトコルの一般的な場合において、「ラッピング」、暗号化コマンド、要求、応答、パラメータ及びデータは暗号化された入力を、非制限的な例として、マスストレージアクセスコマンド、要求、応答、パラメータ及びデータであることが明らかになるように再フォーマットすることを必要とする。この非制限的な例の特定のインスタンスにおいて、セキュリティトークンの秘密鍵を用いて平文の一部にデジタル署名する暗号化コマンドはラップされ(再フォーマットされ)、マスストレージの特定の場所に平文を書くような「write」コマンドで表現される。この場合、マスストレージの特定の場所は、マスストレージデバイス(セキュリティトークン)内に実際に存在するものではなく、(セキュリティトークンのみが有する)ユーザーの秘密鍵を用いて平文にデジタル署名をする、ラップされたコマンドとして、セキュリティトークンがこの場所を解釈することができる。このコマンドは、オペレーティングシステム201によって、その状態のままで仮想環境203中の仮想トークン205から、マスストレージドライバを通してセキュリティトークン221へ通過し、それがオペレーティングシステム201にとって正規のマスストレージデバイスであるかのように見える。コマンドがセキュリティトークン205のプロトコルフォーマッタ219(この非制限的な例として、マスストレージデバイスインターフェース)によって受領されたとき、プロトコルフォーマッタ219はコマンド中で特定された場所が存在しないことを認識し、正確にそのコマンドをラップされたコマンドだと解釈する。そして、プロトコルフォーマッタ219は、対応する暗号コマンドに再フォーマットすることによりそのコマンドをアンラップし、ユーザーセキュリティトークン221に平文のデジタル署名をさせる。署名された平文を仮想トークン205へ戻すために、プロトコルフォーマッタ219は署名された平文をラップして、その後のアンラッピングのためのマスストレージデバイスインターフェースを通して、仮想トークン205へデータを戻す。従って、仮想トークン205は署名された平文を受領し、それは仮想CSP層206へ、そしてそこからホストコンピューターの仮想環境203中のアプリケーションプログラム204へ通される。
In the general case of cryptographic protocols, “wrapping”, encryption commands, requests, responses, parameters and data are encrypted inputs, as non-limiting examples, mass storage access commands, requests, responses, parameters and It needs to be reformatted so that it is clear that it is data. In a specific instance of this non-limiting example, an encryption command that digitally signs a portion of the plaintext using the security token's private key is wrapped (reformatted) and the plaintext is written to a specific location in mass storage Such a “write” command is used. In this case, the specific location of the mass storage does not actually exist in the mass storage device (security token), but instead wraps the digital signature in plaintext using the user's private key (only the security token has) As a command, the security token can interpret this location. This command is passed by the
仮想トークンの動作
実際には、仮想トークン205は以下のように動作する:
アプリケーションプログラム204は、セキュリティトークンサービス(その非制限的な例としてデータの暗号化)を必要とするとき、インターフェース207を介した仮想CSP層206を通して、その標準的な方法で仮想トークン205からのサービスを要求する。本発明の実施形態では、仮想トークン205は、内部への要求を外部ユーザーセキュリティトークン221に適合するフォーマットに翻訳し、そして、ラッピング操作211におけるプロトコルフォーマッタ209を介して翻訳された要求をラップする。
Virtual Token Operation In practice, the
When the
その後、アプリケーションプログラム204のラップされ翻訳された要求は、インターフェース213を介して、デバイスドライバ215へ、そしてそこからインターフェース217を介してプロトコルフォーマッタ219へ送られる。そしてプロトコルフォーマッタは、アンラッピング操作223を介してアプリケーションプログラム204からの翻訳された要求をアンラップする。そして、ユーザーセキュリティトークン221は翻訳された要求を受領し、要求されたサービスを提供する。上述した非制限的な例において、これはデータを暗号化する要求であり、従ってセキュリティトークン221は要求どおりにデータを暗号化する。セキュリティトークン221(暗号化されたデータ)からの応答はラッピング操作225を介したプロトコルフォーマッタ219によって、デバイスドライバ215に適合するフォーマットへラップされ、デバイスドライバ215は、インターフェース217を介してラップされた応答を受領し、インターフェース213を介してプロトコルフォーマッタ209に対してラップされた応答を行う。その後、プロトコルフォーマッタ209は、アンラッピング操作227を介してラップされた応答をアンラップし、仮想トークン205にその応答を提示し、仮想トークン205はアプリケーションプログラム204へ応答を送る。
Thereafter, the wrapped and translated request of the
従って、サービスは実際には外部ユーザーセキュリティトークン221によって実行されているものの、アプリケーションプログラム204は、仮想トークン205から必要なサービスを取得する。このような形で、サービスは安全に提供される。データ暗号化の非制限的な例として、例えば暗号鍵はユーザーセキュリティトークン221において常に保持され、従って、開示や認証されていない使用から保護される。
Therefore, although the service is actually executed by the external
暗黙的な自己インストールセキュリティ環境
コンピューター409内の(以前に議論し、図2で示した)オペレーティングシステム201において、仮想トークン205と共に、仮想環境203を自動的にインストールするように構築されたハードウェアセキュリティトークン401を、図4は概念的に示している。既に記載したように、ユーザーが特別なインストールや他の動作を行う必要がないという点で、インストールはユーザーにとって暗黙的なものである。本発明の実施形態によると、セキュリティトークン401をコンピューター409にそれらの双方向データインターフェースを介して、単に連動させることによって(非制限的な例において、コンピューター409の適切なポートにセキュリティトークン401を差し込むことによって)、自動インストールは、更なるユーザーの関与や通知をすることなく開始される。同様に本発明の実施形態において、ユーザーがコンピューター409からセキュリティトークン401を切り離したとき(非制限的な例として、排出したり引き抜くことによって)、仮想環境203並びに、それらの全てのコンポーネント及びコンテンツは、ユーザーに何ら通知や注意を行うことなく、コンピューター409から、暗黙的にアンインストールされる。さらに、これらの処理は、オペレーティングシステム201のいかなる変更もなされる結果とはならない。
Hardware security built to automatically install the
セキュリティトークン401は、コンピューター409に対するこれらのインターフェースのためのスマートカードチップ403、フラッシュメモリ405、及びコントローラ407を含む。本発明の実施形態によると、セキュリティトークン401は、コンピューター409に対し、双方向のデータインターフェースを有し、それによってデータはそれらの間を交換されることができる。セキュリティトークン401がデバイスドライバ215を介して仮想トークン205と通信を行うのは、この双方向のデータインターフェース上である。本発明の好ましい、しかし非制限的な実施形態において、(図4に示したように)セキュリティトークン401は、この双方向のデータインターフェースのためのUSB接続機器408を有したUSBセキュリティトークンである。本発明の他の実施形態において、他の双方向データインターフェースを特徴としている。
上述したように自動インストールは、セキュリティトークン401において保存された実行可能なソフトウェアで、且つコンピューター409上で実行される仮想環境ローダー411によって、実行される。本発明の実施形態によると、コンピューター409に既にロードされた標準的なアプリケーションプログラム415は、アプリケーションプログラム204として起動される。アプリケーションプログラム204は、以前に議論したように、仮想CSP層206を介して、仮想トークン205にインターフェースしている。
As described above, the automatic installation is executed by the
本発明のある実施形態においては、仮想環境203及びそれらの全てのコンポーネント(仮想トークン205を含む)はフラッシュメモリ405からコンピューターオペレーティングシステム201へロードされる。本発明の別の実施形態では、仮想環境203及びそれらの全てのコンポーネント(仮想トークン205を含む)が、セキュリティトークン401内に含まれるURLやIPアドレス425に従ってインターネット427のような、コンピューターネットワークを通して、コンピューターオペレーティングシステム201へダウンロードされる。そして、URLやIPアドレスは仮想環境203をダウンロードすることができるコンピューターネットワーク上のリソースである。本発明のさらに別の実施形態によると、仮想環境203の幾つかの部分がコンピューターネットワークからダウンロードされ、残りの部分はフラッシュメモリ405からロードされる。本発明の好ましい実施形態において、全ての仮想環境203(仮想CSP層206を含む)が、コンピューターネットワークからダウンロードされ、仮想トークン205のみがフラッシュメモリ405からロードされる。
In one embodiment of the invention, the
本発明の実施形態によると、仮想環境ローダー411は短いインストールスクリプト412を有している。ある実施形態において、セキュリティトークン401は、CD−ROMといったマスストレージデバイスを装う。その結果、コンピューターのUSBポートに差し込まれると、コンピューターにとっては、CD−ROMといった、自動再生能力を伴うマスストレージデバイスが現在接続されているかのように見える。自動再生の機能が、コンピューターのオペレーティングシステムによって自動的に起動されたとき、インストールスクリプト412は実行される。
According to the embodiment of the present invention, the
異なる既存のコンピューターの構成のためのバリエーション
最適な効果のために、コンピューター409の既存の構成を考慮に入れることが好ましい。
Variations for different existing computer configurations Preferably, the existing configuration of the
本発明の実施形態によると、インストールスクリプト412が実行されるとき、スクリプトはコンピューター409上に公開鍵基盤(PKI)クライアントのミドルウェア(CSP及びスマートカードドライバ)が既にインストールされているかどうかを最初にチェックする。もし、その場合には、コンピューター409は、暗号サービスプロバイダーとしてのセキュリティトークンへインターフェースするために既に構築されており、そしてセキュリティトークン401は、暗号機能を有したスマートカードデバイスとしてPKIクライアントミドルウェアに自身の存在を単純に知らせて、処理はこのポイントで実質的に完了する。後に残るのは全て、セキュリティトークン401のために、ユーザーアプリケーションプログラム415を起動することである。本発明の実施形態において、アプリケーションプログラム415は、インストールスクリプト412によって自動的にも起動される。幾つかの場合において、アプリケーションプログラム415は、ユーザーの嗜好に応じて構築される必要があってもよい(例えば、インターネットブラウザのためのユーザーの「お気に入り」をロードすること)。
According to an embodiment of the present invention, when the
しかし、もし、本発明の別の実施形態において、公開鍵基盤クライアントミドルウェアが存在しない場合には、インストールスクリプト412はCCIDがコンピューター409に既にインストールされているかどうかをチェックする。もし、その場合には、コンピューター409は(図4でUSBデバイスとして図示された)セキュリティトークン401とインターフェースするために既に構築されており、そしてセキュリティトークン401は処理を行ってマスストレージデバイスをエミュレートし、自身のPKI仮想クライアント環境をインストールする。しかし、コンピューター409上にCCIDが存在するため、このインストールは比較的シンプルで、ユーザーアプリケーションプログラム415及び仮想CSP層206を必要とするだけである。仮想CSP層206は、CCIDとインターフェースして、直接セキュリティトークン401にアクセスする。
However, in another embodiment of the present invention, if no public key infrastructure client middleware is present, the install
本発明のさらに別の実施形態によると、もしCCIDがコンピューター409上に存在しない場合には、コンピューター409は通常スマートカードデバイスとしてのセキュリティトークン401にアクセスすることができない。この場合、インストールスクリプト412は、前述したように、完全な仮想クライアント環境203をインストールする。
According to yet another embodiment of the present invention, if the CCID does not exist on the
限られた数の実施形態に関して発明を記述してきたが、多くのバリエーション、変更、及び発明の他の応用も成すことが可能であると解釈されるであろう。 Although the invention has been described with respect to a limited number of embodiments, it will be understood that many variations, modifications, and other applications of the invention are possible.
Claims (6)
・前記仮想暗号サービスプロバイダー層へのインターフェース;
・上記インターフェースより受領されるデータをフォーマットするため、及び上記インターフェースへ送られるデータをフォーマットするためのプロトコルフォーマッタ;及び
・前記コンピューターに連動し、上記プロトコルフォーマッタを通して前記セキュリティサービスを提供するように構築されたハードウェアセキュリティトークン。 A virtual token for providing a security service to an application program executed in a virtual environment in a computer operating system, the virtual environment having a virtual cryptographic service provider layer for providing the application program The virtual token comprises:
An interface to the virtual cryptographic service provider layer;
A protocol formatter for formatting data received from the interface and for formatting data sent to the interface; and, coupled to the computer, constructed to provide the security service through the protocol formatter. Hardware security token.
・マスストレージデバイス;
・ヒューマンインターフェースデバイス;
からなるグループから選択されるデバイスドライバに適合する仮想トークン。 The virtual token of claim 1, wherein the protocol formatter is: a mass storage device;
・ Human interface devices;
A virtual token that conforms to a device driver selected from the group consisting of
・プライバシー;
・アクセスコントロール;
・認証/確認;
・データ保護;
・暗号化/復号化/ハッシュ化;
・デジタル署名作成/照合;
・デジタル証明書作成/照合;
・チャレンジ/レスポンス;
・ユーザーネーム/パスワード/PIN(個人識別番号)/アクセスコード表示;
・ワンタイムパスワード発生;
・デリケートなデータストレージ。 The virtual talk of claim 1, wherein the security service is selected from the group consisting of:
·privacy;
·access control;
・ Authentication / confirmation;
・ Data protection;
Encryption / decryption / hashing;
・ Digital signature creation / verification;
・ Digital certificate creation / verification;
・ Challenge / Response;
・ User name / password / PIN (personal identification number) / access code display;
・ One-time password generation;
-Sensitive data storage.
・データを交換するための前記コンピューターに対する双方向のデータインターフェース;
・仮想環境を前記オペレーティングシステムにロードするために構築された仮想環境ローダーであって、上記仮想環境は仮想暗号サービスプロバイダー層を含む仮想環境ローダー;並びに
・上記仮想環境に仮想トークンをインストールするためのインストールスクリプトであって、上記仮想トークンは以下のものを含む:
・前記アプリケーションプログラムと通信を行うための上記仮想暗号サービスプロバイダー層に対するインターフェース;及び
・上記双方向のデータインターフェースから受領されるデータをフォーマットするため、及び上記双方向データインターフェースへ送られるデータをフォーマットするためのプロトコルフォーマッタ。 A security token for providing a security service to an application program in a computer operating system, the security token comprising:
A bidirectional data interface to the computer for exchanging data;
A virtual environment loader constructed to load a virtual environment into the operating system, the virtual environment including a virtual cryptographic service provider layer; and, for installing a virtual token in the virtual environment An installation script, where the virtual token includes:
• an interface to the virtual cryptographic service provider layer for communicating with the application program; and • formatting data received from the bidirectional data interface and formatting data sent to the bidirectional data interface. Protocol formatter for.
・コンピューターネットワーク上のリソースのURL;及び
・上記コンピューターネットワーク上の上記リソースのIPアドレス
のうち少なくとも1つをさらに含み、少なくとも仮想環境の上記ローディングの部分が、上記リソースからのダウンロードを通して行われる、セキュリティトークン。 The security token according to claim 4, wherein:
A URL of a resource on the computer network; and security, further comprising at least one of an IP address of the resource on the computer network, wherein at least the loading portion of the virtual environment is performed through a download from the resource token.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95538607P | 2007-08-13 | 2007-08-13 | |
PCT/IL2008/001111 WO2009022333A2 (en) | 2007-08-13 | 2008-08-13 | Virtual token for transparently self-installing security environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010537270A true JP2010537270A (en) | 2010-12-02 |
Family
ID=40351259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010520683A Abandoned JP2010537270A (en) | 2007-08-13 | 2008-08-13 | Virtual token for implicit self-installing security environment |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110145592A1 (en) |
EP (1) | EP2179536A4 (en) |
JP (1) | JP2010537270A (en) |
WO (1) | WO2009022333A2 (en) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8776038B2 (en) | 2008-08-07 | 2014-07-08 | Code Systems Corporation | Method and system for configuration of virtualized software applications |
US8434093B2 (en) | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
TW201027338A (en) * | 2009-01-12 | 2010-07-16 | Prolific Technology Inc | External storage device having a self-contained security function |
US20100235906A1 (en) * | 2009-03-12 | 2010-09-16 | Nokia Corporation | Method and apparatus for activate an authentication on a mobile device |
JP5365398B2 (en) * | 2009-07-27 | 2013-12-11 | 大日本印刷株式会社 | Security management program management method, computer program, and information recording medium |
US20110035808A1 (en) * | 2009-08-05 | 2011-02-10 | The Penn State Research Foundation | Rootkit-resistant storage disks |
US8954958B2 (en) | 2010-01-11 | 2015-02-10 | Code Systems Corporation | Method of configuring a virtual application |
US9104517B2 (en) | 2010-01-27 | 2015-08-11 | Code Systems Corporation | System for downloading and executing a virtual application |
US8959183B2 (en) | 2010-01-27 | 2015-02-17 | Code Systems Corporation | System for downloading and executing a virtual application |
US9229748B2 (en) | 2010-01-29 | 2016-01-05 | Code Systems Corporation | Method and system for improving startup performance and interoperability of a virtual application |
US8763009B2 (en) | 2010-04-17 | 2014-06-24 | Code Systems Corporation | Method of hosting a first application in a second application |
JP5633730B2 (en) | 2010-06-28 | 2014-12-03 | ソニー株式会社 | Information processing apparatus and method, and program |
US9218359B2 (en) | 2010-07-02 | 2015-12-22 | Code Systems Corporation | Method and system for profiling virtual application resource utilization patterns by executing virtualized application |
US9021015B2 (en) | 2010-10-18 | 2015-04-28 | Code Systems Corporation | Method and system for publishing virtual applications to a web server |
US9209976B2 (en) | 2010-10-29 | 2015-12-08 | Code Systems Corporation | Method and system for restricting execution of virtual applications to a managed process environment |
US9032520B2 (en) * | 2012-02-22 | 2015-05-12 | iScanOnline, Inc. | Remote security self-assessment framework |
US20140181844A1 (en) * | 2012-12-23 | 2014-06-26 | Vincent Edward Von Bokern | Hardware management interface |
US9419953B2 (en) | 2012-12-23 | 2016-08-16 | Mcafee, Inc. | Trusted container |
US8850543B2 (en) | 2012-12-23 | 2014-09-30 | Mcafee, Inc. | Hardware-based device authentication |
US9560014B2 (en) | 2013-01-23 | 2017-01-31 | Mcafee, Inc. | System and method for an endpoint hardware assisted network firewall in a security environment |
IL228523A0 (en) * | 2013-09-17 | 2014-03-31 | Nds Ltd | Private data processing in a cloud-based environment |
US20150172920A1 (en) * | 2013-12-16 | 2015-06-18 | Mourad Ben Ayed | System for proximity based encryption and decryption |
GB2529812A (en) * | 2014-08-28 | 2016-03-09 | Kopper Mountain Ltd | Method and system for mobile data and communications security |
US20160364562A1 (en) * | 2015-06-09 | 2016-12-15 | Pure Storage, Inc. | Systems and methods for system self-configuration |
US10129223B1 (en) | 2016-11-23 | 2018-11-13 | Amazon Technologies, Inc. | Lightweight encrypted communication protocol |
US10630682B1 (en) * | 2016-11-23 | 2020-04-21 | Amazon Technologies, Inc. | Lightweight authentication protocol using device tokens |
JP2022549671A (en) * | 2019-09-25 | 2022-11-28 | コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション | Cryptographic services for browser applications |
US11467848B2 (en) * | 2020-05-07 | 2022-10-11 | Capital One Services, Llc | Portable operating system and portable user data |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6360254B1 (en) * | 1998-09-15 | 2002-03-19 | Amazon.Com Holdings, Inc. | System and method for providing secure URL-based access to private resources |
US7085931B1 (en) * | 1999-09-03 | 2006-08-01 | Secure Computing Corporation | Virtual smart card system and method |
AU2002228676A1 (en) * | 2000-11-27 | 2002-06-03 | Parenty Consulting, Llc | Method and system for object encryption using transparent key management |
US20020178207A1 (en) * | 2001-03-22 | 2002-11-28 | Mcneil Donald H. | Ultra-modular processor in lattice topology |
US7779267B2 (en) * | 2001-09-04 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | Method and apparatus for using a secret in a distributed computing system |
US7222240B2 (en) * | 2001-11-06 | 2007-05-22 | Safenet, Inc. | Token for storing installation software and drivers |
US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US20040098596A1 (en) * | 2002-11-15 | 2004-05-20 | Rainbow Technologies, Inc. | Driverless USB security token |
US7646874B2 (en) * | 2005-12-22 | 2010-01-12 | Canon Kabushiki Kaisha | Establishing mutual authentication and secure channels in devices without previous credentials |
-
2008
- 2008-08-13 WO PCT/IL2008/001111 patent/WO2009022333A2/en active Application Filing
- 2008-08-13 JP JP2010520683A patent/JP2010537270A/en not_active Abandoned
- 2008-08-13 EP EP08789785A patent/EP2179536A4/en not_active Withdrawn
- 2008-08-13 US US12/673,295 patent/US20110145592A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2009022333A2 (en) | 2009-02-19 |
EP2179536A2 (en) | 2010-04-28 |
US20110145592A1 (en) | 2011-06-16 |
WO2009022333A3 (en) | 2010-03-04 |
EP2179536A4 (en) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010537270A (en) | Virtual token for implicit self-installing security environment | |
CN107800682B (en) | Data authentication and secure transmission between a signing device and a host using transport layer security | |
KR101904177B1 (en) | Data processing method and apparatus | |
JP5852265B2 (en) | COMPUTER DEVICE, COMPUTER PROGRAM, AND ACCESS Permission Judgment Method | |
KR101878149B1 (en) | Device, system, and method of secure entry and handling of passwords | |
KR101434080B1 (en) | Booting and configuring a subsystem securely from non-local storage | |
CN112513857A (en) | Personalized cryptographic security access control in a trusted execution environment | |
KR101852791B1 (en) | Certification service system and method using user mobile terminal based secure world | |
US9348575B2 (en) | Update of a data-carrier application | |
EP3283964B1 (en) | Method of operating a computing device, computing device and computer program | |
EP2849403B1 (en) | Method and system for controlling the exchange of privacy-sensitive information | |
JP2011507091A (en) | Method and system for managing software applications on mobile computing devices | |
CN108200078B (en) | Downloading and installing method of signature authentication tool and terminal equipment | |
CN108335105B (en) | Data processing method and related equipment | |
WO2008067124A2 (en) | Apparatus, and associated method, for providing secure data entry of confidential information | |
WO2019051839A1 (en) | Data processing method and device | |
CN113992346A (en) | Implementation method of security cloud desktop based on state password reinforcement | |
US10211991B1 (en) | Method for downloading preauthorized applications to desktop computer using secure connection | |
CN113614720A (en) | Device and method for dynamically configuring access control of trusted application program | |
EP3085007B1 (en) | Push-based trust model for public cloud applications | |
CN109960935B (en) | Method, device and storage medium for determining trusted state of TPM (trusted platform Module) | |
KR20070059891A (en) | Application authentication security system and method thereof | |
CN101645893A (en) | Network trading method, device and system | |
CN113316916A (en) | Apparatus and method for updating anti-theft token in digital key sharing system | |
CN115906196A (en) | Mobile storage method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110811 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20130122 |