KR102052518B1 - 사용자 인증 방법 및 인증 판단기 - Google Patents

사용자 인증 방법 및 인증 판단기 Download PDF

Info

Publication number
KR102052518B1
KR102052518B1 KR1020130015978A KR20130015978A KR102052518B1 KR 102052518 B1 KR102052518 B1 KR 102052518B1 KR 1020130015978 A KR1020130015978 A KR 1020130015978A KR 20130015978 A KR20130015978 A KR 20130015978A KR 102052518 B1 KR102052518 B1 KR 102052518B1
Authority
KR
South Korea
Prior art keywords
authentication
time
value
determiner
random number
Prior art date
Application number
KR1020130015978A
Other languages
English (en)
Other versions
KR20140102526A (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 KR1020130015978A priority Critical patent/KR102052518B1/ko
Publication of KR20140102526A publication Critical patent/KR20140102526A/ko
Application granted granted Critical
Publication of KR102052518B1 publication Critical patent/KR102052518B1/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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • 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

Landscapes

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

Abstract

본 발명은 사용자 인증 방법에 관한 것으로, 보다 상세하게는 버튼을 이용한 RFID/NFC 기기의 릴레이 공격 방어를 위한 인증 방법에 관한 것으로, 본 실시예에 따른 사용자 인증 방법은 인증 판단기에서 생성된 제2 난수와 인증 요청기에서 생성된 제1 난수의 연산 값 및 상기 인증 요청기의 이벤트 발생 시간 정보로서 제1 시간값을 입력 받는 단계; 암호화된 상기 제1 난수를 입력 받고, 상기 연산 값으로부터 산출되는 값과 상기 제2 난수를 비교하여 무결성을 판단하는 단계; 및 상기 인증 판단기의 이벤트 발생 시간 정보로서 제2 시간값과, 상기 제1 시간값을 비교하여 인증여부를 결정하는 단계를 포함한다. 발명에 따르면, NFC 및 RFID 상에서의 안전한 통신이 가능해진다. 사용자 몰래 사용자의 기기 버튼을 누른다는 것 자체가 1차 방어의 의미를 가진다. 나아가 간단한 작동으로 사용자 편의성을 제공하며, 다양한 기기에 적용 가능하다. 또한 본 발명은 기존에 출시된 기기 상에 간단한 플랫폼 변경만으로도 전개가 가능하므로, 추가적인 하드웨어 인터페이스 요구가 없고 보안 프로토콜 상에서도 시간 값 하나만 추가되기 때문에 경제적으로 적용할 수 있으며 산업적 시너지 효과도 기대할 수 있다.

Description

사용자 인증 방법 및 인증 판단기{Method of user authentication and apparatus for the same}
본 발명은 사용자 인증 방법에 관한 것으로, 보다 상세하게는 버튼을 이용한 RFID/NFC 기기의 릴레이 공격 방어를 위한 인증 방법에 관한 것이다.
NFC (near-field communication) 기술은 13.56MHz의 밴드를 사용하는 RFID (radio frequency identification) 통신 기술의 하나로써, 10cm내의 짧은 거리에서 비접촉방식(contactless)으로 통신이 이루어진다. 표준화된 NFC 통신기술은 모바일결재(mobile payment), 자동차, 출입문 등을 위한 전자키(electronic keys), 무선, 블루투스 통신 등을 위한 서비스 세팅(setting-up service), 미디어 파일 등의 정보 공유(sharing information) 등 다양한 분야에서 활용되고 있으며, 적용 가용범위의 확대에 따라 현재 개발되고 있는 대다수의 모바일 폰, 스마트 폰에 장착되어 판매되고 있다. NFC 통신은 굉장히 근접한 거리에서 이루어지므로, 일부 보안상의 이점을 가져온다. 예를 들어 Diffie-Hellman 키 교환 방식의 문제인 중간 공격자의 공격(man in the middle attack)이 사실상 불가능하다. 하지만, 중간공격자를 완벽히 막을 수 있는 것은 아니다. 릴레이 공격에 대응하는 기존의 해결책은 거리제한(distance bounding) 접근 방법이다. 메시지를 주고받는 사이의 RTT(round-trip time) 시간과 물리적 거리의 시간을 비교하여 메시지를 전달하는 통신의 개체가 실제 앞에 있는 개체가 맞는지 판단하는 방법이다. 릴레이 공격이 발생된다면 정상 사용자(prover)는 인증 개체(verifier)와 멀리 떨어져 있음에도 마치 인증 기계 앞에 있는 것처럼 통신되는 점을 이용하여 탐지하겠다는 것이다. 그러나 이 방법은 공격자가 고속채널(high-bit rate channel)을 사용하거나 사용자와 근접한 거리에서 공격을 할 때 완벽히 대처하기 힘들다. 다른 대안은 보조채널(secondary channel)을 이용하는 방법이다. 예를 들어, GPS, 카메라, 가속도계 등을 주 통신채널이 아닌 보조수단으로 인증에 사용하는 것이다. 여기서 중요한 점은 보조채널에서 전달되는 정보들은 반드시 릴레이가 불가능해 야 한다는 것이다. 그로 인해 보조채널은 시설의 도움을 받거나 사람의 행동에 의존하는 경향이 있다. 예로 가속도계는 사람이 직접 기기를 흔들면서 발생되는 임의의 값을 인증 시 사용함으로써 중간 공격자가 모방할 수 없도록 만든다. 즉 사람의 행동에 의해 발생하는 랜덤 값이 릴레이 공격의 방어에 사용되는 것이다. 그러나 기존의 보조채널들은 사실상 모든 모바일 디바이스에서 장착했다고 가정하기 힘들다. 공격 하나를 방어하고자 GPS나 가속도계, 사운드 장치, 카메라 등을 장착하는 것은 경제성, 산업성 면에서 비생산적이다. 실용적으로 사용되기 위해서는 모든 디바이스들이 기본적으로 갖추고 있는 인터페이스로 해결하는 것이 합당하다.
본 발명은 상기 종래 기술의 문제를 해결하기 위하여 안출된 것으로서, 최소한의 인터페이스인 버튼 하나를 이용하여 릴레이 공격을 방어하는 사용자 인증 방법을 제안하는 것을 목적으로 한다.
상기 기술적 과제를 해결하기 위한 본 실시예에 따른 사용자 인증 방법은 인증 판단기에서 생성된 제2 난수와 인증 요청기에서 생성된 제1 난수의 연산 값 및 상기 인증 요청기의 이벤트 발생 시간 정보로서 제1 시간값을 입력 받는 단계; 암호화된 상기 제1 난수를 입력 받고, 상기 연산 값으로부터 산출되는 값과 상기 제2 난수를 비교하여 무결성을 판단하는 단계; 및 상기 인증 판단기의 이벤트 발생 시간 정보로서 제2 시간값과, 상기 제1 시간값을 비교하여 인증여부를 결정하는 단계를 포함한다.
상기 이벤트는 상기 인증 요청기 또는 상기 인증 판단기에 포함된 적어도 하나의 버튼을 누르거나 또는 떼는 것에 의해 발생되는 것이 바람직하다.
상기 인증 판단기와 상기 인증 요청기의 시간은 동기화되며, 상기 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기와 상기 인증 판단기 각각의 버튼을 통한 이벤트 발생 절대 시간인 것이 바람직하다.
상기 인증여부를 결정하는 단계는 제1 시간값과 제2 시간값의 차가 미리 결정된 임계값 이하인 경우 인증을 결정하는 것이 바람직하다.
상기 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기와 상기 인증 판단기 각각의 버튼을 통한 복수의 이벤트 발생 상대 시간인 것이 바람직하다.
상기 제1 시간값 및 제2 시간값은 상기 인증 요청기 및 상기 인증 판단기 각각에서 발생되는 이벤트들의 발생 시간 간격 값으로서 제1 시간 간격 값 및 제2 시간 간격 값을 포함하고, 상기 인증여부를 결정하는 단계는 상기 제1 및 제2 시간 간격 값의 차를 통해 인증여부를 결정하는 것이 바람직하다.
상기 인증여부를 결정하는 단계는 상기 제1 및 제2 시간 간격 값의 최대, 최소 또는 평균을 이용하여 산출되는 값이 미리 결정된 임계값 이하인 경우 인증을 결정하는 것이 바람직하다.
상기 기술적 과제를 해결하기 위한 본 실시예에 따른 인증 판단기는 인증 판단기에서 생성된 제2 난수와 인증 요청기에서 생성된 제1 난수의 연산 값 및 상기 인증 요청기의 이벤트 발생 시간 정보로서 제1 시간값을 입력 받는 입력부; 암호화된 상기 제1 난수를 입력 받고, 상기 연산 값으로부터 산출되는 값과 상기 제2 난수를 비교하여 무결성을 판단하는 무결성 판단부; 및 상기 인증 판단기의 이벤트 발생 시간 정보로서 제2 시간값과, 상기 제1 시간값을 비교하여 인증여부를 결정하는 인증부를 포함한다.
본 발명에 따르면, NFC 및 RFID 상에서의 안전한 통신이 가능해진다. 사용자 몰래 사용자의 기기 버튼을 누른다는 것 자체가 1차 방어의 의미를 가진다. 나아가 간단한 작동으로 사용자 편의성을 제공하며, 다양한 기기에 적용 가능하다. 또한 본 발명은 기존에 출시된 기기 상에 간단한 플랫폼 변경만으로도 전개가 가능하므로, 추가적인 하드웨어 인터페이스 요구가 없고 보안 프로토콜 상에서도 시간 값 하나만 추가되기 때문에 경제적으로 적용할 수 있으며 산업적 시너지 효과도 기대할 수 있다.
도 1은 본 발명에서 해결하고자 하는 릴레이 공격의 예를 나타내는 도이다.
도 2는 본 발명의 일실시예에 따른 사용자 인증 방법의 개념을 나타내는 도이다.
도 3은 본 발명의 일실시예에 따른 사용자 인증 방법의 흐름도이다.
도 4는 본 발명의 일실시예에 따른 사용자 인증 방법의 세부 흐름도이다.
도 5는 본 발명의 일실시예에 따른 사용자 인증 방법에서 신호의 송수신 관계를 나타내는 도이다.
도 6 및 도 7은 본 발명의 일실시예에 따른 사용자 인증 방법을 위한 이벤트를 나타내는 도이다.
도 8은 본 발명의 일실시예에 따른 사용자 인증 장치를 나타내는 도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 사용자 인증 방법을 통해 방어하고자 하는 릴레이 공격의 과정을 나타내는 도이다.
도 1을 참조하면, 릴레이 공격은 정상 사용자 P(prover)와 V(verifier) 사이의 중간 공격자 MV(malicious verifier)와 MP(malicious prover)가 존재하고, 중간공격자에 의한 공격으로, 메시지 변조나 해석 없이 단순히 메시지를 전달함으로써 공격이 수행된다.
자동차 키를 예로 설명한다면, 정상적인 경우 자동차 주인이 차문 앞에 키를 가져가는 경우 차문이 열리나, 릴레이 공격이 성공한다면 키를 가지고 있는 자동차 주인이 차 앞에 가지 않아도 차 문이 열릴 수 있다. 릴레이 공격에서는 보통 두 명의 공모자가 공격을 한다. 한명(MV)은 사용자(P) 근처에 대기하고 다른 한명(MP)은 자동차 차문(V) 앞에 서서 인증을 시도한다.
공모자들은 인증에 요구되는 값들을 그대로 사용자(P)에게 전달하고 정상적인 응답을 수행하는 사용자(P)의 메시지를 그대로 자동차(V)에게 다시 전달한다. 자동차(V)는 인증 값이 정상이므로 차문을 연다.
결과적으로 두 명의 공모자만 없다면 정상 사용자와 자동차의 인증과정과 다를 것이 없기 때문에 차 문은 열린다. 공격자 입장에서 메시지를 해석 및 변조할 필요가 없으며 심지어 인증을 위조할 필요도 없이 쉽지만 강력한 공격이 수행된다. 이하 도 2 내지 도 7을 참조하여 본 실시예에 따른 사용자 인증 방법에 대하여 설명한다.
도 2는 도 1에 따른 릴레이 공격을 방어 하기 위한 본 실시예에서의 인증 방법을 나타내는 개념도이다. 본 발명에서는 최소한의 인터페이스인 버튼 하나를 이용하여 릴레이 공격을 방어하고자 한다. 대부분의 디바이스는 디바이스 초기화, 매뉴얼 작동, 사용자 맞춤형 설정 등을 위해 최소 하나의 버튼을 기본적으로 장착한다.
즉, 본 발명은 디바이스의 버튼을 누르면서 발생되는 시간을 보조채널로 사용한다. 이하 도 3을 참조하여 설명하면, 본 실시예에 따른 사용자 인증 방법은 제1 난수 및 제2 난수 논리합 값 및 제1 시간값 입력 단계(S100), 무결성 판단 단계(S200), 인증 여부 결정 단계(S300)를 포함한다.
제1 난수 및 제2 난수 논리합 값 및 제1 시간값 입력 단계(S100)는 인증 판단기(200)에서 생성된 제2 난수와 인증 요청기(100)에서 생성된 제1 난수의 논리합 값 및 상기 인증 요청기(100)의 이벤트 발생 시간 정보로서 제1 시간값을 입력 받는다.
무결성 판단 단계(S200)는 암호화된 상기 제1 난수를 입력 받고, 상기 논리합 값으로부터 산출되는 값과 상기 제2 난수를 비교하여 무결성을 판단한다.
나아가 인증 여부 결정 단계(S300)는 인증 판단기(200)의 이벤트 발생 시간 정보로서 제2 시간값과, 상기 제1 시간값을 비교하여 인증여부를 결정한다.
도 4를 참조하여 보다 상세히 설명하면, 사용자는 이벤트를 발생(S10)시킨다. 본 실시예에서 이벤트는 상기 인증 요청기(100) 또는 상기 인증 판단기(200)에 포함된 적어도 하나의 버튼을 누르거나 또는 떼는 것에 의해 발생된다.
NFC 통신을 위해서 사용자는 두 기계를 근접하게 가져간다(실제로 거의 4cm만큼 가까이 가져가야 통신이 된다). 이때 사용자는 통신 전에 두 기계의 버튼을 동시에 누르고 뗀다. 이벤트 발생 단계는 버튼을 누르는 이벤트가 발생하였음을 인식하고, 인증 요청기(100) 및 인증 판단기(200)는 인증을 위한 절차가 시작되었음을 인식한다.
도 5를 참조하여 설명하면, 제2 난수 생성 및 전달 단계(S20)는 인증이 시작된 후 인증 판단기(200)는 제2 난수(Rv)를 생성하고 NFC 통신을 통해 암호화된 메시지를 인증 요청기(100)에게 전달한다.
인증 요청기(100)는 전달받은 제2 난수(Rv)와 자신이 생성한 제1 난수 (Rp)를 배타적 논리합(XOR) 한 값 C를 생성하여 인증 판단기(200)로 전달하고, 제1 난수와 제2 난수 논리합 값 입력 단계(S110)는 인증 판단기(200)는 제1 난수와 제2 난수 논리합 값을 입력 받는다.
나아가 암호화된 제1 시간값 입력 단계(S120)는 인증 요청기(100)가 버튼 이벤트에 의해 발생한 시간 값(Tp)를 암호화하여 전달한 제1 시간값을 입력 받는다.
암호화된 제1 난수 입력 단계(S130)는 인증 요청기(100) 생성한 제1 난수 (Rp)를 입력 받는다.
난수확인 단계(S210)는 재생 공격(replay attack)으로서 사용자의 패턴으로 제1 시간값과 제2 시간값을 유추하여 인증 받는 것을 방지하기 위한 단계로서, 매 인증시마다 새로이 생성되는 제1 난수, 제2 난수가 암호화 되어 메시지에 포함되기 때문에 공격자는 메시지를 재사용할 수 없다. 암호학적 특성으로는 메시지의 변조를 막는 무결성을 보장한다.
시간차 계산 단계(S310)는 인증 판단기(200)가 난수 값을 확인하고 자신의 버튼 이벤트와 인증 요청기(100)의 버튼 이벤트의 발생 시간 값 차이(|Tp-Tv|)를 계산하고, 임계값 비교 단계(S320)는 계산된 제1 시간값, 제2 시간값의 차가 임계치(threshold) θ값 이하이면 인증을 결정한다. 그렇지 않다면 인증을 거부한다.
나아가 본 실시예에서는 인증 방법으로 시간 차를 이용하는 것은 인증 요청기(100)와 인증 판단기(200)간의 시간동기화(time synchronization)의 필요 여부에 따른 두 가지 방식을 제안한다.
즉 본 실시예에서 이벤트는 상기 인증 요청기(100) 또는 상기 인증 판단기(200)에 포함된 적어도 하나의 버튼을 누르거나 또는 떼는 것에 의해 발생된다.
첫 번째 동기화가 필요한 경우 사용자는 단 한번 버튼을 누름으로써 인증이 수행되며, 두 번째 동기화가 필요 없는 경우 사용자는 여러 번 버튼을 누름으로써 인증이 수행된다. 첫 번째 방식은 사용성 측면에서 사용자에게 부담을 주지 않기 때문에 더욱 실용적이지만 동기화가 맞춰줘 있어야 한다는 가정이 필요하다. 반면, 두 번째 방식은 동기화와 관계없이 진행하므로 범용성을 제공할 수 있다.
또한 사람의 행동에 의해 발생하는 랜덤한 값을 이용하므로 정교한 기계가 아니면 모방이 힘들어 단 한번만 버튼을 누르는 것으로도 보안성이 보장된다. 나아가 버튼을 누르는 횟수는 보안 측면과 상관관계가 있으므로 사용환경에 따라 버튼을 누르는 횟수를 결정할 수 있으며, 버튼을 누르는 횟수 자체의 보안화를 통해 보안성을 높일 수 있다.
첫 번째 버튼에 의한 시간 측정 방법(방법 1)은, 상술한 바와 같이 기기들의 시간 동기화가 가정되어 있는 상태에서 진행한다. 발명이 전개되는 환경의 지역시간, 세계시간, 공장 초기화 시간 등 시간의 존에는 제약이 없지만, 최소 milli 초단위의 시간 동기화가 맞춰줘 있음이 바람직하다. GPS나 WiFi 네트워크가 장착되어 있는 기기들이라면 동기화 설정이 자유로울 수 있다.
방법 1에서 인증 판단기(200)와 상기 인증 요청기(100)의 시간은 동기화되며, 상기 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기(100)와 상기 인증 판단기(200) 각각의 버튼을 통한 이벤트 발생 절대 시간인 것이 바람직하다.
방법 1에 따르면, 사용자의 부담을 최소화할 수 있다. 사용자는 두 기기의 버튼을 1회 누른다. 근접한 두 기기를 한번 눌렀다 떼면 인증이 수행되며 더 이상 사용자에게 요구사항은 없다.
도 6을 참조하면, 동시에 버튼을 누르면서 발생하는 시간 이벤트는 두 가지가 발생한다. 버튼을 누른 시간 t1과 버튼을 떼는 시간 t2이다. 탐지에 사용되는 값 역시 두 가지 이다. α는 두 기기 사이의 버튼을 누른 시작 시간 차이(|t1’-t1|)이며, δ는 각 기기에서 버튼이 눌려진 시간(|t2-t1|)이다. 인증요청기(100)는 두 값(t1과 δ)을 Tp로써 인증 판단기(200)에게 전달하며, 인증 판단기(200)는 자신의 기기에서 측정된 값(t1’과 δ’)과 비교한다. 만약 계산된 α값과 (δ’-δ)값이 임계치 θ값 이하라면 사용자를 허가하며, 그렇지 않다면 거부한다. 임계치 값의 설정은 실험결과 10ms 정도가 적절한 것으로 판단되나, 정확한 임계치는 기술 적용자가 환경을 고려한 여러 번의 실험 후 결정하는 것이 바람직하다.
두 번째 방법은 기기들의 시간 동기화 가정 없이 전개 가능하다. 다시 말해, 환경과 기기의 제약이 방법 1보다 적기 때문에 더욱 다양한 곳에 적용 가능하다. 다만, 사용자의 사용에 있어 방법 1과 비교해 여러 번 버튼을 눌러야 한다는 제약이 있다. 두번째 방법에서 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기(100)와 상기 인증 판단기(200) 각각의 버튼을 통한 복수의 이벤트 발생 상대 시간으로, 상기 제1 시간값 및 제2 시간값은 상기 인증 요청기(100) 및 상기 인증 판단기(200) 각각에서 발생되는 이벤트들의 발생 시간 간격 값으로서 제1 시간 간격 값 및 제2 시간 간격 값을 포함하고, 상기 인증여부를 결정하는 단계는 상기 제1 및 제2 시간 간격 값의 차를 통해 인증여부를 결정한다.
즉, 버튼 누르는 횟수에 따라 도 7과 같은 시간 이벤트들이 발생한다. 버튼으로 발생하는 이벤트의 개수를 n+1이라고 할 때 총 n개의 시간 값들이 발생되며 이것은 사용자가 (n+1)/2번만큼 버튼을 눌렀을 때 생성된다. 예를 들어 사용자가 3번 버튼을 눌렀다면, 총 6개의 버튼 이벤트가 발생하고 5개의 시간 값이 발생된다.
본 실시예에서 버튼으로 발생하는 이벤트는 두 가지이다. 버튼을 눌렀을 때 “누름(press)”, 누른 버튼을 떼었을 때 “뗌(release)” 이벤트가 발생한다고 했을 때 각 이벤트 사이에는 시간 값 δ가 생성된다. 누름과 뗌 사이에는 버튼을 누른 동안의 시간 값, 뗌과 누름 사이에는 idle 시간 값이 δ 값으로 지정된다. 각 기기에서 생성된 시간 값들은 인증에 사용된다. 인증 요청기(100)는 이 시간 값들 δ1, δ2, ..., δn을 Tp의 값으로 인증 판단기(200)에 전달하며 인증 판단기(200)는 자신의 기기에서 측정된 시간 값들 δ1’, δ2’, ..., δn’을 Tv 값으로 하여 Tp의 값과 비교한다. 릴레이 공격 판단에 사용되는 수식은 아래와 같다.
[수학식 1]
φ = (δMAX - δMINAVE
수식에서 δMAX와δMIN는 {|δ11’|, |δ22’|, ..., |δnn’|}에서 각각 최대값과 최소값을 의미하며, δAVE는 평균값을 의미한다. 즉 δAVE = (|δ11’| + |δ22’| + ... + |δnn’|)/n 이다. 만약 수학식 1로부터 측정된 φ값이 임계치 θ값을 넘는다면 인증을 거부하고 작다면 인증 한다. 수학식 1은 측정된 시간 값들의 표준편차와 평균값을 반영하므로, 공격자에 의한 불규칙적인 시간 이벤트로부터 릴레이 공격을 방어한다. 정상적인 사용자의 입력은 일정한 시간 값이 측정되고 평균값도 크지 않다.
즉, 본 실시예에서 인증여부를 결정하는 단계(S300)는 상기 제1 및 제2 시간 간격 값의 최대, 최소 또는 평균을 이용하여 산출되는 값이 미리 결정된 임계값 이하인 경우 인증을 결정하는 것이 바람직하다.
이상의 실시예에 따른 사용자 인증방법을 통하면 NFC 및 RFID 상에서의 안전한 통신이 가능해진다. 사용자 몰래 사용자의 기기 버튼을 누른다는 것 자체가 1차 방어의 의미를 가진다. 버튼을 누르는 시간을 모방하는 것은 정교한 기계가 없이 사람이 흉내 내기 어려워 릴레이 공격으로부터 안전할 수 있다. 또한 제안한 인증 프로토콜은 난수 값 사용, 암호화 사용 등을 통해 재사용 공격이나 도청 등의 다른 공격으로부터도 안전을 보장한다.
또한 간단한 작동으로 사용자 편의성을 제공한다. 동시에 버튼을 누르는 것만으로 모든 인증 절차가 해결된다. NFC 통신 특성 상 기기가 근접하게 놓여 있어야 통신이 가능하므로 두 기기를 누르기 좋게 놓는 단계는 자연히 마련된다.
나아가, 본 발명에 따른 인증 방법은 다양한 기기에 적용 가능하다. 본 발명에서 요구하는 인터페이스는 버튼 단 한 개다. 대부분의 기기들은 기기의 수동 조작이나 초기화 등의 설정을 위해 최소한 버튼 하나를 기본 장착한다. 시간 동기화 가정 여부에 따라 버튼을 누르는 횟수가 정해지고 사용자 편의성이 달라질 수 있지만 버튼 단 한 개만 요한다는 것은 차이가 없으며, 본 발명은 기존에 출시된 기기 상에 간단한 플랫폼 변경만으로도 전개가 가능하다. 추가적인 하드웨어 인터페이스 요구가 없고 보안 프로토콜 상에서도 시간 값 하나만 추가되기 때문에 경제적으로 적용할 수 있으며 산업적 시너지 효과도 기대할 수 있다.
이하 도 8, 도 9를 참조하여 상술한 실시예에 따른 인증 요청기(100) 및 인증 판단기(200)의 구성에 대하여 설명한다.
인증 요청기(100)는 버튼(110), 제1 난수 생성부(120), 제1 시간값 획득부(130), 및 통신부(140)를 포함한다.
본 실시예에서 버튼(110)은 상술한 바와 같이 인증을 위한 절차를 시작하기 위한 인터페이스 요소로서 사용자는 인증 요청기(100)의 버튼과 인증 판단기(200)의 버튼을 누른다.
제1 난수 생성부(120)는 제1 난수를 생성하고, 통신부를 통해 인증 판단기(200)에 전달하기 위하여 제1 난수의 암호화 및 인증 판단기(200)에서 생성된 제2 난수와 배타적 논리합 연산을 수행한다.
제1 시간값 획득부(130)는 버튼의 입력에 따른 이벤트 발생 시간 정보를 획득한다.
나아가 통신부(140)는 제2 난수를 수신하고, 암호화된 제1 난수, 제1 난수와 제2 난수의 배타적 논리합 연산 결과 및 제1 시간값을 송신한다.
인증 판단기(200)는 버튼(210), 제2 난수 생성부(220), 제2 시간값 획득부(230), 무결성 확인부(240), 인증 결정부(250) 및 통신부(260)를 포함한다.
제1 난수 생성부(220)는 암호화하여 통신부를 통해 인증 요청기(100)에 송신될 난수를 생성한다.
제2 시간값 획득부(230)는 버튼에 따라 발생하는 이벤트의 발생 시간 정보를 획득한다.
무결성 확인부(240)는 통신부에서 인증 요청기(100)로부터 수신한 배타적 논리합 값과, 제1 난수를 통해 제2 난수를 추출하고, 이를 원래 생성된 제2 난수와 동일성 여부를 검증하여 무결성을 검증한다.
인증 결정부(250)는 상술한 바와 같이 시간의 동기화 여부에 따른 두가지 방법을 통해 인증 요청기(100)의 버튼 이벤트의 발생 시간 값 차이(|Tp-Tv|)를 계산하고, 임계값 비교 단계는 계산된 제1 시간값, 제2 시간값의 차가 임계치(threshold) θ값 이하이면 인증을 결정한다. 그렇지 않다면 인증을 거부한다.
통신부(260)는 인증 결정부의 제1 시간값과 무결성 확인부의 무결성 검증을 위한 정보를 인증 요청기(100)로부터 수신하며, 제2 난수를 인증 요청기(100)로 송신한다.
한편 본 발명의 사용자 인증 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트 들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다.
따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (15)

  1. 제1 난수를 생성하는 인증 요청기 및 제2 난수를 생성하는 인증 판단기를 이용하여 인증 절차를 수행하기 위한 이벤트가 발생하는 단계;
    상기 인증 판단기가 상기 제2 난수를 생성하여 상기 인증 요청기로 전달하는 단계;
    상기 인증 요청기가 상기 전달 받은 제2 난수 및 상기 제1 난수를 논리합하여 논리합 값을 산출하고, 상기 산출된 논리합 값, 상기 제1 난수 및 상기 인증 요청기의 이벤트 발생 시간 정보로서 제1 시간값을 상기 인증 판단기로 전달하는 단계; 및
    상기 제1 시간값 및 상기 인증 판단기의 이벤트 발생 시간 정보인 제2 시간값을 비교하여 인증여부를 결정하는 단계;를 포함하되,
    상기 인증 요청기의 이벤트 발생 시간 정보 및 상기 인증 판단기의 이벤트 발생 시간 정보는, 상기 인증 판단기 및 상기 인증 요청기에 포함된 적어도 하나의 버튼을 함께 누르거나 떼는 시점이고, 상기 제1 시간값은 상기 인증 요청기의 버튼을 통해 이벤트가 발생된 시작 시간이며, 상기 제2 시간값은 상기 인증 판단기의 버튼을 통해 이벤트가 발생된 시작 시간이고,
    상기 인증여부를 결정하는 단계는, 상기 제1 시간값과 상기 제2 시간값의 차이 값을 계산하고, 상기 제1 시간값과 상기 제2 시간값의 차이 값과 기 설정된 임계값을 비교한 결과 및 상기 인증 판단기 및 상기 인증 요청기의 버튼이 눌려진 시간에 대한 정보들을 더욱 고려하여 상기 인증여부를 결정하는 것을 특징으로 하는 사용자 인증 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 인증 판단기와 상기 인증 요청기의 시간은 동기화되며, 상기 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기와 상기 인증 판단기 각각의 버튼을 통한 이벤트 발생 절대 시간인 것을 특징으로 하는 사용자 인증 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기와 상기 인증 판단기 각각의 버튼을 통한 복수의 이벤트 발생 상대 시간인 것을 특징으로 하는 사용자 인증 방법.
  6. 제 5 항에 있어서,
    상기 제1 시간값 및 제2 시간값은 상기 인증 요청기 및 상기 인증 판단기 각각에서 발생되는 이벤트들의 발생 시간 간격 값으로서 제1 시간 간격 값 및 제2 시간 간격 값을 포함하는 것을 특징으로 하는 사용자 인증 방법.
  7. 제 6 항에 있어서,
    상기 인증여부를 결정하는 단계는 상기 제1 및 제2 시간 간격 값의 최대, 최소 또는 평균을 이용하여 산출되는 값이 상기 임계값 이하인 경우 인증을 결정하는 것을 특징으로 하는 사용자 인증 방법.
  8. 제1 난수를 생성하는 인증 요청기 및 제2 난수를 생성하는 인증 판단기를 이용하여 인증 절차를 수행하기 위한 이벤트가 발생하고, 상기 인증 판단기가 상기 제2 난수를 생성하여 상기 인증 요청기로 전달한 후, 상기 인증 요청기가 상기 전달 받은 제2 난수 및 상기 제1 난수를 논리합하여 논리합 값을 산출하고, 상기 인증 요청기로부터 상기 산출된 논리합 값, 상기 제1 난수 및 상기 인증 요청기의 이벤트 발생 시간 정보로서 제1 시간값을 입력 받는 입력부; 및
    상기 제1 시간값 및 상기 인증 판단기의 이벤트 발생 시간 정보로서 제2 시간값과, 상기 제1 시간값을 비교하여 인증여부를 결정하는 인증부를 포함하되,
    상기 인증 요청기의 이벤트 발생 시간 정보 및 상기 인증 판단기의 이벤트 발생 시간 정보는, 상기 인증 판단기 및 상기 인증 요청기에 포함된 적어도 하나의 버튼을 함께 누르거나 떼는 시점이고, 상기 제1 시간값은 상기 인증 요청기의 버튼을 통해 이벤트가 발생된 시작 시간이며, 상기 제2 시간값은 상기 인증 판단기의 버튼을 통해 이벤트가 발생된 시작 시간이고,
    상기 인증부는, 상기 제1 시간값과 상기 제2 시간값의 차이 값을 계산하고, 상기 제1 시간값과 상기 제2 시간값의 차이 값과 기 설정된 임계값을 비교한 결과 및 상기 인증 판단기 및 상기 인증 요청기의 버튼이 눌려진 시간에 대한 정보들을 더욱 고려하여 상기 인증여부를 결정하는 것을 특징으로 하는 인증 판단기.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 인증 판단기와 상기 인증 요청기의 시간은 동기화되며, 상기 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기와 상기 인증 판단기 각각의 버튼을 통한 이벤트 발생 절대 시간인 것을 특징으로 하는 인증 판단기.
  11. 삭제
  12. 제 8 항에 있어서,
    상기 제1 시간값 및 상기 제2 시간값은 상기 인증 요청기와 상기 인증 판단기 각각의 버튼을 통한 복수의 이벤트 발생 상대 시간인 것을 특징으로 하는 인증 판단기.
  13. 제 12 항에 있어서,
    상기 제1 시간값 및 제2 시간값은 상기 인증 요청기 및 상기 인증 판단기 각각에서 발생되는 이벤트들의 발생 시간 간격 값으로서 제1 시간 간격 값 및 제2 시간 간격 값을 포함하는 것을 특징으로 하는 인증 판단기.
  14. 제 13 항에 있어서,
    상기 인증부는 상기 제1 및 제2 시간 간격 값의 최대, 최소 또는 평균을 이용하여 산출되는 값이 상기 임계값 이하인 경우 인증을 결정하는 것을 특징으로 하는 인증 판단기.
  15. 삭제
KR1020130015978A 2013-02-14 2013-02-14 사용자 인증 방법 및 인증 판단기 KR102052518B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130015978A KR102052518B1 (ko) 2013-02-14 2013-02-14 사용자 인증 방법 및 인증 판단기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130015978A KR102052518B1 (ko) 2013-02-14 2013-02-14 사용자 인증 방법 및 인증 판단기

Publications (2)

Publication Number Publication Date
KR20140102526A KR20140102526A (ko) 2014-08-22
KR102052518B1 true KR102052518B1 (ko) 2019-12-05

Family

ID=51747307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130015978A KR102052518B1 (ko) 2013-02-14 2013-02-14 사용자 인증 방법 및 인증 판단기

Country Status (1)

Country Link
KR (1) KR102052518B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371743A (zh) * 2020-02-21 2020-07-03 上海红神信息技术有限公司 一种安全防御方法、装置及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100723862B1 (ko) * 2005-11-05 2007-05-31 한국전자통신연구원 전자식별 접근제어 방법 및 이를 위한 전자식별 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990009965A (ko) * 1997-07-14 1999-02-05 정명식 타자 패턴을 이용한 사용자 인증 방법
KR101145913B1 (ko) * 2010-07-20 2012-05-16 충남대학교산학협력단 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법
KR20120078804A (ko) * 2011-01-03 2012-07-11 삼성전자주식회사 휴대 단말기에서 전자 서명을 이용한 사용자 인증 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100723862B1 (ko) * 2005-11-05 2007-05-31 한국전자통신연구원 전자식별 접근제어 방법 및 이를 위한 전자식별 시스템

Also Published As

Publication number Publication date
KR20140102526A (ko) 2014-08-22

Similar Documents

Publication Publication Date Title
US11818681B2 (en) Methods and architectures for secure ranging
US10567428B2 (en) Secure wireless ranging
US20020197979A1 (en) Authentication system for mobile entities
US20170078263A1 (en) Systems, Methods and Apparatuses for Ensuring Proximity of Communication Device
KR101835863B1 (ko) 무선 장치들에 대한 액세스를 제어하는 방법 및 시스템
CN107690642A (zh) 无线通信
KR20070091266A (ko) 구별되는 랜덤한 시도들을 사용하는 부트스트랩 인증
US20180288092A1 (en) Protection from relay attacks in wireless communication systems
JP7114413B2 (ja) 認証システム及び認証方法
US8724810B2 (en) Method for authenticating onboard units
JP2023118733A (ja) 不正通信防止システム及び不正通信防止方法
Mayrhofer et al. Security by spatial reference: Using relative positioning to authenticate devices for spontaneous interaction
CN113989958A (zh) 数字钥匙共享系统、方法及装置、车辆及存储介质
KR102052518B1 (ko) 사용자 인증 방법 및 인증 판단기
CN105828330B (zh) 一种接入方法及装置
JP2018059308A (ja) 無線通信正否判定システム
JP7141723B2 (ja) 無線通信システムを介してアクチュエータを制御するための装置、システムおよび方法
Kang et al. Button‐based method for the prevention of near field communication relay attacks
US11003744B2 (en) Method and system for securing bank account access
US11751062B1 (en) Security apparatus and methods for wireless data exchange
EP2965488A1 (en) Method and system for preparing a communication between a user device and a server
TWI732358B (zh) 安全地驗證與伺服器通訊的詢答機的方法
Daza et al. Laser: lightweight and secure remote keyless entry protocol
JP2020174347A (ja) 通信システム及び制御装置

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