KR20040084996A - 패킷과 패킷 인증 방법 및 구조 - Google Patents

패킷과 패킷 인증 방법 및 구조 Download PDF

Info

Publication number
KR20040084996A
KR20040084996A KR1020040020612A KR20040020612A KR20040084996A KR 20040084996 A KR20040084996 A KR 20040084996A KR 1020040020612 A KR1020040020612 A KR 1020040020612A KR 20040020612 A KR20040020612 A KR 20040020612A KR 20040084996 A KR20040084996 A KR 20040084996A
Authority
KR
South Korea
Prior art keywords
packet
header
authentication
mode
transport
Prior art date
Application number
KR1020040020612A
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 아바야 테크놀러지 코퍼레이션
Publication of KR20040084996A publication Critical patent/KR20040084996A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

패킷을 인증하는 구조가 제공되어, 패킷-패킷은 전송, 세션 및 프레젠테이션 헤더 부분 중 적어도 하나를 포함함-을 수신하도록 작동하는 입력(322)과, 패킷의 컨텐츠 중 적어도 일부에 근거하여 제 1 메시지 인증 코드를 계산하고 전송, 제 1 메시지 인증 코드를 세션 및 프레젠테이션 헤더 부분 중 적어도 하나의 제 2 메시지 인증 코드와 비교하여, 패킷을 인증하도록 동작하는 전송 에이전트(312)를 포함한다.

Description

