네트워크 보안 기술
인증
네트워크와 시스템을 이용하는 사용자 또는 기기가 정식으로 등록됐는지 확인하는 절차
정식 사용자 이외에는 접근할 수 없게 한다.
인증의 종류
- 패스워드 인증
- 물건으로 인증 (IC카드 등)
- 바이오메트릭스 인증(지문, 망막 등)
암호화
- 데이터 도청을 방지하기 위해서 암호화를 한다.
- 평문 : 암호화하기 전의 데이터
- 암호키 : 평문을 암호화하기 위한 키
- 암호문 : 평문 + 암호키로 수학적 연산을 거쳐 암호화된 데이터
- 복호 : 암호문을 평문으로 되돌리는 조작
- 암호화 알고리즘 : 암호화,복호화때 쓰이는 수학적 연산
공통키 암호 방식(=대칭키, 비밀키 암호방식)
- 암호화, 복호화할 때 사용하는 키가 동일하다.
- 공통키 암호 방식은 암호화,복호화의 처리 부하가 작다는 장점이 있다.
- 하지만 암호키의 공유가 어렵다는 단점이 있다
- ex) 3DES, AES 등이 있고, 현재는 AES가 널리 이용되고 있다.
공개키 암호 방식
- 공개키,비밀키가 있다.
- 공개키로 암호화를 할 수 있고, 비밀키로 복호화가 가능하다.
- 비밀키로 암호화하고, 공개키로 복호화 또한 가능하다.
- ex) RSA, 타원곡선 암호가 자주 이용된다.
- 공통키(비밀키), 공개키 비교
구 분 | 비밀키 암호방식 | 공개키 암호방식 |
---|---|---|
키의 관계 | 암호화 키 = 복호화 키 | 암호화 키 != 복호화 키 |
키의 수 | 단일키 | 복수키 |
키의 유형 | 비밀키 | 비밀키, 공개키 한개 |
키의 관리 | 키관리 복잡 | 디지털인증서와 제3의 신뢰자(인증기관) 필요 |
키의 전송 | 필요 | 불필요 |
관리 대상키의 수 | 많음 | 적음 |
인증,서명의 용이성 | 곤란 | 용이 |
암호화 속도 | 빠름 | 늦음 |
대표적인 암호 | DES | RSA,ElGalmal 등 |
- 공개키 암호화 비교
알고리즘 | 암호화/복호화 | 전자서명 | 키교환 | 방식 |
---|---|---|---|---|
RSA | O | O | O | 소인수 분해의 어려움 |
Rabin | O | O | O | 소인수 분해의 어려움 합성수 모듈어에 대해 제곱근을 찾기가 어렵다. |
ElGamal | O | O | O | 이산대수의 어려움 암호문의 길이가 두배가 된다. |
ECC | O | O | O | 이산대수의 어려움 타원 곡선을 이용한 암호 |
DSS | X | O | X | 이산대수의 어려움 |
Diffie-Hellman | X | X | O | 이산대수의 어려움 |
배낭 암호 | O | X | X | 배상문제의 어려움 |
디지털 서명
- 데이터 변조 여부와 데이터 송신자를 확인하기 위해서 사용
- 데이터의 해시값을 비밀키로 암호화한 것이다.
- 디지털 서명 순서!!
- 송신자가 보낼 데이터에서 해시값을 생성
- 해시값을 비밀키로 암호화해 서명 데이터를 작성
- 데이터와 서명데이터를 함께 수신자에게 전송
- 수신자는 송신자의 공개키를 이용해 서명 데이터를 복호화함 (복호화가 된다는것은 송신자 또한 대응되는 비밀키를 가지고 있다는 것이다)
- 수신자는 수신받은 데이터로부터 해시값을 생성한다.
- 생성한 해시값과 서명에 들어있는 해시값을 비교한다.
- 해시값이 같으면 데이터가 변조되지 않았음을 알 수 있다.
디지털 인증서
- 공개키 암호를 안심하고 사용하기 위해서 공개키가 진짜라는 것을 확인할 수 있다
- PKI(공개 키 인프라) : CA(인증기관)에서 공개키와 비밀키를 포함하는 인증서를 발급받아 네트워크상에서 안전하게 통신을 가능하게 하는 구조
- 디지털 인증서의 규격은 X.509가 일반적으로 이용된다
CA(인증기관)
- 공개키가 진짜라고 보증해주는 기관
SSL, 하이브리드 암호
- SSL : 디지털 인증서로 통신하는 상대방이 진짜라는것을 확인 가능
- https://로 url이 시작된다.
- 공개키+공통키 암호방식인 하이브리드 암호이다.
- 디지털 인증서를 체크한다.
- 공통키를 생성하는 기반이 되는 데이터를, 인증서에 포함된 공개키로 암호화해서 클라이언트와 서버가 안전하게 공유할 수 있게 한다.
- 공통키 암호방식으로 실제 데이터를 암호화하기만 하면 된다.
인터넷 VPN
거점 간 통신을 저비용으로 안전하게 수행할 수 있다.
WAN 구축 비용에 비하면 인터넷 접속 비용은 훨씬 저렴하다.
IPSec이나 SSL과 같은
VPN 구현 방법 1. 거점 LAN의 라우터 사이를 가상으로 연결한다.(터널링) 2. 거점 LAN 간의 통신은 터널을 경유하도록 라우팅한다. 3. 터널을 경유하는 데이터를 암호화한다. (SSL, IPSec 등)
**일반 인터넷으로 보내는 데이터는 암호화되지 않는다.**