JP4288021B2 - 独立したデバイスをシングル・トークン・インタフェースとして連係させる方法及びグラフィカル・ユーザ・インタフェースの方法 - Google Patents

独立したデバイスをシングル・トークン・インタフェースとして連係させる方法及びグラフィカル・ユーザ・インタフェースの方法 Download PDF

Info

Publication number
JP4288021B2
JP4288021B2 JP2001170842A JP2001170842A JP4288021B2 JP 4288021 B2 JP4288021 B2 JP 4288021B2 JP 2001170842 A JP2001170842 A JP 2001170842A JP 2001170842 A JP2001170842 A JP 2001170842A JP 4288021 B2 JP4288021 B2 JP 4288021B2
Authority
JP
Japan
Prior art keywords
function
list
token
interface
different encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001170842A
Other languages
English (en)
Other versions
JP2002111654A (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.)
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 JP2002111654A publication Critical patent/JP2002111654A/ja
Application granted granted Critical
Publication of JP4288021B2 publication Critical patent/JP4288021B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般には改良されたデータ処理システムに関し、特に独立したデバイスを1つのトークン・インタフェースとして連係させる方法及びグラフィカル・ユーザ・インタフェースに関する。
【0002】
【従来の技術】
公開キー暗号方式は、暗号化と復号化に異なるキーを使用する技術である。公開キーと秘密キーの2つのキーが用いられ、いずれかでデータの暗号化または復号化ができる。ユーザは自分の公開キーを他のユーザに与え、秘密キーは他のユーザに知られないようにしておく。公開キーで暗号化されたデータは、対応する秘密キーでのみ復号化することができ、逆も同様である。
【0003】
公開キー暗号方式が受け入れられるにつれ、異なる2つのサイトで異なるベンダにより開発されたとしても、そのソフトウェアが連係するための標準が必要になっている。特に電子署名、電子封筒、電子証明書、キー交換の確認/同意に必要な標準が開発されている。しかし、相互運用性を保証するには、通信可能なフォーマットに厳密に準拠する必要がある。異種環境での相互運用規格の標準としてPKCS(公開キー暗号標準)がある。
【0004】
PKCSは、公開キー暗号方式に用いられるデータ・タイプとアルゴリズムを定義するため、RSA Laboratoriesが発表したドキュメントである。1991年に10種類のPKCS規格が発表されている。1993年のPKCS#2、#4がPKCS#1に組み込まれ、標準の全体は次のような内容になっている。
PKCS#1 RSA暗号標準
PKCS#3 Diffie-Hellmanキー交換標準
PKCS#5 パスワード・ベースの暗号化標準
PKCS#6 拡張証明書シンタックス標準
PKCS#7 暗号化メッセージ・シンタックス標準
PKCS#8 秘密キー情報シンタックス標準
PKCS#9 選択属性タイプ
PKCS#10 証明書要求シンタックス標準
【0005】
PKCSは改良を続け、1993年以降は次の規格が追加されている。
PKCS#11 暗号化トークン・インタフェース標準
PKCS#12 個人情報交換シンタックス標準
PKCS#13 楕円曲線暗号化標準
PKCS#15 暗号化トークン情報フォーマット標準
【0006】
これら規格ドキュメントの1つ、PKCS#11は、暗号化トークン・インタフェース(cryptographic token interface)を略してCryptokiと呼ばれ、オブジェクト・ベースの簡単なアプローチを採り、技術独立(デバイスの種類を問わない)、リソース共有(複数アプリケーションが複数デバイスにアクセス)というも目標を設定し、暗号化トークンという、デバイスの論理的共通ビューをアプリケーションに表示するAPIを定義している。
【0007】
図9に、既存規格に従ってCryptokiの一般モデルを表す例を示す。モデルは、暗号化操作の実行を必要とするアプリケーションから始まり、暗号化デバイスで終わる。暗号化デバイスに対しては、操作の一部または全部が実際に行われる。ユーザは、条件によってはアプリケーションに関連付けられる。
【0008】
Cryptokiは、複数の"スロット"を通して、システム内でアクティブな暗号化デバイスとのインタフェースを与える。物理リーダまたは他のデバイス・インタフェースに対応する各スロットは、トークンを含むことができる。通常、トークンは、暗号化デバイスがリーダに存在するとき"スロットに存在"する。
【0009】
暗号化デバイスは、特定のコマンド群に従って暗号化操作を行える。これらのコマンドは通常、PCMCIAカード・サービスやソケット・サービス等の標準デバイス・ドライバを通して渡される。Cryptokiにより、各暗号化デバイスは、実装技術の如何にかかわらず、論理的に他の全てのデバイスと同じように見える。従ってアプリケーションは、デバイス・ドライバと直接インタフェースをとる必要がない(どのドライバが使用されているか知る必要さえない)。実際、下位の"デバイス"は全体をソフトウェアとして実装することができる(例えばサーバ上で動作するプロセスとして)。詳しくはRSA Security社の"PKCS#11 v2.10:暗号化トークン・インタフェース標準"を参照されたい。
【0010】
図9に示すように、各デバイスはトークンとして表される。Cryptokiから見たトークンの論理的ビューは、オブジェクトを保存し、暗号化機能を実行できるデバイスである。Cryptokiは、データ、証明書、キーの3クラスのオブジェクトを定義している。データ・オブジェクトはアプリケーションにより定義される。証明書オブジェクトは証明書を保存する。キー・オブジェクトは暗号化キーを保存する。キーは公開キー、秘密キー等であり、それぞれ特定のメカニズムに使用するためのサブタイプを持つ。トークンはオブジェクトを作成、破壊、操作、検索することができる。トークンはまたオブジェクトとともに暗号化機能を実行することもできる。
【0011】
現在の技術では、暗号化デバイス毎にダイナミック・リンク・ライブラリ等の共有ライブラリを作成する必要がある。更に、トークン毎に1デバイスしか使用できない。従って、種々の暗号化デバイスを利用したい場合は、種々のトークンに精通し、オブジェクトに適用されるトークンを管理できなければならない。従って、多くのデバイスを組み合わせて1つのトークンにすることのできる方法及び装置があれば有益である。
【0012】
【課題を解決するための手段】
本発明は、独立したデバイスが1つのトークン・インタフェースとして連係することのできる方法及びグラフィカル・ユーザ・インタフェースを提供する。この方法及びグラフィカル・ユーザ・インタフェースは、様々な独立デバイスの機能を機能カテゴリに分ける。ユーザは、これらのカテゴリから組み合わせて1つのトークン・インタフェースにするデバイスの機能を選択することができる。その後、1つのトークン・インタフェースがデータ・オブジェクトに適用されたとき、関連付けられた任意の機能を、機能を実行するデバイスとは無関係に適用することができる。これによりユーザは、デバイス毎に1つ、複数のトークンを管理するのではなく、1つのトークン・インタフェースのみ管理すればよい。
【0013】
【発明の実施の形態】
各図を参照する。図1は、本発明を実装することのできる分散データ処理システムを示す。分散データ処理システム100は、本発明を実装することのできるコンピュータのネットワークである。分散データ処理システム100は、分散データ処理システム100内に一括接続された各種デバイス間、コンピュータ間に通信リンクを提供するため用いられる媒体であるネットワーク102を含む。ネットワーク102には、ワイヤ、光ファイバ・ケーブル等の永続接続または電話回線による一時接続を追加することができる。
【0014】
図の例で、サーバ104とサーバ106は、ストレージ・ユニット108とともにネットワーク102に接続される。またクライアント110、112、114もネットワーク102に接続される。これらのクライアント110乃至114は、例えばパーソナル・コンピュータやネットワーク・コンピュータである。ネットワーク・コンピュータは、ネットワークに接続され、同じくネットワークに接続された他のコンピュータからプログラムや他のアプリケーションを受け取る任意のコンピュータである。図の例のサーバ104は、ブート・ファイル、オペレーティング・システム・イメージ、アプリケーション等のデータをクライアント110乃至114に与える。
【0015】
クライアント110乃至114は、サーバ104に対するクライアントである。またクライアント110乃至114は、これらの例ではサーバ106に対するクライアントにもなる。分散データ処理システム100には、サーバ、クライアント、他のデバイス(図示せず)を追加できる。図の例の分散データ処理システム100は、TCP/IPプロトコルの組により相互に通信するネットワークやゲートウェイの世界規模の集まりがネットワーク102により表されるインターネットである。インターネットの中核には、商用、政府、教育、その他の分野のデータやメッセージをルーティングするコンピュータ・システムで構成される主なノード間、ホスト・コンピュータ間の高速データ通信回線のバックボーンがある。もちろん分散データ処理システム100は、例えばイントラネット、LAN(ローカル・エリア・ネットワーク)、WAN(ワイド・エリア・ネットワーク)のような、種類の複数の異なるネットワークとして実現することができる。図1は、異種コンピューティング環境の1例であり、本発明をアーキテクチャに関して限定するものではない。。
【0016】
図2を参照する。図1のサーバ104またはサーバ106のようなサーバとして実装することのできるデータ処理システムが示してある。データ処理システム200は、システム・バス206に接続された複数のプロセッサ202、204を含むSMP(対称型マルチプロセッサ)システムでもよい。またシングル・プロセッサ・システムも採用できる。システム・バス206には、ローカル・メモリ209とのインタフェースを与えるメモリ・コントローラ/キャッシュ208も接続される。またシステム・バス206にI/Oバス・ブリッジ210が接続され、I/Oバス212とのインタフェースが得られる。メモリ・コントローラ/キャッシュ208とI/Oバス・ブリッジ210は図のように統合することができる。
【0017】
I/Oバス212に接続されたPCI(Peripheral Component Interconnect)バス・ブリッジ214は、PCIローカル・バス216とのインタフェースを与える。PCIローカル・バス216には複数のモデムを接続できる。代表的なPCIバスは4つのPCI拡張スロットまたはアドイン・コネクタをサポートする。図1のネットワーク・コンピュータ108乃至112との通信リンクは、アドイン・ボードを通してPCIローカル・バス216に接続されたモデム218とネットワーク・アダプタ220により得られる。
【0018】
PCIバス・ブリッジ222、224はPCIバス226、228にインタフェースを与え、そこから他のモデムやネットワーク・アダプタをサポートすることができる。このように、データ処理システム200では、複数のネットワーク・コンピュータとの接続が得られる。I/Oバス212には、図のように、直接または間接に、メモリ・マップ・グラフィックス・アダプタ230とハード・ディスク232も接続することができる。
【0019】
当業者には明らかなように、図2に示したハードウェアは変更することができる。例えば光ディスク・ドライブ等の他の周辺装置を、図のハードウェアに追加してまたはその代わりに使用できる。図の例は、本発明に関してアーキテクチャ上の制限を意味するものではない。図2のデータ処理システムは、例えばAIX(拡張対話式エグゼクティブ)オペレーティング・システムが動作するIBM RISC/System 6000でもよい。また、Java(R)OS For Business(R)、OS/2(R)等の他の一般的なオペレーティング・システムも採用できる。Java(R)OSは、ネットワーク上のサーバからネットワーク・クライアントにロードされ、Java(R)のプログラムやアプレットをサポートする。Java(R)のようなオブジェクト指向プログラミング・システムは、オペレーティング・システムとともに動作可能で、データ処理システムで動作するJava(R)のプログラムやアプリケーションからオペレーティング・システムへのコールが得られる。
【0020】
本発明は、様々なコンピュータ・プラットフォーム、オペレーティング・システム上で暗号化データ・オブジェクトを処理する方法、システムまたは装置、及びコンピュータ実装命令を提供する。本発明は、ほとんどのコンピュータ言語で実装することができるが、ほとんどの環境でパフォーマンスが良いことから、好適にはC言語で実装される。ただし例のユーザ・インタフェースはJava(R)で実装することができる。従って本発明は、Java(R)標準仕様に定義されているように、Java(R)ランタイム環境内で採用でき、JVM(Java(R)仮想マシン)とともに、JVM境界内でも使用できる。本発明の背景を示すため、Java(R)仕様に従ったJVMの動作の一部をここで説明している。
【0021】
図3を参照する。本発明を実装することのできるコンピュータ・システム内で動作するソフトウェア・コンポーネントの関係が示してある。Java(R)ベースのシステム250は、特定のハードウェア・プラットフォーム上で動作するソフトウェアに対してハードウェアとシステムのサポートを与えるプラットフォーム固有オペレーティング・システム252を含む。JVM254は、オペレーティング・システムとともに動作可能な1つのソフトウェア・アプリケーションである。JVM254は、Java(R)プログラミング言語で書かれたプログラム、サーブレット、またはソフトウェア・コンポーネントであるJava(R)アプリケーションもしくはアプレット256を実行可能なJava(R)ランタイム環境を与える。JVM254が動作するコンピュータ・システムには、前記のデータ処理システム200と同様なシステムを使用できるが、JVM254は、いわゆるpicoJavaコアが組み込まれたJava(R)チップ、Java(R)オン・シリコン、またはJava(R)プロセッサ上の専用ハードウェアに実装することもできる。
【0022】
Java(R)ランタイム環境の中核はJVMであり、JVMは、アーキテクチャ、セキュリティ機能、ネットワーク間の移動、プラットフォーム独立性等、Java(R)環境のあらゆる側面をサポートする。JVMは、仮想コンピュータ、つまり抽象的に規定されたコンピュータである。Java(R)仕様は、全てのJVMが実装する必要のある特定の機能を定義しており、JVMが動作するよう設計されたプラットフォームに依存し得る一定の設計自由度がある。例えば、JVMは全て、Java(R)バイトコードを実行する必要があり、バイトコードにより表される命令を実行するには、一定範囲の手法を採ることができる。JVMは全体をソフトウェアに、または一部をハードウェアに実装することができる。この柔軟性により、メインフレーム・コンピュータ、PDA等の複数のハードウェア・プラットフォーム用に異なるJVMを設計することができる。
【0023】
JVMは、実際にJava(R)プログラムを実行する仮想コンピュータ・コンポーネントの名称である。Java(R)プログラムは、中央のプロセッサにより直接実行されることはなくJVMにより実行される。JVM自体、プロセッサで動作するソフトウェアである。Java(R)プログラムは、JVMにより、コードがコンパイルされた当の1つのプラットフォームだけでなく、異なるプログラムで実行することができる。Java(R)プログラムはJVMを対象にコンパイルされる。こうしてJava(R)は、各種のCPU(中央処理システム)やオペレーティング・システム・アーキテクチャを使用できる多様なデータ処理システムのためにアプリケーションをサポートすることができる。
【0024】
図1乃至図3に関して説明したデータ処理システムは、PKCS#7、PKCS#11オブジェクト等、相互運用可能に定義されている暗号標準に従ってフォーマットされた暗号化データ・オブジェクトの作成、変更、転送、保存、受信に使用できる。以下、証明書、署名等が用いられる背景について説明する。
【0025】
証明書は、個人、コンピュータ・システム、または組織のIDとキー所有権を保証する電子ドキュメントである。例えばユーザの証明書は、ユーザが特定の公開キーを所有することを証明するものである。証明書は証明機関により発行される。証明機関は、証明書を発行する前に、個人のIDとキー所有権を証明する責任を持つ。ID証明書は、あるエンティティからのデジタル署名されたステートメントであり、他のエンティティの公開キーに一定の価値があることを示す。
【0026】
公開キーは、特定のエンティティに関連付けられた数字であり、そのエンティティとの間で信頼できる関係を持つ必要のある者に知らせることを前提にしている。エンティティは個人、組織、プログラム、コンピュータ、企業、銀行等である。データがデジタル署名された場合、データは、エンティティがデータのことを知っていることを証明するエンティティの"ID"及び署名とともに保存されている。署名は、データ及びエンティティの秘密キーから計算される。
【0027】
秘密キーは、特定のエンティティしか知り得ない、つまり秘密にされることを想定した数字である。代表的な公開キー暗号方式の秘密キーは正確に1つの公開キーに対応する。
【0028】
証明書は、公開キー暗号方式に依存し、a)公開キーと秘密キーはペアとして使用され、b)秘密キーは署名に用いられ、c)公開キーは署名の確認に用いられる。証明機関(CA)は、他者(エンティティ)のため証明書に署名する(証明書を発行する)、信頼されている企業等のエンティティである。通常、CAは、証明書に署名したエンティティを信頼できるような、公開キーとその所有者の結びつきを保証することに関して何らかの法的責任を持つ。
【0029】
証明書を取得する方法は基本的には2つある。1)ソフトウェアを使用して自身で作成するか、または2)証明機関等の他者に発行を依頼する。証明書作成プロセスには主に2つの入力がある。1つは、特別なソフトウェアを使用して生成され照合された公開キーと秘密キーのペアである。他者に表示されるのは公開キーのみである。秘密キーはデータの署名に用いられる。秘密キーが不正に知られた場合、第三者の手によるものとした法的文書が偽造される恐れもある。第2の入力は、個人等の証明されるエンティティに関する情報である。通常これは名前、組織の住所等の情報を含む。証明機関が証明書を発行する場合、通常はID証明を提出する必要がある。
【0030】
証明機関が個人の証明書を発行する場合、個人は公開キー及び自身に関する何らかの情報を提出する必要がある。Netscape Navigator等のツールはこの情報にデジタル署名し、証明機関に送信することができる。証明機関としては、信頼されている第三者証明機関サービスを提供する会社等が考えられる。証明機関は証明書を生成して送り返す。証明書には、証明書の有効期間、シリアル番号等、他の情報も加えることができる。証明機関により生まれる価値の一部は、部分的には、証明機関のCSP(Certification Service Practices)として公開される証明機関の検証要件をもとに、中立で信頼できる紹介サービスを提供することである。
【0031】
本発明は、暗号化オブジェクト、メソッド等のオブジェクトを組み合わせて1つのトークンを作成するメカニズムを提供する。その際、ユーザが操作し理解する必要のあるトークン数は減少する。従って暗号化機能を作成しオブジェクトに適用するためのインタフェースは簡素化でき、よりユーザ・フレンドリになる。
【0032】
図4は、組み合わせて1つのトークン・インタフェースを作成する機能オブジェクトの関係を示す代表的な図である。図4に示した要素は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組み合わせ、データ処理システム上に存在するデバイスを表している。データ処理システムは、ネットワーク102等のネットワークに分散させることができ、クライアント・デバイス110、サーバ・デバイス104のようなスタンドアロン・データ処理システムにすることもできる。
【0033】
図4に示すように、機能は、暗号化機能310、オブジェクト作成/管理機能(オブジェクト・モジュール)320、及びセッション管理機能330に分けられる。これらの機能は、例えばPKCS#11標準に定義されている関数C_GetMechanismListを呼び出すことによって取得することができる。例えば、ユーザが新しいトークン・インタフェースを作成するとき、アプリケーションからトークン610、620、630のC_GetMechanismListを呼び出すことができる。これは、実際に返されるメカニズムによるが、310または320の要素の1つと分類される。次にユーザは各要素を個別にアクセスできる。これらの機能を分けることによって、トークン・インタフェース340を使用し、ソフトウェア・デバイスとハードウェア・デバイスの組み合わせを更に組み合わせて1つのトークンを作成することができる。
【0034】
トークン・インタフェース340とセッション管理モジュール330は、各デバイスの場所とデバイスとの通信方法を管理する。セッション管理モジュール330は、トークン・インタフェース340に関連付けられたトークンのセッションを管理する。トークン・インタフェース340は、トークン・インタフェース340内の各トークン及び各トークンのセッションに関する情報を維持する。トークン・インタフェースは、種類の複数の異なるトークンから構成でき、それぞれ別々のセッションに用いられるので、セッション管理モジュール330は、オープンなセッション指定をサポートする必要がある。
【0035】
図4のオブジェクトは、別々のモジュールの各種機能オブジェクトを表す。例えばデータ・オブジェクトの署名を生成するため、暗号モジュール310の署名オブジェクトが用いられる。データ・オブジェクトの署名を検証するには、検証オブジェクトを使用できる。同様に、これらの機能を実行するには、暗号化オブジェクトや復号化オブジェクトを使用できる。これらの機能は、例えばデータ処理デバイス、コンピュータ・プログラム、回路、その他のハードウェアにより実装されたJava(R)メソッドに組み込むことができる。ここでは、機能はハードウェア・メソッドとして組み込まれていることを前提にしている。
【0036】
モジュールは、ソフトウェアとハードウェアのいずれかまたは両方に実装することのできるデバイスを表す。モジュールは、機能オブジェクトにより表される機能を実行することができる。例えばモジュールは、暗号ハードウェア・デバイス、ストレージ・デバイス等のハードウェア・デバイス、または暗号アルゴリズムのライブラリ等のソフトウェア・デバイスでもよい。
【0037】
図5は、本発明に従った代表的GUI(グラフィカル・ユーザ・インタフェース)である。図5に示すように、GUI400はトークン一覧410とトークン・インタフェース一覧420を含む。またGUI400は、トークン・インタフェース一覧でトークン・インタフェースの追加、変更、削除を行う仮想ボタン430、440、450を含む。
【0038】
ユーザは、仮想ボタン430乃至450の1つを仮想的に押すことによって、トークン・インタフェースの追加、変更、削除が行える。トークン・インタフェースの変更または削除の場合、トークン・インタフェース一覧420からまずトークン・インタフェースを選択し、次に変更または削除の仮想ボタン440/450を仮想的に押すことができる。
【0039】
トークン一覧410は、新しいトークン・インタフェースを作成し、既存トークン・インタフェースを変更するため使用できるトークンを示す。トークン一覧410は、GUI400に関連付けられたトークン・データベース(図示せず)からトークン情報を取得することによって生成することができる。このデータベースは、本発明が実装されたデータ処理システムに関連付けられたメモリに維持することができる。トークンを一覧に追加するには、関連付けられたデータベースに追加する。このトークン一覧はまた、例えばPKCS#11の関数呼び出しC_GetSlotListを使用し、tokenPresent値を調べて既存トークンを検証し、新しいトークンが追加されているか確認することによっても取得できる。
【0040】
図6は、図5のトークン・インタフェース追加仮想ボタン430の選択に応答してユーザに表示される代表的GUI(グラフィカル・ユーザ・インタフェース)500である。図6に示すように、GUI500は、トークン・インタフェースを識別するトークン・インタフェース・ラベルを入力するフィールド510を含む。このトークン・インタフェース・ラベルは、トークン・インタフェース一覧420に表示されるラベルである。GUI500はまた、トークン・インタフェースを追加または追加をキャンセルする仮想ボタン520、530を含む。トークン・インタフェース・ラベルがフィールド510に入力されると、追加仮想ボタン520が有効になり、ユーザは、追加されるトークン・インタフェースを定義するためGUIとともに表示される追加仮想ボタン520を選択することができる。
【0041】
図7は、トークン・インタフェースを定義するGUI(グラフィカル・ユーザ・インタフェース)600の代表的な図である。GUI600は、トークン・インタフェースが追加されているとき(例えば仮想ボタン520の選択により)、またはトークン・インタフェースが変更されているとき(例えば仮想ボタン440の選択により)ユーザに表示される。図7に示すように、GUI600は、トークン一覧410の各トークンに関連付けられたメソッドの詳細一覧610、620、630と、トークン・インタフェースに追加されているメソッドの一覧640を含む。またGUI600は、トークン・インタフェース・メソッド一覧640でメソッドの追加と削除を行う追加と削除の仮想ボタン650、660を含む。
【0042】
ユーザは、メソッドを選択し、追加仮想ボタン650を押すことによって、トークン・メソッド一覧610乃至630のいずれからでも、トークン・インタフェース・メソッド一覧640にメソッドを追加することができる。同様に、トークン・インタフェース・メソッド一覧640からメソッドを選択し、削除仮想ボタン660を押すことによって、トークン・インタフェース・メソッド一覧640からメソッドを削除することができる。ユーザは、トークン・インタフェースに割当てられたメソッドに満足すれば、保存仮想ボタン670を選択してトークン・インタフェースをメモリに保存することができる。ユーザが、トークン・インタフェースの追加や変更をそれ以上行わない場合、キャンセル仮想ボタン680を選択すればもう一度GUI400を表示することができる。
【0043】
図7からわかるように、トークン・インタフェースは、複数の異なるトークンからのメソッド等の機能で構成することができる。従って、トークン・インタフェースは、トークンとして表される異なるデバイスにより実行される種類の異なる多くの機能を実行することができる。例えば、図7に示したトークン・インタフェースBは、RSAキー・ペア生成(セキュア・ストレージ・デバイスから取得)、RSA PKCS暗号化(RSAアクセラレータ・デバイスから)、及びDES3 MAC暗号化(DESアクセラレータ・デバイスから)を実行することができる。その結果、ユーザは、3つの異なるトークン610乃至630ではなく、トークン・インタフェースBを管理するだけでよい。
【0044】
トークン・インタフェースは、GUI400、500、600を使用して定義されると、トークンが現在データ・オブジェクトに適用されるのと同じように、データ・オブジェクトに適用することができる。ただし本発明のトークン・インタフェースでは、各種デバイスの機能はどれも、データ・オブジェクトに対して実行することができる。従って、ユーザは、データ・オブジェクトに対してRSA PKCS暗号化を行いたい場合、データ・オブジェクトにトークン・インタフェースBだけを適用すればよい。同様に、データ・オブジェクトに対してDES3 MAC暗号化を行いたい場合は、同じトークン・インタフェースBをデータ・オブジェクトに適用する。
【0045】
適用される暗号の種類は、例えば、PKCS標準に定義されているように、C_EncryptInit関数に渡されるpMechanismパラメータをもとに決定することができる。同じアルゴリズムを実行することのできるトークンが複数ある場合、トークン・インタフェースは、デバイスの現在の負荷とパフォーマンスをもとに最適なトークンを決定する。セッション管理モジュール330とトークン・インタフェースは、トークン・インタフェースの各種デバイス及びそれらとの通信方法に関する情報を維持するので、トークン・インタフェース・メソッド一覧640の特定のメソッドがデータ・オブジェクトに適用されたとき、対応するデバイスを利用してデータ・オブジェクトのメソッドを実行することができる。
【0046】
本発明のメリットを示す例として次を考える。第1デバイスはRSA暗号アルゴリズムを使用でき、第2デバイスはDSA暗号アルゴリズムを使用できるが、いずれもハッシングやキーの安全な保存は行えないとする。また、キーを永久保存するストレージ・デバイスと、セッション・キーを読取るスマート・カード・リーダがあるとする。
【0047】
これまでのPKCS#11システムは、これら4つのデバイスを別々のトークンとして扱う。すなわち、RSA暗号アルゴリズムのトークンがあり、DSA暗号アルゴリズムのトークンがあり、永久保存用トークンがあり、スマート・カード・リーダ用のトークンがある。従って、ユーザは、必要な機能を全て実行するためには、これら4つのトークンそれぞれを熟知し使用できなければならない。
【0048】
本発明では、これらのデバイスそれぞれを組み合わせて1つのトークン・インタフェースにすることができる。例えば、4つのデバイスのトークンはそれぞれ、GUI600において、対応するメソッド一覧とともに表示することができる。これらのトークンに関連付けられたメソッドは、追加仮想ボタン650を使用してトークン・インタフェース・メソッド一覧640に追加することができる。そこで、保存仮想ボタン670を使用してトークン・インタフェースをメモリに保存することもできる。その後、この1つのトークン・インタフェースは、4つのデバイスの機能を全て1つのトークンとして実行することができる。従って、この1つのトークンを使用して、RSA暗号、DES暗号、キー保存、キー生成を実現することができる。
【0049】
図8は、本発明の代表的な動作を示すフォーマットである。動作は、トークン・インタフェースのGUI(グラフィカル・ユーザ・インタフェース)をユーザに表示することからスタートする(ステップ710)。"トークン・インタフェース追加"コマンドまたは "トークン・インタフェース変更"コマンドが受信されたか確認される(ステップ720)。
【0050】
受信された場合、トークン追加/変更GUIが表示される(ステップ730)。追加と削除のメソッド命令が受信され(ステップ740)、"保存"コマンドが受信されたか確認される(ステップ750)。受信された場合、トークン・インタフェースがメモリに保存され(ステップ760)、動作は終了する。受信されなかった場合、"トークン・インタフェース追加"機能がキャンセルされたか確認される(ステップ770)。キャンセルされた場合動作は終了する。キャンセルされなかった場合動作はステップ740に戻る。
【0051】
"トークン・インタフェース追加"コマンドまたは"トークン・インタフェース変更"コマンドが受信されなかった場合、 "トークン・インタフェース削除"コマンドが受信されたか確認される(ステップ780)。受信された場合、選択されたトークン・インタフェースがメモリから削除される(ステップ790)。受信されなかった場合、動作はステップ710に戻り、ユーザ・コマンドが受信されるまでトークン・インタフェースGUIの表示が続く。
【0052】
本発明は、複数の異なるトークンの機能が得られる1つのトークン・インタフェースを定義することのできるメカニズムを提供する。これにより、1つのトークン・インタフェースによって多くの異なるトークンを実装することができるので、トークンをデータ・オブジェクトに適用して各種の機能を実行するプロセスが大幅に簡素化される。
【0053】
ここで重要なことは、本発明については、フル機能のデータ処理システムの文脈から説明しているが、当業者には明らかなように、本発明のプロセスは、命令のコンピュータ可読媒体の形等、様々な形式で配布でき、本発明は、実際に配布を行う信号伝達媒体の種類にかかわらず等しく適用されることである。コンピュータ可読媒体の例としては、フロッピー(R)ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM等の記録媒体、デジタル、アナログの通信リンク等の伝送媒体等がある。
【0054】
本発明の説明は便宜上の説明であり、ここに開示した形式に関して排他あるいは制限を意味するものではない。当業者には多くの変更、変形が考えられよう。例えば、本発明は複数のGUIに関して説明したが、本発明はこれに限定されない。トークン・インタフェースの追加、変更、削除等のコマンドやトークン・インタフェースの機能を入力するには、本発明の主旨と範囲から逸脱することなく任意の手段を使用することができる。
【0055】
更に、本発明の好適実施例は、各種トークンの機能を具体化するものとしてのハードウェア・メソッドに関して説明しているが、本発明は、ハードウェア・メソッドに限定されない。機能を実装可能であれば、任意のハードウェア、ソフトウェアのデバイスを使用し、前記の文脈でオブジェクトやトークンとして表すことができる。例えばメソッドはJava(R)メソッド等でもよい。
【0056】
実施例は、本発明の原理と実用を十分に伝え、当業者が、様々な変形を伴う様々な実施例について、前記の特定の用途に沿う形で本発明を理解するよう選ばれており説明されている。
【0057】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0058】
(1)複数の異なるデバイスの機能を組み合わせるトークン・インタフェースを生成する方法であって、
前記複数の異なるデバイスそれぞれの機能の一部を選択するステップと、
前記機能の一部をトークン・インタフェースに割当てるステップと、
前記機能の一部をもとに前記トークン・インタフェースを生成するステップと、
を含む、方法。
(2)前記複数の異なるデバイスそれぞれの機能をカテゴリに分けるステップを含み、該カテゴリをもとに前記機能の一部が選択される、前記(1)記載の方法。
(3)前記カテゴリは、暗号化機能及びオブジェクトの作成と管理の機能を含む、前記(2)記載の方法。
(4)組み合わせてトークン・インタフェースを作成することのできるトークンの一覧を与えるステップを含み、該トークン一覧のトークンはそれぞれ、前記複数の異なるデバイスのうち別々のデバイスを表す、前記(1)記載の方法。
(5)前記複数の異なるデバイスそれぞれの機能の一部を選択するステップは、前記トークン一覧からトークンの一部を選択するステップを含む、前記(4)記載の方法。
(6)前記トークン一覧のトークンそれぞれにメソッドが関連付けられ、前記複数の異なるデバイスそれぞれの機能の一部を選択するステップは、関連付けられた該メソッドのうち1つ以上のメソッドを選択するステップを含む、前記(4)記載の方法。
(7)前記選択、割当て、及び生成のステップはグラフィカル・ユーザ・インタフェースを使用して実行される、前記(1)記載の方法。
(8)前記複数の異なるデバイスはハードウェア・デバイスとソフトウェア・デバイスのうち少なくとも1つを含む、前記(1)記載の方法。
(9)前記複数の異なるデバイスはRSAアクセラレータ、DESアクセラレータ、セキュア・ストレージのうち少なくとも1つを含む、前記(1)記載の方法。
(10)前記機能は暗号化機能を含む、前記(1)記載の方法。
(11)トークン・インタフェースを生成するグラフィカル・ユーザ・インタフェースであって、
複数の異なるデバイスの機能の一覧と、
トークン・インタフェースの一覧と、
前記機能一覧の機能を1つ以上前記トークン・インタフェース一覧のトークン・インタフェース1つ以上に追加する仮想コントロールとを含み、前記機能一覧の機能1つ以上は、前記機能一覧から機能の一部を選択し、前記仮想コントロールを使用して該機能の一部をトークン・インタフェースに割当て、該機能の一部をもとに該トークン・インタフェースを生成することによって、該トークン・インタフェース1つ以上に追加される、
グラフィカル・ユーザ・インタフェース。
(12)前記複数の異なるデバイスそれぞれの機能はカテゴリに分けられ、前記機能の一部は該カテゴリをもとに選択される、前記(11)記載のグラフィカル・ユーザ・インタフェース。
(13)前記カテゴリは暗号化機能及びオブジェクトの作成と管理の機能を含む、前記(12)記載のグラフィカル・ユーザ・インタフェース。
(14)組み合わせてトークン・インタフェースを作成することのできるトークンの一覧を含み、該トークン一覧のトークンはそれぞれ前記複数の異なるデバイスのうち別々のデバイスを表す、前記(11)記載のグラフィカル・ユーザ・インタフェース。
(15)前記複数の異なるデバイスそれぞれの機能の一部を選択するステップは、前記トークン一覧のトークンの一部を選択するステップを含む、前記(14)記載のグラフィカル・ユーザ・インタフェース。
(16)前記トークン一覧のトークンそれぞれにメソッドが関連付けられ、前記複数の異なるデバイスそれぞれの機能の一部を選択するステップは、関連付けられた該メソッド1つ以上のうちメソッドを1つ以上選択するステップを含む、前記(14)記載のグラフィカル・ユーザ・インタフェース。
(17)前記トークン・インタフェース一覧からトークン・インタフェースを削除する仮想コントロールを含む、前記(11)記載のグラフィカル・ユーザ・インタフェース。
(18)前記複数の異なるデバイスはハードウェア・デバイスとソフトウェア・デバイスのうち少なくとも1つを含む、前記(11)記載のグラフィカル・ユーザ・インタフェース。
(19)前記複数の異なるデバイスはRSAアクセラレータ、DESアクセラレータ、セキュア・ストレージのうち少なくとも1つを含む、前記(11)記載のグラフィカル・ユーザ・インタフェース。
(20)前記機能は暗号化機能を含む、前記(11)記載のグラフィカル・ユーザ・インタフェース。
(21)複数の異なるデバイスの機能を組み合わせるトークン・インタフェースを生成するコンピュータ可読媒体のコンピュータ・プログラム製品であって、
前記複数の異なるデバイスそれぞれの機能の一部を選択する第1命令と、
前記機能の一部をトークン・インタフェースに割当てる第2命令と、
前記機能の一部をもとに前記トークン・インタフェースを生成する第3命令と、
を含む、コンピュータ・プログラム製品。
(22)前記複数の異なるデバイスそれぞれの機能をカテゴリに分ける第4命令を含み、前記機能の一部は該カテゴリをもとに選択される、前記(21)記載のコンピュータ・プログラム製品。
(23)前記カテゴリは暗号化機能及びオブジェクトの作成と管理の機能を含む、前記(22)記載のコンピュータ・プログラム製品。
(24)組み合わせてトークン・インタフェースを作成することのできるトークンの一覧を与える第4命令を含み、該トークン一覧のトークンはそれぞれ前記複数の異なるデバイスのうち別々のデバイスを表す、前記(21)記載のコンピュータ・プログラム製品。
(25)前記複数の異なるデバイスそれぞれの機能の一部を選択する前記第1命令は、前記トークン一覧からトークンの一部を選択する命令を含む、前記(24)記載のコンピュータ・プログラム製品。
(26)前記トークン一覧の各トークンにメソッドが関連付けられ、前記複数の異なるデバイスそれぞれの機能の一部を選択する前記第1命令は、関連付けられた該メソッド1つ以上からメソッドを1つ以上選択する命令を含む、前記(24)記載のコンピュータ・プログラム製品。
(27)前記第1、第2、及び第3の命令を実行するため、グラフィカル・ユーザ・インタフェースを与える第4命令を含む、前記(21)記載のコンピュータ・プログラム製品。
(28)前記複数の異なる命令はハードウェア・デバイスとソフトウェア・デバイスのうち少なくとも1つを含む、前記(21)記載のコンピュータ・プログラム製品。
(29)前記複数の異なるデバイスはRSAアクセラレータ、DESアクセラレータ、セキュア・ストレージのうち少なくとも1つを含む、前記(21)記載のコンピュータ・プログラム製品。
(30)前記機能は暗号化機能を含む、前記(21)記載のコンピュータ・プログラム製品。
【図面の簡単な説明】
【図1】本発明を実装できる分散データ処理システムを示す図である。
【図2】サーバとして実装できるデータ処理システムを示す図である。
【図3】本発明を実装できるコンピュータ・システム内で動作するソフトウェア・コンポーネントの関係を示す図である。
【図4】本発明に従ったオブジェクトの関係を示す図である。
【図5】本発明に従った第1グラフィカル・ユーザ・インタフェースを示す図である。
【図6】本発明に従った第2グラフィカル・ユーザ・インタフェースを示す図である。
【図7】本発明に従った第3グラフィカル・ユーザ・インタフェースを示す図である。
【図8】本発明の代表的な操作を示すフローチャートである。
【図9】PKCS#11暗号化トークン・インタフェースの一般モデルを示す図である。
【符号の説明】
100、200 データ処理システム
102 ネットワーク
104、106 サーバ
108 ストレージ・ユニット
110、112、114 ストレージ・ユニット
202、204 プロセッサ
206 システム・バス
208 メモリ・コントローラ/キャッシュ
209 ローカル・メモリ
210 I/Oバス・ブリッジ
212 I/Oバス
214 PCIバス・ブリッジ
216 ローカル・バス
218 モデム
220 ネットワーク・アダプタ
222、224 PCIバス・ブリッジ
226、228 PCIバス
230 メモリ・マップ・グラフィックス・アダプタ
232 ハード・ディスク
250 Java(R)ベースのシステム
252 プラットフォーム固有オペレーティング・システム
254 JVM
256 アプレット
310 暗号化機能
320 オブジェクト作成/管理機能(オブジェクト・モジュール)
330 セッション管理機能
340 トークン・インタフェース
400、500、600 GUI(グラフィカル・ユーザ・インタフェース)
410 トークン一覧
420 トークン・インタフェース一覧
430、440、450、520、530、650、660、670 仮想ボタン
510 フィールド
610、620、630 メソッドの詳細一覧
640 メソッドの一覧