패킷과 패킷 인증 방법 및 구조{METHOD TO AUTHENTICATE PACKET PAYLOADS}
본 발명은 일반적으로는 인증(authentication)에 관한 것이고, 구체적으로는, 패킷 페이로드(packet payloads)의 인증에 관한 것이다.
매년, 컴퓨터 해킹, 바이러스 및 다른 타입의 네트워크 공격의 발생이 증가하고 더욱 복잡해짐에 따라 효율적인 네트워크 보안 필요성이 증가하고 있다. 전자 상거래는 서비스 거부(Denial-of-Service: DoS) 공격으로 알려진 새로운 타입의 네트워크 공격이 등장하게 했다. DoS 공격에서, 표준 전송 제어 프로토콜(Transmission Control Protocol: TCP)을 이용하여 두 애플리케이션 사이에 데이터를 연속 전송할 때, 부당한 제 3 자가 패킷 스트림에 거짓 패킷(false packet)을 주입하거나 "폴드(fold)"할 수 있다. TCP 위에 있는 보안 프로토콜(예컨대, 보안 소켓 계층(Secure Sockets Layer: SSL) 또는 전송 계층 보안(Transport Layer Security: TLS))에 의한 탐지를 피하기 위해, 거짓 패킷은 잘 형성되어, (유효한 것으로 보이기 위해) 옳은 주소 쌍 및 일련 번호를 포함하지만, 거짓 데이터(spurious data)를 포함한다. 나중에 옳은 패킷이 도착할 때, 패킷은 재전송 사본으로서 폐기된다. 거짓 패킷은 성공적으로 인증되지 못하기 때문에, 보안 프로토콜은 송신자 노드에 에러 메시지를 전송하여 세션을 종료한다. 보안 프로토콜은폐기된 (옳은) 데이터의 재전송을, 선택적으로, 요청할 방안을 갖고 있지 않다. 결론적으로, DoS 공격은 긴 암호화 교섭 세션을 통한 TLS 커넥션의 재설립(reestablishment)을 필요로 하여, 상당한 프로세싱 리소스를 요구한다. DoS 공격은 프로세싱 리소스를 불필요하게 소비할 뿐 아니라, 매년 전자 상거래 사업에서 수백만의 수익 손실을 가져온다.
DoS 공격을 물리치는 데 채용되는 한 가지 접근 방식으로는 전송 모드에서 IP 보안 (IPSec) 프로토콜을 이용하여 각 IP 패킷을 인증하는 것이 있다. IPSec는 실제 사용자 데이터 또는 페이로드 뿐 아니라, 기술적 세션 공격 프로파일에서 고객 사이트에 손상을 입히는 데 사용될 수 있는 많은 프로토콜 스택 정보 항목을 암호화할 수 있다. IPSec는 개방 시스템 상호접속(Open Systems Interconnect: OSI) 구조의 제 3 계층(인터넷 프로토콜(Internet Protocol: IP)) 및 제 4 계층(TCP 또는 UDP) 사이에서 "심(shim)"으로 작동하며, 인증 헤더(Authentication Header: AH), 캡슐화 보안 페이로드(Encapsulating Security Payload: ESP) 및 인터넷 키 교환(Internet key Exchange: IKE)을 일괄적으로 제공하는 프로토콜 종류를 포함한다. IPSec는 AH를 통해 어드레스 인증을 제공하고, ESP를 통해 데이터 암호를 제공하며, IKE를 이용하여 송신자 노드와 수신자 노드 사이의 자동 키 교환을 제공한다.
도 2a는 인증 헤더(204)를 갖는 IPv4 패킷(200)을 나타낸다. 인증 헤더(204)는 다음 헤더 필드(208)(1 바이트 길이이며, AH 다음의 상위의 레벨 프로토콜을 식별함), 페이로드 길이 필드(212)(1 바이트 길이이며, 인증 데이터 필드(216)의 길이를 나타냄), 예비 필드(220)(확장에 대비하는 2 바이트의 필드), 보안 파라미터 인덱스(Security Parameters Index: SPI)(224)(4 바이트 길이이며, 패킷에 사용된 보안 프로토콜을 식별함), 일련번호 필드(228)(4 바이트 길이이며, 이미 수신된, 같은 목적지 및 SPI 데이터를 운반하는, IP AH 패킷의 개수를 식별하는 카운터로 기능함), 및 인증 데이터 필드(216)(가변 길이를 가지며, 무결성 검사 값(Integrity Check Value: ICV)(예컨대, DES, MD5, 또는 보안 해시 알고리즘(Secure Hash Algorithm: SHA-1)을 이용하여 생성된 패킷의 디지털 서명임)을 포함함)를 포함한다.
도 2b는 캡슐화 보안 페이로드(Encapsulating Security Payloads: ESP) 헤더를 갖는 IPv4 패킷(250)을 나타낸다. 캡슐화 보안 페이로드 헤더는 상술한 SPI 필드(224)와 일련번호 필드(228), TCP 또는 사용자 데이터그램 프로토콜(User Datagram Protocol: UDP) 헤더(230), 페이로드 데이터 필드(258)(사용자의 원 데이터의 암호화 버전을 포함함), 패딩 필드(262)(암호화 알고리즘의 임의의 필수 패딩 요건 또는 4 바이트 경계 정렬을 제공함), 패드 길이 필드(266)(패딩 필드에서 사용된 패드 바이트의 수를 명시함), 다음 헤더 필드(270)(페이로드 데이터 필드에 포함된 데이터 타입을 식별하여 페이로드 데이터를 나타냄), 및 인증 데이터 필드(274)(전체 ESP 헤더에 인가되는 디지털 서명임)를 포함한다.
그러나, IPSec는 방화벽, 특히, 네트워크-어드레스 변환 또는 네트워크-어드레스-포트 변환을 수행하는 프록시 서버 방화벽을 통과할 수 없다. 이 문제는 도 1을 참조하여 논의할 것이다. 도 1을 참조하면, 방화벽(또는 프록시 서버)(100)은네트워크(104)와 각종 방화벽-보호된 네트워크 노드(108a-108n) 사이에 위치된다. 각 노드(108a-108n)는 해당 IP 어드레스 및 포트 번호를 갖는다. 노드(108a-108n)가 네트워크로 패킷을 내보낼 때, 방화벽은 IP 어드레스만을 변화시키거나 IP어드레스와 포트 번호 모두를 변화시킬 수 있다. 새로운 IP 어드레스는 전형적으로 프록시 서버의 IP 어드레스이다. IPSec가 제 3 및 4 계층에서 동작하고, IPSec가 포트 사양(specification)에 대한 기능을 갖지 않기 때문에, 포트를 변화시키고자 하는 프록시 서버의 시도는 실패하고, 패킷은 전송되지 않는다. ESP 헤더(254)는 전형적으로 포트 번호가 아닌 IP 어드레스를 변화시킨다. 반면, AH(204)는 전형적으로 IP 어드레스와 포트 번호 중 어느 것도 변화되는 것을 허용하지 않는다.
이들 및 이외의 필요성은 본 발명의 다양한 실시예와 구성으로 설명된다. 본 발명은 OSI 전송 및 TCP/IP 호스트-대-호스트 전송 계층에서와 같이 애플리케이션 계층보다 하위에 있는 계층에서 패킷을 인증하는 방법에 관한 것이다.
본 발명의 일 실시예에서는,
(a) 헤더-헤더는 전송 헤더 부분을 포함함-와 페이로드를 포함하는 패킷을 수신하는 단계와,
(b) 패킷 컨텐츠의 적어도 일부에 근거하여 제 1 메시지 인증 코드를 계산하는 단계와,
(c) 제 1 메시지 인증 코드를 전송 헤더 부분의 제 2 메시지 인증 코드와 비교하여 패킷을 인증하는 단계를 포함하는 패킷 인증 방법을 제공한다.
전송 헤더 부분은 OSI 전송 계층 및 TCP/IP 호스트-대-호스트 전송 계층과 같은, 임의의 적합한 소프트웨어 모델에 의해 규정될 수 있다.
메시지 인증 코드는 (보안) 해시 알고리즘과 같은 임의의 적합한 알고리즘을 이용하여 계산될 수 있다. 제 1 및 제 2 인증 코드는 전형적으로 소정 비트로 절단(truncate)된다.
제 1 및 제 2 메시지 인증 코드는 모든 또는 선택된 부분의 헤더 및/또는 모든 또는 선택된 부분의 페이로드에 기초를 두고 있다. 제 1 및 제 2 메시지 인증 코드는 전형적으로 적어도 전송 헤더 부분에 근거하여 결정된다.
일 구성에서, 제 1 및 제 2 인증 코드는 소스 및/또는 목적지 포트 필드가 헤더의 해당 소스 또는 목적지 포트 필드와는 상이한 값으로 설정된 거짓 헤더에 근거하여 계산된다. 공인된 다른 방법으로, 소스 및/또는 목적지 필드는 헤더의 해당 소스 및 목적지 필드와는 관계없는 값을 갖는다. 예컨대, 소스 및/또는 목적지 필드는 영(0)으로 설정된다. 방화벽에 의해 조작되지 않는 패킷의 필드는, 일반적으로, 상이한 값으로 설정되지 않거나 거짓 헤더에서 무시되지 않는다.
이전의 실시예로 이용될 수 있는 다른 실시예에서, 본 발명은,
(a) 제 1 모드에서, 헤더가 유효 인증 옵션-인증 옵션은 제 2 메시지 인증 코드를 포함함-을 포함하지 않을 때 패킷을 무시하는 단계와,
(b) 제 2의 다른 모드에서, 헤더가 인증 옵션을 포함할 때 패킷을 무시하는 단계를 포함하는, 수신된 패킷의 인증 방법에 관한 것이다. 종래 실시예의 계산 및비교 단계는 제 1 모드에서만 발생한다. 작동 모드는 전형적으로, 애플리케이션 계층 또는 세션 계층과 같은 상위 계층, 또는 전송 계층 자체에 의해 결정된다.
이전의 실시예로 이용될 수 있는 또 다른 실시예에서, 본 발명은,
(a) 헤더-헤더는 전송 헤더 부분을 포함함-와 페이로드를 포함하는 패킷을 어셈블리하는 단계와,
(b) 제 1 모드에서, 전송 헤더 부분에 유효 인증 옵션 필드를 포함하는 단계와,
(c) 제 2의 다른 모드에서, 전송 헤더 부분에 유효 인증 옵션 필드를 포함하지 않는 단계와,
(d) 이후에, 패킷을 전송하는 단계를 포함하는, 전송될 패킷에 대한 인증 방법에 관한 것이다.
다양한 실시예는 종래 기술과 비교하여 많은 장점을 가질 수 있다. 예컨대, 헤더의 전송 부분에 인증 옵션을 포함하여, 전송 중, 허가되지 않은 데이터 조작을 효율적으로 차단하고, DoS 공격의 경우에서와 같이 제 3자가 허가되지 않은 데이터를 주입할 때 유발되는 세션 파괴에 대한 저항성을 증가시킬 수 있다. 패킷이 생성되면, 메시지 인증 코드가 계산되어 헤더에 주입된다. 패킷이 수신되면, 동봉된 메시지 인증 코드를 입증한다. 증명이 실패하면, 패킷이 수정(또는, 가짜로 스트림에 주입)되었던 것이 확실하고, 이에 따라, 수신통지(acknowledgements) 없이 무시된다. 인증 또는 비통지된 패킷은 송신자에게 다시 전송될 것이다. 메시지 인증 코드는, 패킷의 비밀을 방화벽에 설명할 필요 없이, 어드레스 및/또는 포트 변환 방화벽을 지나는 방식으로 규정될 수 있다. 이러한 정의에 따르면, 프록시 서버 타입 방화벽이 조작하거나 변경한 소스 및/또는 목적지 포트 필드 및 임의의 다른 필드는, 영(0)과 같이, 헤더의 값과는 다른 값으로 설정되거나, 메시지 인증 코드가 기초를 두고 있는 거짓 헤더에서 모두 무시된다. 메시지 인증 코드를 계산하는 데에 사용되는 공유 비밀 또는 비밀키는 전송 계층보다 상위에 있는 프로토콜 계층에 의해 제공된다. 이에 따라, 공유 비밀과 같이, 교섭을 위한 비인증 모드에서 전송 계층의 사용을 인가하는 대책이 마련된다. 교섭을 완료하자마자, 전송 계층 인증은 다음에 오는 모든 패킷 정보를 인증하기 위해 활성화될 수 있다. 이 방식으로, 본 발명은, 대안적인 솔루션 또는 새로운 프로토콜의 생성에 대한 비용을 요구하지 않고, TLS 및 TCP와 같은 기존 프로토콜을 최대한 활용한다.
이들 및 다른 장점은 본 명세서에 포함된 발명의 설명으로부터 명백히 이해될 것이다.
상술한 실시예 및 구성은 완전한 것도 포괄적인 것도 아니다. 이해할 수 있는 바와 같이, 이 발명의 다른 실시예는, 독자적으로 또는 조합하여, 상술한 특징 또는 이하에서 상세히 설명되는 하나 혹은 그 이상의 특징을 가능한 한 활용하고 있다.
도 1은 통상적인 프록시 서버 타입 방화벽의 블록도,
도 2a는 통상적인 패킷 및 인증 헤더의 블록도,
도 2b는 통상적인 패킷 및 캡슐화 보안 프로토콜 헤더 헤더의 블록도,
도 3은 본 발명의 일 실시예에 따른 프록시 서버 타입 방화벽의 블록도,
도 4는 전송 제어 프로토콜(Transmission Control Protocol: TCP)에 따른 통상적인 전송 계층의 블록도,
도 5는 본 발명에 따른 인증 TCP 옵션 필드의 블록도,
도 6은 메시지 인증 코드를 계산하는 거짓 헤더(pseudo-header)의 블록도,
도 7은 암호화 에이전트의 동작을 설명하는 순서도,
도 8a 및 8b는 추적 에이전트의 동작을 설명하는 순서도이다.
도면의 주요부분에 대한 부호의 설명
300a, 300b: 노드 304: 방화벽
308: 네트워크 312: 전송 에이전트
316: 암호화 에이전트 320: 소켓
322: 인터페이스
도 3은 본 발명은 제 1 실시예에 따른 구조를 나타낸다. 이 구조는 적어도 제 1 및 제 2 엔드포인트 또는 노드(300a, 300b)와, 이들 노드(300a, 300b) 사이에위치하는 방화벽(304) 및 네트워크(308)를 포함한다.
제 1 및 제 2 노드(300a, 300b)는 개인용 컴퓨터(PC), 서버, 랩톱(laptop), 개인휴대정보단말기(PDA), IP 전화, VoIP 중간 게이트웨이, H.323 게이트키퍼(gatekeeper) 등과 같은 임의의 계산 소자일 수 있다. 각 노드는 전송 에이전트(312), 암호화 에이전트(316), 및 입력 또는 인터페이스(322)를 포함한다.
전송 에이전트(312)는 (a)데이터를 에러 발생 없이 전달하고, (b) OSI의 세션 계층(제 5 계층) 또는 TCP/IP의 애플리케이션 계층과 같은 인접한 상위 계층으로부터 데이터를 받아들이고, 필요에 따라 데이터를 더 작은 패킷으로 분할하고, OSI의 네트워크 계층(제 3 계층) 또는 TCP/IP의 인터넷 계층과 같은 인접한 하위 계층으로 패킷을 전달하며, 패킷이 목적지에 완전히, 정확하게 도착하는지를 확인하고, (c) 패킷의 선택된 컨텐츠를 인증한다.
암호화 에이전트(316)는 (보안용) 보안 소켓 계층(SSL) 및/또는 (보안용) 전송 계층 보안(TLS)(종종 총괄적으로 "SSL/TLS"라고 지칭함), (네트워크 관리용) 공통 관리 정보 프로토콜(Common Management Information Protocol: CMIP), 파일 전송, 액세스, 및 관리(원거리 파일 처리용), X.400(e-메일용), 및/또는 특정한 사용자 지향 애플리케이션 서비스 및 과정을 정의한 SASL과 같은 프로토콜을 포함한다. 암호화 에이전트(316)는 OSI 서비스 지향 계층(예컨대, 제 5, 6 및/또는 7 계층)의 임의의 애플리케이션 또는 TCP/IP의 애플리케이션 계층에서 동작할 수 있다.
소켓(320)은 인증 및 전송 에이전트 사이의 인터페이스를 나타낸다.
이해할 수 있는 바와 같이, OSI 계층화 과정은 애플리케이션 프로그램으로메시지를 생성하는 소스 머신의 애플리케이션 계층(제 7 계층)에서 시작한다. 메시지는 제 1 계층에 도달할 때까지 계층을 따라 아래로 이동한다. 제 1 계층은 실질적인 물리적 통신 매체이다. 그러면, 패킷 데이터는 이 매체를 지나 수신 호스트 머신으로 전달되고, 정보는 제 1 계층으로부터 제 7 계층을 통해 전달된다. 메시지가 소스 머신에 있는 계층을 통해 아래로 이동하면, 메시지는 IP 헤더(232), AH(204), TCP 또는 UDP 헤더(236), 또는 ESPH(254)와 같이 특정 계층에 적절한 헤더로 캡슐화된다(도 2a 및 2b). 메시지가 호스트 머신에 있는 계층을 통해 위로 이동하면, 헤더는 각각의 계층에 의해 제거된다. TCP/IP 계층은 똑같은 방식으로 작동한다.
방화벽(304)은 임의의 적합한 타입의 방화벽일 수 있다. 예컨대, 방화벽은 프레임 여과 방화벽, 패킷 여과 방화벽, 회로 게이트웨이 방화벽, 상태기반(stateful) 방화벽, 또는 애플리케이션 게이트웨이 또는 프록시 서버 방화벽일 수 있다.
네트워크(308)는 인터넷과 같은 임의의 디지털형 또는 아날로그형 분산 처리 네트워크일 수 있다.
전송 에이전트(312)가 인증에 사용하는 TCP 헤더는 도 4~6을 참조하여 설명한다. 도 4는 TCP 헤더(400) 종래의 포맷을 나타낸다. TCP 헤더(400)는 소스 포트 필드(40), 목적지 포트 필드(408), 패킷 일련 번호 필드(412)(상술하였음), 바이트 인증 번호 필드(416)(수신 통지를 송신하기 전에 수신하고 받아들인 마지막 바이트 번호를 나타냄), 데이터 오프셋 필드(420)(패킷에서 데이터의 시작 위치를나타냄), 플래그 필드(422), 예비 필드(424), 윈도우 필드(428)(수신 및 버퍼링할 수 있는 바이트의 수를 나타냄), 체크섬(checksum) 필드(432), 비상 포인터(436)(패킷에서 비상 데이터의 존재를 나타냄), 옵션 필드(440)(프로토콜에 관련된 여러 가지 옵션을 포함함), 패딩 필드(444)(헤더가 요망 길이를 갖게 하기 위해 옵션 필드를 충분한 제로 비트로 채우는 가변 길이 필드)를 포함한다. 본 발명에 따르면, 옵션 필드(440)에 인증 옵션을 포함하여 TCP 패킷 데이터 단위(Packet Data Unit: PDU) 또는 패킷을 인증할 수 있다. 이해할 수 있는 바와 같이, 옵션 필드에서 옵션은 두 개의 형태, 즉, 단일 옥텟의 값 옵션 유형과, 여러 (옵션 길이-2) 옥텟의 옵션 데이터 다음의 단일 옥텟의 옵션 길이 다음의 옥텟의 옵션 유형 중의 한 가지를 가질 수 있다. 일 구성에서, 인증 옵션은 두 번째 형태이다.
도 5는 두 번째 형태의 인증 옵션을 나타낸다. 인증 옵션(500)은 다음의 필드, 즉, 옵션 지시자 필드(504), 길이 필드(508), 및 메시지 인증 코드 필드(512)를 포함한다. 옵션 지시자 필드(504)는 패킷 인증 옵션에 대한 할당 옵션 번호 비트 및/또는 값이고, 길이 필드(508)는 메시지 인증 코드(Message Authentication Code: MAC)의 길이이고, 메시지 인증 코드(MAC) 필드(512)는 메시지 인증 코드 자체를 포함한다. MAC는, HMAC-MD5 및 HMAC-SHA1 알고리즘과 같은 키 해시 메시지 인증 코드(keyed hashed message authentication)를 포함하며, 코드를 N 비트로 절단하는 임의의 기술로 계산되어, 각각 HMAC-MD5-N 및 HMAC-SHA1-N으로 명명된다. 다른 지원 메시지 인증 코드는 사이퍼(cipher)-피드백 암호화에 기반한 것들과 같은 키가 되며, 암호학적으로 안전한 임의의 MAC를 포함한다. 이들 코드는 또한 바람직하게는 N 비트로 절단된다. 해시 메시지 인증 코드의 절단은 공격자가 해시 키 정보를 파악하는 것을 방지한다. 코드를 생성하는 데에 사용되는 키는 암호화 에이전트로부터 수신된다.
MAC의 계산은 도 6을 참조하여 설명될 것이다. MAC의 계산은 선택된 필드가 영(0)(또는 영 비트)으로 설정된 모든 TCP 헤더 및 페이로드 또는 그 일부에 대해 실행될 수 있다. 도 6에서, MAC는 전체 TCP 헤더 및 페이로드를 나타내는 거짓 헤더(600)에 대해 수행되는데, 거짓 헤더는 각각 영(또는 영 비트)으로 설정된 소스 포트 필드(604), 목적지 포트 필드(608) 및 체크섬 필드(612)를 포함하며, 패킷의 바디를 갖는다. 이에 따라, 임의의 타입의 방화벽에 의해 조작될 수 있는 소스 및 목적지 포트와 이들을 커버하는 체크섬은 MAC 계산으로부터 배제된다. 이것은 TCP 헤더가, 어드레스-및/또는-포트-변환 방화벽을 통과할 때, 인증에 영향을 미치지 않고 통상적인 방법으로 조작될 수 있게 한다.
비상 포인터 플래그(비상 포인터가 중요함을 나타냄), PSH플래그(이용 중인 계층으로 데이터를 밀어 넣어야 함을 나타냄), 종료 플래그, 수신 통지(acknowledgements) 플래그, "syn" 플래그(동기화된 일련 번호를 전송해야 함을 나타냄), RST 플래그(리셋 커넥션), 일련 번호, 수신통지(acknowledgements) 번호, 데이터 오프셋, 윈도우, 옵션, 패딩 등과 같이, 방화벽에 의해 조작되지 않는 패킷 필드는 상이한 값으로 설정되지 않는다. 일반적으로, 수신 통지 필드(ack 필드)는 인증에 의해 (다른 플래그와 함께) 커버되어야 한다.
이해할 수 있는 바와 같이, 거짓 헤더(600) 중의 소스 포트 필드(604), 목적지 포트 필드(608), 및 체크섬 포트(612)는 하나 혹은 그 이상의 애플리케이션에 따라 영이 아닌 값으로 설정될 수 있다. MAC 계산에서, 소스 및 목적지 포트 필드(604, 608)는 MAC를 결정할 때, 불일치성(inconsistencies)을 피하기 위해 방화벽(304) 양측의 각 노드에 의해 각각 일정하게 유지되어야 한다. 전형적으로, 각 필드의 값은 방화벽(304)과 제 1 및 제 2 노드(300a, 300b)의 어드레스와 상이하며 서로 무관하다. 예컨대, 제 1 노드로부터 제 2 노드로 전송된 패킷은 일정한 값으로 설정된 소스 포트 필드를 거짓 헤더(600)에 가져야 하는 반면에, 제 2 노드로부터 제 1 노드로 전송된 패킷은 방화벽(304)에 의한 포트 변환의 복잡성을 피하기 위해 일정한 값으로 설정된 목적지 포트 필드를 거짓 헤더(600)에 가져야 한다.
인증 옵션(500)(도 5)은 거짓 헤더의 옵션 필드에 포함된다. 그것이 방화벽에 의해 변경되지 않았기 때문에 반드시 요구되는 것은 아니지만, 옵션 데이터 필드는 적절한 길이이며, 다만, 전형적으로는 모두 제로(또는 제로 비트)로 설정된다. 표준 TCP 체크섬은 실제 헤더를 이용하여 계산된다.
암호화 에이전트(316)는 알고리즘을 선택하고, 그 알고리즘에 대한 키잉(keying) 소재(material)를 제공하여, TCP 커넥션의 한 방향 또는 양방향에 대해 인증을 활성화한다. 전송 암호화 에이전트(316)에 의해 일단 활성화되면, 모든 전송된 패킷은 유효 인증 옵션(500)을 포함해야 하고, 전송 암호화 에이전트에 의해 활성화되지 않았다면, 생성된 TCP 헤더는 인증 옵션(500)을 포함하지 않는다. 인증이 수신 암호화 에이전트(316)에 의해 활성화되면, 모든 수신된 패킷은 유효 인증 옵션(500)을 포함해야 하고, 그에 포함된 MAC는, 상술한 바와 같이, 수신된패킷과 일치해야 하며, 또는 패킷은 전송 에이전트(312)에 의해 무효(invalid)로 된다. 인증이 수신 암호화 에이전트(316)에 의해 활성화되면, 전송 에이전트(312)는 인증을 전하지 않거나 유효 인증 옵션(500)을 포함하지 않는 임의의 패킷을 무효한 체크섬을 갖는 패킷과 동일한 방식으로 처리한다. 인증 에러는 전송 에이전트(312)가 로그하거나 카운트할 수 있으며, 전송 에이전트(312)에는 로그/카운트를 암호화 에이전트(316) 또는, 요청 시, 사용 계층에게 유용할 수 있다. 전송 에이전트(312)가 암호화 에이전트(316)에게 보고하지 않았던 임의의 수신 데이터는 암호화 에이전트(316)가 활성화를 조정하였다는 전제 하에 폐기(discard)되며(또, 수신된 일련 번호가 대응적으로 증가되지 않으며), 이에 따라 이 데이터는 공격자에 의해 주입되거나 전송 중에 손상된 것임에 틀림없다. 인증이 수신 암호화 에이전트(316)에 의해 활성화되지 않는다면, 인증 옵션(500)을 갖는 모든 패킷이 무시된다. 이것은 전송 암호화 에이전트(316)가 인증된 패킷을 갖기를 분명히 기대하지만, 수신 암호화 에이전트(312)가 그에 필요한 인증 파라미터를 공급하지 않았기 때문이다.
전송 및 암호화 에이전트(312, 316)의 동작은 도 7 및 도 8을 참조하여 설명할 것이다.
도 7은 각 노드의 암호화 에이전트에 의해 수행되는 동작을 나타낸다. 도 7의 단계(700)에서, 제 1 노드(300a) 및 제 2 노드(300b)의 암호화 에이전트(316)는 안전하지 않은 채널에 대해 통상적인 기법을 이용하여 프로토콜 파라미터와 교섭한다. 전형적으로, 이 교섭은 각 부분 교환 키를 수반하는 것으로, 일부 경우에는 디지털 증명서를 포함한다. 공유 마스터키는 교환키로부터 계산된다. 제 1 및 제 2 노드에 의해 교환된 종료 메시지의 해시가 일치하면, 이 교섭은 완료된다. 전형적으로, 교환은 디지털 서명에 의해 암호화 에이전트 레벨에서 그 정당성이 입증된다.
교섭을 완료하자마자, 제 1 및 제 2 노드 사이에서 많은 메시지가 교환된다. 단계(704)에서, 제 1 또는 제 2 노드는 시작 사이퍼를 전송하거나 사이퍼 스펙 커맨드를 제 2 노드로 변환하며, 그 반대의 경우도 마찬가지이다. 제 1 또는 제 2 노드의 암호화 에이전트(316)가 시작 사이퍼 커맨드를 전송하면, 단계(708)에서, 에이전트(316)는 대응 전송 에이전트(312)가 전송 인증을 초기화하도록 명령하고, 에이전트(312)에게 필수 정보(전형적으로, 전송키와 같은 공유 비밀 및 메시지 인증 코드 알고리즘의 식별)를 제공하여, 다른 노드로 전송될 패킷에 대한 인증 동작을 수행한다. 단계(712)에서, 제 1 또는 제 2 노드의 암호화 에이전트(316)가 다른 노드로부터 시작 사이퍼 커맨드를 수신하면, 단계(716)에서, 에이전트(316)는 대응 전송 에이전트(312)가 수신 인증을 초기화하도록 명령하고 에이전트(312)에게 필수 정보(전형적으로 수신키-수신키는 전송키와 상이할 수 있음-와 같은 공유 비밀 및 메시지 인증 코드 알고리즘의 식별)를 제공하여 수신된 패킷에 대한 인증 동작을 수행한다. 제 1 또는 제 2 노드에 의해 수행된 단계(708) 이후, 인증될 데이터가 다른 노드로의 전송을 위해 단계(720)에서 대응 전송 에이전트(312)로 제공된다. 단계(720 또는 716)가 수행된 후, 암호화 에이전트(316)는 단계(724)에서 다른 노드로부터의 데이터 수신을 기다린다.
도 8a 및 8b는 각 노드의 전송 에이전트에 의해 수행되는 동작을 나타낸다.
도 8a를 참조하면, 단계(800)에서, 전송 에이전트(312)는 전송 인증 커맨드 및 인증 정보를 수신하다. 응답으로, 전송 에이전트(312)는 인증 옵션(500)이 제 2 노드로 전송된 각 패킷의 옵션 필드(440)에 포함되는 전송 인증 모드(또는 제 1 모드)로 진입한다. 단계(808)에서, 전송 에이전트(312)는 패킷 헤더의 옵션 필드(440)에 포함될 인증 옵션(500)을 생성하여 데이터를 인증한다. 이전에 언급한 바와 같이, 옵션(500)을 구성함에 있어서, 전송 에이전트(312)는 도 6의 거짓 헤더 및 공유 비밀에 근거하여, N 비트로 절단된 메시지 인증 코드를 계산한다. 단계(812)에서, 전송 에이전트(312)는 패킷을 포맷하여 다른 노드의 전송 에이전트로 전송한다. 단계(812)를 수행한 이후, 송신용 전송 에이전트(312)는 단계(816)에서 암호화 에이전트(316)로부터의 더 많은 데이터를 기다린다.
도 8b를 참조하면, 단계(820)에서, 전송 에이전트(312)는 수신 인증 커맨드 및 인증 정보를 수신한다. 응답으로, 전송 에이전트(312)는 인증 옵션(500)이 제 2 노드가 수신한 각 패킷의 옵션 필드(440)에 포함되어야 하는 수신 인증 모드로 진입한다. 이해할 수 있는 바와 같이, 이 모드는 모든 수신된 패킷 또는 제 2 노드로부터 수신된 패킷이 진입할 수 있다. 단계(824)에서, 전송 에이전트는 다른 노드의 송신용 전송 에이전트로부터 패킷을 수신한다. 마름모꼴 결정 블록(828)에서, 전송 에이전트(312)는 수신된 패킷이 인증 옵션을 포함하는지를 판단한다. 패킷이 인증 옵션을 포함한다면, 전송 에이전트(312)는 단계(832)에서 패킷 거짓 헤더와, 다른 컨텐츠 및 비밀 정보에 근거하여 N 비트로 절단된 메시지 인증 코드를 계산하고,계산된 메시지 인증 코드를 인증 옵션의 메시지 인증 코드 필드(512)와 비교하여 패킷을 인증한다. 마름모꼴 결정 블록(836)에서, 전송 에이전트(312)는 패킷 인증이 성공했는지를 판단한다. 메시지 인증 코드가 동일하지 않다면, 패킷 인증은 성공하지 않은 것이고, 에이전트(312)는 단계(840)(이하에서 논의함)로 진행한다. 메시지 인증 코드가 동일하면, 패킷 인증은 성공한 것으로, 에이전트(312)는 단계(844)로 진행한다. 단계(844)에서, 패킷에 포함된 데이터는 수신자 노드의 해당 암호화 에이전트(316)로 포워드 된다. 패킷이 마름모꼴 결정 블록(828)에서 인증 옵션(500)을 포함하지 않거나, 인증이 마름모꼴 결정 블록(836)에서 성공하지 않는다면, 전송 에이전트(312)는 단계(840)에서 패킷을 폐기하고, 단계(848)에서 인증 에러를 로그 및 카운트하며, 단계(852)에서 일련 번호를 증가시키지 않는다. 패킷이 폐기되면, 전송용 노드는 폐기된 패킷의 성공적 수신의 수신통지를 수신하지 못했기 때문에 패킷을 다시 전송하여, DoS 공격자를 매우 혼란스럽게 하고 그 능력을 감소시킬 것이다. 이후, 에이전트(312)는 단계(856)로 진행하여 다음에 수신될 패킷을 기다린다.
프록시 서버에 의해 조작되는 소스 및 어드레스 필드와 체크섬 필드가 메시지 인증 코드가 기반을 두고 있는 거짓 헤더(600)에서 영(0)(또는 영 비트)로 설정되기 때문에, 암호화 에이전트(316)에서 방화벽 어드레스 및/또는 포트 변환은 SSL, TLS와 같은 보안 프로토콜의 동작과 간섭하지 않는다.
이해할 수 있는 바와 같이, 전송 에이전트(312)는, 암호화 에이전트(316)에 의해 수신된 중지 사이퍼 커맨드(예컨대, 다음 변경 사이퍼 스펙 커맨드 또는 종료커맨드)에 응답하여, 제 1 모드 또는 비인증 모드(no authentication mode)로 다시 재설정된다. 그러면, 수신 암호화 에이전트가 중지 인증 커맨드를 해당 암호화 에이전트로 전송한다.
전송 인증 모드에서 전송되고 수신 인증 모드에서 수신된 모든 패킷이 인증 옵션을 포함해야 하기 때문에, 이들 모드에서 전송/수신된 수신 통지 패킷은 그들의 헤더에 인증 옵션을 포함해야 한다. 이것은 거짓 수신 통지(false acknowledgement)를 전송용 노드로 전송하여 DoS 공격자가 세션의 종료를 방해하거나 유발하는 것을 방지한다.
본 발명의 많은 변경 및 수정이 이용될 수 있다. 본 발명의 일부 특징만을 제공하며 다른 것은 제공하지 않을 수도 있다.
예컨대, 다른 일 실시예에서, 전송 에이전트(312)는 상술한 것들과는 다른 프로토콜로 구현될 수 있다. 예컨대, 이와 같이 전송 에이전트를 위한 다른 프로토콜은, TCP, UDP, 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol: ICMP), 또는 세션 제어 전송 프로토콜(Session Control Transport Protocol: SCTP)을 포함한다. SCTP는 데이터 전송 및 수신 통지에서 청크(chunk) 기반이다. SCTP로의 일 적용은 두 개의 새로운 페이로드 타입을 규정하고, 청크 컨텐츠를 제한하는 것이다. 한 페이로드 타입은 인증 스트립에 대한 것이고, 다른 것은 그 스트림의 수신통지에 대한 것이다.
다른 실시예와 마찬가지로, 암호화 에이전트는 IPSec 등의 임의의 많은 적합한 보안 프로토콜을 이용할 수 있다.
다른 실시예에서, 인증 옵션은 전송 계층 헤더에서 뿐 아니라 제 3 및 제 4 OSI 계층 사이에서 스택으로의 범프(Bump in the Stack: BITS)로 구현될 수 있다.
또 다른 실시예에서, 인증 옵션은 OSI 전송 계층에 대응하는 TCP/IP 계층에 있다. 예컨대, 인증 옵션은 TCP/IP의 호스트-대-호스트 전송 계층에 있을 수 있다.
또 다른 추가적인 실시예에서, 거짓 헤더는 제 3, 4, 5, 6 및/또는 7 OSI 계층에 의해 규정될 수도 있고, 그렇지 않을 수도 있으며, 헤더 및/또는 페이로드의 일부만을 나타내고, 도 6에 도시한 것들과는 상이한 하나 혹은 그 이상의 필드를 포함할 수도 있다.
또 다른 실시예에서, 전송 에이전트 및/또는 암호화 에이전트 또는 그 소자는 주문형 집적 회로(Application Specific Integrated Circuit)와 같은 논리 회로로, 그 뿐 아니라, 소프트웨어 대신에, 구현된다.
본 발명은 다양한 실시예에서, 본 명세서에 나타내고 설명한 바와 같은 소자, 방법, 프로세스, 시스템 및/또는 장치를 실질적으로 포함하여, 그 다양한 실시예, 서브조합, 및 서브세트를 포함한다. 본 설명을 이해한 본 분야의 당업자는 본 발명을 어떻게 구성하고 이용할 것인지 이해할 것이다. 본 발명은 다양한 실시예에서, 본 명세서 또는 다양한 실시예에 도시 및/또는 설명하지 않은 항목이 없는 경우에 장치 및 프로세스를 제공하는 것을 포함하여, 예컨대, 성능 향상, 용이성 달성 및/또는 구현 코스트 감소를 위해 이전의 장치 또는 프로세스에서 사용될 수 있던 이러한 항목이 없는 경우도 포함한다.
이 발명의 상술한 설명은 도시 및 설명을 위해 제시되었다. 상술한 것은 본발명을 본원에 개시한 형태 또는 형태들로 제한하지 않는다. 예를 들어 상술한 상세한 설명에서, 이 발명의 다양한 특징은 능률적으로 설명하기 위해 하나 혹은 그 이상의 실시예에 통합된다. 설명된 이 방법은 청구된 발명이 각 청구항에 특별히 인용된 것보다 많은 특징을 요구하고자 하는 의도를 반영하는 것으로 해석되지 않는다. 오히려, 발명적 측면은 다음의 청구범위가 반영하는 바와 같이, 상술한 단일 실시예의 모든 특징보다 더 적은 범위에 있다. 이에 따라, 다음 청구범위는 이 상세한 설명에 내포되며, 각 청구항은 이 발명의 각개의 바람직한 실시예로서 근거가 된다.
또한, 이 발명의 설명이 하나 혹은 그 이상의 실시예 및 소정의 변경 및 수정을 포함하고 있으나, 다른 변경 및 수정은 예컨대, 본 설명을 이해한 본 분야의 당업자의 기술 및 지식 내에 있을 수 있는 이 발명의 범주 내에 있다. 허락되는 한도까지 대안적인 실시예를 포함하여 대안적, 상호교환가능 및/또는 동등 구조, 기능, 청구 범위 또는 단계, 이러한 대안 여부, 상호교환가능 및/또는 동등 구조, 기능, 범위 또는 단계의 본원 개시 여부, 및 임의의 특허 받을 수 있는 사항을 공공용으로 제공하지 않는 것을 포함하는 권리를 획득하고자 한다.
본 발명에 따른 패킷 인증 구조 및 방법은 대안적인 솔루션 또는 새로운 프로토콜의 생성 비용을 부담하지 않으면서 기존의 프로토콜을 최대한 활용하여 허가되지 않은 데이터의 조작 및 주입을 효율적으로 차단할 수 있다.

