
Macでのスマートカードの詳細オプション
スマートカード構成設定
以下のオプションについて、コマンドラインを使用して、Macコンピュータで特定のスマートカード構成の設定やログを表示したり編集したりできます:
- システムで使用可能なトークンの一覧を表示する。 - pluginkit -m -p com.apple.ctk-tokens- com.apple.CryptoTokenKit.setoken(1.0)- com.apple.CryptoTokenKit.pivtoken(1.0)
- 無効なスマートカードトークンを有効にする/無効にする/一覧表示する。 - sudo security smartcards token [-l] [-e token] [-d token]
- スマートカードのペアリングを解除する。 - sudo sc_auth unpair -u jappleeed
- 使用可能なスマートカードを表示する。 - sudo security list-smartcards
- スマートカードから項目を書き出す。 - sudo security export-smartcard
- スマートカードのログ。 - sudo defaults write /Library/Preferences/com.apple.security.smartcard Logging -bool true
- 内蔵のPIVトークンを無効にする。 - sudo defaults write /Library/Preferences/com.apple.security.smartcard DisabledTokens -array com.apple.CryptoTokenKit.pivtoken
以下のオプションは、コマンドラインの使用に加え、スマートカードペイロードを使用して管理することもできます。詳しくは、スマートカードデバイス管理ペイロードの設定を参照してください。
- トークン挿入時のペアリングのプロンプトを抑制する。 - sudo defaults write /Library/Preferences/com.apple.security.smartcard UserPairing -bool false
- ユーザアカウントのペアリングを単一スマートカードに制限する。 - sudo defaults write /Library/Preferences/com.apple.security.smartcard oneCardPerUser -bool true
- スマートカードユーザのログインと認証を無効にする。 - sudo defaults write /Library/Preferences/com.apple.security.smartcard allowSmartCard -bool false- 注記: allowSmartCardを無効にしても、スマートカード証明書IDは、継続してほかの操作(署名や暗号化など)およびサポートされる他社製アプリで使用できます。 
- スマートカード証明書の信頼に関する動作を管理する。 - sudo defaults write /Library/Preferences/com.apple.security.smartcard checkCertificateTrust -int <value>- 以下のいずれかの値に設定できます: - 0: スマートカード証明書を信頼する必要はありません。 
- 1: スマートカード証明書およびチェーンを信頼する必要があります。 
- 2: 証明書およびチェーンを信頼する必要があり、失効ステータスを受け取りません。 
- 3: 証明書およびチェーンを信頼する必要があり、失効ステータスは有効として返されます。 
 
証明書ピンニング
スマートカードの信頼評価に使用される証明書発行機関を指定できます。この信頼は、証明書信頼設定(1、2、または3が必要)と連携して機能し、証明書ピンニングと呼ばれます。認証局のSHA-256フィンガープリント(文字列値、カンマ区切り、空白なし)をTrustedAuthoritiesという名前の配列に配置します。以下の「/private/etc/SmartcardLogin.plist」ファイルの例をガイダンスとして使用してください。証明書ピンニングを使用する場合、このリストにある認証局が発行したスマートカード証明書のみが信頼できるものとして評価されます。checkCertificateTrust設定が0(オフ)に設定されている場合、TrustedAuthorities配列は無視されます。編集後、所有権が「root」になっていて、アクセス権が「world read」に設定されていることを確認します。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>     <key>AttributeMapping</key>     <dict>          <key>dsAttributeString</key>          <string>dsAttrTypeStandard:AltSecurityIdentities</string>          <key>fields</key>          <array>                <string>NT Principal Name</string>          </array>          <key>formatString</key>          <string>Kerberos:$1</string>     </dict>     <key>TrustedAuthorities</key>     <array>          <string>SHA256_HASH_OF_CERTDOMAIN_1,SHA256_HASH_OF_CERTDOMAIN_2</string>     </array></dict></plist>