[ 2014 Capstone Design2 ] 지도교수 PacketNgin 을이용한 IPSec Gateway < 졸업작품중간보고서 > 컴퓨터공학부 지도교수 민덕기교수님 T12 200812215 김종열 200911401 양유석 제출일자 2014. 10. 07-1 -
목 차 1. 프로젝트개요 3 (1) 개발동기 (2) 개발목표 (3) 시장현황 (4) 기술동향 3 3 4 5 2. 팀구성및역할 9 (1) 팀원소개 (2) 팀원역할 9 9 3. 프로젝트설명 10 (1) 핵심기능 (2) 세부기능 (3) 시나리오 (4) 시스템환경 (5) 개발환경 10 15 17 20 21 4. 프로젝트일정 22 5. 제출문서 23 6. 참고문헌및사이트 23-2 -
1. 프로젝트개요 (1) 개발동기 특정어플리케이션을위한보안메커니즘은해당어플리케이션을사용하는시스템마다모두상이하다. End-point 사용자입장에선보안솔루션을적용하기위해각각의어플리케이션을사용하는시스템마다모두설치해야하는불편함이따른다. 네트워크 (IP) 계층에서보안메커니즘을제공하는 IPSec Protocol을이용하여위의단점을보안하고자한다. IPSec Protocol은 Linux Kernel, Windows 등 OS내에결합된형태로제공되므로 OS에종속된형태로사용된다. DPI(Deep Packet Inspection) 기술과 Network Virtualization을제공하는 PacketNgin OS를이용하여 Platform에종속되지않는형태의 IPSec Protocol을구현하고나아가보안이적용된 SSL Gateway를제공하는 Smart AP를만들고자한다. (2) 개발목표 PacketNgin과모바일핫스팟간통신프로토콜정의 Plain Packet의 SSL Encrypted Packet 변환기능구현 Encrypted Packet의 Plain Packet 변환기능구현통합및시험 - 3 -
(3) 시장현황 FreeS/WAN FreeS/WAN은이름이풍기듯이 S/WAN(Secure Wide Area Network, 스완 으로발음한다 ) 프로젝트를공개하기위한프로젝트로출발했다. S/WAN은 RSA 등이주도한자발적인단체로서, 인터넷을기반으로한가상사설망구축을촉진하는역할을행했으며, IPsec 프로토콜을지정하여서로다른 VPN 업체들간에도상호연동가능한 VPN의구현을추진하였다. 현재는더이상활동을하지않고있으며, 사실상 VPNC (VPN Consortium으로서체크포인트, 시스코등의막강한 VPN 업체들의컨소시엄으로서, 베이크오프 (bake-off) 를열어서제품의 IPsec/IKE 표준호환성테스트도수행하고있다.) 가이역할을승계하여추진하고있다고볼수있다. FreeS/WAN은 IPsec 표준에서정의된바와같이, 클라이언트-게이트웨이통신및게이트웨이간터널링모두들지원한다. SuSE 및 RedHat 패키지에는포함되고있으나, Linux 커널에기본적으로포함되지는않았으며, 현재 FreeS/WAN을 Linux IPv6 stack에포함시키는작업이진행중이다. (IPv6 프로토콜은 IPsec 구현을필수로요구하고있다.) FreeS/WAN은보안상의취약점때문에 RFC 표준에명기된내용중일부를구현하지않고있다. 이때문에다른제품들과호환상에문제점을야기할수있는데, 다음과같은것들이다. NIST Cerberus 0.5 NIST(National Institute of Standards and Technology, 미표준국 ) 에서 IPsec의상호운영성을테스트하기위해서만든 IPsec 참조구현으로볼수있다. FreeS/WAN과마찬가지로 Linux 커널을수정해서 IPsec 및 IKE 프로토콜을구현하고있다. Cerberus는 IPsec 구현이고, PlutoPlus는 IKE 구현이다. FreeS/WAN은공개소스구현인데반해, Cerberus는하나의참조모델로서의측면이강하고, 완성도또한데모버전수준이다. 2000년 5월이후에는더이상의개정작업이진행되지않았다. 다음의그림은 Cerberus의구조를도식화한것이다. - 4 -
KAME KAME은후지쯔, 히다찌, NEC 및도시바등의회사들이 IPv6 및 IPsec/IKE 프로토콜을참조구현하기위해서만든프로젝트로서, BSD OS(FreeBSD/NetBSD/OpenBSD/BSD-OS) 에 IPv6 프로토콜을내장시키고있다. IPSec이 IPv6 프로토콜의필수구현프로토콜로지정되어있기때문에자연스레 IPSec 구현도함께이루어지고있다. 그러나 IPv6를위주로하여만들어졌기때문에, IPv4 하에서는 IPSec 구현이완전치않다. IPv4 구현은단지호환성을위해존재하는것일뿐이므로, IPSec 패킷이 IPv4 환경에서다량으로들어올경우에커널 stack이꽉차서멈춰버리는문제점을안고있다. 그래서 IPv6 상에서 IPSec 프로토콜을운영하기를권장하고있다. KAME의 IPSec은 OpenBSD에서는작동하지않는다. OpenBSD 내부에자체 IPSec stack이있고, 이것이 KAME의 IPSec으로써대체되지않기때문이다. NetBSD 에내장된 IPSec 1999 년 11 월부터 KAME 의 IPSec 구현을 NetBSD 기본커널에내장시켰다. 커널설정 파일에서옵션을추가하고커널을컴파일하면된다. OpenBSD 에내장된 IPSec KAME과는별도로개발된 IPsec 구현이다. IPsec을담당하는 ipsecadm, IKE를담당하는 isakmpd로구성된다. 어그레시브모드도구현되어있고, 정책 (IPsec policy) 설정도세밀하게할수있고 CA와의연동도지원하는등매우탄탄한구성을지닌다. OpenBSD의구현은위와같이매우탄탄하여서, VPNC가 IPsec/IKE 표준호환성테스트를할때 OpenBSD IPsec 구현을기준으로테스트하고있을정도이다. CIPE (Crypto IP Encapsulation) IP 패킷을 UDP 패킷에담아암호화하여전송하는방식이다. Linux와윈도버전이공개된상태이다. RFC 2401에기반한 IPsec 구현이라기보다는그것을대폭간소화한형태로서 RFC 2401 기반 IPsec 구현과는호환되지않는다. 단순히암호화한패킷을 IV (Initialization Vector, 초기화값, CBC 모드처럼블록암호알고리즘에서앞에서계산한결과를뒤의일부입력으로사용하는모드에서초기화블록을설정하는값 ) 뒤에붙여서 UDP 패킷으로보낸다. Key 교환은 static key 교환을기본으로하지만 dynamic key 교환도부분적으로지원한다. - 5 -
(4) 기술동향 IPSec (Internet Protocol Security protocol) IPSec은네트웍이나네트웍통신의패킷처리계층에서의보안을위해, 지금도발전되고있는표준이다. 이전의보안기법들에서는보안이통신모델의응용계층에삽입되었었다. IPSec은가상사설망과사설망에다이얼업접속을통한원격사용자접속의구현에특히유용할것이다. IPSec의커다란장점은개별사용자컴퓨터의변경없이도보안에관한준비가처리될수있다는것이다. 시스코는 IPSec를표준으로제안하는데선두주자였으며, 자신들의네트웍라우터에이기능의지원을포함하였다. IPSec은, 본질적으로데이터송신자의인증을허용하는인증헤더 (AH) 와, 송신자의인증및데이터암호화를함께지원하는 ESP (Encapsulating Security Payload) 등, 두종류의보안서비스를제공한다. 이러한각서비스에관련된명확한정보는 IP 패킷헤더의뒤를잇는, 헤더속의패킷에삽입된다. ISAKMP/Oakley 프로토콜과같은별개의키프로토콜들이선택될수있다. - 6 -
SDN(Software Defined Network) SDN은네트워크장비, 즉하드웨어기능을소프트웨어로구현할수있는일종의가상화기술이다. SDN은 2011년첫오픈네트워킹총회 (Open Networking Summit) 를통해유명세를탔으며, 여기에서구글, 마이크로소프트, 페이스북, 야후, 버라이즌등많은기업들은전통적인네트워킹이얼마나뒤처져있으며애플리케이션부터인터넷의미래까지모든것의발전을어떻게위협하고있는지공유했다. 혁신은억압되고비용은과도해졌으며, 네트워킹은기술변화를따라잡기위해더욱개방적이고현대적인모델로변모해야했다. 그래서나온것이새로운네트워크트래픽관리방식이다. 데이터센터의서버와스토리지가상화처럼네트워크라우터와스위치를하드웨어에서없앤후높은수준의제어소프트웨어로이를대체하는일종의지능화패러다임이다. SDN에서는라우터와스위치를개별적으로설정해관리할필요가없다. 대신더높은수준의프로그램과애플리케이션통합이가능한단일관리창을통해이러한작업을처리한다. SDN은중앙화와원격화로네트워크설정과관리가간편해지고, 네트워크설정이나관리작업등을자동화할수있다. 또한, 시시각각변하는네트워크상황과애플리케이션요건에맞춰프로그래밍할수있다. 그리고저렴한범용라우터 / 스위치하드웨어를사용할수있게되고, 네트워크이용률이높아진다. DPI(Deep Packet Inspection) 심층패킷분석 (Deep Packet Inspection, DPI) 은기본적으로패킷내부의콘텐츠까지파악하는기술로이해된다. 이러한기술이사용되는이유는인터넷에서전송제어프로토콜 (Transport Control Protocol,TCP) 이갖고있는한계때문이다. 즉,TCP는전체데이터가호스트간에잘전송될수있도록데이터의흐름을조절하고성공적으로상대편에도착할수있도록보장하는역할을하지만, 호스트당연결경로의수를제한하는메커니즘을갖고있지않다. 그러므로특정애플리케이션이다중경로를사용하는경우단일경로를사용하는애플리케이션의연결이불리해지는문제가발생한다. 만일특정애플리케이션 ( 예 : P2P 파일공유 ) 이여러경로를점유하여전송속도를높이고자하는경우별도의트래픽관리가없다면, VoIP나온라인게임과같이전송속도는높지않더라도실시간전송이중요한애플리케이션의이용이어렵거나불가능해지는결과가초래될수있다. 인터넷의이러한단점을보완하고기본적으로바이러스및말웨어등으로부터네트워크를보호하고자인터넷제공사업자 (Internet Service Provider, ISP) 들은오래전부터트래픽관리를해왔다. 최근에는트래픽폭증으로인한혼잡을제어하면서네트워크를좀더효율적으로운영하는것뿐만아니라사업상의다양한목적을위해정교한트래픽관리의도 - 7 -
구로써 DPI 에대한관심이증가하고있다. 이에따라트래픽관리또는망중립성관련논쟁의 연장선상에서 DPI 사용이정당한것인지에대한논란이이어지고있다. PacketNgin OS DPI와네트워크가상화를제공하는 OS. 사용자는 PacketNgin 기술을활용해다양한종류의네트워크어플리케이션을구축가능. x86 아키텍처기반의실시간네트워크어플리케이션구동이가능하며다수의실시간네트워크어플리케이션을구동하는네트워크가상화지원. 방화벽, 보안게이트웨이, 부하분산라우터, P2P 트래픽조절라우터등다양한종류의네트워크라우터를 S/W로구축할수있음. - 8 -
2. 팀구성및소개 (1) 팀구성 구분 이름 역할 Team Leader 양유석 - Project Management - Development - Integration Team Member 김종열 - Document Management - Schedule Management - Development - Testing (2) 팀원소개 학년학번이름관심분야연락처이메일 4 200911401 양유석 - Network - Operating System 010-2867-2404 frece @ naver.com 4 200812215 김종열 - Big Data Processing - Risk Analysis 010-3280-0621 jongyoal @naver.com - 9 -
3. 프로젝트설명 (1) 핵심기능 용어설명 1) ESP (Encapsulating Security Payload) 기밀성, 원본데이터의인증, 무결성과같은보안서비스를지원하기위하여설계된프로토콜 2) Transport Mode 트랜스포트모드는단대단보안이요구될경우에사용한다. 이모드에서 AH 와 ESP 는트랜스 포트계층에서패킷의변형을통해서트랜스포트헤더상위에대한보안성을제공한다. 트랜스포트모드에서 AH 와 ESP 가모두사용될경우 ESP 를먼저적용해야한다. 이것은트 랜스포트페이로드뿐만아니라추가된 ESP 헤더까지데이터무결성을보장하기위해, AH 와 ESP 가모두사용될경우, ESP 를먼저적용한다. 3) Tunnel Mode 터널모드 IPSec 은일반적으로패킷의궁극적인목적지와보안터널의종단이다를때사용 한다. 따라서터널의종단이보안게이트웨이일경우에는항상터널모드를사용해야한다. 그 러나두호스트사이에서도터널모드 IPSec 이구성될수있다. 터널모드 (tunnel mode) 는터널이형성되는시작점과끝점을인식할수있도록하기위해서 새로운 IP 헤더를덧붙여서 IP 데이터그램전체를캡슐화한다. 이경우 inner 헤더는호스트에 서구성되고, outer 헤더는터널의종단에서구성되어야한다. - 10 -
Plain Packet Encyrpted Packet 암호화 - 11 -
1) Security Association Lookup 이미 Policy가결정되었다는가정하에동작하기때문에 IPSec Processing이필요한 Packet 은어떤 SA (Security Association) 와연관이있게되고, 이단계에서는그 SA정보를찾는과정을거치게됨. 2) Packet Encryption 첫번째단계에서찾은 SA정보를이용하여실제 Packet을암호화하는과정. 여기서는 Transport mode일때와 Tunnel mode일때로나뉘는데, Transport mode일때는상위 Layer에대해서만암호화를진행하지만 tunnel mode일경우는원래의 IP 헤더를포함하여암호화를진행함. 이과정에서암호동기화데이터가필요하면 IV을값을 ESP payload data 의앞부분에넣어주게되고, 만약 ESP 인증도선택이되었다면먼저암호화를한후에이패킷을가지고인증데이터를만들어넣어주게됨. 3) Sequence Number Generation SA가설립될때에 Sequence Number값은 0으로셋팅된다. 그리고패킷이하나씩나갈때마다 1씩증가. 그래서처음 ESP 패킷은 1이되고, 만약 anti-replay옵션이선택되었다면이값은반복되지않음. 만약값이계속늘어나서반복되기바로전까지가면 SA를다시설립해야함. 하지만 anti-replay옵션이선택되지않았다면그냥계속증가시키면서 Max 값이되면다시 0 부터시작하게됨. 4) Integrity Check Value Calculation 만약 Authentication이선택되었다면, 송신자는 Authentication data부분을뺀 ESP 패킷 (SPI, Sequence Number, Payload Data, Padding, Pad Length, Next Header) 의 ICV값을계산함. 5) Fragmentation Fragmentation은 IPSec에서 ESP Processing이끝난후에일어남. Transport mode의경우 Fragmented 된 IP에대하여 ESP Processing이되는것이아니라전체 IP Data에대하여 ESP Processing이진행된후그리고나서 Fragmentation이진행됨. (Tunnel mode의경우에는 IP Packet에대하여 ESP Processing이적용되는데, 이때의 IP 패킷은 Fragmented 된 IP 패킷일수도있음.) - 12 -
Encrypted Packet Plain Packet 복호화 - 13 -
1) Reassembly 이과정은 ESP Processing 이일어나기전에수행되는데, Reassembly 가끝난후이것을 가지고 ESP Processing 을수행하게됨. 2) Security Association Lookup 어떤 ESP 패킷을복호화하기위해서는패킷과관련된 SA가필요함. 이 SA을찾기위하여수신단은 ESP Header안에있는 SPI 값을이용하여 SA을찾게됨. 이렇게해서찾은 SA는 Sequence number을 Check 해야하는지 Authentication을 Check해야하는지와같은여러가지정보들을담고있음. 3) Sequence Number Verification 수신단은송신단과마찬가지로 SA가설립이되면 Sequence number을 0로셋팅하고들어오는패킷의 Sequence number을감시함. 이때중복된 Sequence Number을가진패킷이들어오면버리게되는데윈도우사이즈를이용하여그안에들어왔는지아닌지를체크하여결정할수있음. 4) Integrity Check Value Verification Authentication 이선택되어있으면 IPSec 은복호화전에먼저 ICV 값을체크하게되는데, 여기서값이틀리면패킷을버리고확인된패킷만이복호화단계로넘어가게됨. 5) Packet Decryption 위의모든과정이끝나게되면패킷을복호화진행. Transport mode일경우는패킷복호화후원래의 IP header와상위 Layer의 Data를조합하여 IP 패킷을재조립하고 Tunnel mode 의경우는 tunnel IP header 와 ESP Payload 안쪽에있던 IP header + data 부분을이용하여 IP 패킷을재조립하게됨. - 14 -
(2) 세부기능 용어설명 1) SAD (Security Association Database) IPSec은 보안연계 (SA : Security Association 라는개념을통해서 AH와 ESP의보안서비스를제공한다. SA는그것에의해운반되는트래픽에보안서비스를제공하는단순한 연결 로서, SA는 AH와 ESP 헤더처리를위해필요한정보를포함하며 SAD(Security Association Database) 내의하나의엔트리로존재한다. SA 는 IP 의목적지주소와 IPSec 프로토콜의종류 (AH/ESP), 그리고 SPI 의값을통해서보안 연결의양종단을인식한다. 각 SAD 의엔트리에는해당하는 SA 에관련된매개변수들이정의되어있다. 즉, 하나의 SA 는 SAD 에하나의엔트리에사상된다. 또한, 송신패킷처리를위해서는 SPD 의엔트리가 SAD 의 엔트리로사상된다. 송신되는패킷을위하여 SPD 가 SA 의엔트리를발견하지못하면적합한 SA 의엔트리가생성 되도록구현되어야한다. 수신되는패킷을위해서는다음의값들을기준으로엔트리가검색된 다. 2) SPD (Security Policy Database) 궁극적으로, 보안연계는 IPSec 환경에서보안정책을실행할수있도록하는관리구조이다. 보안정책 (security policy) 은패킷에제공되어야하는보안서비스를결정하여야한다. IPSec 에서는정책들을저장하는데이터베이스로서보안정책데이터베이스 (SPD : Security Policy Database) 를정의하고있다. SPD 는모든트래픽의처리시참조되어야한다. 이때취해 질수있는정책은폐기 (discard), 통과 (bypass IPSec) 또는 IPSec 적용 (apply IPSec) 이다. - 15 -
Setkey Module : SPD 와 SAD Entry 값을조절하거나덤프하는데쓰이는모듈 (1) - 새로운 SA,SP Entry를추가 / 삭제 / 편집 - SA, SP Entry의정보출력 IPSec Module : Packet 암 복호화 / 인증등핵심기능을수행하는모듈 (2) - SPD Lookup : Inbound / Outbound Packet과 SPD의 Data Entry를비교하여해당하는 SP를찾아냄. 찾아낸 SP를기준으로 SA Entry를찾거나 SAD Lookup 과정을거쳐 SA를찾아냄. (3) - SAD Lookup : Inbound / Outbound Packet 과 SAD 의 Data Entry 를비교하여해당하 는 SA 를찾아냄 (4) - Encyrption / Decryption : 찾아낸 SA 의내용을갖고 Packet 을암 복호화하거나인증값 을추가함. 처리가끝난 Packet 은네트워크인터페이스를통해 - 16 -
(3) 시나리오 IPSec 시나리오 1) End to End security through the network End to End type 은두개의호스트가서로 IPSec 모듈을가지고있어서직접협상을거쳐다 른장비도움없이 IPSec Data 을주고받음. 두 Peer 간에 IPSec 모듈이기본적으로내장이되어있기때문에다른소프트웨어나하드웨어 장비의도움없이 FTP 나 Telnet 과같은 Application 을안전하게바로사용할수있다는점이 장점이다. 2) A VPN across the Internet VPN type. 현재가장많이쓰이는방식으로, 호스트입장에서는자신의데이터가암호화가되 는지안되는지를알수없다. 단지그냥일반적으로쓰듯이쓰면되고실제데이터에대한암호화나복호화부분은 Security Gateway 라고불리우는장비가처리를하게되어있음. - 17 -
이방식의장점은사용자가 IPSec 관련정보를몰라도된다는것. 실제 IPSec 처리를 Security Gateway 끼리처리하기때문에호스트에걸리는부하나설정방법등과같은문제는생각하지 않아도된다는장점이있음. 또한이방식은기업의지사간통신시많이이용되는데, 그이유는전용선을빌려통신을할 때보다 IPSec 을이용한 VPN (Virtual Private Network) 통신이비용면에서아주저렴하고 보안문제에있어서도더안전하기때문이다. 그래서여러개의지사가있는경우각지사와본사사이를이러한 VPN 서비스를이용하여연 결시키는경우가많다. 그리고이러한 VPN 이용시 IPSec 에서제공하는 SPDB (Security Policy Data Base) 을이용하면패킷에대한정책을결정할수있다는장점도있다. 3) The Road Warrior Road Warrior type은이동중에있는사람이 Security Gateway을통과하여그뒤쪽에있는서버와안전하게통신을하기위하여고안된방식인데출장다니는직원들이많은경우노트북에이런기능을하는프로그램을설치하고본사의서버에접속하여안전하게어떤데이터를보내거나받거나할때많이이용된다. 이방식은어떤 Peer 가 Security Gateway 와협상을하고데이터도암호화해서보내면 SG(Security Gateway) 가복호화하게되는데움직이는이동노드가많으면많을수록부하가 많이걸린다는단점이있다. - 18 -
4) The Nested Tunnel 이방법은터널을두개이용하는것이특징이다. 즉첫번째 SG (Security Gateway) 와 IPSec 을위한설정을하고다시두번째 SG (Security Gateway) 와 IPSec을위한설정을한번더한다. ( 두개의터널을이용하여 IPSec으로암호화된패킷을한번더암호화하는방식 ) 이방법은두개의 SG (Security Gateway) 를둠으로써두개의포인트를가지게된다. 그래서데 이터도보안과관련하여두단계로나누어좀더중요한데이터는안쪽에놓고다른데이터들은 바깥쪽에놓도록설계할수도있을것이다. 이렇게단계를나누어이용할수있는방식이 Nested Tunnel 방식. 이방식은두개의터널을 이용하기때문에하나만이용할때보다프로세싱파워가더들어가지만, 그만큼안전하다는장 점이있다. - 19 -
(4) 시스템환경 Host 및 Gateway 머신사양 OS CPU Memory Windows 8 64bit / Linux Debian Wheezy 64bit / PacketNgin Inter(R) Pentium(R) CPU G630 @ 2.70GHz / Inter(R) Core(TM) i5-3317u CPU @ 1.70GHz 6.00 GB / 8.00 GB 네트워크환경세팅 1) Host PC1 - Eth0 u IP : 192.168.100.1 u Netmask : 255.255.255.0 u Gateway : 192.168.100.10 2) IPSec Gateway 1 - Eth0 ( NIC for Intranet ) u IP : 192.168.100.10 u Netmask : 255.255.255.0 - Eth0:0 ( NIC for Internet ) u IP : 172.168.0.2 u Netmask : 255.255.255.0 3) IPSec Gateway 2 - Eth0 ( NIC for Intranet ) u IP : 192.168.200.10 u Netmask : 255.255.255.0 - Eth0:0 ( NIC for Internet ) u IP : 172.168.0.1 u Netmask : 255.255.255.0 4) Host PC2 - Eth0 u IP : 192.168.200.1 u Netmask : 255.255.255.0 u Gateway : 192.168.200.10-20 -
(5) 개발환경 구분양유석김종렬 OS Windows 8 64bit Windows 7 64bit CPU Inter(R) Core(TM) i5-3317u CPU @ 1.70GHz Inter(R) Pentium(R) CPU G630 @ 2.70GHz Memory 8.00 GB 6.00 GB 방법론 Agile Software Development 1) Router : PacketNgin SDK - C Tool & Language 2) Server PC : Eclipse SDK - HTML5, JavaScript, CSS 3) Host PC : Eclipse SDK - Java - 21 -
4. 프로젝트일정 구분 5 6 7 8 9 10 11 Project Plan Requirement Analysis Design Interim Report Development Testing Final Report - 22 -
5. 제출문서 구분문서명수량 졸업작품중간계획서 [2014 CD2] T12 졸업작품중간계획서.pdf 1 졸업작품계획검토확인서 패킷엔진 IPSec 매뉴얼 [2014 CD2] T12 졸업작품계획검토확인서.jpg [2014 CD2] T 12 PacketNgin IPSec Manual.pdf 1 1 6. 참고문헌및사이트 [1] PacketNgin OS : http://packetngin.org/ [2] Kame : http://www.kame.net/ [3] VPN Consortium : http://www.vpnc.org/ [4] Openssl : http://www.openssl.com/ [5] IPSec Source : https://github.com/kame/kame/ [6] IPSec Wiki : https://wiki.debian.org/ipsec/ [7] Referenced RFCs : [RFC2401] R. Atkinson, S. Kent. Security Architecture for the Internet Protocol. RFC 2401, Internet Engineering Taskforce (IETF), 1998. [RFC2402] R. Atkinson, S. Kent. IP Authentication Header (AH). RFC 2402, IETF, 1998. [RFC2403] C. Madson, R. Glenn. The Use of HMAC-MD5-96 within ESP and AH. RFC 2403, IETF, 1998. [RFC2404] C. Madson, R. Glenn. The Use of HMAC-SHA-1-96 within ESP and AH. RFC 2404, IETF, 1998. [RFC2405] C. Madson, N. Doraswami. The ESP DES-CBC Cipher Algorithm With Explicit IV. RFC 2405, IETF, 1998. [RFC2406] R. Atkinson, S. Kent. IP Encapsulating Security Payload (ESP). RFC 2406, IETF, 1998. [RFC2407] D. Piper. The Internet IP Security Domain of Interpretation for ISAKMP. RFC 2407, IETF, 1998. [RFC2408] D. Maughan, M. Schertler, M. Schneider, J. Turner. Internet Security Association and Key Management Protocol (ISAKMP). RFC 2408, IETF, 1998. [RFC2409] D. Harkins, D. Carrel. The Internet Key Exchange (IKE). RFC 2409, IETF, 1998. [RFC2857] A. Keromytis, N. Provos. The Use of HMAC-RIPEMD-160-96 within ESP and AH. RFC 2857, IETF, 2000. - 23 -