KR20090032072A - 중계장치 - Google Patents

중계장치 Download PDF

Info

Publication number
KR20090032072A
KR20090032072A KR1020097000530A KR20097000530A KR20090032072A KR 20090032072 A KR20090032072 A KR 20090032072A KR 1020097000530 A KR1020097000530 A KR 1020097000530A KR 20097000530 A KR20097000530 A KR 20097000530A KR 20090032072 A KR20090032072 A KR 20090032072A
Authority
KR
South Korea
Prior art keywords
layer
encryption
communication
protocol
tcp
Prior art date
Application number
KR1020097000530A
Other languages
English (en)
Inventor
케이코 오가와
히로츠구 오자키
Original Assignee
케이코 오가와
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 케이코 오가와 filed Critical 케이코 오가와
Priority to KR1020097000530A priority Critical patent/KR20090032072A/ko
Publication of KR20090032072A publication Critical patent/KR20090032072A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

퍼스널컴퓨터에 대해서는 소프트웨어, 혹은 하드웨어를 실장하는 등의 부담을 가지지 않고, 퍼스널컴퓨터와 외부와의 통신에 있어서, 인터넷상에서의 데이터의 「누설」 및 「위조」(falsifying), 또는 「위장」,「진입」 또는 「공격」을 막는다. 그 실현을 위해 본 발명에 있어서는, 중계장치(100)에, 각각 네트워크(200, 300)와 접속되는 NIC(Network Interface Card)드라이버(1a, 1b)가 설치되며, 이러한 NIC 드라이버(1a, 1b)를 포함한 물리층과 데이터링크층에 대하여, 임의의 2개의 노드 간에서, 루팅(routing)을 행하면서 통신하기 위한 통신방법을 규정하는 [TCP/IP](2)를 포함한 네트워크층과 트랜스포트층이 설치된다. 그리고, 이러한 데이터 링크층과 네트워크층과의 사이에, 본원 발명자가 먼저 제안한 [TCP2](3)의 기능을 설치한다.

Description