Claims (21)

  1. 패킷을 인증하는 방법에서,
    패킷-상기 패킷은 헤더 및 페이로드를 포함함-을 수신하는 단계와,
    상기 패킷 헤더의 적어도 일부로부터 도출된 거짓 헤더의 적어도 일부에 근거하여 제 1 메시지 인증 코드를 계산하되, 상기 거짓 헤더의 소스 및 목적지 포트 필드 중 적어도 하나는 상기 패킷 헤더의 대응 소스 및 목적지 포트 필드와 상이한 값을 갖는 단계와,
    상기 제 1 메시지 인증 코드를 상기 헤더의 제 2 메시지 인증 코드와 비교하여 상기 패킷을 인증하는 단계를 포함하는
    패킷 인증 방법.
  2. 제 1 항에 있어서,
    상기 헤더는 전송 헤더 부분을 포함하고, 상기 제 2 인증 코드는 상기 전송 헤더 부분에 있는
    패킷 인증 방법.
  3. 제 1 항에 있어서,
    상기 제 2 인증 코드는 상기 소스 및 목적지 포트 필드 중 적어도 하나가 상기 헤더의 해당 소스 또는 목적지 포트 필드와 상이한 값으로 설정된 거짓 헤더에 근거하여 계산되는
    패킷 인증 방법.
  4. 제 3 항에 있어서,
    상기 거짓 헤더의 상기 소스 및 목적지 필드 중 적어도 하나는 상기 헤더의 상기 소스 및 목적지 필드와 무관한 값을 갖는
    패킷 인증 방법.
  5. 제 4 항에 있어서,
    상기 소스 및 목적지 필드 중 적어도 하나는 영(0)으로 설정되고, 상기 전송 헤더 부분은 OSI 전송 계층 및 TCP/IP 호스트-대-호스트 전송 계층 중의 하나에 의해 규정되는
    패킷 인증 방법.
  6. 제 1 항에 있어서,
    상기 제 1 및 제 2 인증 코드는 해시 메시지 인증 코드이고,
    상기 제 1 및 제 2 인증 코드는 소정 비트로 절단되고,
    상기 제 1 및 제 2 메시지 인증 코드는 상기 전송 헤더 부분을 이용하여 결정되고,
    상기 비교 단계에서, 상기 제 1 및 제 2 메시지 인증 코드가 서로 동일하지 않으면 상기 패킷은 무효한 것으로 여겨지며,
    패킷 무효의 인스턴스를 나타내는 카운터를 증가시키는 단계를 더 포함하는
    패킷 인증 방법.
  7. 제 1 항에 있어서,
    상기 수신 단계 후에,
    제 1 모드에서, 상기 헤더가 유효 인증 옵션-상기 인증 옵션은 상기 제 2 메시지 인증 코드를 포함함-을 포함하지 않을 때 상기 패킷을 폐기하는 단계와,
    제 2의 다른 모드에서, 상기 헤더가 인증 옵션을 포함할 때 상기 패킷을폐기하고, 상기 계산 및 비교 단계는 상기 제 1 모드에서만 발생하는
    패킷 인증 방법.
  8. 제 7 항에 있어서,
    상기 제 2 모드는 유효하며,
    상기 제 2 모드를 중지하고 상기 제 1 모드를 초기화하는 커맨드를 상위 계층으로부터 수신하는 단계와,
    상기 커맨드에 응답하여, 상기 제 2 모드를 중지하고, 상기 제 1 모드를 초기화하는 단계를 더 포함하며,
    상기 커맨드는 애플리케이션 계층에 의해 생성되고, 전송 인증 커맨드 및 수신 인증 커맨드 중의 하나인
    패킷 인증 방법.
  9. 제 7 항에 있어서,
    상기 제 1 모드에서,
    상기 패킷의 상기 컨텐츠 중 적어도 일부에 근거하여 제 1 메시지 인증 코드를 계산하는 단계와,
    상기 제 1 메시지 인증 코드를 상기 전송 헤더 부분에 있는 제 2 메시지 인증 코드와 비교하여, 상기 패킷을 인증하는 단계를 더 포함하는
    패킷 인증 방법.
  10. 제 1 항에 있어서,
    상기 패킷을 어셈블리하되, 상기 패킷 헤더는 전송 헤더 부분을 포함하는 단계와,
    제 1 모드에서, 상기 전송 헤더 부분에 유효 인증 옵션 필드를 포함하는 단계와,
    제 2의 다른 모드에서, 상기 전송 헤더 부분에 유효 인증 옵션 필드를 포함하지 않는 단계와,
    이후에, 상기 패킷을 전송하는 단계를 더 포함하는
    패킷 인증 방법.
  11. 전송 계층 헤더 부분을 포함하며, 상기 전송 계층 헤더 부분은,
    소스 포트 필드와,
    목적지 포트 필드와,
    일련 번호 필드와,
    옵션 필드-상기 옵션 필드는 인증 옵션을 포함하며, 상기 인증 옵션은 메시지 인증 코드를 포함함-와,
    페이로드를 포함하는
    패킷.
  12. 제 11 항에 있어서,
    상기 메시지 인증 코드는 상기 소스 및 목적지 포트 필드 중 적어도 하나가 상기 패킷의 헤더의 해당 소스 또는 목적지 포트 필드와 상이한 값으로 설정된 거짓 헤더에 근거하여 계산되는
    패킷.
  13. 패킷을 인증하는 구조에서,
    패킷-상기 패킷은 헤더 및 페이로드를 포함함-을 수신하는 입력 수단과,
    상기 패킷 헤더의 적어도 일부로부터 도출된 거짓 헤더의 적어도 일부에 근거하여 제 1 메시지 인증 코드를 계산하되, 상기 거짓 헤더의 상기 소스 및 목적지 포트 필드 중 적어도 하나가 상기 패킷 헤더의 상기 해당 소스 및 목적지 포트 필드와 상이한 값을 갖는 계산 수단과,
    상기 제 1 메시지 인증 코드를 상기 헤더의 제 2 메시지 인증 코드와 비교하여 상기 패킷을 인증하는 비교 수단을 포함하는
    패킷 인증 구조.
  14. 제 13 항에 있어서,
    상기 헤더는 전송 헤더 부분을 포함하고,
    상기 제 2 인증 코드는 상기 전송 헤더 부분에 있고,
    상기 제 2 인증 코드는 상기 소스 및 목적지 포트 필드 중 적어도 하나가 상기 헤더의 해당 소스 또는 목적지 포트 필드와 상이한 값으로 설정된 거짓 헤더에 근거하여 계산되는
    패킷 인증 구조.
  15. 제 14 항에 있어서,
    상기 거짓 헤더의 상기 소스 및 목적지 필드 중 적어도 하나는 상기 헤더의 상기 소스 및 목적지 필드와 무관한 값을 갖는
    패킷 인증 구조.
  16. 제 15 항에 있어서,
    상기 소스 및 목적지 필드 중 적어도 하나는 영(0)으로 설정되고, 상기 전송 헤더 부분은 OSI 전송 계층 및 TCP/IP 호스트-대-호스트 전송 계층 중 적어도 하나에 의해 규정되는
    패킷 인증 구조.
  17. 제 13 항에 있어서,
    상기 제 1 및 제 2 인증 코드는 해시 메시지 인증 코드이고,
    상기 제 1 및 제 2 인증 코드는 소정 비트로 절단되고,
    상기 제 1 및 제 2 메시지 인증 코드는 상기 전송 헤더 부분을 이용하여 결정되고,
    상기 제 1 및 제 2 메시지 인증 코드가 서로 동일하지 않을 때, 상기 비교 수단은 상기 패킷을 무효한 것으로 여기며,
    패킷 무효의 인스턴스를 나타내는 카운터를 증가시키는 계산 수단을 더 포함하는
    패킷 인증 구조.
  18. 제 13 항에 있어서,
    제 1 모드에서, 상기 헤더가 유효 인증 옵션-상기 인증 옵션은 상기 제 2 메시지 인증 코드를 포함함-을 포함하지 않을 때, 상기 패킷을 폐기하고, 제 2의 다른 모드에서, 상기 헤더가 인증 옵션을 포함할 때, 상기 패킷을 폐기하는 패킷 폐기 수단을 더 포함하고,
    상기 계산 및 비교 수단은 상기 제 1 모드에서만 작동하고, 상기 폐기 동작은 상기 패킷이 수신된 이후에 발생하는
    패킷 인증 구조.
  19. 제 18 항에 있어서,
    상기 제 2 모드는 유효하며,
    상기 폐기 수단은, 상기 제 2 모드를 중지시키고 상기 제 1 모드를 초기화하는 커맨드를 상위 계층으로부터 수신하자마자, 상기 커맨드에 응답하여, 상기 제 2 모드를 중지하고 상기 제 1 모드를 초기화하며,
    상기 커맨드는 상기 애플리케이션 계층에 의해 발생하고, 전송 인증 커맨드 및 수신 인증 커맨드 중의 하나인
    패킷 인증 구조.
  20. 제 18 항에 있어서,
    상기 폐기 수단은, 상기 제 1 모드에서, 상기 패킷의 컨텐츠의 적어도 일부에 근거하여 제 1 메시지 인증 코드를 계산하고, 상기 제 1 메시지 인증 코드를 상기 전송 헤더 부분의 제 2 메시지 인증 코드와 비교하여 상기 패킷을 인증하는
    패킷 인증 구조.
  21. 제 13 항에 있어서,
    상기 패킷-상기 패킷 헤더는 전송 헤더 부분을 가짐-을 어셈블리하는 수단과,
    제 1 모드에서 상기 전송 헤더 부분에 유효 인증 옵션 필드를 포함하고, 제 2의 다른 모드에서 상기 전송 헤더 부분에서 유효 인증 옵션 필드를 배제하는 수단과,
    이후에, 상기 패킷을 전송하는 수단을 더 포함하는
    패킷 인증 구조.
