Ero sivun ”Apple/macOS” versioiden välillä

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun
 
(42 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
'''Applen Mac OS''' käyttöjärjestelmistä on useita eri versioita, viimeisin niistä on Catalina.
+
'''Applen macOS''' käyttöjärjestelmästä on useita eri versioita, viimeisin niistä on '''Monterey'''. macOS käyttää [https://en.wikipedia.org/wiki/Keychain_(software) Keychain Access]-ohjelmaa varmennevarastona jossa aiemmin [[Tokend]]-rajapintaa käytettäessä näkyivät myös [[Henkilökortti|henkilökortin]] varmenteet. Uudemmat versiot macOS-versiot käyttävät CryptoTokenKit-rajapintaa (CTK) ja varmenteet eivät enää näy Keychain Access ohjelmassa.  
  
Mac OS:ssa käyttää [https://en.wikipedia.org/wiki/Keychain_(software) Keychain Access]-ohjelmaa varmennevarastona jossa näkyvät myös [[HSM]]-laitteet.
+
KeyChain ongelmasta seuraa, ettei mm Applen oma Safari-selain tai sähköpostiohjelma näe käyttäjän kortilla olevia varmenteita. Ongelmaa pystyi aiemmin kiertämään asentamalla vapaan lisenssin [[OpenSC]]-väliohjelmiston, mutta se ei enää toimi 2017 alusta myönnettyjen, eli [[Henkilökortti#Versiot|G3 sukupolven]] korttien kanssa koska sieltä puuttuu uuden [[Henkilökortti/Oberthur|Oberthur]]-kortin ajuri.
  
Henkilökorttien tuki on ennen Catalina-versiota ollut tuettuna [[Tokend]]-rajapinnalla, Catalina ja uudemmat käyttävät [[CryptoTokenKit]]-rajapintaa.
+
Kaikesta edelläolevasta seuraa, että macOS-käyttäjille ainoa realistinen vaihtoehto on käyttää [[Firefox]]-selainta.
 +
 
 +
Etäyhteyttä käytettäessä (VNC ikkunointi, ssh pääteyhteys) macOS ei rajoita paikallisten varmennekorttien käsittelyä paikallisiin istuntoihin kuten [[Windows]] tekee tietoturvasyistä.
 +
 
 +
== Historia ==
 +
'''Mac OS X Lion 10.7 -10.12'''<ref name='jamf-pumaska'>[https://www.jamf.com/resources/technical-papers/macos-smart-card-overview/macOS jamf.com Smart Card Overview]</ref> henkilökorttien tuki ollut tuettuna [[Tokend]]-rajapinnalla. Siitä tehtiin avointa lähdekoodia ja se siirrettiin macosforge- ja github kehitysportaaleihin. Kehittäjät ilmeisesti olleet [[OpenSC]]-projektin aktiiveja.
 +
 
 +
'''Mac OS X Sierra 10.12 - High Sierra 10.13''' [[CryptoTokenKit]]-rajapinnan (CTK) käyttöönotto.
 +
 
 +
'''macOS Mojave''' Keyring toimii, käyttäjä-varmenne-pairing toimii.
 +
 
 +
'''macOS Catalina 10.15.0''' Tokend poistettu, ainoastaan CryptoTokenKit tuettu.
 +
 
 +
'''macOS Big Sur 11.2.2''' samat CTK-ongelmat jatkuvat. '''sc_auth''' komento, keyring eivät toimi oletetusti.
 +
 
 +
'''macOS Monterey 12.0.1''' DigiSign 4.2.0b näyttäisi toimivan Firefoxin kanssa, CTK- ja Keyring- ja Safari ongelmat jatkuvat.
 +
 
 +
== Kortinlukijat ==
 +
Toimii:
 +
* Gemalto (was Gemplus) GemPC Twin SmartCard Reader (usb: 08e6:3437)
 +
 
 +
Ei toimi:
 +
* OmniKey AG CardMan 3021 / 3121 (usb: 076b:3021)
 +
 
 +
== Asennus ==
 +
 
 +
Henkilökortin käyttö vaatii väliohjelmiston asennuksen.
 +
 
 +
 
 +
=== Digisign Client ===
 +
Digiviraston webistä on poistettu siellä aiemmin ollut ''ei toimi Safari 12 version kanssa'' varoitus (2021-11-07), mutta siitä huolimatta Safari ei tunnu toimivan kuten ennenkään.
 +
 
 +
* [https://dvv.fi/mac-versiot dvv.fi/mac-versiot]
 +
 
 +
Ohjelmiin asettava PKCS11 kirjaston polku on:
 +
/Library/mPolluxDigiSign/libcryptoki.dylib
 +
 
 +
=== OpenSC ===
 +
 
 +
Osalle tarvittavia ohjelmia ei ole saatavilla Applen .dmg levykuvaa ja/tai natiivia .pkg pakettia. Asentamalla ns [https://brew.sh/ Home Brew pakettienhallintaohjelmiston], ohjelmien asennuksen ja päivittäminen helpottuu huomattavasti. Sen asennusohjeet löytyvät omilta sivuiltaan.
 +
 
 +
Komentotulkki-ikkunassa:
 +
% sudo brew install opensc
 +
 
 +
 
 +
Asennuksen jälkeen voi kokeilla näkeekö OpenSC kortinlukijan:
 +
% opensc-tool -l
 +
# Detected readers (pcsc)
 +
Nr.  Card  Features  Name
 +
0    No              Gemalto PC Twin Reader
 +
 
 +
Ja toimivatko varmenteiden listaaminen:
 +
% pkcs15-tool -c
 +
Using reader with a card: Gemalto PC Twin Reader
 +
X.509 Certificate [todentamis- ja salausvarmenne]
 +
        Object Flags  : [0x00]
 +
        Authority      : no
 +
        Path          : 3f004331
 +
        ID            : 45
 +
        Access Rules  : read:<always>;
 +
        Encoded serial : 02 04 3BC409C1
 +
 +
X.509 Certificate [allekirjoitusvarmenne]
 +
        Object Flags  : [0x00]
 +
. . .
 +
 
 +
Ohjelmiin asettava PKCS11 kirjaston versiosidonnainen polku on:
 +
/usr/local/Cellar/opensc/0.22.0/lib/onepin-opensc-pkcs11.so
 +
 
 +
== Sovellukset ==
 +
 
 +
=== Firefox ===
 +
 
 +
Firefoxin turvaväline-asetuksiin ladattava pkcs11-oduuli toimii ongelmitta.
 +
=== Chrome ===
 +
PKCS11-tuen asettelu Chrome-selaimeen vaatisi modutil komennon joka on osa nss-tools pakettia. Ohjelmasta on vain lähdekoodit joten sen asentaminen vaatisi nss-tools paketin kääntämistä kääntäjällä.
 +
 
 +
== Ongelmanratkaisut ==
 +
 
 +
* '''Finder -> Applications -> Utilities -> System Information.app''' listaa järjestelmän tietoja.
 +
** '''Hardware -> Card Reader''' osiossa näkyy älykortinlukijat.
 +
** '''Software -> SmartCards''' osiossa näkyy ajurien ja prosessien tietoja ([[Tokend]]/[[CryptoTokenKit]]). Samat tiedot näkyvät komennolla:
 +
% system_profiler SPSmartCardsDataType
 +
 
 +
* CryptoTokenKit palvelun tila:
 +
% sudo launchctl print system/com.apple.ctkd | grep state
 +
        state = running
 +
 
 +
* Listaa älykortit:
 +
% security list-smartcards
 +
No smartcards found.
 +
 
 +
* Listaa varmenteet:
 +
% security smartcards token -l
 +
 
 +
* Vanhan Tokend aktivointi on mahdollista Mojavessa jos sitä jostain syystä tarvitsisi ([https://www.unix.com/man-page/mojave/7/SmartCardServices-legacy/ SmartCardServices-legacy]):
 +
% sudo defaults write /Library/Preferences/com.apple.security.smartcard Legacy -bool true
 +
Mojavea uudemmissa versioissa Tokend on kokonaan poistettu.
 +
 
 +
* '''Safari ei toimi henkilökortin kanssa''' Catalinassa ja uudemmissa, ennen vuoden 2017 alkua myönnetyillä korteilla asentamalla OpenSC ongelma korjaantuu. Muuten [[Firefox]]in käyttö DigSign PKCS11-pluginin kanssa on ainoa vaihtoehto.
 +
 
 +
* '''SmartCard pairing failed''' ''Cannot pair SmartCard with the current user. The operation couldn't be completed. (OSStatus error -67808 - RSA signature verification failed, no match)''. Korjaus ongelmaan on poistaa Digiviraston [[DigiSign Client]] ohjelmapaketti, asentaa [[OpenSC]] ja uudelleenkäynnistää kone. Sen jälkeen käyttäjätilin ja varmenteen paritus onnistuu ja jopa Safari-selain toimii tunnistusvarmenteella. [[Tiedosto:MacOS.Catalina.smartcard.pairing.failed.png|right|200px|thumb|Virhe 67808: Varmenteen tarkistus epäonnistuu.]]
  
 
== Katso myös ==
 
== Katso myös ==
* [[OpenVPN/Mac OS]]
+
* [[Apple]]
 +
* [[OpenVPN/macOS]]
 +
* [[Firefox]]
 +
* [[Chrome]]
 +
 
 +
== Aiheesta muualla ==
 +
* [https://ludovicrousseau.blogspot.com/search/label/Mac%20OS%20X Ludovic Rousseau - smartcards and macOS]
 +
* [https://github.com/kenh/keychain-pkcs11 github.com/kenh/keychain-pkcs11] tarjoaa pkcs#11 rajapinnan älykorteilta ja keychain-varastosta.
 +
 
 +
== Lähteet ==
 +
<references/>
 +
 
 +
[[Luokka:Käyttöjärjestelmät]]

Nykyinen versio 24. huhtikuuta 2024 kello 14.54

Applen macOS käyttöjärjestelmästä on useita eri versioita, viimeisin niistä on Monterey. macOS käyttää Keychain Access-ohjelmaa varmennevarastona jossa aiemmin Tokend-rajapintaa käytettäessä näkyivät myös henkilökortin varmenteet. Uudemmat versiot macOS-versiot käyttävät CryptoTokenKit-rajapintaa (CTK) ja varmenteet eivät enää näy Keychain Access ohjelmassa.

KeyChain ongelmasta seuraa, ettei mm Applen oma Safari-selain tai sähköpostiohjelma näe käyttäjän kortilla olevia varmenteita. Ongelmaa pystyi aiemmin kiertämään asentamalla vapaan lisenssin OpenSC-väliohjelmiston, mutta se ei enää toimi 2017 alusta myönnettyjen, eli G3 sukupolven korttien kanssa koska sieltä puuttuu uuden Oberthur-kortin ajuri.

Kaikesta edelläolevasta seuraa, että macOS-käyttäjille ainoa realistinen vaihtoehto on käyttää Firefox-selainta.

Etäyhteyttä käytettäessä (VNC ikkunointi, ssh pääteyhteys) macOS ei rajoita paikallisten varmennekorttien käsittelyä paikallisiin istuntoihin kuten Windows tekee tietoturvasyistä.

Historia

Mac OS X Lion 10.7 -10.12[1] henkilökorttien tuki ollut tuettuna Tokend-rajapinnalla. Siitä tehtiin avointa lähdekoodia ja se siirrettiin macosforge- ja github kehitysportaaleihin. Kehittäjät ilmeisesti olleet OpenSC-projektin aktiiveja.

Mac OS X Sierra 10.12 - High Sierra 10.13 CryptoTokenKit-rajapinnan (CTK) käyttöönotto.

macOS Mojave Keyring toimii, käyttäjä-varmenne-pairing toimii.

macOS Catalina 10.15.0 Tokend poistettu, ainoastaan CryptoTokenKit tuettu.

macOS Big Sur 11.2.2 samat CTK-ongelmat jatkuvat. sc_auth komento, keyring eivät toimi oletetusti.

macOS Monterey 12.0.1 DigiSign 4.2.0b näyttäisi toimivan Firefoxin kanssa, CTK- ja Keyring- ja Safari ongelmat jatkuvat.

Kortinlukijat

Toimii:

  • Gemalto (was Gemplus) GemPC Twin SmartCard Reader (usb: 08e6:3437)

Ei toimi:

  • OmniKey AG CardMan 3021 / 3121 (usb: 076b:3021)

Asennus

Henkilökortin käyttö vaatii väliohjelmiston asennuksen.


Digisign Client

Digiviraston webistä on poistettu siellä aiemmin ollut ei toimi Safari 12 version kanssa varoitus (2021-11-07), mutta siitä huolimatta Safari ei tunnu toimivan kuten ennenkään.

Ohjelmiin asettava PKCS11 kirjaston polku on:

/Library/mPolluxDigiSign/libcryptoki.dylib

OpenSC

Osalle tarvittavia ohjelmia ei ole saatavilla Applen .dmg levykuvaa ja/tai natiivia .pkg pakettia. Asentamalla ns Home Brew pakettienhallintaohjelmiston, ohjelmien asennuksen ja päivittäminen helpottuu huomattavasti. Sen asennusohjeet löytyvät omilta sivuiltaan.

Komentotulkki-ikkunassa:

% sudo brew install opensc


Asennuksen jälkeen voi kokeilla näkeekö OpenSC kortinlukijan:

% opensc-tool -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    No              Gemalto PC Twin Reader

Ja toimivatko varmenteiden listaaminen:

% pkcs15-tool -c 
Using reader with a card: Gemalto PC Twin Reader
X.509 Certificate [todentamis- ja salausvarmenne]
       Object Flags   : [0x00]
       Authority      : no
       Path           : 3f004331
       ID             : 45
       Access Rules   : read:<always>;
       Encoded serial : 02 04 3BC409C1

X.509 Certificate [allekirjoitusvarmenne]
       Object Flags   : [0x00]
. . .

Ohjelmiin asettava PKCS11 kirjaston versiosidonnainen polku on:

/usr/local/Cellar/opensc/0.22.0/lib/onepin-opensc-pkcs11.so

Sovellukset

Firefox

Firefoxin turvaväline-asetuksiin ladattava pkcs11-oduuli toimii ongelmitta.

Chrome

PKCS11-tuen asettelu Chrome-selaimeen vaatisi modutil komennon joka on osa nss-tools pakettia. Ohjelmasta on vain lähdekoodit joten sen asentaminen vaatisi nss-tools paketin kääntämistä kääntäjällä.

Ongelmanratkaisut

  • Finder -> Applications -> Utilities -> System Information.app listaa järjestelmän tietoja.
    • Hardware -> Card Reader osiossa näkyy älykortinlukijat.
    • Software -> SmartCards osiossa näkyy ajurien ja prosessien tietoja (Tokend/CryptoTokenKit). Samat tiedot näkyvät komennolla:
% system_profiler SPSmartCardsDataType
  • CryptoTokenKit palvelun tila:
% sudo launchctl print system/com.apple.ctkd | grep state
       state = running
  • Listaa älykortit:
% security list-smartcards
No smartcards found.
  • Listaa varmenteet:
% security smartcards token -l
% sudo defaults write /Library/Preferences/com.apple.security.smartcard Legacy -bool true

Mojavea uudemmissa versioissa Tokend on kokonaan poistettu.

  • Safari ei toimi henkilökortin kanssa Catalinassa ja uudemmissa, ennen vuoden 2017 alkua myönnetyillä korteilla asentamalla OpenSC ongelma korjaantuu. Muuten Firefoxin käyttö DigSign PKCS11-pluginin kanssa on ainoa vaihtoehto.
  • SmartCard pairing failed Cannot pair SmartCard with the current user. The operation couldn't be completed. (OSStatus error -67808 - RSA signature verification failed, no match). Korjaus ongelmaan on poistaa Digiviraston DigiSign Client ohjelmapaketti, asentaa OpenSC ja uudelleenkäynnistää kone. Sen jälkeen käyttäjätilin ja varmenteen paritus onnistuu ja jopa Safari-selain toimii tunnistusvarmenteella.
    Virhe 67808: Varmenteen tarkistus epäonnistuu.

Katso myös

Aiheesta muualla

Lähteet