KR20180039102A - 데이터 패킷 전송 방법, 장치, 시스템, 및 노드 장치 - Google Patents
데이터 패킷 전송 방법, 장치, 시스템, 및 노드 장치 Download PDFInfo
- Publication number
- KR20180039102A KR20180039102A KR1020187006449A KR20187006449A KR20180039102A KR 20180039102 A KR20180039102 A KR 20180039102A KR 1020187006449 A KR1020187006449 A KR 1020187006449A KR 20187006449 A KR20187006449 A KR 20187006449A KR 20180039102 A KR20180039102 A KR 20180039102A
- Authority
- KR
- South Korea
- Prior art keywords
- data packet
- authentication code
- data
- message authentication
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명의 실시예들은 데이터 패킷 전송 방법, 장치, 시스템, 및 노드 장치를 개시한다. 데이터 패킷 전송 방법은, 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 단계와, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계와, 노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인하도록 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 송신하는 단계를 포함한다. 본 발명의 실시예들에 의해, 데이터 패킷의 데이터 유형 정보에 대한 보안 식별이 수행되어, 데이터 유형 정보의 전송 신뢰성을 개선할 수 있다.
Description
본 발명은 컴퓨터 응용 기술 분야에 관한 것으로, 특히, 데이터 패킷 전송 방법, 장치, 시스템, 및 노드 장치에 관한 것이다.
HTTP(Hyper Text Transfer Protocol)는 WWW(World Wide Web) 데이터를 전송하기 위해 요청/응답 모델을 사용한다. 송신 단말이 요청을 개시하고 수신 단말의 지정된 포트에 TCP(Transmission Control Protocol) 접속을 설정한다. 수신 단말은 지정된 포트에서 송신 단말이 보낸 요청을 수신한다. 수신 단말이 요청을 수신하면, 수신 단말은 응답 메시지를 송신 단말로 송신한다. 일례로 HTTP 2.0의 경우, HTTP 2.0 프레임은 애플리케이션 계층에 의해 전송 계층으로 송신된 상위 계층 데이터이고, 9바이트 프레임 헤더 및 페이로드(유효 페이로드)를 포함한다. 프레임 헤더는 길이 필드를 포함할 수 있다. 하나의 HTTP 프레임은 적어도 하나의 TCP 데이터 패킷으로 캡슐화될 수 있고, 각 TCP 데이터 패킷은 TCP 접속을 사용하여 노드 장치로 송신된다. TCP 데이터 패킷을 수신한 이후, 노드 장치는 일반적으로 데이터 패킷에 대해 블라인드 파싱(blind parsing)을 수행, 즉 수신된 TCP 데이터 패킷을 캡슐 해제(decapsulate)하여 HTTP2.0 프레임을 획득하고, 또한 페이로드 내의 데이터에 따라 HTTP2.0 프레임에 대한 데이터 파싱을 수행하도록, 페이로드의 데이터 볼륨을 나타내는 길이 필드에 따라 HTTP2.0 프레임의 경계를 결정한다. 데이터 파싱 방식이 블라인드 파싱이기 때문에, TCP 데이터 패킷의 데이터 부의 데이터 유형은 전술한 데이터 파싱 방식으로 정확하게 획득될 수 없고, 결과적으로 데이터 파싱 효율이 상대적으로 낮다. 따라서, 각 TCP 데이터 패킷이 TCP 접속을 사용하여 노드 장치로 송신되기 전에, TCP 데이터 패킷의 헤더에 데이터 유형 정보가 추가될 수 있어, 노드 장치는 데이터 유형 정보에 따라 TCP의 데이터 부의 데이터 유형을 획득한다. 그러나, TCP 데이터 패킷의 헤더 내의 데이터 유형 정보는 일반 텍스트로 전송된다. TCP 데이터 패킷을 인터셉트 한 후에, 불법 중간 엔티티는 TCP 데이터 패킷 내의 데이터 유형 정보를 위조할 수 있어, 데이터 유형 정보의 전송 신뢰도가 상대적으로 낮다.
본 발명의 실시예들은 데이터 패킷의 데이터 유형 정보에 대한 보안 식별을 수행하고, 데이터 유형 정보의 전송 신뢰도를 향상시키기 위한, 데이터 패킷 전송 방법, 장치, 시스템, 및 노드 장치를 제공한다.
본 발명의 제 1 양태는 데이터 패킷 전송 방법을 제공하고, 방법은,
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 단계와,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계와,
노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인하도록, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 송신하는 단계를 포함한다.
제 1 가능한 구현예에서, 데이터 패킷은 TCP 데이터 패킷이고,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 후, 방법은,
데이터 유형 정보 및 제 1 메시지 인증 코드를 TCP 데이터 패킷의 헤더에 추가하는 단계를 더 포함한다.
제 1 양태의 제 1 가능한 구현예를 참조하여, 제 2 가능한 구현예에서, 데이터 패킷 식별 정보는, TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
제 1 양태의 제 2 가능한 구현예를 참조하여, 제 3 가능한 구현예에서, 데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계 전에, 방법은,
TLS 계층에 의해 송신된 프리셋 파라미터를 획득하는 단계를 더 포함하되, 데이터 패킷이 위치한 프로토콜 스택 상위 계층은 TLS 계층을 포함한다.
제 1 양태의 가능한 구현예를 참조하여, 제 4 가능한 구현예에서, 데이터 패킷은 TLS 데이터 패킷이고, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 송신하는 단계는,
데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하는 단계와,
적어도 하나의 TCP 데이터 패킷을 노드 장치로 송신하는 단계를 포함한다.
제 1 양태의 가능한 제 4 구현예를 참조하여, 제 5 가능한 구현예에서, 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데 사용된다.
제 1 양태의 가능한 제 4 구현예를 참조하여, 제 6 가능한 구현예에서, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
제 1 양태의 가능한 제 4 구현예를 참조하여, 제 7 가능한 구현예에서, 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 단계 전에, 방법은,
TLS 데이터 패킷에 확장 식별자 정보(extension identifier information)를 추가하는 단계를 더 포함하되, 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
제 1 양태 또는 제 1 양태의 제 1 가능한 구현예 내지 제 7 가능한 구현예 중 어느 하나와 관련하여, 제 8 가능한 구현예에서, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 송신하는 단계 전에, 방법은, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하는 단계를 더 포함한다.
제 1 양태의 가능한 제 8 구현예와 관련하여, 제 9 가능한 구현예에서, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하는 단계 전에, 방법은, TLS 계층에 의해 송신된 프리셋 개인 키를 획득하는 단계를 더 포함한다.
제 1 양태 또는 제 1 양태의 제 1 가능한 구현예 내지 제 9 가능한 구현예 중 어느 하나와 관련하여, 제 10 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 전에, 방법은, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함한다.
제 1 양태 또는 제 1 양태의 제 1 가능한 구현예 내지 제 9 가능한 구현예 중 어느 하나와 관련하여, 제 11 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 전에, 방법은,
TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함한다.
제 1 양태 또는 제 1 양태의 제 1 가능한 구현예 내지 제 9 가능한 구현예 중 어느 하나와 관련하여, 제 12 가능한 구현예에서, 프리셋 MAC 알고리즘은 키 정보를 전달하고,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계는,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계를 포함한다.
제 1 양태의 제 12 가능한 구현예와 관련하여, 제 13 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 전에, 방법은,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 키 정보를 획득하는 단계를 더 포함한다.
제 1 양태의 제 12 가능한 구현예와 관련하여, 제 14 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 전에, 방법은,
TLS 계층에 의해 송신된 키 정보를 획득하는 단계를 더 포함한다.
본 발명의 제 2 양태는 데이터 패킷 전송 방법을 제공하고, 방법은,
노드 장치에 의해 송신된 데이터 패킷을 수신하는 단계 - 데이터 패킷은 데이터 패킷 정보 및 제 1 메시지 인증 코드를 전달함 - 와,
데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계와,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계와,
제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하는 단계와,
비교 결과에 따라 데이터 유형 정보를 확인하는 단계를 포함한다.
제 1 가능한 구현예에서, 데이터 패킷은 TCP 데이터 패킷이고,
데이터 패킷 식별 정보는, TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
제 2 양태의 제 1 가능한 구현예와 관련하여, 제 2 가능한 구현예에서, 데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계 전에, 방법은,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 상호작용하여 프리셋 파라미터를 획득하는 단계를 더 포함한다.
제 2 양태의 가능한 구현예와 관련하여, 제 3 가능한 구현예에서, 데이터 패킷은 TLS 데이터 패킷이고,
데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계 전에, 방법은,
TLS 데이터 패킷이 확장 식별자 정보를 포함하는 것으로 결정하는 단계를 더 포함하되, 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
제 2 양태의 제 3 가능한 구현예와 관련하여, 제 4 가능한 구현예에서, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
제 2 양태 또는 제 2 양태의 제 1 가능한 구현예 내지 제 4 가능한 구현예 중 어느 하나와 관련하여, 제 5 가능한 구현예에서, 제 1 메시지 인증 코드는 프리셋 개인 키를 사용하여 암호화되고,
노드 장치에 의해 송신된 데이터 패킷을 수신하는 단계 후, 방법은
프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하는 단계를 더 포함한다.
제 2 양태의 제 5 가능한 구현예와 관련하여, 제 6 가능한 구현예에서, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하는 단계 전에, 방법은,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 상호작용하여 프리셋 공개 키를 획득하는 단계를 더 포함한다.
제 2 양태 또는 제 2 양태의 제 1 가능한 구현예 내지 제 6 가능한 구현예 중 어느 하나와 관련하여, 제 7 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계 전에, 방법은,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함한다.
제 2 양태 또는 제 2 양태의 제 1 가능한 구현예 내지 제 6 가능한 구현예 중 어느 하나와 관련하여, 제 8 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계 전에, 방법은,
TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함한다.
제 2 양태 또는 제 2 양태의 제 1 가능한 구현예 내지 제 8 가능한 구현예 중 어느 하나와 관련하여, 제 9 가능한 구현예에서, 프리셋 MAC 알고리즘은 키 정보를 전달하고,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계는,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계를 포함한다.
제 2 양태의 제 9 가능한 구현예와 관련하여, 제 10 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계 전에, 방법은,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 키 정보를 획득하는 단계를 더 포함한다.
제 2 양태의 제 9 가능한 구현예와 관련하여, 제 11 가능한 구현예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계 전에, 방법은,
TLS 계층에 의해 송신된 키 정보를 획득하는 단계를 더 포함한다.
본 발명의 제 3 양태는 데이터 패킷 전송 장치를 제공하고, 장치는,
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하도록 구성된 정보 획득 유닛과,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하도록 구성된 계산 유닛과,
노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인하기 위해, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 송신하도록 구성된 데이터 패킷 송신 유닛을 포함한다.
제 1 가능한 구현예에서, 데이터 패킷은 TCP 데이터 패킷이고,
장치는,
계산 유닛이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한 후, 데이터 유형 정보 및 제 1 메시지 인증 코드를 TCP 데이터 패킷의 헤더에 추가하도록 구성된 정보 추가 유닛을 더 포함한다.
제 3 양태의 제 1 가능한 구현예와 관련하여, 제 2 가능한 구현예에서, 데이터 패킷 식별 정보는, TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
제 3 양태의 제 2 가능한 구현예와 관련하여, 제 3 가능한 구현예에서, 장치는,
정보 획득 유닛이 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, TLS 계층에 의해 송신된 프리셋 파라미터를 획득하도록 구성된 프리셋 파라미터 획득 유닛을 더 포함하되, 데이터 패킷이 위치한 프로토콜 스택 상위 계층은 TLS 계층을 포함한다.
제 3 양태의 가능한 구현예와 관련하여, 제 4 가능한 구현예에서, 데이터 패킷은 TLS 데이터 패킷이고,
데이터 패킷 송신 유닛은,
데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하도록 구성된 캡슐화 모듈과,
노드 장치에 적어도 하나의 TCP 데이터 패킷을 송신하도록 구성된 데이터 패킷 송신 모듈을 포함한다.
제 3 양태의 제 4 가능한 구현예와 관련하여, 제 5 가능한 구현예에서, 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데 사용된다.
제 3 양태의 제 4 가능한 구현예와 관련하여, 제 6 가능한 구현예에서, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
제 3 양태의 제 4 가능한 구현예와 관련하여, 제 7 가능한 구현예에서, 장치는,
정보 획득 유닛이 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하기 전에, TLS 데이터 패킷에 확장 식별자 정보를 추가하도록 구성된 정보 추가 유닛을 더 포함하되, 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
제 3 양태 또는 제 3 양태의 제 1 가능한 구현예 내지 제 7 가능한 구현예와 관련하여, 제 8 가능한 구현예에서, 장치는,
데이터 패킷 송신 유닛이 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치에 송신하기 전에, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하도록 구성된 암호화 유닛을 더 포함한다.
제 3 양태의 제 8 가능한 구현예와 관련하여, 제 9 가능한 구현예에서, 장치는,
암호화 유닛이 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하기 전에, TLS 계층에 의해 송신된 프리셋 개인 키를 획득하도록 구성된 프리셋 개인 키 획득 유닛을 더 포함한다.
제 3 양태 또는 제 3 양태의 제 1 가능한 구현예 내지 제 9 가능한 구현예 중 어느 하나와 관련하여, 제 10 가능한 구현예에서, 장치는,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함한다.
제 3 양태 또는 제 3 양태의 제 1 가능한 구현예 내지 제 9 가능한 구현예 중 어느 하나와 관련하여, 제 11 가능한 구현예에서, 장치는,
계산 유닛이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하기 전에, TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함한다.
제 3 양태 또는 제 3 양태의 제 1 가능한 구현예 내지 제 11 가능한 구현예중 어느 하나와 관련하여, 제 12 가능한 구현예에서, 프리셋 MAC 알고리즘은 키 정보를 전달하고,
계산 유닛은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하도록 구성된다.
제 3 양태의 제 12 가능한 구현예와 관련하여, 제 13 가능한 구현예에서, 장치는,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함한다.
제 3 양태의 제 12 가능한 구현예와 관련하여, 제 14 가능한 구현예에서, 장치는,
계산 유닛이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하기 전에, TLS 계층에 의해 송신된 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함한다.
본 발명의 제 4 양태는 노드 장치를 제공하고, 노드 장치는 프로세서, 메모리, 및 네트워크 인터페이스를 포함하되, 메모리는 프로그램 코드 세트를 저장하고, 프로세서는 메모리에 저장된 프로그램 코드를 호출하여 동작을 수행하도록 구성되며, 동작은,
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 것과,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 것과,
노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인하도록, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 송신하는 것을 포함한다.
본 발명의 제 5 양태는 데이터 패킷 전송 장치를 제공하고, 장치는,
노드 장치에 의해 송신된 데이터 패킷을 수신하도록 구성된 데이터 패킷 수신 유닛 - 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드 전달함 - 과,
데이터 패킷의 데이터 패킷 식별 정보를 획득하도록 구성된 정보 획득 유닛과,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하도록 구성된 계산 유닛과,
제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하도록 구성된 계산 유닛과,
비교 결과에 따라 데이터 유형 정보를 확인하도록 구성된 확인 유닛을 포함한다.
제 1 가능한 구현예에서, 데이터 패킷은 TCP 데이터 패킷이고,
데이터 패킷 식별 정보는, TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
제 5 양태의 제 1 가능한 구현예와 관련하여, 제 2 가능한 구현예에서, 장치는,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 상호작용하여 프리셋 파라미터를 획득하도록 구성된 프리셋 파라미터 획득 유닛을 더 포함한다.
제 5 양태의 가능한 구현예와 관련하여, 제 3 가능한 구현예에서, 데이터 패킷은 TLS 데이터 패킷이고,
장치는,
정보 획득 유닛이 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, TLS 데이터 패킷이 확장 식별자 정보를 포함한다고 결정하도록 구성된 결정 유닛을 더 포함하되, 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
제 5 양태의 제 3 가능한 구현예와 관련하여, 제 4 가능한 구현예에서, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
제 5 양태 또는 제 5 양태의 제 1 가능한 구현예 내지 제 4 가능한 구현예 중 어느 하나와 관련하여, 제 5 가능한 구현예에서, 제 1 메시지 인증 코드는 프리셋 개인 키에 의해 암호화되고,
장치는,
데이터 패킷 수신 유닛이 노드 장치에 의해 송신된 데이터 패킷을 수신한 후, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하도록 구성된 복호화 유닛을 더 포함한다.
제 5 양태의 제 5 가능한 구현예와 관련하여, 제 6 가능한 구현예에서, 장치는,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 상호작용하여 프리셋 공개 키를 획득하도록 구성된 프리셋 공개 키 획득 유닛을 더 포함한다.
제 5 양태 또는 제 5 양태의 제 1 가능한 구현예 내지 제 6 가능한 구현예 중 어느 하나와 관련하여, 제 7 가능한 구현예에서, 장치는,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함한다.
제 5 양태 또는 제 5 양태의 제 1 가능한 구현예 내지 제 6 가능한 구현예 중 어느 하나와 관련하여, 제 8 가능한 구현예에서, 장치는,
계산 유닛이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하기 전에, TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함한다.
제 5 양태 또는 제 5 양태의 제 1 가능한 구현예 내지 제 8 가능한 구현예 중 어느 하나와 관련하여, 제 9 가능한 구현예에서, 프리셋 MAC 알고리즘은 키 정보를 전달하고,
계산 유닛은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득하도록 구성된다.
제 5 양태의 제 9 가능한 구현예와 관련하여, 제 10 가능한 구현예에서, 장치는,
노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함한다.
제 5 양태의 제 9 가능한 구현예와 관련하여, 제 11 가능한 구현예에서, 장치는,
계산 유닛이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득하기 전에, TLS 계층에 의해 송신된 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함한다.
본 발명의 제 6 양태는 노드 장치를 제공하고, 노드 장치는, 프로세서, 메모리, 및 네트워크 인터페이스를 포함하되, 메모리는 프로그램 코드 세트를 저장하고, 프로세서는 메모리에 저장된 프로그램 코드를 호출하여 동작을 수행하도록 구성되며, 동작은,
노드 장치에 의해 송신된 데이터 패킷을 수신하는 것 - 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달함 - 과,
데이터 패킷의 데이터 패킷 식별 정보를 획득하는 것과,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 것과,
제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하는 것과,
비교 결과에 따라 데이터 유형 정보를 확인하는 것을 포함한다.
본 발명의 제 7 양태는 데이터 패킷 전송 시스템을 제공하고, 데이터 패킷 전송 시스템은 제 3 양태에 따른 데이터 패킷 전송 장치 및 제 5 양태에 따른 데이터 패킷 전송 장치를 포함한다.
본 발명의 실시예들에서, 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보가 획득되고, 데이터 유형 정보 및 데이터 패킷 식별 정보는 프리셋 MAC 알고리즘을 사용하여 계산되어 제 1 메시지 인증 코드를 획득하며, 노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인하도록 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷은 노드 장치로 송신된다. 이러한 방식으로, 데이터 패킷의 데이터 유형 정보에 대해 보안 식별이 수행되어, 데이터 유형 정보의 전송 신뢰도를 개선할 수 있다.
본 발명의 실시예들 또는 종래 기술에서의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시예들을 설명하는데 필요한 첨부 도면들을 간단히 설명한다. 명백하게, 다음의 설명에서 첨부된 도면은 단지 본 발명의 일부 실시예들을 보여주기 위한 것으로, 당업자는 또한 창의적인 노력 없이도 이들 도면으로부터 다른 도면을 도출할 수 있다.
도 1은 본 발명의 제 1 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 2는 본 발명의 제 2 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 3은 본 발명의 제 3 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 4는 본 발명의 제 4 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 5a는 본 발명의 일 실시예에 따른 TCP 데이터 패킷에 관한 개략적인 구조도이다.
도 5b는 본 발명의 일 실시예에 따른 TLS 데이터 패킷에 관한 개략적인 구조도이다.
도 5c는 본 발명의 제 1 실시예에 따른 데이터 패킷 캡슐화 및 캡슐 해제에 관한 개략적인 체계도이다.
도 5d는 본 발명의 제 2 실시예에 따른 데이터 패킷 캡슐화 및 캡슐 해제에 관한 개략적인 체계도이다.
도 5e는 본 발명의 제 3 실시예에 따른 데이터 패킷 캡슐화 및 캡슐 해제에 관한 개략적인 체계도이다.
도 6은 본 발명의 제 1 실시예에 따른 데이터 패킷 전송 장치에 관한 개략적인 구조도이다.
도 7은 본 발명의 일 실시예에 따른 도 6의 데이터 패킷 송신 유닛에 관한 개략적인 구조도이다.
도 8은 본 발명의 제 1 실시예에 따른 노드 장치에 관한 개략적인 구조도이다.
도 9는 본 발명의 제 2 실시예에 따른 데이터 패킷 전송 장치에 관한 개략적인 구조도이다.
도 10은 본 발명의 제 2 실시예에 따른 노드 장치에 관한 개략적인 구조도이다.
도 11은 본 발명의 일 실시예에 따른 데이터 패킷 전송 시스템에 관한 개략적인 구조도이다.
도 1은 본 발명의 제 1 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 2는 본 발명의 제 2 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 3은 본 발명의 제 3 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 4는 본 발명의 제 4 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다.
도 5a는 본 발명의 일 실시예에 따른 TCP 데이터 패킷에 관한 개략적인 구조도이다.
도 5b는 본 발명의 일 실시예에 따른 TLS 데이터 패킷에 관한 개략적인 구조도이다.
도 5c는 본 발명의 제 1 실시예에 따른 데이터 패킷 캡슐화 및 캡슐 해제에 관한 개략적인 체계도이다.
도 5d는 본 발명의 제 2 실시예에 따른 데이터 패킷 캡슐화 및 캡슐 해제에 관한 개략적인 체계도이다.
도 5e는 본 발명의 제 3 실시예에 따른 데이터 패킷 캡슐화 및 캡슐 해제에 관한 개략적인 체계도이다.
도 6은 본 발명의 제 1 실시예에 따른 데이터 패킷 전송 장치에 관한 개략적인 구조도이다.
도 7은 본 발명의 일 실시예에 따른 도 6의 데이터 패킷 송신 유닛에 관한 개략적인 구조도이다.
도 8은 본 발명의 제 1 실시예에 따른 노드 장치에 관한 개략적인 구조도이다.
도 9는 본 발명의 제 2 실시예에 따른 데이터 패킷 전송 장치에 관한 개략적인 구조도이다.
도 10은 본 발명의 제 2 실시예에 따른 노드 장치에 관한 개략적인 구조도이다.
도 11은 본 발명의 일 실시예에 따른 데이터 패킷 전송 시스템에 관한 개략적인 구조도이다.
이하는 본 발명의 실시예들에 첨부된 도면을 참조하여 본 발명의 실시예들의 기술적 해결책을 명확히 설명한다. 명백하게, 설명된 실시예들은 본 발명의 실시예들 중 단지 일부이며 전부는 아니다. 창의적 노력 없이 본 발명의 실시예들에 기초하여 당업자에 의해 획득되는 다른 모든 실시예들은 본 발명의 보호 범위 내에 있을 것이다.
기존 데이터 패킷 전송 방법에서, 데이터 패킷의 데이터 유형 정보가 데이터 패킷의 헤더에 추가되고, 데이터 유형 정보가 추가된 데이터 패킷이 노드 장치에 송신됨으로써, 노드 장치는 데이터 유형 정보에 따라 데이터 패킷의 데이터 부의 데이터 유형을 획득한다. 데이터 패킷의 헤더 내의 데이터 유형 정보는 일반 텍스트로 전송되기 때문에, TCP 데이터 패킷을 인터셉팅한 이후, 불법 중간 엔티티가 TCP 데이터 패킷의 데이터 유형 정보를 위조할 수 있고, 이로 인해 데이터 유형 정보의 전송 신뢰도가 상대적으로 낮다.
본 발명의 실시예들은 데이터 패킷 전송 방법을 제공한다. 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보가 획득되고, 제 1 메시지 인증 코드를 획득하기 위해 데이터 유형 정보 및 데이터 패킷 식별 정보는 프리셋(preset) MAC 알고리즘을 사용하여 계산되며, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷은 노드 장치로 송신됨으로써, 노드 장치는 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 검사한다. 이러한 방식으로, 데이터 패킷의 데이터 유형 정보에 대해 보안 식별이 수행될 수 있고, 이로써 데이터 유형 정보의 전송 신뢰도를 개선한다.
본 발명의 실시예들에서 언급된 데이터 패킷은 TCP 데이터 패킷 또는 TLS(Transport Layer Security) 데이터 패킷을 포함할 수 있다. 예를 들어, TCP 데이터 패킷은 하나의 HTTP 프레임을 캡슐화하여 획득될 수 있다. HTTP 프레임은 HTTP2.0 프레임일 수 있다. HTTP2.0은 애플리케이션 계층에 위치한다. HTTP2.0 프레임은 애플리케이션 계층 내의 데이터이다. 하나의 HTTP 프레임은 적어도 하나의 TCP 데이터 패킷으로 캡슐화될 수 있다. 다른 예로서, TLS 데이터 패킷은 하나의 HTTP 프레임을 캡슐화함으로써 획득될 수 있다. TLS는 애플리케이션 계층 아래 및 전송 계층 위에 있고 네트워크 통신에 대한 암호화, 식별자 인증 및 데이터 무결성 보증을 제공하는 보안 프로토콜이며, 하나의 HTTP 프레임을 적어도 하나의 TLS 데이터 패킷으로 캡슐화할 수 있다. 또한, 하나의 TLS 데이터 패킷은 적어도 하나의 TCP 데이터 패킷으로 캡슐화될 수 있다.
본 발명의 실시예들에서 언급된 데이터 유형 정보는 데이터 패킷의 데이터 부의 데이터 유형을 나타내는데 사용될 수 있다. 데이터 패킷의 데이터 부의 데이터 유형은 텍스트, 사진, 비디오, 오디오 등일 수 있다.
본 발명의 실시예들에서 언급된 데이터 패킷 식별 정보는 데이터 패킷을 식별하는데 사용될 수 있다. 데이터 패킷이 TCP 데이터 패킷인 경우, 데이터 패킷 식별 정보는 TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 하나 이상을 포함할 수 있다. 프리셋 파라미터는 TCP 데이터 패킷에 대한 난수일 수 있다. 데이터 패킷이 TLS 데이터 패킷인 경우, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드일 수 있다. TLS 데이터 패킷의 이전 TLS 데이터 패킷은 제 2 메시지 인증 코드를 포함한다. 상이한 TLS 데이터 패킷은 상이한 제 2 메시지 인증 코드를 포함한다.
본 발명의 실시예들에서 언급된 프리셋 메시지 인증 코드(Message Authentication Code, MAC) 알고리즘은, 고정 길이(예를 들어, 128비트)를 갖는 다이제스트 값을 획득하기 위해 데이터 유형 정보 및 데이터 패킷 식별 정보에 대한 메시지 다이제스트를 수행할 수 있고, 제 1 메시지 인증 코드를 획득하기 위해 다이제스트 값에 대한 암호화 처리를 수행할 수 있다. 프리셋 MAC 알고리즘은, 예를 들어, DES 알고리즘이다. 선택적으로, 프리셋 MAC 알고리즘은 협상을 통해 획득된 다이제스트 값 및 키 정보를 입력으로 사용하여 고정 길이를 갖는 다이제스트 값을 획득하기 위해 데이터 유형 정보 및 데이터 패킷 식별 정보에 대한 메시지 다이제스트를 수행할 수 있고, 이차 해시 반복 방식(quadratic hash iteration manner)으로 계산하여 제 1 메시지 인증 코드를 획득할 수 있다. 프리셋 MAC 알고리즘은, 예를 들어, HMAC 알고리즘이다.
본 발명의 실시예에서 언급된 노드 장치는, 클라이언트, 프록시 서버, 파싱 서버 등, 예를 들어, 웹 페이지 브라우저, 이메일 클라이언트 또는 이메일 서버를 포함할 수 있다.
본 발명의 실시예들에서 언급된 데이터 패킷 전송 방법은, 서버, 클라이언트, 프록시 클라이언트 또는 프록시 서버와 같은 단말 상에서 실행될 수 있다. 이는 본 발명의 실시예들에 의해 특별히 제한되지 않는다.
도 1을 참조하면, 도 1은 본 발명의 제 1 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다. 도면에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 패킷 전송 방법은 다음과 같은 단계들을 포함할 수 있다.
S101. 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득한다.
단말은 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득할 수 있다. 데이터 유형 정보는 데이터 패킷의 데이터 부의 데이터 유형을 나타내는데 사용된다. 데이터 패킷의 데이터 부의 데이터 유형은 텍스트, 사진, 비디오, 오디오 등일 수 있다. 데이터 패킷 식별 정보는 데이터 패킷을 식별하는데 사용된다.
데이터 패킷은 TCP 데이터 패킷일 수 있다. 일례로, 도 5a에 도시된 TCP 데이터 패킷의 개략적인 구조도를 사용하여, 단말은 적어도 하나의 TCP 데이터 패킷 내에 하나의 HTTP 프레임을 캡슐화할 수 있다. HTTP 프레임의 데이터 유형이 텍스트이면, HTTP 프레임을 캡슐화하여 획득된 각 TCP 데이터 패킷의 데이터 부의 데이터 유형은 텍스트이다. 단말은 TCP 데이터 패킷의 데이터 유형 정보를 획득할 수 있다. 예를 들어, 데이터 유형 정보는 0001일 수 있고, TCP 데이터 패킷의 데이터 부의 데이터 유형이 텍스트 또는 html, 즉 텍스트임을 나타내는데 사용될 수 있다. 단말은 또한 TCP 데이터 패킷의 데이터 패킷 식별 정보를 더 획득할 수 있다. 데이터 패킷 식별 정보는, TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호 또는 프리셋 파라미터 중 적어도 하나를 포함할 수 있다. 프리셋 파라미터는 TCP 데이터 패킷의 난수이다. 불법 중간 엔티티는 프리셋 파라미터를 획득할 수 없다.
데이터 패킷은 TLS 데이터 패킷일 수 있다. 일례로, 도 5b에 도시된 TLS 데이터 패킷의 개략적인 구조도를 사용하면, HTTP 프레임은 HTTP의 기본 프로토콜 단위이다. HTTP는 애플리케이션 계층에서 실행된다. TLS 데이터 패킷은 TLS의 기본 프로토콜 단위이다. TLS는 애플리케이션 계층 아래 및 전송 계층 위에서 실행된다. 프로토콜 스택 상위 계층이 TLS 계층을 포함하는 경우, 단말은 하나의 HTTP 프레임을 적어도 하나의 TLS 데이터 패킷으로 캡슐화할 수 있다. HTTP 프레임의 데이터 유형이 텍스트인 경우, HTTP 프레임을 캡슐화하여 획득된 각 TLS 데이터 패킷의 데이터 부의 데이터 유형은 텍스트이다. 단말은 TLS 데이터 패킷의 데이터 유형 정보를 획득할 수 있다. 예를 들어, 데이터 유형 정보는 0001일 수 있고, TLS 데이터 패킷의 데이터 부의 데이터 유형이 텍스트 또는 html, 즉 텍스트임을 나타내기 위해 사용될 수 있다. 단말은 TLS 데이터 패킷의 데이터 패킷 식별 정보를 또한 획득할 수 있다. 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드일 수 있다.
선택적인 실시예에서, 데이터 패킷이 TCP 데이터 패킷일 때, TCP 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 단말은 단말 내의 TLS 계층과 TCP 계층 사이의 계층간 상호작용(cross-layer interaction)에 의해 프리셋 파라미터를 획득할 수 있다. 예를 들어, 데이터 패킷이 위치하는 프로토콜 스택 상위 계층이 TLS 계층을 포함하는 경우, TLS 계층은 TCP 계층에 프리셋 파라미터를 송신할 수 있고, 단말은 TLS 계층에 의해 송신된 프리셋 파라미터를 획득할 수 있다.
선택적 실시예에서, 데이터 패킷이 TLS 데이터 패킷일 때, TLS 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하기 전에, 단말은 확장 식별자 정보를 TLS 데이터 패킷에 추가할 수 있다. 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내기 위해 사용된다. 일례로, 도 5b에 도시된 TLS 데이터 패킷의 개략적인 구조도를 사용하여, 확장 식별자 정보는 Content Type ::= ENUMERATED{change_cipher_spec (20), alert (21), handshake (22), application_data (23), Extention data (24), (255)}일 수 있다. 단말은 확장 식별자 정보를 TLS 데이터 패킷의 헤더 필드 Content Type에 추가할 수 있다. 확장 식별자 정보 내의 Extention data (24)는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는데 사용된다.
특정 구현예에서, 적어도 하나의 TLS 데이터 패킷에 하나의 HTTP 프레임을 캡슐화한 후, 단말은 TLS 데이터 패킷 다음에 하나의 TLS 데이터 패킷을 추가하고, 추가된 TLS 데이터 패킷에 확장 식별자 정보를 추가할 수 있다. 확장 식별자 정보는 추가된 TLS 데이터 패킷이 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는데 사용된다. 추가된 TLS 데이터 패킷을 수신한 후, 그러한 확장을 지원하지 않는 엔티티는 추가된 TLS 데이터 패킷 내의 확장 식별자 정보를 식별할 수 없고, 추가된 TLS 데이터 패킷을 폐기한다.
S102. 제 1 메시지 인증 코드를 획득하기 위해, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산한다.
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득한 후, 단말은 제 1 메시지 인증 코드를 획득하기 위해, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산한다.
선택적 실시예에서, 데이터 패킷이 TCP 데이터 패킷일 때, 제 1 메시지 인증 코드를 획득한 후에, 단말은 TCP 데이터 패킷의 헤더에 데이터 유형 정보 및 제 1 메시지 인증 코드를 추가할 수 있다. 도 5a에 도시된 TCP 데이터 패킷의 개략적인 구조도를 참조하면, 단말은 TCP 데이터 패킷의 옵션 필드에 데이터 유형 정보 및 제 1 메시지 인증 코드를 추가할 수 있다.
선택적 실시예에서, 데이터 패킷이 TLS 데이터 패킷일 때, 제 1 메시지 인증 코드를 획득한 후에, 단말은 TLS 데이터 패킷의 데이터 부에 데이터 유형 정보를 추가하고, 제 1 메시지 인증 코드를 TLS 데이터 패킷의 MAC 필드에 추가할 수 있다. 도 5b에 도시된 TLS 데이터 패킷의 개략적인 구조도를 참조하면, 단말은 TLS 데이터 패킷의 데이터 부, 즉 일반 텍스트(선택적으로 압축됨)에 데이터 유형 정보를 추가하고, TLS 데이터 패킷의 MAC 필드에 제 1 메시지 인증 코드를 추가할 수 있다.
선택적 실시예에서, 단말은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 예를 들어, 노드 장치에 대한 TCP 접속이 수립되면, 단말은 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 바람직하게는, 단말은 3방향 핸드셰이크(three-way handshake) 단계에서 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 예를 들어, 단말은 지원되는 MAC 알고리즘 리스트를 데이터 패킷의 옵션 필드에 추가하고, 지원되는 MAC 알고리즘 리스트가 추가된 데이터 패킷을 노드 장치에 송신한다. 지원되는 MAC 알고리즘 리스트가 추가된 데이터 패킷을 수신한 후, 노드 장치는 지원되는 MAC 알고리즘 리스트로부터 노드 장치가 가장 우선적으로 지원하는 MAC 알고리즘을 선택하고, 송신 대상 데이터 패킷에 MAC 알고리즘을 추가하며, MAC 알고리즘이 추가된 송신 대상 데이터 패킷을 단말에 송신한다. 단말은 노드 장치에 의해 가장 우선적으로 지원되는 MAC 알고리즘을 획득하여 단말과 노드 장치 사이의 MAC 알고리즘 협상을 구현한다.
선택적 실시예에서, 단말은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, 단말은 단말의 TLS 계층과 TCP 계층 사이의 계층간 상호작용에 의해 프리셋 MAC 알고리즘을 획득할 수 있다. 예를 들어, 데이터 패킷이 위치하는 프로토콜 스택 상위 계층이 TLS 계층을 포함할 때, TLS 계층은 프리셋 MAC 알고리즘을 TCP 계층에 송신하고, 단말은 TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 단말은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 예를 들어, 노드 장치에 대한 TCP 접속이 수립될 때, 단말은 노드 장치와 협상하여 미리 설정된 MAC 알고리즘 및 키 정보를 획득할 수 있다. 바람직하게는, 단말은 3방향 핸드셰이크 단계에서 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 예를 들어, 단말은 지원되는 MAC 알고리즘 리스트 및 키 정보를 데이터 패킷의 옵션 필드에 추가하고, 지원되는 MAC 알고리즘 리스트 및 키 정보가 추가된 데이터 패킷을 노드 장치에 송신한다. 노드 장치는, 지원되는 MAC 알고리즘 리스트 및 키 정보가 추가된 데이터 패킷을 수신한 후, 지원되는 MAC 알고리즘 리스트로부터 노드 장치에 의해 가장 우선적으로 지원되는 MAC 알고리즘을 선택하고, MAC 알고리즘 및 노드 장치의 키 정보를 송신 대상 데이터 패킷에 추가하며, MAC 알고리즘 및 노드 장치의 키 정보가 추가된 송신 대상 데이터 패킷을 단말에 송신한다. 단말은 노드 장치에 의해 가장 우선적으로 지원되는 MAC 알고리즘 및 노드 장치의 키 정보를 획득하여 단말과 노드 장치 사이의 MAC 알고리즘 및 키 정보 협상을 구현한다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보에 대한 MAC 계산을 수행하기 전에, 단말은 단말 내의 TLS 계층과 TCP 계층 사이의 계층간 상호작용에 의해 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 예를 들어, 데이터 패킷이 위치하는 프로토콜 스택 상위 계층이 TLS 계층을 포함할 때, TLS 계층은 프리셋 MAC 알고리즘 및 키 정보를 TCP 계층으로 송신할 수 있고, 단말의 TCP 계층은 TLS 계층에 의해 송신되는 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다.
S103. 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치에 송신하여, 노드 장치는 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인한다.
단말은 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 송신하여, 노드 장치는 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인한다. 특정 구현예에서, 데이터 유형 정보 또는 데이터 패킷 식별 정보가 상이할 때, 획득된 제 1 메시지 인증 코드는 상이하고, 제 1 메시지 인증 코드에 따라 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득할 수 없다. 이 경우, 데이터 패킷을 인터셉팅한 후, 불법 중간 엔티티가 데이터 유형 정보 및 제 1 메시지 인증 코드를 획득하더라도, 여전히 제 1 메시지 인증 코드에 따라 데이터 패킷 식별 정보를 획득할 수 없다. 또한, 일단 데이터 유형 정보가 위조되면, 프리셋 MAC 알고리즘을 사용하여 위조된 데이터 유형 정보를 계산함으로써 획득된 메시지 인증 코드가 데이터 패킷 내의 제 1 메시지 인증 코드와 상이하다. 이 경우에, 제 1 메시지 인증 코드는 노드 장치에 의해 수신된 데이터 패킷 내의 데이터 유형 정보가 위조되었는지를 확인하는데 사용될 수 있다.
선택적 실시예에서, 데이터 패킷이 TLS 데이터 패킷일 때, 단말은 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하고, 적어도 하나의 TCP 데이터 패킷을 노드 장치로 송신하며, 노드 장치는 TCP 데이터 패킷을 수신한 후 캡슐 해제를 수행하여 TLS 데이터 패킷을 획득하고, 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인한다.
또한, 선택적으로, TLS 데이터 패킷 내의 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내기 위해 사용된다.
선택적 실시예에서, TCP 데이터 패킷의 데이터 유형 정보는 TCP 데이터 패킷의 데이터 부의 데이터 유형을 나타내기 위해 사용된다.
선택적 실시예에서, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치에 송신하기 전에, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화한다. 특정 구현예에서, 데이터 암호화의 기본 개념은 정보의 표현 형식을 변경하여 보호해야 하는 민감한 정보를 위조함으로써, 허가받지 않은 사람이 보호된 정보의 내용을 알 수 없게 하는 것이다. 데이터 암호화 또는 복호화의 변경은 키를 사용하여 구현되고 제어된다. 키는 일반적으로 임의의 문자열이고, 일반 텍스트와 암호 텍스트 간의 변경을 제어하는 고유 파라미터이다. 비대칭 암호화에는 2개의 키, 즉 공개 키(public key) 및 개인 키(private key)가 필요하다. 공개 키와 개인 키는 한 쌍이다. 공개 키를 사용하여 데이터를 암호화한 경우, 복호화는 대응하는 개인 키만을 사용하여 수행될 수 있다. 개인 키를 사용하여 데이터를 암호화한 경우, 복호화는 대응하는 공개 키만을 사용하여 수행될 수 있다. 암호화된 제 1 메시지 인증 코드는 정보 송신 측에 의해서만 생성될 수 있고 다른 장치에 의해 위조될 수 없는 숫자열이다. 숫자열은 정보 송신 측에서 송신된 정보의 진위에 관한 유효한 증거이다.
단말은 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하고, 암호화된 제 1 메시지 인증 코드 및 데이터 유형 정보를 노드 장치에 전송한다. 노드 장치는 프리셋 개인 키에 대응하는 공개 키만을 사용하여 암호화된 제 1 메시지 인증 코드를 복호화할 수 있다. 그 이후 수신된 데이터 유형 정보는 프리셋 MAC 알고리즘을 사용하여 계산되어 제 3 메시지 인증 코드를 획득한다. 제 3 메시지 인증 코드는 복호화된 제 1 메시지 인증 코드와 비교된다. 제 3 메시지 인증 코드가 제 1 메시지 인증 코드와 동일한 경우, 이는 수신된 데이터 유형 정보가 완료되고, 전송 중에는 수정되지 않음을 나타낸다. 제 3 메시지 인증 코드가 제 1 메시지 인증 코드와 다른 경우, 이는 데이터 유형 정보가 수정되었음을 나타낸다. 따라서, MAC 알고리즘을 사용하여 데이터 유형 정보의 무결성을 확인할 수 있다.
선택적 실시예에서, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하기 전에, 단말은 단말 내의 TLS 층과 TCP 층 사이의 계층간 상호작용에 의해 프리셋 개인 키를 획득할 수 있다. 예를 들어, 데이터 패킷이 위치한 프로토콜 스택 상위 계층이 TLS 계층을 포함하는 경우, TLS 계층은 프리셋 개인 키를 TCP 계층에 송신할 수 있고, 단말의 TCP 계층은 TLS 계층에 의해 송신된 프리셋 개인 키를 획득할 수 있다.
도 1에 도시된 데이터 패킷 전송 방법에서, 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보가 획득되고, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보가 계산되어 제 1 메시지 인증 코드를 획득하며, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷이 노드 장치로 송신됨으로써, 노드 장치는 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인한다. 이러한 방식으로, 데이터 패킷의 데이터 유형 정보에 대해 보안 식별이 수행될 수 있고, 이로써 데이터 유형 정보의 전송 신뢰도를 개선한다.
도 2를 참조하면, 도 2는 본 발명의 제 2 실시예에 따른 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다. 도면에 도시된 바와 같이, 본 발명의 이러한 실시예에 따른 데이터 패킷 전송 방법은 다음과 같은 단계를 포함할 수 있다.
S201. 노드 장치에 의해 송신된 데이터 패킷을 수신하되, 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달한다.
단말은 노드 장치에 의해 송신된 데이터 패킷을 수신할 수 있고, 여기서 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달한다. 데이터 패킷은 TCP 데이터 패킷 또는 TLS 데이터 패킷일 수 있다. 데이터 패킷이 TCP 데이터 패킷일 때, 데이터 유형 정보는 TCP 데이터 패킷의 데이터 부의 데이터 유형을 나타내기 위해 사용된다. 데이터 패킷이 TLS 데이터 패킷인 경우, 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는데 사용된다.
선택적 실시예에서, 제 1 메시지 인증 코드는 프리셋 개인 키를 사용하여 암호화되고, 단말은 노드 장치에 의해 송신된 데이터 패킷을 수신한 후에, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화할 수 있다.
또한, 선택적으로, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하기 전에, 단말은 노드 장치와 상호작용하여 프리셋 공개 키를 획득할 수 있다. 예를 들어, 노드 장치에 대한 TCP 접속이 수립될 때, 단말은 노드 장치와 상호작용하여 프리셋 공개 키를 획득할 수 있다. 바람직하게는, 단말은 3방향 핸드셰이크 단계에서 노드 장치와 상호작용하여 프리셋 공개 키를 획득할 수 있다. 예를 들어, 제 1 메시지 인증 코드는 프리셋 개인 키를 사용하여 암호화되기 때문에, 암호화된 제 1 메시지 인증 코드는 프리셋 개인 키에 대응되는 공개 키만을 사용하여 복호화될 수 있다.
S202. 데이터 패킷의 데이터 패킷 식별 정보를 획득한다.
노드 장치에 의해 송신된 데이터 패킷을 수신한 후에, 단말은 데이터 패킷의 데이터 패킷 식별 정보를 획득할 수 있다.
선택적인 실시예에서, 데이터 패킷이 TCP 데이터 패킷일 때, 단말에 의해 획득된 데이터 패킷 식별 정보는, TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함할 수 있다.
또한, 선택적으로, 데이터 패킷이 TCP 데이터 패킷일 때, TCP 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 단말은 노드 장치와 상호작용하여 프리셋 파라미터를 획득할 수 있다. 예를 들어, 노드 장치에 대한 TCP 접속이 수립될 때, 단말은 노드 장치와 상호작용하여 프리셋 파라미터를 획득할 수 있다. 바람직하게는, 단말은 3방향 핸드셰이크 단계에서 노드 장치와 상호작용하여 프리셋 파라미터를 획득할 수 있다. 예를 들어, 프리셋 파라미터를 획득한 후, 노드 장치는 TCP 데이터 패킷의 이전 TCP 데이터 패킷의 헤더에 프리셋 파라미터를 추가하고, 프리셋 파라미터가 추가된 TCP 데이터 패킷을 단말에 송신할 수 있다. 프리셋 파라미터가 추가된 TCP 데이터 패킷을 수신한 후, 단말은 프리셋 파라미터를 획득한다. 프리셋 파라미터는 TCP 데이터 패킷 내의 제 1 메시지 인증 코드가 프리셋 파라미터를 계산하여 획득된 것임을 나타내는 데 사용된다.
선택적 실시예에서, 데이터 패킷이 TLS 데이터 패킷일 때, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
선택적 실시예에서, 데이터 패킷이 TLS 데이터 패킷일 때, TLS 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 단말은 TLS 데이터 패킷이 확장 식별자 정보를 포함한다고 결정할 수 있다. 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
S203. 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여, 제 3 메시지 인증 코드를 획득한다.
단말 장치에 의해 송신된 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득한 후, 단말은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여, 제 3 메시지 인증 코드를 획득한다.
선택적 실시예에서, 단말은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 예를 들어, 노드 장치에 대한 TCP 접속이 수립될 때, 단말은 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 바람직하게는, 단말은 3방향 핸드셰이크 단계에서 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 예를 들어, 단말은 지원되는 MAC 알고리즘 리스트를 데이터 패킷의 옵션 필드에 추가하고, 지원되는 MAC 알고리즘 리스트가 추가된 데이터 패킷을 노드 장치에 송신한다. 지원되는 MAC 알고리즘 리스트가 추가된 데이터 패킷을 수신한 후, 노드 장치는 지원되는 MAC 알고리즘 리스트로부터 노드 장치에 의해 가장 우선적으로 지원되는 MAC 알고리즘을 선택하고, 송신 대상 데이터 패킷에 MAC 알고리즘을 추가하며, MAC 알고리즘이 추가된 송신 대상 데이터 패킷을 단말에 송신한다. 단말은 노드 장치에 의해 가장 우선적으로 지원되는 MAC 알고리즘을 획득하여 단말과 노드 장치 사이의 MAC 알고리즘 협상을 구현한다.
선택적 실시예에서, 단말은, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, 단말의 TLS 계층과 TCP 계층 사이의 계층간 상호작용에 의해 프리셋 MAC 알고리즘을 획득할 수 있다. 예를 들어, 데이터 패킷이 위치하는 프로토콜 스택 상위 계층이 TLS 계층을 포함할 때, TLS 계층은 프리셋 MAC 알고리즘을 TCP 계층에 송신할 수 있고, 단말은 TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 단말은, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 예를 들어, 노드 장치에 대한 TCP 접속이 수립될 때, 단말은 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 바람직하게는, 단말은 3방향 핸드셰이크 단계에서 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 예를 들어, 단말은 지원되는 MAC 알고리즘 리스트 및 키 정보를 데이터 패킷의 옵션 필드에 추가하고, 지원되는 MAC 알고리즘 리스트 및 키 정보가 추가된 데이터 패킷을 노드 장치에 송신한다. 노드 장치는, 지원되는 MAC 알고리즘 리스트 및 키 정보가 추가된 데이터 패킷을 수신한 후, 지원되는 MAC 알고리즘 리스트로부터 노드 장치에 의해 가장 우선적으로 지원되는 MAC 알고리즘을 선택하며, MAC 알고리즘 및 노드 장치의 키 정보를 추가된 송신 대상 데이터 패킷을 단말로 송신한다. 단말은 노드 장치에 의해 가장 우선적으로 지원되는 MAC 알고리즘 및 노드 장치의 키 정보를 획득하여 단말과 노드 장치 사이의 MAC 알고리즘 및 키 정보 협상을 구현한다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 단말은, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, 단말 내의 TLS 계층과 TCP 계층 사이의 계층간 상호작용을 통해 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 예를 들어, 데이터 패킷이 위치하는 프로토콜 스택 상위 계층이 TLS 계층을 포함하는 경우, TLS 계층은 프리셋 MAC 알고리즘 및 키 정보를 TCP 계층에 송신할 수 있고, 단말의 TCP 계층은 TLS 계층에 의해 송신된 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다.
S204. 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교한다.
노드 장치에 의해 송신된 데이터 패킷 내에 포함된 제 1 메시지 인증 코드를 획득하고, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득한 후, 단말은 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하여 제 1 메시지 인증 코드가 제 3 메시지 인증 코드와 동일한지 판단한다.
S205. 비교 결과에 따라 데이터 유형 정보를 확인한다.
단말은 비교 결과에 따라 데이터 유형 정보를 확인할 수 있다. 특정 구현예에서, 제 1 메시지 인증 코드가 제 3 메시지 인증 코드와 동일한 경우, 이는 수신 된 데이터 유형 정보가 완전하고, 전송 중에 수정되지 않음을 나타낸다. 또한, 데이터 패킷의 데이터 부의 데이터 유형은 데이터 유형 정보에 따라 획득되어 데이터 패킷에 대한 데이터 파싱을 구현할 수 있다. 제 1 메시지 인증 코드가 제 3 메시지 인증 코드와 다른 경우, 데이터 유형 정보가 수정되었음을 나타내고, 단말은 데이터 유형 정보를 폐기한다.
도 2에 도시된 데이터 패킷 전송 방법에서, 노드 장치에 의해 송신된 데이터 패킷이 수신되고, 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달한다. 데이터 패킷의 데이터 패킷 식별 정보가 획득된다. 데이터 유형 정보 및 데이터 패킷 식별 정보는 프리셋 MAC 알고리즘을 사용하여 계산되어 제 3 메시지 인증 코드를 획득한다. 제 1 메시지 인증 코드는 제 3 메시지 인증 코드와 비교된다. 데이터 유형 정보는 비교 결과에 따라 확인된다. 데이터 유형 정보를 확인함으로써, 데이터 유형 정보가 불법 중간 엔티티에 의해 위조되었는지 판정될 수 있다.
도 3을 참조하면, 도 3은 본 발명의 제 3 실시예에 따른 데이터 패킷 전송 방법의 개략적인 흐름도이다. 본 발명의 이러한 실시예에서, 제 1 노드 장치는 데이터 유형 정보 및 제 1 메시지 인증 코드가 추가된 TCP 데이터 패킷을 제 2 노드 장치에 송신한다. 제 1 노드 장치가 서버일 때, 제 2 노드 장치는 파싱 서버일 수 있다. 제 1 노드 장치가 클라이언트인 경우, 제 2 노드 장치는 파싱 서버일 수 있다. 파싱 서버는 수신된 TCP 데이터 패킷에 대한 데이터 파싱을 수행하여 TCP 데이터 패킷의 데이터 부의 데이터 유형을 획득하는데 사용된다. 파싱 서버는 기지국, 라우터, 패킷 게이트웨이 노드, 서빙 게이트웨이 노드 등을 포함할 수 있다. 이는 본 발명의 이러한 실시예에 의해 특별히 제한되지 않는다. 도면에 도시된 바와 같이, 본 발명의 이러한 실시예에 따른 데이터 패킷 전송 방법은 다음과 같은 단계를 포함할 수 있다.
S301. 제 1 노드 장치는 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득한다.
본 발명의 실시예에서, 일례로 도 5c에 도시된 데이터 패킷 캡슐화 및 캡슐 해제의 개략적인 프레임워크 다이어그램을 참조하면, 제 1 노드 장치의 프로토콜 스택 상위 계층은 애플리케이션 계층, TCP 계층 등을 포함할 수 있다. 제 1 노드 장치는 애플리케이션 계층에서 HTTP 프레임을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하고, 데이터 유형 정보 및 제 1 메시지 인증 코드가 추가된 TCP 데이터 패킷을 TCP 접속을 사용하여 제 2 노드 장치로 송신한다. 제 2 노드 장치는 TCP 데이터 패킷 내의 데이터 유형 정보를 획득하고, 데이터 유형 정보를 확인하며, TCP 데이터 패킷을 캡슐 해제하여 HTTP 프레임을 획득하고, TCP 데이터 패킷의 데이터 부의 데이터 유형이 HTTP 프레임의 데이터 유형인 것을 결정한다.
일례로 도 5d에 도시된 데이터 패킷 캡슐화 및 캡슐 해제의 개략적인 구조도를 참조하면, 제 1 노드 장치 내의 프로토콜 스택 상위 계층은 애플리케이션 계층, TLS 계층, TCP 계층 등을 포함한다. 제 1 노드 장치는 애플리케이션 계층에서 적어도 하나의 TLS 데이터 패킷 내에 HTTP 프레임을 캡슐화하고, TLS 계층에서 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하며, 데이터 유형 정보 및 제 1 메시지 인증 코드가 첨부된 TCP 데이터 패킷을 TCP 접속을 사용하여 제 2 노드 장치에 송신한다. 제 2 노드 장치는 TCP 데이터 패킷 내의 데이터 유형 정보를 획득하고, 데이터 유형 정보를 확인하며, TCP 데이터 패킷을 캡슐 해제하여 TLS 데이터 패킷을 획득하고, TLS 데이터 패킷을 캡슐 해제하여 HTTP 프레임을 획득하며, TCP 데이터 패킷의 데이터 부의 데이터 유형이 HTTP 프레임의 데이터 유형인 것을 결정한다.
제 1 노드 장치는 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 예를 들어, 제 2 노드 장치에 대한 TCP 연결이 수립되면, 제 1 노드 장치는 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 다른 예로서, 제 1 노드 장치는 제 1 노드 장치 내의 TLS 계층과 TCP 계층 사이의 계층간 상호작용에 의해 프리셋 MAC 알고리즘을 획득할 수 있다. 제 2 노드 장치는 제 2 노드 장치 내의 TLS 계층과 TCP 계층 사이의 계층간 상호작용에 의해 프리셋 MAC 알고리즘을 획득할 수 있다.
선택적 실시예에서, 제 1 노드 장치는 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 예를 들어, 제 2 노드 장치에 대한 TCP 접속이 수립되면, 제 1 노드 장치는 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 다른 예로서, 제 1 노드 장치는 제 1 노드 장치의 TLS 계층과 TCP 계층 간의 계층간 상호작용에 의해 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다. 제 2 노드 장치는 제 2 노드 장치의 TLS 계층과 TCP 계층 사이의 계층간 상호작용에 의해 프리셋 MAC 알고리즘 및 키 정보를 획득할 수 있다.
선택적 실시예에서, 제 1 노드 장치 및 제 2 노드 장치는 프리셋 MAC 알고리즘의 업데이트를 구현하기 위해, 프리셋 기간을 업데이트 기간으로 사용함으로써 서로 정기적으로 협상하여 프리셋 MAC 알고리즘을 획득한다.
S302. 제 2 노드 장치는 제 1 노드 장치와 상호작용하여 프리셋 파라미터 및 프리셋 공개 키를 획득한다.
제 1 노드 장치는 프리셋 파라미터 및 프리셋 개인 키를 획득한 후, 제 2 노드 장치에 통지할 수 있고, 이로써 제 2 노드 장치는 데이터 유형 정보 및 암호화된 제 1 메시지 인증 코드가 추가된 TCP 데이터 패킷을 수신한 후, 프리셋 개인 키에 대응하는 공개 키를 사용하여 암호화된 제 1 메시지 인증 코드를 복호화하고, 협상을 통해 획득된 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 프리셋 파라미터, TCP 데이터 패킷의 송신 시퀀스 번호 및 TCP 데이터 패킷의 응답 시퀀스 번호를 계산하여 제 3 메시지 인증 코드를 획득한다. 프리셋 파라미터는 TCP 데이터 패킷의 난수이다. 프리셋 파라미터는 제 1 노드 장치의 신뢰성을 검증하는데 사용된다. 프리셋 공개 키 및 프리셋 개인 키는 일대일로 대응된다. 제 1 노드 장치가 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화한 후, 프리셋 개인 키에 대응하는 공개 키만을 사용하여 암호화된 제 1 메시지 인증 코드를 복호화할 수 있다.
단계 S301 및 단계 S302의 실행 순서는 전술한 방식을 포함하지만 이에 한정되는 것은 아니라는 점을 유념해야 한다. 예를 들어, 제 1 노드 장치와 상호작용하여 프리셋 파라미터 및 프리셋 공개 키를 획득하는 경우, 제 2 노드 장치는 제 1 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 이는 본 발명의 실시예에 의해 특별히 제한되지 않는다.
S303. 제 1 노드 장치는 TCP 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득한다.
제 1 노드 장치는 TCP 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득할 수 있다. 데이터 유형 정보는 TCP 데이터 패킷의 데이터 부의 데이터 유형을 나타내는데 사용된다. 예를 들어, 데이터 유형 정보는 0001일 수 있고, TCP 데이터 패킷의 데이터 부의 데이터 유형이 텍스트 또는 html, 즉 텍스트임을 나타내는데 사용된다. 데이터 패킷 식별 정보는 TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 협상을 통해 획득된 프리셋 파라미터 중 하나 이상일 수 있다.
상이한 TCP 데이터 패킷은 상이한 송신 시퀀스 번호 및 상이한 확인응답 시퀀스 번호를 갖는다. 송신 시퀀스 번호 및 확인응답 시퀀스 번호는 재생 공격을 막는 데 사용될 수 있다. 예를 들어, 제 1 노드 장치는 프리셋 MAC 알고리즘을 사용하여 TCP 데이터 패킷의 데이터 유형 정보를 계산하여 제 1 메시지 인증 코드를 획득하고, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TCP 데이터 패킷을 제 2 노드 장치에 송신한다. TCP 데이터 패킷은 전송 중에 불법 중간 엔티티에 의해 인터셉팅된다. 불법 중간 엔티티는 데이터 유형 정보를 이전 TCP 데이터 패킷의 데이터 유형 정보로 위조하고, 제 1 메시지 인증 코드를 이전 TCP 데이터 패킷의 제 1 메시지 인증 코드로 위조하며, 위조된 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TCP 데이터 패킷을 제 2 노드 장치 송신한다. 제 2 노드 장치는 TCP 데이터 패킷 내의 데이터 유형 정보를 획득하고, 획득된 데이터 유형 정보를 프리셋 MAC 알고리즘에 의해 계산하여 제 3 메시지 인증 코드를 획득한다. 제 1 메시지 인증 코드가 제 3 메시지 인증 코드와 동일한 경우, 제 2 노드 장치는 데이터 유형 정보가 위조되지 않은 것으로 고려한다. 그러나, 실제로는 데이터 유형 정보는 이전 TCP 데이터 패킷의 데이터 유형 정보로 위조되었다. 결과적으로, TCP 데이터 패킷 내의 데이터 유형 정보가 정확하게 확인될 수 없다. 본 발명의 이러한 실시예에서, 불법 중간 엔티티가 데이터 유형 정보 및 제 1 메시지 인증 코드를 위조하더라도, 제 2 노드 장치는 프리셋 MAC 알고리즘을 사용함으로써 TCP 데이터 패킷의 위조된 데이터 유형 정보 및 획득된 송신 시퀀스 번호(또는 확인 응답 시퀀스 번호)를 계산하여, 제 3 메시지 인증 코드를 획득한다. MAC 알고리즘의 상이한 입력은 항상 MAC 알고리즘의 상이한 출력을 나타내고 상이한 TCP 데이터 패킷은 상이한 송신 시퀀스 번호 및 상이한 승인 시퀀스 번호를 갖기 때문에, 제 1 메시지 인증 코드는 제 3 메시지 인증 코드와 다르고 제 2 노드 장치는 데이터 유형 정보가 위조된 것임을 판단할 수 있다.
특정 구현예에서, 제 1 노드 장치는 적어도 하나의 TCP 데이터 패킷 내에 HTTP 프레임을 캡슐화한다. HTTP 프레임의 데이터 유형이 텍스트이면, TCP 데이터 패킷의 데이터 유형 정보는 0001일 수 있고, 이는 TCP 데이터 패킷의 데이터 부의 데이터 유형이 텍스트 또는 html, 즉 텍스트임을 나타내는데 사용된다. 제 1 노드 장치가 HTTP 프레임을 적어도 하나의 TLS 데이터 패킷으로 캡슐화할 때, 제 1 노드 장치는 TLS 데이터 패킷의 헤더 필드에 데이터 유형 정보를 추가할 수 있다. 제 1 노드 장치가 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화할 때, 제 1 노드 장치는 TLS 데이터 패킷 내의 데이터 유형 정보가 TCP 데이터 패킷 내의 데이터 유형 정보라는 것을 판단할 수 있다. 캡슐화를 통해 TCP 데이터 패킷을 획득한 후, 제 1 노드 장치는 송신 시퀀스 번호 및 확인응답 시퀀스 번호에 대해 TCP 데이터 패킷의 헤더를 검색할 수 있다.
선택적 실시예에서, 제 1 노드 장치는 적어도 하나의 TCP 데이터 패킷 내에 HTTP 프레임을 캡슐화하고, 적어도 하나의 TCP 데이터 패킷의 데이터 부의 데이터 유형은 동일하다. 제 1 노드 장치는 HTTP 프레임을 적어도 하나의 TLS 데이터 패킷으로 캡슐화하고, 각각의 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷 내에 개별적으로 캡슐화한다. 적어도 하나의 TCP 데이터 패킷의 데이터 부의 데이터 유형은 동일하다. 제 1 노드 장치는 데이터 부들이 동일한 데이터 유형을 갖는 적어도 하나의 TCP 데이터 패킷 내의 처음 TCP 데이터 패킷 및 마지막 TCP 데이터 패킷만을 결정하고, 처음 TCP 데이터 패킷 및 마지막 TCP 데이터 패킷에 대한 데이터 유형 정보 보안 식별을 수행할 필요가 있다. 적어도 하나의 TCP 데이터 패킷을 획득한 후, 제 2 노드 장치가 처음 TCP 데이터 패킷의 데이터 유형 정보 및 마지막 TCP 데이터 패킷의 데이터 유형 정보가 위조되지 않은 것으로 판단하면, 제 2 노드 장치는 다른 TCP 데이터 패킷의 데이터 부의 데이터 유형을 획득할 수 있다. 특정 구현예에서, 제 1 노드 장치는 데이터 부들이 동일한 데이터 유형을 갖는 적어도 3개의 연속 TCP 데이터 패킷을 결정할 수 있고, 데이터 부가 동일한 데이터 유형을 갖는 적어도 3개의 연속 TCP 데이터 패킷 중에서 처음 TCP 데이터 패킷 및 마지막 TCP 데이터 패킷을 선택할 수 있으며, 처음 TCP 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보 및 마지막 TCP 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득할 수 있다. 본 발명의 이러한 실시예에서, 데이터 유형 정보 보안 식별자가 각 TCP 데이터 패킷에 대해 수행될 필요가 없으므로 데이터 패킷의 처리 효율이 향상될 수 있다.
S304. 제 1 노드 장치는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보와 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한다.
선택적으로, 제 1 노드 장치가 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 때, 제 1 노드 장치는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보, 및 키 정보를 계산하여 제 1 메시지 인증 코드를 획득할 수 있다.
S305. 제 1 노드 장치는 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화한다.
S306. 제 1 노드 장치는 데이터 유형 정보 및 암호화된 제 1 메시지 인증 코드를 포함하는 TCP 데이터 패킷을 제 2 노드 장치로 송신한다.
S307. 제 2 노드 장치는 프리셋 공개 키를 사용하여 암호화된 제 1 메시지 인증 코드를 복호화한다.
S308. 제 2 노드 장치는 TCP 데이터 패킷의 데이터 패킷 식별 정보를 획득한다.
제 2 노드 장치는 TCP 데이터 패킷의 데이터 패킷 식별 정보를 획득할 수 있다. 데이터 패킷 식별 정보는 TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 협상을 통해 획득된 프리셋 파라미터 중 하나 이상일 수 있다.
특정 구현예에서, 제 1 노드 장치에 의해 송신된 TCP 데이터 패킷을 수신한 후, 제 2 노드 장치는 TCP 데이터 패킷의 헤더를 송신 시퀀스 번호 및 확인응답 시퀀스 번호에 대해 검색할 수 있다. 프리셋 파라미터는 제 1 노드 장치와 제 2 노드 장치 사이의 상호작용을 통해 획득된다.
S309. 제 2 노드 장치는 프리셋 MAC 알고리즘을 사용하여 TCP 데이터 패킷 내의 데이터 유형 정보와 획득된 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득한다.
선택적으로, 제 1 노드 장치가 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘 및 키 정보를 획득할 때, 제 2 노드 장치는 프리셋 MAC 알고리즘을 사용하여 TCP 데이터 패킷 내의 데이터 유형 정보, 획득된 데이터 패킷 식별 정보, 키 정보를 계산하여 제 3 메시지 인증 코드를 획득한다.
S310. 제 2 노드 장치는 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교한다.
S311. 제 2 노드 장치는 비교 결과에 따라 데이터 유형 정보를 확인한다.
도 3에 도시된 데이터 패킷 송신 방법에서, 제 1 노드 장치는 TCP 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하고, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하며, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하고, 데이터 유형 정보 및 암호화된 제 1 메시지 인증 코드를 포함하는 TCP 데이터 패킷을 제 2 노드 장치로 송신한다. 제 2 노드 장치는 프리셋 공개 키를 사용하여 암호화된 제 1 메시지 인증 코드를 복호화하고, 프리셋 MAC 알고리즘을 사용하여 TCP 데이터 패킷 내의 데이터 유형 정보 및 획득된 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하며, 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하고, 비교 결과에 따라 데이터 유형 정보를 확인한다. 이러한 방식으로, 보안 식별이 데이터 패킷의 데이터 유형 정보에 대해 수행됨으로써, 데이터 유형 정보의 전송 신뢰도가 개선된다.
도 4를 참조하면, 도 4는 본 발명의 제 4 실시예의 데이터 패킷 전송 방법에 관한 개략적인 흐름도이다. 본 발명의 이러한 실시예에서, 제 1 노드 장치 내의 프로토콜 스택 상위 계층은 애플리케이션 계층, TLS 계층 및 TCP 계층 등을 포함한다. 단말은 적어도 하나의 TLS 데이터 패킷으로 애플리케이션 계층에서 HTTP 프레임을 캡슐화하고, TLS 데이터 패킷 뒤에 TLS 데이터 패킷을 추가할 수 있다. 추가된 TLS 데이터 패킷은 이전의 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는데 사용된다. 도면에 도시된 바와 같이, 본 발명의 실시예의 데이터 패킷 전송 방법은 다음과 같은 단계를 포함할 수 있다.
S401. 제 1 노드 장치는 제 2 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득한다.
S402. 제 2 노드 장치는 제 1 노드 장치와 상호작용하여 프리셋 파라미터 및 프리셋 공개 키를 획득한다.
단계 S401 및 단계 S402의 실행 순서는 전술한 방식을 포함하지만, 이에 한정되지 않는다는 점을 유념해야 한다. 예를 들어, 제 1 노드 장치와 상호작용하여 프리셋 파라미터 및 프리셋 공개 키를 획득할 때, 제 2 노드 장치는 제 1 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득할 수 있다. 이는 본 발명의 이러한 실시예에 의해 특별히 제한되지 않는다.
S403. 제 1 노드 장치는 TLS 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득한다.
일례로 도 5e에 도시된 데이터 패킷 캡슐화 및 캡슐 해제의 개략적인 체계도를 참조하면, 제 1 노드 장치는 애플리케이션 계층의 HTTP 프레임을 적어도 하나의 TLS 데이터 패킷으로 캡슐화하고, 각 TLS 데이터 패킷 다음에 하나의 TLS 데이터 패킷을 별도로 추가하며, TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷에 별도로 캡슐화하고, 캡슐화를 통해 획득된 적어도 하나의 TCP 데이터 패킷을 TCP 접속을 사용하여 제 2 노드 장치에 송신한다. 제 2 노드 장치는 확장 식별자 정보에 따라 추가된 TLS 데이터 패킷을 식별하고, 추가된 TLS 데이터 패킷 내의 데이터 유형 정보를 획득하며, 데이터 유형 정보를 확인하고, TCP 데이터 패킷을 캡슐 해제하여 TLS 데이터 패킷을 획득하며, TLS 데이터 패킷을 캡슐 해제하여 HTTP 프레임을 획득하고, 추가된 TLS 데이터 패킷의 데이터 부의 데이터 유형이 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형이라고 결정한다.
특정 구현예에서, 하나의 HTTP 프레임을 적어도 하나의 TLS 데이터 패킷으로 캡슐화한 후, 제 1 노드 장치는 확장 식별자 정보를 포함하는 TLS 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득할 수 있다. 확장 식별자 정보는, ContentType ::=ENUMERATED{change_cipher_spec (20), alert (21), handshake (22), application_data (23), Extention data (24), (255)}일 수 있다. 확장 식별자 정보 내의 Extention data (24)는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는데 사용된다. 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내기 위해 사용된다. HTTP 프레임의 데이터 유형이 텍스트인 경우, TLS 데이터 패킷의 데이터 유형 정보는 0001일 수 있고, TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형이 텍스트이거나 html, 즉 텍스트인 것을 나타내는데 사용된다. 데이터 패킷 식별 정보는 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드일 수 있다. 일례로 도 5b에 도시된 TLS 데이터 패킷의 개략적인 구조도를 사용한다. TLS 데이터 패킷은 헤더 필드(예를 들어, 컨텐트 유형, 주 버전, 부 버전 및 압축 길이), 데이터 부(즉, (선택적으로 압축된) 일반 텍스트) 및 제 2 메시지 인증 코드(MAC)를 포함할 수 있다. 제 1 노드 장치는 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드를 TLS 데이터 패킷의 데이터 패킷 식별 정보로서 사용할 수 있다.
제 2 메시지 인증 코드는 재생 공격을 방지하는 데 사용될 수 있다. 예를 들어, 제 1 노드 장치는 프리셋 MAC 알고리즘을 사용하여 TLS 데이터 패킷의 데이터 유형 정보를 계산하여 제 1 메시지 인증 코드를 획득하고, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하며, 적어도 하나의 TCP 데이터 패킷을 제 2 노드 장치로 송신한다. TCP 데이터 패킷은 전송 동안 불법 중간 엔터티에 의해 인터셉팅된다. 불법 중간 엔티티는 데이터 유형 정보를 이전 TLS 데이터 패킷의 데이터 유형 정보로 위조하고, 제 1 메시지 인증 코드를 이전 TLS 데이터 패킷의 제 1 메시지 인증 코드로 위조하며, 위조된 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 캡슐화하여 획득된 TCP 데이터 패킷을 제 2 노드 장치에 송신한다. 제 2 노드 장치는 TCP 데이터 패킷 내의 TLS 데이터 패킷의 데이터 유형 정보를 획득하고, 프리셋 MAC 알고리즘을 사용하여 획득된 데이터 유형 정보를 계산하여 제 3 메시지 인증 코드를 획득한다. 제 1 메시지 인증 코드가 제 3 메시지 인증 코드와 동일한 경우, 제 2 노드 장치는 데이터 유형 정보가 위조되지 않았다고 간주한다. 그러나, 실제로, 데이터 유형 정보는 이전 TLS 데이터 패킷의 데이터 유형 정보로 위조되었다. 따라서, TLS 데이터 패킷 내의 데이터 유형 정보는 정확하게 확인될 수 없다. 본 발명의 이러한 실시예에서, 불법 중간 엔티티가 데이터 유형 정보 및 제 1 메시지 인증 코드를 위조하더라도, 제 2 노드 장치는 프리셋 MAC 알고리즘을 사용하여 위조된 데이터 유형 정보 및 획득된 제 2 메시지 인증 코드를 계산하여, 제 3 메시지 인증 코드를 획득한다. MAC 알고리즘의 상이한 입력은 항상 MAC 알고리즘의 상이한 출력을 나타내고, 상이한 TLS 데이터 패킷은 상이한 제 2 메시지 인증 코드를 갖기 때문에, 제 1 메시지 인증 코드는 제 3 메시지 인증 코드와 상이하고, 제 2 노드 장치는 데이터 유형 정보가 위조되었는지 판단할 수 있다.
선택적 실시예에서, 제 1 노드 장치는 HTTP 프레임을 적어도 하나의 TLS 데이터 패킷으로 캡슐화하고, 적어도 하나의 TLS 데이터 패킷의 데이터 부의 데이터 유형은 동일하다. 제 1 노드 장치는 데이터 부들이 동일한 데이터 유형을 갖는 적어도 하나의 TLS 데이터 패킷 내의 처음 TLS 데이터 패킷 및 마지막 TLS 데이터 패킷만을 결정하고, 처음 TLS 데이터 패킷 다음에 하나의 TLS 데이터 패킷을 추가하고, 추가된 TLS 데이터 패킷에 대한 정보 보안 식별을 수행하고, 마지막 TLS 데이터 패킷 다음에 하나의 TLS 데이터 패킷 추가하고, 추가된 TLS 데이터 패킷에 대한 데이터 유형 정보 보안 식별을 수행하고, TLS 데이터 패킷을 캡슐화하여 획득된 적어도 하나의 TCP 데이터 패킷을 제 2 노드 장치에 송신할 필요가 있다. 적어도 하나의 TCP 데이터 패킷을 획득한 후, 제 2 노드 장치가 처음 TLS 데이터 패킷 다음에 추가된 TLS 데이터 패킷의 데이터 유형 정보가 위조되지 않고, 마지막 TLS 다음에 추가된 TLS 데이터 패킷의 데이터 유형 정보 데이터 패킷이 위조되지 않은 것으로 판정한다면, 제 2 노드 장치는 다른 TLS 데이터 패킷의 데이터 부의 데이터 유형을 획득할 수 있다. 특정 구현예에서, 제 1 노드 장치는 데이터 부가 동일한 데이터 유형을 갖는 적어도 3개의 연속적인 TLS 데이터 패킷을 결정할 수 있고, 데이터 부가 동일한 데이터 유형을 갖는 적어도 3개의 연속적인 TLS 데이터 패킷으로부터 처음 TLS 데이터 패킷 및 마지막 TLS 데이터 패킷을 선택할 수 있으며, 처음 TLS 데이터 패킷 다음에 추가된 TLS 데이터 패킷의 데이터 유형 정보와 데이터 패킷 식별 정보 및 마지막 TLS 데이터 다음에 추가된 TLS 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득할 수 있다. 본 발명의 이러한 실시예에서, TLS 데이터 패킷이 각 TLS 데이터 패킷 다음에 추가될 필요가 없고, 데이터 유형 정보 보안 식별이 각 TLS 데이터 패킷에 대해 수행될 필요가 없기 때문에, 데이터 패킷 처리 효율은 개선될 수 있다.
S404. 제 1 노드 장치는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한다.
S405. 제 1 노드 장치는 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화한다.
S406. 제 1 노드 장치는 데이터 유형 정보 및 암호화된 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화한다.
S407. 제 1 노드 장치는 캡슐화를 통해 획득된 적어도 하나의 TCP 데이터 패킷을 제 2 노드 장치로 송신한다.
S408. 제 2 노드 장치는 적어도 하나의 TCP 데이터 패킷을 캡슐 해제하여 TLS 데이터 패킷을 획득한다.
S409. 제 2 노드 장치는 프리셋 공개 키를 사용하여 암호화된 제 1 메시지 인증 코드를 복호화한다.
S410. 제 2 노드 장치는 TLS 데이터 패킷의 데이터 패킷 식별 정보를 획득한다.
S411. 제 2 노드 장치는 프리셋 MAC 알고리즘을 사용하여 TLS 데이터 패킷의 데이터 유형 정보 및 획득된 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득한다.
S412. 제 2 노드 장치는 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교한다.
S413. 제 2 노드 장치는 비교 결과에 따라 데이터 유형 정보를 확인한다.
도 4에 도시된 데이터 패킷 전송 방법에서, 제 1 노드 장치는 TLS 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하고, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하며, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하고, 데이터 유형 정보 및 암호화된 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하고, 캡슐화를 통해 획득된 적어도 하나의 TCP 데이터 패킷을 제 2 노드 장치에 송신한다. 제 2 노드 장치는 적어도 하나의 TCP 데이터 패킷을 캡슐 해제하여 TLS 데이터 패킷을 획득하고, 프리셋 공개 키를 사용하여 암호화된 제 1 메시지 인증 코드를 복호화하며, 프리셋 MAC 알고리즘을 사용하여 TLS 데이터 패킷 내의 데이터 유형 정보 및 획득된 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하고, 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하며, 비교 결과에 따라 데이터 유형 정보를 확인한다. 이러한 방식으로, 보안 식별이 데이터 패킷의 데이터 유형 정보에 대해 수행됨으로써, 데이터 유형 정보의 전송 신뢰도를 개선할 수 있다.
본 발명의 일 실시예는 컴퓨터 저장 매체를 또한 제공한다. 컴퓨터 저장 매체는 프로그램을 저장할 수 있고, 프로그램은 실행될 때 도 1, 도 3, 또는 도 4에 도시된 방법 실시예의 일부 또는 모든 단계를 수행한다.
본 발명의 일 실시예는 컴퓨터 저장 매체를 또한 제공한다. 컴퓨터 저장 매체는 프로그램을 저장할 수 있고, 프로그램은 실행될 때 도 2 내지 도 4에 도시된 방법 실시예의 일부 또는 모든 단계를 수행한다.
도 6을 참조하면, 도 6은 본 발명의 실시예에 따른 데이터 패킷 송신 장치의 개략적인 구조도이다. 데이터 패킷 전송 장치는 도 1, 도 3, 또는 도 4를 참조하여 도시된 방법 실시예들의 일부 또는 모든 단계를 구현하는데 사용될 수 있다. 데이터 패킷 전송 장치는 적어도 정보 획득 유닛(601), 계산 유닛(602), 및 데이터 패킷 유닛(603)을 포함할 수 있다.
정보 획득 유닛(601)은 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하도록 구성된다.
계산 유닛(602)은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하도록 구성된다.
데이터 패킷 송신 유닛(603)은 노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인하도록 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치로 전송하도록 구성된다.
선택적 실시예에서, 데이터 패킷은 TCP 데이터 패킷이다. 이 경우, 본 발명의 이러한 실시예에 따른 데이터 패킷 전송 장치는, 계산 유닛(602)이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한 후, 데이터 유형 정보 및 제 1 메시지 인증 코드를 TCP 데이터 패킷의 헤더에 추가하도록 구성된, 정보 추가 유닛(604)을 더 포함할 수 있다.
또한, 선택적으로, 데이터 패킷 식별 정보는 TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호 또는 프리셋 파라미터 중 적어도 하나를 포함할 수 있다.
또한, 선택적으로, 본 발명의 이러한 실시예에 따른 데이터 패킷 송신 장치는, 정보 획득 유닛(601)이 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 데이터 패킷이 위치한 프로토콜 스택 상위 계층에 포함된 TLS 계층에 의해 송신된 프리셋 파라미터를 획득하도록 구성된 프리셋 파라미터 획득 유닛(605)을 더 포함할 수 있다.
선택적 실시예에서, 데이터 패킷은 TLS 데이터 패킷이다. 이 경우에, 도 7을 참조하면, 본 발명의 실시예에 따른 데이터 패킷 송신 유닛(603)은,
데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하도록 구성된 캡슐화 모듈(701)과,
노드 장치에 적어도 하나의 TCP 데이터 패킷을 송신하도록 구성된 데이터 패킷 송신 모듈(702)을 더 포함한다.
또한, 선택적으로, 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내기 데 사용된다.
또한, 선택적으로, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
또한, 선택적으로, 본 발명의 실시예에 따른 데이터 패킷 송신 장치는, 정보 획득 유닛(601)이 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하기 전에, 확장 식별자 정보를 사용하여 TLS 데이터 패킷에 확장 식별자 정보를 추가하도록 구성된 정보 추가 유닛(604) - 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷인 것을 나타내는 데 사용됨 - 을 더 포함할 수 있다.
선택적 실시예에서, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 데이터 패킷 송신 유닛(603)이 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치에 송신하기 전에, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하도록 구성된 암호화 유닛(606)을 더 포함할 수 있다.
또한, 선택적으로, 본 발명의 실시예에 따른 데이터 패킷 송신 장치는, 암호화 유닛(606)이 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하기 전에, TLS 계층에 의해 송신된 프리셋 개인 키를 획득하도록 구성된 프리셋 개인 키 획득 유닛(607)을 더 포함할 수 있다.
선택적으로, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 노드 장치에 대한 TCP 접속이 수립될 때 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛(608)을 더 포함할 수 있다.
선택적으로, 본 발명의 실시예에 따른 데이터 패킷 송신 장치는, 계산 유닛(602)이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하기 전에, TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛(608)을 더 포함할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 본 발명의 실시예에서 계산 유닛(602)은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하도록 구성된다.
선택적 실시예에서, 본 발명의 실시예에 따른 데이터 패킷 송신 장치는, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 키 정보를 획득하도록 구성된 키 정보 협상 유닛(609)을 더 포함할 수 있다.
또한, 선택적으로, 본 발명의 실시예에 따른 데이터 패킷 송신 장치는, 계산 유닛(602)이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하기 전에, TLS 계층에 의해 송신된 키 정보를 획득하도록 구성된 키 정보 협상 유닛(609)을 더 포함할 수 있다.
도 6에 도시된 데이터 패킷 전송 장치에서, 정보 획득 유닛(601)은 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득한다. 계산 유닛(602)은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한다. 데이터 패킷 송신 유닛(603)은 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치에 송신하여 노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인한다. 이러한 방식으로, 보안 식별이 데이터 패킷의 데이터 유형 정보에 대해 수행됨으로써, 데이터 유형 정보의 전송 신뢰도를 개선할 수 있다.
도 8을 참조하면, 도 8은 본 발명의 제 1 실시예에 따른 노드 장치의 개략적인 구성도이다. 본 발명의 실시예에 제공된 노드 장치는 도 1, 도 3, 또는 도 4에 도시된 본 발명의 전술한 실시예들에서 구현된 방법들을 구현하는 데 사용될 수 있다. 설명의 편의상, 본 발명의 이 실시예와 관련된 부분들만이 도시된다. 개시되지 않은 특정 기술적 세부 사항에 대해서는, 도 1, 도 3, 또는 도 4에 도시된 본 발명의 실시예들을 참조한다.
도 8에 도시된 바와 같이, 노드 장치는 적어도 하나의 프로세서(801), 예를 들어, CPU, 적어도 하나의 네트워크 인터페이스(803), 메모리(804) 및 적어도 하나의 통신 버스(802)를 포함한다. 통신 버스(802)는 컴포넌트들 사이의 접속 및 통신을 구현하도록 구성된다. 네트워크 인터페이스(803)는 표준 유선 인터페이스 또는 무선 인터페이스(예를 들어, Wi-Fi 인터페이스)를 선택적으로 포함할 수 있고, 외부 네트워크와 통신하도록 구성된다. 메모리(804)는 고속 RAM 메모리를 포함할 수 있거나, 예를 들어, 적어도 하나의 자기 디스크 저장소와 같은 비휘발성 메모리(비휘발성 메모리)를 또한 포함할 수 있다. 메모리(804)는 프로세서(801)로부터 멀리 떨어진 적어도 하나의 저장 장치를 선택적으로 포함할 수 있다. 프로세서(801)는 도 6에 도시된 데이터 패킷 전송 장치와 조합될 수 있다. 메모리(804)는 프로그램 코드 세트를 저장하고, 프로세서(801)는 메모리(804)에 저장된 프로그램 코드를 호출하여,
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 동작과,
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 동작과,
데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 네트워크 인터페이스(803)를 사용하여 노드 장치로 송신하여, 노드 장치가 제 1 메시지 인증 코드에 따라 데이터 유형 정보를 확인하는 동작을 수행한다.
선택적 실시예에서, 데이터 패킷은 TCP 데이터 패킷이다. 이 경우, 프로세서(801)는, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한 후, 데이터 유형 정보 및 제 1 메시지 인증 코드를 TCP 데이터 패킷의 헤더에 추가하는 동작을 또한 수행할 수 있다.
또한, 선택적으로, 데이터 패킷 식별 정보는, TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
또한, 선택적으로, 프로세서(801)는, 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 데이터 패킷이 위치한 프로토콜 스택 상위 계층에 포함되는 TLS 계층에 의해 송신된 프리셋 파라미터를 획득하는 동작을 또한 수행할 수 있다.
선택적 실시예에서, 데이터 패킷은 TLS 데이터 패킷이다. 이 경우, 프로세서(801)가, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 네트워크 인터페이스(803)를 사용하여 노드 장치에 송신하는 동작은 구체적으로,
데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하는 동작과,
네트워크 인터페이스(803)를 사용하여 적어도 하나의 TCP 데이터 패킷을 노드 장치에 송신하는 동작을 포함한다.
또한, 선택적으로, 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데 사용된다.
또한, 선택적으로, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
또한, 선택적으로, 프로세서(801)는, 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하기 전에, 확장 식별자 정보를 TLS 데이터 패킷에 추가하는 동작을 또한 수행할 수 있고, 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
선택적 실시예에서, 네트워크 인터페이스(803)를 사용하여 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 노드 장치에 송신하기 전에, 프로세서(801)는 또한, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하는 동작을 수행할 수 있다.
또한, 선택적으로, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하기 전에, 프로세서(801)는 또한, TLS 계층에 의해 송신된 프리셋 개인 키를 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하기 전에, 프로세서(801)는 또한, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하기 전에, 프로세서(801)는 또한, TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 프로세서(801)는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 1 메시지 인증 코드를 획득한다.
또한, 선택적으로, 노드 장치에 대한 TCP 접속이 수립될 때, 프로세서(801)는 노드 장치와 협상하여 키 정보를 획득한다.
또한, 선택적으로, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 1 메시지 인증 코드를 획득하기 전에, 프로세서(801)는 또한, TLS 계층에 의해 송신된 키 정보를 획득하는 동작을 수행할 수 있다.
특히, 본 발명의 실시예에서 설명된 단말은, 도 1, 도 3, 또는 도 4를 참조하여 본 발명에서 설명된 방법 실시예들의 일부 또는 모든 절차를 구현하도록 구성될 수 있다.
도 9를 참조하면, 도 9는 본 발명의 일 실시예에 따른 데이터 패킷 전송 장치의 개략적인 구조도이다. 데이터 패킷 전송 장치는, 도 2 내지 도 4를 참조하여 도시된 방법 실시예의 일부 또는 모든 단계를 구현하도록 구성될 수 있다. 데이터 패킷 전송 장치는 적어도 데이터 패킷 수신 유닛(901), 정보 획득 유닛(902), 계산 유닛(903), 비교 유닛(904) 및 확인 유닛(905)을 포함할 수 있다.
데이터 패킷 수신 유닛(901)은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달하는 노드 장치에 의해 송신된 데이터 패킷을 수신하도록 구성된다.
정보 획득 유닛(902)은 데이터 패킷의 데이터 패킷 식별 정보를 획득하도록 구성된다.
계산 유닛(903)은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하도록 구성된다.
계산 유닛(904)은 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하도록 구성된다.
확인 유닛(905)은 비교 결과에 따라 데이터 유형 정보를 확인하도록 구성된다.
선택적 실시예에서, 데이터 패킷은 TCP 데이터 패킷이다. 이 경우, 데이터 패킷 식별 정보는 TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
또한, 선택적으로, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 상호작용하여 프리셋 파라미터를 획득하도록 구성된 프리셋 파라미터 획득 유닛(906)을 더 포함할 수 있다.
선택적 실시예에서, 데이터 패킷은 TLS 데이터 패킷이다. 이 경우, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 정보 획득 유닛(902)이 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, TLS 데이터 패킷이 확장 식별자 정보를 포함하는 것으로 결정하도록 구성된 결정 유닛(907)을 더 포함할 수 있고, 여기서 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는데 사용된다.
또한, 선택적으로, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
선택적 실시예에서, 제 1 메시지 인증 코드는 프리셋 개인 키를 사용하여 암호화된다. 이 경우, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 데이터 패킷 수신 유닛(901)이 노드 장치에 의해 송신된 데이터 패킷을 수신한 후, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하도록 구성된 복호화 유닛(908)을 더 포함할 수 있다.
또한, 선택적으로, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 노드 장치에 대한 TCP 설정이 수립될 때, 노드 장치와 상호작용하여 프리셋 공개 키를 획득하도록 구성된 프리셋 공개 키 획득 유닛(909)을 더 포함할 수 있다.
선택적 실시예에서, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하도록 구성된 노드 협상 유닛(910)을 더 포함할 수 있다.
선택적 실시예에서, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 계산 유닛(903)이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하기 전에, TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛(910)을 더 포함할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 프로세서(903)는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 1 메시지 인증을 획득한다.
또한, 선택적으로, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 키 정보를 획득하도록 구성된 키 정보 협상 유닛(911)을 더 포함할 수 있다.
또한, 선택적으로, 본 발명의 실시예에 따른 데이터 패킷 전송 장치는 계산 유닛(902)이 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 1 메시지 인증을 획득하기 전에, TLS 계층에 의해 송신된 키 정보를 획득하도록 구성된 키 정보 협상 유닛(911)을 더 포함할 수 있다.
도 9에 도시된 데이터 패킷 송신 장치에서, 데이터 패킷 수신 유닛(901)은 노드 장치에 의해 송신된 데이터 패킷을 수신하고, 여기서 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달한다. 정보 획득 유닛(902)은 데이터 패킷의 데이터 패킷 식별 정보를 획득한다. 계산 유닛(903)은 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득한다. 비교 유닛(904)은 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교한다. 확인 유닛(905)은 비교 결과에 따라 데이터 유형 정보를 확인한다. 데이터 유형 정보를 확인함으로써, 데이터 확인 정보가 불법 중간 엔티티에 의해 위조되었는지 판정될 수 있다.
도 10을 참조하면, 도 10은 본 발명의 제 2 실시예에 따른 노드 장치의 개략적인 구성도이다. 본 발명의 실시예에 제공된 노드 장치는 도 2 내지 도 4에 도시 된 본 발명의 전술한 실시예들에서 구현된 방법들을 구현하는데 사용될 수 있다. 설명의 편의상, 본 발명의 본 실시예와 관련된 부분들만이 도시된다. 개시되지 않은 특정 기술적 세부 사항에 대해서는 도 2 내지 도 4에 도시된 본 발명의 실시예를 참조한다.
도 10에 도시된 바와 같이, 노드 장치는 적어도 하나의 프로세서(1001), 예컨대, CPU, 적어도 하나의 네트워크 인터페이스(1003), 메모리(1004) 및 적어도 하나의 통신 버스(1002)를 포함한다. 통신 버스(1002)는 컴포넌트들 사이의 접속 및 통신을 구현하도록 구성된다. 네트워크 인터페이스(1003)는 표준 유선 인터페이스 또는 무선 인터페이스(예를 들어, Wi-Fi 인터페이스)를 선택적으로 포함할 수 있고, 외부 네트워크와 통신하도록 구성된다. 메모리(1004)는 고속 RAM 메모리를 포함할 수 있거나 비휘발성 메모리(non-volatile memory), 예를 들어, 적어도 하나의 자기 디스크 저장소를 더 포함할 수 있다. 메모리(1004)는 프로세서(1001)로부터 멀리 떨어진 적어도 하나의 저장 장치를 선택적으로 포함할 수 있다. 프로세서(1001)는 도 9에 도시된 데이터 패킷 전송 장치와 조합될 수도 있다. 메모리(1004)는 프로그램 코드 세트를 저장하고, 프로세서(1001)는 메모리(1004)에 저장된 프로그램 코드를 호출하여 다음의 동작을 수행한다:
네트워크 인터페이스(1003)를 사용하여, 노드 장치에 의해 송신된 데이터 패킷을 수신하는 것 - 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달함 -;
데이터 패킷의 데이터 패킷 식별 정보를 획득하는 것;
프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 것;
제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하는 것; 및
비교 결과에 따라 데이터 유형 정보를 확인하는 것.
선택적 실시예에서, 데이터 패킷은 TCP 데이터 패킷이다. 이 경우, 데이터 패킷 식별 정보는 TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
또한, 선택적으로, 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 프로세서(1001)는 또한, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 상호작용하여 프리셋 파라미터를 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 데이터 패킷은 TLS 데이터 패킷이다. 이 경우, 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 프로세서(1001)는 또한, TLS 데이터 패킷이 확장 식별자 정보를 포함하는 것을 결정하는 동작을 수행하되, 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
또한, 선택적으로, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
선택적 실시예에서, 제 1 메시지 인증 코드는 프리셋 개인 키를 사용하여 암호화된다. 이 경우, 네트워크 인터페이스(1003)를 사용하여 노드 장치에 의해 송신된 데이터 패킷을 수신한 후, 프로세서(1001)는 또한, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하는 동작을 수행할 수 있다.
또한, 선택적으로, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하기 전에, 프로세서(1001)는 또한, 노드 장치에 대한 TCP 접속이 수립될 때 노드 장치와 상호작용하여 프리셋 공개 키를 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하기 전에, 프로세서(1001)는 또한, 노드 장치에 대한 TCP 접속이 수립될 때, 노드 장치와 협상하여 프리셋 MAC 알고리즘을 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하기 전에, 프로세서(1001)는 또한, TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 프로세서(1001)는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득한다.
또한, 선택적으로, 노드 장치에 대한 TCP 접속이 수립될 때, 프로세서(1001)는 노드 장치와 협상하여 키 정보를 획득한다.
또한, 선택적으로, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득하기 전에, 프로세서(1001)는 또한, TLS 계층에 의해 송신된 키 정보를 획득하는 동작을 수행할 수 있다.
구체적으로, 본 발명의 실시예에서 설명된 단말은 도 2 내지 도 4를 참조하여 본 발명에서 설명된 방법 실시예들의 일부 또는 모든 절차를 구현하도록 구성될 수 있다.
도 11을 참조하면, 도 11은 본 발명의 일 실시예에 따른 데이터 패킷 전송 시스템의 개략적인 구조도이다. 도면에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 패킷 전송 시스템은 적어도 제 1 노드 장치(1101) 및 제 2 노드 장치 (1102)를 포함할 수 있다.
제 1 노드 장치(1101)는 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득한다.
제 1 노드 장치(1101)는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한다.
제 1 노드 장치(1101)는 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 제 2 노드 디바이스(1102)로 송신한다.
제 2 노드 장치(1102)는 데이터 패킷의 데이터 패킷 식별 정보를 획득한다.
제 2 노드 장치(1102)는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득한다.
제 2 노드 장치(1102)는 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교한다.
제 2 노드 장치(1102)는 비교 결과에 따라 데이터 유형 정보를 확인한다.
선택적 실시예에서, 데이터 패킷은 TCP 데이터 패킷이다. 이 경우, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득한 후, 제 1 노드 장치(1101)는 또한, 데이터 유형 정보 및 제 1 메시지 인증 코드를 TCP 데이터 패킷의 헤더에 추가하는 동작을 수행할 수 있다.
또한, 선택적으로, 데이터 패킷 식별 정보는 TCP 데이터 패킷의 송신 시퀀스 번호, TCP 데이터 패킷의 확인응답 시퀀스 번호 또는 프리셋 파라미터 중 적어도 하나를 포함한다.
또한, 선택적으로, 데이터 패킷의 데이터 패킷 식별 정보를 획득하기 전에, 제 1 노드 장치(1101)는 또한, 제 2 노드 장치(1102)에 대한 TCP 접속이 수립될 때, 제 2 노드 장치(1102)와 상호작용하여 프리셋 파라미터를 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 데이터 패킷은 TLS 데이터 패킷이다. 이 경우, 제 1 노드 장치(1101)에 의해, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 제 2 노드 장치(1102)로 송신하는 것은 구체적으로,
제 1 노드 장치(1101)에 의해, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하는 것과,
제 1 노드 장치(1101)에 의해, 적어도 하나의 TCP 데이터 패킷을 제 2 노드 장치(1102)로 송신하는 것일 수 있다.
또한, 선택적으로, 데이터 유형 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데 사용된다.
또한, 선택적으로, 데이터 패킷 식별 정보는 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드이다.
또한, 선택적으로, 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하기 전에, 제 1 노드 장치(1101)는 또한, 확장 식별자 정보를 TLS 데이터 패킷에 추가하는 동작을 더 수행할 수 있고, 확장 식별자 정보는 TLS 데이터 패킷이 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용된다.
선택적 실시예에서, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 제 2 노드 장치(1102)에 송신하기 전에, 제 1 노드 장치(1101)는 또한, 프리셋 개인 키를 사용하여 제 1 메시지 인증 코드를 암호화하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 노드 인증을 획득하기 전에, 제 1 노드 장치는 또한, 제 2 노드 장치(1102)에 대한 TCP 접속이 수립될 때, 제 2 노드 장치(l102)와 협상하여 프리셋 MAC 알고리즘을 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하기 전에, 제 1 노드 장치(1101)는 또한, TLS 계층에 의해 송신된 프리셋 MAC 알고리즘을 획득하는 동작을 수행할 수 있다.
선택적 실시예에서, 프리셋 MAC 알고리즘은 키 정보를 전달할 수 있다. 이 경우, 제 1 노드 장치(1101)는 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득한다.
또한, 선택적으로, 제 2 노드 장치(1102)에 대한 TCP 접속이 수립될 때, 제 1 노드 장치(1101)는 제 2 노드 장치(1102)와 협상하여 키 정보를 획득한다.
또한, 선택적으로, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보, 데이터 패킷 식별 정보 및 키 정보를 계산하여 제 3 메시지 인증 코드를 획득하기 전에, 제 1 노드 장치(1101)는 TLS 계층에 의해 송신된 키 정보를 획득한다.
선택적 실시예에서, 제 1 메시지 인증 코드는 프리셋 개인 키를 사용하여 암호화된다. 이 경우, 제 1 노드 장치(1101)에 의해 송신된 데이터 패킷을 수신한 후, 제 2 노드 장치(1102)는 또한, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하는 동작을 수행할 수 있다.
또한, 선택적으로, 프리셋 공개 키를 사용하여 제 1 메시지 인증 코드를 복호화하기 전에, 제 2 노드 장치(1102)는 또한, 제 1 노드 장치(1101)에 대한 TCP 접속이 수립될 때, 제 1 노드 장치(1101)와 상호작용하여 프리셋 공개 키를 획득하는 동작을 수행할 수 있다.
도 12에 도시된 데이터 패킷 전송 시스템에서, 제 1 노드 장치(1101)는 프리셋 MAC 알고리즘을 사용하여 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하고, 데이터 유형 정보 및 제 1 메시지 인증 코드를 포함하는 데이터 패킷을 제 2 노드 장치(1102)로 송신한다. 제 2 노드 장치(1102)는 데이터 패킷의 데이터 패킷 식별 정보를 획득하고, 프리셋 MAC 알고리즘을 사용하여 데이터 유형 정보 및 데이터 패킷 식별 정보를 계산하여 제 3 메시지를 획득하며, 제 1 메시지 인증 코드를 제 3 메시지 인증 코드와 비교하고, 비교 결과에 따라 데이터 유형 정보를 확인한다. 제 1 노드 장치(1101)는 데이터 패킷의 데이터 유형 정보에 대해 보안 식별을 수행함으로써 데이터 유형 정보의 전송 신뢰성을 향상시킬 수 있다.
본 명세서의 설명에서, "일 실시예", "일부 실시예", "일례", "특정 예" 또는 "일부 예들"과 같은 참조 용어의 설명은, 본 발명의 실시예 또는 예를 참조하여 설명되는 특정한 특징, 구조, 물질 또는 특성이 본 발명의 적어도 하나의 실시예 또는 예에 포함됨을 의미한다. 본 명세서에서, 용어의 전술한 예시적인 표현들은 반드시 동일한 실시예 또는 예에 관한 것은 아니다. 또한, 설명된 특정한 특징, 구조, 물질 또는 특성은 임의의 하나 이상의 실시예들 또는 예들에서 적절한 방식으로 조합될 수도 있다. 또한, 당업자는 서로 충돌하지 않는 한 상이한 실시예들 또는 예들 및 본 명세서에 설명된 상이한 실시예들 또는 예들의 상이한 특성들을 통합하거나 조합할 수 있다.
또한, "제 1" 및 "제 2"라는 용어는 단지 설명의 목적을 위한 것으로 의도되고, 제시된 기술적 특징의 수의 상대적 중요성 또는 함축적 표시를 나타내거나 암시하는 것으로 이해되어서는 안 된다. 따라서 "제 1" 또는 "제 2"로 제한된 특징은 특징 중 적어도 하나를 명시적으로 또는 암시적으로 포함할 수 있다. 본 발명의 설명에서, "복수의"는 달리 구체적으로 제한되지 않는 한, 적어도 2개, 예를 들어, 2개 또는 3개를 의미한다.
흐름도 또는 다른 방식으로 본원에서 설명되는 임의의 프로세스 또는 방법에 관한 설명은, 프로세스의 특정 논리적 기능 또는 단계를 구현하는 데 사용되는 실행 가능한 명령어를 포함하는 하나 이상의 모듈, 단편(fragment) 또는 부분으로 해석될 수 있다. 또한, 본 발명의 바람직한 구현예의 범위는, 관련된 기능에 따라 기본적으로 동시에 또는 역순으로 기능을 수행하는 것을 포함하여, 도시되거나 설명되지 않은 순서로 기능이 수행될 수 있는 다른 구현예들을 포함한다. 이는 본 발명의 실시예가 속하는 기술 분야의 당업자에 의해 이해되어야 한다.
흐름도에 도시되거나 본 명세서에서 다른 방식으로 설명된 논리 및/또는 단계는, 예를 들어, 논리 기능을 구현하는데 사용되는 실행 가능한 명령어의 프로그램 목록으로 고려될 수 있고, 구체적으로 명령어 실행 시스템, 장치, 또는 디바이스(예를 들어, 컴퓨터 기반 시스템, 프로세서를 포함하는 시스템, 또는 명령어 실행 시스템, 장치 또는 디바이스로부터 명령어를 가져와 그 명령어를 실행할 수 있는 다른 시스템)가 사용하거나, 명령어 실행 시스템, 장치, 또는 디바이스의 조합이 사용하기 위한 임의의 컴퓨터 판독 가능 매체 상에 구현될 수 있다. 명세서의 관점에서, "컴퓨터 판독가능 매체"는 명령어 실행 시스템, 장치 또는 디바이스가 사용하기 위해, 또는 명령어 실행 시스템, 장치 또는 디바이스의 조합이 사용하기 위해 프로그램을 포함, 저장, 전달, 전파, 또는 전송할 수 있는 임의의 장치일 수 있다. 컴퓨터 판독가능 매체에 관한 더 구체적인 예(이 목록은 전부는 아니다)는, 하나 이상의 버스를 갖는 전기 부분(전기 장치), 휴대용 컴퓨터 카트리지(자기 장치), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적 소거 가능 프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유 장치 및 CD-ROM을 포함한다. 또한, 컴퓨터 판독가능 매체는 심지어 프로그램이 인쇄될 수 될 수 있는 종이 또는 다른 적절한 매체일 수도 있다. 예를 들어, 종이 또는 다른 매체 상에서 광학 스캐닝이 수행될 수 있기 때문에, 편집, 디코딩과 같은 처리 또는 필요 시 다른 적절한 수단이 수행되어 전기적 방식으로 프로그램을 획득하고, 그 후 프로그램은 컴퓨터 메모리에 저장된다.
본 발명의 부분들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합을 사용하여 구현될 수 있다는 점을 이해해야 한다. 전술한 구현예들에서, 다수의 단계 또는 방법은 메모리에 저장되고 적절한 명령어 실행 시스템에 의해 실행되는 소프트웨어 또는 펌웨어를 사용함으로써 구현될 수 있다. 예를 들어, 하드웨어가 다른 구현예의 구현과 유사한 구현예에 사용되는 경우, 본 기술분야의 공지된 기술, 즉 데이터 신호에 대한 논리 함수를 구현하는데 사용되는 논리 게이트 회로를 갖는 은닉 논리 회로, 적절한 조합 논리 회로를 갖는 주문형 집적 회로, 프로그램 가능한 게이트 어레이(PGA), 필드 프로그래머블 게이트 어레이(FPGA) 등의 임의의 항목 또는 조합이 구현예를 위해 사용될 수 있다.
당업자는 방법 실시예의 모든 단계 또는 일부가 관련 하드웨어에 명령하는 프로그램에 의해 구현될 수 있다는 점을 이해할 수 있다. 프로그램은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 프로그램이 실행될 때, 방법 실시예들의 단계들 중 하나 또는 조합이 수행된다.
또한, 본 발명의 실시예에서의 기능 유닛은 하나의 처리 모듈에 통합될 수 있거나, 각 유닛이 물리적으로 단독으로 존재할 수도 있거나, 둘 이상의 유닛이 하나의 모듈 내에 통합될 수도 있다. 통합 모듈은 하드웨어의 형태로 구현될 수 있거나 소프트웨어 기능 모듈의 형태로 구현될 수도 있다. 통합 모듈이 소프트웨어 기능 모듈의 형태로 구현되고 독립적인 제품으로서 판매 또는 사용되는 경우, 통합 유닛은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
전술된 저장 매체는 판독 전용 메모리, 자기 디스크 또는 광 디스크일 수 있다. 본 발명의 실시예들이 위에서 도시되고 설명되었지만, 전술된 실시예들은 예시이고, 본 발명을 한정하는 것으로 해석해서는 안 된다. 본 발명의 범주 내에서, 당업자는 전술한 실시예들에 변경, 수정, 대체 및 변형을 행할 수 있다.
Claims (57)
- 데이터 패킷 전송 방법으로서,
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 단계와,
프리셋(preset) 메시지 인증 코드(message authentication code: MAC) 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계와,
노드 장치가 상기 제 1 메시지 인증 코드에 따라 상기 데이터 유형 정보를 확인하도록, 상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 데이터 패킷을 상기 노드 장치로 송신하는 단계를 포함하는
데이터 패킷 전송 방법.
- 제 1 항에 있어서,
상기 데이터 패킷은 전송 제어 프로토콜(Transmission Control Protocol: TCP) 데이터 패킷이고,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 이후, 상기 방법은,
상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 상기 TCP 데이터 패킷의 헤더에 추가하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 2 항에 있어서,
상기 데이터 패킷 식별 정보는, 상기 TCP 데이터 패킷의 송신 시퀀스 번호, 상기 TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함하는
데이터 패킷 전송 방법.
- 제 3 항에 있어서,
상기 데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계 전에, 상기 방법은,
전송 계층 보안(transport layer security: TLS) 계층에 의해 송신된 상기 프리셋 파라미터를 획득하는 단계를 더 포함하되,
상기 데이터 패킷이 위치한 프로토콜 스택 상위 계층은 상기 TLS 계층을 포함하는
데이터 패킷 전송 방법. - 제 1 항에 있어서,
상기 데이터 패킷은 TLS 데이터 패킷이고,
상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 데이터 패킷을 노드 장치로 송신하는 단계는,
상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하는 단계와,
상기 적어도 하나의 TCP 데이터 패킷을 상기 노드 장치로 송신하는 단계를 포함하는
데이터 패킷 전송 방법.
- 제 5 항에 있어서,
상기 데이터 유형 정보는 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데 사용되는
데이터 패킷 전송 방법.
- 제 5 항에 있어서,
상기 데이터 패킷 식별 정보는 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드인
데이터 패킷 전송 방법.
- 제 5 항에 있어서,
상기 데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 단계 전에, 상기 방법은,
상기 TLS 데이터 패킷에 확장 식별자 정보(extension identifier information)를 추가하는 단계를 더 포함하되,
상기 확장 식별자 정보는 상기 TLS 데이터 패킷이 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용되는
데이터 패킷 전송 방법.
- 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 데이터 패킷을 노드 장치로 송신하는 단계 전에, 상기 방법은,
프리셋 개인 키를 사용하여 상기 제 1 메시지 인증 코드를 암호화하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 9 항에 있어서,
상기 프리셋 개인 키를 사용하여 상기 제 1 메시지 인증 코드를 암호화하는 단계 전에, 상기 방법은,
상기 TLS 계층에 의해 송신된 상기 프리셋 개인 키를 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 TLS 계층에 의해 송신된 상기 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘은 키 정보를 전달하고,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 단계는,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 및 상기 키 정보를 계산하여 상기 제 1 메시지 인증 코드를 획득하는 단계를 포함하는
데이터 패킷 전송 방법.
- 제 13 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 상기 키 정보를 계산하여 상기 제 1 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 키 정보를 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 13 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 상기 키 정보를 계산하여 상기 제 1 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 TLS 계층에 의해 송신된 상기 키 정보를 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 데이터 패킷 전송 방법으로서,
노드 장치에 의해 송신된 데이터 패킷을 수신하는 단계 - 상기 데이터 패킷은 데이터 패킷 정보 및 제 1 메시지 인증 코드를 전달함 - 와,
상기 데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계와,
프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계와,
상기 제 1 메시지 인증 코드를 상기 제 3 메시지 인증 코드와 비교하는 단계와,
비교 결과에 따라 상기 데이터 유형 정보를 확인하는 단계를 포함하는
데이터 패킷 전송 방법.
- 제 16 항에 있어서,
상기 데이터 패킷은 TCP 데이터 패킷이고,
상기 데이터 패킷 식별 정보는, 상기 TCP 데이터 패킷의 송신 시퀀스 번호, 상기 TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함하는
데이터 패킷 전송 방법.
- 제 17 항에 있어서,
상기 데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계 전에, 상기 방법은,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 상호작용하여 상기 프리셋 파라미터를 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 16 항에 있어서,
상기 데이터 패킷은 TLS 데이터 패킷이고,
상기 데이터 패킷의 데이터 패킷 식별 정보를 획득하는 단계 전에, 상기 방법은,
상기 TLS 데이터 패킷이 확장 식별자 정보를 포함하는 것을 결정하는 단계를 더 포함하되,
상기 확장 식별자 정보는 상기 TLS 데이터 패킷이 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용되는
데이터 패킷 전송 방법.
- 제 19 항에 있어서,
상기 데이터 패킷 식별 정보는 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드인
데이터 패킷 전송 방법.
- 제 16 항 내지 제 20 항 중 어느 한 항에 있어서,
상기 제 1 메시지 인증 코드는 프리셋 개인 키을 사용하여 암호화되고,
상기 노드 장치에 의해 송신된 데이터 패킷을 수신하는 단계 후, 상기 방법은,
프리셋 공개 키를 사용하여 상기 제 1 메시지 인증 코드를 복호화하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 21 항에 있어서,
상기 프리셋 공개 키를 사용하여 상기 제 1 메시지 인증 코드를 복호화하는 단계 전에, 상기 방법은,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 상호작용하여 상기 프리셋 공개 키를 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 16 항 내지 제 22 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 16 항 내지 제 22 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 TLS 계층에 의해 송신된 상기 프리셋 MAC 알고리즘을 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 16 항 내지 제 24 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘은 키 정보를 전달하고,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 단계는,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 및 상기 키 정보를 계산하여 상기 제 3 메시지 인증 코드를 획득하는 단계를 포함하는
데이터 패킷 전송 방법.
- 제 25 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 및 상기 키 정보를 계산하여 상기 제 3 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 키 정보를 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 제 25 항에 있어서,
상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 및 상기 키 정보를 계산하여 상기 제 3 메시지 인증 코드를 획득하는 단계 전에, 상기 방법은,
상기 TLS 계층에 의해 송신된 상기 키 정보를 획득하는 단계를 더 포함하는
데이터 패킷 전송 방법.
- 데이터 패킷 전송 장치로서,
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하도록 구성된 정보 획득 유닛과,
프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하도록 구성된 계산 유닛과,
노드 장치가 상기 제 1 메시지 인증 코드에 따라 상기 데이터 유형 정보를 확인하도록, 상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 데이터 패킷을 상기 노드 장치로 송신하도록 구성된 데이터 패킷 송신 유닛을 포함하는
데이터 패킷 전송 장치.
- 제 28 항에 있어서,
상기 데이터 패킷은 TCP 데이터 패킷이고,
상기 데이터 패킷 전송 장치는,
상기 계산 유닛이 상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 상기 제 1 메시지 인증 코드를 획득한 후, 상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 상기 TCP 데이터 패킷의 헤더에 추가하도록 구성된 정보 추가 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 29 항에 있어서,
상기 데이터 패킷 식별 정보는, 상기 TCP 데이터 패킷의 송신 시퀀스 번호, 상기 TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함하는
데이터 패킷 전송 장치.
- 제 30 항에 있어서,
상기 데이터 패킷 전송 장치는, 상기 정보 획득 유닛이 상기 데이터 패킷의 상기 데이터 패킷 식별 정보를 획득하기 전에, TLS 계층에 의해 송신된 상기 프리셋 파라미터를 획득하도록 구성된 프리셋 파라미터 획득 유닛을 더 포함하되,
상기 데이터 패킷이 위치한 프로토콜 스택 상위 계층은 상기 TLS 계층을 포함하는
데이터 패킷 전송 장치.
- 제 28 항에 있어서,
상기 데이터 패킷은 TLS 데이터 패킷이고,
상기 데이터 패킷 송신 유닛은,
상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 TLS 데이터 패킷을 적어도 하나의 TCP 데이터 패킷으로 캡슐화하도록 구성된 캡슐화 모듈과,
상기 노드 장치에 상기 적어도 하나의 TCP 데이터 패킷을 송신하도록 구성된 데이터 패킷 송신 모듈을 포함하는
데이터 패킷 전송 장치.
- 제 32 항에 있어서,
상기 데이터 유형 정보는 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데 사용되는
데이터 패킷 전송 장치. - 제 32 항에 있어서,
상기 데이터 패킷 식별 정보는 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드인
데이터 패킷 전송 장치.
- 제 32 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 정보 획득 유닛이 상기 데이터 패킷의 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 획득하기 전에, 상기 TLS 데이터 패킷에 확장 식별자 정보를 추가하도록 구성된 정보 추가 유닛을 더 포함하되,
상기 확장 식별자 정보는 상기 TLS 데이터 패킷이 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용되는
데이터 패킷 전송 장치.
- 제 28 항 내지 제 35 항 중 어느 한 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 데이터 패킷 송신 유닛이 상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 데이터 패킷을 상기 노드 장치에 송신하기 전에, 프리셋 개인 키를 사용하여 상기 제 1 메시지 인증 코드를 암호화하도록 구성된 암호화 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 35 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 암호화 유닛이 상기 프리셋 개인 키를 사용하여 상기 제 1 메시지 인증 코드를 암호화하기 전에, 상기 TLS 계층에 의해 송신된 상기 프리셋 개인 키를 획득하도록 구성된 프리셋 개인 키 획득 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 28 항 내지 제 37 항 중 어느 한 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함하는
데이터 패킷 전송 장치. - 제 28 항 내지 제 37 항 중 어느 한 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 계산 유닛이 상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 상기 제 1 메시지 인증 코드를 획득하기 전에, 상기 TLS 계층에 의해 송신된 상기 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 28 항 내지 제 39 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘은 키 정보를 전달하고,
상기 계산 유닛은 상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 및 상기 키 정보를 계산하여 상기 제 1 메시지 인증 코드를 획득하도록 구성되는
데이터 패킷 전송 장치.
- 제 40 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 40 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 계산 유닛이 상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 상기 키 정보를 계산하여 상기 제 1 메시지 인증 코드를 획득하기 전에, 상기 TLS 계층에 의해 송신된 상기 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 노드 장치로서,
프로세서, 메모리, 및 네트워크 인터페이스를 포함하되,
상기 메모리는 프로그램 코드 세트를 저장하고,
상기 프로세서는 상기 메모리에 저장된 상기 프로그램 코드를 호출하여 동작을 수행하도록 구성되며,
상기 동작은,
데이터 패킷의 데이터 유형 정보 및 데이터 패킷 식별 정보를 획득하는 것과,
프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 1 메시지 인증 코드를 획득하는 것과,
노드 장치가 상기 제 1 메시지 인증 코드에 따라 상기 데이터 유형 정보를 확인하도록, 상기 데이터 유형 정보 및 상기 제 1 메시지 인증 코드를 포함하는 상기 데이터 패킷을 상기 노드 장치로 송신하는 것을 포함하는
노드 장치.
- 데이터 패킷 전송 장치로서,
노드 장치에 의해 송신된 데이터 패킷을 수신하도록 구성된 데이터 패킷 수신 유닛 - 상기 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드 전달함 - 과,
상기 데이터 패킷의 데이터 패킷 식별 정보를 획득하도록 구성된 정보 획득 유닛과,
프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하도록 구성된 계산 유닛과,
상기 제 1 메시지 인증 코드를 상기 제 3 메시지 인증 코드와 비교하도록 구성된 계산 유닛과,
비교 결과에 따라 상기 데이터 유형 정보를 확인하도록 구성된 확인 유닛을 포함하는
데이터 패킷 전송 장치.
- 제 44 항에 있어서,
상기 데이터 패킷은 TCP 데이터 패킷이고,
상기 데이터 패킷 식별 정보는, 상기 TCP 데이터 패킷의 송신 시퀀스 번호, 상기 TCP 데이터 패킷의 확인응답 시퀀스 번호, 또는 프리셋 파라미터 중 적어도 하나를 포함하는
데이터 패킷 전송 장치.
- 제 45 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 상호작용하여 상기 프리셋 파라미터를 획득하도록 구성된 프리셋 파라미터 획득 유닛을 더 포함하는
데이터 패킷 전송 장치. - 제 44 항에 있어서,
상기 데이터 패킷은 TLS 데이터 패킷이고,
상기 데이터 패킷 전송 장치는,
상기 정보 획득 유닛이 상기 데이터 패킷의 상기 데이터 패킷 식별 정보를 획득하기 전에, 상기 TLS 데이터 패킷이 확장 식별자 정보를 포함한다고 결정하도록 구성된 결정 유닛을 더 포함하되,
상기 확장 식별자 정보는 상기 TLS 데이터 패킷이 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 데이터 부의 데이터 유형을 나타내는 데이터 패킷임을 나타내는 데 사용되는
데이터 패킷 전송 장치.
- 제 47 항에 있어서,
상기 데이터 패킷 식별 정보는 상기 TLS 데이터 패킷의 이전 TLS 데이터 패킷의 제 2 메시지 인증 코드인
데이터 패킷 전송 장치.
- 제 44 항 내지 제 48 항 중 어느 한 항에 있어서,
상기 제 1 메시지 인증 코드는 프리셋 개인 키에 의해 암호화되고,
상기 데이터 패킷 전송 장치는,
상기 데이터 패킷 수신 유닛이 상기 노드 장치에 의해 송신된 상기 데이터 패킷을 수신한 후, 프리셋 공개 키를 사용하여 상기 제 1 메시지 인증 코드를 복호화하도록 구성된 복호화 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 49 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 상호작용하여 상기 프리셋 공개 키를 획득하도록 구성된 프리셋 공개 키 획득 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 44 항 내지 제 50 항 중 어느 한 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 44 항 내지 제 50 항 중 어느 한 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 계산 유닛이 상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 상기 제 3 메시지 인증 코드를 획득하기 전에, 상기 TLS 계층에 의해 송신된 상기 프리셋 MAC 알고리즘을 획득하도록 구성된 알고리즘 협상 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 44 항 내지 제 52 항 중 어느 한 항에 있어서,
상기 프리셋 MAC 알고리즘은 키 정보를 전달하고,
상기 계산 유닛은 상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 및 상기 키 정보를 계산하여 상기 제 3 메시지 인증 코드를 획득하도록 구성된
데이터 패킷 전송 장치.
- 제 53 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 노드 장치에 대한 TCP 접속이 수립될 때, 상기 노드 장치와 협상하여 상기 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 제 53 항에 있어서,
상기 데이터 패킷 전송 장치는,
상기 계산 유닛이 상기 프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보, 상기 데이터 패킷 식별 정보, 및 상기 키 정보를 계산하여 상기 제 3 메시지 인증 코드를 획득하기 전에, 상기 TLS 계층에 의해 송신된 상기 키 정보를 획득하도록 구성된 키 정보 협상 유닛을 더 포함하는
데이터 패킷 전송 장치.
- 노드 장치로서,
프로세서, 메모리, 및 네트워크 인터페이스를 포함하되,
상기 메모리는 프로그램 코드 세트를 저장하고,
상기 프로세서는 상기 메모리에 저장된 상기 프로그램 코드를 호출하여 동작을 수행하도록 구성되며,
상기 동작은,
노드 장치에 의해 송신된 데이터 패킷을 수신하는 것 - 상기 데이터 패킷은 데이터 유형 정보 및 제 1 메시지 인증 코드를 전달함 - 과,
상기 데이터 패킷의 데이터 패킷 식별 정보를 획득하는 것과,
프리셋 MAC 알고리즘을 사용하여 상기 데이터 유형 정보 및 상기 데이터 패킷 식별 정보를 계산하여 제 3 메시지 인증 코드를 획득하는 것과,
상기 제 1 메시지 인증 코드를 상기 제 3 메시지 인증 코드와 비교하는 것과,
비교 결과에 따라 상기 데이터 유형 정보를 확인하는 것을 포함하는
노드 장치.
- 데이터 패킷 전송 시스템으로서,
제 28 항 내지 제 42 항 중 어느 한 항에 따른 데이터 패킷 전송 장치 및 제 44 항 내지 제 55 항 중 어느 한 항에 따른 데이터 패킷 전송 장치를 포함하는
데이터 패킷 전송 시스템.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/087979 WO2017031677A1 (zh) | 2015-08-25 | 2015-08-25 | 一种数据包传输方法、装置、节点设备以及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180039102A true KR20180039102A (ko) | 2018-04-17 |
Family
ID=58099409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187006449A KR20180039102A (ko) | 2015-08-25 | 2015-08-25 | 데이터 패킷 전송 방법, 장치, 시스템, 및 노드 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180176230A1 (ko) |
EP (1) | EP3328014A4 (ko) |
KR (1) | KR20180039102A (ko) |
CN (1) | CN107431691A (ko) |
BR (1) | BR112018003484A2 (ko) |
WO (1) | WO2017031677A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017096596A1 (zh) * | 2015-12-10 | 2017-06-15 | 深圳市大疆创新科技有限公司 | 无人机认证方法,安全通信方法及对应*** |
US11388145B2 (en) * | 2016-09-12 | 2022-07-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Tunneling data traffic and signaling over secure etls over wireless local area networks |
CN111200830B (zh) * | 2020-01-02 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置、电子设备 |
CN112954065B (zh) * | 2021-02-26 | 2023-12-29 | 厦门熵基科技有限公司 | 一种数据推送方法、装置、电子设备及存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3688830B2 (ja) * | 1995-11-30 | 2005-08-31 | 株式会社東芝 | パケット転送方法及びパケット処理装置 |
US6950523B1 (en) * | 2000-09-29 | 2005-09-27 | Intel Corporation | Secure storage of private keys |
US7069438B2 (en) * | 2002-08-19 | 2006-06-27 | Sowl Associates, Inc. | Establishing authenticated network connections |
US8245032B2 (en) * | 2003-03-27 | 2012-08-14 | Avaya Inc. | Method to authenticate packet payloads |
GB0324364D0 (en) * | 2003-10-17 | 2003-11-19 | Nokia Corp | Authentication of messages in a communication system |
US7774604B2 (en) * | 2003-12-10 | 2010-08-10 | Mcafee, Inc. | Verifying captured objects before presentation |
DE102004044764B4 (de) * | 2004-09-16 | 2009-01-08 | Beckhoff Automation Gmbh | Datenübertragungsverfahren und Automatisierungssystem zum Einsatz eines solchen Datenübertragungsverfahrens |
CN1917426B (zh) * | 2005-08-17 | 2010-12-08 | 国际商业机器公司 | 端口扫描方法与设备及其检测方法与设备、端口扫描*** |
US8695089B2 (en) * | 2007-03-30 | 2014-04-08 | International Business Machines Corporation | Method and system for resilient packet traceback in wireless mesh and sensor networks |
JP4909875B2 (ja) * | 2007-11-27 | 2012-04-04 | アラクサラネットワークス株式会社 | パケット中継装置 |
CN101521654A (zh) * | 2008-02-29 | 2009-09-02 | 西门子(中国)有限公司 | 一种消息保护方法、发送端设备和接收端设备 |
CN102347831B (zh) * | 2010-07-26 | 2014-12-03 | 华为技术有限公司 | 时间消息处理方法、装置及*** |
JP5770602B2 (ja) * | 2011-10-31 | 2015-08-26 | トヨタ自動車株式会社 | 通信システムにおけるメッセージ認証方法および通信システム |
WO2014179753A2 (en) * | 2013-05-03 | 2014-11-06 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
CN104219102B (zh) * | 2013-05-29 | 2018-10-30 | 华为技术有限公司 | 一种网络数据压缩统计的方法、装置和*** |
CN103428204B (zh) * | 2013-07-29 | 2016-08-10 | 杭州华三通信技术有限公司 | 一种可抵御计时攻击的数据安全实现方法及设备 |
CN103532668B (zh) * | 2013-10-12 | 2016-11-23 | 成都阜特科技股份有限公司 | 一种确保tcp通信数据完整及正确的方法 |
CN103957241A (zh) * | 2014-04-16 | 2014-07-30 | 中国工商银行股份有限公司 | 一种基于报文数据的通信方法及装置 |
CN104333562B (zh) * | 2014-11-27 | 2017-11-03 | 沈文策 | 数据包传输方法及装置 |
-
2015
- 2015-08-25 BR BR112018003484A patent/BR112018003484A2/pt not_active Application Discontinuation
- 2015-08-25 KR KR1020187006449A patent/KR20180039102A/ko not_active Application Discontinuation
- 2015-08-25 EP EP15901948.8A patent/EP3328014A4/en not_active Withdrawn
- 2015-08-25 CN CN201580032690.1A patent/CN107431691A/zh active Pending
- 2015-08-25 WO PCT/CN2015/087979 patent/WO2017031677A1/zh active Application Filing
-
2018
- 2018-02-14 US US15/896,707 patent/US20180176230A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20180176230A1 (en) | 2018-06-21 |
WO2017031677A1 (zh) | 2017-03-02 |
CN107431691A (zh) | 2017-12-01 |
EP3328014A4 (en) | 2018-08-29 |
EP3328014A1 (en) | 2018-05-30 |
BR112018003484A2 (pt) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601594B2 (en) | End-to-end service layer authentication | |
US11303616B2 (en) | System and method for a multi system trust chain | |
US10958664B2 (en) | Method of performing integrity verification between client and server and encryption security protocol-based communication method of supporting integrity verification between client and server | |
KR101421399B1 (ko) | 링크 계층 암호화/복호화 능력을 구비하는 단말 장치 및 그의 데이터 처리 방법 | |
US20160277933A1 (en) | Secure Data Communication system between IoT smart devices and a Network gateway under Internet of Thing environment | |
US20160301695A1 (en) | Machine-to-Machine and Machine to Cloud End-to-End Authentication and Security | |
US10250578B2 (en) | Internet key exchange (IKE) for secure association between devices | |
US10680835B2 (en) | Secure authentication of remote equipment | |
JP6901850B2 (ja) | コンピュータテストツールとクラウドベースのサーバとの間の安全な通信のためのシステム及び方法 | |
CN109495503B (zh) | 一种ssl vpn认证方法、客户端、服务器及网关 | |
EP4258593A1 (en) | Ota update method and apparatus | |
US12003629B2 (en) | Secure server digital signature generation for post-quantum cryptography key encapsulations | |
CN108809907B (zh) | 一种证书请求消息发送方法、接收方法和装置 | |
KR20110119785A (ko) | 비-암호화 망 동작 해결책 | |
US11303453B2 (en) | Method for securing communication without management of states | |
US20180176230A1 (en) | Data packet transmission method, apparatus, and system, and node device | |
CN110166489B (zh) | 一种物联网中数据传输方法、***、设备及计算机介质 | |
JP2012010254A (ja) | 通信装置、通信方法及び通信システム | |
CN113207322B (zh) | 通信的方法和通信装置 | |
KR102026375B1 (ko) | 웨어러블 디바이스 통신 지원 장치 및 방법 | |
CN116633582A (zh) | 安全通信方法、装置、电子设备及存储介质 | |
CN115333839A (zh) | 数据安全传输方法、***、设备及存储介质 | |
JP2012100206A (ja) | 暗号通信中継システム、暗号通信中継方法および暗号通信中継用プログラム | |
CN112205018B (zh) | 监控网络中的加密连接的方法、设备 | |
CN106453430A (zh) | 验证加密数据传输路径的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |