본문 바로가기
프로그래밍/TCP IP

[TCP/IP] 네트워크 보안

by yonmoyonmo 2022. 1. 16.

이전 포스팅 : https://wonmocyberschool.tistory.com/101

 

[TCP/IP] 네트워크 인터페이스 계층

이전 포스팅 : https://wonmocyberschool.tistory.com/100?category=965066 [TCP/IP] 인터넷 계층과 라우팅 이전 포스팅 : https://wonmocyberschool.tistory.com/99?category=965066 [TCP/IP] 트랜스포트 계층..

wonmocyberschool.tistory.com

네트워크 보안


공유 키 암호화

하나의 키로 암호화, 복호화 한다. 처리가 간단하고 암호화, 복호화 하는 속도가 빠르다. 다만 키를 안전하게 공유하는 방법이 다소 어려울 수 있다. 키 자체가 유출될 수도 있기 때문이다.

공개 키 암호화

암호화를 하는 키와 복호화를 하는 키를 가각 만들어 한 세트로 관리하는 방식이다. 한쪽 키로 암호화한 것은 다른 한 키로만 복호화 할 수 있다. 두 개의 키 중 하나는 자신이 가지고 다른 하나는 통신 상대에게 나눠주게 된다. 이 때 자신이 가지는 키를 비밀 키 혹은 개인 키라고 하고, 다른 사람에게 공개하는 키를 공개 키라고 한다.

전자인증서

전자 인증서는 인증 기관(CA, Certificate Authority)에 요청하여 받을 수 있다. 발급 받은 전자 인증서 안에는 공개 키와 인증 기관의 전자 서명이 포함되어 있다. 이 전자 서명은 인증 기관이 공개 키의 소유자를 보증하는 역할을 한다. 이 인증서를 가진 사람은 증명서에 포함된 공개 키를 사용해서 암복호화를 할 수 있게 된다.

전자 서명

전자 서명은 데이터 내용이 위변조되지 않았다는 것과 누가 보낸 것인지를 보증하는 역할을 한다. 전자 서명을 만들기 위해서는 원본 데이터의 해시 값을 구한 후, 이것을 공개 키가 아닌 개인 키로 암호화 하면 된다. 개인 키로 암호화한 데이터는 공개 키로 복호화할 수 있다. 전자 증명서에 포함되는 공개 키로 전자 서명을 복원한 후, 메시지 다이제스트가 일치하는지 확인하여 위변조되지 않았다는 것을 증명할 수 있다.

공개 키 기반 구조(PKI, Public Key Infrastructure)

공개 키나 전자 인증서 등의 보안 인프라를 통틀어 공개 키 기반 구조라고 한다.

S/MIME

이메일을 안전하게 주고받는 방법이다. 이메일을 주고받는 프로그램이 S/MIME을 지원하고 통신 쌍방이 전자 인증서를 가지고 있는 경우에 사용할 수 있다. 이메일을 암복호화할 때는 공개 키 방식과 공유 키 방식을 둘 다 조합해서 사용한다.

SSL/TLS

SSL(Secure Sockets Layer), TLS(Transport Layer Security)는 서버와 클라이언트 사이의 통신 구간에 대해서 보안 수준을 높이기 위한 프로토콜이다. 인증 기관에서 발행된 서버 인증서를 사용해서 서버를 증명하고, 통신 구간을 암호화하며, 데이터 위변조를 막는다. SSL/TLS를 사용한 보안 프로토콜 중 대표적인 것은  HTTPS다.

SSL은 넷스케이프 커뮤니케이션즈가 개발하였고, IETF(Internet Engineering Task Force)는 이것을 TLS로 표준화했다. TLS이 기존의 SSL을 대체하였지만 SSL이라는 이름이 폭넓게 사용된 탓에 TLS대신 SSL이라 부르는 경우가 많다. SSL이라고 최근에 도입했다면 사실 TLS일 것이라 생각하면 된다고 한다.

SSH

SSH(Secure Shell)는 공개 키와 공유 키를 조합한 방식으로 통신을 암호화한다. 서버나 클라인트가 만든 공개 키를 사용한다. 패스워드 인증이나 공개 키 인증을 사용할 수 있다. 공개 키 인증 방식에서는 클라이언트 측에서 공개 키를 만든 후에 그 키를 미리 접속할 서버에 등록해 두어 인증에 사용한다. 패스워드 인증 방식에서는 클라이언트에서 서버에 접속 요청을 하면 서버가 공개키를 보내준다. 클라이언트에서 공유키를 생성해 공개키로 암호화하여 서버에 보내고 서버에선 개인 키로 복호화 한다. 양 쪽에 이제 공유키가 있으니 공유키로 암호화한 패스워드를 통해 접속할 수 있게 된다.

방화벽

외부로부터의 접근을 차단할 때 사용한다. 허가된 통신 외에는 모두 차단한다. 방화벽은 접속을 허가하거나 차단하기 위해 패킷 내의 정보를 확인한다. 방화벽이 패킷 정보를 점검하는 계층에 따라 세 가지 유형으로 분류된다.

패킷 필터 : IP 어드레스나 포트 번호를 보고 제어

서킷 레벨 게이트웨이 : 통신 쌍방을 직접 연결하지 못하게 하고 중간에서 통신을 중계함.

애플리케이션 게이트웨이 : 애플리케이션 계층에서 다루는 URL이나 텍스트 정보를 보고 판단.

가정용 초고속 인터넷 라우터도 방화벽 역할을 한다. 특별히 설정을 바꾸지 않는 한 외부에서 시작한 통신을 허용하지 않는다.

무선 LAN의 보안

전파로 통신하는 무선랜에서는 도청을 막기 위해 보안 관련 사항이 규격으로 정해져 있다. WEP, WPA 등이 있는데 새로 나온 기술일 수록 보안 강도가 높고 이전 방식을 대체한다. 요즘은 WPA2인가 뭔가가 제일 짱이라고 한다. 자세한 내용은 스킵.

외에도 VPN(Virtual Private Network)등을 사용하여 특정 구간 내의 통신 전체를 안전하게 만들 수도 있다.


댓글