Claims (28)

  1. 複数の異なる暗号化モジュールの機能を組み合わせるトークン・インタフェースを生成する方法であって、前記暗号化モジュールは少なくとも1のデバイスとの関連づけを有し、
    少なくとも前記複数の異なる暗号化モジュールの一覧と前記トークン・インタフェースの一覧とを有する一覧のための第1のGUIを表示する第1のステップと、
    前記複数の異なる暗号化モジュールに関連付けられた機能の一覧をモジュール機能一覧として表示するとともに、前記トークン・インタフェースの一覧で選択されたトークン・インタフェースが有する機能の一覧をインタフェース機能一覧として表示するトークン・インタフェース定義のための第2のGUIを表示する第2のステップと、
    前記第2のGUIが表示されている際に機能追加命令を受けた場合、前記モジュール機能一覧から当該機能追加命令に応じた機能を選択し、機能削除命令を受けた場合には、前記インタフェース機能一覧から当該機能削除命令に応じた機能を選択する第3のステップと、
    前記機能追加命令に応じて選択された前記機能を前記インタフェース機能一覧に追加し前記選択されたトークン・インタフェースに割当てて、1以上のデバイスとの関連づけを有する新たなトークン・インタフェースとし、前記機能削除命令に応じて選択された前記機能を前記インタフェース機能一覧から削除する第4のステップとを含む方法。
  2. 前記複数の異なる暗号化モジュールの各々の機能を機能別に分類する第5のステップを含み、当該分類に基づいて前記機能を選択する請求項1記載の方法。
  3. 前記分類は、暗号化機能及びオブジェクトの作成と管理の機能を含む請求項2記載の方法。
  4. 前記第1のステップでは、トークン・インタフェースを作成するためのトークン一覧が前記複数の異なる暗号化モジュールの一覧として与えられており、該トークン一覧のトークンはそれぞれ前記複数の異なる暗号化モジュールのうち別々のモジュールを表す請求項1記載の方法。
  5. 前記第2のステップは、前記第1のGUIが表示されている際にトークン・インタフェースの追加又は変更を示すトークン・インタフェース命令が与えられた場合、前記トークン・インタフェースの一覧から当該トークン・インタフェース命令に応じたトークン・インタフェースを選択して前記第2のGUIを表示する請求項4記載の方法。
  6. 前記トークン一覧のトークンの各々が1つ以上の関連付けられたメソッドを有し、前記第3のステップでは、関連付けられた該メソッドのうち1つ以上のメソッドを選択する請求項4記載の方法。
  7. 前記複数の異なる暗号化モジュールはハードウェア・デバイスとソフトウェア・デバイスのうち少なくとも1つを含む請求項1記載の方法。
  8. 前記複数の異なる暗号化モジュールはRSAアクセラレータ、DESアクセラレータ、セキュア・ストレージのうち少なくとも1つを含む請求項1記載の方法。
  9. 前記機能は暗号化機能を含む請求項1記載の方法。
  10. 複数の異なる暗号化モジュールの機能を組み合わせてトークン・インタフェースを生成するグラフィカル・ユーザ・インタフェースシステムであって、前記暗号化モジュールは少なくとも1のデバイスとの関連づけを有し、
    少なくとも前記複数の異なる暗号化モジュールの一覧と前記トークン・インタフェースの一覧とを表示する表示手段と、
    記表示手段に前記複数の異なる暗号化モジュールに関連付けられた機能の一覧をモジュール機能一覧として表示するとともに、前記トークン・インタフェースの一覧で選択されたトークン・インタフェースが有する機能の一覧をインタフェース機能一覧として表示する仮想コントロールとを有し、
    前記仮想コントロールは、機能追加命令を受けた場合、前記モジュール機能一覧から当該機能追加命令に応じた機能を選択し、機能追加命令に応じて選択された機能を前記インタフェース機能一覧に追加し前記選択されたトークン・インタフェースに割当てて、1以上のデバイスとの関連づけを有する新たなトークン・インタフェースとし、機能削除命令を受けた場合には、前記インタフェース機能一覧から当該機能削除命令に応じた機能を選択し前記機能削除命令に応じて選択された前記機能を前記インタフェース機能一覧から削除するグラフィカル・ユーザ・インタフェースシステム。
  11. 前記複数の異なる暗号化モジュールの各々の機能が機能別に分類されており、前記仮想コントロールは、当該分類に基づいて前記機能を選択する請求項10記載のグラフィカル・ユーザ・インタフェースシステム。
  12. 前記分類は暗号化機能及びオブジェクトの作成と管理の機能を含む請求項11記載のグラフィカル・ユーザ・インタフェースシステム。
  13. トークン・インタフェースを作成するためのトークン一覧が前記複数の異なる暗号化モジュールの一覧として与えられており、該トークン一覧のトークンはそれぞれ前記複数の異なる暗号化モジュールのうち別々のモジュールを表す請求項10記載のグラフィカル・ユーザ・インタフェースシステム。
  14. 前記仮想コントロールは、トークン・インタフェースの追加又は変更を示すトークン・インタフェース命令が与えられた場合、前記トークン・インタフェースの一覧から当該トークン・インタフェース命令に応じたトークン・インタフェースを選択して、前記インタフェース機能一覧を表示する請求項13記載のグラフィカル・ユーザ・インタフェースシステム。
  15. 前記トークン一覧のトークンの各々が1つ以上の関連付けられたメソッドを有し、前記仮想コントロールは、関連付けられた該メソッドのうち1つ以上のメソッドを選択する請求項13記載のグラフィカル・ユーザ・インタフェースシステム。
  16. 前記仮想コントロールは、前記インタフェース機能一覧からトークン・インタフェースの機能を選択的に削除する請求項10記載のグラフィカル・ユーザ・インタフェースシステム。
  17. 前記複数の異なる暗号化モジュールはハードウェア・デバイスとソフトウェア・デバイスのうち少なくとも1つを含む請求項10記載のグラフィカル・ユーザ・インタフェースシステム。
  18. 前記複数の異なる暗号化モジュールはRSAアクセラレータ、DESアクセラレータ、セキュア・ストレージのうち少なくとも1つを含む請求項10記載のグラフィカル・ユーザ・インタフェースシステム。
  19. 前記機能は暗号化機能を含む請求項10記載のグラフィカル・ユーザ・インタフェースシステム。
  20. 複数の異なる暗号化モジュールの機能を組み合わせるトークン・インタフェースを生成するコンピュータ可読媒体のコンピュータ・プログラムであって、前記暗号化モジュールは少なくとも1のデバイスとの関連づけを有し、
    少なくとも前記複数の異なる暗号化モジュールの一覧と前記トークン・インタフェースの一覧とを有する一覧のための第1のGUIを表示する第1の命令と、
    前記複数の異なる暗号化モジュールに関連付けられた機能の一覧をモジュール機能一覧として表示するとともに、前記トークン・インタフェースの一覧で選択されたトークン・インタフェースが有する機能の一覧をインタフェース機能一覧として表示するトークン・インタフェース定義のための第2のGUIを表示する第2の命令と、
    前記第2のGUIが表示されている際に機能追加命令を受けた場合、前記モジュール機能一覧から当該機能追加命令に応じた機能を選択し、機能削除命令を受けた場合には、前記インタフェース機能一覧から当該機能削除命令に応じた機能を選択する第3の命令と、
    前記機能追加命令に応じて選択された前記機能を前記インタフェース機能一覧に追加し前記選択されたトークン・インタフェースに割当てて、1以上のデバイスとの関連づけを有する新たなトークン・インタフェースとし、前記機能削除命令に応じて選択された前記機能を前記インタフェース機能一覧から削除する第4の命令とを含む命令をコンピュータに実行させるためのプログラム
  21. 前記複数の異なる暗号化モジュールの各々の機能を機能別に分類する第5の命令を含み、当該分類に基づいて前記機能を選択する請求項20記載のプログラム。
  22. 前記分類は暗号化機能及びオブジェクトの作成と管理の機能を含む請求項21記載のプログラム。
  23. 前記第1の命令では、トークン・インタフェースを作成するためのトークン一覧が前記複数の異なる暗号化モジュールの一覧として与えられており、該トークン一覧のトークンはそれぞれ前記複数の異なる暗号化モジュールのうち別々のモジュールを表す請求項20記載のプログラム。
  24. 前記第2の命令は、前記第1のGUIが表示されている際にトークン・インタフェースの追加又は変更を示すトークン・インタフェース命令が与えられた場合、前記トークン・インタフェースの一覧から当該トークン・インタフェース命令に応じたトークン・インタフェースを選択して前記第2のGUIを表示する請求項23記載のプログラム。
  25. 前記トークン一覧のトークンの各々が1つ以上の関連付けられたメソッドを有し、前記第3の命令では、関連付けられた該メソッドのうち1つ以上のメソッドを選択する請求項23記載のプログラム。
  26. 前記複数の異なる暗号化モジュールはハードウェア・デバイスとソフトウェア・デバイスのうち少なくとも1つを含む請求項20記載のプログラム。
  27. 前記複数の異なる暗号化モジュールはRSAアクセラレータ、DESアクセラレータ、セキュア・ストレージのうち少なくとも1つを含む請求項20記載のプログラム。
  28. 前記機能は暗号化機能を含む請求項20記載のプログラム。
