Mac의 Secure Enclave로 SSH 키를 만들면 훔칠 수가 없다
Setting Up SSH Keys on macOS with Touch ID
macOS의 Secure Enclave에 SSH 키를 생성하는 방법을 세 개의 명령어로 소개한다. 개인 키는 추출 자체가 불가능하고, 사용할 때마다 Touch ID 인증을 요구하며, GitHub 같은 git-over-ssh에도 그대로 적용된다. 후반부에서는 sc_auth와 ssh-keychain.dylib이 어떻게 Secure Enclave와 SSH 사이를 중개하는지, 문서화되지 않은 내부 동작을 파헤친다. 단, Mac이 고장 나면 키도 함께 사라진다는 점은 유의해야 한다.
당신의 신원은 아무도 훔칠 수 없다. 아니, 오히려 기꺼이 넘겨주고 싶어도 불가능하다. Secure Enclave에서 추출할 수 없기 때문이다.