본문 바로가기
Infra & Security Eng/Network & Security

암호학 기초: 대칭키와 공개키, SSH 통신 메커니즘

by 엔지니어 E 2026. 2. 10.
반응형
네트워크를 통해 데이터를 주고받을 때, 평문(Plaintext)을 그대로 보내면 해킹(스니핑, 위조 등)의 위험이 있음. 이를 방지하기 위해 사용하는 암호화 방식의 핵심 개념을 정리함

 

1. 암호화 방식의 두 축: 대칭키와 공개키

구분대칭키 (비밀키)공개키 (비대칭키)
💡 핵심 포인트: "개인키로 암호화한 것은 공개키로만, 공개키로 암호화한 것은 개인키로만 풀 수 있는 쌍(Pair)의 원리를 이용함"

 

2. 왜 평문 대신 암호문을 사용할까?

우리가 사용하는 네트워크는 누구나 접근 가능한 공용 네트워크이다.  평문으로 데이터를 보내면 다음과 같은 공격에 취약하다

도청(Sniffing): 중간에서 내용을 엿보는 행위
위조(Modification): 내용을 마음대로 수정하는 행위

이를 방지하기 위해 우리는 **세션키(Session Key)**를 사용한다. 세션키는 일회성 대칭키로, 한 번의 통신 세션이 끝나면 바로 폐기되어 보안성을 높인다

 

3. SSH 접속 시 암호화 흐름(Handshake)

SSH(Secure Shell)를 설치하고 접속할 때, 내부적으로는 공개키의 보안성과 대칭키의 속도를 모두 챙기는 하이브리드 방식을 사용한다

접속 요청: 클라이언트가 서버에 접속을 시도
공개키 전송: 서버가 자신의 공개키를 클라이언트에게 보냄
세션키 생성: 클라이언트는 통신에 사용할 **세션키(대칭키)**를 무작위로 만듬
암호화 전달: 클라이언트는 서버로부터 받은 공개키로 세션키를 암호화하여 서버에 보냄
복호화: 서버는 오직 자신만 가진 개인키로 이를 풀어 세션키를 획득함
안전한 통신: 이제 서버와 클라이언트는 공유된 세션키(대칭키)를 이용해 빠른 속도로 암호화 통신을 진행함
종료: 통신이 끝나면 사용된 세션키는 버려짐