RangA 2023. 6. 3. 00:44

04. 네트워크 보안 기술

01. SSL

1) SSL(Secure Socket Layer)

  • 웹 서버와 웹 브라우저에서 전달되는 데이터를 안전하게 송수신할 수 있도록 미국의 넷스케이프사가 개발한 프로토콜
  • SSL은 서버와 클라이언트 간의 키 교환 방법을 제공함
  • 현재의 웹 서비스에서 SSL을 위해 제공되는 인증 구조는 대부분 인증 기관과 사용자들 간에 스타(Star) 형태
  • 넷스케이프, 인터넷 탐색기 등의 웹 브라우저는 SSL 접속을 위해 다수의 인증 기관들에 대한 인증서 정보를 갖고 있음
  • SSL의 암호화 표준 방식은 미국의 보안 업체인 RSA사의 방식을 채택하고 있음
  • RSA사의 암호화 체계는 40비트와 128비트 키를 사용함
  • 우리나라 금융 사이트의 대부분은 40비트 암호화 방법을 사용하기 때문에 보안 기능이 떨어짐
  • SSL은 전송 계층인 TCP의 지원 아래에 세션 계층에서 동작함
  • SSL은 기밀성, 무결성, 인증은 지원하지만 부인방지는 제공하지 않으며 전자서명 방식으로 제공할 수도 있음

2) SSL의 계층

  1. SSL Handshake Protocol : 암호 알고리즘의 결정, 키 분배 방법, 서버와 클라이언트의 인증을 수행하기 위한 프로토콜(보안 속성 협상을 담당함)
  2. Alert Protocol : 수행 중에 발생하는 오류 메시지를 처리하는 프로토콜
  3. Change Cipher Spec Protocol : 암호화 알고리즘과 보안 정책을 조절하는 프로토콜
  4. SSL Record Protocol : 하위 계층에 실질적인 서비스를 제공하는 프로토콜로 전달 메시지를 압축하여 TCP 패킷으로 변환하고 암호화 및 무결성을 보장하기 위한 인증을 수행하는 프로토콜(메시지 압축 및 암호화를 담당함)

3) SSL의 동작 순서

  1. 클라이언트는 SSL로 암호화된 페이지를 요청함
  2. 서버는 공개키를 인증서와 함께 클라이언트에게 전송함
  3. 클라이언트는 인증서가 CA로부터 서명된 유효한 것인지 확인함
  4. 클라이언트는 공개키를 사용해서 랜덤 대칭 암호화 키를 비롯한 URL, HTTP 데이터들을 복호화함
  5. 서버는 요청 받은 URL에 대한 응답을 클라이언트로부터 받은 랜덤 대칭 암호화 키를 이용하여 암호화한 후 클라이언트에게 전송함



02. IPSec(IP Security)

1) IPSec

  • IP 패킷의 보안 프로토콜로 패킷을 제거하거나 삽입을 불가능하게 하는 보안 기술
  • 인터넷에서 이용되고 있는 IP 프로토콜은 패킷 교환망에서 단순히 데이터의 신뢰성 있는 전송만을 염두에 두고 개발한 것이기 때문에 IP Spoofing이나 IP Sniffing과 같은 보안 허점이 생겨났는데, 이를 해결하기 위한 방안으로 등장함
  • IPSec은 인터넷 프로토콜의 설계 시 문제점인 IP Spoofing(스푸핑), IP Sniffing(스니핑) 등에 대한 취약점 때문에 개발되었다고 볼 수 있음
  • IPSec은 IP에 보안 기능을 제공하기 위하여 IETF에 의해 표준화되었고, 인증, 암호화, 무결성, 키 교환 등의 기능을 제공함
  • IPSec은 네트워크 계층에서 동작함
  • IPSec은 인터넷 패킷을 대상으로 작업하는 보안 기술으므로 양방향 모두에게 적용됨

