
Zaawansowane opcje kart inteligentnych na Makach
Ustawienia konfiguracji kart inteligentnych
Możesz wyświetlać i edytować określone ustawienia konfiguracji karty inteligentnej i dzienniki na komputerze Mac, używając wiersza polecenia dla następujących opcji:
Lista tokenów dostępnych w systemie.
pluginkit -m -p com.apple.ctk-tokenscom.apple.CryptoTokenKit.setoken(1.0)com.apple.CryptoTokenKit.pivtoken(1.0)Włączanie, wyłączanie lub wyświetlanie listy wyłączonych tokenów kart inteligentnych.
sudo security smartcards token [-l] [-e token] [-d token]Rozłączenie pary z kartą inteligentną.
sudo sc_auth unpair -u jappleeedWyświetlanie dostępnych kart inteligentnych.
sudo security list-smartcardsEksportowanie elementów z karty inteligentnej.
sudo security export-smartcardGenerowanie dziennika kart inteligentnych.
sudo defaults write /Library/Preferences/com.apple.security.smartcard Logging -bool trueWyłączanie wbudowanych tokenów PIV.
sudo defaults write /Library/Preferences/com.apple.security.smartcard DisabledTokens -array com.apple.CryptoTokenKit.pivtoken
Poza wierszem poleceń, tymi opcjami można zarządzać za pomocą pakietu danych karty inteligentnej. Aby uzyskać więcej informacji, zobacz: Ustawienia obsługiwanego przez usługę zarządzania urządzeniami pakietu danych Smart Card.
Pomijanie komunikatu o połączenie w parę po włożeniu tokenu.
sudo defaults write /Library/Preferences/com.apple.security.smartcard UserPairing -bool falseOgraniczanie łączenia kont użytkownika w parę do jednej karty inteligentnej.
sudo defaults write /Library/Preferences/com.apple.security.smartcard oneCardPerUser -bool trueWyłączanie możliwości logowania i uwierzytelniania użytkownika karty inteligentnej.
sudo defaults write /Library/Preferences/com.apple.security.smartcard allowSmartCard -bool falseUwaga: Gdy klucz allowSmartCard jest wyłączony, certyfikaty na karcie inteligentnej mogą być nadal używane do innych operacji (takich jak podpisywanie lub szyfrowanie) oraz w obsługiwanych aplikacjach innych firm.
Zarządzanie zaufaniem do certyfikatów karty inteligentnej.
sudo defaults write /Library/Preferences/com.apple.security.smartcard checkCertificateTrust -int <value>Możesz podać jedną z następujących wartości:
0: Zaufanie do certyfikatu karty inteligentnej nie jest wymagane.
1: Wymagane jest zaufanie do certyfikatu karty inteligentnej oraz do łańcucha certyfikacji.
2: Wymagane jest zaufanie do certyfikatu i do łańcucha certyfikacji. Nie mogą one mieć statusu „unieważniony”.
3: Wymagane jest zaufanie do certyfikatu i do łańcucha certyfikacji. Zapytanie o ich status musi zwracać odpowiedź potwierdzającą ich ważność.
Przypinanie certyfikatów (certificate pinning)
Istnieje możliwość zdefiniowania, które urzędy certyfikacji mają być używane w łańcuchu zaufania certyfikatów z karty inteligentnej. To zaufanie, które działa w połączeniu z ustawieniami zaufania certyfikatu (wymagane jest użycie wartości 1, 2 lub 3) jest nazywane certificate pinning, czyli „przypinaniem certyfikatów”. Umieść numery seryjne (fingerprinty) SHA-256 urzędów certyfikacji w tablicy o nazwie TrustedAuthorities (jako wartości ciągu, rozdzielone przecinkiem, bez spacji). Jako wzoru użyj przedstawionego poniżej przykładowego pliku /private/etc/SmartcardLogin.plist. Gdy używane jest „przypinanie certyfikatów”, jako zaufane uznawane są tylko certyfikaty z karty inteligentnej, które zostały wystawione przez urzędy certyfikacji znajdujące się w tej tablicy. Zwróć uwagę, że tablica TrustedAuthorities jest ignorowana, gdy klucz checkCertificateTrust ustawiony jest na wartość 0 (wyłączony). Po dokonaniu edycji pliku upewnij się, że jako właściciel ustawiony jest użytkownik root, a uprawnienia umożliwiają odczyt przez dowolnego użytkownika.
<?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>