KR1020040020612A 2003-03-27 2004-03-26 패킷과 패킷 인증 방법 및 구조 KR20040084996A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/401,919 US8245032B2 (en) 2003-03-27 2003-03-27 Method to authenticate packet payloads
US10/401,919 2003-03-27

Publications (1)

Publication Number Publication Date
KR20040084996A true KR20040084996A (ko) 2004-10-07

Family

ID=32825032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040020612A KR20040084996A (ko) 2003-03-27 2004-03-26 패킷과 패킷 인증 방법 및 구조

Country Status (7)

Country Link
US (1) US8245032B2 (ko)
EP (1) EP1463265B1 (ko)
JP (1) JP4504713B2 (ko)
KR (1) KR20040084996A (ko)
CN (1) CN1536847B (ko)
CA (1) CA2454990C (ko)
MX (1) MXPA04000800A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946115B1 (ko) * 2007-09-17 2010-03-10 재단법인서울대학교산학협력재단 무선 네트워크에서의 대역폭 효율성 향상 및 프라이버시강화를 위한 메시지 인증 방법
KR101378647B1 (ko) * 2007-09-28 2014-04-01 삼성전자주식회사 Ieee 802.15.4 네트워크에서의 보안 설정 가능한 맥프레임 제공 방법 및 장치
KR20190037948A (ko) * 2017-09-29 2019-04-08 한화테크윈 주식회사 외부장치 인증 방법 및 장치
KR20220056355A (ko) * 2020-10-28 2022-05-06 주식회사 유앤아이씨 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940716B2 (en) 2005-07-01 2011-05-10 Terahop Networks, Inc. Maintaining information facilitating deterministic network routing
JP2003204326A (ja) * 2002-01-09 2003-07-18 Nec Corp 通信システムと暗号処理機能付きlan制御装置、及び通信制御プログラム
EP1645071B1 (en) * 2003-07-03 2010-12-22 Koninklijke Philips Electronics N.V. Secure indirect addressing
US7401215B2 (en) * 2003-09-29 2008-07-15 Sun Microsystems, Inc. Method and apparatus for facilitating cryptographic layering enforcement
US8060743B2 (en) * 2003-11-14 2011-11-15 Certicom Corp. Cryptographic method and apparatus
ES2363517T3 (es) * 2004-04-02 2011-08-08 Panasonic Corporation Sistema de detección de contenido no autorizado.
JP4749680B2 (ja) * 2004-05-10 2011-08-17 株式会社ソニー・コンピュータエンタテインメント データ構造、データ処理装置、データ処理方法、認証装置、認証方法、コンピュータプログラム、及び記録媒体
US7142107B2 (en) 2004-05-27 2006-11-28 Lawrence Kates Wireless sensor unit
US7908339B2 (en) 2004-06-03 2011-03-15 Maxsp Corporation Transaction based virtual file system optimized for high-latency network connections
US8812613B2 (en) 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
US9357031B2 (en) 2004-06-03 2016-05-31 Microsoft Technology Licensing, Llc Applications as a service
WO2006004556A1 (en) * 2004-07-02 2006-01-12 Agency For Science, Technology And Research Traffic redirection attack protection method and system
WO2006073284A1 (en) 2005-01-07 2006-07-13 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving multiuser packet in a mobile communication system
US8589323B2 (en) 2005-03-04 2013-11-19 Maxsp Corporation Computer hardware and software diagnostic and report system incorporating an expert system and agents
US8234238B2 (en) 2005-03-04 2012-07-31 Maxsp Corporation Computer hardware and software diagnostic and report system
US8078867B2 (en) 2005-08-12 2011-12-13 Research In Motion Limited System and method for authenticating streamed data
DE102005040889A1 (de) * 2005-08-29 2007-03-15 Siemens Ag Verfahren und Anordnung zum sicheren Übertragen von Daten in einem ein Mehrsprungverfahren nutzenden Kommunikationssystem
US7765402B2 (en) * 2005-11-08 2010-07-27 Research In Motion Limited System and methods for the wireless delivery of a message
WO2007063420A2 (en) * 2005-12-01 2007-06-07 Nokia Corporation Authentication in communications networks
US20070136587A1 (en) * 2005-12-08 2007-06-14 Freescale Semiconductor, Inc. Method for device authentication
JP2007312357A (ja) * 2006-04-18 2007-11-29 Canon Inc データ処理装置及びその制御方法、データ処理システム、プログラム、記憶媒体
US8898319B2 (en) 2006-05-24 2014-11-25 Maxsp Corporation Applications and services as a bundle
US8811396B2 (en) * 2006-05-24 2014-08-19 Maxsp Corporation System for and method of securing a network utilizing credentials
CA2662686C (en) * 2006-09-07 2013-11-12 Research In Motion Limited Method and system for establishing a secure over-the-air (ota) device connection
US7840514B2 (en) * 2006-09-22 2010-11-23 Maxsp Corporation Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection
US9317506B2 (en) 2006-09-22 2016-04-19 Microsoft Technology Licensing, Llc Accelerated data transfer using common prior data segments
FR2907622A1 (fr) 2006-10-19 2008-04-25 St Microelectronics Sa Procede de transmission de donnees utilisant un code d'accuse de reception comportant des bits d'authentification caches
US8099115B2 (en) 2006-12-14 2012-01-17 Sybase, Inc. TCP over SMS
US7844686B1 (en) 2006-12-21 2010-11-30 Maxsp Corporation Warm standby appliance
US8423821B1 (en) 2006-12-21 2013-04-16 Maxsp Corporation Virtual recovery server
JP4802123B2 (ja) * 2007-03-07 2011-10-26 富士通株式会社 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体
US8175418B1 (en) 2007-10-26 2012-05-08 Maxsp Corporation Method of and system for enhanced data storage
US8307239B1 (en) 2007-10-26 2012-11-06 Maxsp Corporation Disaster recovery appliance
US8645515B2 (en) 2007-10-26 2014-02-04 Maxsp Corporation Environment manager
WO2009100259A2 (en) * 2008-02-05 2009-08-13 Icontrol, Inc. Methods and systems for shortened hash authentication and implicit session key agreement
US8713666B2 (en) * 2008-03-27 2014-04-29 Check Point Software Technologies, Ltd. Methods and devices for enforcing network access control utilizing secure packet tagging
US8301876B2 (en) * 2008-05-16 2012-10-30 Emc Corporation Techniques for secure network communication
WO2009151877A2 (en) 2008-05-16 2009-12-17 Terahop Networks, Inc. Systems and apparatus for securing a container
US8375453B2 (en) * 2008-05-21 2013-02-12 At&T Intellectual Property I, Lp Methods and apparatus to mitigate a denial-of-service attack in a voice over internet protocol network
JP2010057123A (ja) * 2008-08-29 2010-03-11 Panasonic Corp 暗号処理装置、暗号処理方法及びプログラム
US20110145572A1 (en) * 2009-12-15 2011-06-16 Christensen Kenneth J Apparatus and method for protecting packet-switched networks from unauthorized traffic
US8424106B2 (en) 2010-05-13 2013-04-16 International Business Machines Corporation Securing a communication protocol against attacks
CN102065096B (zh) * 2010-12-31 2014-11-05 惠州Tcl移动通信有限公司 播放器、移动通讯设备、鉴权服务器、鉴权系统及方法
US8719926B2 (en) * 2011-02-11 2014-05-06 Verizon Patent And Licensing Inc. Denial of service detection and prevention using dialog level filtering
US8843737B2 (en) * 2011-07-24 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Enhanced approach for transmission control protocol authentication option (TCP-AO) with key management protocols (KMPS)
US8832830B2 (en) * 2011-11-28 2014-09-09 International Business Machines Corporation Securing network communications from blind attacks with checksum comparisons
US9176838B2 (en) * 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment
US9154468B2 (en) * 2013-01-09 2015-10-06 Netronome Systems, Inc. Efficient forwarding of encrypted TCP retransmissions
US9525671B1 (en) * 2013-01-17 2016-12-20 Amazon Technologies, Inc. Secure address resolution protocol
US9338172B2 (en) * 2013-03-13 2016-05-10 Futurewei Technologies, Inc. Enhanced IPsec anti-replay/anti-DDOS performance
US10270719B2 (en) * 2013-09-10 2019-04-23 Illinois Tool Works Inc. Methods for handling data packets in a digital network of a welding system
EP3103237B1 (en) 2014-02-06 2020-02-19 Council of Scientific and Industrial Research Method and device for detecting a malicious sctp receiver terminal
US9509665B2 (en) * 2014-08-11 2016-11-29 Alcatel Lucent Protecting against malicious modification in cryptographic operations
WO2016064397A1 (en) 2014-10-23 2016-04-28 Hewlett Packard Enterprise Development Lp Admissions control of a device
US10699031B2 (en) 2014-10-30 2020-06-30 Hewlett Packard Enterprise Development Lp Secure transactions in a memory fabric
WO2016068942A1 (en) * 2014-10-30 2016-05-06 Hewlett Packard Enterprise Development Lp Encryption for transactions in a memory fabric
JP6507863B2 (ja) * 2015-06-03 2019-05-08 富士ゼロックス株式会社 情報処理装置及びプログラム
EP3328014A4 (en) * 2015-08-25 2018-08-29 Huawei Technologies Co., Ltd. Data packet transmission method, apparatus, node device, and system
US10819418B2 (en) * 2016-04-29 2020-10-27 Honeywell International Inc. Systems and methods for secure communications over broadband datalinks
US10554632B2 (en) * 2017-05-15 2020-02-04 Medtronic, Inc. Multimodal cryptographic data communications in a remote patient monitoring environment
US11036438B2 (en) 2017-05-31 2021-06-15 Fmad Engineering Kabushiki Gaisha Efficient storage architecture for high speed packet capture
US10423358B1 (en) * 2017-05-31 2019-09-24 FMAD Engineering GK High-speed data packet capture and storage with playback capabilities
US11392317B2 (en) 2017-05-31 2022-07-19 Fmad Engineering Kabushiki Gaisha High speed data packet flow processing
US10990326B2 (en) 2017-05-31 2021-04-27 Fmad Engineering Kabushiki Gaisha High-speed replay of captured data packets
JP6903529B2 (ja) * 2017-09-11 2021-07-14 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US10819689B2 (en) 2018-05-03 2020-10-27 Honeywell International Inc. Systems and methods for encrypted vehicle data service exchanges
US10715511B2 (en) 2018-05-03 2020-07-14 Honeywell International Inc. Systems and methods for a secure subscription based vehicle data service
CN109587163B (zh) * 2018-12-27 2022-08-16 网宿科技股份有限公司 一种dr模式下的防护方法和装置
US11444955B2 (en) * 2020-06-30 2022-09-13 Cisco Technology, Inc. Verification of in-situ network telemetry data in a packet-switched network
US11861046B2 (en) * 2021-04-29 2024-01-02 Infineon Technologies Ag System for an improved safety and security check

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870474A (en) * 1995-12-04 1999-02-09 Scientific-Atlanta, Inc. Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
JP3688830B2 (ja) * 1995-11-30 2005-08-31 株式会社東芝 パケット転送方法及びパケット処理装置
FI105753B (fi) * 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
FI105739B (fi) * 1998-06-10 2000-09-29 Ssh Comm Security Oy Verkkoon kytkettävä laite ja menetelmä sen asennusta ja konfigurointia varten
US6519636B2 (en) 1998-10-28 2003-02-11 International Business Machines Corporation Efficient classification, manipulation, and control of network transmissions by associating network flows with rule based functions
US6279140B1 (en) * 1999-01-07 2001-08-21 International Business Machines Corporation Method and apparatus for checksum verification with receive packet processing
US6957346B1 (en) 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
KR100798196B1 (ko) * 1999-11-01 2008-01-24 소니 가부시끼 가이샤 정보 전송 시스템 및 방법, 송신 장치 및 수신 장치,데이터 처리 장치 및 데이터 처리 방법, 및 기록 매체
GB2357226B (en) * 1999-12-08 2003-07-16 Hewlett Packard Co Security protocol
US20020035681A1 (en) * 2000-07-31 2002-03-21 Guillermo Maturana Strategy for handling long SSL messages
JP2002175010A (ja) * 2000-09-29 2002-06-21 Shinu Ko ホームページ改竄防止システム
US20030021417A1 (en) * 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7624444B2 (en) * 2001-06-13 2009-11-24 Mcafee, Inc. Method and apparatus for detecting intrusions on a computer system
US6920556B2 (en) * 2001-07-20 2005-07-19 International Business Machines Corporation Methods, systems and computer program products for multi-packet message authentication for secured SSL-based communication sessions

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946115B1 (ko) * 2007-09-17 2010-03-10 재단법인서울대학교산학협력재단 무선 네트워크에서의 대역폭 효율성 향상 및 프라이버시강화를 위한 메시지 인증 방법
KR101378647B1 (ko) * 2007-09-28 2014-04-01 삼성전자주식회사 Ieee 802.15.4 네트워크에서의 보안 설정 가능한 맥프레임 제공 방법 및 장치
KR20190037948A (ko) * 2017-09-29 2019-04-08 한화테크윈 주식회사 외부장치 인증 방법 및 장치
KR20220056355A (ko) * 2020-10-28 2022-05-06 주식회사 유앤아이씨 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템

