2017-09-12 3 views
11

프레임 워크 에서 터치 ID가 kSecAccessControlTouchIDAny 인 액세스가 어떻게 작동하는지는 알았지 만 iOS 11에서 페이스 ID로이를 수행하는 방법을 이해할 수 없었습니다. 그것을 해결하기위한 문서를 아직 찾지 못했습니다 (아마도 문서는 아직 나오지 않았을 것입니까?).페이스 ID 키 체인에서 값을 쓰고 읽음

그래서 stackoverflow에 물어보고 질문 : 키 체인에 페이스 ID로 보안 된 값을 쓰는 방법과 다시 복사하는 방법?

최소의 예는 좋을 것입니다.

+1

Apple은 [키 체인이 아닌 예] (https://developer.apple.com/documentation/localauthentication/)를 제공했지만 키 체인은 동일하다고 생각합니다. FaceID는 iPhone X 기기, 다른 기기의 TouchId에서 자동으로 사용됩니다. 특정 코드가 필요하지 않습니다. – Paulw11

+0

@ Paulw11 그 예를 보았습니다. 나는 사건이 'TouchIDAny'라고하기 때문에 상자 밖으로 나올지 정말 궁금해. OS가 처리하는 '1 << 1'값 일 수도 있습니다. – BennX

+1

나는 그것을 상상한다. API는 Face ID가 있기 전에 생성되었으므로 Face ID를 이름으로 참조 할 수 없습니다. "BiometricId"를 참조하는 업데이트가있을 것으로 예상되지만, FaceID가 ApplePay 및 장치 잠금 용 TouchID를 대체하기 때문에 다른 응용 프로그램의 TouchID를 원활하게 대체 할 것으로 가정하는 것이 논리적입니다. – Paulw11

답변

5

이 지금 (베타 이후) 엑스 코드 9.1에서 작동하도록 나타납니다. 여기 예와 시험 가능한

는 :

이 예제는 얼굴 ID 업데이트되지 않았습니다 비록

https://developer.apple.com/library/content/samplecode/KeychainTouchID/Introduction/Intro.html

, 얼굴 ID에 의해 보호 키 체인 항목을 저장하는 작업이 나타납니다.

앞서 설명한 것처럼 Xcode 9.0 GM에서는 작동하지 않습니다.

+1

info.plist에 NSFaceIDUsageDescription 키를 추가하면 샘플 코드가 Face ID로 잘 작동합니다. 그런 다음 경고 알림을받지 못합니다. "앱이 얼굴 ID로 업데이트되지 않았습니다." –

3

Apple이 로컬 인증 API에 페이스 ID 지원을 추가했지만 키 체인 ACL을 추가하지 않은 것처럼 보입니다.

로컬 인증을 사용하여 Face ID 프롬프트를 트리거 한 다음 성공하면 키 체인에 직접 액세스합니다. Touch ID에 대해 가지고있는 적절한 KeyChain ACL API만큼 안전하지는 않지만 지금까지 생각해 낸 최고의 솔루션입니다.

https://developer.apple.com/documentation/localauthentication/localauthentication_constants?changes=latest_minor https://developer.apple.com/documentation/localauthentication/labiometrytype?changes=latest_minor

+3

나는 고객에게 우리가 더 높은 보안 수준을 제공하고 실제로 확보해야하는 사용자 특정 데이터에 대해 덜 안전한 데이터 저장소를 가지고 있다는 생각을 좋아하지 않습니다. Face ID의 전체적인 요점은 보안 수준을 높이는 것이고,이 "해결 방법"은 훨씬 덜 안전합니다. – BennX

+2

Apple은 보안 문서를 발표했습니다. "키 체인 항목은 의 얼굴 ID로 보호 될 수 있으며, 얼굴 일치 또는 장치 암호만으로 보안 영토가 해제 할 수 있습니다." https://images.apple.com/business/docs/FaceID_Security_Guide.pdf – m0ng0