Engineering
Secure Key Manager 서비스 소개 (TOAST Service 들여다 보기)
2020년 5월 4일
원문에서 보기 ↗SecureKey Manager란 ?
지난 12월 말에 Secure Key Manager 서비스가 새롭게 출시되었습니다. 사용자의 중요 데이터(대칭키, 비대칭키, 기밀 데이터)를 안전하게 관리하고 사용자가 설정한 인증 방법을 통해 접근을 제어할 수 있는 서비스입니다. 정보보호관리체계(ISMS)인증 심사의 요구사항인 개인정보 암호화 키를 물리적으로 분리 보관하여야 한다는 요건을 만족시키기 위한 고객사/ 개발자를 위한 서비스입니다.
안정적인 키 관리 구조
Secure Key Manager는 사용자 데이터를 안전하게 보관하기 위해 루트키와 시스템키라는 두 개의 암호키를 내부적으로 사용합니다. 루트키는 시스템키를 보호하기 위해 사용하며 시스템키는 사용자 데이터를 보호하기 위해 사용합니다. 시스템키는 루트키로 암호화해서 Secure Key Manager 시스템키 관리 서버에 저장합니다. Secure Key Manager 서버는 서비스를 시작할 때 인증 과정을 거쳐서 Secure Key Manager 시스템키 관리 서버로부터 암호화된 시스템키를 가져옵니다. 루트키를 사용해서 복호화하면 시스템키 처리 모듈이 시스템키를 사용할 수 있는 상태가 됩니다. Secure Key Manager에 저장한 사용자 데이터를 비정상적인 방법으로 접근하려면 물리적으로 분리된 세 개의 시스템에서 루트키, 시스템키, 사용자 데이터를 모두 획득해야 합니다.
-그림1-
SecureKey Manager가 제공하는 기능
키 데이터 관리
- 기밀 데이터 등록, 관리, 조회
- 대칭키 생성, 관리, 회전, 데이터 암/복호화
- 비대칭키 생성, 관리, 회전, 데이터 서명/검증
데이터 접근 제어
- IPv4 주소를 사용한 데이터 접근 제어
- MAC 주소를 사용한 데이터 접근 제어
- 인증서를 사용한 데이터 접근 제어
접근 이력 확인
- 저장된 중요 데이터에 누가 언제 접근했는지 확인할 수 있는 기능
기밀 데이터
데이터베이스 접속 정보, API 호출에 사용하는 앱키 등 클라이언트가 직접 관리할 경우 보안 위험에 노출될 수 있는
데이터를 관리하는 기능을 제공합니다.
사용자는 32KB 이하의 텍스트 데이터를 기밀 데이터로 등록할 수 있습니다.
대칭키
사용자 대칭키를 사용해서 32KB 이하의 텍스트 데이터를 암/복호화할 수 있으며 API를 사용한 데이터 암복호화 기능에 사용합니다.
애플리케이션이 처리하는 모든 데이터를 Secure Key Manager API로 암/복호화하면 성능 및 비용 문제가 발생할 수 있습니다.
이러한 상황에서 일반적으로 사용하는 해결책은 봉투 암호화(envelope encryption) 기법입니다.
봉투 암호화는 암호화 대상 데이터를 암호화할 때 사용한 암호키만 외부의 다른 암호키로 보호하는 처리 방식입니다.
데이터는 애플리케이션이 자체적으로 관리하는 로컬 암호키를 사용해서 암호화하고,
로컬 암호키는 Secure Key Manager API로 암호화해서 보관합니다.
데이터 복호화가 필요하면 암호화된 로컬 암호키를 Secure Key Manager API로 복호화해서 데이터 복호화에 사용합니다.
비대칭키
사용자 대칭키를 사용해서 256Byte 이하의 텍스트 데이터를 텍스트 데이터를 서명/검증할 수 있습니다.
API를 사용한 데이터 서명 / 검증 기능에 사용합니다.
SecureKey Manager 설정
키 저장소 생성
SecureKey Manager는 키 저장소 단위로 인증 정보와 중요 데이터를 관리합니다. 키 저장소 탭에서 키저장소를 추가합니다.
-그림2-
위와 같이 이름과 설명을 입력하고 한 개 이상의 인증 방법을 선택 한 후 추가를 클릭하면 키 저장소가 생성됩니다.
-그림3-
키 저장소목록에서 키 저장소를 클릭하면 해당 저장소내에 관리되는 키, 인증 정보 관리 탭을 확인할 수 있습니다. 먼저 제일 중요한 키 관리 탭에서 서비스 A에 필요한 키, 중요 데이터를 키 생성 버튼을 통해 추가합니다.
-그림4-
인증 정보 관리
Secure Key Manager에서 생성한 키는 인증에 성공한 클라이언트만 사용할 수 있습니다. 클라이언트 인증에 사용하는 인증 정보는 IPv4 주소 관리, MAC 주소 관리, 인증서 관리 메뉴에서 등록합니다.
IPv4 주소 관리 / MAC 주소 관리 / 인증서 관리
IPv4 주소는 클라이언트가 Secure Key Manager에 접속할 때 사용하는 IPv4 주소를 입력해야 합니다. 추가한 IPv4 주소는 아래 화면에서와 같이 IPv4 주소 관리 화면에 표시합니다. 키 저장소 생성 시 인증 방법을 선택해야 해당 인증 등록 정보가 접근 제한에 활용됩니다. 등록되어야 할 클라이언트가 많은 경우/ 관리해야 할 서버가 많은 경우는 인증서를 통해 빈번한 인증 정보 수정없이 동일 인증서를 통해 접근할 수 있습니다.
-IP 주소 관리 -
-MAC 주소 관리 -
접근 이력 확인
고객의 중요 키 정보에 접근하려는 모든 내역은 별도의 접근 이력에 남게 됩니다. 불필요한 접근이 있었는지 정상적인 요청일 경우 어떤 이유로 실패했는지 등을 사용 결과 필드를 통해 확인할 수 있습니다. 
사용자 가이드
다음 Toast SecureKey Manager 사용자 가이드에서 상세한 정보를 확인할 수 있습니다. https://docs.toast.com/ko/Security/Secure%20Key%20Manager/ko/overview/