2017-10-24 6 views
0

나는 AES 암호화를 이해하려고 노력 해왔다. 나는 프로세스에 대한 기본적인 이해를하고 어떻게 작동하는지 알 수 없지만, 키가 비밀이라면 어떻게 안전하게 배포 할 수 있는가?AES, 키는 어떻게 배포됩니까?

"SSL 사용"이라고 표시된 게시물을 보았지만 아직 보았지만 두 당사자가 여전히 키에 액세스 할 수 있어야합니다.

RSA를 사용할 수 있다고 생각 했습니까? 그러나 현실 세계에서 어떻게 이루어 졌는지를 찾고있었습니다.

+0

누구를 서버 또는 다른 피어에 배포하고 있습니까? – zaph

+0

이 사례를 포함하여 대부분의 경우 튜토리얼 유형 질문이 너무 광범위합니다. 또한 질문의 프로그래밍 연결을 최소화합니다. –

답변

1

이것은 가장 간단한 버전이지만 제대로 작동하는 것은 아닙니다. 서버에는 클라이언트가 서버에 속한 것을 확인할 수있는 RSA 키가 있어야합니다. 일반적으로이 작업은 신뢰할 수있는 기관에서 서명 한 인증서로 수행됩니다.

  1. 클라이언트가 임의의 AES 키를 생성합니다.
  2. 클라이언트는 서버의 RSA 공개 키로 임의의 AES 키를 암호화합니다.
  3. 클라이언트가 암호화 된 AES 키를 서버로 전송합니다.
  4. 서버는 RSA 개인 키로 AES 키를 암호 해독합니다.
  5. 이제 서버와 클라이언트에 공유 AES 키가 있습니다.
1

비밀 키는 '키 교환 알고리즘'을 사용하여 분배됩니다. 일반적으로 사용되는 키 교환 알고리즘에는 Diffie-Hellman 및 RSA가 있습니다. Diffie-Hellman 알고리즘은 실제로 키 자체를 교환하지 않고 공통 키 생성을 가능하게합니다.

SSL 동안 클라이언트와 서버는 사용할 암호를 협상합니다. 암호에는 키 교환 알고리즘이 들어 있습니다. 클라이언트와 서버는 부분 키를 교환하고 대량 암호화에 사용될 공통 비밀 키에 도달합니다.