TL;DR

  • macOS Tahoe 26.4부터 파일 기반 로그인 키체인을 잠금 해제하려면 키체인 암호와 보호된 엔트로피 파일이 모두 필요함.
  • 엔트로피 파일은 데이터 볼륨의 보호 디렉터리인 /var/db/SystemKeys에 저장되며, 볼륨별로 구분됨.
  • 키체인을 다른 Mac이나 부팅 볼륨으로 복사하려면 대상 데이터 볼륨에 해당 엔트로피 파일도 복사해야 하며, 이를 위해 시스템 무결성 보호(SIP)를 비활성화해야 함.
  • Time Machine은 macOS 26.4부터 엔트로피 파일을 백업하며, 마이그레이션 지원은 마이그레이션 과정에서 필요한 파일을 함께 복사함.
  • 서드파티 백업 소프트웨어는 보호 디렉터리와 엔트로피 파일의 백업·복원을 지원해야 하며, 파일이 없는 키체인은 잠금 해제가 불가능함.

26.4 이전

  • 2009년 Mac OS X 10.6 Snow Leopard부터 macOS는 서로 다른 두 종류의 키체인을 지원함.
  • 로그인 키체인 등 파일 기반 키체인은 이전 유형에서 파생된 SecKeychains로, ~/Library/Keychains 같은 경로의 단일 파일에 암호화된 데이터베이스로 저장됨.
  • 파일 기반 SecKeychains는 El Capitan에서 사용 중단(deprecated) 처리됐지만 모든 Mac에서 계속 사용되며, 로그인 암호를 입력하면 자동으로 잠금 해제되는 필수 로그인 키체인도 여기에 포함됨. 앱에서도 여전히 사용됨.
  • iPhone 출시와 함께 iOS는 보안성이 더 높은 데이터 보호 키체인(Data Protection keychain)을 도입했으며, Snow Leopard에서도 지원됨. 현재는 iCloud 키체인에 사용되며, iCloud와 공유되지 않을 때는 로컬 항목(Local Items)으로 표시됨.
  • 마이그레이션 지원을 사용하면 적절한 백업에서 로그인 키체인을 가져올 수 있지만, 키체인이 단일 파일이므로 이를 복사하거나 복원한 뒤 키체인을 만든 Mac의 로그인 암호와 같은 암호로 잠금 해제하는 방식이 흔히 사용됨.
  • 파일 기반 키체인의 주요 단점은 정보 탈취 악성코드에서 드러남. 로그인 키체인을 유출하면 암호를 빠르고 저렴하게 해독해 내부의 모든 비밀 정보에 접근할 수 있으며, 이는 Apple이 올해 초 키체인을 변경한 주요 이유일 가능성이 큼.

Tahoe의 추가 비밀

  • macOS Tahoe 26.4는 거의 모든 상황에서 로그인 키체인 복사를 막음.
  • Rich Trouton은 Secure Enclave에 보관된 추가 비밀로 암호화한 결과일 수 있다고 제안했고, Jeff Johnson은 추가 비밀이 볼륨별로 다르다는 점을 관찰함.
  • 해당 비밀은 데이터 볼륨의 잠긴 디렉터리인 /var/db/SystemKeys에 저장됨.
  • 파일 기반 키체인, 특히 로그인 키체인은 암호와 보호된 엔트로피 파일을 모두 요구할 수 있으며, 이 요구가 로그인 키체인에만 한정되는 것은 아닐 수 있음.
  • 엔트로피 파일이 없으면 로그인 키체인과 일부 다른 파일 기반 키체인을 잠금 해제해 사용할 수 없음. 따라서 보호 대상 키체인을 복사하더라도 엔트로피 파일에 접근할 수 없으면 복사본을 잠금 해제할 수 없음.