2) IPSec의 보안 프로토콜 구조

  1. 인증 헤더(AH : Authentication Header)
    • 패킷의 무결성을 위해 송신자의 인증을 허용함
    • 단말과 라우터 간의 IP 패킷에 대한 송신 인증 및 무결성 서비스를 제공함
  2. 보안 페이로드 캡슐화(ESP : Encapsulating Security Payload)
    • IP 패킷의 비밀성을 위해 송신자의 인증 및 데이터 암호화를 지원함
    • ESP는 데이터의 비밀성을 제공하는데, 암호화되어 있지만 인증되지 않은 데이터 스트림에 대한 공격을 막기 위해 AH의 모든 기능이 포함되어 있음
    • IP 데이터그램에서 제공하는 선택적 인증과 무결성, 기밀성 그리고 재전송 공격 방지 기능을 함
    • 터널 종단 간에 협상된 키와 암호화 알고리즘으로 데이터그램을 암호화함
  3. 보안 집합(SA : Security Association)
    • IPSec의 보안 종합키를 관리하는 프로토콜

3) IPSec의 전송 모드와 터널 모드

  1. 전송 모드(Transport mode)
    • 단말과 단말 간에 설정되며 IP 패킷의 페이로드 부분을 보호함
    • 패킷 데이터 부분만 암호화하므로 기존 패킷 정보 앞에 IPSec 헤더 정보가 추가됨
  2. 터널 모드(Tunnel mode)
    • 라우터와 라우터 간에 설정되며 inbound IP 패킷 전체에 대해서 IPSec AH 또는 ESP 프로토콜을 적용함
    • 패킷 전체를 데이터로 취급하고 암호화하여 새로운 IP 헤더를 추가함

4) IKE(Internet Key Exchange) 프로토콜

  • AH, ESP와 함께 암호화 키를 관리, SA를 협의하기 위해 애플리케이션 계층에서 사용하는 프로토콜
  • 두 컴퓨터 간의 보안 연결 설정을 위해 사용함
  • 인터넷 암호키 교환의 표준 프로토콜로 RFC 2409에 규정되어 있으며 주로 IPSec을 암호화하는 데 사용함

5) ISAKMP(Intetnet Security Association & Key Management Protocol)

  • IPSec의 일부로서 통신 당사자가 서로 인증해서 암호키를 교환하기 위한 통신 규약
  • 어떤 인증 알고리즘, 암호화 알고리즘, 암호키 교환 방식을 사용할 것인지 등의 보안 수단을 서로에게 알리기 위한 메시지 형식



03. S-HTTP

1) S-HTTP(Secure-HyperText Transfer Protocol)

  • 1994년 Rescorla와 Schiffman에 의해 개발된 HTTP 프로토콜의 확장 개념
  • HTTP에 보안 기능을 부가 하기 위한 통신 규약으로 WWW를 이용할 때 웹 페이지의 데이터를 안전하게 주고 받을 수 있게 만든 프로토콜
  • 기존의 HTTP에 인증, 기밀성, 무결성, 부인방지 기능 등을 확장하였음
  • S-HTTP 메시지 내에는 내용의 유형을 나타내는 라인과 일반적인 암호 구현을 나타내는 라인이 존재함
  • 옵션형 헤더들의 용도는 포장된 데이터의 데이터 재현 방식을 나타냄
  • MAC 헤더에 따라 디지털 서명 전용, 암호화 전용, 서명과 암호화가 모두 이용 가능함
  • 응용 프로그램의 설치로 보안이 되므로 반드시 서명과 암호화가 이용되어야 함
  • SSL과 유사하지만 S-HTTP에서는 HTTP를 사용한 애플리케이션에 대해서만 보호가 가능함
  • SSL에서는 HTTP뿐만 아니라 FTP이나 Telnet 등 TCP를 이용하는 응용 프로토콜도 사용 가능함
  • S-HTTP에서는 서버와 클라이언트 양뱡향의 인증을 위해 각각의 인증서가 필요하지만 SSL에서는 클라이언트의 인증서는 선택적

