<aside> 📌 키체인
소량의 데이터를 안전하게 저장하는 방법
사용자는 안전하게 저장해야 하는 비밀들을 가지고 있다. 수많은 온라인 계정의 복잡한 비밀번호를 기억하는 것은 불가능하다. 그렇다고 비밀번호를 어딘가에 기록하는 것은 안전하지 않고 귀찮다. 일반적으로 사람들은 간단한 비밀번호를 재사용하는데 이 역시 안전하지 않다.
키체인 서비스 API는 키체인이라는 암호화된 데이터베이스에 소량의 사용자 데이터를 저장하는 매커니즘을 제공한다. 그림1을 보면 알 수 있지만 키체인 서비스는 비밀번호에만 해당되는 것은 아니다. 신용카드 정보나 짧은 메모처럼 사용자가 명시적으로 신경쓰는 비밀들을 저장하거나, 사용자가 필요로 하지만 인식하지 못하는 항목을 저장할 수도 있다. 예를 들어, 사용자는 Certificate, Key, and Trust Services로 관리하는 암호화 키와 인증서를 이용해서 보안 통신에 참여할 수 있는데 키체인에 이런 항목들도 저장할 수 있다.
키체인에 저장한 item에 프라이빗한 정보를 넣는 방법
비밀번호나 암호화 키와 같은 secret을 저장하고 싶으면 키체인 item으로 패키징해야 한다. 데이터와 함께 item의 접근성을 제어하고 검색할 수 있도록 하기 위해 공개적으로 표시되는 attributes를 제공해야 한다. 그림1과 같이 키체인 서비스는 디스크에 저장된 암호화된 데이터베이스인 키체인의 데이터 암호화와 저장(data attributes 포함)을 처리한다. 나중에 인증된 프로세스는 키체인 서비스를 사용해서 item을 찾고 데이터를 복호한다.