중계장치{Relay device}
본 발명은, 예를 들면 트랜스포트층에 위치하는 TCP 또는 UDP 프로토콜에 암호화 기능을 추가하여 전자화정보의 통신을 행할 때에 사용하여 매우 적합한 중계장치에 관한 것이다. 상세하게는, 통신에 있어서의 시큐리티 시스템, 특히, 인터넷상에서의 데이터의 「누설」및 「위조」(falsifying), 또는 「위장」,「진입」 또는 「공격」을 막기 위한 것이다.
본원 발명자는, 먼저 상위 애플리케이션의 프로그램을 변경하지않고, 데이터의 누설, 위조, 위장, 진입, 공격의 방지기능을 강화하기 위해, 송신측과 수신측에서 암호화·복호화 논리의 결정을 실시하고, 이것을 트랜스포트층에 존재하는 TCP 또는 UDP에 해당하는 프로토콜의 페이로드(Pay load)에 적용하는 신규 암호화 시스템 TCP 2(국제 공개 WO 2005/015827 A1호 팸플릿:이하 특허 문헌 1로 칭함)를 제공하고 있다.
최근, 인터넷을 이용한 통신은, Windows PC만 있으면, 그것을 네트워크에 접속하는 것만으로, 누구라도 네트워크상의 컴퓨터에 액세스할 수 있기 때문에, 사회 속에서 급속하게 보급 확대되고 있다. 또한, 이 인터넷 통신의 보급 확대에 수반하여, 해커(hacker)나 크래커(Cracker)가 타인의 컴퓨터 시스템에 침입하여, 소프 트웨어나 데이터를 훔쳐 보거나, 위조나 파괴를 실시하기도 한다는 사회 문제도 커지고 있다.
구체적인 부정 방해의 케이스로서는, 우선 제 1에, 중심적인 시스템을 사용할 수 없게 되도록, 네트워크로부터 대량의 메시지를 보내버려서 컴퓨터 시스템의 운용을 방해하는 시스템 방해가 있다. 이 방해에 의해서 호스트가 과부하가 되면 시스템 다운에 빠져 버리는 일도 일어날 수 있다.
또, 호스트의 패스워드를 부정하게 입수하여, 기밀 정보를 훔치거나, 정보의 위조나 파괴를 실시하기도 하는 「부정 액세스와 위장」의 부정 방해가 있다. 이 방해에는 컴퓨터가 보유하는 정보를 마음대로 고쳐 쓰고, 사람을 곤경에 빠뜨리는 비열한 일도 있다. 또, 특정의 PC에 잠입하여, 메일 어드레스나 패스워드 등 개인의 기밀 데이터를 착취하는 스파이 웨어라고 불리는 부정행위도 발생하고 있다. 이와 같이 네트워크에 접속한 컴퓨터가 가지는 데이터베이스의 내용을 부정하게 훔쳐 보는, 이른바 도청 행위도 빈번히 행해지고 있을 가능성도 부정할 수 없다.
또, 사이트 혹은 서버의 운영원으로, 의도적으로 개인정보를 훔친다고 하는 행위나, 사내에 잠복하는 스파이 등에 의한 사이버 테러(Cyber terrorism)라고 하는 위기도 전혀 없다고는 말할 수 없는 상황이다.
또한, 타인의 컴퓨터에 컴퓨터 장해를 가져오는 프로그램인 「바이러스 」를 보낸다고 하는 부정 방해가 최근 많아지고 있다. 이 보내진 바이러스에, 메일 등을 자택에서 사용한 PC가 감염되어, 그것을 사내에 접속한 순간에 사내의 PC 전체가 감염되거나, 바이러스가 컴퓨터 안의 파일을 파괴시키거나, 또는, 네트워크 전 체를 다운시키거나 하는 문제도 생기고 있다.
이 때문에, 종래의 TCP/IP(Transmission Control Protocol/Internet Protocol)나 UDP(User Datagram Protocol)를 이용한 인터넷상에서의 통신에 있어서, 데이터의 「누설」,「위조」등을 막는 기능으로서, IPsec(아이피섹크:Security Architecture for Internet Protocol)나 SSL(Secure Socket Layer)이라고 불리는 암호화 통신이 이용되고 있다.
일반적으로, 암호화 통신에는, 공통열쇠(비밀열쇠라고도 함) 암호방식과 공개열쇠 암호방식이 있지만, IPsec는 공통열쇠 암호방식을 이용한 것이 많다. 공통열쇠 암호방식이 공개열쇠 암호방식보다 암호화·복호화의 속도가 빠르다고 하는 특징이 있다. 이 IPsec에 이용되는 공통열쇠 암호방식은, 암호화와 복호화를 같은 열쇠로 실시하는 방식이며, 열쇠의 생성은 송신측 또는 수신측의 어느 쪽에서 생성해도 좋지만, 수신측과 송신측으로 공통열쇠를 사용하기 위해서, 열쇠의 교환시에 내용이 외부로 새지 않도록 세심한 주위를 기울여야만 한다.
공통열쇠 암호방식으로 이용되는 알고리즘은 DES(Data Encryption Standard:미국 IBM사가 개발한 공통열쇠(비밀열쇠) 암호화 알고리즘)가 대표적이다. IPsec도 이 DES를 암호 알고리즘의 하나로 채용하고 있다. IPsec는, IETF(Internet Engineer Task Force)가 표준화를 진행시킨 것이며, 이 특징은, 단지 특정의 애플리케이션만을 암호화하는 것이 아니라, 호스트로부터 송신되는 모든 통신을 IP레벨로 암호화하는 점에 있다.
이것에 의해 유저는 애플리케이션을 의식하지 않고 안전한 통신을 가능하게 할 수 있다. 또, IPsec는, 장래에 걸쳐서 사용할 수 있도록, 그 자체의 구조를 바꾸지 않고 사용하는 암호 알고리즘을 변경하는 것을 가능하게 하고 있다. IPsec로 이용되는 공통 암호열쇠로서는, SPI(Security Pointer Index)로 불리는 32 비트 부합이 이용되며, 열쇠 교환 프로토콜로서는, IKE(Internet Key Exchange)가 이용된다. 또한, IPsec에는, 완전성 인증을 위한 프로토콜 AH(Authentication Header)가 준비되어 있다.
또, SSL은, 미국 네트 스케이프사(현재 AOL에 흡수 합병)가 개발한 시큐리티 기능부 HTTP 프로토콜이며, 이것을 이용함으로써 클라이언트와 서버가 네트워크상에서 서로를 인증할 수 있게 되며, 신용카드 정보 등의 기밀성이 높은 정보를 암호화하여 주고 받는 것이 가능해진다. 이것에 의해, 데이터의 도청, 재발송 공격(네트워크상에 흐른 데이터를 도청하여 몇 번이나 반복하여 보내오는 공격), 위장(본인의 모습을 하고 통신함), 데이터의 위조 등을 방지할 수 있다.
도 6(a)는 종래의 IPsec를 이용한 암호화 통신을 행하는 경우의 프로토콜 스택의 예를 나타내고, 도 6(b)는 종래의 SSL을 이용한 암호화 통신을 행하는 경우의 프로토콜 스택의 예를 나타내고 있다.
OSI 참조모델은, 최하층(제 1층)이 물리층, 제 2층이 데이터링크층, 제 3층이 네트워크층, 제 4층이 트랜스포트층, 제 5층이 세션층, 제 6층이 프레젠테이션 층, 최상층(제 7층)이 애플리케이션층으로 되어 있다. 이 OSI 참조모델에 있어서의 7계층은, 통신 기능을 7단계로 나눈 것이며, 그 계층마다 표준적인 기능 모듈을 정하고 있다. 도 6(a)에서는, 제 5층의 세션층까지가 나타나고 있다. 프로토콜 스택이란, 네트워크의 각 층에 있어서의 기능을 실현하기 위한 프로토콜을 선택하여, 계층모양으로 쌓아 올린 소프트웨어 군이다.
우선, OSI 참조모델에 대하여 개략을 설명하면, 제 1층의 물리층은, 신호선의 물리적인 전기특성이나 부호의 변조방법 등을 규정한 층이다. 단지, 이 층만이 단독으로 정의·실장되는 것은 적고, 통상은, 제 2층의 데이터링크층과 함께, 예를 들면 이서네트(ethernet)의 규격, 등으로서 정의된다.
제 2층의 데이터링크층은, 데이터의 패킷화나 물리적인 노드 어드레스, 패킷의 송수신 방법 등을 규정하는 층이다. 이 층은, 물리적인 통신 매체를 통하여, 2개의 노드 간에 패킷을 교환하기 위한 프로토콜을 규정하는 것이며, 각 노드에 대하여, 어떠한 어드레스를 붙여, 그 어드레스에 의거하여 패킷의 송신지를 특정하고, 패킷을 통신매체 상에 송신한다.
통신 매체로서는, 구리배선이나 무선, 광섬유 등, 다양한 것이 있다. 또, 접속 형태(토폴로지)도, 1 대 1의 대향 접속뿐만 아니라, 버스형이나 스타형, 링형 등 많은 종류가 있다. 통신매체 상에 송신된 패킷은, 수신측 노드에 도착한 시점에서 그 노드에 받아들여지며, 또한 상위의 프로토콜 층으로 건네진다.
물리층과 데이터 링크층을 통하여 배치되는 NIC(Network Interface Card) 드라이버는, PC나 프린터 등을 구내 네트워크(LAN)에 잇기 위한 확장 보드이다. 단지 네트워크 카드라고 하는 경우는 이서네트(ethernet)에 잇는 경우가 많다.
이 NIC 드라이버에 의해, 데이터를 송신하고 싶은 노드(기기)가 케이블의 빈 상황을 감시하고, 케이블이 비면 송신을 개시하도록 하고 있다. 이때, 만약 복수 의 노드가 동시에 송신을 개시하면 케이블 내에서 데이터가 충돌하여 파괴되므로, 양자는 송신을 중지하고, 랜덤인 시간을 기다려 송신을 재개하는 것이다. 이것에 의해서 한 개의 케이블을 복수의 노드가 공유하여 서로 통신할 수 있다.
제 3층의 네트워크층은, 임의의 2개의 노드 간에서의 통신방법을 규정하는 층이다. TCP/IP로 말하면 IP층에 상당한다. 데이터링크층에서는, 동일 네트워크 매체 상의 노드 간에서의 통신을 행할 수 있지만, 그 기능을 사용하여, 네트워크상에 존재하는 임의의 2개의 노드 간에서, 루팅(routing)을 행하면서 통신하는 것이 이 네트워크층의 역할이다.
여기서, 루팅이란 TCP/IP 네트워크에 있어서 목적의 호스트까지 패킷을 송신할 때에, 최적인 경로를 선택하여 송신하는 것을 말한다. 예를 들면, 이서네트(ethernet)에서는, 동일 세그먼트(segment) 상의 노드끼리로 밖에 서로 통신할 수 없지만, 네트워크층에서는, 2개의 이서네트 세그먼트 간에서 패킷을 루팅함으로써 통신을 행한다.
또, 전화회선을 통하여 컴퓨터를 네트워크(이서네트)에 접속하는 다이얼 업 PPP(Point to Point Protocol)회선으로의 루팅, 또, 광섬유를 사용한 전용선으로의 루팅 등, 물리적인 네트워크 매체에 의하지 않고 패킷을 루팅할 수 있다. 이 목적을 위해, 통상은, 물리 매체에 의존하지 않는 어드레스(TCP/IP라면, IP어드레스)를 각 노드에 할당하고, 이것에 의거하여 루팅을 행하고 있다.
IPsec는, 이 네트워크층에서, 즉 IP레벨에서 호스트로부터 송신되는 모든 통신을 암호화하므로, 유저는 애플리케이션을 의식하지 않고 안전한 통신을 가능하게 할 수 있는 것이다.
제 4층의 트랜스포트층은, 각 노드 상에서 실행되고 있는 2개의 프로세스 간에 통신을 행하는 기능을 제공하고 있는 층이며, 프로토콜 층이다. TCP/IP로 말하면 TCP가 이것에 상당한다. 또 네트워크층에서는, 2개의 노드 간에서의 통신을 행하는 기능을 제공하고 있지만, 이것을 사용하여, 2개의 프로세스(애플리케이션) 간에서, 에러가 없는, 가상적인 통신로를 제공하는 것이 TCP의 역할이다.
즉, 네트워크층에서는 데이터를 보낼 수 있지만, 그 데이터가 확실히 상대에게 닿는다는 보증은 없다. 또, 송신한 순서에 올바르게 데이터가 닿는다는 보증도 없다. 그래서, 애플리케이션에 있어서 사용하기 쉽게 하기 위해서, 에러가 없는 통신로를 제공하는 것이 TCP이다. 필요하면 데이터의 재발송·회복처리 등을 행한다.
이 트랜스포트층에는 TCP 외에 UDP도 배치되지만, 이 UDP와 TCP의 차이는, TCP가 데이터의 보상이 되어 있는 프로토콜인 만큼, UDP보다 저속인데 대하여, UDP는 데이터 보상이 없는 만큼, 고속으로 되어 있는 점이다. 컴퓨터 간의 통신과 같이 주로 데이터를 보내는 경우에는 TCP가 이용되며, IP전화와 같이 음성이나 화상을 보내는 경우에는 UDP가 많이 이용된다. 이 통신시스템은, 본원 발명자가 특허 문헌 1에 있어서 처음으로 제안한 것이다.
제 5층의 세션층은, 세션(통신의 개시부터 종료까지)의 순서를 규정하는 층이며, 애플리케이션 간에서 커넥션을 개설하여 통신할 수 있는 상태로 하는 층이다. 이 층에 배치되는 소켓(socket)은, 컴퓨터가 가지는 네트워크 내의 주소에 맞는 IP어드레스와, IP어드레스의 서브 어드레스인 포트 번호를 조합한 네트워크 어드레스를 의미하고 있다.
컴퓨터끼리를 접속하는 경우는, 반드시 소켓(IP어드레스와 포트 번호의 그룹)을 지정하여 행한다. 도 6(b)에 나타내는 바와 같이, 종래의 대표적인 암호화 통신기술인 SSL은, 이 세션층에서 암호화 통신을 실현하고 있다.
제 6층의 프레젠테이션 층은, 세션(통신의 개시부터 종료까지)에서 교환하는 데이터의 표현 방법이나 부호화, 암호화 등을 규정하는 층이다. TCP/IP프로토콜에서는, 이 층에 상당하는 부분은 없고, 통상은 애플리케이션 자신으로 스트림 데이터의 처리를 핸들링하고 있다.
또, 제 7층의 애플리케이션 층은, 애플리케이션 간에서의 데이터의 교환을 규정하기 위한 층이며, TCP/IP프로토콜에서는 이 층에 상당하는 부분은 없다. 예를 들면, 전자 메일의 포맷이나, 문서의 내부 구조 등, 애플리케이션 간에 서로 데이터를 교환하는 경우에 필요한, 공통의 데이터 구조 등을 규정하는 층이다.
도 6(a)는, IPsec를 탑재한 표준 프로토콜 스택이지만, 우선, 물리층(제 1층)과 데이터링크층(제 2층)에, NIC(Network Interface Card) 드라이버가 설치되어 있다. 이 드라이버는, 컴퓨터 등의 하드웨어를 네트워크에 접속하기 위한 인터페이스 카드의 드라이버이며, 그 내용은 데이터 송수신 제어 소프트웨어이다. 예를 들면 이서네트에 접속하기 위한 LAN 보드 또는 LAN 카드가 이것에 상당한다.
제 3층의 네트워크층에는, 일부가 트랜스포트층(제 4층)까지 성장한 IP에뮬레이터(emulator)가 존재하고 있다. 이 트랜스포트층까지 늘어난 부분에는, 트랜 스포트로서의 기능은 실장하고 있지 않다. 세션층에, 네트워크층의 기능을 제공하고 있을 뿐이다. 이 IP에뮬레이터는, IPsec에 의한 암호화 통신을 행하는 프로토콜과, 암호화 통신을 행하지 않는 프로토콜인 IP를 용도에 따라 전환하여 사용하는 기능을 한다.
또, 제 3층의 네트워크층에는 ARP(Address Resolution Protocol)가 배치되어 있다. 이 ARP는, IP어드레스로부터 이서네트의 물리 어드레스인 MAC(Media Access Control) 어드레스를 구하는데 사용되는 프로토콜이다. MAC는, 매체 액세스 제어로 불리는, LAN 등에서 이용되는 전송제어기술이며, 데이터의 송수신 단위인 프레임의 송수신 방법이나 프레임의 형식, 잘못 정정 등을 규정하는 기술로서 이용되고 있다.
또, 이 네트워크층에는, IP의 에러 메시지나 제어 메시지를 전송하는 프로토콜인 ICMP(Internet Control Message Protocol)와, 동일한 데이터를 복수의 호스트에게 효율적으로 배송하기 위한 또는 배송을 받기 위해서 구성되는 호스트의 그룹을 제어하기 위한 프로토콜인 IGMP(Internet Group Management Protocol)가 설치되어 있다. 그리고, 네트워크층의 상위층인 트랜스포트층에는, TCP와 UDP가, 그리고 그 위층인 세션층에는 소켓(Socket) 인터페이스가 배열되어 있다.
도 6(b)는, 암호화 처리 프로토콜로서 SSL을 구비한 표준 프로토콜의 예이며, 네트워크층에 IPsec를 탑재하지 않는 대신에 소켓(세션층)에 SSL이 탑재되어 있다. 이 외의 프로토콜은 도 6(a)에 나타낸 것과 같다.
종래의 대표적인 암호화 통신기술 중에서, IPsec는, IP의 패킷을 암호화하여 송수신하는 것이며, 따라서, TCP나 UDP 등의 상위의 프로토콜을 이용하는 애플리케이션 소프트는 IPsec가 사용되고 있는 것을 의식할 필요가 없다.
또한, SSL에서는, 서로의 인증 레벨에서는 RSA(Rivest Shamir Adleman:공개열쇠암호방식을 개발자 3명의 머리 문자)공개열쇠 암호기술을 이용한 디지털 증명서가 이용되며, 데이터의 암호화에서는 DES 등의 공통열쇠 암호기술이 이용되고 있다. 이 SSL은 제 5층의 세션층에 있기 때문에, 특정의 애플리케이션에 의존하게 된다.
IPsec는, OSI에 있어서의 제 4층(트랜스포트층)보다 하위의 제 3층(네트워크층)에 있어서의 데이터의 「누설」이나 「위조」를 막는 기능으로서 실현된 것이다(R.Atkinson, 1995년 8월 [Security Architecture for the Internet Protocol] RFC1825를 참조.). 이것에 대하여, SSL은, 제 5층의 세션층에 있어서의 암호화 기술이며, 현재 인터넷에서 널리 사용되고 있는 WWW(World Wide Web)나 FTP(File Transfer Protocol) 등의 데이터를 암호화하고, 프라이버시와 관련되는 정보나 기업 비밀정보 등을 안전하게 송수신하기 위한 것이다.
도 7에 나타내는 표 1은, IPsec와 SSL의 기능을 비교하여 기재한 것이다. 이 표에서 보는 한, IPsec와 SSL은 서로 상반되는 이점과 결점이 있다.
예를 들면, 클라이언트-클라이언트 간의 통신에서는, SSL의 경우, 그 커맨드 체계와 통신내용이 주종의 관계, 즉 클라이언트/서버로 되어버리기 때문에, 서버를 통하지않고 클라이언트-클라이언트 간의 통신은 할 수 없었다. 즉, 단말 A에서 단말 B에 비밀의 데이터를 SSL에 의해 암호화하여 보내는 경우에는, 반드시 사이에 서버를 개재할 필요가 있었다. 이것에 대해서, IPsec에서는 이러한 제약이 없기 때문에 직접 통신이 가능해진다.
또, PPP(Point to Point Protocol)모바일 환경 혹은 ADSL(Asymmetric Dig ital Subscriber Line)환경에 있어서는, IPsec는, 데이터의 암호화 통신을 개시하기 전에, 암호화 방식의 결정, 열쇠의 교환, 상호인증에 사용하는 프로토콜인 IKE(Internet Key Exchange)프로토콜을 사용한 통신 중에서, 접속처 상대의 인증을 행하고 있다.
따라서, PPP모바일 환경(리모트 클라이언트) 또는, ADSL환경의 경우, IP어드레스를 고정할 수 없기 때문에, IPsec의 게이트웨이 간에서, 가장 많이 사용하고 있는 IKE의 Main모드, 즉 인증 시에 통신상대의 IP어드레스 정보를 사용하는 모드를 사용할 수 없다.
또한, 해결책으로서는, Aggressive 모드를 사용하는 것으로, ID정보에 IP어드레스를 사용하지 않아도 좋고, ID정보에 예를 들면 유저정보를 사용하여, 기존 공유열쇠에 유저의 패스워드를 사용하는 것으로 상대를 특정할 수 있다. 단, Aggressive 모드에서는 열쇠교환정보와 같은 메시지 중에서 접속처 상대의 ID를 송신하기 때문에, ID는 암호화되지 않고 평문인 채 송신하게 된다.
또, XAUTH(Extended Authentication within IKE)를 이용함으로써, 인증의 문제를 해결할 수 있지만, 파이어 월의 설정으로, 리모트 클라이언트로부터의 액세스는, IP어드레스가 불명하기 때문에, IKE, IPsec를 모두 허가로 할 필요가 있어, 시큐리티상 문제가 남는다. SSL은, 이 환경하에 있어서도, 통신하는 것이 가능하 다.
또, IPsec는, NAT(Network Address Translation)나 IP매스커레이드에 대응할 수 없다는 문제가 있다. 이들에 대응하기 위해서는, 예를 들면 UDP의 페이로드에 싣는다고 했던 다른 기능과 병용해야 한다.
NAT는, 인터넷에 접속된 기업 등이 1개의 글로벌인 IP어드레스를 복수의 컴퓨터로 공유하는 기술이며, 조직 내에서만 통용되는 IP어드레스(로컬 어드레스)와 인터넷상의 어드레스(글로벌 어드레스)를 상호 변환하는 기술이다. NAT에 대응할 수 없는 것은, IP헤더가 AH(Authentication Header)의 인증 범위에 들어가 있기 때문에, 이 로컬 어드레스로부터 글로벌 어드레스의 상호 변환을 할 수 없게 되며, 서브 네트가 다른 로컬 어드레스끼리의 통신을 할 수 없게 되기 때문이다.
또, IP매스커레이드란, LAN 내의 프라이빗 어드레스를 가지는 복수의 클라이언트로부터 인터넷에 액세스하는 것을 가능하게 하는 구조이며, 이것을 이용하면, 외부(인터넷)에서는 IP매스커레이드가 동작하고 있는 단말밖에 보이지 않기 때문에 시큐리티상에서 보고 바람직하다고 말할 수 있는 것이다. IPsec가 IP매스커레이드에 대응할 수 없는 이유는, IPsec의 ESP(Encapsulating Security Payload:암호 페이로드)헤더가 IP헤더의 바로 뒤에 있기 때문이다.
IP매스커레이드를 실장하고 있는 통상의 루터는, IP헤더의 바로 뒤에는, TCP/UDP의 포트 번호가 있다고 판단하고 있다. 따라서, IP매스커레이드를 실장하고 있는 루터를 경유하면, 이 포트 번호를 변경해 버리기 때문에, IPsec는, 위조되었다고 판단하여, 호스트의 인증을 할 수 없다는 문제가 생긴다. 이 문제는, UDP 의 페이로드에 싣기 위한 NAT-T를 서포트하는 제품을 이용하는 것으로 회피할 수 있다.
단, NAT-T의 드래프트 버전이 다르면, NAT-T대응제품끼리라도 접속할 수 없다. SSL은, 이 환경하에 있어서도, 통신하는 것이 가능하다.
이것에 대하여, 해커나 크래커라고 불리는 네트워크의 부정 침입자에 의한 TCP/IP로의 다양한 공격, 이른바 DoS공격(Denial of Service:서비스를 정지시키는 공격)에 대해서는, SSL은 무력하다. TCP/IP프로토콜 스택으로의 DoS공격, 예를 들면, TCP절단공격이 행해지면, TCP세션이 끊어져 버려 SSL의 서비스는 정지하여 버리는 것이다.
IPsec는 제 3층(IP층)에 실장하고 있기 때문에, IP층에 시큐리티 기능을 가지므로, TCP/IP(제 4층, 제 3층)로의 DoS공격을 막을 수 있다. 그러나, SSL은, TCP/IP(제 4층, 제 3층)보다 위층(제 5층)에 실장되어 있는 암호화 프로토콜이기 때문에, TCP/IP로의 DoS공격을 막을 수 없다.
또한, 물리 노이즈가 많은 통신 에러가 다발하는 열악한 통신 환경화에 있어서의 통신에 대해서는, SSL 쪽이 IPsec에 비해 효과적이다. 즉, IPsec는, 에러를 검출한 경우, 재발송 동작을 상위의 TCP에 맡기게 된다. TCP는, 재발송 데이터를 IPsec에 보내지만, IPsec는 이 재발송 데이터인 것을 인식하지 못하고, 재암호를 행해 버리는 것이다. SSL은 TCP로 에러회복 처리를 실시하므로 같은 데이터를 재암호화할 것은 없다.
또, IPsec에서는 다른 LAN 간의 통신을 할 수 없다. 즉, LAN 내의 서브네 트 어드레스의 배포관리는, LAN 내에 있는 DHCP(Dynamic Host Configuration Protocol)서버가 관리하고 있기 때문에, LAN 내에서는, 동일한 서브네트 어드레스가 할당되는 일은 없지만, 다른 LAN 간의 통신의 경우, 서로의 LAN 내에 있는 DHCP 서버가 개별적으로 서브네트 어드레스를 할당하고 있기 때문에, 동일 어드레스가 할당될 가능성이 있다.
이와 같이 동일 어드레스가 할당된 경우에는, IPsec에서는 통신할 수 없다. 단, 별로 IPsec-DHCP 서버를 세우고, 동일 어드레스가 되지 않도록 관리하면, 통신할 수 있다. SLL은 상술한 바와 같이 OSI 참조모델의 제 5층(세션층)에 위치하고 있기 때문에, 하위층의 TCP로 에러회복처리를 행할 수 있고, 상기와 같은 열악한 환경하에서도 통신하는 것이 가능해진다.
또, 다른 네트워크 환경하에 있어서의 통신에 대해서는, IPsec는, 경유하는 노드 모두를 관리하고, IPsec가 통과할 수 있도록 설정을 변경해야 하기 때문에, 관리가 힘든 일이지만, SSL은, 이 환경하에 있어서도, 경유하는 노드의 환경을 의식하지 않고 통신하는 것이 가능하다.
또, SSL은, UDP의 통신을 서포트하고 있지 않기 때문에, UDP를 암호 통신할 수 없다. TCP도 특정의 포트밖에 서포트하고 있지 않기 때문에, TCP 모든 포트를 암호 통신할 수 없다. 이것에 대하여, IPsec는, UDP에서도 TCP에서도 암호 통신할 수 있다.
또한, SSL은 애플리케이션에 대한 호환성을 가지지 않는 점에 있어서 문제가 있다. 애플리케이션은, 인터넷통신을 행할 때에 소켓(제 5층)을 프로그램 인터페 이스로서 사용한다. 이 때문에, 애플리케이션이 SSL(제 5층)을 사용하는 경우에는, 이 소켓 인터페이스를 SSL인터페이스로 변경해야 한다. 따라서, SSL에 애플리케이션의 호환성은 없다.
이것에 대하여, IPsec는, 소켓(제 5층) 아래에 위치하고 있기 때문에, 애플리케이션은, 소켓(제 5층)을 프로그램 인터페이스로서 그대로 사용할 수 있으므로 애플리케이션의 호환성이 있다. 또, IPsec는, IP어드레스 단위로 제어할 수 있음에 대해, SSL은, 소스 단위(URL단위, 폴더 단위)로 제어하게 된다.
또한, IPsec는 최대 세그먼트(segment) 사이즈가 작아진다고 하는 문제가 있다. 즉, IPsec에서는, ESP헤더, ESP트레일러를 사용하기 위해, 페이로드가 작아지므로, 프래그먼트(패킷의 분할)가 발생하여, 스루 풋이 저하한다. 또, TCP패킷에서는, 프래그먼트가 금지이므로, 엔드 엔드에서, IPsec의 통과하는 환경을 파악하고, 프래그먼트가 발생하지 않는 최대 세그먼트 사이즈를 설정할 필요가 있다. 이것에 대하여, SSL은, 통과하는 환경을 파악할 필요가 없기 때문에, 최대 세그먼트 사이즈를 설정할 필요는 없다.
이상, 표 1(도 7)에 의거하여 IPsec와 SSL의 기능 비교에 대하여 설명했지만, 상술한 바와 같이 IPsec와 SSL에는, 서로 상반되는 장점과 단점이 혼재하고 있는 것이다. 이것에 대하여, 본원 발명자는 먼저, 이들 IPsec와 SSL의 모든 장점을 포함하고, 또한 그 외에도 많은 메리트를 가지는 획기적인 암호 통신 프로토콜인 TCP2를 제안했다(특허 문헌 1 참조.).
즉 특허 문헌 1에 기재한 발명에 있어서는, 컴퓨터 단말로의 부정 침입을 막 기 위한 「암호화의 기능」을 애플리케이션·프로그램 각각에 실장할 필요가 없고, 따라서, 애플리케이션·프로그램 자체를 재작성할 필요도 없으며, 또한 상기 암호화 기능에 대응하고 있지않은 통신 상대와도 종래의 평문에 의한 통신을 할 수 있고, 또 IPsec가 이용할 수 없는 환경(혹은 이용하고 싶지 않은 상황)에서도 암호화나 인증의 혜택을 받을 수 있다.
도 8은, 본원 발명자가 먼저 특허 문헌 1에 있어서 제안한 암호화 통신시스템의 실시형태에 이용되는 프로토콜 스택을 나타내는 것이다.
이 특허 문헌 1에 기재한 발명에 이용되는 프로토콜 스택은, 도 8에 나타내는 바와 같이, OS17 계층의 물리층(제 1층)과 데이터 링크층(제 2층)에 상당하는 계층에, NIC(Network Interface Card) 드라이버(11)가 배열된다. 이 드라이버는, 이미 말한 바와 같이, 컴퓨터 등의 하드웨어를 네트워크에 접속하기 위한 인터페이스 카드의 드라이버이며, 그 내용은 데이터 송수신 제어 소프트웨어이다. 예를 들면 이서네트에 접속하기 위한 LAN보드 또는 LAN카드가 이것에 상당하는 것이다.
제 3층의 네트워크층에는, 일부가 트랜스포트층(제 4층)까지 늘어난 IP에뮬레이터(emulator)(13)가 존재하고 있다. 상기 늘어난 부분에는, 트랜스포트로서의 기능은 실장하고 있지 않다. 세션층에, 네트워크층의 기능을 제공하고 있을 뿐이다. 이 IP에뮬레이터(13)는, 암호화 통신을 행하는 프로토콜인 [IPsec on CP](13b)와, [IP on CP](13a)를 용도에 따라 전환하여 사용하는 것이다. 여기에서,[on CP]란, 크래킹·프로텍터(CP)에 의한,「진입」,「공격」의 감시, 파기, 절단 또는 통과 제한의 대상이 되어 있는 것, 또는, 설정에 의해 될 수 있는 것을 나 타내고 있다.
또, 네트워크층에는 [ARP on CP(Address Resolution Protocol on Cracking Protector)]가 배열되어 있다. 이 [ARP on CP]는, 크래커(Cracker)로의 보호 대책을 구비한 IP어드레스로부터 이서네트의 물리 어드레스인 MAC(Media Access Control)어드레스를 구하는데 사용되는 프로토콜이다. MAC는, 매체 액세스 제어로 불리는, LAN 등에서 이용되는 전송 제어기술이며, 데이터의 송수신 단위인 프레임의 송수신 방법이나 프레임의 형식, 잘못 정정 등을 규정하는 기술로서 이용되고 있다.
여기서, IP에뮬레이터(13)는, 본 발명에 의한 각종의 시큐리티 기능을, 종래의 IP주변의 스택에 정합(整合)시키기 위한 소프트웨어 또는 펌웨어이다. 즉, IP의 에러 메시지나 제어 메시지를 전송하는 프로토콜인 ICMP(Internet Control Message Protocol)(14a), 동일한 데이터를 복수의 호스트에 효율적으로 배송하기 위한 또는 배송을 받기 위해서 구성되는 호스트의 그룹을 제어하기 위한 프로토콜인 IGMP(Internet Group Management Protocol)(14b), TCP(15), UDP(16) 또는 소켓(Socket) 인터페이스(17)에 정합시키기 위한 소프트웨어, 또는 펌웨어, 또는는 하드웨어(전자 회로, 전자 부품)이다. 이 IP에뮬레이터(13)에 의해, IPsec의 암호화·복호화 및 필요한 인증정보부가·인증 등의 전후의 적합처리를 행할 수 있다.
이 IP에뮬레이터(13)의 위층의 트랜스포트층(제 4층)에는, TCP에뮬레이터(15)와 UDP에뮬레이터(16)가 배치되어 있다. TCP에뮬레이터(15)는, 암호화통신 을 행하는 프로토콜인 [TCPsec on CP](15b)와, 통상의 통신 프로토콜인 [TCP on CP](15a)를 용도에 따라 전환하여 사용하는 기능을 한다. 마찬가지로 UDP에뮬레이터(16)는, 암호화 통신을 실시하는 프로토콜인 [UDPsec on CP](16b)와, 통상의 통신 프로토콜인 [UDP on CP](16a)를 용도에 따라 전환하여 사용하는 기능을 한다.
이 특허 문헌 1에서 가장 특징으로 해야 할 점은, 이 트랜스포트층(제 4층)에, TCPsec(15b)와, UDPsec(16b)의 암호화 통신 프로토콜을 탑재한 것이다. TCPsec(15b)와 UDPsec(16b)에 대해서는 후술한다.
이 트랜스포트층(제 4층)의 위층의 세션층(제 5층)에는, TCP 및 UDP 등의 프로토콜과 데이터의 교환을 행하는 소켓(socket) 인터페이스(17)가 설치되어 있다. 이 소켓의 의미는, 이미 기술한 바와 같이 컴퓨터가 가지는 네트워크 내의 주소에 해당되는 IP어드레스와, IP어드레스의 서브 어드레스인 포트 번호를 조합한 네트워크 어드레스를 의미하고 있고, 실제로는, 일련의 헤더의 추가 또는 삭제를 정리하여 행하고, 단일의 소프트웨어 프로그램 모듈(module)(실행 프로그램 등) 혹은 단일의 하드웨어 모듈(전자 회로, 전자 부품 등)로 이루어져 있다.
이 소켓 인터페이스(17)는, 또한 상위의 애플리케이션으로부터의 통일적인 액세스 방식을 제공하는 것이며, 인수의 종류나 형태 등 종래와 같은 인터페이스를 유지하도록 하고 있다.
TCP 에뮬레이터(15)는, 트랜스포트층에 있어서, 데이터의 누설·위조의 방지기능, 즉 암호화, 완전성 인증 및 상대 인증 등의 기능을 가지는 TCPsec(15b)와, 이러한 암호화, 완전성 인증 및 상대 인증 등의 기능을 가지지 않는 통상의 프로토 콜 TCP(15a)의 어느 한쪽에 패킷을 배분하는 기능을 갖고 있다. 또, TCPsec(15b) 및 TCP(15a)의 어느 쪽도 크래킹·프로텍터(CP)를 갖추고 있기 때문에, 그 어느 한쪽을 선택한 경우여도, 크래커에 의한「진입」,「공격」에 대하여 방어하는 기능을 실현할 수 있다. TCP 에뮬레이터(15)는 상위층인 소켓과의 인터페이스의 역할도 다하고 있다.
또, 이미 기술한 바와 같이 TCP가 에러보상기능을 가지는 것에 대하여, UDP는 에러보상기능을 가지지 않지만, 그만큼 전송 속도가 빠르고, 또한 브로드캐스트 기능을 갖추고 있다는 특징이 있다. UDP에뮬레이터(16)는, TCP 에뮬레이터(15)와 마찬가지로, 데이터의 누설·위조의 방지기능, 즉 암호화, 완전성 인증 및 상대 인증 등의 기능을 가지는 UDPsec(16b)와, 이러한 암호화, 완전성 인증 및 상대 인증 등의 기능을 가지지 않는 통상의 프로토콜 UDP(16a)의 어느 한쪽에 패킷을 배분하는 기능을 가지고 있다.
도 8에 나타내는 바와 같이, 소켓(17), TCP에뮬레이터(15), UDP에뮬레이터(16), [TCPsec on CP](15b), [UDPsec on CP](16b), [TCP on CP](15a), [UDP on CP](16a), [ICMP on CP](14a), [IGMP on CP](14b), IP에뮬레이터(13), [IP on CP](13a) 및 [ARP on CP](12)로 이루어지는 프로토콜 스택이 본 발명의 암호화 처리를 행하기 위한 프로토콜 스택이며, 이하, 이 프로토콜 스택을 총칭하여 TCP2라고 부르기로 한다.
또한, TCP2에는 [IPsec on CP](13b)는 필수의 것으로서 포함되어 있지 않지만, [IP sec on CP](13b)를 포함하여 TCP2로 할 수도 있다.
특허 문헌 1에 개시되어 있는 TCP2에는, 상술한 암호화 처리를 행하기 위한 프로토콜 스택 외에, TCP, UDP, IP, IPsec, ICMP, IGMP, ARP의 표준 프로토콜 스택도 포함하고 있다. 그리고, 이러한 표준 프로토콜에 CP(크래킹·프로텍터)를 실장하고, 각 프로토콜 스택에 대한 통신으로부터의 공격 및 애플리케이션·프로그램으로부터의 공격(트로이의 목마, 프로그램의 위조, 정규 유저의 부정사용 등)을 방어할 수 있도록 하고 있다.
또, TCP2에서는, TCP에뮬레이터(15)를 실장하고, 이 TCP에뮬레이터(15)는, 세션층에 있는 소켓(Socket)(17) 및 네트워크층에 있는 IP에뮬레이터(13)로부터 보고, 호환성을 유지하기 때문에, 바깥 방향에는 표준 TCP와 같게 보이게 할 수 있다. 실제로는, TCP2의 기능으로서, TCP와 TCPsec를 전환하여 실행한다. TCPsec는, 본 발명인 트랜스포트층에서의 암호화 및 인증 기능이다.
또, 마찬가지로, TCP2에서는, UDP에뮬레이터(16)를 실장하고 있고, UDP에뮬레이터(16)는, 세션층인 소켓(Socket)(17) 및 네트워크층인 IP에뮬레이터(13)로부터 보고, 호환성을 유지하기 때문에, 외부에서는 표준 UDP로서 보일 수 있다. 실제로는, TCP2의 기능으로서, UDP, UDPsec를 전환하여 실행한다. UDPsec는, 특허 문헌 1에 기재한 발명인 트랜스포트층에서의 암호화 및 인증 기능이다.
다음에, TCP2에 있어서, 특히 중요한 기능인「데이터 누설」을 막는 기능인 TCPsec(15b) 및 UDPsec(16b)에 대하여 설명한다.
TCPsec(15b) 및 UDPsec(16b)를 위한 암호화·복호화의 방법(알고리즘, 로직(논리))으로서는, 공지의 비밀열쇠(공통열쇠)암호 알고리즘이 이용된다. 예를 들 면, 1960년대에 IBM사에 의하여 개발된 비밀열쇠 암호 알고리즘인 DES(Data Encryption Standard)나, 그 개량판으로서의 3DES가 이용된다.
또, 그 외의 암호 알고리즘으로서는, 1992년에 스위스 공과대학의 James L.Massey씨와 Xuejia Lai씨에 의해서 발표된 IDEA(International Data Encryption Algorithm)도 이용된다. 이 암호 알고리즘은, 데이터를 64비트의 블록에 구분지어 암호화하는 것으로 암호열쇠의 길이는 128비트이다. 비밀열쇠 암호를 효율적으로 해독하는 선형해독법이나 차분해독법에 대해서도 충분한 강도를 가지도록 설계되어 있다.
또, 특허 문헌 1에 기재한 발명에 이용되는 TCPsec(15b) 및 UDPsec(16b)의 암호방식으로서, FEAL(Fast data Encipherment Algorithm), MISTY, AES(Advanced Encryption Standard)라고 하는 암호방식도 이용되는 것 외에 또, 독자적으로 작성한 비밀의 암호화·복호화 알고리즘을 이용할 수 있다. 여기서, FEAL는, 일본 전신전화 주식회사(당시)가 개발한 암호방식으로, 암호화와 복호화에 같은 열쇠를 이용하는 비밀열쇠형의 암호방식이다. 이 FEAL은, DES에 비해 고속으로 암호화와 복호화를 할 수 있다는 이점이 있다.
다음에, 같은 특허 문헌 1에 기재한 발명에 이용되는 암호방식인 MISTY는, 미츠비시 전기 주식회사가 개발한 비밀열쇠형의 암호방식이며, IDEA와 마찬가지로 데이터를 64비트의 블록에 구분지어 암호화한다. 열쇠의 길이는 128비트이다. 암호화와 복호화에는 같은 프로그램이 사용되는 점은 DES 등과 같다. 이 방식도 비밀열쇠 암호를 효율적으로 해독하는 선형해독법이나 차분해독법에 대해서도 충분 한 강도를 가지도록 설계되어 있다.
또, AES는, 미국 상무성 표준 기술국에 의해서 선정작업이 행해지고 있는, 미국 정부의 차세대 표준암호화방식이며, 현재의 표준적인 암호방식인 DES에 대신하는 차세대의 암호표준으로서 개발이 진행된 것이다. 세계에 공모하여 모아진 몇 개의 암호방식 중에서, 2000년 10월에, 벨기에의 암호개발자 Joan Daemen씨와 Vincent Rijmen씨가 개발한 Rijndael라고 하는 방식이 채용되었다.
이와 같이, 특허 문헌 1에 기재한 발명에 적용되는 TCPsec(15b) 및 UDPsec(16b)의 암호방식으로서는, 이미 알려져 있는 다양한 비밀열쇠의 암호 알고리즘을 채용할 수 있는 것 외에, 유저가 독자적으로 개발한 비밀열쇠(공통열쇠) 암호방식도 이용하는 것이 가능하다.
또한, 이른바 「위장」및 「데이터의 위조」등을 막기 위한 「상대 인증」및 「완전성 인증」방법으로서, 공개열쇠나 사전 비밀공유(Pre-shared)를 이용한 알고리즘, 예를 들면, MD5(Message Digest 5), SHA1(Secure Hash Algorithm 1) 등의 인증 알고리즘이 이용된다. 또, 이러한 공지의 인증 알고리즘에 대신하여 독자적인 한쪽 방향 함수를 이용한 알고리즘을 채용할 수도 있다.
이 MD5는, 인증이나 디지털 서명에 이용되는 해시함수(한 방향 요약함수)의 하나이며, 원문을 바탕으로 고정길이의 해시 값을 발생하고, 이것을 통신 경로의 양단으로 비교함으로써, 통신 도중에 원문이 위조되어 있지 않은지를 검출할 수 있는 것이다. 이 해시 값은 의사(擬似)적인 난수와 같은 값을 취해, 이것을 기본으로 해서는 원문을 재생할 수 없도록 되어 있다. 또, 같은 해시 값을 생성하는 다 른 메시지를 작성하는 것도 곤란하게 되어 있다.
SHA1도, 인증이나 디지털 서명 등에 사용되는 해시 함수의 하나이며, 2의 64 승 비트 이하의 원문에서 160비트의 해시 값을 생성하고, 통신 경로의 양단으로 비교함으로써, 통신 도상의 원문의 위조를 검출하는 것이다. 이 인증 알고리즘은 종래의 인터넷의 암호화 통신의 대표적인 것인 IPsec에도 채용되어 있다.
또한, 이러한 인증 알고리즘에 대해서는, DH(Diffie-Hellman) 공개열쇠 배송법이나, IPsec와 같은 IKE(Internet Key Exchange) 프로토콜(UDP의 500번) 등에 의해 안전한 열쇠 교환을 할 수 있도록 설계되며, 또한, 정기적으로 암호화/완전성 인증 알고리즘(논리) 자체나 그것을 위한 열쇠의 집합/정의역이 변경되도록, 프로토콜 드라이버 프로그램(TCPsec(15b), UDPsec(16b) 등)에 의해 스케줄이 되어 있다.
상술한 바와 같이 특허 문헌 1에 기재한 발명에 있어서는, 본원 발명자가 제안하는 TCP2를 이용함으로써, 상위 애플리케이션의 프로그램을 변경하지 않고, 데이터의 누설, 위조, 위장, 진입, 공격의 방지 기능을 강화하기 위해, 송신측과 수신측으로 암호화·복호화 논리의 상호결정을 행하고, 이것을 트랜스포트층에 존재하는 TCP 또는 UDP에 해당하는 프로토콜의 페이로드에 적용하는 신규 암호화 시스템을 실현할 수 있다.
그런데 상술한 특허 문헌 1에 기재한 발명에 있어서는, 본원 발명자가 제안하는 TCP2를 퍼스널컴퓨터상에 소프트웨어, 혹은 하드웨어의 형태로 실장하고 있다. 그렇지만 이러한 소프트웨어, 혹은 하드웨어를 퍼스널컴퓨터상에 실장하기 위해서는, 그 실장을 위한 작업이 필요하고, 또 이러한 소프트웨어, 혹은 하드웨어의 실장에 의해서, 퍼스널컴퓨터 자체의 부담도 증대해 버린다.
즉, 소프트웨어, 혹은 하드웨어를 퍼스널 컴퓨터상에 실장하려면, 상술한 바와 같이 그 실장을 위한 작업이 필요하고, 또 퍼스널컴퓨터 자체의 부담도 증대해 버리는 것이다. 또한, 상술의 TCP2를 이용하는 암호화 시스템은, 인터넷상에서의 데이터의 「누설」및 「위조」, 또는「위장」,「진입」또는「공격」을 막기 위한 것이며, 오로지 퍼스널컴퓨터와 외부와의 통신에 있어서 이용되는 것이다.
이 발명은 이러한 문제점을 감안하여 이루어진 것이며, 본 발명의 목적은, 퍼스널컴퓨터에 대해서는 소프트웨어, 혹은 하드웨어를 실장하는 등의 부담을 가지지 않고, 퍼스널컴퓨터와 외부와의 통신에 있어서, 간단한 수단으로 본원 발명자가 먼저 제안한 TCP2의 기능을 실현할 수 있도록 하는 것이다.
상기의 과제를 해결하여, 본 발명의 목적을 달성하기 위해, 청구항 1에 기재된 발명은, 트랜스포트층에 위치하는 TCP 또는 UDP 프로토콜에 암호화 기능을 추가하여 전자화 정보의 통신을 행할 때에 이용되는 중계장치이며, 대면하는 상대 장치와의 사이에 대응하는 암호화 및 복호화 논리를 결정하는 결정수단과, 송수신하는 정보 단위로서의 패킷 중, 적어도 프로토콜의 페이로드를 결정수단에 의해 결정한 암호화 논리에 따라서 암호화하여 송신하는 프로토콜 암호화 수단과, 수신한 암호화된 TCP 또는 UDP프로토콜의 페이로드를 결정수단에 의해 결정한 복호화 논리에 따라서 복호화하는 프로토콜 복호화수단을 갖추고, 트랜스포트층의 TCP 또는 UDP 프로토콜을 이용하여 암호화 및 복호화 논리에 의거한 통신을 행하는 것을 특징으로 하는 중계장치이다.
또, 청구항 2의 기재에 의한 중계장치에 있어서는, 암호화 및, 복호화 논리의 결정수단에 의한 결정후보가 될 수 있는 암호화 및 복호화 논리를 메모리에 기억 또는 회로에 실장하고, 이 기억 또는 실장한 결정후보가 될 수 있는 암호화 및 복호화 논리를 정기적으로 변경하는 논리변경수단을 더 갖춘 것을 특징으로 하는 것이다.
청구항 3의 기재에 의한 중계장치에 있어서는, 암호화 및 복호화 논리의 결정수단이, 암호화 및 복호화 논리에 관련하여, 암호화를 하지 않고 평문을 취급하는 취지를 결정할 수 있도록 한 것이다.
도 1은, 본 발명을 적용한 중계장치의 실시형태의 구성을 나타내는 블럭도이다.
도 2는, TCP2를 암호통신 및 인증을 행하는 통신회선 상에 접속하는 시큐리티 게이트웨이로서 실현되는 개념도이다.
도 3은, 본 발명에 의한 중계장치를 적용한 구체적인 통신 네트워크의 실시형태를 나타내는 구성도이다.
도 4는, 종래의 기술과의 비교설명을 행하기 위한 표 도면이다.
도 5는, 종래의 기술과의 비교설명을 행하기 위한 설명도이다.
도 6은, 종래의 IPsec 및 SSL를 이용한 표준적인 통신의 프로토콜 스택을 나 타내는 도면이다.
도 7은, 종래의 기술의 설명을 행하기 위한 표 도면이다.
도 8은, 본원 발명자가 먼저 제안한 TCP2의 프로토콜 스택을 나타내는 도면이다.
<도면의 주요부분에 대한 부호의 설명>
1a, 1b, 11. NIC 드라이버 2. TCP/IP
3. TCP2 4. 외부 회로
12. ARP on CP 13. IP 에뮬레이터
13a. IP on CP 13b. IPsec on CP
14a. ICMP 14b. IGMP
15. TCP 16. UDP
17. 소켓 인터페이스 100, 101, 102. 중계장치
200, 201, 202, 300. 네트워크 401, 402. 기존의 통신기기
411, 412, 413, 420. 퍼스널 컴퓨터
이하, 도면을 참조하여 본 발명을 설명하는데, 도 1은 본 발명을 적용한 중계장치의 실시형태의 구성을 나타내는 블럭도이다.
도 1에 있어서, 중계장치(100)는, 그 자체가 퍼스널컴퓨터와 동등의 기능을 가지고있는 것이다. 그래서 이 중계장치(100)에는, 각각 네트워크(200, 300)와 접속되는 NIC(Network Interface Card)드라이버(1a, 1b)가 설치된다. 또 이러한 NIC드라이버(1a, 1b)를 포함한 물리층과 데이터 링크층에 대해서, 네트워크(200, 300) 상에 존재하는 임의의 2개의 노드 간에서, 루팅(routing)을 행하면서 통신하기 위한 통신방법을 규정하는 [TCP/IP]2를 포함한 네트워크층과 트랜스포트층이 설치된다.
그리고 이러한 데이터링크층과 네트워크층과의 사이에, 본원 발명자가 먼저 제안한 [TCP2]3의 기능을 설치할 수 있다. 즉 이 [TCP2]3의 기능은, 소프트웨어, 혹은 하드웨어로서 설치할 수 있는 동시에, 또한 이 [TCP2]3의 기능을 제어하거나, 암호화 및 복호화 논리를 정기적으로 변경하거나, 필요에 따라서 암호화를 하지 않고 평문을 취급하는 취지의 결정을 하거나 하기 위한 수단을, 외부 기능(EXP.)4로서 설치할 수 있다.
따라서, 이 실시 형태에 있어서, 본원 발명자가 먼저 제안한 TCP2의 기능을 중계장치에 장비하도록 한 것에 의해서, 퍼스널컴퓨터에 대해서는 소프트웨어, 혹은 하드웨어를 실장하는 등의 부담을 가지지 않고, 퍼스널컴퓨터와 외부와의 통신에 있어서, 인터넷상에서의 데이터의 「누설」및 「위조」(falsifying), 또는 「위장」,「진입」또는「공격」을 막을 수 있다.
즉, 본 발명의 중계장치(100)는, 예를 들면 개념도를 도 2에 나타내는 바와 같이, TCP2를 암호통신 및 인증을 행하는 통신회선 상에 접속하는 시큐리티 게이트웨이로서 실현된다.
이 도 2에 있어서 TCP2를 포함한 중계장치(101,102)는, 통신의 물리 인터페이스에 의존하지 않기 때문에, 여러 가지 인터페이스에 접속할 수 있다. 여기에 서는, 이서네트, FDDI, PPP, 무선 LAN, IEEE1394를 포함한 여러 가지 통신 인터페이스를 인터페이스A(네트워크(300)), 인터페이스B(네트워크(201,202))로 한다.
그리고 중계장치(101)는, 인터페이스A로부터의 기존의 통신데이터를 입력하고, TCP2로 암호화하여, 인터페이스B에 암호데이터로서 출력한다. 또, 중계장치(102)는, 인터페이스B로부터의 암호화한 통신데이터를 입력하고, TCP2로 복호화하여, 인터페이스A에 기존의 통신데이터로서 출력한다. 또한, 중계장치(101,102)란, 통신을 개시할 때에, 서로의 TCP2를 인증하는 기능이 있고, 인증할 수 없는 경우는, 통신을 강제 종료한다.
그래서, 이러한 통신시스템에 있어서, 기존의 통신기기(401)와 중계장치(101), 기존의 통신기기(402)와 중계장치(102)의 사이는, 각각 기존의 통신데이터가 교환되지만, 중계장치(101)와 중계장치(102)의 사이는 암호 통신데이터가 교환되게 되며, 이 부분에서의 데이터의 「누설」 및 「위조」, 또는 「위장」, 「진입」 또는 「공격」을 막을 수 있다.
또 도 3에는, 더 구체적인 통신 네트워크의 실시형태를 나타낸다. 도 3에 있어서, 호스트컴퓨터 A측에는, 복수의 퍼스널컴퓨터(411, 412, 413)가 이서네트 등의 네트워크(201)에 의해서 접속되어 있고, 이른바 LAN(Local Area Network) 환경이 형성되어 있다. 따라서, 이 경우에 외부 네트워크(300)와의 접속을 행하기 위한 중계장치(101)는 루터이다.
또한, 호스트컴퓨터 B측에는 단독의 퍼스널컴퓨터(420)가 설치되어 있다. 따라서, 이 경우에 외부 네트워크(300)와의 접속을 행하기 위한 중계장치(102)는 게이트웨이이며, 퍼스널컴퓨터(420)와의 사이는, 예를 들면 이서네트에 의한 네트워크(202)에 의해서 접속되어 있다. 그리고, 이 경우의 외부 네트워크(300)도, 예를 들면 이서네트에 의해 접속되어 있는 것이다.
그리고, 이러한 통신 네트워크에 있어서는, 네트워크(201, 202)의 범위는 기존의 통신데이터에 의한 교환이 행해지며, 외부 네트워크(300)의 부분에 있어서, 암호 통신데이터에 의한 교환이 행해지게 된다. 그리고 이 외부 네트워크(300)의 부분에서의 데이터의 「누설」 및 「위조」 또는 「위장」, 「진입」 또는 「공격」을 막을 수 있다.
이렇게 하여 본 발명의 중계장치에 의하면, 트랜스포트층에 위치하는 프로토콜을 암호화하여 전자화정보의 통신을 행할 때에 이용되며, 대면하는 상대 장치와의 사이에 대응하는 암호화 및 복호화 논리를 결정하는 결정수단과, 송수신하는 정보 단위로서의 패킷 중, 적어도 프로토콜의 페이로드를 결정수단에 의해 결정한 암호화 논리에 따라서 암호화하여 송신하는 프로토콜 암호화 수단과, 수신한 암호화된 프로토콜의 페이로드를 결정수단에 의해 결정한 복호화 논리에 따라서 복호화하는 프로토콜 복호화 수단을 갖추고, 트랜스포트층의 프로토콜을 이용하여 암호화 및 복호화 논리에 의거한 통신을 행함으로써, 퍼스널컴퓨터에 대해서는 소프트웨어, 혹은 하드웨어를 실장하는 등의 부담을 가지지 않고, 퍼스널컴퓨터와 외부와의 통신에 있어서, 인터넷상에서의 데이터의 「누설」 및 「위조」, 또는 「위장」, 「진입」 또는 「공격」을 막을 수 있는 것이다.
마지막으로, 본 발명의 TCP2가, 종래의 IPsec 혹은 SSL과 비교하여 어떻게 우위일지 라는 점에 대해서, 도 4에 나타내는 표 2 및 도 5에 의거하여 설명한다. 도 4의 표 2는, 상술한 도 7의 표 1의 IPsec와 SSL의 기능비교표에 TCP2의 기능을 추가하여 나타낸 것이다.
이 표 2에서 분명한 바와 같이, IPsec 및 SSL이 가지고 있는 여러 가지 문제점(이것들에 대해서는 배경기술에 있어서 나타냈다)을, TCP2를 채용함으로써 모두 해결하고 있는 것을 알 수 있다. 예를 들면, SSL에서는 대응이 곤란했던, 클라이언트-클라이언트 간의 통신, TCP/IP프로토콜로의 DoS공격, 모든 UDP포트 혹은 TCP포트의 시큐어인 통신, 소켓 프로그램을 변경해야 했던 애플리케이션에서의 제한 등에, TCP2는 완전하게 대응하고 있다.
또, IPsec에서는 대응이 곤란했던, 에러가 다발하는 열악한 환경하에서의 통신, 다른 LAN 간에서의 통신, 복수 커리어 경유의 접속, PPP모바일 환경, ADSL환경에서의 통신에 대해서도, TCP2는 완전하게 서포트하고 있다. 또한, 모바일환경 하나 ADSL환경하에서, VoIP(Voice over Internet Protocol)를 사용한 인터넷에 대해서는, IPsec 및 SSL도 표 1 및 표 2에 나타내는 바와 같이 문제가 있지만, 본 발명의 TCP2에 의하면, 어느 쪽의 환경하에서도 대응가능하다.
또, 다른 LAN 간에서 VoIP를 사용한 인터넷 전화에 대해서도, IPsec와 SSL에서는 대응이 불가능했지만, 본 발명의 TCP2에 의하면 완전하게 대응할 수 있다.
도 5는, TCP2의 우위성을 설명하기 위한 도면이지만, 시큐리티가 없는 프로토콜 스택(a)에, 종래의 SSL을 적용한 케이스(b)와, IPsec를 적용한 케이스(c)와, 본 발명의 TCP2(TCPsec/UDPsec)를 적용한 케이스(d)를 비교하여 나타내고 있다.
도 5(b)의 SSL은 이미 기술한 바와 같이, 세션층(제 5층)의 소켓에 설치되어 있으므로, 상위의 애플리케이션에 대한 호환성이 없는 것이다. 이 때문에, SSL 자체, 상술한 바와 같은 문제를 떠맡게 되어 있다. 또 도 5(c)의 IPsec는, 네트워크층(제 3층)에 있고, IP층에서의 호환성이 없기 때문에, 네트워크를 구성하는데 있어서 상술한 바와 같은 여러 가지 제약을 받게 된다.
이것에 대하여, 도 5(d)의 TCP2(TCPsec/UDPsec)는, 트랜스포트층(제 4층)에 도입하는 암호화 기술이며, 이 때문에 애플리케이션으로부터 보면 소켓을 그대로 이용할 수 있고, 또 네트워크로부터 보면 IP도 그대로 이용할 수 있으므로 네트워크를 구성하는데 있어서의 제약은 받지 않는다.
이상과 같이, 본 발명의 중계장치는, 본원 발명자가 먼저 제안한 TCP2를 이용함으로써, 기존의 암호화처리 시스템에 비해서도, 특히 데이터의 누설, 위조, 위장, 진입 그리고 공격에 대해서 극히 높은 시큐리티 기능을 가지는 것이다.
또한, 본 발명은, 이상 설명한 실시형태에 한정되는 것이 아니고, 특허 청구의 범위에 기재한 본 발명의 요지를 일탈하지 않는 범위에 있어서, 더 많은 실시 형태를 포함하는 것임은 말할 필요도 없다.

