KR102477886B1 - Retransmission preventing system using security code table and authentication identification code - Google Patents

Retransmission preventing system using security code table and authentication identification code Download PDF

Info

Publication number
KR102477886B1
KR102477886B1 KR1020200140847A KR20200140847A KR102477886B1 KR 102477886 B1 KR102477886 B1 KR 102477886B1 KR 1020200140847 A KR1020200140847 A KR 1020200140847A KR 20200140847 A KR20200140847 A KR 20200140847A KR 102477886 B1 KR102477886 B1 KR 102477886B1
Authority
KR
South Korea
Prior art keywords
security code
code table
authentication identification
identification code
security
Prior art date
Application number
KR1020200140847A
Other languages
Korean (ko)
Other versions
KR20220056355A (en
Inventor
김종우
김태호
김자형
Original Assignee
주식회사 유앤아이씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 유앤아이씨 filed Critical 주식회사 유앤아이씨
Priority to KR1020200140847A priority Critical patent/KR102477886B1/en
Publication of KR20220056355A publication Critical patent/KR20220056355A/en
Application granted granted Critical
Publication of KR102477886B1 publication Critical patent/KR102477886B1/en

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/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/47Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules
    • 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)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 근거리 무선 통신 단말기의 위치 변조 및 재전송 공격을 방어할 수 있는 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템에 관한 것이다. 본 발명은 제1 보안 코드 테이블을 포함하며 상기 보안 코드 테이블을 이용하여 기 설정된 시간 간격으로 인증 식별 코드를 생성하고 상기 인증 식별 코드를 포함된 패킷을 생성하여 전송하는 근거리 무선 통신 단말기와, 상기 근거리 무선 통신 단말기로부터 상기 패킷을 수신 및 재전송하는 모바일 단말기와, 상기 모바일 단말기로부터 상기 패킷을 수신하고 상기 제1 보안 코드 테이블과 동일한 제2 보안 코드 테이블을 이용하여 상기 패킷을 검증하는 서버를 제공한다.The present invention relates to a retransmission prevention system using a security code table and an authentication identification code capable of defending against location alteration and retransmission attacks of a short range wireless communication terminal. The present invention includes a short-range wireless communication terminal that includes a first security code table, generates an authentication identification code at predetermined time intervals using the security code table, and generates and transmits a packet including the authentication identification code; A mobile terminal receiving and retransmitting the packet from a wireless communication terminal, and a server receiving the packet from the mobile terminal and verifying the packet using a second security code table identical to the first security code table.

Description

보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템{Retransmission preventing system using security code table and authentication identification code}Retransmission preventing system using security code table and authentication identification code}

본 발명은 근거리 무선 통신 단말기의 위치 변조 및 재전송 공격을 방어할 수 있는 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템에 관한 것이다. The present invention relates to a retransmission prevention system using a security code table and an authentication identification code capable of defending against location alteration and retransmission attacks of a short range wireless communication terminal.

이동통신망의 발달과 단말기 사양의 발전에 따라 종래의 단순한 통신장치 또는 정보 제공 장치의 범주를 벗어나 무선 통신 단말기는 현대인의 필수 소지품이 되었고, 토탈 엔터테인먼트 기기로 진화해 가고 있는 추세에 있다.With the development of mobile communication networks and the development of terminal specifications, wireless communication terminals have become essential belongings of modern people beyond the scope of conventional simple communication devices or information providing devices, and are evolving into total entertainment devices.

이러한 무선 통신 단말기는 이동통신망을 통한 통신 기능뿐만 아니라, NFC(Near Field Communication)나 블루투스(Bluetooth) 등의 근거리 무선 통신을 수행하기 위한 기능을 구비한다.Such a wireless communication terminal has a function for performing short-range wireless communication such as NFC (Near Field Communication) or Bluetooth as well as a communication function through a mobile communication network.

그런데 NFC는 통신 거리가 짧고 그 통신을 위해 별도의 무선 칩이 필요한 반면, 블루투스는 상대적으로 통신 거리가 길고 대부분의 단말기가 블루투스 통신 기능을 탑재하고 있어, 이를 이용한 다양한 통신 서비스가 개발되고 있다.However, NFC has a short communication distance and requires a separate wireless chip for communication, whereas Bluetooth has a relatively long communication distance and most terminals are equipped with a Bluetooth communication function, so various communication services using this are being developed.

그리고 블루투스 통신을 이용하는 비콘(Beacon)을 활용하여, 사용자가 소지한 이동통신 단말기에 각종 정보를 제공하는 서비스 방안이 개발되고 있다.In addition, a service method for providing various types of information to a mobile communication terminal possessed by a user by utilizing a beacon using Bluetooth communication is being developed.

비콘(beacon)은 근거리에 있는 스마트 기기를 자동으로 인식하여 필요한 데이터를 전송할 수 있는 무선 통신 장치이다. 블루투스 비콘(Bluetooth Beacon)이라고도 한다. 근거리 무선 통신인 NFC가 10cm 이내의 근거리에서만 작동하는 반면, 비콘은 최대 50m 거리에서 작동할 수 있다. A beacon is a wireless communication device capable of automatically recognizing a smart device in a short distance and transmitting necessary data. Also known as a Bluetooth Beacon. Whereas NFC, a short-range wireless communication, only works within a short distance of less than 10 cm, beacons can operate at a distance of up to 50 m.

비콘은 가까운 범위 안에 있는 사용자 위치를 찾아 메시지 전송, 모바일 결제 등을 가능하게 하는 스마트폰 근거리통신 기술이다. 사물과 상황인식, 콘텐츠 푸시, 실내위치 측위, 자동 체크인, 지오펜스(GeoFence) 등 다양한 응용 서비스 제공이 가능하다. 이러한 비콘 기술을 이용하면 쇼핑센터, 음식점, 박물관, 미술관, 영화관, 야구장 등을 방문한 고객의 스마트폰에 할인 쿠폰이나 상세 설명 등의 데이터를 전송할 수 있다. 최근에는 방문이나 출석 인증을 위해서도 사용되고 있다.Beacon is a smartphone short-range communication technology that enables message transmission and mobile payment by finding a user's location within a close range. It can provide various application services such as object and situation recognition, content push, indoor positioning, automatic check-in, and GeoFence. Using this beacon technology, data such as discount coupons or detailed explanations can be transmitted to the smartphones of customers visiting shopping centers, restaurants, museums, art galleries, movie theaters, and baseball fields. Recently, it is also used for authentication of visits or attendance.

이러한 비콘 신호는 일방적 신호로 항상 일정한 데이터를 송출하기 때문에 위변조나 복사된 신호를 서버에 전송함으로써 사용자의 위치를 고의적으로 속일 수 있다는 문제점이 있다.Since such a beacon signal is a one-way signal and always transmits constant data, there is a problem in that a user's location can be deliberately deceived by transmitting a forged or copied signal to a server.

