개발서/서버의 기본

5-07 두가지 암호화 기술

nohesitation 2020. 9. 3. 22:10

이전 절에서 소개한 SSL에는 암호화를 위한 암호화키와 암호를 풀기 위한 복호키가 필요하다.

네트워크 상에서 암호화방식은 클라이언트와 서버의 암호화키, 복호키를 갖는 방식에 따라서, "공통키 암호화 방식"과 "공개키 암호화 방식"으로 나누어진다.

 

공통키 암호화 방식은 암호화키와 복호키가 같은 키를 사용하는 암호화 방식이다. 다시 말해서 클라이언트와 서버가 같은 키를 공유해서 클라이언트가 암호화키로 암호화를 하고, 서버가 암호화키와 같은 복호키로 복호화 한다. 공통키 암호화 방식은 구조가 상대적으로 단순하기 때문에 처리 부담이 크지 않지만, 클라이언트와 서버가 키를 공유해야 하기 때문에 키 배송방법에 있어서 고려해야 한다.

 

공개키 암호화 방식은 암호화키와 복호키를 다른 키로 사용하는 암호화 방식이다. 서버는 암호화키와 복호키로 짝을 이룬다. 암호화키와 복호키는 수학적인 관계로 성립되어 있어서, 암호화키로 만든 암호는 짝을 이루는 복호키로만 복호화가 가능하다. 또한 한쪽의 키로 다른 한쪽의 키를 알 수 없게 되어있다. 

서버는 암호화키를 공개키로 인터넷상에 공개하고, 복호키를 비밀키로 서버가 관리한다. 클라이언트는 공개되어 있는 공개키로 데이터를 암호화하고 서버에 전송하고, 서버는 관리하고 있는 비밀키로 복호화를 한다. 공개키 암호화 방식은 공개키로부터 비밀키를 알 수 없기 때문에 키 배송문제를 고려할 필요가 없지만, 복잡한 처리이기 때문에 처리 부담이 높다.

 

# SSL은 두가지의 암호화 방식을 조합해서 사용

위에 설명한 것과 같이 공통키 암호화 방식과 공개키 암호화 방식은 장점과 단점이 반대이다. SSL은 이 두 가지 방식을 조합해서 사용함으로써 효율을 높인다. 처음에는 공개키암호화 방식으로 서버와 클라이언트가 공유해야할 키를 교환한다. 그 후 교환한 키를 사용해서 공통키 암호화 방식으로 데이터를 주고 받는다. 공개키 암호화 방식으로 키 배송문제를 해결하고, 공통키 암호화 방식으로 처리부담 문제를 해결하는 것이다.

'개발서 > 서버의 기본' 카테고리의 다른 글

5-09 FTP 서버의 역할  (0) 2020.09.08
5-08 SSL 서버 기술  (0) 2020.09.04
5-06 SSL 서버의 역할  (0) 2020.09.02
5-05 웹 서버에서 일어나는 처리  (0) 2020.09.01
5-04 웹서버의 역할  (0) 2020.09.01