Shaun McCance
shaunm@gnome.org 2011
암호 및 기타 데이터용 보안 저장소
조성호
shcho@gnome.org 2016, 2017, 2018.

# secret

그놈에서는 사용자의 암호 및 기타 민감한 데이터를 저장할 때, 보안 키 모음 관리자로 libsecret을 활용합니다. 프로그램에서는 암호를 저장하고 접근할 때 키 모음 관리자 라이브러리를 활용할 수 있으며, 사용자는 그놈의 Seahorse 프로그램으로 암호를 관리할 수 있습니다.

키 모음 관리자에서는 각각의 키 모음에 몇가지 키 모음 항목이 들어있을 수 있는 여러가지 키 모음을 제공합니다. 키 모음 저장소의 항목은 보통 암호와 같은 데이터 일부를 저장합니다. 각 키모음은 따로따로 잠겨있으며, 사용자는 키 모음 잠금을 해제하려면 암호를 입력해야합니다. 키 모음 잠금을 풀면 키 모음의 모든 항목에 접근합니다.

키 모음 관리자에서는 어떤 프로그램에서 어떤 항목에 접근할 수 있는지 관리하여, 각각의 키 모음 항목의 접근 제어 목록을 제공합니다. 모르는 프로그램이 키 모음 항목에 접근하려 한다면 키 모음 관리자에서 사용자에게 프로그램 접근을 허용할 지 여부를 확인합니다. 이 과정을 통해 악의적인 또는 엉성하게 작성한 프로그램이 사용자의 민감한 데이터에 접근하려 하는 시도를 막아줍니다.

파일 시스템에 저장하는 키 모음 데이터는 AES 블록 암호화 방식으로 암호화하며, 항목 속성을 해싱하는 목적으로 SHA1를 사용합니다. 속성 해시를 활용하며 키 모음 관리자에서는 키 모음의 잠금을 해제하지 않아도 프로그램에서 요청한 항목을 찾을 수 있습니다. 일치하는 항목을 찾아서 접근할 때 키 모음의 잠금을 풀어둡니다.

키 모음 관리자에는 세션 키 모음도 있습니다. 세션 키 모음의 항목은 디스크에 저장하지 않으며 사용자 세션이 끝나면 사라집니다. 세션 키 모음은 현재 세션에만 활용할 암호를 저장할 목적으로 사용할 수 있습니다.

원격 서버에 접근할 때 GIO를 활용하면 키 모음 관리자의 이점을 자동으로 취할 수 있습니다. GIO에서 사용자 인증이 필요할 때마다, 언제든지 기본 키 모음 또는 세션 키모음에 암호를 저장하는 옵션을 제공해줍니다.

프로그램에서 암호를 저장하거나 사용자의 기타 민감 데이터를 저장할 경우 언제든지 libsecret의 키 모음 관리자를 활용해야합니다. 키 모음 관리자를 활용하면 사용자 데이터를 여전히 안전하게 보관하면서 사용자가 더 나은 사용 경험을 겪을 수 있게 해줍니다.

그놈 버전 3.6 전에는 gnome-keyring으로 출시했습니다. 3.6 이후에는 대신 libsecret을 사용합니다. 이 라이브러리로 그놈에서 기타 데스크톱 환경, 프로그램과 키 모음 서비스를 공유할 수 있습니다.

libsecret 참고 설명서