KeyTools Pro

KeyTools Pro とは

KeyTools Pro は、KeyTools 製品群の中核となるコンポーネントです。開発者はこの主要な要素を駆使し、PKI上で動作するアプリケーションを開発する事ができます。

スナップインコンポーネント共通の暗号エンジン及び認証エンジンがKeyTools Pro のモジュールに含まれています。 ポリシー管理や証明書失効チェックなどの追加機能は、コアコンポーネントによって実行されます。

KeyTools Pro は基本ライブラリで、証明書ハンドリング、ディレクトリサポート、 証明書のリクエストおよび取得のような、PKI の他の要素とのやり取りに必要な基本要素全てが含まれていますが、 さらに広範なセキュリティメカニズムを装備し、エンドアプリケーションの機能性を高めます。

それらの機能例には、スマートカードのサポート、追加トランスポータ、OCSP、一元的なポリシー管理の実現、 CRL Distribution Point (CRLDP)があります。

  • ポリシーベース - セキュリティポリシーをローカルシステムで定義
  • 直観的に使用できるAPI
  • 強力な暗号機能
  • さまざまな認証局のサポート
  • PKCS #12 サポート
  • LDAP (Light weight Directory Access Protocol)を介した X.500 Directory システムのサポート
  • 高度な電子証明書処理機能
  • 証明書エクステンションをサポート(制限付)
  • CRL (証明書失効リスト)チェック
  • ポリシーベース - センターあるいはリモートで作成され、ローカルシステムで定義されるセキュリティポリシー
  • 様々なスマートカードおよび他のハードウェア暗号トークンのサポート
  • PSE (Personal Secure Environment)サポート
  • 認証局とのやり取りに使用するファイルトランスポータ (PKCS #10 / PKCS #7 ベース)
  • 認証局とのやり取りに使用する電子メール トランスポータ(PKCS #10 / KCS #7 ベース)
  • 認証局とのやり取りに使用する HTTP トランスポータ(PKCS #10 / PKCS #7 ベース)
  • 認証局とのやり取りに使用する CRS トランスポータ
  • 認証局とのやり取りに使用する SCEP トランスポータ
  • 証明書エクステンションをサポート
  • CRL Distribution Point (CRLDP)
  • OCSP サポート
  • PKIX サポート(オプション)

言語およびプラットフォームのサポート

KeyTools Pro は C++ および Java ライブラリの両方で使用できます。
C++ バージョンの KeyTools は、次のプラットフォームで使用できます。

  • Windows 2003 Enterprise Edition
  • Windows 2000 SP4v
  • Windows XP SP2
  • Windows Vista (v5.3.3.1以降)
  • Solaris 2.8(64bit sparc)
  • Linux 2.4.18-3

Java バージョンの KeyTools Pro は、次の環境において構築されます。

  • JDK 1.2.x
  • JDK 1.3
  • JDK 1.4
  • JDK 1.5
page top

KeyTools Pro セキュリティポリシー

セキュリティポリシーの施行 - 企業規模の共通セキュリティおよび管理運用性

KeyTools では独特のセキュリティポリシーシステムを提供し、 企業規模でセキュリティポリシーを施行するために使用できます。 これは独自の非常に強力なメカニズムで、柔軟性に富んだ管理が可能です。

KeyTools アーキテクチャには、数々の利点を提供するため、 開発当初からセキュリティポリシー管理が取り入れられてきました。 ポリシー主導 API の論理的枠組みは 米国サイバートラスト社 独特です。 必要なセキュリティパラメータの値はセキュリティポリシーにあらかじめ設定されるため、 セキュリティポリシーを使用して単純化された最上位レベル API を提供できます。 この方式によってもたらされる利点には、開発期間の短縮と開発の容易さ、エラー発生のリスク低減、試験の容易さ、 低コストのメンテナンスなどがあります。 運用面から見た利点としては一元的なセキュリティポリシーの指令を挙げることができ、これにより、 ひとまとまりのエンドユーザ、サーバ、あるいはデバイスを「管理された組織的なセキュリティ」によって保護できます。

セントラルポリシー管理により、セントラルポリシーの作成と施行が可能です。 作成されたセントラルポリシーは KeyTools 対応アプリケーション全てにおいて使用できます。 たとえば、セキュリティポリシーによって数千人のクライアントが使用する鍵サイズを指定できます。 オペレータがポリシーに変更を加えるだけで、 1 つの命令によりクライアントアプリケーション全ての鍵サイズを変更できます。 この仕組みはエンタープライズセキュリティシステムにおいて実に大きな利益をもたらします。

アプリケーションプログラマーは、必要に応じてこのポリシー施行システム (Policy Enforcement System) を活用できます。KeyTools セキュリティポリシー施行機能を利用すれば、セントラルポリシー管理者にセキュリティ設定を委任することで、 有効なアプリケーションのセキュリティの動作にいろいろな制約を加えることができます。

実際の現場で適用されるセキュリティポリシーを次に挙げます。

  • 金融関係においてPKI サーバを使用するようユーザを誘導し将来の証明書発行に備える
  • CA からの証明書をリクエストする際に必要となる登録情報用テンプレートを作成する
    >>サブジェクト、有効期間、署名アルゴリズム、エクステンション
  • 暗号パラメータを設定する
    >>タイプ、長さ、有効期間、乱数発生ソース、鍵の用途、拡張された鍵の用途、記憶域...
  • セキュリティで保護された記憶域
    >>ファイル、スマートカード、あるいは HSM (ハードウェアセキュリティモジュールベース)
  • 証明書記憶域情報
    >>LDAP ディレクトリの位置
  • 推奨されるセキュリティ サーバ
    >>OSCP、LDAP、PKI、アーカイブサーバ、タイム スタンプ サーバ
  • エンドエンティティによるポリシー更新管理

米国サイバートラスト社 は、一元管理が可能なようにセキュリティポリシー要素の対応範囲を拡張し、 エンドエンティティに新たなポリシーを配布する責任を担う新しい Policy Authority (ポリシー局)を整備する過程にあります。 KeyTools コンポーネントによってそれらの新セキュリティポリシールールを施行し、 それにより PKI 対応サーバおよびデスクトップアプリケーションに対してポリシーを適用します。

page top

KeyTools Pro 認証局サポート

認証局サポート - オープンスタンダード アプローチ

KeyTools Pro は、一般に使用されるCA 全てと連携するように設計されています。KeyTools を使用するクライアントは、プライベートCA システムとパブリックCA システム(信頼されるサードパーティ)の両方と連携することができます。

CAシステムは、簡単な1組のプログラムからモジュラ方式で拡張性に優れるシステムまで幅広い製品があり、数百万件の証明書を処理します。それぞれのCA は独自の設計と構成になっていますが、相互運用性を確保するため、CA はオープンでPKI 業界全体を網羅する標準技術をサポートするようにします。

KeyTools には、クライアントがCA と通信するために必要な全てのツールが装備されています。KeyTools Pro を使用するなら、開発者は組み込みトランスポータメカニズム(電子メール、httpなど)を利用してもCA と通信できます。

米国サイバートラスト社では、 UniCERT CA システムの使用を推奨します。KeyTools はPKI ポリシー施行システムをサポートすることにより UniCERT との高い互換性を確保しています。詳細については、www.cybertrust.ne.jp/pki/unicert/ をご覧ください。

証明書リクエストメッセージ シンタックス

KeyTools ではPKCS #10 フォーマットおよび PKIX フォーマットでの証明書リクエストがサポートされています。証明書は、BER、DER、および .p7c (PKCS #7) フォーマットで取得することが可能です。

KeyTools では、証明書に機密性の高いデータが含まれる可能性がある場合は、暗号化証明書リクエストをサポートするよう設計されています。これは、標準リクエスト シンタックスの暗号形式に基づいています。

KeyTools には証明書リクエスト シンタックス (CRS) プロトコルが完全に実装されているので、VeriSign OnSite システムと全面的に相互運用できます。

リボケーション

証明書の失効を効果的に管理することはPKI システムの正常な動作に欠かせません。KeyTools では完全なクライアント証明書の有効期限管理をサポートしています。

PKIX 失効リクエストメッセージ標準に合わせて、KeyTools Proでは次の機能を使用できます。

  • 失効リクエスト

証明書失効リスト (CRL) バージョン 2を完全にサポートします。

  • CRL の読み取り
  • 特定の証明書ステータスを調べる参照CRL (証明書のシリアル番号に基づく)
  • X.509 証明書からのCRL Distribution Point 情報の解析修正

OCSP (Online Certificate Status Protocol) もサポートされています。

  • 証明書ステータスを調べるためにOCSP を送信
  • OCSP 応答の解釈

証明書ハンドリング

KeyTools セキュリティ論理により、開発者は証明書を頻繁に取り扱う必要がなくなります。ほとんどの処理において、証明書の解析が標準要件に基づいて自動的に実行されます。

KeyTools には次の高度な機能セットが搭載されており、X.509 証明書のインテリジェントな解釈を実行します。

  • 証明書有効性チェック
  • 証明書からの公開鍵抽出
  • 自動署名証明書の生成
  • 証明書エクステンションの抽出
page top

KeyTools Pro ソフトウェアベースの暗号化

ソフトウェアベースの暗号処理 - 暗号ライブラリとのシームレスな置き換え

KeyTools には米国サイバートラスト社独自の強度の暗号ライブラリが標準で搭載されていますが、開発者が他のベンダーの暗号ライブラリも使用できる設計になっています。KeyTools はオブジェクト指向設計になっているため、直接的に表現され、アプリケーションレベルでのコード変換が不要です。

KeyTools Pro では、開発者が暗号サービスを直接利用することはできません。その代わり、Vault と呼ばれる高度なプログラミング インターフェイスによって暗号化が処理されます。また Vault をセキュリティポリシーと直列に連携させ、簡素で直観的な開発環境を実現します。Vault API は、ハードウェアあるいはソフトウェアのどちらに実装されているかに関わりなく同じものなので、暗号のソースが開発者から見て透過的になります。

アルゴリズムは次のとおりです。

  • RSA
  • DSA
  • Diffie-Hellman
  • DES
  • トリプル DES
  • RC2
  • RC4
  • SHA-1
  • MD2
  • MD5
  • AES

全てのアルゴリズムを鍵の強度の制限無しに使用することができます。

API レベルでは、KeyTools により次の機能がサポートされます。

  • 擬似乱数生成
  • 鍵生成
  • セキュリティで高強度に保護された鍵記憶域(PKCS #1、#5、#8、#12)
  • 署名、暗号化、復号、検証機能
  • メッセージ認証コード(キー ハッシュ)
page top

KeyTools Pro 秘密鍵セキュリティとプラグイン暗号

秘密鍵セキュリティ

PKIでは、セキュリティで強力に保護する手段を用いてユーザの秘密鍵を守る必要があります。秘密鍵の情報が漏れた場合には、そのユーザが関与する全てのセキュリティ機能が疑われます。

KeyToolsではVault と呼ばれる抽象概念をサポートします。Vaultは暗号処理を実行するセキュリティで保護された領域で、秘密鍵とそれに関連する証明書が保存されます。この概念に従えば、秘密鍵と他の機密データをセキュリティで保護して保持し、権限を持つクライアントだけが利用、および修正ができます。VaultはKeyTools においてさまざまな形態で使用されることが考えられ、KeyToolsによりディスクベースとスマートカードベースの両方のVault がサポートされます。

ディスクベースシステムでは、ユーザが指定するパスワードによって秘密鍵が暗号化されます。スマートカードシステムの場合は、KeyTools によってカードに組み込まれたセキュリティを使用して秘密鍵を保護し、通常PIN によってアクセスします。

プラグイン暗号

KeyTools はプラグイン対応設計になっているので、必要に応じてサードパーティの暗号ライブラリを容易に組み込むことができます。KeyTools では、PKCS #11 インターフェイスあるいは 米国サイバートラスト社独自の暗号インターフェイスのいずれかを通してアクセスされるソフトウェアライブラリがサポートされています。将来的にはKeyTools によってCAPI アーキテクチャをサポートし、CAPI モジュールを暗号プロバイダとしてシームレスにプラグインすることを予定しています。

page top

KeyTools Pro ディレクトリサポート

ディレクトリサポート - LDAPインターフェイス

ディレクトリによって、PKIシステム内での証明書の保存と取り出しを効果的に処理します。証明書管理システムの一部として、CAは証明書および証明書失効リスト(CRL)をディレクトリに置きます。その後、名前や電子メール アドレスのようなパラメータに基づいてディレクトリを利用し、クライアントアプリケーションによって証明書を取り出すことができます。さらに、クライアントはCRLをチェックし、個々の証明書が失効しているか否かを判断することができます。

主要なディレクトリベンダーがLDAP (Light Weight Access Protocol) をサポートする中にあって、X.500 Directoryスタンダードがメッセージング分野で支配的になっています。X.500 Directoryを提供するベンダーは世界的に多く存在し、その中には、Isocor、Novell、Netscape、CDC、Siemens、および Platinumなどがあります。

KeyTools Pro では、LDAPディレクトリを全面的にサポートします。KeyTools は、ほとんどの代表的なディレクトリ システムにおいて正常に動作するかどうかがテストされています。UniCERT との連携により、KeyToolsを使用して一連のディレクトリへのアクセスを制限し、エンタープライズ セキュリティポリシーを施行することができます。

  • LDAP v3 を全面的にサポート
  • ディレクトリ検索
  • ディレクトリへの証明書書き込み
  • CRL サポート
  • OCSPのサポート
  • PKIXのサポート
  • スマートカードおよびトークンのサポート
  • etc
page top

KeyTools Pro スマートカードおよびトークンのサポート

スマートカードは、移植性に優れ安全なデータのストレージを提供してくれます。さらに、暗号スマートカードによりセキュリティで保護された状態で鍵の生成、データへの署名、暗号化を実行できます。

アプリケーション開発者にとって、できる限り多くの種類のスマートカードをサポートすることは重要なことです。KeyTools Proでは、暗号化されて保護された記憶域を完全に抽出するため、プログラマーがソフトウェア ベースシステムを使用するアプリケーションのプロトタイプを短期間で作成し、必要に応じてシームレスにスマートカードに変更できるようにします。

スマートカードおよびハードウェアトークン内に実装されるKeyTools Pro暗号サービスへのアクセスには、ソフトウェアベース暗号サービス、すなわちVault インターフェイスの場合と全く同じ方法を使用します。Vault は直列にセキュリティポリシーと連携し、ハードウェアあるいはソフトウェアデバイスのどちらで実現されるかに関わりなく同じサービスになります。そのため、暗号化のソースは開発者からみて透過的になり、ソフトウェアベースシステムからハードウェアベースシステムへ、あるいはその逆方向へのシームレスな移行が可能になります。

KeyTools Pro内部では、トークン用のPKCS #11 (Cryptoki) インターフェイスを通してスマートカードをサポートします。PKCS #11 では、広範なスマートカードおよびスマートカードリーダの間で互換性を保証しています。

KeyTools Pro は、サード パーティベンダーが提供するスマートカードやトークンとの相互運用性を確保しています。対応製品についてはお問い合わせください。

page top

KeyTools Pro トランスポートメカニズムのサポート

トランスポートメカニズムのサポート - リモートエンティティとの通信

公開鍵暗号基盤は複数のエンティティで構成されており、それぞれのエンティティ同士でやり取りできるようにする必要があります。そのため、PKI対応アプリケーションの全ては他のアプリケーションおよびCAとの通信を確立するメカニズムをサポートする必要があります。トランスポートメカニズムは数多く存在しますが、通常開発者はそれぞれのメカニズムごとに別々のコードを記述する必要があります。

KeyTools Proでは、トランスポートメカニズムごとに異なるコードを記述する必要をなくします。全ての通信は、抽象型トランスポータクラスによって処理されます。抽象型クラスには、使用されるトランスポートメカニズムから独立したインターフェイスが装備されます。これにより、コードベースが変更されない一貫したコード化の標準および手段を利用でき、例えば、KeyTools Proで構築されたアプリケーション内の電子メールベースシステムから Web ベースの証明書リクエストシステムへ移行することを組織が決定した場合でも、変更されることはありません。

KeyToolsでは次のトランスポートメカニズムを利用できます。

  • SMTP / POP3
  • HTTP
  • CRS (証明書リクエスト シンタックス)
  • Sockets
  • File
page top
pagetop