네트워크 보안을 강화시키는 방법으로 암호 기법, 디지털 서명, 웹 보안 프로토콜, 방화벽, 프록시 서버 등을 알아봄
주요 용어
- 암호화 :
누구나 읽을 수 있는 평문을 제 3자가 읽을 수 없는 형태인 암호문으로 변환하는 과정 - 복호화 :
암호문을 평문으로 변화하는 과정 - 대치암호 :
평문의 각 글자를 다른 글자로 대치하여 암호문을 만드는 방식 - 전치암호 :
평문의 글자를 재배열하는 방식으로 문자의 위치를 바꿔서 암호문을 만드는 방식 - 스트림 암호화 :
평문과 같은 길이의 키 스트림을 생성하여 평문과 키를 비트 단위로 합하여 암호문을 만드는 방식 - 블록 암호화 :
평문을 일정한 길이의 단위(block)로 나눈 뒤, 각 블록 단위로 암호화 과정을 수행하여 암호문을 얻는 방법 - 대칭 키 암호화 :
암호화에서 사용하는 암호화와 키와 복호화에 사용하는 복호화 키가 서로 같음 암호화 방식 - 공개 키 암호화 :
암호화에 사용하는 암호화 키와 복호화에 사용하는 복호화 키가 서로 다른 암호화 방식.
암호화 키는 일반인에게 공개하는 공개키이고 복호화 키는 개인이 공개하지 않는 비밀 키임 - 공개 키 기반 구조 (Public Key Infrastructure; PKI) :
일반 사람들이 공개 키 암호화 기법을 믿고 사용할 수 있도록 공개 키 인증서를 발행하고
그에 대한 접근을 제공하는 인증서 관리 기반 구조 - 방화벽 (firewall) :
네트워크와 네트워크 사이에서 패킷을 검사하여 조건에 맞는 패킷만을 통과시키는 소프트웨어나 하드웨어를 총칭 - 프록시 서버(proxy server) :
내부 네트워크에 접속되어 있는 클라이언트를 대신하여 외부 네트워크에 접속하여 클라이언트가 요청한 통신 서비스를 제공하는 서버
암호 기법
암호 기법의 개요
- 암호화 (Encryption) :
누구나 읽을 수 있는 평문(plaintext)을 제 3자가 읽을 수 없는 형태인 암호문(chipertext)으로 변환하는 과정 - 복호화 (decryption) :
암호문을 평문으로 변환하는 과정 - 키 (key) :
암호화 키, 복호화 키
과정 : 평문 -> 암호화(암호화 키) -> 암호문 -> 복호화(복호화 키) -> 평문
암호화의 주요 기능
- 전달 과정의 기밀성 보장
- 정보의 무결성 보장
- 송신자와 수신자의 정당성 보장
- 네트워크 보안의 5가지 요구사항
- 데이터의 기밀성 보장
- 데이터의 무결성 보장
- 정당성 보장 : 실체 인증, 데이터 인증, 부인 방지
암호화 기술
암호화 기술 - 분류
- 동작 형태 :
대치 암호, 전치 암호, 혼합 암호, 대수화 암호 - 평문의 처리 방법 :
스트림 암호화, 블록 암호화 - 암호화 키 :
대칭 키 암호화, 공개 키 암호화
동작 형태
- 대치 암호 (치환 암호; substitution cipher)
- 메세지의 각 글자를 다른 글자로 대치하는 방식
- 예 : Caesar 암호
- 전치 암호 (전위 암호; transposition cipher)
- 평문의 글자를 재배열하는 방식 (문자의 위치를 바꿔 암호문을 작성)
- 평문의 글자를 재배열하는 방식 (문자의 위치를 바꿔 암호문을 작성)
- 혼합 암호 (product cipher)
- 대치와 전치 두 방법 모두 사용하는 방식
- 예 : LUCIFER, ENIGMA, ABFGVX, DES 등
- 대수적 암호 (algebraic cipher)
- 각 글자를 숫자로 바꾸어 수학적으로 처리하는 방식
- 예 : 순환잉여검사 (CRC), Vernam 암호 방식
평문 처리 방법
- 스트림 암호화 (stream cipher [state cipher] encryption)
- 평문과 같은 길이의 키 스트림을 생성, 평문과 키를 비트 단위로 합하여 암호문을 얻는 방법
- 평문을 한 번에 한 비트씩, radom하게 생성되는 키 스트림과 XOR 연산으로 합하여 전송함
- 블록 암호화 (block cipher [state cipher] encryption)
- 평문을 일정한 길이의 단위(block)으로 나눈 뒤, 각 블록 단위로 암호화 과정을 수행하여 암호문을 얻는 방법
- 예 : LUCIFER, DES
- 비교
암호화 키
- 대칭 키 암호화 (symmetric key encryption)
- 암호화 키 = 복호화 키
- 유사어 :
- 공통 키 (common key) 암호화
- 비밀 키 (secret key) 암호화
- 관용 암호화 (conventional encryption)
- 장점 :
- 구현이 용이
- 실행 속도가 빠름
- 단점 :
- 키 분배 및 관리가 어려움
- 인증과 송수신 부인 방지가 보장되지 않음
- 에 : RC2, RC4, RC5, IDEA, DES, Triple DES, AES
- DES (Data Encryption Standard)
- 대칭 키를 사용하는 블록 암호화 방식
- IBM에서 개발한 LUCIFER의 확장된 형태,
- 평문의 한 블록(64 비트)을 공통 키(54 비트)를 이용, 전치, 대치, XOR 연산 등을 16회 반복하여 암호문 한 블록(64 비트)을 완성함
- AES (Advanced Encryption Standard)
- 공개 키 암호화 방식 (public key encryption)
- RSA 암호화 알고리즘
- 가장 대중화된 공개 키 암호화 방식
- 2 개의 큰 소수 p, q를 구하고, 두 소수의 곱 n을 구해 사용하는데, 이 암호화 방식의 안전도는 n의 소인수 분해 난이도에 종속됨
- 장점
- 공통 키 암호화 방식의 키 분배 문제 해결
- 디지털 서명 기능 (부인 봉쇄 가능)
- 단점
- 구현의 어려움
- 처리 속도가 느림
- RSA 암호화 알고리즘
키 관리
공개 키 관리
- 공개 키는 공개되므로 위/변조가 가능
- 공개 키 인증서 (certificate)
- 공개 키를 인증하는 전자적 증명문서
- 인증 만기일, 인증서 발급기관 이름, 일련번호, 인증서 발급 기관의 디지털 서명
- 인증서의 형식은 ITU-T X.509 표준에 따름
공개 키 기반 구조
- Public Key Infrastructure (PKI) :
공개 키 인증서를 발급하고 사용할 수 있는 인증서 관리 구조 - 인증기관 (Certificate Authority; CA) :
일반인에게 개인 키와 공개 키를 부여하고,
인증서를 통해 상대방의 공개 키를 제공하는 서비스 기관 - 인증서 :
- 기재된 통신 객체 (개인, 기관, 컴퓨터)의 신분 보증
- 인증기관의 디지털 서명이 포함되어 인증기관의 개인 키 없이는 위/변조 불가능
디지털 서명 (digital signature)
디지털 서명의 개요
- 공개 키 암호화 방식에서의 메세지 암호화는
개인 키를 이용한 메세지 작성자만이 할 수 있으므로
이를 이용하여 메세지릐 작성자 본인을 알리는 서명을 작성함 - 서명 알고리즘 및 증명 알고리즘
디지털 서명의 유효성
- 디지털 서명의 유효성을 위한 5가지 조건
- 서명자 인증 (user authentication) :
디지털 서명의 서명자를 불특정 다수의 사람들이 검증할 수 있어야 함 - 부인 불가 (non-repudiation) :
서명자는 서명 이후 서명 사실을 부인할 수 없어야 함 - 변경 불가 (unalterable) :
서명한 문서의 내용은 변경할 수 없어야 함 - 재사용 불가 (not reusable) :
어느 한 전자문서의 디지털 서명을 다른 전자문서의 디지털 서명으로 사용할 수 없어야 함 - 위조 불가 (unforgeable) :
적법적인 서명자만이 디지털 서명을 할 수 있어야 함
- 서명자 인증 (user authentication) :
웹 보안 프로토콜
웹 보안 프로토콜 분류
- 응용계층 프로토콜
- 이메일 보안 : PGP, PEM, S/MIME
- HTTP 보안 : S-HTTP; Secure HTTP
- 원격 로그인 보안 : SSH; Secure Shell
- 전송계층 프로토콜
- SSL; Secure Socket Layer
- TLS; Transport Layer Security
- 네트워크계층 프로토콜
- IPSec; Internet Protocol Security
응용계층 웹 보안 프로토콜 - 이메일 보안
- PGP; Pretty Good Privacy
- 공개 키 암호화 방식 사용
- 기능
- 기밀성 : 제 3자는 이메일 내용을 볼 수 없음
- 메세지 인증 : 메세지가 위/변조 되지 않았음을 인증
- 사용자 인증 : 이메일의 발신자가 누구인지 확인
- 송신자 부인 방지 : 이메일 발송 부인의 방지
- PEM; Privacy Enhanced Mail
- IETF (Internet Engineering Task Force)에서 표준으로 제정한 공개 키 암호화 방식의 이메일 보안 방식
- 표준으로 제정되었으나 실제로 활용되지 못함
- S/MIME (Secure/Multipurpose Internet Mail Extension)
- MIME으로 캡슐화 된 이메일에 대해 공개 키 암호와 디지털 서명을 제공해주는 이메일 보안 표준 프로토콜
- 공개 키 암호화 방식, RSA 암호 방식을 이용
전송계층 웹 보안 프로토콜 - SSL
- Secure Socket Layer
- 웹 페이지 보안 프로그램으로 대부분의 웹 브라우져가 지원해 줌
- Netscape Communication사에서 개발한 de facto standard
- http 외에도 ftp, SMTP, Telnet 등의 응용에도 적용 가능
- SSL이 적용된 웹 페이지의 URL은 https로 시작되며 보안 포느 443을 사용
전송계층 웹 보안 프로토콜 - TLS
- Transport Layer Security
- SSL을 계승한 전송 계층의 보안 프로토콜
- TLS의 상위 계층의 응용 프로토콜과는 독립적이기 때문에 어떤 응용 프로그램도 TLS를 이용하여 안전한 통신 가능
네트워크계층 웹 보안 프로토콜 - IPSec
- IPSec (Internet Protocol Security)
- IP 게층 (네트워크 계층)에서 동작하는 보안 프로토콜
- Authentication Header; AH : 송신자의 인증
- Encapsulation Security Payload; ESP : 송신자의 인증과 데이터 암호화
- IP 계층에서의 데이터 기밀성, 데이터 무결성, 데이터 인증 등의 보안 서비스 제공
방화벽과 프록시 서버
방화벽의 개요
네트워크와 네트워크 사이에서 패킷을 검사하여 조건에 맞는 패킷만을 통과시키는 (packet filtering) S/W, H/W를 총칭
방화벽의 종류
- 배스천 호스트; bastion host
- 스크리닝 라우터; screening router
- 이중 홈 게이트웨이; dual-homed gateway
- 2개 이상의 네트워크에 동시에 접속된 Bation host
- 스크린 호스트 게이트웨이; screened host gateway
- 스크리닝 라우터와 스크린 호스트(bation host, dual-homed gateway)를 혼합한 형태의 방화벽
- 스크린 서브넷; screened subnet
- 외부 네트워크와 내부 네트워크 사이에 DMZ 역할을 하는 완충 지역 개념의 서브넷
프록시 서버의 개요
- 내부 네트워크게 있는 Client를 대신하여 인터넷에 접속하고
Client가 요청한 통신 서비스를 Client가 요청한 통신 서비스를 다시 Client에게 제공해 주는 서버 - 동작 절차
- Proxy server는 client의 요청에 따라 외부 서버에게 서비스 요청
- 외부 서버는 proxy server에게 요청한 서비스 전달
- Proxy server는 전달 받은 서비스를 client에게 전달
프록시 서버의 기능
- 안정성 :
사용자 인증 기능, 서비스 이용 제한 등의 기능을 proxy server에 두면
client는 일괄적 보호를 받음 - 익명성 :
외부 서버에 접근하는 것은 proxy server이므로,
client의 고유정보가 노출될 가능성이 감소함 - 신속성 :
사용자가 열람한 웹 사이트의 정보를 캐시에 임시적으로 보관해 놓는데, 이를 이용하면 client가 동일한 웹 사이트에 접속하는 경우 신속하게 할 수 있음
요약
- 암호화란 누구나 읽을 수 있는 평문을 권한이 없는 제 3자가 알아볼 수 없는 형태로 재구성하는 과정을 의미,
암호화의 역과정으로 암호화 평문으로 복원하는 것을 복호화라고 함 - 키의 종류에 따른 암호화 방식으로는 DES로 대표되는 대칭 키 암호화 방식과 RSA로 대표되는 공개 키 암호화 방식이 있음
- 디지털 서병은 네트워크상에서 문서나 메세지를 송수신할 때 디지털 문서에 서명자 인증, 문서의 위/변조 방지, 송신 부인 방지 등의 기능을 제공하는 암호화 기술을 사용하여 서병하는 방법
- 인터넷 보안을 위해 사용되는 주요 기술로는 웹 보안 프로토콜을 사용하는 방법, 방화벽을 사용하는 방법, 프록시 서버를 사용하는 방법이 있음
- 방화벽은 네트워크와 네트워크 사이에 송/수신 되는 패킷을 검사하여 조건에 맞는 패킷들만 통과시키는 소프트웨어나 하드웨어를 총칭함
- 프록시 서버는 내부 네트워크에 있는 클라이언트를 대신하여 인터넷에 접속, 클라이언트가 요청한 통신 서비스의 결과를 클라이언트에게 제공하는 서버임
출처 : 방송통신대 강의 자료실 정보통신망 강의록
'Computer Science > Network' 카테고리의 다른 글
네트워크 보안 - I (0) | 2022.06.12 |
---|---|
LAN; 근거리 통신망 - II (0) | 2022.06.12 |
LAN; 근거리 통신망 - I (0) | 2022.06.12 |
TCP/IP - III (0) | 2022.06.12 |
TCP/IP - II (0) | 2022.06.12 |