비대칭 키를 사용한 봉투 암호화 대 KMS
On 2월 18, 2021 by admin봉투 암호화에서는 대칭 비밀 키를 사용하여 데이터에 서명 한 다음 다른 키를 사용하여 생성 할 비밀을 암호화합니다. 암호화 된 비밀 키. 암호화 된 메시지는 암호화 된 비밀 키와 함께 패키징되어 클라이언트 / 소비자에게 전송되고 암호화 된 비밀 키를 해독하여 비밀 키를 얻은 다음 메시지를 해독하는 데 사용됩니다
두 가지 방법이 있습니다. 구현 방법 :
- 비대칭 암호화 : 생산자는 소비자 공개 키로 비밀 키를 암호화합니다. 소비자는 개인 키를 사용하여 암호화 된 비밀을 해독합니다.
- KMS (예 : AWS KMS) : 비밀 키는 KMS에 의해 암호화되며 비밀 키에 액세스해야하는 클라이언트는 KMS에 요청해야합니다. 암호 해독
KMS 접근 방식의 장점은 키 관리가 중앙 집중화되어 있으며 KMS에서 클라이언트를 제거하고 키를 순환하여 클라이언트에서 권한을 취소 할 수 있다는 것입니다.
KMS 대신 비대칭 키를 사용해야하는 이유가 있습니까?
댓글
- KMS가 유지 관리를위한 별도의 서비스이며 분산 환경에서 단일 장애 지점이된다는 사실 외에도? 질문이 " 암호화 " 질문입니까 아니면 " 물류 질문이 있습니까?
답변
KMS에 키가 있으면 읽을 수 있습니다. 메시지. KMS가 침해되면 공격자는 자신이 훔친 모든 키와 관련된 모든 메시지를 읽을 수 있습니다. 수신자 만 개인 키를 보유하는 비대칭 키는 수신자 만 메시지를 읽을 수 있도록 허용하므로 KMS 시스템을 엿보는 것에 대해 걱정할 필요가 없습니다. 개인 키가 도난 당하면 해당 키를 사용한 해당 사용자에게 보내는 전자 메일에만 해당됩니다. , 시스템의 모든 사람이 아닙니다.
답변
비밀을 어디에 저장하고 누가 액세스 할 수 있는지에 관한 것입니다. .
먼저 설명 : 혼란 스럽습니다. KMS는 비대칭 암호화 (공개 키 암호화라고도 함)를 사용하지 않습니다. 개인 키 암호화를 사용하여 봉투 암호화를 활성화합니다. 그것들은 두 가지입니다.
비대칭 암호화에서 암호화 제작자는 비밀에 액세스 할 필요가 없으며 공개 키만 있으면됩니다. 생산자는 공개 키를 사용하여 암호화하고 소비자는 해당 개인 키를 사용하여 해독합니다. 키 순환을 용이하게하기 위해 생산자는 때때로 암호화에 사용 된 공개 키를 추가하여 소비자가 암호 해독에 사용할 개인 키를 알 수 있도록합니다. 아무리 많은 데이터가 암호화 되더라도 개인 키에는 힌트가 없습니다. 암호 해독 알고리즘은 일반적으로 개인 키 암호화보다 컴퓨팅 집약적입니다.
엔벨로프 암호화에서 생산자와 소비자는 동일해야합니다 (또는 둘 다 마스터 키에 액세스 할 수 있어야합니다). 마스터 키를 사용하여 데이터 키라는 보조 키를 생성합니다. 그런 다음 마스터 키를 사용하여 데이터 키를 암호화하고 데이터 키를 사용하여 데이터 자체를 암호화 한 다음 암호화 된 데이터 키를 암호화 된 데이터에 추가합니다. 복호화 할 때 마스터 키를 사용하여 추가 된 데이터 키를 복호화 한 다음 복호화 된 데이터 키를 사용하여 데이터를 복호화합니다.
이의 장점은 마스터 키를 목적에 맞게 비용 효율적으로 저장할 수 있다는 것입니다. 하드웨어 보안 모듈을 구축하고 암호화 한 모든 데이터를 HSM에 전달할 필요없이 다른 곳에 노출하지 마십시오. HSM 내부에서 키를 생성하고 외부에 노출 될 가능성이 없도록 키를 꺼내지 않을 수도 있습니다. KMS는 클라우드 기반 HSM을 제공하며 Amazon의 물리적 HSM에 의해 지원됩니다.
마스터 키를 HSM에 보관하는 데 신경 쓰지 않는다면, 점프 서버 또는 다른 곳에 넣어 안전하게 유지하려는 자체 키를 사용하여 동일한 종류의 암호화를 수행 할 수 있습니다. 또한 “2 억 5 천만 TB 이상을 암호화하지 않는 한 봉투를 건너 뛸 수 있습니다.
예제 코드를 찾고 있다면 간단한 AES 암호화를 구현하거나 오픈 소스 프로젝트를 확인하고 싶을 수있는 봉투 암호화입니다. 각각 활용할 수있는 구현이 있습니다 …
답글 남기기