JP2001170842A 2000-06-08 2001-06-06 独立したデバイスをシングル・トークン・インタフェースとして連係させる方法及びグラフィカル・ユーザ・インタフェースの方法 Expired - Fee Related JP4288021B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58999000A 2000-06-08 2000-06-08
US09/589990 2000-06-08

Publications (2)

Publication Number Publication Date
JP2002111654A JP2002111654A (ja) 2002-04-12
JP4288021B2 true JP4288021B2 (ja) 2009-07-01

Family

ID=24360430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001170842A Expired - Fee Related JP4288021B2 (ja) 2000-06-08 2001-06-06 独立したデバイスをシングル・トークン・インタフェースとして連係させる方法及びグラフィカル・ユーザ・インタフェースの方法

Country Status (3)

Country Link
JP (1) JP4288021B2 (ja)
KR (1) KR100441077B1 (ja)
TW (1) TW504614B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5085197B2 (ja) 2007-06-13 2012-11-28 株式会社東芝 起動領域モニタシステム検査試験装置
JP5277576B2 (ja) * 2007-07-18 2013-08-28 株式会社リコー 情報処理装置、暗号処理プログラム
CN110309630B (zh) * 2019-06-28 2023-05-30 南京冰鉴信息科技有限公司 一种Java代码加密方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706349A (en) * 1995-03-06 1998-01-06 International Business Machines Corporation Authenticating remote users in a distributed environment
KR20010033972A (ko) * 1998-01-09 2001-04-25 사이버세이퍼 코퍼레이션 클라이언트측 공개키 인증방법 및 단기증명장치
US6173400B1 (en) * 1998-07-31 2001-01-09 Sun Microsystems, Inc. Methods and systems for establishing a shared secret using an authentication token
US7000108B1 (en) * 2000-05-02 2006-02-14 International Business Machines Corporation System, apparatus and method for presentation and manipulation of personal information syntax objects

