IPSec
공부/Network 2012. 7. 19. 20:19 |IPSec (Internet Protocol Security protocol)
IPSec은 네트워크나 네트워크 통신의 패킷 처리 계층에서의 보안을 위해, 지금도 발전되고 있는 표준이다. 이전의 보안 기법들에서는 보안이 통신 모델의 응용 계층에 삽입되었었다. IPSec은 가상 사설망과 사설망에 다이얼업 접속을 통한 원격 사용자 접속의 구현에 특히 유용할 것이다.
IPSec의 커다란 장점은 개별 사용자 컴퓨터의 변경 없이도 보안에 관한 준비가 처리될 수 있다는 것이다. 시스코는 IPSec를 표준으로 제안하는데 선두주자였으며, 자신들의 네트워크 라우터에 이 기능의 지원을 포함하였다.
IPSec은, 본질적으로 데이터 송신자의 인증을 허용하는 인증 헤더 (AH)와, 송신자의 인증 및 데이터 암호화를 함께 지원하는 ESP (Encapsulating Security Payload) 등, 두 종류의 보안 서비스를 제공한다. 이러한 각 서비스에 관련된 명확한 정보는 IP 패킷 헤더의 뒤를 잇는, 헤더 속의 패킷에 삽입된다. ISAKMP/Oakley 프로토콜과 같은 별개의 키 프로토콜들이 선택될 수 있다.
AH·ESP 프로토콜로 구성, 각각 패킷 인증·비밀 보호
네트워킹 산업이 어느정도의 관심 대상이 되느냐는 곧 보안과 사생활 보호의 관심사항과 직결된다. 따라서 담당기관인 IETF는 IP 보안 프로토콜인 IPSec을 끊임없이 발전시키기 위해 분주한 노력을 펼치고 있다. IPSec은 인터넷상에 있는 시스템과 네트워크간에 안전하고 사적인 대화를 가능하게 한다.
전용prorietary 시스템에도 이기종 시스템과 네트워크 사이에서 발생하는 문제를 해결하기 위한 노력이 꾸준히 보강되고는 있지만 그래도 한 업체 전용이라는 사실은 어쩔 수 없다.
IPSec을 채택하면 관련된 네트워크의 특수 사양에 관계없이 사적인 이해집단communiry of interest을 만들 수 있다. 여기서는 IPSec을 구성하는 기술을 각각 속속들이 살펴봄으로써 IPSec 기술에 대한 독자들의 이해를 돕고자 한다.
1. IPSec 프로토콜
IPSec은 인증 헤더(AH : Authentic-ation Header)와 캡슐 보안 페이로드(ESP : Encapsulating Security Pay-laod) 등 2개의 프로토콜로 구성돼 있다. AH 프로토콜은 무결성과 데이터 기원 인증 및 재생replay에 대항한 보호를 제공하는 봉함envelope을 만든다. 따라서 AH는 침입자의 공격에 대항한 다양한 방어책을 제공한다. 이 프로토콜은 모든 패킷을 인증하기 때문에 세션을 도용하는 프로그램은 비효율적으로 간주된다. 또한 이 프로토콜의 기본적인 재생 카운터는 가짜 혹은 파괴성 데이터가 포함되어 있을 수도 있는 재생 공격을 중지시킬 수 있다.
AH는 또한 가능한 한 다수의 IP 헤더에 대한 인증을 제공하는데, 심지어 IP 헤더가 AH 봉함 외부에 있을 때도 그렇다. AH 인증은 IP 헤터 패킷이 전송중일 때 그에 대한 조작을 불가능하게 만든다. 따라서 AH의 이러한 특성은 NAT (Network Address Translation) 종단간 환경에서의 사용을 부적절하게 만든다. IP 헤더를 조작하는 것이 NAT 기능에서는 필수적이기 때문이다.
ESP 프로토콜은 데이터의 비밀성privacy을 제공하는데, 암호화되어 있지만 인증되지 않은 데이터 스트림에 대한 공격을 막기 위해 AH의 모든 기능이 포함돼 있다. IPSec 사양은 AH 기능을 제외한 ESP를 허용하고 있지만, 하고 있는 일에 대해 정확히 이해하지 못한다면 이것을 사용하지 말 것을 권장한다. ESP는 또한 널null 암호화를 사용할 수 있다. 널 암호화란 IP 헤더 인증을 제외한 AH와 거의 흡사한데, IP 헤더에서의 주소가 변하기 때문에 NAT 전송을 허용할 수 있다.
ESP와 AH는 IANA(Internet Addr-ess Naming Authority)에 의해 프로토콜 50과 51로 각각 등록돼 있다. 사용자의 경계border 라우터에 기본적인 패킷 필터링 규칙이 구현돼 있다면 이들 프로토콜을 가용 목록에 추가할 필요가 있을 것이다. IP 헤더의 이러한 프로토콜 유형의 필드는 현재 IPSec 봉함의 필드이기도 하므로 원래의 전송 유형은 IPSec 헤더내에서 다음 프로토콜 필드로 이동된다.
IPSec 프로토콜은 전송 모드나 터널 모드에서 모두 사용될 수 있다. 전송 모드에서 IPSec은 네트웍(IP)와 전송(TCP 혹은 UDP) 봉함간의 평범한 IP 패킷으로 진입한다. 전송 모드는 종단 시스템용으로 개발되었는데, 그 사용은 완전히 집단에 속한 모든 시스템에서의 전개용으로 서술되어 있기 때문에 대부분의 경우 애플리케이션의 재 프로그래밍이 필요할 것이다.
IPSec의 터널 모드는 게이트웨이에 의해 사용되도록 개발된 것이다. 터널 모드에서 일상적인 IP 패킷은 IPSec 봉함내에 놓여지며 그 IPSec은 다시 또다른 IP 봉함으로 들어간다. 이 모드에서 사용자는 네트웍의 페러미터에서 IPSec 터널 장비를 신속하게 전개할 수 있다. 구성이 비슷한 네트웍간에 트래픽의 안전을 보장하는 것은 간단하며, 특수한 최종사용자 소프트웨어나 새 애플리케이션을 전개할 필요가 없다. 터널 모드를 지원하는 소프트웨어는 게이트웨이나 종단 시스템상에서 동작할 수 있다.
종단 시스템상에서 터널 소프트웨어가 가장 흔하게 사용될 때는 원격 및 이동 사용자를 지원할 때이다. 게이트웨이가 터널을 통해 대부분의 종단 사용자 데이터를 전송함에도 불구하고 동료 게이트웨이간의 통신을 안전하게 보호하려면 전송 모드를 사용할 수도 있다. 이러한 방식은 라우터, ATM 스위치, 방화벽 및 기타 핵심적인 하부구조 컴포넌트를 원격에서 안전하게 관리하는 훌륭한 방편이 될 수 있다.
IPSec 연결은 SA(Security Associa-tion)에 의해 규정된다. SA는 미리 방향이 지정된 것이 아니므로 연결시 2개의 SA가 필요하다. SA는 IPSec 연결의 다양한 패러미터를 정의하는데, 예를 들어 암호화와 인증 알고리즘과 같이 통신 시스템과 암호화용의 세션 키 및 스스로의 기능을 제어하는 다양한 패러미터간에 사용되는 것을 들 수 있다.
2. IPSec 알고리즘
앞서 언급했듯이 IPSec은 그 내부에서 인증 및 암호화 알고리즘을 사용하는 프로토콜로 구성된 것이다. 2개의 인증 및 7개의 알고리즘은 날짜를 규정하는데 사용되고 있다. AH와 ESP에 의해 사용되는 인증 알고리즘은 HMAC-MD5와 HMAC-SHA1이다. 이들은 세션 참여자가 한 개의 비밀 키(MD용은 128비트로 RFC 1321인 Message Digest 5 버전, SHA1용은 160비트로, FIPS 180-1인 Secure Hash Algo-rithm 1 버전)를 공유하는 키 기반의 인증 알고리즘이다. HMAC 절차는 RFC 204(메시지 인증 코드를 위한 키 해싱Keyed-Hashing)에 정의되어 있다.
HMAC는 비밀 키 인증 알고리즘이다. HMAC와 마찬가지로 비밀 키 분배의 영역에 따라 데이터 무결성과 데이터 기원 인증이 결정된다. 소스와 목적지만 HMAC 키만 알고 있다면 두 개의 패리티간에 전송된 패킷을 위해 데이터 기원 인증과 데이터 무결성을 제공한다. HMAC용의 키들은 ISAKMP /Oakley에 의해 생성된 키 재료keying material로부터 생성된다.
분명한 IV(initialization vector)가 수반된 DES(Data Encryption Standard)는 ESP에서 사용되는 기본적인 암호화 알고리즘이다. IPSec 호환을 위해 이 알고리즘을 구현해야 한다. 이외에도 Triple DES, CAST-128, RC5, IDEA, Blowfish 및 ARCFour(Bruce Scheier가 저술한 암호관련서적을 토대하여 RC4를 공개적으로 구현한 것) 등 DES의 대안으로 제시된 다양한 사양들이 있다.
CAST(RFC 2144)는 64비트 형식에서는 최소한 DES만큼, 128비트 형식에서는 Triple DES만큼 강력하다고 많은 사람들에 의해 주장되는 양식으로, DES보다 빠르다. RC5(RFC 2040)는 많은 사람들이 키 길이Ley length만큼 강격하다고 주장하는 키 길이가 가변적인 스트림으로서, 256비트까지 가능하다.
IDEA는 오리지널 PGP 프로그램에서 사용되는 것으로 그 속도가 빠른 것으로 알려져 있으며, Triple DES와 맞먹는 사이퍼cypher이다. 블로피시는 Scheier에 의해 개발된 가변적 길이의 사이퍼로서 공격자를 쉬지 못하게 만들기 위해 고안된 것이다.
DES 이외의 알고리즘을 선택하는 것이 구현자에 달렸다. 암호화 알고리즘을 선택하게 되면 여러 가지 이점이 있다. 잠재적인 공격자는 단순히 사이퍼를 공격하면 되는 것이 아니라 어떤 사이퍼를 깨뜨리고자 할 것인지도 결정해야 한다. 이는 사이퍼 키의 전환rotation로 함께 단순히 한물 간 데이터를 해독할 수 있다는 희망 이외에는 공격자들이 건질 것이 없게 만든다.
--
출처-출처불분명
'공부 > Network' 카테고리의 다른 글
MAC OUI Finder (0) | 2012.08.12 |
---|---|
nc를 이용한 파일 전송 (0) | 2012.07.21 |
DHCP (1) | 2012.07.19 |
DNS (0) | 2012.07.19 |
FTP 명령어 정리 (1) | 2012.07.19 |