JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 5: 標準、環境、マクロ     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

Standards, Environments, and Macros

acl(5)

ad(5)

advance(5)

adv_cap_1000fdx(5)

adv_cap_1000hdx(5)

adv_cap_100fdx(5)

adv_cap_100hdx(5)

adv_cap_10fdx(5)

adv_cap_10hdx(5)

adv_cap_asym_pause(5)

adv_cap_autoneg(5)

adv_cap_pause(5)

adv_rem_fault(5)

ANSI(5)

architecture(5)

ars(5)

ascii(5)

attributes(5)

audit_binfile(5)

audit_flags(5)

audit_remote(5)

audit_syslog(5)

availability(5)

brands(5)

C++(5)

C(5)

cancellation(5)

cap_1000fdx(5)

cap_1000hdx(5)

cap_100fdx(5)

cap_100hdx(5)

cap_10fdx(5)

cap_10hdx(5)

cap_asym_pause(5)

cap_autoneg(5)

cap_pause(5)

cap_rem_fault(5)

charmap(5)

compile(5)

condition(5)

crypt_bsdbf(5)

crypt_bsdmd5(5)

crypt_sha256(5)

crypt_sha512(5)

crypt_sunmd5(5)

crypt_unix(5)

CSI(5)

datasets(5)

device_clean(5)

dhcp(5)

dhcp_modules(5)

environ(5)

eqnchar(5)

extendedFILE(5)

extensions(5)

fedfs(5)

filesystem(5)

fmri(5)

fnmatch(5)

formats(5)

fsattr(5)

grub(5)

gss_auth_rules(5)

hal(5)

iconv_1250(5)

iconv_1251(5)

iconv(5)

iconv_646(5)

iconv_852(5)

iconv_8859-1(5)

iconv_8859-2(5)

iconv_8859-5(5)

iconv_dhn(5)

iconv_koi8-r(5)

iconv_mac_cyr(5)

iconv_maz(5)

iconv_pc_cyr(5)

iconv_unicode(5)

ieee802.11(5)

ieee802.3(5)

ipfilter(5)

ipkg(5)

isalist(5)

ISO(5)

kerberos(5)

krb5_auth_rules(5)

krb5envvar(5)

KSSL(5)

kssl(5)

labels(5)

largefile(5)

ldap(5)

lf64(5)

lfcompile(5)

lfcompile64(5)

link_duplex(5)

link_rx_pause(5)

link_tx_pause(5)

link_up(5)

locale(5)

locale_alias(5)

lp_cap_1000fdx(5)

lp_cap_1000hdx(5)

lp_cap_100fdx(5)

lp_cap_100hdx(5)

lp_cap_10fdx(5)

lp_cap_10hdx(5)

lp_cap_asym_pause(5)

lp_cap_autoneg(5)

lp_cap_pause(5)

lp_rem_fault(5)

man(5)

mansun(5)

me(5)

mech_spnego(5)

mm(5)

ms(5)

MT-Level(5)

mutex(5)

MWAC(5)

mwac(5)

nfssec(5)

NIS+(5)

NIS(5)

nis(5)

nwam(5)

openssl(5)

pam_allow(5)

pam_authtok_check(5)

pam_authtok_get(5)

pam_authtok_store(5)

pam_deny(5)

pam_dhkeys(5)

pam_dial_auth(5)

pam_krb5(5)

pam_krb5_migrate(5)

pam_ldap(5)

pam_list(5)

pam_passwd_auth(5)

pam_pkcs11(5)

pam_rhosts_auth(5)

pam_roles(5)

pam_sample(5)

pam_smbfs_login(5)

pam_smb_passwd(5)

pam_tsol_account(5)

pam_tty_tickets(5)

pam_unix_account(5)

pam_unix_auth(5)

pam_unix_cred(5)

pam_unix_session(5)

pam_user_policy(5)

pam_zfs_key(5)

pkcs11_kernel(5)

pkcs11_kms(5)

