Skip to content

비대칭키 암호화 (공개키 암호화)

  • ssh로 서버를 접속하기 위해 password를 입력하거나 사전에 준비된 키를 통해 서버에 접속합니다.
  • 이때 사용하는 SSH-Key 형식이 바로 비대칭키 입니다

Why 비대칭키?

왜 비대칭키를 사용할까요?

  • 대칭키를 사용할 경우 양쪽다 같은 키를 배포해야합니다
    • 암호화에 쓸 키를 서로 공유해야 하는데, 이 키를 어떻게 안전하게 주고받을지 문제가 생김.
    • 이 키를 전송하는 과정에서 해커가 가로채면 > 보안 시스템 무너짐.

비대칭키 방식은 공개키개인키를 지니고 있습니다 (그래서 공개키 암호화형식이라고도 함.)

비대칭키 플로우

ssh로 서버에 접속할 때, 해당 플로우 외에도 사전 작업이 존재하지만 본 글에서는 제외.

  1. 클라이언트는 개인키와 공개키 쌍을 미리 생성하고, 서버에 공개키를 등록해 둡니다.
  2. 클라이언트가 접속을 시도하면, 서버는 무작위 Challenge 데이터를 생성하여 클라이언트에게 전달합니다.
  3. 클라이언트는 Challenge 데이터를 자신의 개인키로 서명하여 서버에 전달합니다.
  4. 서버는 클라이언트가 등록한 공개키로 서명을 검증하여, 클라이언트의 신원을 확인합니다.

어떻게 다른키로 암호화 한 것을 복호화 할 수 있을까?