네트워크 보안

옥영진·2021년 3월 1일
0

네트워크

목록 보기
9/9

인증

사내 네트워크나 가정에서 사용하는 사설 네트워크에 아무나 무제한으로 접속이 가능하게 할 수는 없다. 그래서 네트워크에 접속하는 사용자를 제한하기 위해 인증이라는 방법을 사용한다. 인증은 네트워크에 접속하려는 사용자 또는 기기가 정식으로 등록됐는지 확인하는 절차이다. 인증을 통해 정식 사용자 이외에는 네트워크에 접근하지 못하도록 한다.

주요 인증 요소에는 다음과 같은 것들이 있다.

  • 사용자만 아는 정보 ex) 패스워드
  • 사용자만 가진 물건 ex) IC 카드 기능이 있는 사원증
  • 사용자의 신체적 특징 ex) 지문, 망막

암호화

네트워크 상에서 주고 받는 데이터들은 제3자에 의해 도청(유출)될 위험이 있다. 특히 인터넷 상에서 전송될 때는 그 위험이 훨씬 커진다. 따라서 데이터 도청을 방지하기 위해 전송하는 데이터를 암호화해서 전송한다.

암호화 하기 전의 데이터를 평문이라고 하는데, 이 평문을 암호화하기 위해서 암호키를 이용한다. 암호화 된 데이터를 암호키를 이용하여 다시 평문으로 되돌리는 것을 복호화라고 한다. 암호키를 이용한 암호화 기술은 주로 두 가지가 있다.

공통키 암호화

공통키 암호화는 암호화와 복호화에 같은 암호키를 이용하는 암호화 방식이다. 대칭키 또는 비밀키 암호방식이라고도 불리는데, 데이터의 암호화와 복호화의 처리 부하가 작다는 장점이 있지만, 암호키의 공유가 어렵다. 암호키가 제3자에게 유출되면 암호화해서 데이터를 전송해도 이를 유출된 암호키로 인해 복호화 되기 때문이다. 공통키 암호화 방식의 알고리즘으로는 3DES, AES가 있다.

공개키 암호화

공개키 암호화는 암호화와 복호화에 다른 암호키를 이용하는 암호화 방식이다. 공개키비밀키라는 암호키 쌍을 사용하는데, 공개키는 공개해도 상관없지만, 비밀키는 제3자에게 알려지지 않도록 관리해야 한다.
데이터를 암호화해 송신할 경우, 송신자는 수신자가 공개한 공개키를 입수하고, 공개키를 사용하여 데이터를 암호화한 후 전송한다. 수신자는 비밀키로 암호화 된 데이터를 복호화한다. 물론 비밀키로 암호화하고 공개키로 복호화할 수도 있다. 공개키 암호화 방식의 알고리즘에는 RSA 암호타원곡선 암호 두 가지가 자주 이용된다.

디지털 서명

공개키 암호화 방식을 이용하여, 데이터를 보낸 곳과 데이터가 변조되지 않았음을 확인하기 위해 디지털 서명이라는 것을 데이터에 추가하여 전송한다. 디지털 서명의 내용은 전송하는 데이터의 해시값을 비밀키로 암호화한 것인데, 해시값이란 데이터로부터 정해진 순서대로 계산하여 얻은 고정 길이의 값이다. 디지털 서명으로 송신자를 인증하는 메커니즘은 아래와 같다.

  1. 송신자가 보낼 데이터에서 해시값 생성.
  2. 생성한 해시값을 송신자의 비밀키로 암호화하여 서명 데이터 생성.
  3. 송신자는 데이터와 서명 데이터를 함께 수신자에게 전송.
  4. 수신자는 송신자의 공개키를 이용해 서명 데이터를 복호화하고, 복호화가 가능하면 송신자가 확실하게 공개키와 쌍을 이루는 비밀키를 가지고 있다는 것을 알 수 있다.
  5. 수신자는 수신한 데이터로부터 해시값 생성.
  6. 수신자가 생성한 해시값과 서명의 해시값을 비교하여 같으면 데이터가 변조되지 않았음을 알 수 있다.

디지털 인증서

공개키 암호화를 사용하기 위해서 공개키가 진짜인지 확인할 필요가 있다. 공개키가 진짜임을 보증하는 디지털 인증서로 공개키 암호화 방식을 안전하게 이용할 수 있게 하는 인프라를 PKI(Public Key Infrastructure)라고 한다. PKI에서는 인증기관(CA, Certification Authority)에서 발행한 디지털 인증서로 공개키 암호화를 안전하게 이용할 수 있도록 하고 있다. CA는 디지털 인증서를 발행하는 신뢰할 수 있는 제3자 기관을 말하며, CA가 보증하는 진짜 공개키가 인증서에 포함되어 있다.

SSL

SSL에서는 디지털 인증서로 통신 상대방이 위조되지 않은 진짜인지 확인한다. SSL로 암호화한 웹사이트는 URL 이 https://로 시작한다.
SSL 통신은 서버의 디지털 인증서를 가져와서 이를 체크하여 그 서버가 진짜 서버가 맞는지 확인한다. 디지털 인증서에는 서버의 공개키가 포함되어 있고, 공개키를 이용해서 공통키를 안전하게 배송한다. 실질적으로 통신할 때는 공개키가 아닌 공통키 암호화 방식을 사용하는데, 공개키 암호화 방식은 처리 부하가 크기 때문에 공통키를 안전하게 배송하기 위해 사용한다.

profile
안녕하세요 함께 공부합시다

0개의 댓글