대칭키 vs 공개키

codeing999·2022년 8월 19일
0

Computer Science

목록 보기
1/2

대칭키

  • 양쪽이 동일한 키를 나눠갖고 이 키로 암호화한 원문은 이 키를 가진 사람만이 풀 수 있다.
  • 따라서 중간에 암호화된 내용이 탈취 당하여도 그 사람은 키를 갖고 있지 못하기 때문에 원문이 들키지 않고 안전하다.
  • 기본적임 암호화 방식으로 고대에서부터 지금까지 널리 쓰였다.
  • 그러나 동일한 키를 공유하기 위해서 처음에 한번은 키를 전송해야하는데 이 때 탈취당하는 문제 즉, 키 분배에서의 문제가 있음.

공개키

  • 대칭키의 키 분배문제를 해결하기 위해 1970년대 새로 나온 암호화 방식.

  • 한 사용자는 두개의 키(공개키와 비밀키)를 갖는데, 공개키로 암호화한 원문은 비밀키로만 복호화할 수 있음. 반대로 비밀키로 암호화한 것은 공개키로만 복호화 할 수 있음.

  • 이 중 하나의 키는 공개해서 다른 사람들이 그것으로 암호화해서 자신에게 보내게 하는데 이 키가 공개키. 이 공개키는 누구나 알고 있지만 그것을 복호화 할 수 있는 것은 그것의 비밀키를 가진 한 사람 뿐이므로 안전하다.

  • 공개키는 사용자 인증도 할 수 있는데, A라는 사람이 자신의 비밀키로 암호화해서 보내면 그것을 받은 사람은 A의 공개키로 그것이 열린다면 이것은 A가 암호화해서 보낸 것이구나하고 A에게서 온 것임을 인증할 수 있게 됨.

  • 대신 A가 뿌린 공개기카 A의 것인지 확인할 수 있어야 함. 이 문제는 CA라는 신뢰할 수 있는 기관에게 맡김.

  • 클라이언트와 서버를 신뢰하기 위해서 핸드쉐이크 과정을 거치는데 클라이언트와 서버가 무작위 데이터를 주고받는데 이 때 서버는 인증서를 같이 보냄.

  • 인증서란 CA의 개인키로 암호화되었는데 이것이 CA의 공개키로 풀린다면 믿을 수 있는 CA가 서버를 인증해 준것이라고 판단.

  • 서버가 CA와 함께 자신의 공개키를 주었으므로 이제 그것으로 서로 통신

  • 그러나 공개키방식은 컴퓨터에 부담이 크기때문에 이후에는 공개키방식과 대칭키 방식을 혼용해서 사용.

  • 대칭키의 키분배 문제를 분배 시에 공개키방식을 써서 해결하고, 공개키의 오버헤드는 이후 대칭키로 해결하는 것.

  • 아까 둘이 보낸 무작위 데이터를 가지고 둘이 대칭키를 만드는 것.

profile
코딩 공부 ing..

0개의 댓글