본 발명은 근거리 무선 통신 단말기의 위치 변조 및 재전송 공격을 방어할 수 있는 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템에 관한 것이다. 이에 의해 본 발명의 범위가 한정되는 것은 아니다.The present invention relates to a retransmission prevention system using a security code table and an authentication identification code capable of defending against location alteration and retransmission attacks of a short range wireless communication terminal. This does not limit the scope of the present invention.

본 발명의 일측면은, 제1 보안 코드 테이블을 포함하며 상기 보안 코드 테이블을 이용하여 기 설정된 시간 간격으로 인증 식별 코드를 생성하고 상기 인증 식별 코드를 포함된 패킷을 생성하여 전송하는 근거리 무선 통신 단말기와, 상기 근거리 무선 통신 단말기로부터 상기 패킷을 수신 및 재전송하는 모바일 단말기와, 상기 모바일 단말기로부터 상기 패킷을 수신하고 상기 제1 보안 코드 테이블과 동일한 제2 보안 코드 테이블을 이용하여 상기 패킷을 검증하는 서버를 포함하는, 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템을 제공한다. One aspect of the present invention is a short-distance wireless communication terminal that includes a first security code table, generates an authentication identification code at predetermined time intervals using the security code table, and generates and transmits a packet including the authentication identification code. and a mobile terminal receiving and retransmitting the packet from the short-range wireless communication terminal, and a server receiving the packet from the mobile terminal and verifying the packet using a second security code table identical to the first security code table. It provides a retransmission prevention system using a security code table and an authentication identification code, including a.

상기 제1 보안 코드 테이블 및 상기 제2 보안 코드 테이블은, 순차적으로 증가하는 복수의 인덱스 넘버와, 상기 복수의 인덱스 넘버에 대응하며 랜덤한 값을 각각 갖는 2개의 블록을 포함할 수 있다. The first security code table and the second security code table may include a plurality of sequentially increasing index numbers and two blocks each having a random value corresponding to the plurality of index numbers.

상기 인덱스 넘버는 순차적으로 증가하는 16개로 구성되고, 상기 2개의 블록은 각각 랜덤하게 생성된 8bytes(64bits)로 구성될 수 있다. The index number may consist of 16 sequentially increasing numbers, and each of the two blocks may consist of randomly generated 8 bytes (64 bits).

상기 어느 한 인덱스 넘버에 대응하는 보안 코드는 상기 2개의 블록의 합으로 총 16Bytes(128bits)로 구성되고 랜덤한 값으로 생성될 수 있다.The security code corresponding to any one index number is composed of a total of 16 bytes (128 bits) as the sum of the two blocks and may be generated as a random value.

상기 서버는 상기 제2 보안 코드 테이블의 인덱스 넘버와 상기 패킷에 포함된 인덱스 넘버를 사용하여 검증할 수 있다. The server may verify using the index number of the second security code table and the index number included in the packet.

상기 인증 식별 코드(AIC)는 소정 크기의 범용 고유 식별자(UUID) 중 일부로 구성될 수 있다. The authentication identification code (AIC) may consist of a portion of a universally unique identifier (UUID) of a predetermined size.

상기 인증 식별 코드는, 16 bits의 값으로 계속 증가하는 값을 갖는 Count Num와, 인증 식별 코드 필드의 활성화 여부를 나타내는 AIC Flag와, 보안 코드 조합의 생성 조건을 나타내는 Index Mode와, 사용된 해시알고리즘을 구분하기 위한 필드인 Hash ID와, 상기 제1 보안 코드 테이블에서 보안 코드 조합에 사용된 것이며, 상기 Count Num의 증가에 따라 그 값이 랜덤하게 선택되는 Index Num와, 상기 Hash ID 필드에서 명시한 해시알고리즘에 입력하여 만들어진 결과값인 Hash code를 포함할 수 있다. The authentication identification code is a Count Num having a continuously increasing value of 16 bits, an AIC Flag indicating whether the authentication identification code field is activated, an Index Mode indicating a condition for generating a security code combination, and a hash algorithm used. Hash ID, which is a field for distinguishing, and Index Num, which is used for combination of security codes in the first security code table and whose value is randomly selected according to the increase of the Count Num, and the hash specified in the Hash ID field. It can include hash code, which is the result value created by inputting to the algorithm.

서버는 제2 보안 코드 테이블로부터 상기 인증 식별 코드의 Index Num에 해당하는 보안 코드를 추출 후 보안 코드 조합(CSC)을 생성하고 이를 이용하여 Hash Code를 생성하여 검증할 수 있다. The server extracts a security code corresponding to Index Num of the authentication identification code from the second security code table, generates a security code combination (CSC), and generates and verifies a hash code using this.

전술한 것 외의 다른 측면, 특징, 이점은 이하의 발명을 실시하기 위한 구체적인 내용, 청구범위 및 도면으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above will become clear from the detailed description, claims, and drawings for carrying out the invention below.

본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템은 UUID의 일부 필드에 보안 Index 값과 해시함수를 적용하여 일정 간격마다 다른 신호를 송출하고, 서버에서 이를 확인하여, 동일 신호를 생성하여 위치를 속이는 재전송 공격을 막을 수 있다.A retransmission prevention system using a security code table and an authentication identification code according to an embodiment of the present invention transmits a different signal at regular intervals by applying a security index value and a hash function to some fields of a UUID, and the server checks it, By generating the same signal, it is possible to prevent a retransmission attack that deceives the location.

또한, 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템은 패킷의 크기가 증가하지 않고, 기존 패킷 구조를 그대로 활용 가능하다.In addition, the retransmission prevention system using the security code table and the authentication identification code according to an embodiment of the present invention does not increase the size of the packet and can utilize the existing packet structure as it is.

또한, 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템은 서버에서 검증하는 방식으로 수신 디바이스를 제한하지 않는다.In addition, the system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention does not limit a receiving device by verifying in a server.

또한, 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템은 근거리 무선 통신 단말기를 그룹으로 묶어 그룹별 Security Code를 부여하여 사용 가능하기 때문에 그룹별 보안 및 관리가 가능하다.In addition, since the system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention can be used by grouping short-range wireless communication terminals into groups and assigning a security code to each group, security and management for each group are possible. .

또한, 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템은 Count Number 값을 사용하기 때문에 재전송 공격 방지를 위해 시간을 동기화하지 않아도 된다.In addition, since the system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention uses a Count Number value, time synchronization is not required to prevent a retransmission attack.

물론 이러한 효과에 의해 본 발명의 범위가 한정되는 것은 아니다.Of course, the scope of the present invention is not limited by these effects.

도 1은 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템을 개략적으로 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템의 보안 코드 테이블을 개략적으로 도시한 테이블이다.
도 4는 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템의 패킷 구조를 개략적으로 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템의 인식 식별 코드의 패킷 구조를 개략적으로 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템의 Hash Code 생성 동작을 개략적으로 도시한 블록도이다.
1 is a block diagram schematically illustrating a system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention.
2 is a flowchart schematically illustrating a system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention.
3 is a table schematically showing a security code table of a system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention.
4 is a block diagram schematically illustrating a packet structure of a system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention.
5 is a block diagram schematically showing a packet structure of a recognition identification code of a system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention.
6 is a block diagram schematically illustrating a hash code generation operation of a system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention.