2) SSL과 S-HTTP의 비교

  비교 항목     SSL     S-HTTP  
  프로토콜     HTTPS     S-HTTP  
  사용 방식     https://     Actice-X 배포 설지, shttp://   
  사용 예     포털, 쇼핑몰     은행, 증권  
  지원 여부     대부분 웹 브라우저 지원     대부분 웹 브라우저 지원 안 함  
  OSI 계층     세션 계층에서 동작     응용 계층에서 동작  
  세션키 여부     세션키 사용     세션키 사용하지 않음  
  부인방지     지원 안 함     지원함  



04. S/MIME

1) S/MIME(Secure/Multipurpose Internet Mail Extension)

  • 기존 전자우편 보안 시스템의 문제점인 PEM 구현의 복잡성, PGP의 낮은 보안성과 기존 시스템과의 통합이 용이하지 않다는 점을 보완하기 위해 IETF의 작업 그룹에서 RSADSI(RSA Data Security Incorporation)의 기술을 기반으로 개발된 E-메일 보안 기술
  • S/MIME은 SMTP를 한 단계 끌어올려 보안을 저해하지 않고도 광범위한 E-메일이 가능하게 하므로 SMTP만큼 중요한 표준이 됨
  • 또 하나의 유력한 방식인 PEM이 전자인증국(CA)에 의한 운용을 전제로 하고 있는 반면, S/MIME는 CA 없이도 실현할 수 있음
  • S/MIME의 목표는 강력한 암호화, 디지털 서명, 사용 용이성, 융통성, 상호 운용성, 수출 가능성 등
  • S/MIME의 보안 서비스에는 기밀성, 무결성, 사용자 인증, 송신 사실 부인방지가 포함됨
  • S/MIME에 익명성은 포함되지 않음
  • S/MIME는 E-메일에 대한 암호화는 물론 E-메일에 첨부되는 파일 등에 전자서명을 포함함
  • S/MIME는 스니핑, 변조, 위조 등의 위험을 방지할 수 있음
  보안 서비스     보안 메커니즘     알고리즘  
  기밀성     암호화     3중 DES  
  무결성     해시 함수     SHA-1  
  사용자 인증     인증서     X.509 인증서  
  부인방지     전자서명     DSA  

2) S/MIME 알고리즘의 보안 특성

  1. Signed receipts
    • 송신 측에서 서명된 메시지를 수신자의 서명을 추가하여 수신 측이 메시지 수신을 정상적으로 수신했음을 제 3자가 증명할 수 있도록 함
  2. Security labels
    • 캡슐화된 메시지 내용의 기밀성에 관한 정보를 사용자에게 접근 권한을 부여하기 위해 사용함
  3. Secure mailing lists
    • 여러 수신 측에 메시지를 전송할 경우 각 수신자는 공개키를 포함하여 MAL(Mailing List Agent) 서비스를 사용함으로써 여러 수신 측 별로 처리가 가능하게 함

3) S/MIME에서 사용하는 암호, 서명 시 사용하는 알고리즘

  기능     알고리즘  
  메시지 다이제스트 생성     SHA-1, MD5  
  메시지 다이제스트 암호화     DSS, RSA  
  세션키 암호화     Diffie-Hellman, RSA 공개키  
  일회용 세션키 암호화     3DES  
  인증서     X.509 v3  

4) S/MIME의 동작 순서

  1. 송신자는 수신자에게 보낼 메시지를 MIME 형태로 작성함
  2. 전자서명/암호화 중 하나를 선택함
  3. S/MIME은 MIME 형태의 메시지를 S/MIME 메시지로 변환한 후 전송함
  4. 수신자는 메일을 복호화, 전자서명 확인 등을 통하여 E-메일을 확인함