Also Published As

Publication number Publication date
EP1463265B1 (en) 2013-01-16
US8245032B2 (en) 2012-08-14
MXPA04000800A (es) 2005-05-03
CN1536847B (zh) 2010-06-23
EP1463265A2 (en) 2004-09-29
EP1463265A3 (en) 2004-10-20
US20040193876A1 (en) 2004-09-30
CA2454990A1 (en) 2004-09-27
JP4504713B2 (ja) 2010-07-14
CA2454990C (en) 2009-12-22
JP2004295891A (ja) 2004-10-21
CN1536847A (zh) 2004-10-13

Similar Documents

Publication Publication Date Title
EP1463265B1 (en) Method and apparatus for authenticating packet payloads via message authentication codes
Moskowitz et al. Host identity protocol version 2 (HIPv2)
JP4271451B2 (ja) インターネット鍵交換データパケットをフラグメント化および再組み立てするための方法および装置
Moskowitz et al. Host identity protocol
Kaufman et al. Internet key exchange protocol version 2 (IKEv2)
Kaufman Internet key exchange (IKEv2) protocol
US9438592B1 (en) System and method for providing unified transport and security protocols
Rescorla et al. Datagram transport layer security
US20160028691A1 (en) System for and method of securing a network utilizing credentials
US20080141020A1 (en) Method and Apparatus for Providing Secure Streaming Data Transmission Facilities Using Unreliable Protocols
WO2005104488A1 (en) Methods and apparatus for using a static key or a dynamic key and for reducing tcp frame transmit latency
Kaufman RFC 4306: Internet key exchange (IKEv2) protocol
Kaufman et al. Rfc 7296: Internet key exchange protocol version 2 (ikev2)
Moskowitz et al. Rfc 5201: Host identity protocol
Chen et al. Secure communication channel establishment: TLS 1.3 (over TCP fast open) versus QUIC
US8423767B2 (en) Security association verification and recovery
WO2023036348A1 (zh) 一种加密通信方法、装置、设备及介质
Rescorla et al. RFC 4347: Datagram transport layer security
Eronen et al. Internet key exchange protocol version 2 (IKEv2)
CN116389169B (zh) 一种避免国密IPSecVPN网关数据包乱序、分片的方法
Pauly et al. TCP encapsulation of IKE and IPsec packets
WO2023067400A1 (en) Key replacement during datagram transport layer security (dtls) connections over stream control transmission protocol (sctp)
Siddiqui et al. Transport Mappings for Real-time Application Quality-of-Service Monitoring (RAQMON) Protocol Data Unit (PDU)
Heer et al. RFC 7401: Host Identity Protocol Version 2 (HIPv2)
Point et al. Internet Key Exchange Protocol Version 2 (IKEv2)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application