KR102598529B1 - Ecc 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템 - Google Patents

Ecc 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템 Download PDF

Info

Publication number
KR102598529B1
KR102598529B1 KR1020210124165A KR20210124165A KR102598529B1 KR 102598529 B1 KR102598529 B1 KR 102598529B1 KR 1020210124165 A KR1020210124165 A KR 1020210124165A KR 20210124165 A KR20210124165 A KR 20210124165A KR 102598529 B1 KR102598529 B1 KR 102598529B1
Authority
KR
South Korea
Prior art keywords
authentication token
authentication
user terminal
affiliated store
terminal
Prior art date
Application number
KR1020210124165A
Other languages
English (en)
Other versions
KR20230040715A (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 KR1020210124165A priority Critical patent/KR102598529B1/ko
Publication of KR20230040715A publication Critical patent/KR20230040715A/ko
Application granted granted Critical
Publication of KR102598529B1 publication Critical patent/KR102598529B1/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/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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/80ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for detecting, monitoring or modelling epidemics or pandemics, e.g. flu
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/42Anonymization, e.g. involving pseudonyms
    • 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)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Pathology (AREA)
  • Epidemiology (AREA)
  • Data Mining & Analysis (AREA)
  • Primary Health Care (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템이 제공되며, 익명인증 서버로부터 익명인증(Anonymous Authentication)을 위한 인증토큰묶음(Authentication Token Cluster)을 ECC(Elliptic Curve Cryptography) 버터플라이 기법(Butterfly Technique)을 이용하여 발급받고, 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출한 하나의 인증토큰을, GPS 기반 각 위치별로 브로드캐스팅(Broadcasting)하는 사용자 단말, 사용자 단말에서 브로드캐스팅한 인증토큰을 수신하고, 수신된 인증토큰을 가맹점별 고유식별코드와 결합하여 업로딩하는 가맹점 단말 및 적어도 하나의 위치를 지정 및 저장하고, 적어도 하나의 위치별로 인증토큰을 사용자 단말에서 자동으로 브로드캐스팅하도록 세팅하는 초기설정부, 사용자 단말의 GPS 신호를 수집하고 GPS가 기 설정된 적어도 하나의 위치인 경우 사용자 단말에서 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출된 인증토큰을 브로드캐스팅하는 것을 모니터링하는 감시부, 가맹점의 고유식별코드와 결합된 인증토큰을 가맹점별로 수집하는 동선추적부를 포함하는 동선추적 서비스 제공 서버를 포함한다.

Description

ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템{A CONTACT TRACING SYSTEM TO ASSURANCE ANONYMITY BASED ON UNCONSCIOUS COMMUNICATION USING THE ELLIPTIC CURVE CRYPTOGRAPHY BUTTERFLY TECHNIQUE}
본 발명은 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템에 관한 것으로, 사용자가 수동으로 QR 코드를 스캔하지 않고도 사용자 단말의 백그라운드 모드로 인증토큰을 랜덤추출하여 자동으로 브로드캐스팅하며, 동선추적이 필요한 경우 인증토큰으로부터 위치정보를 수집하여 동선을 추적할 수 있는 시스템을 제공한다.
코로나19가 전 세계적으로 확산되자 각국은 국경을 봉쇄하고 이동을 차단하며 백신을 개발ㆍ접종하면서 적극적으로 대응하고 있고, 재택근무, 화상회의, 원격 진료, 원격 학습 등이 증가하면서 세계인들의 생활공간이 디지털 공간으로 확장되고 있다. 특히 주요국에서 확진자와 접촉한 사람들을 추적하여 진단하고 치료하기 위한 접촉 추적앱이 널리 활용되고 있는데, 확진자와 접촉한 사람 및 장소를 신속히 확인하고 자가 격리와 검사를 통해 확산 방지에 기여하고 있다. 한국의 경우 휴대전화 GPS 위치추적, 카드 사용내역 등 디지털 기술을 활용하여 역학조사와 접촉자 동선을 효과적으로 실행해 왔고, 해외입국자 등 자가격리 대상자들에 대해 2주 동안 의무적으로 자가격리자 안전보호 앱을 설치하도록 하여 해당자의 동선과 무단 이탈 등을 감시하고 있다. 이는 GPS을 활용하여 자가격리자가 격리장소를 이탈하면 격리자와 관리자에게 경보음을 제공하고 있는데, 이러한 효율성에도 불구하고 디지털 기술을 활용한 접촉 추적은 개인의 의료정보, 위치 정보를 활용하고 있어 개인정보 침해의 소지가 크다.
이때, 개인정보를 보호하면서 각 개인의 동선을 추적하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국등록특허 제10-2282352호(2021년07월26일 공고) 및 한국등록특허 제10-2232485호(2021년03월29일 공고)에는, 팬데믹 상황에서 추적대상자의 거주지 내 설치된 인공지능추적장치가 추적대상자의 동선과 확진자 동선이 일치하는지의 여부를 자동으로 체크하여 일치하는 경우에만 질병관리당국에 자동리포트를 함으로써 개인의 사생활을 보호하도록 하는 구성과, 분산형 동선추적장치가 추적대상자의 동선과 확진자 동선을 자동으로 체크하여 일치하는 경우에만 질병관리당국에 보고하도록 하는 구성이 각각 개시되어 있다.
다만, 상술한 구성은 동선의 겹침여부만을 자동으로 체크한다는 것일 뿐, 각 사용자가 임의의 장소에 입장하기 위해서는 여전히 QR 코드로 인증을 하거나 특정전화번호로 전화를 함으로써 사용자가 자각적(Conscious)으로 QR 코드를 실행시키거나 전화번호를 눌러 호(Call) 발신 신호음을 들은 후 끊는 단순수동 반복작업이 계속되어야 한다. 또, 상술한 구성은 개인정보를 보호한다고 기재는 되어 있지만 실질적으로 확진자가 다녀간 동선과 겹치는 불특정 다수를 조사하기 위해 해당 식당이나 편의점 등을 이용한 모든 대상자의 정보를 얻게 되므로 개인정보보호는 커녕 유출의 염려가 더 커지는 구성만을 개시하고 있다. 이에, 사용자가 자각적으로 행위를 하지 않고도 무자각(Unconsciousness) 통신으로 위치 정보를 전송할 수 있으며, 위치 정보 수집시 개인 프라이버시 보장을 해 사용자의 식별 정보를 단말단에서 비실명 즉 익명화 처리하는 플랫폼 연구 및 개발이 요구 된다.
본 발명의 일 실시예는, 익명인증 서버로부터 익명인증(Anonymous Authentication)을 위한 인증토큰묶음(Authentication Token Cluster)을 ECC(Elliptic Curve Cryptography) 버터플라이 기법(Butterfly Technique)을 이용하여 발급받고, 사용자가 수동으로 QR 코드를 스캔하지 않고도 GPS 기반 기 설정된 위치에서 사용자 단말이 인증토큰묶음 내 랜덤하게 추출된 어느 하나의 인증토큰을 백그라운드 모드로 브로드캐스팅하고, 가맹점 단말은 인증토큰을 수집한 후 사용자 단말의 동선추적이 필요한 경우 수집된 인증토큰을 제공하거나 실시간으로 전송함으로써 개인식별정보는 제외한 익명 인증토큰을 이용하여 동선을 추적할 수 있는, ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 익명인증 서버로부터 익명인증(Anonymous Authentication)을 위한 인증토큰묶음(Authentication Token Cluster)을 ECC(Elliptic Curve Cryptography) 버터플라이 기법(Butterfly Technique)을 이용하여 발급받고, 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출한 하나의 인증토큰을, GPS 기반 각 위치별로 브로드캐스팅(Broadcasting)하는 사용자 단말, 사용자 단말에서 브로드캐스팅한 인증토큰을 수신하고, 수신된 인증토큰을 가맹점별 고유식별코드와 결합하여 업로딩하는 가맹점 단말 및 적어도 하나의 위치를 지정 및 저장하고, 적어도 하나의 위치별로 인증토큰을 사용자 단말에서 자동으로 브로드캐스팅하도록 세팅하는 초기설정부, 사용자 단말의 GPS 신호를 수집하고 GPS가 기 설정된 적어도 하나의 위치인 경우 사용자 단말에서 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출된 인증토큰을 브로드캐스팅하는 것을 모니터링하는 감시부, 가맹점의 고유식별코드와 결합된 인증토큰을 가맹점별로 수집하는 동선추적부를 포함하는 동선추적 서비스 제공 서버를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자가 수동으로 QR 코드를 스캔하지 않고도, 사용자 단말이 인증토큰 묶음 내 랜덤하게 추출된 어느 하나의 인증토큰을 백그라운드 모드로 브로드캐스팅함으로써 사용자의 편의성을 제공하면서, 다량의 익명 인증토큰을 사용함으로써 특정 시스템을 제외하고는 위치 추적이 불가하므로 개인 프라이버시를 보호할 수 있다.
도 1은 본 발명의 일 실시예에 따른 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 동선추적 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 무자각 통신 기반 비실명 동선추적 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 무자각 통신 기반 비실명 동선추적 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템(1)은, 적어도 하나의 사용자 단말(100), 동선추적 서비스 제공 서버(300), 적어도 하나의 가맹점 단말(400), 적어도 하나의 익명인증 서버(500)를 포함할 수 있다. 다만, 이러한 도 1의 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(Network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 동선추적 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 동선추적 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 가맹점 단말(400), 적어도 하나의 익명인증 서버(500)와 연결될 수 있다. 또한, 적어도 하나의 가맹점 단말(400)은, 네트워크(200)를 통하여 동선추적 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 적어도 하나의 익명인증 서버(500)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 동선추적 서비스 제공 서버(300) 및 적어도 하나의 가맹점 단말(400)과 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 무자각 통신 기반 비실명 동선추적 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 익명인증 서버(500)로부터 인증토큰묶음을 수신하는 단말일 수 있다. 그리고, 사용자 단말(100)은, 적어도 하나의 장소에 위치한 적어도 하나의 가맹점 단말(400)로 인증토큰묶음 중 랜덤하게 추출된 인증토큰을 브로드캐스팅하는 단말일 수 있다. 이 과정은 사용자 단말(100)의 가속도 센서의 신호에 기반하여 웨이크업(Wakeup)되고, 사용자 단말(100)에서 백그라운드 모드로 가속도 센서에서 이동이 파악되는 경우 GPS를 자동으로 턴 온시키고, 거주지로 표시된 장소 이외의 장소로 이동하는 경우에 인증토큰을 랜덤추출 및 브로드캐스팅하도록 자동세팅된 단말일 수 있다. 본 발명의 서비스를 웨이크업시키는 트리거(Trigger)는 사용자 단말(100)의 가속도 센서에서 이동이 기 설정된 임계치를 초과하는 경우일 수 있으나 이에 한정되지는 않는다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 사용자 단말(100)에서 사용되는 통신 기반은 근거리 통신 기반의 통신을 활용하여 가맹점에 설치된 단말과 통신을 할 수 있으며, Wi-Fi, Bluetooth, NFC 등 근거리 통신기법을 채택할 수 있다.
동선추적 서비스 제공 서버(300)는, 무자각 통신 기반 비실명 동선추적 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 동선추적 서비스 제공 서버(300)는, 익명인증 서버(500)에서 사용자 단말(100)이 인증토큰묶음을 수신하여 저장한 경우, 사용자 단말(100)에서 자동으로 무자각 통신, 즉 백그라운드 모드로 인증토큰을 랜덤추출 및 브로드캐스팅할 수 있는 초기세팅을 진행하는 서버일 수 있다. 또한, 동선추적 서비스 제공 서버(300)는, 가맹점 단말(400)에서 수집한 인증토큰을 실시간 또는 주기적으로 수집하거나 관계기관 서버(미도시)가 요청하는 경우 수집하는 서버일 수 있다. 그리고, 동선추적 서비스 제공 서버(300)는, 관계기관 서버에서 사용자를 특정하고 익명인증 서버(500)로부터 수신된 사용자의 인증토큰묶음을 전달하며 동선추적을 요청하는 경우, 가맹점 단말(400)로부터 수신된 [인증토큰-위치정보]와 인증토큰묶음 내 인증토큰을 비교하여 일치하는 인증토큰에 매핑된 위치정보를 추출하고 관계기관 서버로 제공하는 서버일 수 있다.
여기서, 동선추적 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 가맹점 단말(400)은, 무자각 통신 기반 비실명 동선추적 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 브로드캐스팅된 인증토큰을 수신하고 동선추적 서비스 제공 서버(300)로 위치정보 및 가맹점의 고유식별코드와 함께 매핑하여 [인증토큰-위치정보-고유식별코드]의 데이터 형태로 전달하는 단말일 수 있다. 그리고, 가맹점 단말(400)은 사용자 단말(100)에서 NFC 등의 근거리통신을 통하여 접촉한 경우 가맹점 단말(400)에서 사용자 단말(100)이 전송한 인증토큰을 받았는지의 여부를 알림음으로 출력하는 단말일 수 있다.
여기서, 적어도 하나의 가맹점 단말(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 가맹점 단말(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 가맹점 단말(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
적어도 하나의 익명인증 서버(500)는, 무자각 통신 기반 비실명 동선추적 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하거나 이용하지 않고 사용자 단말(100)에서 인증토큰묶음을 요청하는 경우 대량의 인증토큰을 하나의 클러스터(묶음)로 그룹핑하여 사용자 단말(100)로 발급해주는 서버일 수 있다. 그리고, 익명인증 서버(500)는 관계기관 서버로부터 사용자를 특정하여 사용자 단말(100)로 발급된 인증토큰묶음을 요청하는 경우, 관계기관 서버로 전달하는 서버일 수 있다.
여기서, 적어도 하나의 익명인증 서버(500)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 익명인증 서버(500)는 IDC나 기타 특정 장소에 설치하고, 네트워크에 연결 되어 있으며, 초기 설정시 사용자 단말(100)은 Wi-Fi나 무선 네트워크 AP(Access Point)를 통해 익명인증 서버(500)와 연결을 할 수 있다. 여기서 WiFi나 AP를 통해 연결되는 부분은 모두 유선 네트워크 연결로 볼 수 있다.
도 2는 도 1의 시스템에 포함된 동선추적 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 무자각 통신 기반 비실명 동선추적 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 동선추적 서비스 제공 서버(300)는, 초기설정부(310), 감시부(320), 동선추적부(330), 추적협조부(340)를 포함할 수 있다.
본 발명의 일 실시예에 따른 동선추적 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100), 적어도 하나의 가맹점 단말(400) 및 적어도 하나의 익명인증 서버(500)로 무자각 통신 기반 비실명 동선추적 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100), 적어도 하나의 가맹점 단말(400) 및 적어도 하나의 익명인증 서버(500)는, 무자각 통신 기반 비실명 동선추적 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100), 적어도 하나의 가맹점 단말(400) 및 적어도 하나의 익명인증 서버(500)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
이하에서 도 2를 설명하기 이전에 본 발명의 일 실시예에 따른 무자각 통신 및 익명인증에 대한 기본개념을 설명한다. 후술되는 기본개념은 도 2를 설명하면서 중복하지 않는다.
<무자각 통신>
무자각 통신의 개념을 설명하기 이전에, 무자각 인증의 개념을 먼저 설명한다. 일반적인 인증방식은 사용자의 신원을 검증해야 할 때마다 명시적인 인증절차를 거쳐야 한다. 명시적 인증은 사용자에게 불편한 인증절차를 정기적으로 요구하기 때문에 편의성 문제가 있다. 또한, 명시적 인증을 통과한 이후 신원점검이 이루어지지 않기 때문에 해커의 인증수단도용이나 인증세션을 가로채는 공격에 취약하다. 이 때문에 원래 인증된 사용자의 신뢰성을 지속적으로 검증할 수 있는 새로운 인증방법이 연구되고 있다. 이러한 유형의 인증은 일반적으로 다양한 시점에서 시스템이 현재 사용자의 신원을 명시적이지 않은 방법으로 검증하려고 시도한다. 이러한 유형의 인증은 무자각 지속인증이라 하고, 행위 및 환경정보를 이용하여 사용자의 명시적 개입없이 지속적으로 신원을 검증하는 기술로 정의된다.
무자각 지속인증은 전통적인 명시적 인증의 한계를 극복한다. 지속적으로 사용자의 신원을 검증하기 때문에 명시적 인증절차를 통과하거나 인증세션을 가로챈 해커일지라도 접근을 차단할 수 있다. 무자각 지속인증을 제공하는 시스템은 두 가지 주요특성을 충족해야 한다. 첫 번째로 무자각 인증인데, 시스템은 현재 사용자에게 명시적인 고지없이 사용자의 신원을 모니터링하고 확인함으로써 정상적인 서비스 흐름을 방해하지 않고 작동해야 한다. 무자각적인 속성을 충족시키기 위해 대부분의 무자각 인증기술은 대부분 생체인식 기반의 인증을 사용한다. 두 번째로 지속 인증인데, 시스템은 지속적으로 사용자의 신원을 확인해야 한다. 사용자의 신원 검증은 시간 또는 이벤트를 기반으로 시작될 수 있으며, 시간 기반 모델에서 시스템은 사전에 정의된 시간 간격에 따라 현재 사용자의 신원을 확인하려고 시도하고, 이벤트 기반 모델에서 시스템은 특정 이벤트 발생 또는 시스템의 상태정보 변경에 따라 현재 사용자의 신원을 확인하려고 시도한다.
무자각 지속인증의 기본 프로토콜은 다음과 같다. ① 관찰 단계에서는 시스템은 사용자와의 상호작용에서 무자각적으로 모니터링하고 사용자 특화된 속성으로 알려진 데이터 요소를 수집한다. ② 프로파일 생성 및 업데이트 단계에서는, 시스템은 사용자 프로파일 저장소를 참조하여 현재 사용자 프로파일이 있는지를 확인하고, 이전에 시스템과 상호작용한 사용자 프로파일이 없으면 새 사용자 프로파일을 작성하고 수집된 데이터로 갱신한다. 사용자 프로파일이 발견되면 수집된 데이터로 검색한 뒤 갱신한다. ③ 비교 단계에서는 시스템은 사용자가 실제로 사용자 본인이 맞는지를 판단하는데, 저장된 사용자 프로파일과 새로 수집된 데이터 간 기계학습 알고리즘을 적용하여 결정을 내릴 수 있다. ④ 결정 단계에서는 시스템은 사용자와 계속 상호작용할 것인지를 결정하고 기계학습 알고리즘이 현재 데이터를 인증된 사용자에 속하는 것으로 분류하면, 승인 결정을 내리고 아니라면 거부 결정을 내린다. 거부 결정인 경우 시스템은 사용자의 시스템 접근 잠금, 시스템 관리자에게 경고, 사용자에게 재인증 요청 등의 다양한 조치를 정책에 따라 수행할 수 있다.
본 발명의 일 실시예에 따르면, 사용자 단말(100)은 우선 타 기관을 통한 신뢰성이 확보가 되어있음을 전제로 하고, 동선 저장 및 추적 시스템에서는 신뢰성을 확인할 수 있는 정보와 익명성을 보장하는 정보를 저장하고 있는 일반적인 방법으로 이들 간의 관계를 알 수 없다. 동선 추적을 위해서는 시드키를 활용하여 생성된 익명인증토큰 정보 기반으로 이들간의 맵핑 관계를 분석하여 동선을 추적함으로써, 사실상 시드키를 모르는 상황에서는 아무도 특정 사용자 단말(100)의 정보를 획득할 수 없다.
즉, 익명 인증토큰을 요청하기 전에 이미 사용자 단말(100)은 카카오, 별도 인증 기술을 통해 인증이 되어있는 것을 전제로 익명 인증토큰을 요청한다. 익명인증토큰을 가진 사용자 단말(100)은 익명 인증토큰을 사용하여 가맹점 출입 시 무자각 통신을 통해 자신의 정보를 브로드캐스팅하고, 가맹점 단말(400)에서는 사용자 단말(100)의 정보를 수신하여 동선 저장 및 추적 시스템에 전송하여 저장 관리한다. 이때 익명 인증토큰을 사용하여 브로드캐스팅 하기때문에 다른 시스템에서는 사용자 단말(100)의 정보를 일반적으로 확인할 수 없다. 사용자 단말(100)의 정보를 알고자 할 때는 사용자 단말(100)의 시드키 값을 활용하여 익명인증 서버(500)에서 인증토큰 정보 셋을 받고 인증 정보 토큰 정보를 위치 추적 시스템에 전송해서 확인을 해야 하기 때문에 특정이 불가하다.
상술한 무자각의 개념을 이용하여 사용자가 각 상점이나 마트, 가게, 교회, 헬스장 등에 출입할 때 QR 코드를 이용하여 일일이 입장 확인을 하지 않더라도, 사용자 단말(100)에서 자동으로 백그라운드 모드로 동작하여 인증토큰을 가맹점 단말(400)로 브로드캐스팅되도록 함으로써, 사용자가 직접 화면을 조작하거나 스캔하는 과정 없이도 각 사용자 단말(100)의 동선을 추적할 수 있는 인증토큰을 각 가맹점 단말(400)에서 수집할 수 있도록 한다. 이때, 후술할 익명 개념을 도입하여 익명 인증토큰을 브로드캐스팅하기 때문에 관계기관, 예를 들어 보건당국에서 사용자를 특정하여 요청을 하기 전까지는 익명인증 서버(500)에서는 동선을 모르고, 동선추적 서비스 제공 서버(300)와 가맹점 단말(400)에서는 사용자를 특정할 수 없다. 이에 따라 개인을 특정하거나 정보를 조합하여 식별할 수 없고 특히 랜덤으로 인증토큰을 인증토큰묶음으로부터 추출하기 때문에 대조군이 많아 각 개별서버나 단말에서는 개인을 식별할 수 없게 된다.
<익명인증>
암호학적 관점에서, 익명성을 제공하는 프리미티브의 연구는 다양하게 진행되고 있다. 익명성을 지원하는 대표적인 서명 방법으로 그룹 서명(Group Signature), 링 서명(Ring Signature) 및 추적 가능한 서명(Traceable Signature)을 꼽을 수 있다. 그룹 서명은 사용자(Signer)가 자신의 신원을 노출하지 않으면서 그룹에 속해 있음을 증명할 수 있는 기술로써, 서명을 검증하는 쪽(Verifier)에서는 특정 그룹의 멤버 중 한 사람이 서명을 했고, 그 서명이 유효함을 알 수 있지만, 그룹 멤버 중 누가 그 서명을 했는지에 대해서는 알 수 없기 때문에 익명성이 보장된다. 다만, 그룹 마스터키를 소유한 그룹 매니저(Group Manager)만이 서명 값으로부터 서명을 생성한 그룹 멤버를 알아 낼 수 있다. 링 서명은 키를 가진 멤버들은 모두 익명으로 서명이 가능하지만, 그룹 매니저의 개념이 없기 때문에 서명 생성자를 알 수 없으며, 멤버 탈퇴(Revocation) 기능을 지원하지 않는다는 점에서 그룹서명과 차이가 있다. 또한 추적 가능한 서명은 그룹 서명처럼 그룹 매니저가서명 값으로부터 서명한 사람을 알 수 있지만, 서명자 본인 또한 원하는 경우 특정 서명에 대해서 자신이 서명한 것임을 밝힐 수 있다는 점에서 그룹서명과 차이가 있다.
신용장 시스템(Credential System)이란 사용자가 기관들로부터 신용장(Credentials)을 획득할 수 있고, 이들 신용장을 가지고 있음을 알릴 수 있는 시스템을 말한다. 또한 동일한 사용자가 하는 행동들이 동일한 사용자에 의해 이루어지는 행동임을 다른 사람들이 모를 때 익명 신용장 시스템(Anonymous Credential System)이라고 한다. 익명 디지털 신용장(Anonymous Digital Credential)의 메인 아이디어는 암호 토큰(Cryptographic Token)을 받은 사용자가 익명으로, 그리고 공공기관 및 사적인 기관과 그 사용자에 대한 연관관계를 밝히지 않고, 자신의 신분 및 자신에 대한 정보들을 증명할 수 있도록 하는 것이다. 따라서 익명 디지털 신용장은 프라이버시와 익명성(Anonymity)과 관련되어 있다. 이러한 신용장(Credential)과 유사한 것을 실생활에서 찾는다면 여권, 운전 면허증, 화폐 등이 있을 수 있다.
SCMS(Security Credential Management System)의 SCMS 매니저는 전체 시스템을 관리하고 전반적인 표준화를 보장하며 전체적인 활동을 모니터링한다. 전체적인 구성은 기존 PKI 인증체계와 유사하게 최상위인증기관인 RCA(Root Certificate Authority), 중간인증기관인 ICA(Intermediate Certificate Authority), 및 단말인증기관이 있으며 익명에 특화된 익명인증기관인 PCA(Pseudonym Certificate Authority)가 별도로 존재하고 오작동하는 단말을 판별하기 위한 부정방지기관인 MA(Misbehavior Authority) 등이 존재한다.
RCA는 다른 모든 CA에 대한 마스터 루트로 가장 신뢰할 수 있는 최상위 인증기관이다. 이러한 RCA를 보호하기 위한 중간 기관인 ICA(Intermediate Certificate Authority)를 두고 있는데, ICA는 중간에서 RCA의 권한을 이용하여 다른 인증서 관리 엔티티를 인증할 수는 있지만 자체 인증서를 서명하는 것은 불가하다. 익명인증기관인 PCA는 통신에서 단말 간 메시지를 서명하는 유효기간이 짧은 익명인증서(Short-Term Certificate)를 발급한다. PCA에서 발급된 익명인증서는 보낸 기기에서 메시지인 BSM(Basic Safety Message)에 전자서명하여 전송하고, 받은 기기는 메시지에 포함된 전자서명을 검증하여 상대기기에 대한 인증을 수행하는 목적으로 사용한다.
익명인증서를 발급할 때 MA(Misbehavior Authority), RA(Registration Authority), LA(Linkage Authority)와 협력하여 발급하고, LA를 통해 인증서 폐지시 인증서폐지목록에 들어갈 Linkage 값을 만든다. 부정방지기관인 MA는 각 단말의 잘못된 행동을 판단하는 기관으로 여러 기관들과 연결되어 정보를 주고받으며 오동작을 판단한다. LA는 LA1, LA2 한 쌍으로 설계되어 있으며 등록기관인 RA와 PCA에게 링크값(Linkage Value)을 제공하는 역할을 한다. 링크값은 오동작이 생겼을 때 인증서의 폐기를 용이하게 하고 단말에서 인증서 검증시 효율성을 제공한다. LOP(Location Obscurer Proxy)는 특정 단말의 지리적 위치를 인식하지 못하도록 위치정보를 제거하는 개인정보 보안을 위한 시스템이다.
D2D(Device to Device) PKI 개념은 RCA, LTCA(Long-Term Certificate Authority) 및 PCA로 구성된다. RCA는 PKI의 신뢰지점(Trust Anchor)이고, RCA 인증서는 자체 서명이 되고, 공개키, 유효기간, 권한 정보 등이 포함된다. RCA는 다른 CA, CRL Signer 등의 인증기관 인증서 발급을 한다. RCA 인증서와 인증서 ID(인증서의 해쉬값)는 공개된다. LTCA는 단말의 등록 및 장기(Long-Term) 인증서 관리를 담당한다. PCA는 식별정보를 포함하지 않은 익명인증서를 발급하는 역할을 한다. RCA에 의해 CA 인증서를 발행하기 위해서는 LTCA와 PCA가 독립적으로 공공 및 개인키 쌍을 생성한다. 그리고 공개키는 적절한 인증서가 있는 RCA로 전송된다. 그리고, 공개키 뿐만 아니라 LTCA 및 PCA의 사용권한은 서명되지 않은 인증서 형식에 저장된다. 그 후 RCA는 자신의 Cert-ID를 서명자 ID로 추가하고, 개인키로 인증서에 서명을 한다. 그런 다음 서명된 인증서는 각각의 CA로 반환이 된다. RCA와 마찬가지로 LTCA와 PCA는 자신의 인증서 ID를 생성하고 그 후에 인증서를 발행한다. 특히 PKI의 오용을 방지하기 위해 개인키는 보호되어야 한다.
PCA에서 익명인증서를 요청하는데 이때 각 단말의 유효성을 판별하기 위한 장기인증서가 있다. 이는 LTCA에서 발행한 것이며 비교된 CA 인증서의 경우 LTC에 타당성 및 허가와 같은 정보나 서명자 ID(이 경우 LTCA Cert-ID)가 포함되어 있다. 만약 각 단말에서 LTC 수신한 경우 각 단말의 통신에서 사용할 수 있는 PCA에서 여러 개의 단기인증서를 요청할 수 있다. PC(Pseudonym Certificate)는 PCA의 Cert-ID를 서명자 ID와 함께 포함하며 권한과 같은 공개키를 추가로 포함한다. 추가적으로 관련 데이터 LTC와 PC, 또 각 단말은 CA(RCA, LTCA 및 PCA)의 인증서를 저장해야 하며 애드혹(Ad-Hoc) 네트워크를 통해 다른 단말과 통신하는 동안 모든 메시지 발신자의 인증서는 일시적으로 저장해야 한다. 미국 인증체계와 유럽 인증체계 간 주된 차이점은, 미국방식의 경우 등록기관인 RA와 연결되어지는 익명인증기관(Linkage Authority)이 필요한 구조이고, 유럽방식의 경우 익명인증서를 전용으로 발급하는 익명인증기관(Pseudonym Certificate Authority)을 적용하는 구조이다.
본 발명의 일 실시예에서는 익명인증 서버(500)로, PCA(Pseudonym Certificate Authority), LA(Linkage Authority), TA(Trusted Authority), RA(Registration Authority)를 이용하고, 익명인증서인 PC(Pseudonym Certificate)를 익명의 인증토큰으로 제공하며 익명성을 제공하기로 한다. 이때, TA는 신뢰기관이다. 각 사용자의 사용자 단말(100)로는 익명인증 서버(500)로부터 다량 및 대량의 인증토큰이 제공되고, 이는 묶음(Cluster)으로 제공되도록 하며, 각 사용자 단말(100)에서 백그라운드 모드로 서비스를 웨이크업 시킨 후에 기 설정된 GPS에서 또는 기 설정된 가맹점 단말(400)의 위치에서 인증토큰묶음 중 어느 하나의 인증토큰을 랜덤으로 추출한 후 브로드캐스팅시킴으로써 가맹점 단말(400)에서 사용자 단말(100)이 뿌린 인증토큰을 수신하여 저장할 수 있도록 한다.
상술한 기본개념을 기반으로, 본 발명의 핵심 포인트를 설명하면, 첫 번째로 무자각 통신 기반으로 데이터를 전송하는 기술이다. 두 번째로는 다량의 익명 인증토큰을 활용하여 사용자 단말(100)을 신뢰하면서, 사용자 단말(100)의 특정 패턴을 추적 할 수 없도록 하는 것이다. 본 발명의 핵심은 다량의 익명 인증토큰을 사용한다는 점인데, 유사한 기술이 IEEE 1609.2.1에 개시되어 있다. IEEE 1609.2.1의 기술에서 익명 인증서를 발급하면 이를 사용하는 특정 차량의 위치 정보를 각 기관에서 알수 없으며 시드키를 활용하여 여러 기관에 정보를 요청하여 이를 맵핑하여 특정 차량의 위치 정보를 파악 할 수 있다. 실제로 익명 인증 토근 생성시 인증토큰의 연관성을 유추할 수 있는 기술이 ECC 버터플라이 기법이다.
본 발명은 ECC 버터플라이 기법을 이용한 무자각 통신 기반의 비실명 동선 저장 및 추적 시스템에 관한 것으로 사용자가 애플리케이션을 조작하여 QR 코드를 스캔하지 않고도 사용자 단말(100)의 백그라운드 모드로 비실명화된 인증토큰 정보 및 위치 정보를 자동으로 브로트캐스팅하고, 수집된 위치 정보를 통해 동선을 추적하는 시스템을 제공한다. 본 발명의 핵심은 ECC 버터플라이 기법을 사용하여 익명화된 인증토큰 묶음을 생성 및 발행하고, 익명화된 인증토큰을 사용하여 사용자의 위치 정보를 브로드캐스팅하여 저장관리한다. 여기서 특징은 익명화된 인증 정보를 사용하기 때문에 인증토큰의 시드키 값 없이는 개인의 동선을 알 수 없는게 특징이다. 이때, ECC(Elliptic Curve Cryptography)는 타원곡선암호를 의미하고, 대량의 인증토큰을 생성하는 기법이다.
본 발명의 일 실시예는 사용자가 수동으로 애플리케이션을 조작하여 QR 코드를 스캔하지 않고도 익명화된 인증토큰을 포함한 위치 정보를 와이파이, 블루투스, NFC 등의 전송 방식으로 브로드캐스팅 한다. 이때 개인 프라이버시를 보장하기 위해 익명화된 인증토큰을 랜덤하게 사용한다. 익명화된 인증토큰을 포함한 위치정보를 수신한 가맹점 단말(400)은 수신된 정보를 수집하여 동선 추적 관리 시스템에 저장관리 한다. 동선 추적 관리 시스템은 위치정보는 관리하고 있으나, 인증토큰의 익명성을 인해 개인 식별은 되지 않기 때문에 개인 프라이버시를 보장한다. 동선 추적을 원하는 경우 동선 추적을 원하는 인증토큰 정보를 익명인증 서버(500)로부터 전달 받고, 전달받은 인증토큰 묶음 정보를 동선 추적 관리 시스템에 전송하여 위치정보를 전달받아 동선을 추적할 수 있다.
상술한 기본개념을 기반으로 도 2를 참조하면, 초기설정부(310)는, 적어도 하나의 위치를 지정 및 저장하고, 적어도 하나의 위치별로 인증토큰을 사용자 단말(100)에서 자동으로 브로드캐스팅하도록 세팅할 수 있다. 사용자 단말(100)은, 익명인증 서버(500)로부터 익명인증(Anonymous Authentication)을 위한 인증토큰묶음(Authentication Token Cluster)을 발급받고, 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출한 하나의 인증토큰을, GPS 기반 각 위치별로 브로드캐스팅(Broadcasting)할 수 있다. 이때, 인증토큰묶음이란, 사용자 단말(100)에서 익명인증 서버(500)로 시드키(SeedKey)를 전송하면, 시드키를 이용하여 익명인증 서버(500)에서 인증토큰을 대량으로 발급한 것을 하나로 묶은 것(Cluster)을 의미한다. 예를 들어 대량의 의미가 10 만개라고 가정하면, [인증토큰1, 인증토큰2,...인증토큰10만]이 한 세트로 한 묶음이 된다. 여기서, 시드키란, 랜덤함수에서 무작위로 출력되는 출력값을 얻기 위해 입력하는 초기값을 의미한다. 즉 사용자 단말(100)에서 시드키를 익명인증 서버(500)로 전달하면, 익명인증 서버(500)는 시드키(초기값)를 이용하여 대량의 인증토큰(출력값)을 발급하게 된다.
<인증토큰 브로드캐스팅 위치설정 & 웨이크업 트리거 세팅>
이때, 적어도 하나의 위치를 지정 및 저장하는 이유는, 사용자 단말(100)에서 어느 지점(GPS)에서 인증토큰을 브로드캐스팅할 것인지를 알아야 하기 때문이다. 만약 이를 저장하지 않는다면 다시 사용자는 자각 통신, 즉 사용자가 일일이 버튼을 눌러 인증토큰을 전달해야 하고 이는 무자각 통신, 즉 사용자 단말(100)에서 사용자의 개입없이 알아서 전송하는 시스템이 아니다. 이에 따라, 가맹점 단말(400)이 설치된 위치는 어디인지, 각 가맹점의 고유식별코드는 무엇인지, 몇 분 동안 머무르면 브로드캐스팅을 할 것인지를 설정해야 한다. 우선, 사용자 단말(100)의 GPS를 턴 온 시키기 위해서는 웨이크업 신호가 존재해야 한다. 즉 트리거가 필요한데, 사용자가 만약 GPS를 꺼놨다고 할지라도 GPS 신호를 다시 켜야 하는 시점에 대한 세팅이 필요하다. 이는 사용자 단말(100)에서 가속도 센서, 지자기 센서 등을 이용하여 기 설정된 가속도를 넘거나 임계치를 초과하는 경우 GPS를 자동으로 턴 온 시킬 수 있다. 사용자가 이동하고 있다고 추정하는 것이다.
<NFC 태그로 입장체크 확인>
그리고, 사용자 단말(100)에서 GPS를 켰다고 해도 그 다음 언제 인증토큰을 브로드캐스팅할 것인지를 세팅해야 한다. 예를 들어 사용자가 A 편의점, 즉 미리 등록된 가맹점 단말(400)의 위치에 위치한 경우 브로드캐스팅을 한다고 설정해두는 경우, 사용자가 A 편의점으로 들어간 순간 사용자 단말(100)은 인증토큰묶음에서 랜덤하게 하나의 인증토큰을 추출한 후 A 편의점의 가맹점 단말(400)로 전송할 수 있다. 이때, A 편의점의 가맹점 단말(400)은 "삑-입장체크되었습니다"라는 안내음을 출력할 수 있다. 만약 다수가 존재하여 누구의 인증토큰이 가맹점 단말(400)로 전송되었는지를 모르는 경우가 있다면, 가맹점 단말(400)의 NFC 리더기에 접촉을 하는 경우 가맹점 단말(400)에서 사용자 단말(100)의 NFC 태그를 리딩하고, 사용자 단말(100)에서 인증토큰을 전송했다면 "삑-입장체크되었습니다"라는 안내음을 전송하는 방법으로 확인을 할 수도 있다. 이때, NFC 태그에는 사용자 단말(100)이 현 위치(GPS)에서 인증토큰을 브로드캐스팅했는지의 여부가 기록되어 있을 수 있다.
만약, 각 가게가 너무 인접해있어서 GPS 오차로 다른 가게의 가맹점 단말(400)로도 사용자 단말(100)의 인증토큰이 브로드캐스팅되었을지라도 사용자 단말(100)이 가맹점 단말(400)로 접촉한 후 "삑-입장체크되었습니다"라는 알림음이 나온 인증토큰만을 가맹점 단말(400)에서 수집 및 동선추적 서비스 제공 서버(300)로 전달되게 함으로써 사용자의 개입이 최소화되도록 설정할 수 있다. 다만, 사용자 단말(100)을 사용자가 직접 가맹점 단말(400)로 접촉을 하는 것은 엄밀한 의미의 무자각 통신은 아니지만, 사용자의 개입이 최소화되고 인증토큰의 브로드캐스팅이라는 통신 자체가 사용자의 개입에 의해 일어나는 것은 아니므로 본 발명의 무자각 통신의 개념으로 포괄하도록 한다.
정리하면, 사용자 단말(100)은, ① 가속도 센서 또는 지자기 센서에 의해 움직임이 감지되면 GPS를 자동으로 턴 온 시키고, ② 기 설정된 GPS 좌표가 사용자 단말(100)의 GPS 좌표와 일치하는 경우, ③ 인증토큰묶음 내 포함된 복수의 인증토큰 중 랜덤하게 어느 하나의 인증토큰을 추출하며, ④ 추출한 인증토큰을 브로드캐스팅하고, ⑤ GPS 및 브로드캐스팅 이벤트를 NFC 태그에 기록(Writing)하고, ⑥ 가맹점 단말(400)의 NFC 리더기에 의해 리딩된다. 가맹점 단말(400)은 NFC 태그에 기록된 GPS와 가맹점 단말(400)의 GPS를 비교하고 일치하는 경우 브로드캐스팅 이벤트가 존재했는지를 확인하며, 전자가 일치하고 후자가 존재한다면 "삑-입장체크되었습니다"라는 알림음을 알리고, 알림음이 울린 인증토큰만 로그로 저장하고 주기적 또는 실시간으로 동선추적 서비스 제공 서버(300)로 업로드하게 된다. ① 내지 ⑤ 까지의 과정을 초기설정부(310)에서 설정하게 되고, 이는 사용자 단말(100)에서 본 발명의 일 실시예에 따른 애플리케이션을 다운로드받고 설치하면 초기설정부(310)를 통하여 자동으로 세팅되도록 구현될 수 있다.
<백그라운드 모드>
이때, 사용자 단말(100)의 각 위치별 브로드캐스팅은, 각 위치별로 자동으로 백그라운드 모드(Background Mode)로 실행되어 무자각 통신을 구현할 수 있다. 이때, 백그라운드 모드는 포어그라운드(Foreground Mode)의 반대말로 화면 상에서는 구동되는 것을 모르지만 시스템 내부적으로 구동되고 있는 모드를 의미한다. 이에, 사용자에게 보이지 않는 모든 앱은 백그라운드 앱으로 정의된다. 이에 따라 사용자 단말(100)의 사용자는 자신이 입장확인을 위해 인증토큰묶음으로부터 인증토큰을 랜덤으로 추출하는 중인지, 랜덤으로 추출된 인증토큰이 브로드캐스팅되고 있는지 확인할 수 없으므로 사용자의 집중(Attention)을 요하지 않고 사용자도 자각하지 못하게 된다. 물론 포어그라운드 모드로 바꾸어 사용자가 이를 확인할 수 있도록 하고, 어느 가게, 즉 가맹점 단말(400)에 인증토큰을 브로드캐스팅했는지에 대한 로그를 볼 수 있도록 구현되는 것을 배제하는 것은 아니다.
감시부(320)는, 사용자 단말(100)의 GPS 신호를 수집하고 GPS가 기 설정된 적어도 하나의 위치인 경우 사용자 단말(100)에서 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출된 인증토큰을 브로드캐스팅하는 것을 모니터링할 수 있다. 이때, 랜덤하게 인증토큰을 추출할 때 랜덤함수 또는 양자난수를 이용하여 인증토큰을 추출할 수도 있다. 양자난수를 설명하면, 정보보호에서 필요로 하는 이상적인 난수는, 동전 던지기를 통해 얻는 수와 같이 예측불가능하고 독립적이며, 재발생이 불가능한 수이다. 이때의 난수가 이상적인 난수라 가정한 후 설계되므로, 안전한 난수를 생성할 수 있는 난수 발생기 사용이 필수적이다. 난수 발생기는, 주로 초기 씨드(Seed) 값으로부터 결정론적인 알고리즘을 통해 난수를 생성하는 의사난수발생기(Pseudo Random Number Generator; PRNG, Deterministic Random Bit Generator; DRBG)와, 예측하기 어려운 물리적 현상으로부터 난수를 생성하는 진난수발생기(True Random Number Generator, TRNG)로 분류된다.
<난수생성>
PRNG의 출력 난수는 입력인 씨드에 의해 결정되기 때문에 TRNG의 출력 난수를 씨드로 사용하는 것이 일반적이다. 반면, TRNG는 아날로그 데이터인 잡음원을 입력으로 사용하기 위해 디지털 데이터로 바꾸는 디지털화 과정이 수행되고, 디지털화 된 데이터의 바이어스를 줄이기 위하여 선택적으로 후처리 과정을 수행한 후 난수를 출력한다. 이상적인 난수의 출력은 난수발생기의 입력인 잡음원이 예측 불가능한 것에 의존하기 때문에, 엔트로피 소스(Entropy Source)로 사용되는 잡음원의 특성파악이 중요하다. 따라서, 물리적 특성의 잡음원이 가지는 바이어스를 줄이는 후처리 과정의 안전성 분석은 이상적인 난수를 출력하기 위해 반드시 고려되어야 하는 사항이다.
이때, 양자난수 알고리즘의 양자난수 발생기는, 양자정보의 예측불가능성을 이용하여 난수를 생성하는 TRNG이다. 이는, 예측불가능성, 무편항성, 및 숫자간 무관성이 보장되며, PRNG와는 다르게 암호화 패턴으로 시드값을 추적할 수 없다. 이때, 양자난수 발생기는, 광자의 편광, 광자의 경로, 광자의 도착시간 및 진공상태의 샷 노이즈를 측정하여 난수를 생성하는 방법인데, 광자의 편광, 광자의 경로는 광자의 중첩을 활용하는 방법이며, 관측되는 측정기의 위치에 따라 0, 1 을 할당한다. 광자의 도착시간을 측정하는 양자난수 발생기의 경우, 관측 주기를 여러 구간으로 나누어, 한 번의 관측마다 구간에 대한 주기의 비율을 로그화한 비트를 생성한다. 진공 상태의 샷 노이즈는, 가우시안 분포를 가지는 임의의 상태이므로, 이를 구간으로 난수를 생성할 수도 있다.
동선추적부(330)는, 가맹점의 고유식별코드와 결합된 인증토큰을 가맹점별로 수집할 수 있다. 가맹점 단말(400)은, 사용자 단말(100)에서 브로드캐스팅한 인증토큰을 수신하고, 수신된 인증토큰을 가맹점별 고유식별코드와 결합하여 업로딩할 수 있다. [고유식별코드-위치정보(가맹점위치정보)-인증토큰-시간정보]가 전송되므로, 어떠한 가맹점에 어떠한 인증토큰들이 언제 모였는지 확인할 수 있게 된다. 이때 "누구의" 인증토큰인지는 가맹점에서 알 수 없다. 다만, 인증토큰이 언제 브로드캐스팅되어 수신되었다는 사실만을 알 수 있게 된다.
동선추적부(330)는, 각 인증토큰별 가맹점별 고유식별코드 및 위치정보를 저장하되, 사용자 단말(100)의 개인식별정보는 저장하지 않는다. 더욱 정확히 말하자면, 저장하지 않는 것이 아니라 저장을 할 수 없다. 인증토큰 내 개인식별정보는 초기부터 모두 삭제되었으므로 이를 수신하는 가맹점 단말(400) 및 동선추적부(330)도 당연히 알 수 없다. 즉, 인증토큰은, 익명인증토큰으로 발급받는 사용자의 개인식별정보가 삭제된 토큰일 수 있다. 또, 사용자 단말(100)은 익명인증 서버(500)로 인증토큰묶음을 요청할 때 시드키(SeedKey)를 익명인증 서버(500)로 제공할 수 있다.
이때, 가맹점 단말(400)은 NFC 리더기를 포함하는 단말이고, 사용자 단말(100)에서 인증토큰을 가맹점 단말(400)로 전송한 경우, NFC 리더기에서 사용자 단말(100)의 NFC 태그를 리딩하고, NFC 태그 내 저장된 인증토큰 브로드캐스팅 여부를 확인하며, 인증토큰이 브로드캐스팅되어 가맹점 단말(400)에 수신된 경우 수신확인음을 출력할 수 있다. 사용자 단말(100)의 브로드캐스팅 확인을 위한 가맹점 단말(400)과의 무선통신은 와이파이(WiFi), 블루투스(Bluetooth), NFC 및 RFID 중 어느 하나일 수 있다. 다만, 블루투스의 경우 페어링이 먼저 필요하므로 이를 배제하는 것도 가능하다. 또, 익명인증 서버(500)는, 상술한 바와 같이, PCA(Pseudo Ceritificate Authority), LA(Linkage Authority), TA(Trusted Authority), RA(Registration Authority)를 포함할 수 있다.
추적협조부(340)는, 적어도 하나의 관계기관 서버로부터 동선추적요청 이벤트를 수신하면서 사용자 단말(100)의 인증토큰묶음을 수신한 경우, 인증토큰묶음 내 인증토큰이 브로드캐스팅 및 수집되었던 적어도 하나의 가맹점 단말(400)의 고유식별코드 및 위치정보를 적어도 하나의 관계기관 서버(미도시)로 전달할 수 있다. 이때, 적어도 하나의 관계기관 서버는, 사용자 단말(100)의 동선추적이 시작된 후, 익명인증 서버(500)로 사용자 단말(100)로 발급한 인증토큰묶음 데이터를 요청하고, 익명인증 서버(500)로부터 수신하여 추적협조부(340)로 전달하며 동선추적요청 이벤트를 전달할 수 있다. 예를 들어, 강남구 보건소에서 사용자 B가 확진되었다는 사실을 확인했다. 이 경우 사용자 B가 다녀간 장소에 대한 정보를 얻어야 하는데, 동선추적 서비스 제공 서버(300)는, 가맹점 단말(400)로부터 [고유식별코드-위치정보(가맹점위치정보)-인증토큰-시간정보]만을 전달받았고, 고유식별코드란 가맹점을 식별하기 위한 코드이지 사용자를 식별하기 위한 코드가 아니므로 동선추적 서비스 제공 서버(300)에서도 "누구"인지가 특정되지 않았으므로 동선을 확인해줄 수 없다.
이에 따라, 강남구 보건소에서는 사용자 B를 특정하여 익명인증 서버(500)로 사용자 B의 사용자 단말(100)로 발급된 인증토큰 전체, 즉 인증토큰묶음에 대한 데이터를 요구하고, 익명인증 서버(500)에서 요청하는 자가 강남구 보건소가 맞는지 또는 강남구 보건소인 것처럼 속이는 해커가 아닌지를 TA(Trusted Authority)에서 확인한 후, 정상요청자가 맞다면 강남구 보건소로 사용자 B에게 발급된 인증토큰묶음 데이터를 전송하게 된다. 이때, 강남구 보건소는 추적협조부(340)로 인증토큰묶음 데이터를 전송하면서 기간을 한정하거나 한정하지 않고, 사용자 B의 인증토큰이 브로드캐스팅된 가맹점 단말(400)의 위치 정보를 시간과 함께 요청한다. 이때, [고유식별코드-위치정보(가맹점위치정보)-인증토큰-시간정보]가 동선추적 서비스 제공 서버(300)에 미리 저장되어 있으므로 강남구 보건소에서 전달받은 [인증토큰묶음 내 인증토큰]과 동일한 [인증토큰]을 가지는 가맹점의 위치정보, 고유식별코드 및 시간정보를 추출하여 강남구 보건소로 전달할 수 있다. 이때, 시간대별로 지도상에 인증토큰이 매핑된 가맹점의 고유식별코드를 이용하여 상점명 및 GPS를 추출할 수 있고, 이를 이용하여 지도상에 동선을 표시하고 동선을 표시할 때 연월일시각을 함께 표시함으로써 가시성을 높일 수도 있다.
물론, 추적협조부(340)에서 실시간으로 가맹점 단말(400)로부터 인증토큰 정보를 수집하는 것도 가능하나, 각 소상공인의 가맹점 단말(400)의 컴퓨팅 자원이 그리 높은 수준의 데이터 가용량을 가지지 않는다는 것을 고려할 때 동선추적 서비스 제공 서버(300)에서 미리 가맹점 단말(400)로부터 인증토큰을 수집하여 저장해두고, 요청이 온 경우에 일치하는 인증토큰의 위치정보 및 시간정보를 추출하여 주는 것이 바람직하다. 다만, 실시간으로 가맹점 단말(400)로부터 수집하는 것을 배제하는 것은 아님은 자명하다 할 것이다.
이하, 상술한 도 2의 동선추적 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3a를 참조하면, (a) 사용자 단말(100)은 익명인증 서버(500)에 시드키를 전송하면서 인증토큰을 요청하고, 익명인증 서버(500)는 사용자 단말(100)로 인증토큰이 대량으로 묶인 인증토큰묶음을 발급 및 전달한다. 그리고, 사용자 단말(100)이 동선추적 서비스 제공 서버(300)의 앱페이지, 웹페이지, 애플리케이션 및 프로그램에 접속하거나 설치하는 경우, 동선추적 서비스 제공 서버(300)는 사용자 단말(100)이 백그라운드 모드로 사용자가 모르게 무자각 통신을 할 수 있도록 초기세팅을 하거나 프로그램 또는 애플리케이션에서 자동으로 구동되도록 한다.
그리고, (b) 동선추적 서비스 제공 서버(300)는 적어도 하나의 가맹점 단말(400)의 상호, 위치, 전화번호 등을 수신하고, 고유식별코드를 부여하여 고유식별코드에 각 정보가 매핑되어 저장되도록 데이터베이스를 구축한다. (c) 사용자 단말(100)은 가속도 센서 또는 지자기 센서 등으로 본 발명의 일 실시예에 따른 서비스가 웨이크업되는 트리거 신호가 감지되면, GPS를 턴 온 시킨다. 동선추적 서비스 제공 서버(300)는, 기 설정된 위치에 사용자 단말(100)이 위치한 경우 인증토큰묶음 내 복수의 인증토큰 중 랜덤으로 선택된 하나의 인증토큰이 브로드캐스팅되도록 하고, 가맹점 단말(400)에서 이를 NFC 리더기 등으로 리딩한 경우, 가맹점 단말(400)에서 인증토큰-고유식별코드-시각정보 등을 전송하도록 하는 방식으로 정보를 수집하고 (d)와 같이 저장한다.
도 3b와 같이 관계기관 서버에서 동선추적이 시작된 경우 ① 관계기관 서버는 사용자 A의 감염병을 진단한 경우, 익명인증 서버(500)로 사용자 A에게 발급된 인증토큰묶음을 요청하고, ③ 익명인증 서버(500)는, 인증토큰묶음 데이터를 관계기관 서버로 전송한다. ④ 관계기관 서버는, 동선추적 서비스 제공 서버(300)로 인증토큰묶음을 전달하며 일치하는 인증토큰이 매핑된 가맹점의 위치정보를 요청한다. ⑤ 동선추적 서비스 제공 서버(300)는 인증토큰묶음 내 복수의 인증토큰과 일치하는 인증토큰이 있는지를 ⑥ 비교하고, ⑦ 일치하는 인증토큰의 위치정보, 시간정보 등을 관계기관 서버로 ⑧ 전달 및 보고한다.
이와 같은 도 2 내지 도 4의 무자각 통신 기반 비실명 동선추적 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 무자각 통신 기반 비실명 동선추적 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 도 1의 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 5를 참조하면, 동선추적 서비스 제공 서버는, 적어도 하나의 위치를 지정 및 저장하고, 적어도 하나의 위치별로 인증토큰을 사용자 단말에서 자동으로 브로드캐스팅하도록 세팅한다(S5100).
그리고, 동선추적 서비스 제공 서버는, 사용자 단말의 GPS 신호를 수집하고 GPS가 기 설정된 적어도 하나의 위치인 경우 사용자 단말에서 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출된 인증토큰을 브로드캐스팅하는 것을 모니터링한다(S5200).
동선추적 서비스 제공 서버는, 가맹점의 고유식별코드와 결합된 인증토큰을 가맹점별로 수집한다(S5300).
상술한 단계들(S5100~S5300)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5300)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 5의 무자각 통신 기반 비실명 동선추적 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 무자각 통신 기반 비실명 동선추적 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 무자각 통신 기반 비실명 동선추적 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 무자각 통신 기반 비실명 동선추적 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 무자각 통신 기반 비실명 동선추적 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 익명인증 서버로부터 익명인증(Anonymous Authentication)을 위한 인증토큰묶음(Authentication Token Cluster)을 ECC(Elliptic Curve Cryptography) 버터플라이 기법(Butterfly Technique)을 이용하여 발급받고, 상기 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출한 하나의 인증토큰을, GPS 기반 각 위치별로 브로드캐스팅(Broadcasting)하는 사용자 단말;
    상기 사용자 단말에서 브로드캐스팅한 인증토큰을 수신하고, 수신된 인증토큰을 가맹점별 고유식별코드와 결합하여 업로딩하는 가맹점 단말; 및
    적어도 하나의 위치를 지정 및 저장하고, 상기 적어도 하나의 위치별로 상기 인증토큰을 상기 사용자 단말에서 자동으로 브로드캐스팅하도록 세팅하는 초기설정부, 상기 사용자 단말의 GPS 신호를 수집하고 상기 GPS가 기 설정된 상기 적어도 하나의 위치인 경우 상기 사용자 단말에서 상기 인증토큰묶음 내 복수의 인증토큰 중 랜덤하게 추출된 인증토큰을 브로드캐스팅하는 것을 모니터링하는 감시부, 상기 가맹점의 고유식별코드와 결합된 인증토큰을 가맹점별로 수집하는 동선추적부를 포함하는 동선추적 서비스 제공 서버;
    를 포함하며,
    상기 동선추적부는,
    각 인증토큰별 상기 가맹점별 고유식별코드 및 위치정보를 저장하되, 상기 사용자 단말의 개인식별정보는 저장하지 않으며,
    상기 인증토큰은,
    개인 프라이버시를 보장하기 위해서 익명인증토큰으로 발급받는 사용자의 개인식별정보가 삭제된 토큰인 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
  2. 제 1 항에 있어서,
    상기 사용자 단말의 각 위치별 브로드캐스팅은,
    상기 각 위치별로 자동으로 백그라운드 모드(Background Mode)로 실행되어 무자각 통신을 구현하는 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
  3. 제 1 항에 있어서,
    상기 가맹점 단말은 NFC 리더기를 포함하는 단말이고,
    상기 사용자 단말에서 인증토큰을 상기 가맹점 단말로 전송한 경우, 상기 NFC 리더기에서 상기 사용자 단말의 NFC 태그를 리딩하고, 상기 NFC 태그 내 인증토큰 브로드캐스팅 여부가 저장된 상태인지 확인하며, 상기 NFC 태그 내 상기 인증토큰 브로드캐스팅 여부가 저장된 상태로 상기 인증토큰이 브로드캐스팅되어 상기 가맹점 단말에 수신된 경우 수신확인음을 출력하는 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
  4. 제 1 항에 있어서,
    상기 사용자 단말의 브로드캐스팅 확인을 위한 상기 가맹점 단말 간의 무선통신은 와이파이(WiFi), 블루투스(Bluetooth), NFC 및 RFID 중 어느 하나인 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
  5. 제 1 항에 있어서,
    상기 익명인증 서버는, PCA(Pseudonym Certificate Authority), LA(Linkage Authority), TA(Trusted Authority) 및 RA(Registration Authority)를 포함하는 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
  6. 제 1 항에 있어서,
    상기 동선추적 서비스 제공 서버는,
    적어도 하나의 관계기관 서버로부터 동선추적요청 이벤트를 수신하면서 상기 사용자 단말의 인증토큰묶음을 수신한 경우, 상기 인증토큰묶음 내 인증토큰이 브로드캐스팅 및 수집되었던 적어도 하나의 가맹점 단말의 고유식별코드 및 위치정보를 상기 적어도 하나의 관계기관 서버로 전달하는 추적협조부;
    를 더 포함하는 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
  7. 제 6 항에 있어서,
    적어도 하나의 관계기관 서버는,
    상기 사용자 단말의 동선추적이 시작된 후, 상기 익명인증 서버로 상기 사용자 단말로 발급한 인증토큰묶음 데이터를 요청하고, 상기 익명인증 서버로부터 수신하여 상기 추적협조부로 전달하며 동선추적요청 이벤트를 전달하는 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
  8. 삭제
  9. 삭제
  10. 제 1 항에 있어서,
    상기 사용자 단말은 상기 익명인증 서버로 인증토큰묶음을 요청할 때 시드키(SeedKey)를 상기 익명인증 서버로 제공하는 것을 특징으로 하는 ECC 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템.
KR1020210124165A 2021-09-16 2021-09-16 Ecc 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템 KR102598529B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210124165A KR102598529B1 (ko) 2021-09-16 2021-09-16 Ecc 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210124165A KR102598529B1 (ko) 2021-09-16 2021-09-16 Ecc 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템

Publications (2)

Publication Number Publication Date
KR20230040715A KR20230040715A (ko) 2023-03-23
KR102598529B1 true KR102598529B1 (ko) 2023-11-06

Family

ID=85799441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210124165A KR102598529B1 (ko) 2021-09-16 2021-09-16 Ecc 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템

Country Status (1)

Country Link
KR (1) KR102598529B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101812527B1 (ko) * 2017-05-10 2018-01-30 아이티플래닛 주식회사 Ble 비콘 기반 항만 출입 차량 관리와 위치 추적 스마트 포트 시스템
KR102205982B1 (ko) * 2020-04-29 2021-01-20 주식회사 케이에스넷 현장결제서비스를 위한 카드 결제 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180022409A (ko) * 2016-08-24 2018-03-06 김태훈 생체신호 이상유무를 통한 신체적 약자 관리시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101812527B1 (ko) * 2017-05-10 2018-01-30 아이티플래닛 주식회사 Ble 비콘 기반 항만 출입 차량 관리와 위치 추적 스마트 포트 시스템
KR102205982B1 (ko) * 2020-04-29 2021-01-20 주식회사 케이에스넷 현장결제서비스를 위한 카드 결제 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sanjeev Kaushik Ramani, "Securing the Internet of Things Communication Using Named Data Networking Approaches", FIU Electronic Theses and Dissertations (2021.06.30.)*

Also Published As

Publication number Publication date
KR20230040715A (ko) 2023-03-23

Similar Documents

Publication Publication Date Title
Sookhak et al. Security and privacy of smart cities: a survey, research issues and challenges
CN110417750B (zh) 基于区块链技术的文件读取和存储的方法、终端设备和存储介质
Zhang et al. Secure and efficient data storage and sharing scheme for blockchain‐based mobile‐edge computing
CN110915183A (zh) 经由硬/软令牌验证的区块链认证
CN109618326A (zh) 用户动态标识符生成方法及服务注册方法、登录验证方法
KR20150052261A (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
CN105516980A (zh) 一种基于Restful架构的无线传感器网络令牌认证方法
CN113515756B (zh) 基于区块链的高可信数字身份管理方法及系统
Halgamuge Estimation of the success probability of a malicious attacker on blockchain-based edge network
Bagga et al. Blockchain-envisioned access control for internet of things applications: a comprehensive survey and future directions
CN110365486A (zh) 一种证书申请方法、装置及设备
Beltrán Identifying, authenticating and authorizing smart objects and end users to cloud services in Internet of Things
CN115001841A (zh) 一种身份认证方法、装置及存储介质
Naoui et al. Novel enhanced LoRaWAN framework for smart home remote control security
Bagga et al. Secure biometric-based access control scheme for future IoT-enabled cloud-assisted video surveillance system
Abubakar et al. A lightweight and user-centric two-factor authentication mechanism for iot based on blockchain and smart contract
Bichsel et al. D2. 2 Architecture for attribute-based credential technologies-final version
Vivekanandan et al. Efficient user authentication protocol for distributed multimedia mobile cloud environment
KR20130039745A (ko) 인증 연동 시스템 및 방법
Beltrán et al. Federated system-to-service authentication and authorization combining PUFs and tokens
KR102598529B1 (ko) Ecc 버터플라이 기법을 이용한 무자각 통신 기반 비실명 동선 저장 및 추적 시스템
Ni et al. A mobile phone‐based physical‐social location proof system for mobile social network service
CN115022039B (zh) 信息处理方法、装置、设备和存储介质
Chen et al. An improved anonymous DoS-resistant authentication protocol in smart city
KR20200030345A (ko) 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant