IPSec은 Network나 Network 통신의 Packet 처리 계층에서의 보안을 위해, 지금도 발전되고 있는 표준이다. 이전의 보안 기법들에서는 보안이 통신 모델의 응용 계층에 삽입되었었다. IPSec은 가상 사설망과 사설망에 Dial-Up 접속을 통한 원격 사용자 접속의 구현에 특히 유용할 것이다.
IPSec의 커다란 장점은 개별 사용자 Computer의 변경 없이도 보안에 관한 준비가 처리될 수 있다는 것이다. Cisco는 IPSec를 표준으로 제안하는데 선두주자였으며, 자신들의 Network Router에 이 기능의 지원을 포함하였다.
IPSec은, 본질적으로 Data 송신자의 인증을 허용하는 인증 헤더 (AH)와, 송신자의 인증 및 Data 암호화를 함께 지원하는 ESP (Encapsulating Security Payload) 등, 두 종류의 보안 Service를 제공한다. 이러한 각 Service에 관련된 명확한 정보는 IP Packet Header의 뒤를 잇는, Header 속의 Packet에 삽입된다. ISAKMP/Oakley Protocol과 같은 별개의 Key Protocol 들이 선택될 수 있다.
AH·ESP Protocol로 구성, 각각 Packet 인증·비밀 보호
Networking 산업이 어느 정도의 관심 대상이 되느냐는 곧 보안과 사생활 보호의 관심 사항과 직결된다. 따라서 담당 기관인 IETF는 IP 보안 Protocol인 IPSec을 끊임 없이 발전 시키기 위해 분주한 노력을 펼치고 있다. IPSec은 Internet 상에 있는 System과 Network 간에 안전하고 사적인 대화를 가능하게 한다.
전용 Prorietary System에도 이 기종 System과 Network 사이에서 발생하는 문제를 해결하기 위한 노력이 꾸준히 보강되고는 있지만 그래도 한 업체 전용이라는 사실은 어쩔 수 없다.
IPSec을 채택하면 관련된 Network의 특수 사양에 관계없이 사적인 이해집단 Communiry of Interest을 만들 수 있다. 여기서는 IPSec을 구성하는 기술을 각각 속속들이 살펴봄으로써 IPSec 기술에 대한 독자들의 이해를 돕고자 한다.
1. IPSec Protocol
IPSec은 인증 헤더 (AH:Authentication Header)와 Capsule 보안 Pay-load (ESP:Encapsulating Security Pay-laod) 등 2개의 Protocol로 구성돼 있다. AH Protocol은 무결성과 Data 기원 인증 및 재생(Replay)에 대항한 보호를 제공하는 봉함 Envelope을 만든다. 따라서 AH는 침입자의 공격에 대항한 다양한 방어책을 제공한다. 이 Protocol은 모든 Packet을 인증하기 때문에 Session을 도용하는 Protocol은 비효율적으로 간주된다. 또한 이 Protocol의 기본적인 재생 Counter는 가짜 혹은 파괴성 Data가 포함되어 있을 수도 있는 재생 공격을 중지시킬 수 있다.
AH는 또한 가능한 한 다수의 IP Header에 대한 인증을 제공하는데, 심지어 IP Header가 AH 봉함 외부에 있을 때도 그렇다. AH 인증은 IP Header Packet이 전송중일 때 그에 대한 조작을 불가능하게 만든다. 따라서 AH의 이러한 특성은 NAT (Network Address Translation) 종단간 환경에서의 사용을 부적절하게 만든다. IP Header를 조작하는 것이 NAT 기능에서는 필수적이기 때문이다.
ESP Protocol은 Data의 비밀성(privacy)을 제공하는데, 암호화되어 있지만 인증되지 않은 Data Stream에 대한 공격을 막기 위해 AH의 모든 기능이 포함돼 있다. IPSec 사양은 AH 기능을 제외한 ESP를 허용하고 있지만, 하고 있는 일에 대해 정확히 이해하지 못한다면 이것을 사용하지 말 것을 권장한다. ESP는 또한 Null 암호화를 사용할 수 있다. Nu;; 암호화란 IP Header 인증을 제외한 AH와 거의 흡사한데, IP Header에서의 주소가 변하기 때문에 NAT 전송을 허용할 수 있다.
ESP와 AH는 IANA(Internet Address Naming Authority)에 의해 Protocol 50과 51로 각각 등록돼 있다. 사용자의 경계(border) Router에 기본적인 Packet Filtering 규칙이 구현돼 있다면 이들 Protocol을 가용 목록에 추가할 필요가 있을 것이다. IP Header의 이러한 Protocol 유형의 Field는 현재 IPSec 봉함의 Field 이기도 하므로 원래의 전송 유형은 IPSec Header 내에서 다음 Protocol Field로 이동된다.
IPSec Protocol은 전송 Mode나 Tunnel Mode 에서 모두 사용될 수 있다. Transfer Mode 에서 IPSec은 Network(IP)와 전송(TCP 혹은 UDP) 봉함간의 평범한 IP Packet으로 진입한다. Transfer Mode는 종단 System 용으로 개발되었는데, 그 사용은 완전히 집단에 속한 모든 System에서의 전개용으로 서술되어 있기 때문에 대부분의 경우 Application의 재 Programming이 필요할 것이다.
IPSec의 Tunnel Mode는 Gateway에 의해 사용되도록 개발된 것이다. Tunnel Mode에서 일상적인 IP Packet은 IPSec 봉함내에 놓여지며 그 IPSec은 다시 또 다른 IP 봉함으로 들어간다. 이 Mode에서 사용자는 Network의 Parameter에서 IPSec Tunnel 장비를 신속하게 전개할 수 있다. 구성이 비슷한 Network 간에 Traffic의 안전을 보장하는 것은 간단하며, 특수한 최종 사용자 Software 나 새 Application을 전개할 필요가 없다. Tunnel Mode를 지원하는 Software는 Gateway이나 종단 System 상에서 동작할 수 있다.
종단 System 상에서 Tunnel Software가 가장 흔하게 사용될 때는 원격 및 이동 사용자를 지원할 때이다. Gateway가 Tunnel을 통해 대부분의 종단 사용자 Data를 전송함에도 불구하고 동료 Gateway 간의 통신을 안전하게 보호하려면 Transfer Mode를 사용할 수도 있다. 이러한 방식은 Router, ATM Switch, Firewall 및 기타 핵심적인 하부 구조 Component를 원격에서 안전하게 관리하는 훌륭한 방편이 될 수 있다.
IPSec 연결은 SA(Security Associa-tion)에 의해 규정된다. SA는 미리 방향이 지정된 것이 아니므로 연결시 2개의 SA가 필요하다. SA는 IPSec 연결의 다양한 Parameter를 정의하는데, 예를 들어 암호화와 인증 Algorithm과 같이 통신 System 과 암호화 용의 Session Key 및 스스로의 기능을 제어하는 다양한 Parameter 간에 사용되는 것을 들 수 있다.
2. IPSec Algorithm
앞서 언급했듯이 IPSec은 그 내부에서 인증 및 암호화 Algorithm을 사용하는 Protocol로 구성된 것이다. 2개의 인증 및 7개의 Algorithm은 날짜를 규정하는데 사용되고 있다. AH와 ESP에 의해 사용되는 인증 Algorithm은 HMAC-MD5와 HMAC-SHA1이다. 이들은 Session 참여자가 한 개의 비밀 Key(MD용은 128 bit로 RFC 1321인 Message Digest 5 Version, SHA1용은 160 bit로, FIPS 180-1인 Secure Hash Algo-rithm 1 Version)를 공유하는 Key 기반의 인증 Algorithm이다. HMAC 절차는 RFC 204(Message Association Code를 위한 Key Hashing)에 정의되어 있다.
HMAC는 비밀 키 인증 Algorithm이다. HMAC와 마찬가지로 비밀 키 분배의 영역에 따라 Data 무결성과 Data 기원 인증이 결정된다. Source와 목적지만 HMAC Key 만 알고 있다면 두 개의 Parity 간에 전송된 Packet을 위해 Data 기원 인증과 Data 무결성을 제공한다. HMAC용의 Key들은 ISAKMP/Oakley에 의해 생성된 Key 재료(material)로 부터 생성된다.
분명한 IV(initialization vector)가 수반된 DES(Data Encryption Standard)는 ESP에서 사용되는 기본적인 암호화 Algorithm이다. IPSec 호환을 위해 이 Algorithm을 구현해야 한다. 이외에도 Triple DES, CAST-128, RC5, IDEA, Blowfish 및 ARCFour(Bruce Scheier가 저술한 암호 관련 서적을 토대하여 RC4를 공개적으로 구현한 것) 등 DES의 대안으로 제시된 다양한 사양들이 있다.
CAST(RFC 2144)는 64 bit 형식에서는 최소한 DES 만큼, 128 bit 형식에서는 Triple DES 만큼 강력하다고 많은 사람들에 의해 주장되는 양식으로, DES 보다 빠르다. RC5(RFC 2040)는 많은 사람들이 Key 길이(Length) 만큼 강격하다고 주장하는 Key 길이가 가변적인 Stream 으로서, 256 bit 까지 가능하다.
IDEA는 Original PGP Program 에서 사용되는 것으로 그 속도가 빠른 것으로 알려져 있으며, Triple DES와 맞먹는 Cypher이다. 블로피시는 Scheier에 의해 개발된 가변적 길이의 Cypher로서 공격자를 쉬지 못하게 만들기 위해 고안된 것이다.
DES 이외의 Algorithm을 선택하는 것이 구현자에 달렸다. 암호화 Algorithm을 선택하게 되면 여러가지 이점이 있다. 잠재적인 공격자는 단순히 Cypher를 공격하면 되는 것이 아니라 어떤 Cypher를 깨뜨리고자 할 것인지도 결정해야 한다. 이는 Cypher Key의 전환(rotation)으로 함께 단순히 한물 간 Data를 해독할 수 있다는 희망 이외에는 공격자들이 건질 것이 없게 만든다.
'Network' 카테고리의 다른 글
| OSPF (Open Shortest Path First) ; 최단 경로 우선 프로토콜 (0) | 2009/02/18 |
|---|---|
| MSPP (Multi-Service Provisioning Platform) (0) | 2009/01/12 |
| Router란? (0) | 2009/01/09 |
| SONET과 SDH (0) | 2009/01/07 |
| Multicast, Broadcast, Unicast (0) | 2007/09/17 |
| LDAP (Lightweight Directory Access Protocol) (0) | 2007/09/16 |
| IPSec (Internet Protocol Security Protocol) (0) | 2007/09/15 |
| Internet Service Port Number (0) | 2007/09/14 |