KR20170076610A - 데이터를 전송하는 방법 및 장치 - Google Patents

데이터를 전송하는 방법 및 장치 Download PDF

Info

Publication number
KR20170076610A
KR20170076610A KR1020160178830A KR20160178830A KR20170076610A KR 20170076610 A KR20170076610 A KR 20170076610A KR 1020160178830 A KR1020160178830 A KR 1020160178830A KR 20160178830 A KR20160178830 A KR 20160178830A KR 20170076610 A KR20170076610 A KR 20170076610A
Authority
KR
South Korea
Prior art keywords
frame
security
subframe
generating
sfc value
Prior art date
Application number
KR1020160178830A
Other languages
English (en)
Other versions
KR102510000B1 (ko
Inventor
이재승
이문식
김영훈
박재우
신경철
이후성
천익재
최지연
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US15/390,826 priority Critical patent/US10708279B2/en
Publication of KR20170076610A publication Critical patent/KR20170076610A/ko
Application granted granted Critical
Publication of KR102510000B1 publication Critical patent/KR102510000B1/ko

Links

Images

Classifications

    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/32Cryptographic 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/32Cryptographic 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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

데이터를 전송하기 위한 방법 및 장치가 제공된다. 전송되는 데이터는 제1 서브프레임 및 제2 서브프레임을 포함하는 집성 프레임이고, 서브프레임은 서브프레임의 무결성을 검증하기 위한 정보를 각각 포함한다. 데이터를 수신한 장치는 무결성을 검증하기 위한 정보에 기초하여 서브프레임의 무결성을 검증한다.

Description

데이터를 전송하는 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITING DATA}
기술 분야는 데이터를 전송하는 기술에 관한 것으로, 특히, 복수의 서브프레임들을 포함하는 집성 프레임을 전송하는 방법 및 장치에 관한 것이다.
무선 통신을 이용하여 데이터를 교환하는 경우, 데이터의 교환에 직접적으로 참여하지 않는 외부의 단말에 의해 데이터가 노출되거나 조작될 수 있다. 이러한 데이터 노출을 방지하기 위해, 1차적으로 데이터를 암호화하는 방법이 채용될 수 있다. 추가적으로, 데이터가 조작된 경우 조작된 사실을 감지하기 위한 데이터 검증 방법이 2차적으로 채용될 수 있다. 데이터 전송 장치와 데이터 수신 장치만이 알 수 있는 검증 방법을 통해 데이터 수신 장치가 수신한 데이터가 조작되었는지 여부를 검증한다.
한국공개특허 제10-2014-0089703호(공개일 2014년 01월 07일)에는 모바일 데이터 보안 장치 및 방법이 공개되어 있다. 공개된 모바일 데이터 보안 장치는 보안용 토큰의 생성에 사용된 부가정보 및 시드를 상기 보안용 토큰과 함께 서버단으로부터 획득하며, 보안용 토큰을 사용하여 데이터의 암호화 또는 복호화를 요청하는 데이터 보안 제어부와, 데이터 보안 제어부로부터 제공받은 시드 및 부가정보를 바탕으로 검증용 토큰을 생성하며, 데이터의 암호화 또는 복호화가 요청되면 보안용 토큰과 상기 검증용 토큰이 일치하는 경우에 요청된 암호화 또는 복호화를 처리하는 데이터 보안 처리부를 포함한다. 공개 발명에 따르면, 모바일 단말장치에서의 악성 행위로부터 격리되서 동작하는 서버단과의 협업을 통해 데이터의 보안성을 보장하기 때문에 사전 공격 등의 위협으로부터 정보 변조를 막을 수 있으며, 기 저장된 데이터를 갱신 토큰을 이용하여 다시 암호화하는 보안 업데이트가 이루어지기 때문에 암호화 및 복호화를 위한 관련 정보가 노출된 경우에도 데이터의 보안성을 보장할 수 있다.
일 실시예는 데이터를 전송하는 장치 및 방법을 제공할 수 있다.
일 실시예는 수신한 데이터의 무결성을 검증하는 장치 및 방법을 제공할 수 있다.
일 측면에 따른, 전송 단말에 의해 수행되는 데이터 전송 방법은, 프레임의 헤더(header), 제1 서브프레임(subframe), 및 제2 서브프레임을 포함하는 집성 프레임(aggregated frame)을 생성하는 단계; 및 상기 생성된 집성 프레임을 수신 단말로 전송하는 단계를 포함하고, 상기 제1 서브프레임은 제1 무결성 검증 정보(integrity verification information)를 포함하고, 상기 제1 무결성 검증 정보는, 상기 프레임의 헤더에 대한 무결성 및 상기 제1 서브프레임에 대한 무결성을 검증하기 위해 이용된다.
상기 수신 단말에 의해 상기 제1 무결성 검증 정보가 검증된 경우, 상기 프레임의 헤더 및 상기 제1 서브프레임은 동시에 무결한 것으로 판단될 수 있다.
상기 데이터 전송 방법은, 상기 수신 단말과 연관(association)을 수립하는 단계를 더 포함할 수 있고, 상기 집성 프레임을 생성하는 단계는, 상기 수신 단말과의 연관이 수립된 상태에서 수행될 수 있다.
상기 수신 단말과 연관을 수립하는 단계는, 비콘 프레임(beacon frame)을 생성하는 단계; 상기 비콘 프레임을 전파하는 단계; 상기 비콘 프레임에 대한 응답을 상기 수신 단말로부터 수신하는 단계; 및 상기 응답에 기초하여 상기 수신 단말과 연관을 수립하는 단계를 포함할 수 있고, 상기 수신 단말과 연관이 수립된 경우, 비콘 프레임이 생성되지 않을 수 있다.
상기 제1 무결성 검증 정보는, 상기 프레임의 헤더 및 상기 제1 서브프레임의 제1 서브헤더(subheader)에 기초하여 생성될 수 있다.
상기 집성 프레임을 생성하는 단계는, 상기 제1 서브프레임에 대한 제1 보안 프레임 카운터(secure frame counter: SFC) 값을 포함하도록 상기 프레임의 헤더를 생성하는 단계를 포함할 수 있고, 상기 제1 SFC 값은 상기 제1 무결성 검증 정보를 생성하기 위해 이용될 수 있다.
상기 제1 SFC 값은 상기 수신 단말이 상기 제1 무결성 검증 정보를 검증하기 위해 이용될 수 있다.
상기 집성 프레임을 생성하는 단계는, 상기 제2 서브프레임을 생성하는 단계를 포함할 수 있고, 상기 제2 서브프레임을 생성하는 단계는, 상기 제1 SFC 값에 기초하여 상기 제2 서브프레임에 대한 제2 SFC 값을 생성하는 단계; 상기 제2 SFC 값에 기초하여 상기 제2 서브프레임에 대한 제2 무결성 검증 정보를 생성하는 단계; 및 상기 제2 무결성 검증 정보를 포함하고, 상기 제2 SFC 값이 상기 집성 프레임 내에 포함되지 않도록 상기 제2 서브프레임을 생성하는 단계를 포함할 수 있다.
상기 제1 SFC 값에 기초하여 상기 제2 SFC 값을 생성하는 방법은, 상기 전송 단말 및 상기 수신 단말 간에 미리 협의될 수 있다.
다른 일 측면에 따른, 데이터를 전송하는 전송 단말은, 프레임의 헤더(header), 제1 서브프레임(subframe), 및 제2 서브프레임을 포함하는 집성(aggregated) 프레임을 생성하는 프로세서; 및 상기 생성된 집성 프레임을 수신 단말로 전송하는 통신부를 포함하고, 상기 제1 서브프레임은 제1 무결성 검증 정보(integrity verification information)를 포함하고, 상기 제1 무결성 검증 정보는 상기 프레임의 헤더에 대한 무결성 및 상기 제1 서브프레임에 대한 무결성을 검증하기 위해 이용된다.
또 다른 일 측면에 따른, 전송 단말에 의해 수행되는 데이터 전송 방법은, 보안 헤더(secure header), 제1 보안 서브프레임(secure subframe) 및 제2 보안 서브프레임을 포함하는 집성 프레임(aggregated frame)을 생성하는 단계; 및 상기 집성 프레임을 수신 단말로 전송하는 단계를 포함하고, 상기 제1 보안 서브프레임은, 상기 제1 보안 서브프레임에 대한 제1 보안 프레임 카운터(secure frame counter: SFC) 값을 이용하여 생성되고, 상기 제1 SFC 값은 상기 보안 헤더에 포함되고, 상기 제2 보안 서브프레임은, 상기 제2 보안 서브프레임에 대한 제2 SFC 값을 이용하여 생성되고, 상기 제2 SFC 값은 상기 집성 프레임 내에 포함되지 않고, 상기 제2 SFC 값은 상기 제1 SFC 값에 기초하여 생성될 수 있다.
상기 집성 프레임을 생성하는 단계는, 상기 제1 SFC 값에 기초하여 제1 넌스(nonce)를 생성하는 단계; 및 상기 제1 넌스에 기초하여 상기 제1 보안 서브프레임을 생성하는 단계를 포함할 수 있다.
상기 집성 프레임을 생성하는 단계는, 상기 제1 SFC 값에 기초하여 상기 제2 SFC 값을 생성하는 단계; 상기 제2 SFC 값에 기초하여 제2 넌스를 생성하는 단계; 및 상기 제2 넌스에 기초하여 상기 제2 보안 서브프레임을 생성하는 단계를 포함할 수 있다.
상기 데이터 전송 방법은, 상기 수신 단말과 연관(association)을 수립하는 단계를 더 포함할 수 있고, 상기 집성 프레임을 생성하는 단계는, 상기 수신 단말과의 연관이 수립된 상태에서 수행될 수 있다.
상기 제1 SFC 값에 기초하여 상기 제2 SFC 값을 생성하는 방법은, 상기 전송 단말 및 상기 수신 단말 간에 미리 협의될 수 있다.
또 다른 일 측면에 따른, 데이터를 전송하는 전송 단말은, 보안 헤더(secure header), 제1 보안 서브프레임(secure subframe) 및 제2 보안 서브프레임을 포함하는 집성 프레임(aggregated frame)을 생성하는 프로세서; 및 상기 집성 프레임을 수신 단말로 전송하는 통신부를 포함하고, 상기 제1 보안 서브프레임은, 상기 제1 보안 서브프레임에 대한 제1 보안 프레임 카운터(secure frame counter: SFC) 값을 이용하여 생성되고, 상기 제1 SFC 값은 상기 보안 헤더에 포함되고, 상기 제2 보안 서브프레임은, 상기 제2 보안 서브프레임에 대한 제2 SFC 값을 이용하여 생성되고, 상기 제2 SFC 값은 상기 집성 프레임 내에 포함되지 않고, 상기 제2 SFC 값은 상기 제1 SFC 값에 기초하여 생성된다.
데이터를 전송하는 장치 및 방법이 제공된다.
수신한 데이터의 무결성을 검증하는 장치 및 방법이 제공된다.
도 1은 일 예에 따른 데이터 교환 시스템의 구성도이다.
도 2는 일 실시예에 따른 전송 단말의 구성도이다.
도 3은 일 실시예에 따른 수신 단말의 구성도이다.
도 4는 일 예에 따른 전송 단말 및 수신 단말 간에 연관을 수립하는 방법의 신호 흐름도이다.
도 5는 일 실시예에 따른 데이터 전송 방법의 흐름도이다.
도 6은 일 예에 따른 프레임을 생성하는 방법의 흐름도이다.
도 7은 일 예에 따른 프레임을 도시한다.
도 8은 일 예에 따른 프레임의 바디를 도시한다.
도 9는 일 예에 따른 집성 프레임의 페이로드를 도시한다.
도 10은 일 예에 따른 제2 서브프레임을 생성하는 방법의 흐름도이다.
도 11은 일 실시예에 따른 집성 프레임의 무결성을 검증하는 방법의 흐름도이다.
도 12는 일 예에 따른 제1 서브프레임의 무결성을 결정하는 방법의 흐름도이다.
도 13은 일 예에 따른 제2 서브프레임의 무결성을 결정하는 방법의 흐름도이다.
도 14는 다른 일 실시예에 따른 데이터 전송 방법의 흐름도이다.
도 15는 일 예에 따른 제1 보안 서브프레임을 생성하는 방법의 흐름도이다.
도 16은 일 예에 따른 제2 보안 서브프레임을 생성하는 방법의 흐름도이다.
도 17은 다른 일 실시예에 따른 집성 프레임의 무결성을 검증하는 방법의 흐름도이다.
도 18은 일 예에 따른 제1 보안 서브프레임의 무결성을 검증하는 방법의 흐름도이다.
도 19는 일 예에 따른 제2 보안 서브프레임의 무결성을 검증하는 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 예에 따른 데이터 교환 시스템의 구성도이다.
데이터 교환 시스템(100)은 제1 단말(110) 및 제2 단말(120)을 포함한다. 제1 단말(110) 및 제2 단말(120)이 데이터를 교환할 수 있는 상태인 경우, 제1 단말(110) 및 제2 단말(120)은 페어넷(parinet)을 구성한다고 명명될 수 있다. 제1 단말(110) 및 제2 단말(120)은 무선 통신을 통해 데이터를 교환할 수 있다. 예를 들어, 무선 통신은 근거리 무선 통신일 수 있다. 제1 단말(110)이 데이터를 제2 단말로 전송하는 경우, 제1 단말(110)이 전송 장치(transmitter)가 되고, 제2 단말(120)이 수신 장치(receiver)가 된다. 반대로, 제2 단말(120)이 데이터를 제1 단말로 전송하는 경우, 제2 단말(110)이 전송 장치가 되고, 제1 단말(110)이 수신 장치가 된다.
전송 장치를 이용하여 데이터를 전송하는 방법이 아래에서 도 2, 4-10, 및 14-16를 참조하여 상세히 설명되고, 수신 장치를 이용하여 데이터를 수신하는 방법이 아래에서 도 3-4, 11-13, 및 17-19를 참조하여 상세히 설명된다.
도 2는 일 실시예에 따른 전송 단말의 구성도이다.
전송 단말(200)은 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다. 전송 단말(200)은 도 1을 참조하여 전술된 제1 단말(110) 또는 제2 단말(120)에 대응할 수 있다. 예를 들어, 통신부(210), 프로세서(220) 및 메모리(230)는 시스템 온 칩(System-On-Chip: SOC)으로 구현될 수 있으나, 기재된 실시예로 한정되는 것은 아니다.
통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다.
통신부(210)는 전송 단말(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(internal bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 전송 단말(200)과 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 데이터를 생성하고, 생성된 데이터를 전송 할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(230)는 전송 단말(200)을 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 전송 단말(200)을 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.
통신부(210), 프로세서(220) 및 메모리(230)에 대해, 아래에서 도 4-10, 및 14-16를 참조하여 상세히 설명된다.
도 3은 일 실시예에 따른 수신 단말의 구성도이다.
수신 단말(300)은 통신부(310), 프로세서(320) 및 메모리(330)를 포함한다. 수신 단말(300)은 도 1을 참조하여 전술된 제1 단말(110) 또는 제2 단말(120)에 대응할 수 있다. 예를 들어, 통신부(310), 프로세서(320) 및 메모리(330)는 시스템 온 칩(SOC)으로 구현될 수 있으나, 기재된 실시예로 한정되는 것은 아니다.
통신부(310)는 프로세서(320) 및 메모리(330)와 연결되어 데이터를 송수신한다. 통신부(310)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다.
통신부(310)는 수신 단말(300) 내의 회로망으로 구현될 수 있다. 예를 들어, 통신부(310)는 내부 버스 및 외부 버스를 포함할 수 있다. 다른 예로, 통신부(310)는 수신 단말(300)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(310)는 인터페이스일 수 있다. 통신부(310)는 외부의 장치로부터 데이터를 수신하여, 프로세서(320) 및 메모리(330)에 데이터를 전송할 수 있다.
프로세서(320)는 통신부(310)가 수신한 데이터 및 메모리(330)에 저장된 데이터를 처리한다. 프로세서(320)는 메모리(예를 들어, 메모리(330))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(320)에 의해 유발된 인스트럭션들을 실행한다.
메모리(330)는 통신부(310)가 수신한 데이터 및 프로세서(320)가 처리한 데이터를 저장한다. 예를 들어, 메모리(330)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 데이터를 수신 할 수 있도록 코딩되어 프로세서(320)에 의해 실행 가능한 신텍스들의 집합일 수 있다.
일 측면에 따르면, 메모리(330)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM, 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(330)는 수신 단말(300)을 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 수신 단말(300)을 동작 시키는 명령어 세트는 프로세서(320)에 의해 실행된다.
통신부(310), 프로세서(320) 및 메모리(30)에 대해, 아래에서 도 4, 11-13, 및 17-19를 참조하여 상세히 설명된다.
도 4는 일 예에 따른 전송 단말 및 수신 단말 간에 연관을 수립하는 방법의 신호 흐름도이다.
단계(405)에서, 전송 단말(200)이 액세스 포인트(Access Point; AP)인 경우, 전송 단말(200)의 프로세서(220)는 비콘 프레임(beacon frame)을 생성한다. 비콘 프레임은 외부의 단말이 전송 단말(200)과 통신을 하고자 할 때, 통신 연결을 위해 필요한 정보들을 포함한다. 도 4를 참조하는 설명에서는 전송 단말(200)가 AP로 설명되지만, 실시예에 따라 수신 단말(300)이 AP일 수 있다. 즉, AP가 사용자 단말로부터 데이터를 수신하는 경우, AP가 수신 단말(200)이고, 사용자 단말이 전송 단말(300)일 수 있다.
단계(410)에서, 전송 단말(200)의 통신부(210)는 비콘 프레임을 전파(propagation)한다. 비콘 프레임을 전파하는 전송 단말(200)은 AP의 역할을 수행할 수 있다. 통신부(210)는 특정 채널을 통해 비콘 프레임을 전파할 수 있다. 수신 단말(300)의 통신부(310)는 전파된 비콘 프레임을 수신한다.
단계(415)에서, 수신 단말(300)의 프로세서(320)는 연관 요청 커맨드 프레임(association request command frame)을 생성한다. 프로세서(320)는 연관 요청 비콘 프레임에 포함된 정보에 기초하여 연관 요청 커맨드 프레임을 생성할 수 있다.
단계(420)에서, 수신 단말(300)의 통신부(310)는 연관 요청 커맨드 프레임을 전송 단말(200)로 전송한다. 전송 단말(200)의 통신부(210)는 연관 요청 커맨드 프레임을 수신한다.
단계(425)에서, 전송 단말(200)의 프로세서(220)는 연관 요청 커맨드 프레임에 기초하여 연관 응답 커맨드 프레임(association response command frame)을 생성한다.
단계(430)에서, 전송 단말(200)의 통신부(210)는 연관 응답 커맨드 프레임을 수신 단말(300)로 전송한다.
단계(435)에서, 수신 단말(300)의 통신부(310)는 ACK(acknowledge)를 전송 단말(200)로 전송한다. 단계(435)가 수행된 후의 상태는 연관이 수립(establish)된 상태로 명명될 수 있다.
전송 단말(200)은 수신 단말(300)와 일대일(one to one)의 연관을 수립할 수 있다. 전송 단말(200) 및 수신 단말(300) 간에 일대일의 연관이 수립된 경우, 연관 상태가 종료될 때까지 전송 단말(200)은 비콘 프레임을 생성하지 않을 수 있다.
전송 단말(200) 및 수신 단말(300)가 연관 상태에 있는 동안, 데이터를 교환할 수 있다. 예를 들어, 교환되는 데이터는 데이터 프레임(data frame)일 수 있다.
단계(440)에서, 수신 단말(300)이 연관을 종료하고자 하는 경우, 수신 단말(300)의 프로세서(320)는 연관 종료 요청 커맨드 프레임(disassociation request command frame)을 생성한다. 도 4에서 도시된 단계(440)는 수신 단말(300)이 연관 종료 요청 커맨드 프레임을 생성하는 것으로 설명되었으나, 전송 단말(200)도 연관 종료 요청 커맨드 프레임을 생성할 수 있다.
단계(445)에서, 수신 단말(300)의 통신부(310)는 연관 종료 요청 커맨드 프레임을 전송 단말(200)로 전송한다. 전송 단말(200)가 연관 종료 요청 커맨드 프레임을 수신한 경우, 수립된 연관이 해제된다. 도 4에서 도시된 단계(445)는 수신 단말(300)이 연관 종료 요청 커맨드 프레임을 전송하는 것으로 설명되었으나, 전송 단말(200)이 연관 종료 요청 커맨드 프레임을 생성한 경우, 전송 단말(200)이 연관 종료 요청 커맨드 프레임을 전송할 수 있다.
전송 단말(200)은 전송 단말(200)과 연관된 장치가 없는 경우, 단계들(450, 455)을 수행할 수 있다. 단계들(450, 455)은 전술된 단계들(405, 410)에 각각 대응한다.
아래에서 도 5 내지 도 19를 참조하여, 데이터를 전송하는 방법 및 데이터를 수신하는 방법이 상세하게 설명된다.
도 5는 일 실시예에 따른 데이터 전송 방법의 흐름도이다.
단계(510)에서, 프로세서(220)는 프레임의 헤더(header), 제1 서브프레임(first subframe) 및 제2 서브프레임(second subframe)을 포함하는 집성 프레임(aggregated frame)을 생성한다. 집성 프레임은 MAC(Media Access Control) 프레임일 수 있다. 프레임의 헤더는 MAC 헤더일 수 있다. 집성 프레임은 전송될 데이터에 관한 복수의 서브프레임들을 포함한다. 집성 프레임은 커맨드 프레임 및 데이터 프레임 중 하나일 수 있다. 집성 프레임을 생성하는 방법에 대해, 아래에서 도 6 내지 9를 참조하여 상세히 설명된다.
단계(520)에서, 통신부(210)는 집성 프레임을 수신 단말(300)로 전송한다. 예를 들어, 통신부(210)는 근거리 무선 통신을 이용하여 집성 프레임을 수신 단말(300)로 전송할 수 있다.
일 측면에 따르면, 통신부(210)는 집성 프레임이 데이터 프레임인 경우, 전송 단말(200) 및 수신 단말(300) 간에 연결이 수립된 경우에만 집성 프레임을 수신 단말(300)로 전송할 수 있다. 전송 단말(200) 및 수신 단말(300) 간에 연결을 수립하는 방법은 도 4를 참조하여 전술되었으므로, 이하에서 생략한다.
도 6은 일 예에 따른 집성 프레임을 생성하는 방법의 흐름도이다.
도 5를 참조하여 전술된 단계(510)는 아래의 단계들(610, 620, 630)을 포함한다.
단계(610)에서, 프로세서(220)는 프레임의 헤더를 생성한다. 프레임의 헤더는 MAC 프레임의 MAC 헤더일 수 있다. 프레임의 헤더는 보안 헤더(security header)를 더 포함할 수 있다. 보안 헤더는 제1 서브프레임에 대한 제1 보안 프레임 카운터(Secure Frame Counter: SFC) 값을 포함할 수 있다.
프레임의 헤더의 구조에 대해, 아래에서 도 7을 참조하여 상세히 설명된다.
단계(620)에서, 프로세서(220)는 프레임의 제1 서브프레임을 생성한다. 제1 서브프레임은 MAC 프레임의 바디(body)에 포함되는 데이터의 일부일 수 있다.
단계(630)에서, 프로세서(220)는 프레임의 제2 서브프레임을 생성한다. 제2 서브프레임은 MAC 프레임의 바디에 포함되는 데이터의 일부일 수 있다. 집성 프레임 내에서, 제2 서브프레임은 제1 서브프레임 다음에 위치할 수 있다. 제1 서브프레임 및 제2 서브프레임을 포함하는 복수의 프레임들에 기초하여 집성 프레임의 페이로드가 생성될 수 있다. 제1 서브프레임 및 제2 서브프레임의 구조에 대해, 아래에서 도 7 내지 9를 참조하여 상세히 설명된다.
도 7은 일 예에 따른 프레임을 도시한다.
프레임(700)은 프레임의 헤더(702) 및 프레임의 바디(704)를 포함한다. 프레임(700)은 MAC 프레임이고, 데이터 프레임일 수 있다.
프레임의 헤더(702)는 프레임 제어(Frame control) 필드(710), 페어넷 ID(pairnet IDentifier) 필드(720), 목적지(Destination: Dest) ID 필드(730), 소스 ID(Source ID: SrcID) 필드(735), 전송 및 ACK 정보(TX and ACK Information) 필드(740) 및 스트림 인덱스(Stream Index) 필드(750)를 포함할 수 있다.
Frame control 필드(710)는 2 옥텟(octet)이고, 프로토콜 버전(Protocol Version) 필드, 프레임 타입(Frame type) 필드, SEC(Securities and Exchange Commission) 필드, ACK 정책(Policy) 필드, 논리적 채널(Logical Channel) 필드를 포함할 수 있다.
pairnet ID 필드(720)는 페어넷에 대한 고유 식별자(unique identifier)를 포함한다. 페어넷은 전송 단말(200) 및 수신 단말(300)로 구성된다.
Dest ID 필드(730)는 수신 단말(300)을 나타내는 정보를 포함한다.
SrcID 필드는(735)는 전송 단말(200)을 나타내는 정보를 포함한다.
TX and ACK Information 필드(740)는 서브프레임들의 개수를 나타내는 필드, 최근 수신 프레임의 타입을 나타내는 필드, 버퍼 참(Buffer Full) 필드, 버퍼 빔(Buffer Empty) 필드 및 장치 슬립(DEV sleep) 필드를 포함한다.
프레임의 바디(704)는 보안 세션 식별자(Secure session ID: SECID) 필드(760), 보안 프레임 카운터(Secure Frame Counter: SFC) 필드(770), 무결성 코드(Integrity Code) 필드(780) 및 보안 페이로드(Secure Payload) 필드(790)를 포함한다.
SECID 필드(760)는 해당 프레임을 보호하기 위해 사용되는 키에 대한 식별자를 포함하고, 상기의 키는 프레임 내의 데이터를 암호화 또는 복호화하기 위해 이용되고, 데이터의 무결성을 검증하기 위해 이용될 수 있다. SECID 필드(760)는 2 옥텟일 수 있다.
SFC 필드(770)는 프레임에 대한 넌스(nonce)의 고유성(uniqueness)을 보장하기 위한 카운터를 포함할 수 있다. SFC 값은 프레임 또는 프레임의 서브프레임 각각에 대해 설정될 수 있다. SFC 값이 프레임 또는 서브프레임 각각에 대해 다르게 설정됨으로써 프레임 또는 서브프레임에 대한 넌스가 고유한 값을 가진다. 예를 들어, 특정한 키에 대해 항상 다른 넌스가 생성되기 위해, 프레임 또는 서브프레임 마다 상이한 SFC 값이 이용될 수 있다.
타임 토큰(time token)이 증가하는 경우에도 서브프레임에 대해 결정되는 SFC 값은 리셋(reset)되지 않을 수 있다. 예를 들어, SFC 값은 서브프레임마다 1씩 증가하고, 동일한 키에 대해 동일한 SFC 값이 다시 반복되는 롤 오버(over roll)가 발생되는 경우, 롤 오버되는 시점에 리-키잉(re-keying)이 수행되어야 한다. 리-키잉은 전송 단말(200) 및 수신 단말(300) 간의 키를 변경하는 것을 의미한다. SFC 값을 나타내는 SFC 필드가 6 옥텟인 경우, 하나의 키에 대해 결정될 수 있는 SFC 값의 개수는 248개이므로, 실제적으로 키의 유지 시간(life time)이 종료되기 전에 리-키잉이 발생하지 않는다.
Integrity Code 필드(780)는 프레임의 헤더 및 프레임의 페이로드의 무결성을 검증하기 위한 무결성 검증 정보(integrity verification information)를 포함한다. 무결성 검증 정보는 GCM 연산(Galois/Counter Mode operation)에 의해 생성될 수 있다.
Secure Payload 필드(790)는 보안 데이터를 포함한다. 보안 데이터는 암호화된 데이터일 수 있다. 프로세서(220)는 프레임 또는 서브프레임에 대해 특정 키와 유일한 넌스를 이용하여 데이터를 암호화함으로써 보안 데이터를 생성할 수 있다. 예를 들어, 프로세서(220)는 AES 알고리즘(Advanced Encryption Standard Algorithm)을 이용하여 데이터를 암호화할 수 있다.
무결성 검증 정보의 생성 및 보안 데이터의 생성은 병렬적으로 수행될 수 있다. 예를 들어, 무결성 검증 정보의 생성 및 보안 데이터의 생성이 동시에 수행될 수 있다.
Integrity Code 필드(780) 및 Secure Payload 필드(790)에 기초하여 복수의 서브프레임들이 생성될 수 있고, 복수의 서브프레임들을 집성하여 집성 데이터 프레임 페이로드가 생성될 수 있다. 아래에서 도 8을 참조하여 집성 프레임의 페이로드를 포함하는, 프레임의 바디가 상세하게 설명된다.
도 8은 일 예에 따른 프레임의 바디를 도시한다.
프레임의 바디(800)는 SECID 필드(810), SFC 필드(820) 및 집성 데이터 프레임 페이로드(Aggregated Data Frame Payload)(830)를 포함한다. SECID 필드(810), SFC 필드(820)는 도 7을 참조하여 전술된 SECID 필드(760) 및 SFC 필드(770)에 대응할 수 있다. SECID 필드(810) 및 SFC 필드(820)는 보안 헤더 필드(825)로 명명될 수 있다. SECID 필드(810)는 2 옥텟이고, SFC 필드(820)는 6 옥텟일 수 있다. 실시예에 따라, 보안 헤더 필드(825) 또는 보안 헤더는 프레임의 헤더에 포함되는 것으로 정의될 수 있다.
집성 데이터 프레임 페이로드(830)는 도 7을 참조하여 전술된 Integrity Code 필드(780) 및 Secure Payload 필드(790)에 기초하여 생성될 수 있다. 예를 들어, 프로세서(220)는 서브 헤더 및 페이로드, FCS(Frame Check Sequence) 등을 포함하는 복수의 서브프레임들로 구성된, 보안 처리가 되지 않은 상태의 집성 데이터 프레임에 대해, 각 서브프레임의 페이로드를 암호화할 수 있다. 프로세서(220)는 각 서브프레임에 대해 생성된 보안 페이로드를 원래의 암호화 되지 않은 페이로드 대신 포함하게 할 수 있다. 프로세서(220)는 각 서브프레임의 무결성 검증 정보를 생성하고, 생성된 무결성 검증 정보를 서브프레임 내에 추가하여 구성된 다수의 보안 서브프레임들을 포함하도록 Secure Payload를 생성할 수 있다.
복수의 서브프레임들 및 복수의 서브프레임들 각각에 대한 무결성 검증 정보에 대해, 아래에서 도 9를 참조하여 상세히 설명된다.
도 9는 일 예에 따른 프레임의 페이로드를 도시한다.
집성 데이터 프레임 페이로드(830)는 제1 서브프레임(910) 및 제2 서브프레임(920)를 포함한다. 전송되는 데이터의 크기에 따라, 집성 데이터 프레임 페이로드(830)는 복수의 서브프레임들을 포함할 수 있다.
전술된 도 8의 SFC 필드(820)는 제1 서브프레임(910)에 대한 SFC 값을 포함할 수 있다. 제1 서브프레임(910)에 대한 SFC 값은 제1 SFC 값으로 명명된다. 동일한 키 값에 대해, 서브프레임들 각각에 대해 서로 다른 SFC 값이 이용된다. 서브프레임들이 서로 다른 MAC 프레임에 포함되는 경우에도, 동일한 키를 사용하면 각 서브프레임들에 대해 서로 다른 SFC 값이 이용된다. SFC 값을 나타내는 SFC 필드가 6 옥텟인 경우, 동일한 키에 대해 248개의 서로 다른 SFC 값이 이용될 수 있다. 6 옥텟의 SFC 값은 특정 AES 키의 유지 시간 동안 롤 오버(roll over) 되지 않고 이용될 수 있다. 즉, SFC 롤 오버가 발생하는 시점은 이미 AES 키의 유지 시간이 만료 되는 시점 또는 그 이후이므로, SFC 롤 오버로 인하여 AES 키의 유지 시간 보다 일찍 리-키잉되는 일은 발생하지 않는다. 예를 들어, 128 비트 AES 키가 이용되는 경우, 동일한 키에 대해 암호화 횟수를 248 이하로 수행하는 것이 권장되며, 상기의 경우 하나의 키로 248개 이하의 패킷에 대해 암호를 호출할 수 있다. 상기의 경우 하나의 키에 대해 SFC 값이 248개 이하가 필요하게 되므로, SFC 값은 6 옥텟이면 충분하다. SFC의 값이 248개 생성되는 경우, 동일한 키에 대해 동일한 SFC 값이 생성되는 현상인 롤 오버가 발생할 확률이 매우 낮다.
전술된 보안 헤더(825)는 프레임 바디에 포함되며, 특정한 서브프레임에 포함되지 않고, MAC 헤더(702)와 제1 서브프레임 사이(910)에 위치한다.
제1 서브프레임(910)은 제1 서브헤더(912) 및 제1 서브프레임 바디를 포함한다. 제1 서브헤더(912)는 제1 MAC 서브헤더이고, 4 옥텟일 수 있다. 제1 서브프레임 바디는 제1 보안 페이로드(913) 필드, Integrity Code 필드(914), 프레임 검사 시퀀스(Frame Check Sequence: FCS) 필드 및 패딩(padding) 필드를 포함한다. Integrity Code 필드(914)는 16 옥텟이고, FCS 필드는 4 옥텟일 수 있다.
제1 보안 페이로드(913)는 제1 SFC 값에 기초하여 생성된 암호화된 데이터일 수 있다. 예를 들어, 암호화 키(Encryption Key), 제1 넌스 및 암호화될 데이터에 기초하여 제1 보안 페이로드(913)가 생성될 수 있다. 이용되는 암호화 키는 생성되는 집성 프레임의 보안 헤더(825)에 포함되는 SECID(810)에 의해 식별될 수 있다. 제1 넌스는 고유 식별자(Unique Identifier) 및 제1 SFC 값에 기초하여 구성된다. 고유 식별자는 전송 단말(200)의 MAC 주소와 같은 장치 주소(device address)를 포함할 수 있다. 고유 식별자를 포함하는 필드가 6 옥텟이고, 제1 SFC 값을 포함하는 필드가 6 옥텟인 경우, 제1 넌스는 12 옥텟으로 구성될 수 있다. 제1 보안 페이로드(913)를 수신 단말(300)이 수신한 경우, 수신 단말(300)은 수신된 집성 프레임의 보안 헤더(825)에 포함된 SFC 필드(820) 로부터 해당 집성 프레임에 대한 SFC 값을 획득 수 있다. 수신 단말(300)은 획득한 SFC 값을 전송 단말(200)의 장치 주소와 결합하여 제1 넌스를 생성할 수 있다. 수신 단말(300)은 수신된 집성 프레임의 보안 헤더(825)에 포함된 SECID 필드(810)로부터 집성 프레임이 암호화될 때 이용된 키를 식별할 수 있다. 수신 단말(300)은 식별된 키와 제1 넌스에 기초하여 제1 보안 페이로드를 복호화할 수 있다.
Integrity Code 필드(914)는 제1 무결성 검증 정보를 포함한다. 제1 무결성 검증 정보는 GCM 연산으로 생성될 수 있다. 제1 무결성 검증 정보 생성을 위한 GCM 연산을 위한 입력으로, 도 7을 참조하여 전술된 프레임의 헤더(700), SECID 필드(810), SFC 필드(820), 제1 서브헤더(912) 및 암호화하여 제1 서브프레임에 포함시키려는 제1 페이로드가 이용될 수 있다. 암호화는 제1 페이로드에만 적용되고, 암호화된 제1 페이로드는 Secure Payload 필드(913)에 포함된다. 생성된 제1 무결성 검증 정보는 Integrity Code 필드(914)에 포함된다. 프로세서(220)는 도 8을 참조하여 전술된 SECID 필드(810), SFC 필드(770), Secure Payload 필드(913), Integrity Code 필드(914)에 대한 FCS를 생성하여 FCS 필드에 포함시킨다. 제1 서브프레임을 특정 옥텟 바운더리(octet boundary)(예를 들어, 4 octet 단위)로 맞추기 위한 패딩이 제1 서브프레임에 추가될 수 있다.
제2 서브프레임(920)은 제2 서브헤더(922) 및 제2 서브프레임 바디를 포함한다. 제2 서브헤더(922)는 제2 MAC 서브헤더이고, 4 옥텟일 수 있다. 제2 서브프레임 바디는 제2 보안 페이로드(923) 필드, Integrity Code 필드(924), FCS 필드 및 패딩 필드를 포함한다. Integrity Code 필드(924)는 16 옥텟이고, FCS 필드는 4 옥텟일 수 있다.
제2 보안 페이로드(923)는 제2 SFC 값에 기초하여 생성된 암호화된 데이터일 수 있다. 예를 들어, 암호화 키, 제2 넌스 및 암호화될 데이터에 기초하여 제2 보안 페이로드가 생성될 수 있다. 제2 넌스는 단말에 대한 고유 식별자 및 제2 SFC 값에 기초하여 구성될 수 있다. 제2 SFC 값은 제1 SFC 값에 기초하여 생성될 수 있다. 예를 들어, 제1 SFC 값에 미리 설정된 값, 예를 들어 1, 을 더함으로써 제2 SFC 값이 생성될 있다. 복수의 서브프레임들 각각에 대해 서로 상이한 SFC 값을 이용함으로써, 각각의 서브프레임의 넌스는 고유성을 가질 수 있다. 제2 보안 페이로드를 수신 단말(300)이 수신한 경우, 수신 단말(300)은 수신된 집성 프레임의 보안 헤더에 포함된 정보를 통해 제2 넌스를 생성하고, 제2 넌스에 기초하여 제2 보안 페이로드를 복호화할 수 있다.
Integrity Code 필드(924)는 제2 무결성 검증 정보를 포함한다. 제2 무결성 검증 정보는 GCM 연산으로 생성될 수 있다. GCM 연산을 위한 입력으로, 제2 서브헤더(922) 및 암호화하여 제2 서브프레임에 포함시키려는 제2 페이로드가 이용될 수 있다.
암호화는 제2 페이로드에만 적용되고, 암호화된 제2 페이로드는 Secure Payload 필드(923)에 포함된다. 생성된 제2 무결성 검증 정보는 Integrity Code 필드(924)에 포함된다. 프로세서(22)는 제2 서브프레임 바디의 Secure Payload 필드(923), Integrity Code 필드(924)에 대한 FCS를 생성하여 FCS 필드에 포함시킨다. 제2 서브프레임을 특정 옥텟 바운더리로 맞추기 위한 패딩이 제2 서브프레임에 추가된다.
도 10은 일 예에 따른 제2 서브프레임을 생성하는 방법의 흐름도이다.
도 6을 참조하여 전술된 단계(640)는 아래의 단계들(1010, 1020, 1030)을 포함한다.
단계(1010)에서, 프로세서(220)는 제1 SFC 값에 기초하여 제2 SFC 값을 생성한다. 제1 SFC 값에 기초하여 제2 SFC 값을 생성하는 방법은, 전송 단말(200) 및 수신 단말(300) 간에 미리 협의될 수 있다. 예를 들어, 제1 SFC 값에 1을 더한 값을 제2 SFC 값으로 생성하도록 미리 협의될 수 있다. 전송 단말(200) 및 수신 단말(300)은 제1 SFC 값에 1을 더한 값을 제2 SFC 값으로 생성하도록 미리 설정될 수 있다.
단계(1020)에서, 프로세서(220)는 제2 SFC 값에 기초하여 제2 서브프레임에 대한 제2 무결성 검증 정보를 생성한다. 프로세서(220)는 제2 SFC 값에 기초하여 제2 서브프레임의 제2 넌스를 생성하고, 제2 넌스에 기초하여 제2 보안 페이로드를 생성한다. 프로세서(220)는 GCM 연산을 이용하여 제2 무결성 검증 정보를 생성한다. 제2 서브헤더 및 암호화를 적용하려는 제2 페이로드가 GCM 연산을 위해 입력으로 이용될 수 있다.
프로세서(220)는 제2 무결성 검증 정보를 생성하는 과정과 병렬적으로, 제2 서브프레임의 제2 페이로드에 대한 암호화를 수행할 수 있다. 예를 들어, 프로세서(220)는 제2 무결성 검증 정보 생성 및 제2 페이로드에 대한 암호화를 동시에 수행할 수 있다.
단계(1030)에서, 프로세서(220)는 제2 무결성 검증 정보를 포함하고, 제2 SFC 값이 집성 프레임 내에 포함되지 않도록 제2 서브프레임을 생성한다. 제2 서브프레임은 암호화된 제2 보안 페이로드를 포함한다.
도 11은 일 실시예에 따른 집성 프레임의 무결성을 검증하는 방법의 흐름도이다.
아래의 단계들(1110, 1120)은 전송 단말(200)과 페어넷을 구성하는 수신 단말(300)에 의해 수행된다.
단계(1110)에서, 통신부(310)는 전송 단말(200)로부터 프레임의 헤더, 제1 서브프레임 및 제2 서브프레임을 포함하는 집성 프레임을 수신한다. 실시예에 따라, 집성 프레임은 SECID 필드 및 SFC 필드를 포함하는 보안 헤더를 더 포함하고 보안 헤더는 프레임의 헤더에 포함되는 것으로 정의될 구 있다. 제1 SFC 값은 보안 헤더의 SFC 필드에 포함될 수 있다. 보안 헤더는 특정 서브프레임에 포함되지 않으며, MAC 헤더와 제1 서브프레임 사이에 위치할 수 있다. 집성 프레임은 도 7 내지 도 9를 참조하여 전술된 프레임(700)일 수 있다.
단계(1120)에서, 프로세서(320)는 보안 헤더에 포함되어 있는 제1 SFC 값에 기초하여 집성 프레임의 무결성을 검증한다. 프로세서(320)는 집성 프레임의 무결성을 검증하는 과정과 병렬적으로 각 서브프레임 내의 보안 페이로드를 복호화할 수 있다. 예를 들어, 프로세서(320)는 집성 프레임의 무결성 검증 및 보안 페이로드의 복호화를 동시에 수행할 수 있다. 집성 프레임의 무결성이 검증된 경우에 복호화된 페이로드가 수신 단말(300)에서 이용될 수 있다.
집성 프레임의 무결성을 검증하는 방법에 대해, 아래에서 도 12 및 13을 참조하여 상세히 설명된다.
도 12는 일 예에 따른 제1 서브프레임의 무결성을 결정하는 방법의 흐름도이다.
도 11을 참조하여 전술된 단계(1120)는 아래의 단계들(1210 내지 1250)을 포함한다.
단계(1210)에서, 프로세서(320)는 제1 SFC 값에 기초하여 수신한 제1 서브프레임의 무결성을 검증하기 위한 제1 입력 세트를 생성한다. 예를 들어, 제1 입력 세트는 도 7을 참조하여 전술된 프레임의 헤더(700), SECID 필드(810), SFC 필드(820), 제1 서브헤더(912), 제1 보안 페이로드(913) 및 Integrity Code 필드(914)를 포함할 수 있다. 제1 SFC 값은 수신한 집성 프레임에 명시적으로 포함된 유일한 SFC 값일 수 있다. 제1 SFC 값은 현재의 키에서 제1 서브프레임에 대한 고유 값일 수 있다. 제1 입력 세트는 제1 서브프레임의 복호화를 위해 이용될 수 있다.
단계(1220)에서, 프로세서(320)는 제1 입력 세트에 기초하여 제1 무결성 검증 정보를 검증한다. 예를 들어, 프로세서(320)는 도 9를 참조하여 전술된 GCM 연산에 대응하는 대칭 GCM 연산을 이용하여 제1 무결성 검증 정보를 검증할 수 있다. 프로세서(320)는 제1 입력 세트에 기초하여 제1 서브프레임을 복호화할 수 있다.
단계(1230)에서, 프로세서(320)는 제1 무결성 검증 정보가 검증되었는지 여부를 판단한다. 제1 무결성 검증 정보가 검증된 경우 단계(1240)가 수행되고, 제1 무결성 검증 정보가 검증되지 않은 경우 단계(1250)가 수행된다.
단계(1250)에서, 제1 무결성 검증 정보가 검증되지 않은 경우, 프로세서(320)는 수신한 제1 서브프레임 및 집성 프레임 내에 포함된 제 1 서브프레임 이후의 모든 서브프레임들을 폐기(discard)한다.
단계(1240)에서, 프로세서(320)는 제1 무결성 검증 정보가 검증된 경우, 프레임의 헤더, 보안 헤더 및 제1 서브프레임이 무결한 것으로 결정한다.
GCM 연산시 무결성 검증 및 복호화가 동시에 진행될 수 있으며, 제1 서브프레임이 무결한 것으로 결정된 경우, 제1 서브프레임 내의 복호화된 제1 페이로드가 수신 단말(300)에서 이용될 수 있다. 제1 보안 페이로드의 복호화 과정은 도 9를 참조하여 전술된 제1 보안 페이로드(913)를 생성하는 과정의 역순으로 수행될 수 있다. 복호화 과정은 아래와 같이 수행될 수 있다.
프로세서(320)는 수신한 제1 SFC에 기초하여 제1 넌스를 생성한다. 프로세서(320)에 의해 생성되는 제1 넌스는, 도 8을 참조하여 전술된 프로세서(220)에 의해 생성되는 제1 넌스와 동일할 수 있다. 제1 넌스는 고유 식별자 및 제1 SFC 값을 포함할 수 있다. 고유 식별자는 전송 단말(200)의 장치 주소를 포함할 수 있다.
프로세서(320)는 생성된 제1 넌스에 기초하여 제1 보안 페이로드를 복호화한다. 예를 들어, 프로세서(320)는 암호화 키 및 제1 넌스에 기초하여 제1 보안 페이로드를 복호화할 수 있다. 이용되는 암호화 키는 수신한 집성 프레임의 보안 헤더에 포함된 SECID에 의해 식별될 수 있다.
도 13은 일 예에 따른 제2 서브프레임의 무결성을 결정하는 방법의 흐름도이다.
집성 프레임의 제1 서브프레임의 무결성이 검증된 경우, 제2 서브프레임의 무결성이 검증될 수 있다. 도 11을 참조하여 전술된 단계(1120)는 아래의 단계들(1310 내지 1360)을 포함한다.
단계(1310)에서, 프로세서(320)는 제1 SFC 값에 기초하여 제2 SFC 값을 생성한다. 제2 SFC 값은 현재의 키에서 제2 서브프레임에 대한 고유 값일 수 있다. 프로세서(320)는 제1 SFC 값에 미리 설정된 값, 예를 들어 1, 을 더함으로써 제2 SFC 값을 생성할 있다. 제1 SFC 값에 기초하여 제2 SFC 값을 생성하는 방법은, 전송 단말(200) 및 수신 단말(300) 간에 미리 협의될 수 있다. 예를 들어, 제1 SFC 값에 1을 더한 값을 제2 SFC 값으로 생성하도록 미리 설정될 수 있다.
단계(1320)에서, 프로세서(320)는 제2 SFC 값에 기초하여 제2 서브프레임의 무결성을 검증하기 위한 제2 입력 세트를 생성한다. 예를 들어, 제2 입력 세트는 도 9을 참조하여 전술된 제2 서브헤더(922), 제2 보안 페이로드(912) 및 Integrity Code 필드(924)를 포함할 수 있다. 제2 입력 세트는 제2 서브프레임의 복호화를 위해 이용될 수 있다.
단계(1330)에서, 프로세서(320)는 제2 입력 세트에 기초하여 제2 무결성 검증 정보를 검증한다. 예를 들어, 프로세서(320)는 도 9를 참조하여 전술된 GCM 연산에 대응하는 대칭 GCM 연산을 이용하여 제2 무결성 검증 정보를 검증할 수 있다. 프로세서(320)는 제2 입력 세트에 기초하여 제2 서브프레임을 복호화할 수 있다.
단계(1340)에서, 프로세서(320)는 제2 무결성 검증 정보가 검증되었는지 여부를 판단한다. 제2 무결성 검증 정보가 검증된 경우 단계(1350)가 수행되고, 제2 무결성 검증 정보가 검증되지 않은 경우 단계(1360)가 수행된다.
단계(1360)에서, 제2 무결성 검증 정보가 검증되지 않은 경우, 프로세서(320)는 수신한 제2 서브프레임 및 집성 프레임에 포함된 제 2 서브프레임 이후의 모든 서브프레임을 폐기한다.
단계(1350)에서, 프로세서(320)는 제2 무결성 검증 정보가 검증된 경우, 제2 서브프레임이 무결한 것으로 결정한다.
GCM 연산시 무결성 검증 및 복호화가 동시에 진행될 수 있으며, 제2 서브프레임이 무결한 것으로 결정된 경우, 제2 서브프레임 내의 복호화된 제2 페이로드가 수신 단말(300)에서 이용될 수 있다.
복호화 과정은 아래와 같이 수행될 수 있다.
프로세서(320)는 제2 SFC에 기초하여 제2 넌스를 생성한다. 프로세서(320)에 의해 생성되는 제2 넌스는, 도 9를 참조하여 전술된 프로세서(220)에 의해 생성되는 제2 넌스와 동일할 수 있다. 제2 넌스는 고유 식별자 및 제2 SFC 값을 포함할 수 있다.
프로세서(320)는 생성된 제2 넌스에 기초하여 제2 보안 페이로드를 복호화한다. 예를 들어, 프로세서(320)는 암호화 키 및 제2 넌스에 기초하여 제2 보안 페이로드를 복호화할 수 있다. 이용되는 암호화 키는 집성 프레임의 보안 헤더에 포함된 SECID에 의해 식별될 수 있다.
도 14는 다른 일 실시예에 따른 데이터 전송 방법의 흐름도이다.
데이터를 전송하기 위해 수행되는 아래의 단계들(1410, 1420)은 전술된 도 2를 참조하여 전술된 전송 단말(200)에 의해 수행된다.
단계(1410)에서, 프로세서(220)는 보안 헤더, 제1 보안 서브프레임(secure subframe) 및 제2 보안 서브프레임을 포함하는 집성 프레임을 생성한다. 보안 헤더에 대한 설명은 도 6 내지 도 13을 참조하여 전술된 보안 헤더에 관한 설명으로 대체될 수 있으므로, 이하에서 생략한다. 보안 서브프레임은 보안 페이로드를 포함하는 서브프레임일 수 있다. 보안 페이로드는 암호화된 데이터일 수 있다.
일 측면에 따르면, 집성 프레임은 제1 보안 서브프레임의 고유성을 나타내는 제1 SFC 값을 명시적으로 포함할 수 있고, 제2 보안 서브프레임의 고유성을 나타내는 제2 SFC 값을 포함하지 않을 수 있다. 제1 보안 서브프레임 및 제2 보안 서브프레임을 생성하는 방법에 대해, 아래에서 도 15 및 16을 참조하여 상세히 설명된다.
단계(1420)에서, 통신부(210)는 생성된 집성 프레임을 수신 단말로 전송한다. 예를 들어, 통신부(210)는 근거리 무선 통신을 이용하여 집성 프레임을 수신 단말로 전송할 수 있다. 수신 단말은 도 3을 참조하여 전술된 수신 단말(300)일 수 있다.
일 측면에 따르면, 통신부(210)는 집성 프레임이 데이터 프레임인 경우, 전송 단말(200) 및 수신 단말(300) 간에 연결이 수립된 경우에만 집성 프레임을 수신 단말(300)로 전송할 수 있다. 전송 단말(200) 및 수신 단말(300) 간에 연결을 수립하는 방법은 도 4를 참조하여 전술되었으므로, 이하에서 생략한다.
도 15는 일 예에 따른 제1 보안 서브프레임을 생성하는 방법의 흐름도이다.
도 14를 참조하여 전술된 단계(1410)는 아래의 단계들(1510, 1520)을 포함한다.
단계(1510)에서, 프로세서(220)는 제1 SFC 값에 기초하여 제1 넌스를 생성한다. 제1 넌스는 고유 식별자 및 제1 SFC 값에 기초하여 구성될 수 있다. 고유 식별자는 전송 단말(200)의 장치 주소를 포함할 수 있다. 고유 식별자를 포함하는 필드가 6 옥텟이고, 제1 SFC 값을 포함하는 필드가 6 옥텟인 경우, 제1 넌스는 12 옥텟으로 구성될 수 있다. 제1 보안 서브프레임을 수신 단말(300)이 수신한 경우, 수신 단말(300)은 수신한 집성 프레임의 보안 헤더에 포함된 SFC 필드로부터 해당 프레임에 대한 SFC 값을 획득할 수 있다. 수신 단말(300)은 획득한 SFC 값을 전송 단말(200)의 고유 식별자 혹은 장치 주소와 결합하여 제1 넌스를 생성할 수 있다. 수신 단말(300)은 집성 프레임의 보안 헤더에 포함된 SECID 필드로부터 프레임이 암호화될 때 이용된 키를 식별할 수 있다. 수신 단말(300)은 식별된 키와 제1 넌스에 기초하여 제1 보안 페이로드를 복호화할 수 있다.
단계(1520)에서, 프로세서(220)는 제1 넌스에 기초하여 제1 보안 서브프레임을 생성한다. 프로세서(220)는 제1 넌스를 이용하여 데이터를 암호화함으로써 제1 보안 페이로드를 생성할 수 있다. 프로세서(220)는 제1 넌스에 기초하여 제1 무결성 검증 정보를 생성한다. 예를 들어, 프로세서(220)는 GCM 연산을 이용하여 페이로드에 대한 암호화 및 보안 서브프레임에 대한 제1 무결성 검증 정보를 생성할 수 있다. 프로세서(220)는 제1 보안 페이로드 및 제1 무결성 검증 정보를 포함하도록 제1 보안 서브프레임을 생성할 수 있다. 프로세서(220)는 GCM 연산을 이용하여 페이로드에 대한 암호화를 수행할 수 있다.
보안 헤더는 SECID 필드 및 SFC 필드를 포함할 수 있다. 보안 헤더는 도 8을 참조하여 전술된 보안 헤더(825)일 수 있다. 제1 보안 서브프레임의 무결성이 검증되면 보안 헤더의 무결성도 동시에 검증된다. 실시예에 따라, 제1 무결성 검증 정보를 생성하기 위한 입력으로써 MAC 헤더의 필드가 포함될 수 있다. MAC 헤더의 필드가 입력에 포함되는 경우, 제1 보안 서브프레임의 무결성이 검증되면 MAC 헤더의 무결성도 동시에 검증될 수 있다.
도 16은 일 예에 따른 제2 보안 서브프레임을 생성하는 방법의 흐름도이다.
도 14를 참조하여 전술된 단계(1410)는 아래의 단계들(1610, 1620, 1630)을 포함한다. 예를 들어, 단계들(1610, 1620, 1630)은 도 15를 참조하여 전술된 단계들(1510, 1520)이 수행된 후 수행될 수 있다. 다른 예로, 단계들(1610, 1620, 1630)은 단계들(1510, 1520)과 병렬적으로 수행될 수 있다.
단계(1610)에서, 프로세서(320)는 제1 SFC 값에 기초하여 제2 SFC 값을 생성한다. 제1 SFC 값에 기초하여 제2 SFC 값을 생성하는 방법은, 전송 단말(200) 및 수신 단말(300) 간에 미리 설정될 수 있다. 예를 들어, 제1 SFC 값에 1을 더한 값을 제2 SFC 값으로 생성하도록 미리 설정될 수 있다.
단계(1620)에서, 프로세서(220)는 제2 SFC 값에 기초하여 제2 서브프레임의 제2 넌스를 생성한다. 제2 넌스는 고유 식별자 및 제2 SFC 값에 기초하여 구성될 수 있다. 고유 식별자는 전송 단말(200)의 장치 주소를 포함할 수 있다. 제2 보안 서브프레임을 수신 단말(300)이 수신한 경우, 수신 단말(300)은 수신된 집성 프레임의 보안 헤더에 포함된 정보를 통해 제2 넌스를 생성하고, 제2 넌스에 기초하여 제2 보안 서브프레임 내의 제2 보안 페이로드를 복호화할 수 있다.
단계(1630)에서, 프로세서(220)는 제2 넌스에 기초하여 제2 보안 서브프레임을 생성한다. 프로세서(220)는 제2 넌스를 이용하여 데이터를 암호화함으로써 제2 보안 페이로드를 생성할 수 있다. 프로세서(220)는 제2 넌스에 기초하여 제2 무결성 검증 정보를 생성한다. 예를 들어, 프로세서(220)는 GCM 연산을 이용하여 제2 무결성 검증 정보를 생성할 수 있다. 프로세서(220)는 제2 보안 페이로드 및 제2 무결성 검증 정보를 포함하고, 제2 SFC 값이 집성 프레임 내에 포함되지 않도록 제2 보안 서브프레임을 생성할 수 있다.
도 17은 다른 일 실시예에 따른 집성 프레임의 무결성을 검증하는 방법의 흐름도이다.
아래의 단계들(1710, 1720, 1730)은 전송 단말(200)과 페어넷을 구성하는 수신 단말(300)에 의해 수행된다.
단계(1710)에서, 통신부(310)는 제1 보안 서브프레임 및 제2 보안 서브프레임을 포함하는 집성 프레임을 수신한다. 실시예에 따라, 집성 프레임은 SECID 필드 및 SFC 필드를 포함하는 보안 헤더를 더 포함하고, 제1 SFC 값은 보안 헤더의 SFC 필드에 포함될 수 있다. 보안 헤더는 MAC 헤더와 제1 서브프레임 사이에 위치할 수 있다.
단계(1720)에서, 프로세서(320)는 제1 SFC 값에 기초하여 제1 보안 서브프레임의 무결성을 검증할 수 있다. 무결성을 검증하는 과정과 동시에, 프로세서(320)는 제1 SFC 값에 기초하여 제1 보안 서브프레임 내의 암호화된 페이로드를 복호화할 수 있다. 제1 보안 서브프레임의 무결성을 검증하는 방법에 대해, 아래에서 도 18을 참조하여 상세히 설명된다.
단계(1830)에서, 프로세서(320)는 제1 SFC 값에 기초하여 제2 보안 서브프레임의 무결성을 검증할 수 있다. 제2 보안 서브프레임의 무결성을 검증하는 방법에 대해, 아래에서 도 19를 참조하여 상세히 설명된다.
도 18은 일 예에 따른 제1 보안 서브프레임의 무결성을 검증하는 방법의 흐름도이다.
도 17을 참조하여 전술된 단계(1720)는 아래의 단계들(1810, 1820)을 포함한다
단계(1810)에서, 프로세서(320)는 제1 SFC 값에 기초하여 수신한 제1 보안 서브프레임의 무결성을 검증하기 위한 제1 입력 세트를 생성한다. 제1 입력 세트는 제1 보안 서브프레임의 복호화를 위해 이용될 수 있다. 예를 들어, 제1 입력 세트는 프레임의 헤더, SECID 필드, SFC 필드, 제1 서브헤더, 제1 보안 페이로드 및 Integrity Code 필드를 포함할 수 있다. 제1 SFC 값은 수신한 집성 프레임에 명시적으로 포함된 유일한 SFC 값일 수 있다. 제1 SFC 값은 현재의 키에서 제1 보안 서브프레임에 대한 고유 값일 수 있다.
단계(1820)에서, 프로세서(320)는 제1 입력 세트에 기초하여 Integrity Code 필드에 포함된 제1 무결성 검증 정보를 검증한다. 예를 들어, 프로세서(320)는 도 15를 참조하여 전술된 GCM 연산에 대응하는 대칭 GCM 연산을 이용하여 제1 무결성 검증 정보를 검증할 수 있다. 무결성을 검증하는 과정과 동시에, 프로세서(320)는 제1 SFC 값에 기초하여 제1 보안 서브프레임 내의 암호화된 페이로드를 복호화할 수 있다. 제1 입력 세트에 기초한 무결성 검증 정보 검증이 성공한 경우, 제1 보안 서브프레임이 무결한 것으로 검증된다.
도 19는 일 예에 따른 제2 보안 서브프레임의 무결성을 검증하는 방법의 흐름도이다.
도 17을 참조하여 전술된 단계(1730)는 아래의 단계들(1910, 1920, 1930)을 포함한다.
단계(1910)에서, 프로세서(320)는 제1 SFC 값에 기초하여 제2 SFC 값을 생성한다. 제2 SFC 값은 현재의 키에서 제2 보안 서브프레임에 대한 고유 값일 수 있다. 프로세서(320)는 제1 SFC 값에 미리 설정된 값, 예를 들어 1, 을 더함으로써 제2 SFC 값을 생성할 있다. 제1 SFC 값에 기초하여 제2 SFC 값을 생성하는 방법은, 전송 단말(200) 및 수신 단말(300) 간에 미리 설정될 수 있다. 예를 들어, 제1 SFC 값에 1을 더한 값을 제2 SFC 값으로 생성하도록 미리 설정될 수 있다.
단계(1920)에서, 프로세서(320)는 제2 SFC 값에 기초하여 제2 보안 서브프레임의 무결성을 검증하기 위한 제2 입력 세트를 생성한다. 예를 들어, 제2 입력 세트는 제2 서브헤더, 제2 SFC 값, 제2 보안 페이로드 및 제2 무결성 검증 정보 중 적어도 하나를 포함할 수 있다.
단계(1930)에서, 프로세서(320)는 제2 입력 세트에 기초하여 제2 무결성 검증 정보를 검증한다. 예를 들어, 프로세서(320)는 도 9를 참조하여 전술된 GCM 연산에 대응하는 대칭 GCM 연산을 이용하여 제2 무결성 검증 정보를 검증할 수 있다. 제2 입력 세트의 데이터에 기초한 무결성 검증 정보 검증이 성공한 경우, 제2 보안 서브프레임이 무결한 것으로 검증된다.
프로세서(320)는 제2 SFC에 기초하여 제2 넌스를 생성한다. 프로세서(320)에 의해 생성되는 제2 넌스는, 도 16을 참조하여 전술된 프로세서(220)에 의해 생성되는 제2 넌스와 동일할 수 있다. 제2 넌스는 고유 식별자 및 제2 SFC 값을 포함할 수 있다.
프로세서(320)는 생성된 제2 넌스에 기초하여 제2 보안 페이로드를 복호화한다. 예를 들어, 프로세서(320)는 암호화 키 및 제2 넌스에 기초하여 제2 보안 페이로드를 복호화할 수 있다. 이용되는 암호화 키는 수신 프레임의 보안 헤더에 포함되는 SECID에 의해 식별될 수 있다.
GCM 연산시 무결성 검증 및 복호화가 동시에 진행될 수 있다. 예를 들어, 프로세서(320)는 무결성을 검증하는 과정과 동시에 제2 SFC 값에 기초하여 제2 보안 서브프레임 내의 암호화된 페이로드를 복호화할 수 있다. 제2 보안 서브프레임이 무결한 것으로 결정된 경우, 제2 서브프레임 내의 복호화된 제2 보안 페이로드가 수신 단말(300)에서 이용될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
100: 데이터 교환 시스템
110: 제1 단말
120: 제2 단말
200: 전송 단말
300: 수신 단말

Claims (16)

  1. 전송 단말에 의해 수행되는, 데이터 전송 방법에 있어서,
    프레임의 헤더(header), 제1 서브프레임(subframe), 및 제2 서브프레임을 포함하는 집성 프레임(aggregated frame)을 생성하는 단계; 및
    상기 생성된 집성 프레임을 수신 단말로 전송하는 단계
    를 포함하고,
    상기 제1 서브프레임은 제1 무결성 검증 정보(integrity verification information)를 포함하고,
    상기 제1 무결성 검증 정보는, 상기 프레임의 헤더에 대한 무결성 및 상기 제1 서브프레임에 대한 무결성을 검증하기 위해 이용되는,
    데이터 전송 방법.
  2. 제1항에 있어서,
    상기 수신 단말에 의해 상기 제1 무결성 검증 정보가 검증된 경우, 상기 프레임의 헤더 및 상기 제1 서브프레임은 동시에 무결한 것으로 판단되는,
    데이터 전송 방법.
  3. 제1항에 있어서,
    상기 수신 단말과 연관(association)을 수립하는 단계
    를 더 포함하고,
    상기 집성 프레임을 생성하는 단계는, 상기 수신 단말과의 연관이 수립된 상태에서 수행되는,
    데이터 전송 방법.
  4. 제3항에 있어서,
    상기 수신 단말과 연관을 수립하는 단계는,
    비콘 프레임(beacon frame)을 생성하는 단계;
    상기 비콘 프레임을 전파하는 단계;
    상기 비콘 프레임에 대한 응답을 상기 수신 단말로부터 수신하는 단계; 및
    상기 응답에 기초하여 상기 수신 단말과 연관을 수립하는 단계
    를 포함하고,
    상기 수신 단말과 연관이 수립된 경우, 비콘 프레임이 생성되지 않는,
    데이터 전송 방법.
  5. 제1항에 있어서,
    상기 제1 무결성 검증 정보는,
    상기 프레임의 헤더 및 상기 제1 서브프레임의 제1 서브헤더(subheader)에 기초하여 생성되는,
    데이터 전송 방법.
  6. 제1항에 있어서,
    상기 집성 프레임을 생성하는 단계는,
    상기 제1 서브프레임에 대한 제1 보안 프레임 카운터(secure frame counter: SFC) 값을 포함하도록 상기 프레임의 헤더를 생성하는 단계
    를 포함하고,
    상기 제1 SFC 값은 상기 제1 무결성 검증 정보를 생성하기 위해 이용되는,
    데이터 전송 방법.
  7. 제6항에 있어서,
    상기 제1 SFC 값은 상기 수신 단말이 상기 제1 무결성 검증 정보를 검증하기 위해 이용되는,
    데이터 전송 방법.
  8. 제6항에 있어서,
    상기 집성 프레임을 생성하는 단계는,
    상기 제2 서브프레임을 생성하는 단계
    를 포함하고,
    상기 제2 서브프레임을 생성하는 단계는,
    상기 제1 SFC 값에 기초하여 상기 제2 서브프레임에 대한 제2 SFC 값을 생성하는 단계;
    상기 제2 SFC 값에 기초하여 상기 제2 서브프레임에 대한 제2 무결성 검증 정보를 생성하는 단계; 및
    상기 제2 무결성 검증 정보를 포함하고, 상기 제2 SFC 값이 상기 집성 프레임 내에 포함되지 않도록 상기 제2 서브프레임을 생성하는 단계
    를 포함하는,
    데이터 전송 방법.
  9. 제8항에 있어서,
    상기 제1 SFC 값에 기초하여 상기 제2 SFC 값을 생성하는 방법은, 상기 전송 단말 및 상기 수신 단말 간에 미리 협의된,
    데이터 전송 방법.
  10. 데이터를 전송하는 전송 단말에 있어서,
    프레임의 헤더(header), 제1 서브프레임(subframe), 및 제2 서브프레임을 포함하는 집성(aggregated) 프레임을 생성하는 프로세서; 및
    상기 생성된 집성 프레임을 수신 단말로 전송하는 통신부
    를 포함하고,
    상기 제1 서브프레임은 제1 무결성 검증 정보(integrity verification information)를 포함하고,
    상기 제1 무결성 검증 정보는, 상기 프레임의 헤더에 대한 무결성 및 상기 제1 서브프레임에 대한 무결성을 검증하기 위해 이용되는,
    전송 단말.
  11. 전송 단말에 의해 수행되는, 데이터 전송 방법에 있어서,
    보안 헤더(security header), 제1 보안 서브프레임(secure subframe) 및 제2 보안 서브프레임을 포함하는 집성 프레임(aggregated frame)을 생성하는 단계; 및
    상기 집성 프레임을 수신 단말로 전송하는 단계
    를 포함하고,
    상기 제1 보안 서브프레임은, 상기 제1 보안 서브프레임에 대한 제1 보안 프레임 카운터(secure frame counter: SFC) 값을 이용하여 생성되고, 상기 제1 SFC 값은 상기 보안 헤더에 포함되고,
    상기 제2 보안 서브프레임은, 상기 제2 보안 서브프레임에 대한 제2 SFC 값을 이용하여 생성되고, 상기 제2 SFC 값은 상기 집성 프레임 내에 포함되지 않고,
    상기 제2 SFC 값은 상기 제1 SFC 값에 기초하여 생성되는,
    데이터 전송 방법.
  12. 제11항에 있어서,
    상기 집성 프레임을 생성하는 단계는,
    상기 제1 SFC 값에 기초하여 제1 넌스(nonce)를 생성하는 단계; 및
    상기 제1 넌스에 기초하여 상기 제1 보안 서브프레임을 생성하는 단계
    를 포함하는,
    데이터 전송 방법.
  13. 제11항에 있어서,
    상기 집성 프레임을 생성하는 단계는,
    상기 제1 SFC 값에 기초하여 상기 제2 SFC 값을 생성하는 단계;
    상기 제2 SFC 값에 기초하여 제2 넌스를 생성하는 단계; 및
    상기 제2 넌스에 기초하여 상기 제2 보안 서브프레임을 생성하는 단계
    를 포함하는,
    데이터 전송 방법.
  14. 제11항에 있어서,
    상기 수신 단말과 연관(association)을 수립하는 단계
    를 더 포함하고,
    상기 집성 프레임을 생성하는 단계는, 상기 수신 단말과의 연관이 수립된 상태에서 수행되는,
    데이터 전송 방법.
  15. 제11항에 있어서,
    상기 제1 SFC 값에 기초하여 상기 제2 SFC 값을 생성하는 방법은, 상기 전송 단말 및 상기 수신 단말 간에 미리 협의된,
    데이터 전송 방법.
  16. 데이터를 전송하는 전송 단말에 있어서,
    보안 헤더(security header), 제1 보안 서브프레임(secure subframe) 및 제2 보안 서브프레임을 포함하는 집성 프레임(aggregated frame)을 생성하는 프로세서; 및
    상기 집성 프레임을 수신 단말로 전송하는 통신부
    를 포함하고,
    상기 제1 보안 서브프레임은, 상기 제1 보안 서브프레임에 대한 제1 보안 프레임 카운터(secure frame counter: SFC) 값을 이용하여 생성되고, 상기 제1 SFC 값은 상기 보안 헤더에 포함되고,
    상기 제2 보안 서브프레임은, 상기 제2 보안 서브프레임에 대한 제2 SFC 값을 이용하여 생성되고, 상기 제2 SFC 값은 상기 집성 프레임 내에 포함되지 않고,
    상기 제2 SFC 값은 상기 제1 SFC 값에 기초하여 생성되는,
    전송 단말.
KR1020160178830A 2015-12-24 2016-12-26 데이터를 전송하는 방법 및 장치 KR102510000B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/390,826 US10708279B2 (en) 2015-12-24 2016-12-27 Method and apparatus for transmitting data

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
KR20150186517 2015-12-24
KR1020150186517 2015-12-24
KR1020160000588 2016-01-04
KR20160000588 2016-01-04
KR20160001501 2016-01-06
KR1020160001501 2016-01-06
KR1020160014761 2016-02-05
KR20160014761 2016-02-05
KR1020160029898 2016-03-11
KR20160029898 2016-03-11
KR20160031885 2016-03-17
KR1020160031885 2016-03-17
KR20160149123 2016-11-09
KR1020160149123 2016-11-09

Publications (2)

Publication Number Publication Date
KR20170076610A true KR20170076610A (ko) 2017-07-04
KR102510000B1 KR102510000B1 (ko) 2023-03-15

Family

ID=59357285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160178830A KR102510000B1 (ko) 2015-12-24 2016-12-26 데이터를 전송하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102510000B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230067949A (ko) 2021-11-10 2023-05-17 정재윤 위치 및 시간 기반 정보 공유 방법 및 장치
CN117294552A (zh) * 2023-11-24 2023-12-26 中汽研汽车检验中心(天津)有限公司 一种基于hj1239标准的数据完整性测试的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050157715A1 (en) * 2003-12-24 2005-07-21 Hiddink Gerritt W. Packet sub-frame structure for selective acknowledgment
US20090327736A1 (en) * 2003-10-16 2009-12-31 Cisco Technology, Inc. Insider attack defense for network client validation of network management frames

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327736A1 (en) * 2003-10-16 2009-12-31 Cisco Technology, Inc. Insider attack defense for network client validation of network management frames
US20050157715A1 (en) * 2003-12-24 2005-07-21 Hiddink Gerritt W. Packet sub-frame structure for selective acknowledgment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230067949A (ko) 2021-11-10 2023-05-17 정재윤 위치 및 시간 기반 정보 공유 방법 및 장치
CN117294552A (zh) * 2023-11-24 2023-12-26 中汽研汽车检验中心(天津)有限公司 一种基于hj1239标准的数据完整性测试的方法和装置
CN117294552B (zh) * 2023-11-24 2024-02-13 中汽研汽车检验中心(天津)有限公司 一种基于hj1239标准的数据完整性测试的方法和装置

Also Published As

Publication number Publication date
KR102510000B1 (ko) 2023-03-15

Similar Documents

Publication Publication Date Title
US11018854B2 (en) Data conversion systems and methods
EP3603001B1 (en) Hardware-accelerated payload filtering in secure communication
US11218477B2 (en) Encryption key updates in wireless communication systems
CN109428867B (zh) 一种报文加解密方法、网路设备及系统
US20140270166A1 (en) Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks
EP2840758B1 (en) Compact and efficient communication security through combining anti-replay with encryption
US11245531B2 (en) Method, apparatus and system for establishing biometric identification information transmission and storage medium
JP2012050066A (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
US10699031B2 (en) Secure transactions in a memory fabric
US20170302454A1 (en) Encryption for transactions in a memory fabric
US11985112B2 (en) Securing data in motion by zero knowledge protocol
US11005828B1 (en) Securing data at rest
US9979550B1 (en) Methods of facilitating packet-based connections
US20180176230A1 (en) Data packet transmission method, apparatus, and system, and node device
KR102510000B1 (ko) 데이터를 전송하는 방법 및 장치
CN114301613B (zh) 安全通信的方法和装置
US10708279B2 (en) Method and apparatus for transmitting data
US20210126776A1 (en) Technologies for establishing device locality
US20230379146A1 (en) Securing network communications using dynamically and locally generated secret keys
EP4346255A1 (en) Encrypted satellite communications
KR101991731B1 (ko) 서버 및 피어의 동작 방법
CN107968773A (zh) 一种实现数据安全性和完整性的方法和系统
CN113726507A (zh) 数据传输方法、系统、装置及存储介质
CN117812581A (zh) 会话数据的安全通信方法、后量子安全通道装置及系统
CN118138275A (zh) 远程直接内存访问方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right