pkcs11_softtoken(5)

pkcs11_tpm(5)

pkg(5)

POSIX.1(5)

POSIX.2(5)

POSIX(5)

privileges(5)

prof(5)

pthreads(5)

RBAC(5)

rbac(5)

regex(5)

regexp(5)

resource_controls(5)

sgml(5)

smf(5)

smf_bootstrap(5)

smf_method(5)

smf_restarter(5)

smf_security(5)

smf_template(5)

solaris10(5)

solaris(5)

solbook(5)

stability(5)

standard(5)

standards(5)

step(5)

sticky(5)

suri(5)

SUS(5)

SUSv2(5)

SUSv3(5)

SVID3(5)

SVID(5)

tecla(5)

teclarc(5)

term(5)

threads(5)

trusted_extensions(5)

vgrindefs(5)

wbem(5)

xcvr_addr(5)

xcvr_id(5)

xcvr_inuse(5)

XNS4(5)

XNS(5)

XNS5(5)

XPG3(5)

XPG4(5)

XPG4v2(5)

XPG(5)

zones(5)

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

pkcs11_tpm

- トラステッドプラットフォームモジュール (TPM) 用 RSA PKCS#11 トークン

形式

/usr/lib/security/pkcs11_tpm.so
/usr/lib/security/64/pkcs11_tpm.so

機能説明

pkcs11_tpm.so オブジェクトは、Trusted Computing Group のプロトコルを使用して TPM セキュリティーデバイスと通信することで、RSA Security Inc. の PKCS#11 暗号化トークンインタフェース (Cryptoki) v2.20 仕様を実装します。このプロバイダは PKCS#11 仕様を実装し、SUNWtss パッケージの TCG ソフトウェアスタック (TSS) API を使用します。

アプリケーション開発者は、pkcs11_tpm.so に直接リンクするのではなく、libpkcs11.so.1 にリンクするようにしてください。libpkcs11(3LIB) を参照してください。

実装されている暗号化アルゴリズムは、RSASHA1、および MD5 です。

libpkcs11(3LIB) のリストに示されている標準の PKCS#11 関数は、次を除きすべて実装されています。

C_EncryptUpdate
C_EncryptFinal
C_DecryptUpdate
C_DecryptFinal
C_DigestEncryptUpdate
C_DecryptDigestUpdate
C_SignEncryptUpdate
C_DecryptVerifyUpdate
C_GetFunctionStatus
C_CancelFunction
C_WaitForSlotEvent
C_GenerateKey
C_DeriveKey

サポートされている RSA PKCS#11 v2.20 メカニズムは次のとおりです。

CKM_RSA_PKCS_KEY_PAIR_GEN
CKM_RSA_PKCS
CKM_RSA_PKCS_OAEP
CKM_RSA_X_509
CKM_MD5_RSA_PKCS
CKM_SHA1_RSA_PKCS
CKM_SHA_1
CKM_SHA_1_HMAC
CKM_SHA_1_HMAC_GENERAL
CKM_MD5
CKM_MD5_HMAC
CKM_MD5_HMAC_GENERAL

ユーザーごとの初期化

pkcs11_tpm プロバイダを使用できるのは、システムに TPM デバイスが存在し、かつ SUNWtss パッケージがインストールされている場合だけです。これらの前提条件が満たされている場合、ユーザーは pktool(1) を使用すると自分専用のプライベートトークンを作成できます。このトークンにより、TPM デバイスを使用した操作を実行でき、TPM によって保護された鍵で自分の非公開データを保護できます。

ユーザーの TPM トークンを準備して初期化するには、次の手順を実行する必要があります。

  1. トークンを初期化します。

  2. SO (セキュリティー責任者) の PIN を設定します。

  3. ユーザーの一意の PIN を設定します。

トークンを初期化するには、pktool(1) コマンドを次のように使用します。

$ pktool inittoken currlabel=TPM newlabel=tpm/myname