Also Published As

Publication number Publication date
TW504614B (en) 2002-10-01
JP2002111654A (ja) 2002-04-12
KR20010110992A (ko) 2001-12-15
KR100441077B1 (ko) 2004-07-19

Similar Documents

Publication Publication Date Title
Gong Java security: Present and near future
US20210287770A1 (en) Electronic patient credentials
JP3485219B2 (ja) 遠隔ユーザのクライアントとアプリケーション・サーバとの間の通信を管理する方法、及びシステム
EP1118925B1 (en) Security policy applied to common data security architecture
US7222107B2 (en) Method for inter-enterprise role-based authorization
CA2315212C (en) System and method for authenticating peer components
EP0778522B1 (en) System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US7143093B1 (en) Enterprise computer system
US7822980B2 (en) Authenticated identity propagation and translation within a multiple computing unit environment
US6839437B1 (en) Method and apparatus for managing keys for cryptographic operations
Blobel et al. A systematic approach for analysis and design of secure health information systems
EP1061432A2 (en) Distributed authentication mechanisms for handling diverse authentication systems in an enterprise computer system
EP3393081B1 (en) Selective data security within data storage layers
KR19990066953A (ko) 보안된 게이트웨이 인터페이스
JP2008276756A (ja) ウェブ・サービス仲介装置
US7793097B2 (en) Extension of X.509 certificates to simultaneously support multiple cryptographic algorithms
JP2002057659A (ja) 個人情報構文オブジェクトの提示および操作するためのシステム、装置、および方法
JP4288021B2 (ja) 独立したデバイスをシングル・トークン・インタフェースとして連係させる方法及びグラフィカル・ユーザ・インタフェースの方法
Dannenberg Resource sharing in a network of personal computers
US7107446B2 (en) Mechanism independent cluster security services
US20050120206A1 (en) Method and system for rule-based certificate validation
CN113240426B (zh) 基于智能合约实现区块链用户身份认证的交易方法及系统
CN114640683A (zh) 区块链数据处理方法、装置、电子设备及存储介质
Yeo et al. An Architecture for Authentication and Authorization of Mobile Agents in E-Commerce
Russ et al. JavaGRID: Providing Simplified Access to Widely Distributed Computing

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040729

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040729

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050323

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050328

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090226

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090330

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

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees