AES는 대칭 키 암호이므로 개인/공개 키 쌍을 사용하지 않습니다. AES를 사용하면 데이터를 암호화하고 해독하기 위해 모든 액터가 동일한 키에 액세스 할 수 있어야합니다. 두 시스템에서 동일한 키에 액세스 할 수 있으면이 솔루션에 비대칭 (공개/개인) 암호화를 도입 할 필요가 없습니다.
두 시스템 모두 정적 공유 키에 영구 액세스하지 못하게하려면 하이브리드 암호 시스템을 사용할 수 있습니다. 각 메시지/레코드에 대해 임의의 AES "세션"키를 생성 할 수 있습니다. 원본 시스템에서 암호화되고 대칭 키 (AEAD 모드를 사용하거나 암호문에 인증 태그 을 추가)를 사용하여 데이터를 암호화 한 다음 수신자의 공개 키를 통해 세션 키를 암호화합니다. 이제 암호화 된 세션 키와 암호화 된 데이터를 함께 전송할 수 있습니다.받는 사람은 개인 키를 사용하여 세션 키를 해독 한 다음 데이터를 해독합니다. 단일 메시지가 손상되면 다른 레코드가 손상되지 않습니다 (수신인 개인 키가 손상되지 않은 한). AesManaged
또는 AesCryptoServiceProvider
(자세한 내용은 here 참조) 또는 RsaCryptoServiceProvider
RsaCNG
수단 .NET에서
(here 참조).
또는 ... TLS 만 사용할 수 있습니다. –
TLS는 전송 중에 데이터를 확실히 보호하지만 데이터 저장소의 지속성으로 인해 애플리케이션 계층 암호화에 대해 묻는 질문을 읽습니다. – Andy
아 "가게"라는 단어를 보지 못했습니다. –