Claims (3)

  1. 트랜스포트층에 위치하는 TCP 또는 UDP 프로토콜에 암호화 기능을 추가하여 전자화 정보의 통신을 행할 때에 이용되는 중계장치이며,
    대면하는 상대 장치와의 사이에 대응하는 암호화 및 복호화 논리를 결정하는 결정수단과,
    송수신하는 정보단위로서의 패킷 중, 적어도 상기 프로토콜의 페이로드(Pay load)를 상기 결정수단에 의해 결정한 암호화 논리에 따라서 암호화하여 송신하는 프로토콜 암호화 수단과,
    수신한 상기 암호화된 TCP 또는 UDP 프로토콜의 페이로드를 상기 결정수단에 의해 결정한 복호화 논리에 따라서 복호화하는 프로토콜 복호화 수단을 갖추고,
    상기 트랜스포트층의 TCP 또는 UDP 프로토콜을 이용하여 상기 암호화 및 복호화 논리에 의거한 통신을 행하는 것을 특징으로 하는 중계장치.
  2. 제 1항에 있어서,
    상기 암호화 및 복호화 논리의 결정수단에 의한 결정후보가 될 수 있는 암호화 및 복호화 논리를 메모리에 기억 또는 회로에 실장하고,
    상기 기억 또는 실장한 결정후보가 될 수 있는 암호화 및 복호화 논리를 정기적으로 변경하는 논리변경수단을 더 갖춘 것을 특징으로 하는 중계장치.
  3. 제 1항 또는 2항에 있어서,
    상기 암호화 및 복호화 논리의 결정수단이, 상기 암호화 및 복호화 논리에 관련하여, 암호화를 하지않고 평문을 취급하는 취지를 결정할 수 있도록 한 것을 특징으로 하는 중계장치.