이하, 본 개시의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 개시의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 개시의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.Hereinafter, various embodiments of the present disclosure will be described in conjunction with the accompanying drawings. Various embodiments of the present disclosure may have various changes and various embodiments, and specific embodiments are illustrated in the drawings and related detailed descriptions are described. However, this is not intended to limit the various embodiments of the present disclosure to specific embodiments, and should be understood to include all changes and/or equivalents or substitutes included in the spirit and technical scope of the various embodiments of the present disclosure. In connection with the description of the drawings, like reference numerals have been used for like elements.

본 개시의 다양한 실시예에서 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(diAIClosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Expressions such as "include" or "may include" that may be used in various embodiments of the present disclosure indicate the existence of a corresponding function, operation, or component disclosed (diAIClosure), and may include one or more additional functions, operations, or components. components, etc. are not limited. In addition, in various embodiments of the present disclosure, terms such as "include" or "have" are intended to designate that there are features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, It should be understood that it does not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.In various embodiments of this disclosure, expressions such as “or” include any and all combinations of the words listed together. For example, "A or B" may include A, may include B, or may include both A and B.

본 개시의 다양한 실시예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Expressions such as "first", "second", "first", or "second" used in various embodiments of the present disclosure may modify various components of various embodiments, but do not limit the components. don't For example, the above expressions do not limit the order and/or importance of corresponding components. The above expressions may be used to distinguish one component from another. For example, the first user device and the second user device are both user devices and represent different user devices. For example, a first element may be termed a second element, and similarly, a second element may also be termed a first element, without departing from the scope of rights of various embodiments of the present disclosure.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.When an element is referred to as being "connected" or "connected" to another element, the element may be directly connected or connected to the other element, but with the other element. It should be understood that other new components may exist between the other components. On the other hand, when an element is referred to as being “directly connected” or “directly connected” to another element, it will be understood that no new element exists between the element and the other element. should be able to

본 개시의 다양한 실시예에서 사용한 용어는 단지 특정일 실시예를 설명하기 위해 사용된 것으로, 본 개시의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Terms used in various embodiments of the present disclosure are only used to describe a specific embodiment, and are not intended to limit various embodiments of the present disclosure. Singular expressions include plural expressions unless the context clearly dictates otherwise.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the present disclosure belong.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in various embodiments of the present disclosure, ideal or excessively formal. not interpreted as meaning

이하에서 시스템은 장치들의 구성, 이들 장치들의 작동 방법, 장치들의 작동 방법을 실행하는 컴퓨터 프로그램 및 컴퓨터 프로그램이 기록된 매체 중 적어도 어느 하나이거나, 이들 중 일부, 또는 이들 모두일 수도 있다. Hereinafter, a system may be at least one of configurations of devices, methods of operating these devices, computer programs that execute the method of operating the devices, and media on which the computer programs are recorded, some of them, or all of them.

도 1 및 도 2는 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템을 개략적으로 도시한 블록도이다. 본 실시예에 따르면 재전송 방지 시스템은 근거리 무선 통신 단말기(100), 모바일 단말기(200) 및 서버(300)를 포함한다. 1 and 2 are block diagrams schematically illustrating a system for preventing retransmission using a security code table and an authentication identification code according to an embodiment of the present invention. According to this embodiment, the retransmission prevention system includes a short-distance wireless communication terminal 100 , a mobile terminal 200 and a server 300 .

도 1을 참조하면, 근거리 무선 통신 단말기(100), 모바일 단말기(200) 및 서버(300)는 서로 네트워크를 통해 연결된다. 근거리 무선 통신 단말기(100) 및 모바일 단말기(200)는 블루투스 기반 네트워크로 연결된다. 그리고 모바일 단말기(200)와 서버(300)는 LTE, 5G, 인터넷 등 유무선 통신망을 이용하여 연결된다. 물론 연결 방식을 전술한 바에 한정하는 것은 아니다. Referring to FIG. 1, a short-distance wireless communication terminal 100, a mobile terminal 200, and a server 300 are connected to each other through a network. The short-distance wireless communication terminal 100 and the mobile terminal 200 are connected through a Bluetooth-based network. In addition, the mobile terminal 200 and the server 300 are connected using a wired or wireless communication network such as LTE, 5G, or the Internet. Of course, the connection method is not limited to the above.

근거리 무선 통신 단말기(100)는 근거리에 있는 모바일 단말기(200)를 자동으로 인식하여 필요한 데이터를 전송할 수 있는 무선 통신 장치이다. 예를 들어, 근거리 무선 통신 단말기(100)는 비콘(Beacon) 단말기일 수 있다. The short-distance wireless communication terminal 100 is a wireless communication device capable of automatically recognizing a mobile terminal 200 in a short distance and transmitting necessary data. For example, the short-distance wireless communication terminal 100 may be a beacon terminal.

비콘 단말기는 저전력 블루투스(Bluetooth Low Energy, BLE)를 이용해 주기적으로 주변에 신호를 낸다. 특히 비콘 단말기는 발신하는 신호 도달 거리 내로 모바일 단말기(200)가 존재하면, 특정 패킷을 내보내게 된다. 그리고 모바일 단말기(200)는 비톤 단말기로부터 수신한 패킷을 서버(300)로 전송하고, 서버(300)는 수신한 패킷에 따른 데이터를 모바일 단말기(200)로 전송한다. The beacon terminal periodically emits a signal to the surroundings using Bluetooth Low Energy (BLE). In particular, the beacon terminal transmits a specific packet when the mobile terminal 200 exists within the range of the outgoing signal. The mobile terminal 200 transmits the packet received from the Btone terminal to the server 300, and the server 300 transmits data according to the received packet to the mobile terminal 200.

모바일 단말기(200)는 위치기반 서비스를 받기 위하여, 사용자가 사용하는 디바이스이다. 예를 들어, 모바일 단말기(200)는 스마트폰(smart phone), PC(Personal Computer), 노트북 컴퓨터, 휴대폰(mobile phone), 태블릿 PC, 내비게이션(navigation) 단말기, PDA(Personal Digital Assistants), 스마트 TV(Smart TV), PMP(Portable Multimedia Player) 및 디지털방송 수신기일 수 있으나, 이에 한정되는 것은 아니다.The mobile terminal 200 is a device used by a user to receive a location-based service. For example, the mobile terminal 200 includes a smart phone, a personal computer (PC), a notebook computer, a mobile phone, a tablet PC, a navigation terminal, a personal digital assistant (PDA), and a smart TV. (Smart TV), PMP (Portable Multimedia Player) and digital broadcasting receiver, but is not limited thereto.

서버(300)는 네트워크를 통해 모바일 단말기(200)로 데이터를 전송할 수 있다. 여기서 '서버(300)'라는 용어는 논리적인 구성 단위를 나타내는 것으로서, 반드시 물리적으로 구분되는 구성 요소가 아니라는 점은 본 발명이 속하는 기술분야의 당업자에게 자명한 사항이다.The server 300 may transmit data to the mobile terminal 200 through a network. Here, the term 'server 300' denotes a logical unit, and it is obvious to those skilled in the art that the term 'server 300' is not necessarily a physically separated component.

도 2를 참조하여, 본 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템을 보다 상세히 설명한다. Referring to FIG. 2, a system for preventing retransmission using a security code table and an authentication identification code according to the present embodiment will be described in more detail.

먼저, 근거리 무선 통신 단말기(100)와 서버(300)는 동일한 보안 코드 단말기를 포함한다. 이하에서 근거리 무선 통신 단말기(100)의 보안 코드 테이블을 제1 보안 코드 테이블로, 서버(300)의 보안 코드 테이블을 제2 보안 코드 테이블로 지칭한다. 보안 코드 테이블에 대해서는 나중에 상세히 설명한다. First, the short-distance wireless communication terminal 100 and the server 300 include the same security code terminal. Hereinafter, the security code table of the short range wireless communication terminal 100 is referred to as a first security code table, and the security code table of the server 300 is referred to as a second security code table. The security code table will be described in detail later.

사용자가 위치 기반 서비스를 받기 위하여, 근거리 무선 통신 단말기(100)는 주기적으로 패킷을 전송한다. In order for a user to receive a location-based service, the short-distance wireless communication terminal 100 periodically transmits a packet.

이때, 근거리 무선 통신 단말기(100)는 제1 보안 코드 테이블을 이용하여 기 설정된 시간 간격으로 인증 식별 코드(AIC : Authentication Identification Code)를 생성한다(S10). 여기서 기 설정된 시간은 수초에서 수분일 수 있다. 예컨대, 근거리 무선 통신 단말기(100)는 10분 간격으로 인증 식별 코드(AIC)를 갱신할 수 있다. At this time, the short-distance wireless communication terminal 100 generates an Authentication Identification Code (AIC) at preset time intervals using the first security code table (S10). Here, the preset time may be several seconds to several minutes. For example, the short-distance wireless communication terminal 100 may renew the authentication identification code (AIC) every 10 minutes.

그리고 근거리 무선 통신 단말기(100)는 인증 식별 코드(AIC)를 포함된 패킷을 생성한다(S20). 이때 패킷은 Preamble, Access Address, PDU, CRC를 포함한다. 패킷에 대한 상세한 설명은 나중에 한다.And, the short-distance wireless communication terminal 100 generates a packet including an authentication identification code (AIC) (S20). At this time, the packet includes a Preamble, Access Address, PDU, and CRC. A detailed description of the packet will be given later.

근거리 무선 통신 단말기(100)는 패킷을 전송한다(S30). 이때, 근거리 무선 통신 단말기(100)는 주기적으로 패킷을 전송할 수 있다. 이때, 패킷 전송 시간 간격은 인증 식별 코드(AIC) 생성 시간 간격과 동일할 수 있다. 물론 패킷 진송 시간 간격과 인증 식별 코드(AIC)의 갱신 기간이 다를 수도 있다. The short-distance wireless communication terminal 100 transmits a packet (S30). At this time, the short-distance wireless communication terminal 100 may transmit packets periodically. In this case, the packet transmission time interval may be the same as the authentication identification code (AIC) generation time interval. Of course, the packet transmission time interval and the renewal period of the authentication identification code (AIC) may be different.

그리고 모바일 단말기(200)는 근거리 무선 통신 단말기(100)로부터 패킷을 수신하고, 수신한 패킷을 다시 서버(300)로 전송한다(S40).Then, the mobile terminal 200 receives packets from the short-distance wireless communication terminal 100 and transmits the received packets to the server 300 again (S40).

서버(300)는 제2 보안 코드 테이블을 포함하며, 제2 보안 코드 테이블을 이용하여 수신한 패킷에 포함된 인증 식별 코드(AIC)를 검증한다(S50). 그리고 서버(300)는 검증 결과를 모바일 단말기(200)로 전송한다(S60).The server 300 includes a second security code table, and verifies the authentication identification code (AIC) included in the received packet using the second security code table (S50). And the server 300 transmits the verification result to the mobile terminal 200 (S60).

보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템을 상세히 설명하기 위하여, 보안 코드 테이블 및 패킷을 상세히 설명한다. In order to explain the retransmission prevention system using the security code table and the authentication identification code in detail, the security code table and the packet will be described in detail.

도 3을 참조하면, 본 실시예에 따른 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템의 보안 코드 테이블이 개략적으로 도시되어 있다.Referring to FIG. 3, a security code table of a system for preventing retransmission using a security code table and an authentication identification code according to the present embodiment is schematically illustrated.

보안 코드 테이블은 순차적으로 증가하는 복수의 인덱스 넘버(Index Num)와, 복수의 인덱스 넘버에 대응하며 랜덤한 값을 각각 갖는 2개의 블록(Left Block, Right Block)을 포함한다. The security code table includes a plurality of sequentially increasing index numbers (Index Num) and two blocks (Left Block, Right Block) corresponding to the plurality of index numbers and each having a random value.

보다 상세히, 보안 코드 테이블은 총 16개의 인덱스로 구성되며, 인덱스 넘버는 순차적으로 증가하는 16개로 구성된다. 예를 들어 인덱스 넘버는 2진수로 0000, 0001, 0010, 0011 ~ 1111로 증가하는 숫자로 구성된다. 물론 인덱스 넘버를 16으로 한정하는 것은 아니며, 필요에 따라 증가하거나 감소할 수 있다. More specifically, the security code table is composed of a total of 16 indexes, and the index number is composed of 16 sequentially increasing numbers. For example, an index number consists of incrementing numbers from 0000, 0001, 0010, 0011 to 1111 in binary. Of course, the index number is not limited to 16, and may be increased or decreased as needed.

2개의 블록은 좌측 블록(Left Block)과 우측 블록(Right Block) 으로 구성되며, 랜덤하게 생성된 값이다. 예를 들어, 보안 코드 테이블 생성 시 랜덤하게 생성된 값이 좌측 블록과 우측 블록에 할당될 수 있다. The two blocks are composed of a left block and a right block, and are randomly generated values. For example, when generating a security code table, randomly generated values may be assigned to the left block and the right block.

좌측 블록과 우측 블록은 각각 8Bytes(64Bits)로 구성된다. 따라서 각 인덱스 코드에 해당하는 보안 코드는 좌측 블록과 우측 블록을 합하여 16Bytes(128bits)로 구성되고 랜덤한 값으로 생성된다. The left block and the right block each consist of 8 bytes (64 bits). Therefore, the security code corresponding to each index code is composed of 16 bytes (128 bits) by adding the left block and the right block, and is generated as a random value.

한편, 도 4는 패킷의 구성을 개략적으로 도시한 도면이다. 도 4을 참조하면, 패킷은 Preamble, Access Address, PDU, CRC(순환 중복 검사)를 포함한다. 그리고 PDU는 Header, Mac address, Data를 포함하며, Data는 prefix, Proximity UUID, Major ID, Major ID, Minor ID, TX power를 포함한다. 상세히 설명하면, 아래와 같다.Meanwhile, FIG. 4 is a diagram schematically illustrating a configuration of a packet. Referring to FIG. 4, a packet includes a preamble, an access address, a PDU, and a cyclic redundancy check (CRC). The PDU includes Header, Mac address, and Data, and Data includes prefix, proximity UUID, Major ID, Major ID, Minor ID, and TX power. In detail, it is as follows.

a. Preamblea. Preamble

두 개 이상의 시스템간에 전송 타이밍을 동기화하기 위해 맨앞에 사용된다.It is used at the front to synchronize transmission timing between two or more systems.

적절한 타이밍은 모든 시스템들이 정보 전달의 시작을 올바르게 해석할 수 있도록 보장한다. 즉, 누군가가 지금 막 데이터를 전송하려한다는 의미로서 정보를 수신하고 있는 시스템들이 언제 데이터 전송이 시작되는지를 올바르게 이해하도록 해준다.Proper timing ensures that all systems correctly interpret the start of information transfer. That is, someone is about to transmit data, which allows systems receiving the information to correctly understand when the data transmission begins.

한글자 단위가 아닌 미리 정해진 수만큼의 글자열을 한 블럭으로 만들어 일시에 전송한다.Instead of a single character unit, a pre-determined number of character strings are made into one block and transmitted at once.

b. Access Addressb. Access Address

링크 계층에서 연결용 주소이다.This is the address for the connection at the link layer.

c. PDUc. PDUs

동일 통신계층간에 운반되는 전체 데이터의 량 또는 그의 운반체이다.It is the total amount of data carried between the same communication layer or its carrier.

PDU내의 패킷 구조는 다음과 같이 세 개의 필드로 구성되어 있다.The packet structure in the PDU consists of three fields as follows.

c-1. Headerc-1. Header

데이터의 집합 앞에 그 데이터들의 내용과 특징을 알 수 있도록 데이터의 내용, 성격 등을 식별 제어하기 위해 사용된다.It is used to identify and control the contents and characteristics of data so that the contents and characteristics of the data can be known before the data set.

c-2. Mac addressc-2. Mac address

랜카드, 모뎀, 스마트폰 등 네트워크에 사용되는 장비에 존재하는 고유 번호이다. 여기에서는 비콘의 고유한 하드웨어 번호이다. IP와 달리 맥 어드레스는 부품을 교체하지 않는 한 변경되지 않는다.It is a unique number that exists in equipment used in the network, such as LAN cards, modems, and smartphones. In this case, it is the beacon's unique hardware number. Unlike IP, MAC addresses do not change unless parts are replaced.

c-3. Datac-3. Data

Data내 패킷 구조는 다음과 같은 다섯 개의 필드로 구성되어 있다.The packet structure in Data consists of the following five fields.

c-3-1. iBeacon prefixc-3-1. iBeacon prefix

iBeacon prefix는 총 9 bytes 이며 구성은 아래와 같다.iBeacon prefix is a total of 9 bytes, and the composition is as follows.

· Advertising flags· Advertising flags

3 bytes 이며 첫 번째 광고(AD)데이터이며 플래그 값을 저장하고 있다.It is 3 bytes and is the first advertisement (AD) data and stores the flag value.

· Advertising Header· Advertising header

2 bytes이며 두 번째 광고 데이터 필드이다.It is 2 bytes and is the second advertisement data field.

· Company ID· Company ID

2 bytes이며 회사의 ID 필드이다.It is 2 bytes and is the ID field of the company.

· Type ID· Type ID

1 byte이며 비콘의 타입을 나타낸다.It is 1 byte and indicates the type of beacon.

· Data Length· Data Length

1 byte이며 나머지 페이로드 바이트 수를 나타낸다.It is 1 byte and indicates the number of remaining payload bytes.

c-3-2. Proximity UUIDc-3-2. Proximity UUID

16byte로 구성된 식별자이며 장치를 나타내는 ID이다.(15자릿수이며, 16진수로 이루어져 있다.It is an identifier composed of 16 bytes and an ID representing a device. (It is a 15-digit number and consists of hexadecimal numbers.

c-3-3. Major IDc-3-3. Major ID

서비스 그룹 또는 지역 구분, 동일한 UUID를 가진 비콘을 구분하기 위해 사용한다.(0~65535)It is used to classify service groups or regions, and beacons with the same UUID. (0 to 65535)

c-3-4. Minor IDc-3-4. Minor ID

같은 지역내 구분, 동일한 UUID, Major를 가진 비콘은 구분하기 위해 사용한다.(0~65535)It is used to distinguish beacons with the same division within the same region, the same UUID, and Major. (0 to 65535)

c-3-5. TX powerc-3-5. TX power

해당 비콘이 1m에서 측정되는 RSSI 값을 나타낸다.The corresponding beacon indicates the RSSI value measured at 1m.

이는 측정된 RSSI(잡음이 포함된 무선/RF 수신 신호세기) 값을 바탕으로 거리 계산을 할 때 사용되며 1 byte가 사용되며 2 bytes로 언급된 곳에는 마지막 byte를 00으로 두고 있다.This is used when calculating the distance based on the measured RSSI (radio/RF received signal strength including noise) value. 1 byte is used, and the last byte is set to 00 where it is mentioned as 2 bytes.

비콘 장치는 TX power라는 고정된 일반적인 신호를 보낸다. 이신호의 세기가 클수록 넓은 범위를 통신할 수 있다.Beacon devices send out a fixed general signal called TX power. The greater the strength of this signal, the wider the range can be communicated.

d. CRC(순환 중복 검사)d. Cyclic Redundancy Check (CRC)

데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 말한다.It refers to a method of determining a check value to check whether there is an error in the transmitted data when transmitting data.

데이터를 전송하기 전에 주어진 데이터의 값에 따라 CRC 값을 계산하여 데이터에 붙여 전송하고, 데이터 전송이 끝난 후 받은 데이터의 값으로 다시 CRC 값을 계산하게 된다. 이어서 두 값을 비교하고, 이 두 값이 다르면 데이터 전송 과정에서 잡음 등에 의해 오류가 덧붙여 전송된 것임을 알 수 있다.Before data transmission, a CRC value is calculated according to the value of the given data, attached to the data, and transmitted, and after data transmission is completed, the CRC value is calculated again with the value of the received data. Subsequently, the two values are compared, and if these two values are different, it can be seen that an error was added and transmitted due to noise during the data transmission process.

한편 도 5는 인증 식별 코드(AIC)를 개략적으로 도시한 도면이다. 도 4를 참조하여 인증 식별 코드(AIC)를 상세히 설명하면, 인증 식별 코드(AIC)는 특정 크기의 범용 고유 식별자(UUID) 중 일부로 구성된다. 예를 들어, 인증 식별 코드(AIC)는 16bytes의 범용 고유 식별자(UUID) 중 10bytes(80bits)로 구성된다. 이로 인해, 인증 식별 코드(AIC)는 보안 코드를 포함하여도, 기존 패킷의 크기를 증가시키지 않고, 기존 패킷 구조를 그대로 활용할 수 있다.Meanwhile, FIG. 5 is a diagram schematically illustrating an authentication identification code (AIC). Referring to FIG. 4, the Authentication Identification Code (AIC) is described in detail. The Authentication Identification Code (AIC) is composed of a part of a Universal Unique Identifier (UUID) of a specific size. For example, an Authentication Identification Code (AIC) consists of 10 bytes (80 bits) of a 16-byte Universal Unique Identifier (UUID). For this reason, even if the authentication identification code (AIC) includes the security code, the existing packet structure can be utilized as it is without increasing the size of the existing packet.

보다 상세히 설명하면, 인증 식별 코드(AIC)는 총 여섯 개의 필드를 포함하고, 기 설정된 시간마다 다른 값으로 변화한다. 이때, 인증 식별 코드(AIC)는 보안 코드 테이블을 이용하여 주기적으로 다른 값으로 변경된다. More specifically, the authentication identification code (AIC) includes a total of six fields, and changes to a different value every preset time. At this time, the authentication identification code (AIC) is periodically changed to another value using a security code table.

따라서 인증 식별 코드(AIC)는 시간 정보를 사용하지 않고, 인덱스 넘버(Index Num)를 사용하여 검증한다. 보다 구체적으로 서버는 제2 보안 코드 테이블의 인덱스 넘버와 패킷에 포함된 인덱스 넘버를 사용하여 검증한다. Therefore, the authentication identification code (AIC) is verified using the index number (Index Num) without using time information. More specifically, the server verifies using the index number of the second security code table and the index number included in the packet.

예를 들어, 서버는 제2 보안 코드 테이블의 인덱스 넘버(0001)과 수신한 패킷에 포함된 인덱스 넘버(0001)의 일치하는지 판단하고, 각각의 보안 코드가 동일한지 판단하여, 패킷의 유효성을 검증한다. For example, the server determines whether the index number (0001) of the second security code table matches the index number (0001) included in the received packet, determines whether each security code is the same, and verifies the validity of the packet. do.

이로 인해 근거리 무선 통신 단말기(100)는 서버(300)와 시간 동기화가 필요 없다.Due to this, the short-distance wireless communication terminal 100 does not need time synchronization with the server 300 .

인증 식별 코드(AIC)의 필드를 상세히 설명하면 다음과 같다. A field of the authentication identification code (AIC) is described in detail as follows.

a. Count Numa. Count Num

Count Number는 16 bits의 값으로 계속 증가하는 값을 가지며 재전송 방지를 위하여 사용된다. Count Num 값은 0부터 시작하여 시간의 흐름에 따라 계속 증가하고, 최종 카운트 값에 도달하면 다시 0값으로 리셋된다. Count Number is a value of 16 bits and has a continuously increasing value and is used to prevent retransmission. The Count Num value starts from 0 and continues to increase over time, and is reset to 0 when the final count value is reached.

Count Num의 증가 주기는 비콘을 설치할 때 설정할 수 있는데 최소 10분에서 그 이상으로 설정값을 줄 수 있다. 이 Count Num이 변화하면 다음 필드의 Index Num값을 바꾸고, 이에 따라 Hash Code 값이 변화한다.The increase cycle of Count Num can be set when installing a beacon, and the set value can be given from a minimum of 10 minutes to more. When this Count Num changes, the Index Num value of the next field changes, and the Hash Code value changes accordingly.

Count Num값은 계속 증가하기 때문에 서버(300)측에서는 최근 수신된 Count Num값 보다 더 작은 값이 수신되면 재전송 공격을 의심하고 비콘 인증을 무시할 수 있게 된다.Since the Count Num value continues to increase, the server 300 suspects a retransmission attack when a value smaller than the recently received Count Num value is received and can ignore beacon authentication.

Count Num값은 총 16 bits로 10진수값으로 0부터 65,536값을 가질 수 있다. The Count Num value is a total of 16 bits and can have a value from 0 to 65,536 as a decimal number.

따라서 최소 10분 간격으로 Count Num값이 증가한다면 455일 주기의 카운터 값을 가질 수 있다. 이는 최소 455일 기간 동안은 재전송 공격이 불가하다는 것을 의미한다. 또한 Count Num 증가 시간을 늘리면 455일 이상의 기간 동안 재전송 공격을 방지할 수 있다.Therefore, if the Count Num value increases at least every 10 minutes, it can have a counter value of 455 days. This means that a replay attack is impossible for at least 455 days. In addition, increasing the Count Num increment time prevents replay attacks for a period of more than 455 days.

b. AIC flagb. AIC flag

1bit의 플래그 값으로 인증 식별 코드(AIC) 필드의 활성화 여부를 나타낸다. 1이면 인증 식별 코드(AIC) 필드가 활성화되고, 0이면 비활성화가 되어 인증 식별 코드(AIC) 필드값이 전부 0으로 삽입된다.A 1-bit flag value indicates whether the authentication identification code (AIC) field is activated. If it is 1, the authentication identification code (AIC) field is activated, and if it is 0, it is inactive and all values of the authentication identification code (AIC) field are inserted as 0.

c. Index Modec. Index Mode

1bit의 플래그 비트로 Hash Code 필드에 사용되는 보안코드조합(CSC : Combined Security Code)를 생성할 때 다음 필드 Index Num에 해당하는 보안코드블록(SCB : Security Code Block)을 모두 사용하여 조합하면 0, 절반만 사용하여 조합하면 1의 값을 사용한다. 즉, Index Mode는 보안 코드 조합의 생성 조건을 나타낸다.When generating a security code combination (CSC: Combined Security Code) used in the Hash Code field with a flag bit of 1 bit, 0, half when combining all of the security code blocks (SCB: Security Code Block) corresponding to the following field Index Num When combined using only, a value of 1 is used. That is, the Index Mode represents the conditions for creating a security code combination.

flagflag modemode 00 FullFull 1One HalfHalf

Full Mode는 각 Index Nunber에 해당하는 각각의 보안코드블록(SCB) 16 bytes(128 bits) 세 개를 순서대로 이어 붙여 총 48 bytes(384 bits)의 보안코드조합(CSC : Combined Security Code)을 만들어 낸다. 이 값 또한 비콘 설치시 설정이 되어야 한다.In Full Mode, three 16 bytes (128 bits) of each security code block (SCB) corresponding to each index number are sequentially connected to create a combined security code (CSC) of 48 bytes (384 bits). pay This value should also be set when installing beacons.

Half Mode의 경우 Index Number에 해당하는 보안코드블록(SCB)을 좌우 절반으로 나누고, 그 중 좌측이나 우측 블록 절반인 8 bytes(64 bits)만 사용하여 세 개를 이어 붙여 총 24 bytes(192 bits)의 보안코드조합(CSC : Combined Security Code)를 만들어 낸다. CSC 조합에 사용되는 보안코드블록(SCB)의 좌우측 블록은 다음과 같다.In the case of Half Mode, the security code block (SCB) corresponding to the index number is divided into left and right halves, and among them, 8 bytes (64 bits), which are the left and right half blocks, are used and three are connected to make a total of 24 bytes (192 bits). Creates a combined security code (CSC) of The left and right blocks of the security code block (SCB) used in CSC combination are as follows.

· First SCB : Left Block(좌측 블록)First SCB: Left Block

· Second SCB : Right Block(우측 블록)Second SCB : Right Block

· Third SCB : Left Block(좌측 블록)Third SCB : Left Block

Half 모드를 사용하면 코드 조합 경우의 수가 복잡하고 다양해져 보안성을 높일 수 있다.When using the Half mode, the number of code combination cases is complex and diverse, increasing security.

d. Hash IDd. Hash ID

2 bits로 사용된 해시알고리즘을 구분하기 위한 필드이며 사용되는 알고리즘은 4종류를 지정할 수 있다.This is a field to distinguish the hash algorithm used with 2 bits, and 4 types of used algorithms can be specified.

field datafield data Hash AlgorithmHash Algorithms 0000 MD5MD5 0101 SHA-1SHA-1 1010 SHA-256SHA-256 1111 SHA-512SHA-512

e. Index Nume. Index Num

Index Number 필드는 총 12 bits로 세 개의 보안 코드(Security Code) 조합에 사용된 Index Number를 표기한다. The Index Number field indicates the Index Number used in the combination of three security codes with a total of 12 bits.

송신측인 근거리 무선 통신 단말기(100)는 Count Num값이 변화(증가)할 때마다 보안 코드 테이블에서 Index Number를 랜덤으로 선택 후, 보안 코드를 조합하여 보안코드조합(CSC)을 생성하고 다음 필드의 Hash Code를 생성한다. Whenever the Count Num value changes (increases), the short-distance wireless communication terminal 100, which is the transmitting side, randomly selects an Index Number from the security code table, combines the security codes to generate a security code combination (CSC), and then generates a security code combination (CSC). Generate Hash Code of

수신단인 서버(300)는 근거리 무선 통신 단말기(100)와 동일한 값을 갖는 보안 코드 테이블로부터 이 필드의 Index Num에 해당하는 보안 코드를 추출 후 보안 코드 조합(CSC)을 생성하고 이를 이용하여 Hash Code를 생성하여 검증한다.The server 300, which is the receiving end, extracts a security code corresponding to Index Num of this field from the security code table having the same value as that of the short-distance wireless communication terminal 100, generates a security code combination (CSC), and uses it to generate a Hash Code Create and verify.

· 1~4 bits : First Index Number1~4 bits : First Index Number

· 5~8 bits : Second Index Number· 5~8 bits : Second Index Number

· 9~12 bits : Third Index Number9~12 bits : Third Index Number

f. Hash Codef. Hash Code

도 6을 참조하면, 6 Bytes(48 bits)로 ‘UUID(8 Byets)∥Count Num(2 Bytes)∥Major ID(2 Bytes)∥Minor ID(2 Bytes)∥CSC(24 or 48 Bytes)’를 Hash ID 필드에서 명시한 해시알고리즘에 입력하여 만들어진 결과값을 사용한다.Referring to FIG. 6, 'UUID (8 Bytes) │ Count Num (2 Bytes) │ Major ID (2 Bytes) │ Minor ID (2 Bytes) │ CSC (24 or 48 Bytes)' with 6 Bytes (48 bits) Use the result value created by entering the hash algorithm specified in the Hash ID field.

· Hash Code → Hash(UUID∥Count Num∥Major ID∥Minor ID∥CSC)· Hash Code → Hash (UUID │ Count Num │ Major ID │ Minor ID │ CSC)

Hash 결과인 Message Digest는 알고리즘에 따라 출력 길이가 달라 출력 데이터를 각각 6 Bytes(48 bits) 블록으로 나누고(맨 마지막 블록의 크기가 6 Bytes(48 bits)가 되지 않는 경우 0값의 패딩을 붙여준다), 각 블록을 XOR 연산하여 만들어 낸다. Message Digest, which is the result of hash, has different output lengths depending on the algorithm, and divides the output data into blocks of 6 Bytes (48 bits) each (if the size of the last block is less than 6 Bytes (48 bits), padding with a value of 0 is added). ), it is created by performing XOR operation on each block.

전술한 본 발명의 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드(AIC)를 이용한 재전송 방지 시스템은, 위변조나 복사를 방지하기 위하여 UUID의 일부 필드에 보안 Index 값과 해시함수를 적용하여 일정 간격마다 다른 신호를 송출하고, 서버(300)에서 이를 확인할 수 있는 시스템 또는 방법을 제시한다.The retransmission prevention system using the security code table and the authentication identification code (AIC) according to an embodiment of the present invention described above applies a security index value and a hash function to some fields of the UUID to prevent forgery, alteration or copying at regular intervals. A different signal is transmitted for each signal, and a system or method capable of checking it in the server 300 is presented.

이를 통해 일 실시예에 따른 보안 코드 테이블과 인증 식별 코드(AIC)를 이용한 재전송 방지 시스템은 위변조나 복사된 신호를 서버(300)로 전송하여 사용자의 위치를 고의적으로 속이는 문제점을 방지할 수 있다. Through this, the retransmission prevention system using the security code table and the authentication identification code (AIC) according to an embodiment transmits a forged or copied signal to the server 300 to intentionally deceive the user's location. Can prevent.

한편, 근거리 무선 통신 단말기가 복수인 경우, 근거리 무선 통신 단말기는 보안 코드 테이블을 각각 포함할 수 있다. 또는 근거리 무선 통신 단말기는 UUID나 Major ID 그룹으로 묶어 동일한 보안 코드 테이블을 사용할 수도 있다. Meanwhile, when there are a plurality of short-range wireless communication terminals, each short-range wireless communication terminal may include a security code table. Alternatively, short-distance wireless communication terminals may be grouped into UUID or Major ID groups and use the same security code table.

이와 같이 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의하여 정해져야 할 것이다.As such, the present invention has been described with reference to the embodiments shown in the drawings, but this is only exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. . Therefore, the true technical scope of protection of the present invention should be determined by the technical spirit of the appended claims.

100: 근거리 무선 통신 단말기
200: 모바일 단말기
300: 서버
100: short-range wireless communication terminal
200: mobile terminal
300: server

Claims (8)

제1 보안 코드 테이블을 포함하며, 상기 제1 보안 코드 테이블을 이용하여 기 설정된 시간 간격으로 인증 식별 코드를 생성하고, 상기 인증 식별 코드를 포함된 패킷을 생성하여 전송하는, 근거리 무선 통신 단말기;
상기 근거리 무선 통신 단말기로부터 상기 패킷을 수신 및 재전송하는 모바일 단말기; 및
상기 모바일 단말기로부터 상기 패킷을 수신하고, 상기 제1 보안 코드 테이블과 동일한 제2 보안 코드 테이블을 이용하여 상기 패킷을 검증하는 서버;
를 포함하고,
상기 인증 식별 코드는,
16 bits의 값으로 계속 증가하는 값을 갖는 Count Num;
인증 식별 코드 필드의 활성화 여부를 나타내는 AIC Flag;
보안 코드 조합의 생성 조건을 나타내는 Index Mode;
사용된 해시알고리즘을 구분하기 위한 필드인 Hash ID;
상기 제1 보안 코드 테이블에서 보안 코드 조합에 사용된 것이며, 상기 Count Num의 증가에 따라 그 값이 랜덤하게 선택되는 Index Number; 및
상기 Hash ID 필드에서 명시한 해시알고리즘에 입력하여 만들어진 결과값인 Hash code;
를 포함하는, 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템.
a short-distance wireless communication terminal including a first security code table, generating an authentication identification code at predetermined time intervals using the first security code table, and generating and transmitting a packet including the authentication identification code;
a mobile terminal receiving and retransmitting the packet from the short-range wireless communication terminal; and
a server that receives the packet from the mobile terminal and verifies the packet using a second security code table identical to the first security code table;
including,
The authentication identification code,
Count Num with a continuously increasing value of 16 bits;
AIC Flag indicating whether the authentication identification code field is activated;
Index Mode indicating the creation conditions of the security code combination;
Hash ID, a field for distinguishing hash algorithms used;
an index number used for combination of security codes in the first security code table, the value of which is randomly selected according to the increase of the count num; and
Hash code, which is a result value generated by inputting the hash algorithm specified in the Hash ID field;
Retransmission prevention system using a security code table and an authentication identification code comprising a.
제1항에 있어서,
상기 제1 보안 코드 테이블 및 상기 제2 보안 코드 테이블은 각각,
순차적으로 증가하는 복수의 인덱스 넘버; 및
상기 복수의 인덱스 넘버에 대응하며 랜덤한 값을 각각 갖는 2개의 블록;
을 포함하는, 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템.
According to claim 1,
The first security code table and the second security code table, respectively,
a plurality of sequentially increasing index numbers; and
two blocks corresponding to the plurality of index numbers and each having a random value;
Retransmission prevention system using a security code table and an authentication identification code comprising a.
삭제delete 삭제delete 제2항에 있어서,
상기 서버는 상기 제2 보안 코드 테이블의 인덱스 넘버와 상기 패킷에 포함된 인덱스 넘버를 사용하여 검증하는, 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템.
According to claim 2,
The server verifies using the index number of the second security code table and the index number included in the packet, the system for preventing retransmission using a security code table and an authentication identification code.
제1항에 있어서,
상기 인증 식별 코드는 소정 크기의 범용 고유 식별자(UUID) 중 일부로 구성되는, 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템.
According to claim 1,
The authentication identification code is composed of a portion of a universally unique identifier (UUID) of a predetermined size, a system for preventing retransmission using a security code table and an authentication identification code.
삭제delete 제1항에 있어서,
상기 서버는 상기 제2 보안 코드 테이블로부터 상기 인증 식별 코드의 Index Num에 해당하는 보안 코드를 추출 후 보안 코드 조합(CSC)을 생성하고 이를 이용하여 Hash Code를 생성하여 검증하는, 보안 코드 테이블과 인증 식별 코드를 이용한 재전송 방지 시스템.
According to claim 1,
The server extracts a security code corresponding to Index Num of the authentication identification code from the second security code table, generates a security code combination (CSC), and generates and verifies a hash code using the security code table and authentication. Replay prevention system using identification code.
KR1020200140847A 2020-10-28 2020-10-28 Retransmission preventing system using security code table and authentication identification code KR102477886B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200140847A KR102477886B1 (en) 2020-10-28 2020-10-28 Retransmission preventing system using security code table and authentication identification code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200140847A KR102477886B1 (en) 2020-10-28 2020-10-28 Retransmission preventing system using security code table and authentication identification code

Publications (2)

Publication Number Publication Date
KR20220056355A KR20220056355A (en) 2022-05-06
KR102477886B1 true KR102477886B1 (en) 2022-12-15

Family

ID=81584444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200140847A KR102477886B1 (en) 2020-10-28 2020-10-28 Retransmission preventing system using security code table and authentication identification code

Country Status (1)

Country Link
KR (1) KR102477886B1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245032B2 (en) * 2003-03-27 2012-08-14 Avaya Inc. Method to authenticate packet payloads
KR20060021614A (en) * 2004-09-03 2006-03-08 학교법인 포항공과대학교 One-time password system using pseudorandom number mapping table and method for authenticating a user
KR20150112566A (en) * 2014-03-28 2015-10-07 주식회사 비텐던스 Method for automatic attendance check using area networks, and recording medium storing program for executing the same
KR101811285B1 (en) * 2015-10-30 2017-12-22 현대오토에버 주식회사 Method for authentication of cloud system based on additional authentication device and cloud system therefor
KR20190011620A (en) * 2017-07-25 2019-02-07 (주)케이웍스 Authentication System and Device for Unmanned Sales Kiosk

Also Published As

Publication number Publication date
KR20220056355A (en) 2022-05-06

Similar Documents

Publication Publication Date Title
US11197138B2 (en) Method for discriminating between unicast device to device (D2D) communication and groupcast D2D communication
US10477397B2 (en) Method and apparatus for passpoint EAP session tracking
US8335918B2 (en) MAC frame provision method and apparatus capable of establishing security in IEEE 802.15.4 network
US20060077908A1 (en) Method for generating and authenticating address automatically in IPv6-based internet and data structure thereof
US20120308012A1 (en) Identity-based encryption method and apparatus
CN103765847A (en) Apparatus and methods for media access control header compression
WO2015112753A1 (en) Multi-broadcast beacon signals
CN110147666B (en) Lightweight NFC identity authentication method in scene of Internet of things and Internet of things communication platform
CN101796858A (en) Service provider activation with subscriber identity module policy
CN108040355B (en) Network access method and system
WO2018205148A1 (en) Data packet checking method and device
CN102057615A (en) A system and method of reducing encryption overhead by concatenating multiple connection packets associated with a security association
US20170272376A1 (en) Packet order identification with reduced overhead in packetized data transmission
KR102477886B1 (en) Retransmission preventing system using security code table and authentication identification code
Safkhani et al. Cryptanalysis of Cho\textit {et al.}'s Protocol, A Hash-Based Mutual Authentication Protocol for RFID Systems
CN102883311A (en) OID (object identifier) coding based wireless sensing network equipment addressing method
KR100684965B1 (en) Method for Generating Automatically IPv6 Address by Using IPv6 Identifier
CN110113344B (en) Offshore multi-mobile-platform identity recognition method based on distributed encryption
US20220256338A1 (en) Ultra-wideband communication node and method for contention based ranging
US8200970B2 (en) Method and apparatus for preventing replay attack in wireless network environment
Duc et al. Enhancing security of EPCglobal Gen-2 RFID against traceability and cloning
Madbushi et al. A Novel Chaotic Communication based Test Signal Approach for Identification of Primary User Emulation Attack in Cognitive Radio Networks.
KR20090106103A (en) System and Method for Managing Smart Card Information
Kolesnikov et al. MAC aggregation protocols resilient to DoS attacks
Chen et al. A novel mutual authentication scheme for RFID conforming EPCglobal class 1 generation 2 standards

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant