Nie mogę akurat znaleźć dokładnego opisu technologii, ale swego czasu sporo o tym czytałem i tyle mi zostało w głowie. Kiedyś Apple dość dokładnie opisywało ten schemat, ale z punktu widzenia iOS. W MacOS jest na pewno nieco inaczej bo dochodzi inaczej zbudowany pęk kluczy no i oczywiście system pozwala oprogramowaniu na więcej, ale nie może też za dużo odbiegać bo w końcu w Touch ID na Mac wmontowano praktycznie całe nieruszone secure enclave razem z kontrolerem ARM z iPhone 6. Poprawcie proszę jeśli się mylę.
TouchID to sensor optyczny. Sensor robi "zdjęcie" ale go nie przechowuje, algorytm robi mapę punktów ze zdjęcia, przetwarza go na "sumę kontrolną" czy jakiś inny masywny ciąg alfanumeryczny który ma reprezentować zeskanowany palec i ten jest przechowywany w zaszyfrowanej części procesora secure enclave, która to jest sparowana na sztywno unikalnym kluczem kryptograficznym z CPU maszyny - podmiana sensora czy ingerencja w urządzenie "psuje" Touch ID.
W skrócie wszystko jest robione na zasadzie black box - patrząc z zewnątrz nie wiadomo co się dzieje w środku, wiadomo tylko co wpłynęło do pudełka i co z niego wypłynęło, a można zapytać tylko "czy" i dostać odpowiedź "tak" lub "nie".
Oprogramowanie pyta pęk kluczy czy wartość podana przez użytkownika jest OK i dostaje jedynie odpowiedź "tak" lub "nie", pęk kluczy prosi System operacyjny o weryfikacje, ten z kolei żądając akcji od sprzętu przekazuje mu w parametrach coś do czego sam jako taki nie ma dostępu. Najbardziej newralgiczny element czyli skaner palca komunikuje się z całą resztą na zasadzie "tak" lub "nie" - albo suma kontrolna wyliczona na podstawie świeżo wykonanego skanu pasuje do tej już istniejącej albo nie pasuje.
Edited by imrik, 15 May 2017 - 12:52.