로그인 키체인 복사

  • 파일 기반 키체인을 Mac이나 부팅 볼륨 사이에서 복사하려면 해당 엔트로피 파일도 대상 데이터 볼륨의 /var/db/SystemKeys에 복사해야 함.
  • 이를 위해 시스템 무결성 보호(SIP)를 비활성화하고, 다음 명령으로 키체인의 솔트를 확인해 엔트로피 파일을 식별해야 함.
  • security show-keychain-info -s path에서 path는 키체인의 전체 경로이며, 로그인 키체인의 일반적인 경로는 ~/Library/Keychains/login.keychain-db임.
  • 명령을 실행하면 해당 키체인의 암호를 입력하라는 메시지가 표시되며, 암호를 입력하지 않으면 명령이 실패함.
  • 명령은 다음과 같은 결과를 반환하며, 이때 해당 키체인의 엔트로피 파일 경로는 /var/db/SystemKeys/30993ABCECBE29D91ED95C2A3827326DB5C39B2F임.
  • Keychain "/Users/hoakley/Documents/zKeychains/login.keychain-db" no-timeout salt=30993ABCECBE29D91ED95C2A3827326DB5C39B2F
  • 모든 파일 기반 키체인에서 salt 값이 반환되지만, 엔트로피가 필요한 키체인에만 해당 이름의 엔트로피 파일이 존재함.

백업

  • 이 절차는 백업에도 적용되므로, 백업 소프트웨어는 잠긴 디렉터리에 있는 엔트로피 파일을 백업하고 사용자가 키체인을 복사하거나 복원할 때 해당 파일도 복원해야 함.
  • 마이그레이션 지원이 Mac 사이에서 정상 작동하는 로그인 키체인을 계속 복사할 수 있는 이유도 여기에 있음. 백업에서 마이그레이션할 때도 백업에 엔트로피 파일이 포함된 /var/db/SystemKeys 디렉터리가 있으면 키체인을 복사할 수 있어야 함.
  • 각 Time Machine 백업은 한동안 보호된 파일을 위한 단계를 포함해 두 단계로 진행됨. macOS 26.4부터는 데이터 볼륨 백업에 보호 디렉터리인 /var/db/SystemKeys도 포함되며, 백업 안에서도 보호됨.
  • 이 방식은 Time Machine 백업을 사용해 한 Mac에서 다른 Mac으로 마이그레이션할 때 로그인 키체인과 엔트로피 파일을 모두 복사할 수 있도록 한 것으로 보임.
  • 일부 서드파티 백업 제품의 문서를 확인했지만, 보호 디렉터리를 백업하는지 또는 로그인 키체인에 필요한 엔트로피 파일을 어떻게 복원하는지에 관한 명시적 설명은 찾을 수 없음.

핵심 사항

  • macOS Tahoe 26.4 이후의 로그인 키체인은 잠금 해제를 위해 추가 비밀 정보를 요구함.
  • 추가 비밀 정보는 보호 디렉터리 /var/db/SystemKeys에 저장된 엔트로피 파일임.
  • 로그인 키체인을 성공적으로 복사하려면 엔트로피 파일도 함께 복사해야 함.
  • 백업 소프트웨어는 보호 디렉터리를 백업하고, 엔트로피 파일이 필요한 키체인과 함께 해당 파일을 복원해야 함.
  • Time Machine은 macOS 26.4부터 엔트로피 파일을 백업하며, 마이그레이션 지원은 마이그레이션 중 필요에 따라 해당 파일을 복사함.
  • 서드파티 백업 소프트웨어를 사용한다면 엔트로피 파일을 올바르게 처리하는지 확인해야 함.
  • macOS 26.4 이후에 만들어졌지만 엔트로피 파일과 함께 저장되지 않은 오래된 로그인 키체인은 잠금 해제가 불가능하므로 삭제해도 됨.
  • macOS Tahoe 26.4는 2026년 3월 24일 출시됐으며, Apple은 정확히 6개월 뒤인 2026년 9월 24일 개발자 전용 기술 노트에서 이 변경 사항을 문서화함.

참고 자료

  • Apple의 기술 노트 TN3137: 파일 기반 키체인 백업에 관한 마지막 부분 참고.
  • Apple의 사용자 문서: 6개월 넘게 잘못된 내용이 기재된 문서임.