카테고리 없음

대칭키 VS 비대칭키 (공개키)

JUN0126 2022. 6. 17. 01:14

정보를 주고 받음에 있어서 보안 기능을 위한 암•복호화를 하는 대칭키, 비대칭키 라는 2가지 방식이 있습니다.

 

대칭키 란?

 - 키가 동일한 암호화 방식, 대칭(동일) 한 키를 기준으로 암•복호화

 - 속도가 빠르며, 대용량 암호화에도 적합

 - 키가 탈취 당한다면 정보도 같이 탈취될 수 있다, 보안성이 약하다

 

 

비대칭키 란?

- 개인키 + 공개키 라고도 불리며, 암• 복호화 할 떄 사용하는 키가 서로 다르게 설정하는 방식

- 서버에서 공개키를 모두에게 공개하며 공개키로 넘어온 데이터는 서버에서만 사용하는 키(개인키) 로만 복호화가 가능하여 정보를 사용할 수 있습니다.

 - 보안성이 높다

 - 데이터가 많아질 수록 속도가 느리다.

 

 

핸드쉐이크 (HandShake) 란

 - 클라이언트가 데이터를 보내고 서버가 데이터를 받고 인증서를 같이 첨부하여 클라이언트에 다시 보내서 악수하듯 무작위로 발생한 데이터를 주고 받는 행위를 뜻함

 - 클라이언트 (랜덤데이터 발송)  <- -> 서버 (랜덤 데이터 + CA 인증서) 

 - 클라이언트는 서버에서 받아 브라우저에 저장된 CA 인증서 정보를 CA 에게 보내고 CA가 개인키를 통하여 해당 데이터가 인증된 데이터인지 확인하여 준다.

 

⁎ CA (Certificate Authority)

 - 공인된 인증서인지 신뢰 검증을 해주는 인증서 발급 기관

 

 

대칭키 + 비대칭키 로 사용되는 경우

 - 핸드쉐이크 시 발생하는 무작위 데이터들을 클라이언트에서 조합하여 또다른 무작위 데이터를 공개키로 만든 후 서버와 통신할떄 새로 만든 공개키를 넘긴 후 현재 클라이언트와 연결된 서버에도 공개키를 사용함으로 써 속도가 느려짐을 방지하고 보안적인 측면도 챙길 수 있게 된다.

 

 

 

 

 

참고 : https://www.youtube.com/watch?v=H6lpFRpyl14 

https://velog.io/@gs0351/%EB%8C%80%EC%B9%AD%ED%82%A4-vs-%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%B9%84%EB%8C%80%EC%B9%AD%ED%82%A4