KR1020097000530A 2009-01-09 2006-07-13 중계장치 KR20090032072A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020097000530A KR20090032072A (ko) 2009-01-09 2006-07-13 중계장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020097000530A KR20090032072A (ko) 2009-01-09 2006-07-13 중계장치

Publications (1)

Publication Number Publication Date
KR20090032072A true KR20090032072A (ko) 2009-03-31

Family

ID=40697508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000530A KR20090032072A (ko) 2009-01-09 2006-07-13 중계장치

Country Status (1)

Country Link
KR (1) KR20090032072A (ko)

Similar Documents

Publication Publication Date Title
JP3783142B2 (ja) 通信システム、通信装置、通信方法、及びそれを実現するための通信プログラム
US20100077203A1 (en) Relay device
US7043633B1 (en) Method and apparatus for providing adaptive self-synchronized dynamic address translation
TWI274487B (en) Password device and method, password system
US20080141020A1 (en) Method and Apparatus for Providing Secure Streaming Data Transmission Facilities Using Unreliable Protocols
US8046820B2 (en) Transporting keys between security protocols
Meier et al. itap: In-network traffic analysis prevention using software-defined networks
JP4757088B2 (ja) 中継装置
JP4783665B2 (ja) メールサーバ装置
JP2006295401A (ja) 中継装置
KR20090032072A (ko) 중계장치
JP2007019633A (ja) 中継コネクタ装置及び半導体回路装置
JP4866150B2 (ja) Ftp通信システム、ftp通信プログラム、ftpクライアント装置及びftpサーバ装置
KR20110087972A (ko) 세션 테이블을 이용한 비정상 트래픽의 차단 방법
JP2007019632A (ja) 通信ボード装置及び通信方法
JP2007329750A (ja) 暗号化通信システム
JP2008060817A (ja) 通信システム、ウェブサーバ装置、クライアント装置、通信を行うための通信プログラム及びプログラムを記録した記録媒体
JP2007329751A (ja) 暗号化通信システム
WO2008021159A2 (en) Enforcing security groups in network of data processors

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application