
Erweiterte Optionen für Smart Cards auf dem Mac
Smart Card-Konfigurationseinstellungen
Mit den folgenden Befehlen für das Befehlszeilenprogramm lassen sich die spezifischen Konfigurationseinstellungen für Smart Cards und die zugehörigen Protokolle auf dem Mac anzeigen und bearbeiten:
Im System verfügbare Token auflisten.
pluginkit -m -p com.apple.ctk-tokenscom.apple.CryptoTokenKit.setoken(1.0)com.apple.CryptoTokenKit.pivtoken(1.0)Token aktivieren oder deaktivieren oder deaktivierte Smart Card-Token auflisten.
sudo security smartcards token [-l] [-e token] [-d token]Smart Card entkoppeln.
sudo sc_auth unpair -u jappleeedVerfügbare Smart Cards anzeigen.
sudo security list-smartcardsObjekte einer Smart Card exportieren.
sudo security export-smartcardSmart Card-Protokollierung.
sudo defaults write /Library/Preferences/com.apple.security.smartcard Logging -bool trueIntegrierte PIV-Token deaktivieren.
sudo defaults write /Library/Preferences/com.apple.security.smartcard DisabledTokens -array com.apple.CryptoTokenKit.pivtoken
Zusätzlich zum Befehlszeilenprogramm können die folgenden Optionen auch mit der Payload „Smart Card“ verwaltet werden. Weitere Informationen findest du unter Einstellungen der Geräteverwaltungs-Payload „Smart Card“.
Aufforderung zum Koppeln beim Einführen eines Token unterdrücken.
sudo defaults write /Library/Preferences/com.apple.security.smartcard UserPairing -bool falseKoppeln von Benutzeraccounts auf eine einzelne Smart Card beschränken.
sudo defaults write /Library/Preferences/com.apple.security.smartcard oneCardPerUser -bool trueSmart Card-Benutzer für Anmeldung und Authentifizierung deaktivieren.
sudo defaults write /Library/Preferences/com.apple.security.smartcard allowSmartCard -bool falseHinweis: Wenn „allowSmartCard“ deaktiviert wird, können die Smart Card-Zertifikatsidentitäten weiterhin für andere Aktionen verwendet, etwa für die Anmeldung und Verschlüsselung sowie in unterstützten Drittanbieter-Apps.
Vertrauenseinstellung des Smart Card-Zertifikats verwalten.
sudo defaults write /Library/Preferences/com.apple.security.smartcard checkCertificateTrust -int <value>Du kannst einen der folgenden Werte angeben:
0: Das Smart Card-Zertifikat muss nicht als vertrauenswürdig eingestuft werden.
1: Das Smart Card-Zertifikat und die Kette müssen als vertrauenswürdig eingestuft werden.
2: Das Smart Card-Zertifikat und die Kette müssen als vertrauenswürdig eingestuft werden, und der Status darf nicht „Revoked“ (widerrufen) lauten.
3: Das Smart Card-Zertifikat und die Kette müssen als vertrauenswürdig eingestuft werden, und der „Revocation Status“ muss gültig sein.
Zertifikat-Pinning
Es ist möglich, die Zertifizierungsstellen anzugeben, die für die Vertrauensevaluierung von SmartCard-Zertifikaten verwendet werden. Dieses Vertrauen, das in Verbindung mit den Einstellungen für die Vertrauenswürdigkeit von Zertifikaten (Einstellung 1, 2 oder 3 erforderlich) funktioniert, wird als Zertifikat-Pinning bezeichnet. Platziere dazu SHA-256-Fingerabdrücke von Zertifizierungsstellen (als Zeichenkettenwerte, die durch Kommas getrennt sind und keine Leerzeichen enthalten) in ein Array namens TrustedAuthorities. Die Beispieldatei „/private/etc/SmartcardLogin.plist“ kann hierbei als Orientierungshilfe dienen. Bei Verwendung von Zertifikat-Pinning werden nur von Zertifizierungsstellen ausgegebene SmartCard-Zertifikate in dieser Liste als vertrauenswürdig bewertet. Hierbei ist zu beachten, dass das Array TrustedAuthorities ignoriert wird, wenn die Einstellung checkCertificateTrust auf 0 (aus) gesetzt wird. Stelle nach der Bearbeitung sicher, dass „root“ für den Eigentümer festgelegt ist und dass Berechtigungen als allgemein lesbar definiert sind.
<?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>