y2blog » 2007 » December » 09

Archive for December 9th, 2007

12

09

2007

LeopardサーバのRADIUS #4 : PKI証明書の作成

PKI証明書の運用 IEEE802.1X認証システムを起ち上げるには、PKIによる証明書を準備しなければなりません.Mac OS X サーバの場合はGUIベースの”Server Admin”ツールから比較的簡単に自己署名形式のサーバ証明書を組み込むことが可能です.また、Mac OS X では標準で組み込まれている”Keychain Access” ユーティリティーによって、各種PKI証明書をハンドリングできるようになっています. 今回は、PKI認証の仕組みを理解しやすくするため、敢えてこれらのGUIベースのツールを使わずに、OpenSSL のコマンドラインから各種の証明書を作成し、802.1X認証システムを運用してみることにします.  OpenSSL OpenSSLはオープンソースベースのPKI認証システムとして最も広く使われており、Mac OS X でもこのOpenSSLが使われています.PKIの仕組みを理解するのは結構大変なのですが、PKIの仕組みについては書籍などを参考にして貰うとして、ここでは簡単にPKIの仕組みを説明しておきます. PKIと証明書 PKI(Public Key Infrastructure)では、公開鍵と秘密鍵という一対の暗号鍵を利用しています.これらの2つの鍵のうちのどちらか一方で暗号化された文書は、もう一方の鍵でしか復号化できないという性質があります.データの所有者が片方の鍵(秘密鍵)で暗号化し、もう一方の鍵(公開鍵)を公開します. 秘密鍵で暗号化されたデータは、対になっている公開鍵でしか復号化できないので、そのデータの出所を証明することになります.通常、証明書にはユーザの情報(公開鍵の情報や有効期限など)を認証局(CA : Certificate Authority)の秘密鍵で暗号化した情報が書き込まれています.通常、認証局の公開鍵はルートCAとしてMac OS X やWindowsの中に組み込まれていますので、このルートCAの公開鍵で復号化することによって、この証明書が認証局によって署名・発行されたものであることが証明されます. グローバル証明書とプライベート証明書 外部公開WEBサーバなどを運用する場合は、グローバル証明書と呼ばれるVerisignやRSAなどのきちんとオーソライズされた認証機関により署名されたサーバ証明書を手配する必要がありますが、これらのサービスは有料で高価なうえ、証明書取得のための手続きも面倒で厄介です.無線LAN等の認証用途に使うのであれば、これらのオーソライズされた証明書でなくても、自分で勝手に認証局を起ち上げて、証明書に署名するだけで簡単にPKI認証システムの運用が可能です.このように組織の内部だけで運用するような証明書をプライベート証明書と呼んでいます. OpenSSLによるPKIシステムの構築 Mac OS X の場合、OpenSSL関係のファイルは “/System/Library/OpenSSL” 配下に置かれています.Mac OS X Serverでは サーバ関係の証明書は “/etc/certificates” 配下に置かれています. プライベート認証局(CA)の作成 認証局を作成するというと何か特別なサービスを提供するというイメージがありますが、単にCA証明書を作成するだけです.”/System/Library/OpenSSL/misc”というディレクトリに “CA.pl”と”CA.sh”という2つののスクリプトがあります.これらのスクリプトは認証局を作成したり証明書を作成するために用意されています.Perlスクリプトとshellスクリプトのどちらを用いても処理内容は同じです. sh-3.2# cd /System/Library/OpenSSL/misc sh-3.2# ls -la total 56 […]

Local Search

Calendar

December 2007
S M T W T F S
« Nov   Jan »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
  • Blogroll

  • Meta