トークンを初期化したあとは、SO PIN とユーザー PIN をデフォルト値から変更する必要があります。これらの PIN の値を変更するには、再度 pktool(1) を使用します。

SO PIN の変更は次のように行います。

$ pktool setpin token=tpm/joeuser so

so オプションは、この「setpin」操作が SO PIN の変更であることを示すもので、省略できません。ユーザーはデフォルトの SO PIN (87654321) を入力してから、新しい PIN を入力 (および確認) する必要があります。

SO PIN をデフォルトから変更したあと、ユーザーの一意の PIN もリセットする必要があります。

ユーザーの PIN の変更は次のように行います。

$ pktool setpin token=tmp/joeuser

SO 以外のユーザーのデフォルト PIN は 12345678 です。ユーザーはデフォルトの PIN を入力してから、新しい一意の PIN を入力 (および確認) する必要があります。

pktool setpin 操作または C_Login() 関数と C_SetPIN() 関数に設定する PIN には、長さが 1 から 256 までで、空文字を含まない、任意の文字列を使用できます。

トークンへのアクセス

ユーザーは自分のトークンを初期化したあと、pktool(1) で、あるいは PKCS11 アプリケーションを作成することにより、トークンの使用を開始できます。その際、前述の手順で作成した名前 (前述の例では tpm/joeuser) を使用してトークンを特定します。

たとえば、

$ pktool gencert token=tpm/joeuser -i
$ pktool list token=tpm/joeuser

注意事項

pkcs11_tpm.so により、ファイルシステム固有のトークンオブジェクトの記憶領域にオブジェクトストレージが提供されます。プライベートオブジェクトは秘密鍵による暗号化で保護されています。復号化するには、トークンの秘密鍵を TPM に読み込み、復号化をすべて TPM 内で実行する必要があります。ユーザーの秘密鍵は、ユーザーが個人用の PIN を設定したときに (前述の説明を参照)、TPM によって生成されます。SO の鍵もユーザーの鍵も、TSS 永続的ストレージデータベースに保存され、一意の UUID 値で参照されます。どのユーザートークンにも一意の SO 鍵と一意のユーザー鍵があるため、あるユーザーのトークンの PIN で、同じマシンの別のユーザーのトークンに保存されている非公開データがロック解除されることはありません。

TPM はそれぞれ一意なので、ある TPM で作成されたトークンキーを別の TPM で使用することはできません。pkcs11_tpm.so トークンのデータは、TPM が存在しているシステムですべて管理されます。ほかのシステムに移動することはできません。TPM がリセットされ SRK (ストレージルートキー) が変更された場合、その TPM でそれまでに生成された鍵はすべて無効になります。

pkcs11_tpm.so は、作成されたトークンごとに専用のワークスペースを作成して、管理ファイルを管理します。デフォルトでは、この領域は /var/user/$USERNAME/tpm/ として作成されます。ただし、ユーザーはトークンの初期化や使用を開始する前に PKCS11_TPM_DIR 環境変数を設定することにより、この設定をオーバーライドできます。

戻り値

実装されている各関数の戻り値は、RSA PKCS#11 v2.20 仕様で定義されています。http://www.rsasecurity.com を参照してください。

ファイル

/var/user/$USERNAME/tpm/

ユーザーのデフォルトのトークンオブジェクトストア。

${PKCS11_TPM_DIR}

代替のトークンオブジェクトストア。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
インタフェースの安定性
確実
MT レベル
例外付きで MT-安全 (後述の説明を参照)
標準
PKCS#11 v2.20

「MT-安全」属性の例外については、RSA PKCS#11 v2.20 のセクション 6.6.2 を参照してください。

関連項目

pktool(1), cryptoadm(1M), libpkcs11(3LIB), attributes(5)

TCG ソフトウェアスタック (TSS) 仕様 https://www.trustedcomputinggroup.org/specs/TSS (公開時点のアドレス)

RSA PKCS#11 v2.20 http://www.rsasecurity.com