この章では、ICSF のインストールと構成方法について説明します。
OKM クラスタ用の外部キーストアとして使用されるように z/OS システムを構成するには、さまざまな手順が必要です。
Sun ELS 7.0 および NCS 6.2 の関連 PTF は、Oracle の「ソフトウェア・ダウンロード」サイトから入手できます。
http://www.oracle.com/technetwork/indexes/downloads/index.html
システムプログラマは、適切な PTF をダウンロードし、標準的な手順に従ってインストールできます。
ELS 7.0 の場合、OKM-ICSF 機能は ELS PTF を通じて提供されます。OKM-ICSF プロキシは、HTTP サーバーの CGI ルーチンです。SMC HTTP サーバーは、ICSF PKCS11 関数がアクティブなシステムでアクティブである必要があります。
OKM コマンドは、SMCPARMS データセットからのみ有効です。
コマンド名。
OKM-ICSF インタフェースの PKCS11 トークン名を指定します。名前の最初の文字は、英字または各国語キャラクタ (#、$、または @) にする必要があります。残りの各文字は英数字、各国語キャラクタ、またはピリオドにできます。最大長は 32 文字です。
デフォルトの PKCS11 トークン名を指定します。
NCS 6.2 の場合、OKM-ICSF 機能は SMC PTF を通じて提供されます。OKM-ICSF プロキシは、HTTP サーバーの CGI ルーチンです。SMC loadlib を HTTP サーバー (SSKY500) の STEPLIB に含める必要があります。PKCS11 トークン名は KMS2.TOKEN.MASTERKEYS であり、変更できません。
次を SSKY500 HTTP サーバーの起動パラメータに追加します。
LOADMODULE SMCGCSF
HTTP サーバーの起動パラメータの追加情報については、Storage Management Component (SMC) 6.2 の構成および管理に関するガイドを参照してください。
次の項目が ICSF PKCS#11 関数をアクティブ化します。
ICSF が HCR7740 以上であることを確認します。
MVS でトークンデータセット (TKDS) を定義します。TKDS は、PKCS#11 で使用される鍵のリポジトリです。TKDS は、キー順 VSAM データセットです。
トークンデータセット内の鍵は暗号化されません。そのため、トークンデータセットを承認されていないアクセスから保護するために、セキュリティー管理者は RACF プロファイルを作成することが重要です。
ICSF インストールオプションデータセットには、トークンデータセットに関連する 2 つのオプションが含まれます。
TKDSN(datasetname)
トークンデータセットを含む VSAM データセットを識別します。これは、ICSF が PKCS#11 サービスを提供するために指定する必要があります。
SYSPLEXTKDS(YES|NO,FAIL(YES|NO)
トークンデータセットに Sysplex 全体のデータ整合性が必要かどうかを指定します。
ICSF の初期化に関する追加情報については、IBM z/OS 暗号化サービスの ICSF システム?向けガイド (SA22-7520) を参照してください。
ICSF は、SAF CRYPTOZ クラス内のプロファイルを使用して PKCS#11 トークンへのアクセスを制御します。HTTP サーバーで開始したタスクのユーザー ID には、定義された PKCS#11 トークンに次の SAF アクセスレベルが必要です。
SO.token_name CONTROL
USER.token_name UPDATE
Sun Microsystems HSC クライアント/サーバー z/OS ソリューションにおける AT-TLS の使用の実装例に関するドキュメント (2008 年 10 月) は、IBM メインフレームで AT-TLS を構成する場合の例を示しています。
AT-TLS は、アプリケーションサーバーおよびクライアントに完全に透過的な、TCP/IP アプリケーションの暗号化ソリューションです。パケットの暗号化および復号化は、z/OS TCPIP アドレス空間で TCP プロトコルレベルで行われます。
OKM と NCS/ELS HTTP サーバーとの接続に AT-TLS 暗号化を実装する場合、Communication Server に必要な最小レベルは z/OS 1.9 です。最高のパフォーマンスには、次の入手可能な IBM PTF (APAR PK69048 の場合) を適用してください。
Release 1A0: UK39417 (2008/10/07)、z/OS 1.10
Release 190: UK39419 (2008/10/07)、z/OS 1.9
IBM z/OS Communications Server ポリシーエージェント構成および AT-TLS の RACF 定義の詳細情報については、次の IBM のドキュメントを参照してください。
『IP 構成ガイド』、SC88-8926
『IP 構成解説書』、SC88-8927
『Security Server RACF セキュリティー管理者のガイド』、SA88-8613
『Security Server RACF コマンド言語解説書』、SA88-8617
IBM Redbook Communications Server for z/OS V1R7 の TCP/IP 実装に関するガイド第 4 巻のポリシーベースのネットワークセキュリティーに関するドキュメント、SG24-7172
AT-TLS 機能をアクティブ化するには、TCPIP プロファイルデータセットで次のパラメータを指定します。
TCPCONFIG TTLS
この文は、TCP OBEY ファイルに置くことができます。
ポリシーエージェントアドレス空間は、暗号化される TCP/IP トラフィックを制御します。サンプルの PAGENT 構成を次に示します。
PAGENT によって開始されるタスクの JCL:
//PAGENT PROC //* //PAGENT EXEC PGM=PAGENT,REGION=0K,TIME=NOLIMIT, // PARM='POSIX(ON) ALL31(ON) ENVAR("_CEE_ENVFILE=DD:STDENV")/-d1' //* //STDENV DD DSN=pagentdataset,DISP=SHR//SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //* //CEEDUMP DD SYSOUT=*,DCB=(RECFM=FB,LRECL=132,BLKSIZE=132)
pagentdataset データセットには、PAGENT 環境変数が含まれます。
これは、サンプルの PAGENT 環境変数ファイルです。
LIBPATH=/lib:/usr/lib:/usr/lpp/ldapclient/lib:. PAGENT_CONFIG_FILE=/etc/pagent.conf PAGENT_LOG_FILE=/tmp/pagent.log PAGENT_LOG_FILE_CONTROL=3000,2 _BPXK_SETIBMOPT_TRANSPORT=TCPIP TZ=MST7MDT
/etc/pagent.conf には、PAGENT 構成パラメータが含まれます。
これは、サンプルの PAGENT 構成です。
TTLSRule KMS-TO-ZOS { LocalAddr localtcpipaddress RemoteAddr remotetcpipaddress LocalPortRange localportrange RemotePortRange remoteportrange Jobname HTTPserverJobname Direction Inbound Priority 255 TTLSGroupActionRef gAct1~KMS_ICSF TTLSEnvironmentActionRefeAct1~KMS_ICSF TTLSConnectionActionRef cAct1~KMS_ICSF } TTLSGroupAction gAct1~KMS_ICSF { TTLSEnabled On Trace 2 } TTLSEnvironmentAction eAct1~KMS_ICSF { HandshakeRole Server EnvironmentUserInstance 0 TTLSKeyringParmsRef keyR~ZOS } TTLSConnectionAction cAct1~KMS_ICSF { HandshakeRole ServerWithClientAuth TTLSCipherParmsRef cipher1~AT-TLS__Gold TTLSConnectionAdvancedParmsRefcAdv1~KMS_ICSF CtraceClearText Off Trace 2 } TTLSConnectionAdvancedParmscAdv1~KMS_ICSF { ApplicationControlled Off HandshakeTimeout 10 ResetCipherTimer 0 CertificateLabel certificatelabel SecondaryMap Off } TTLSKeyringParms keyR~ZOS { Keyring keyringname } TTLSCipherParms cipher1~AT-TLS__Gold { V3CipherSuites TLS_RSA_WITH_3DES_EDE_CBC_SHA V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA }
ここでは:
localtcpipaddress
remotetcpipaddress
localportrange
remoteportrange
HTTPserverJobname
certificatelabel
keyringname
次の RACF クラスをアクティブ化します。RACF パネルまたは CLI を使用できます。
DIGTCERT
DIGTNMAP
DIGTRING
PORTMAP および RXSERV が TTLS を異常終了させないように、SERVAUTH クラスで RACLIST 処理が使用されている必要があります。下記の「RACF コマンド」を参照してください。
上記を実現するための RACF コマンド:
SETROPTS RACLIST(SERVAUTH)
RDEFINE SERVAUTH ** UACC(ALTER) OWNER (RACFADM)
RDEFINE STARTED PAGENT*.* OWNER(RACFADM) STDATA(USER(TCPIP) GROUP(STCGROUP)
RDEFINE FACILITY IRR.DIGTCERT.LISTRING UACC(NONE) OWNER(RACFADM)
RDEFINE FACLITY IRR.DIGTCERT.LIST UACC(NONE) OWNER(RACFADM)
RDEFINE FACILITY IRR.DIGTCERT.GENCERT UACC(NONE) OWNER (RACFADM)
IBM Communications Server for z/OS V1R10 の TCP/IP 実装に関するガイド第 4 巻のセキュリティーおよびポリシーベースのネットワーキングに関するドキュメントでは、z/OS システムでデジタル証明書を作成およびエクスポートするために必要な手順の概要を説明しています。
RACDCERT ユーティリティーは、RACF 内でデジタル証明書を作成および管理します。RACDCERT が、SYS1.PARMLIB で IKJTSOxx メンバーの AUTHCMD セクション内にあることを検証します。
AT-TLS 機能で使用される鍵リングおよび証明書を作成するための RACF コマンドは次のとおりです。
RACDCERT ID(stcuser) ADDRING(keyringname)
ここでは:
stcuser
keyringname
RACDCERT ID(stcuser) GENCERT CERTAUTH SUBJECTSDN(CN('serverdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('calabel') TRUST SIZE(1024) KEYUSAGE(HANDSHAKE,DATAENCRYPT,CERTSIGN)
ここでは:
stcuser
serverdomainname
companyname
unitname
country
calabel
注:
これは、OKM システムの CA 証明書です。RACDCERT ID(stcuser) GENCERT SUBJECTSDN(CN('serverdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('serverlabel') TRUST SIZE(1024) SIGNWITH(CERTAUTH LABEL('calabel'))
ここでは:
stcuser
serverdomainname
companyname
unitname
country
serverlabel
calabel
注:
これは、サーバー証明書です。RACDCERT ID(stcuser) GENCERT SUBJECTSDN(CN('clientdomainname') O('companyname') OU('unitname') C('country')) WITHLABEL('clientlabel') TRUST SIZE(1024) SIGNWITH(CERTAUTH LABEL('calabel'))
ここでは:
stcuser
serverdomainname
companyname
unitname
country
clientlabel
calabel
注:
これは、クライアント証明書です。次のコマンドは、PAGENT 構成で指定された鍵リングに CA、サーバー、およびクライアント証明書を接続します。
RACDCERT ID(stcuser) CONNECT(CERTAUTH LABEL('calabel') RING('keyringname') USAGE(CERTAUTH))
ここでは:
stcuser
calabel
keyringname
RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('serverlabel') RING('keyringname') DEFAULT USEAGE(PERSONAL)
ここでは:
stcuser
serverlabel
keyringname
RACDCERT ID(stcuser) CONNECT(ID(stcuser) LABEL('clientlabel') RING('keyringname') USEAGE(PERSONAL)
ここでは:
stcuser
clientlabel
keyringname
次のコマンドは、OKM に転送するために CA およびクライアント証明書をエクスポートします。
RACDCERT EXPORT (LABEL('calabel')) CERTAUTH DSN('datasetname') FORMAT(CERTB64)
ここでは:
calabel
datasetname
RACDCERT EXPORT (LABEL('clientlabel')) ID(stcuser) DSN('datasetname') FORMAT(PKCS12DER) PASSWORD('password')
ここでは:
clientlabel
stcuser
datasetname
password
これでエクスポートされたデータセットは OKM に転送されますが、FTP を使用できます。CA 証明書は、EBCDIC から ASCII に変換して転送されます。クライアント証明書は、バイナリファイルとして転送され、クライアント証明書とその非公開鍵の両方を含みます。
次の RACF コマンドは、さまざまな RACF オブジェクトのステータスをリストします。
RLIST STARTED PAGENT.* STDATA ALL
RLIST DIGTRING * ALL
RLIST FACILITY IRR.DIGTCERT.LISTRING ALL
RLIST FACILITY IRR.DIGCERT.LST ALL
RLIST FACILITY IRR.DIGCERT.GENCERT ALL
RACDCERT ID(stcuser) LIST
RACDCERT ID(stcuser) LISTRING(keyringname)
RACDCERT CERTAUTH LIST
IBM メインフレームが構成されたあとに、z/OS システムプログラマは次の情報を OKM クラスタの管理者に提供する必要があります。
メインフレームのホスト名または IP アドレス
ポート番号 (9889 など)
Web アプリケーションパス (「/cgi/smcgcsf」など)
クライアント「ユーザー証明書」(メインフレームからエクスポートおよび転送されたもの) が含まれるファイル
クライアント非公開鍵 (メインフレームからエクスポートおよび転送されたもの) が含まれるファイル
クライアント非公開鍵が作成されたときに使用されたパスワード
ルート認証局証明書 (メインフレームからエクスポートおよび転送されたもの) が含まれるファイル
OKM クラスタの管理者は、これらの情報を OKM GUI の「Security Parameters」パネルで「Master Key Provider」設定として入力します。
クライアント「ユーザー証明書」とクライアント非公開鍵は、IBM メインフレームからエクスポートされるときに、同じファイルに含まれる場合があります。その場合は、管理者が「Master Key Provider」設定の「OKM Certificate File Name」および「OKM Private Key File Name」フィールドに同じファイルを指定してください。
次に、フィールドとその説明を示します。
Master Key Mode
Master Key Rekey Period
Master Key Provider Network Address
Master Key Provider Port Number
Master Key Provider Web App Path
OKM Certificate File Name
OKM Private Key File Name
OKM Private Key Password
CA Certificate File Name