KR20220067084A - 패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법 - Google Patents

패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20220067084A
KR20220067084A KR1020200153378A KR20200153378A KR20220067084A KR 20220067084 A KR20220067084 A KR 20220067084A KR 1020200153378 A KR1020200153378 A KR 1020200153378A KR 20200153378 A KR20200153378 A KR 20200153378A KR 20220067084 A KR20220067084 A KR 20220067084A
Authority
KR
South Korea
Prior art keywords
hash
count value
user device
message packet
current count
Prior art date
Application number
KR1020200153378A
Other languages
English (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 KR1020200153378A priority Critical patent/KR20220067084A/ko
Publication of KR20220067084A publication Critical patent/KR20220067084A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

패킷 전송을 위한 장치 및 방법과 패킷 검증을 위한 장치 및 방법이 개시된다. 일 실시예에 따른 패킷 전송 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, EMM (Enterprise Mobility Management) 서버로, 해시 맵(hash map) 생성 요청을 전송하고, 상기 EMM 서버로부터, 제1 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 제1 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하고, 상기 최대 카운트 값을 현재 카운트 값으로 설정하고, 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드를 포함하는 메시지 패킷을 상기 EMM 서버로 전송하고, 상기 EMM 서버로부터 상기 메시지 패킷에 대한 응답 패킷을 수신하고, 상기 현재 카운트 값을 갱신한다.

Description

패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법{APPARATUS AND METHOD FOR PACKET TRANSMITION, AND APPARATUS AND METHOD FOR PACKET VERIFICATION}
개시되는 실시예들은 EMM(Enterprise Mobility Management) 서비스를 위한 패킷 검증 기술과 관련된다.
엔터프라이즈 모빌리티 관리(EMM; Enterprise Mobility Management)란 기존의 MDM(Mobile Device Management) 및 MAM(Mobile Application Management)의 기능을 포괄하는 기업용 모바일 보안(Mobile Security) 솔루션 중 하나이다. 특히 최근 들어 모바일 단말의 사용이 일반화됨에 따라, 직원 개인 단말을 업무에 사용할 수 있게 하는 BYOD(Bring Your Own Device), 회사에서 지급한 특정 단말을 이용 업무 및 개인용도로 함께 사용할 수 있도록 하는 COPE(Company-issued, Personal Enabled) 등과 같은 모바일 트렌드가 확산되고 있다.
한편, 종래 EMM 서비스는 모바일 단말에서 EMM 서버로 전송되는 패킷을 복제 또는 위조함으로써 허위 모바일 장치가 자신을 EMM 서비스에 등록(enrollment) 하거나 등록된 모바일 장치를 등록 해제(unenrollment)할 수 있게 되므로, 패킷 복제 또는 위조에 의한 보안 취약점이 존재한다.
대한민국 공개특허공보 제10-2018-0131107호 (2018.12.10. 공개)
개시되는 실시예들은 EMM(Enterprise Mobility Management) 서비스에서 패킷 전송을 위한 장치 및 방법과 패킷 검증을 위한 장치 및 방법을 제공하기 위한 것이다.
일 실시예에 따른 패킷 전송 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, EMM (Enterprise Mobility Management) 서버로, 해시 맵(hash map) 생성 요청을 전송하고, 상기 EMM 서버로부터, 제1 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 제1 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하고, 상기 최대 카운트 값을 현재 카운트 값으로 설정하고, 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드를 포함하는 메시지 패킷을 상기 EMM 서버로 전송하고, 상기 EMM 서버로부터 상기 메시지 패킷에 대한 응답 패킷을 수신하고, 상기 현재 카운트 값을 갱신한다.
상기 하나 이상의 프로세서는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신할 수 있다.
상기 하나 이상의 프로세서는, 상기 현재 카운트 값을 갱신한 이후, 상기 복수의 해시 코드 중 상기 갱신된 현재 카운트 값에 대응되는 해시 코드가 존재하지 않는 경우, 상기 EMM 서버로 해시 맵 갱신 요청을 전송하고, 상기 EMM 서버로부터 제2 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신할 수 있다.
상기 메시지 패킷은, 상기 EMM 서버에 의해 사전 발급된 장치 아이디(device ID)를 더 포함할 수 있다.
일 실시예에 따른 패킷 검증 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 사용자 장치로부터 해시 맵(hash map) 생성 요청을 수신하고, 상기 사용자 장치에 대한 제1 토큰(token)을 생성하고, 상기 제1 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 해시 맵(hash map)을 생성하고, 상기 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송하고, 상기 최대 카운트 값을 현재 카운트 값으로 설정하고, 상기 사용자 장치로부터 해시 코드를 포함하는 메시지 패킷을 수신하고, 상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증하고, 상기 검증이 성공한 경우, 상기 현재 카운트 값을 갱신한다.
상기 하나 이상의 프로세서는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신할 수 있다.
상기 하나 이상의 프로세서는, 상기 사용자 장치로부터 해시 맵 갱신 요청을 수신하고, 상기 사용자 장치에 대한 제2 토큰(token)을 생성하고, 상기 제2 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵을 생성하고, 상기 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송할 수 있다.
상기 메시지 패킷은, 상기 사용자 장치의 장치 아이디(device ID)를 더 포함할 수 있다.
상기 하나 이상의 프로세서는, 상기 메시지 패킷에 포함된 장치 아이디가 상기 사용자 장치로 사전 발급된 장치 아이디와 일치하는지 여부에 기초하여 상기 메시지 패킷에 포함된 장치 아이디를 검증하고, 상기 장치 아이디에 대한 검증이 성공한 경우, 상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증할 수 있다.
일 실시예에 따른 패킷 전송 방법은, EMM (Enterprise Mobility Management) 서버로, 해시 맵(hash map) 생성 요청을 전송하는 단계; 상기 EMM 서버로부터, 제1 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 제1 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하는 단계; 상기 최대 카운트 값을 현재 카운트 값으로 설정하는 단계; 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드를 포함하는 메시지 패킷을 상기 EMM 서버로 전송하는 단계; 상기 EMM 서버로부터 상기 메시지 패킷에 대한 응답 패킷을 수신하는 단계; 및 상기 현재 카운트 값을 갱신하는 단계를 포함한다.
상기 갱신하는 단계는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신할 수 있다.
상기 패킷 전송 방법은, 상기 갱신하는 단계 이후에, 상기 복수의 해시 코드 중 상기 갱신된 현재 카운트 값에 대응되는 해시 코드가 존재하지 않는 경우, 상기 EMM 서버로 해시 맵 갱신 요청을 전송하는 단계; 및 상기 EMM 서버로부터 제2 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하는 단계를 더 포함할 수 있다.
상기 메시지 패킷은, 상기 EMM 서버에 의해 사전 발급된 장치 아이디(device ID)를 더 포함할 수 있다.
일 실시예에 따른 패킷 검증 방법은, 사용자 장치로부터 해시 맵(hash map) 생성 요청을 수신하는 단계; 상기 사용자 장치에 대한 제1 토큰(token)을 생성하는 단계; 상기 제1 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 해시 맵(hash map)을 생성하는 단계; 상기 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송하는 단계; 상기 최대 카운트 값을 현재 카운트 값으로 설정하는 단계; 상기 사용자 장치로부터 해시 코드를 포함하는 메시지 패킷을 수신하는 단계; 상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증하는 단계; 및 상기 검증이 성공한 경우, 상기 현재 카운트 값을 갱신하는 단계를 포함할 수 있다.
상기 갱신하는 단계는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신할 수 있다.
상기 패킷 검증 방법은, 상기 사용자 장치로부터 해시 맵 갱신 요청을 수신하는 단계; 상기 사용자 장치에 대한 제2 토큰(token)을 생성하는 단계; 상기 제2 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵을 생성하는 단계; 및 상기 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송하는 단계를 더 포함할 수 있다.
상기 메시지 패킷은, 상기 사용자 장치의 장치 아이디(device ID)를 더 포함할 수 있다.
상기 메시지 패킷을 검증하는 단계는, 상기 메시지 패킷에 포함된 장치 아이디가 상기 사용자 장치로 사전 발급된 장치 아이디와 일치하는지 여부에 기초하여 상기 메시지 패킷에 포함된 장치 아이디를 검증하는 단계; 및 상기 장치 아이디에 대한 검증이 성공한 경우, 상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증하는 단계를 포함할 수 있다.
개시되는 실시예들에 따르면, 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 해시 맵을 사용자 장치로 제공하고, 현재 카운트 값에 대응되는 해시 코드가 사용자 장치에 의해 전송되는 메시지 패킷에 포함되도록 하되, 메시지 패킷이 전송될 때마다 현재 카운트 값이 갱신되도록 함으로써, 메시지 패킷에 대한 복제 또는 위조에 의해 발생할 수 있는 보안 취약점을 해소할 수 있다.
도 1은 일 실시예에 따른 EMM(Enterprise Mobility Management) 서비스를 제공하기 위한 시스템 환경의 일 예를 나타낸 도면
도 2는 일 실시예에 따른 해시 맵 생성 과정을 도시한 순서도
도 3은 일 실시예에 따른 해시 맵 갱신 과정을 도시한 순서도
도 4는 일 실시예에 따라 사용자 장치에 의해 수행되는 패킷 전송 과정을 나타낸 순서도
도 5는 일 실시예에 따라 EMM 서버에 의해 수행되는 패킷 검증 과정을 나타낸 순서도
도 6은 추가적인 실시예에 따라 EMM 서버에 의해 수행되는 패킷 검증 과정을 나타낸 순서도
도 7은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 EMM(Enterprise Mobility Management) 서비스를 제공하기 위한 시스템 환경의 일 예를 나타낸 도면이다.
도 1을 참조하면, 일 실시예에 따른 시스템 환경(100)은 사용자 장치(110) 및 EMM 서버(120)를 포함한다.
사용자 장치(110)는 EMM 서버(120)를 통해 제공되는 EMM 서비스에 등록된 사용자가 EMM 서비스를 제공받기 위해 이용하는 장치이다. 예를 들어, 사용자 장치(110)는 스마트폰(smartphone), 테블릿(tablet) PC, 랩톱(laptop) PC 등과 같은 모바일 장치 또는 스마트 워치(smart watch), 스마트 글래스(smart glasses) 등과 같은 웨어러블(wearable) 장치일 수 있다.
한편, EMM 서버(120)는 사용자 장치(110)로 EMM 서비스를 제공하기 위한 것으로 하나 이상의 서버로 구현될 수 있다. 구체적으로, EMM 서버(110)는 EMM 서비스에 등록된 사용자가 EMM 서비스에 등록된 자신의 사용자 장치(120)을 이용하여 EMM 서버(120)에 접속한 경우, 해당 사용자 장치로 EMM 서비스를 제공할 수 있다.
도 2는 일 실시예에 따른 해시 맵 생성 과정을 도시한 순서도이다.
도 2를 참조하면, 우선, 사용자 장치(110)는 EMM 서버(120)로 해시 맵 생성 요청을 전송한다(210).
이때, 일 실시예에 따르면, 해시 맵 생성 요청은 사용자 장치(110)의 장치 아이디(Device ID)를 포함할 수 있다.
구체적으로, 사용자 장치(110)의 장치 아이디는 사용자 장치(110)에 EMM 서비스를 제공하기 위해 사용자 장치(110)와 EMM 서버(120) 사이에 사전 수행되는 프로비저닝(provisioning) 과정에서 EMM 서버(120)에 의해 발급될 수 있다. 예를 들어, 사용자 장치(110)는 프로비저닝 과정에서 사용자 장치(110)의 고유 식별 정보(예를 들어, 시리얼 넘버, UDID(Unique Device Identifier), IMEI(International Mobile Equipment Identity) 등)를 EMM 서버(120)로 제공하고, EMM 서버(120)는 사용자 장치(110)로부터 수신된 고유 식별 정보를 사전 등록된 고유 식별 정보와 비교하여 사용자 장치(110)가 EMM 서비스에 등록된 장치인지 여부를 판단할 수 있다. 또한, EMM 서버(120)는 사용자 장치(110)가 EMM 서비스에 등록된 장치인 경우, 사용자 장치(110)에 대한 장치 아이디를 생성하여 사용자 장치(110)로 제공할 수 있다. 이때, 장치 아이디는 예를 들어, 사용자 장치(110)의 고유 식별 정보에 기초하여 생성되거나 랜덤하게 생성될 수 있으나, 장치 아이디의 생성 방식은 반드시 특정한 방식으로 한정되는 것은 아니다.
한편, EMM 서버(120)는 사용자 장치(110)로부터 수신된 해시 맵 생성 요청에 따라 사용자 장치(110)에 대한 제1 토큰(token)을 생성한다(220).
이때, 제1 토큰은 랜덤하게 생성될 수 있으나, 제1 토큰의 생성 방식은 반드시 특정한 생성 방식에 한정되는 것은 아니다.
한편, 실시예에 따라, EMM 서버(120)는 해시 맵 생성 요청에 포함된 사용자 장치(110)의 장치 아이디에 기초하여 사용자 장치(110)에 대한 인증을 수행할 수 있다. 이때, EMM 서버(120)는 사용자 장치(110)에 대한 인증에 실패한 경우, 제1 토큰을 생성하지 않고 해시 맵 생성 실패 메시지를 사용자 장치(110)로 전송할 수 있다.
한편, 제1 토큰이 생성된 경우, EMM 서버(120)는 제1 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제1 해시 맵을 생성한다(230).
이때, 일 실시예에 따르면, EMM 서버(120)는 아래의 수학식 1에 기초하여 제1 해시 맵에 포함되는 각 해시 코드 Hi를 생성할 수 있다.
[수학식 1]
Figure pat00001
수학식 1에서 T1는 제1 토큰, Hash()는 해시 함수(hash function)를 나타내며, i는 제1 해시 맵에 포함되는 각 해시 코드에 대응되는 카운트 값, m1 (이때, m1≥2인 자연수)은 최대 카운트 값을 나타낸다. 이때, 최대 카운트 값 m1은 사전 설정된 값 내지는 기 설정된 범위 내에서 랜덤하게 선택된 값일 수 있다.
한편, EMM 서버(120)는 생성된 제1 해시 맵 및 최대 카운트 값 m1을 사용자 장치(110)로 전송한다(240).
이후, 사용자 장치(110)는 EMM 서버(120)로부터 수신된 제1 해시 맵 및 최대 카운트 값 m1을 저장한다(250).
한편, 도 2에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 3은 일 실시예에 따른 해시 맵 갱신 과정을 도시한 순서도이다.
도 3을 참조하면, 우선, 사용자 장치(110)는 EMM 서버(120)로 해시 맵 갱신 요청을 전송한다(310).
이때, 일 실시예에 따르면, 해시 맵 갱신 요청은 사용자 장치(110)의 장치 아이디를 포함할 수 있다.
한편, EMM 서버(120)는 사용자 장치(110)로부터 수신된 해시 맵 갱신 요청에 따라 사용자 장치(120)에 대한 제2 토큰을 생성한다(320).
이때, 제2 토큰은 제1 토큰과 동일한 방식으로 생성될 수 있다.
한편, 실시예에 따라, EMM 서버(120)는 해시 맵 갱신 요청에 포함된 사용자 장치(110)의 장치 아이디에 기초하여 사용자 장치(110)에 대한 인증을 수행할 수 있다. 이때, EMM 서버(120)는 사용자 장치(110)에 대한 인증에 실패한 경우, 토큰을 생성하지 않고 해시 맵 갱신 실패 메시지를 사용자 장치(110)로 전송할 수 있다.
한편, 제2 토큰이 생성된 경우, EMM 서버(120)는 제2 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵을 생성한다(330).
이때, 일 실시예에 따르면, EMM 서버(120)는 아래의 수학식 2에 기초하여 제2 해시 맵에 포함되는 각 해시 코드 Hj를 생성할 수 있다.
[수학식 2]
Figure pat00002
수학식 2에서 T2는 제2 토큰, j는 제2 해시 맵에 포함된 각 해시 코드에 대응되는 카운트 값, m2 (이때, m2≥2인 자연수)는 최대 카운트 값을 나타낸다. 이때, 최대 카운트 값 m2는 사전 설정된 값 내지는 기 설정된 범위 내에서 랜덤하게 선택된 값일 수 있다.
한편, EMM 서버(120)는 생성된 제2 해시 맵 및 최대 카운트 값 m2를 사용자 장치(110)로 전송한다(340).
이후, 사용자 장치(110)는 EMM 서버(120)로부터 수신된 제2 해시 맵 및 최대 카운트 값 m2를 저장한다(350).
한편, 도 3에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 4는 일 실시예에 따라 사용자 장치(110)에 의해 수행되는 패킷 전송 과정을 나타낸 순서도이다.
도 4에 도시된 과정은 예를 들어, 도 2에 도시된 해시 맵 생성 과정 내지는 도 3에 도시된 해시 맵 갱신 과정 이후에 수행될 수 있다.
도 4를 참조하면, 우선, 사용자 장치(110)는 EMM 서버(120)로부터 수신된 최대 카운트 값 m을 현재 카운트 값 n으로 설정한다(410).
예를 들어, 도 4에 도시된 과정이 도 2에 도시된 해시 맵 생성 과정 이후에 수행되는 과정인 경우, 현재 카운트 값 n은 m1으로 설정될 수 있으며, 도 3에 도시된 해시 맵 갱신 과정 이후에 수행되는 과정인 경우, 현재 카운트 값은 m2으로 설정될 수 있다.
이후, 사용자 장치(110)는 EMM 서버(120)로부터 제공된 해시 맵에 포함된 복수의 해시 코드 중 현재 카운트 값 n에 대응되는 해시 코드 Hn를 포함하는 메시지 패킷을 EMM 서버(120)로 전송한다(420).
예를 들어, 도 4에 도시된 과정이 도 2에 도시된 해시 맵 생성 과정 이후에 수행되는 과정인 경우, 사용자 장치(110)는 제1 해시 맵에 포함된 각 해시 코드 Hi 중 대응되는 카운트 값이 n(즉, i=n)인 해시 코드를 선택할 수 있다.
다른 예로, 도 4에 도시된 과정이 도 3에 도시된 해시 맵 갱신 과정 이후에 수행되는 과정인 경우, 사용자 장치(110)는 제2 해시 맵에 포함된 각 해시 코드 Hj 중 대응되는 카운트 값이 n(즉, j=n)인 해시 코드를 선택할 수 있다.
한편, 메시지 패킷은 사용자 장치(110)가 EMM 서버(120)로부터 해시 맵을 제공받은 이후 사용자 장치(110)에서 EMM 서버(120)로 전송되는 각종 메시지를 포함하는 패킷을 의미할 수 있다.
또한, 실시예에 따라, 메시지 패킷은 해시 코드 Hn 외에도 EMM 서버(120)에 의해 발급된 사용자 장치(110)의 장치 아이디를 더 포함할 수 있다.
이후, 사용자 장치(110)는 EMM 서버(120)로부터 메시지 패킷에 대한 응답 패킷이 수신된 경우(430), 현재 카운트 값 n을 기 설정된 값 k(이때, k는 1≤k<m인 자연수) 만큼 차감하여 현재 카운트 값 n을 갱신한다(440).
이때, 메시지 패킷에 대한 응답 패킷은 EMM 서버(120)로 전송된 메시지 패킷에 포함된 메시지에 대한 응답 메시지를 포함하는 패킷을 의미할 수 있다.
이후, 사용자 장치(110)는 해시 맵에 갱신된 현재 카운트 값 n에 대응되는 해시 코드가 존재하는지 여부를 판단한다(450).
이때, 해시 맵에 갱신된 현재 카운트 값 n에 대응되는 해시 코드가 존재하지 않는 경우, 사용자 장치(110)는 EMM 서버(120)로 해시 맵 갱신 요청을 전송한다(460).
이 경우, 사용자 장치(110)는 도 3에 도시된 해시 맵 갱신 과정을 통해 EMM 서버(120)로부터 갱신된 해시 맵을 수신할 수 있다.
한편, 도 4에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 5는 일 실시예에 따라 EMM 서버(110)에 의해 수행되는 패킷 검증 과정을 나타낸 순서도이다.
도 5에 도시된 과정은 예를 들어, 도 2에 도시된 해시 맵 생성 과정 내지는 도 3에 도시된 해시 맵 갱신 과정 이후에 수행될 수 있다.
도 5를 참조하면, 우선, EMM 서버(120)는 현재 카운트 값 n을 해시 맵과 함께 사용자 장치(110)로 전송된 최대 카운트 값 m으로 설정한다(510).
예를 들어, 도 5에 도시된 과정이 도 2에 도시된 해시 맵 생성 과정 이후에 수행되는 과정인 경우, 현재 카운트 값 n은 m1으로 설정될 수 있으며, 도 3에 도시된 해시 맵 갱신 과정 이후에 수행되는 과정인 경우, 현재 카운트 값은 m2으로 설정될 수 있다.
이후, EMM 서버(120)는 사용자 장치(110)로부터 해시 코드 H'n를 포함하는 메시지 패킷이 수신된 경우(520), 사용자 장치(110)로 제공된 해시 맵에 포함된 복수의 해시 코드 중 현재 카운트 값 n에 대응되는 해시 코드 Hn과 수신된 메시지 패킷에 포함된 해시 코드 H'n이 일치하는지 여부를 판단한다(530).
예를 들어, 도 5에 도시된 과정이 도 2에 도시된 해시 맵 생성 과정 이후에 수행되는 과정인 경우, EMM 서버(120)는 제1 해시 맵에 포함된 각 해시 코드 Hi 중 대응되는 카운트 값이 n(즉, i=n)인 해시 코드 Hn와 수신된 메시지 패킷에 포함된 해시 코드 H'n의 일치 여부를 판단할 수 있다.
다른 예로, 도 5에 도시된 과정이 도 3에 도시된 해시 맵 갱신 과정 이후에 수행되는 과정인 경우, EMM 서버(120)는 제2 해시 맵에 포함된 각 해시 코드 Hj 중 대응되는 카운트 값이 n(즉, j=n)인 해시 코드 Hn와 수신된 메시지 패킷에 포함된 해시 코드 H'n의 일치 여부를 판단할 수 있다.
한편, EMM 서버(120)는 현재 카운트 값 n에 대응되는 해시 코드 Hn과 수신된 메시지 패킷에 포함된 해시 코드 H'n이 일치하는 경우, 사용자 장치(110)로 메시지 패킷에 대한 응답 패킷을 전송하고(540), 현재 카운트 값 n을 기 설정된 값 k만큼 차감하여 현재 카운트 값 n을 갱신한다(550).
반면, EMM 서버(120)는 현재 카운트 값 n에 대응되는 해시 코드 Hn과 수신된 메시지 패킷에 포함된 해시 코드 H'n이 일치하지 않는 경우, 사용자 장치(110)로 오류 패킷을 전송한다(560).
이때, 오류 패킷은 예를 들어, 사용자 장치(110)이 전송한 메시지 패킷에 포함된 해시 코드 H'n에 대한 검증에 실패하였음을 나타내는 검증 실패 메시지를 포함할 수 있다.
한편, 도 5에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 6은 추가적인 실시예에 따라 EMM 서버(110)에 의해 수행되는 패킷 검증 과정을 나타낸 순서도이다.
도 6에 도시된 과정은 예를 들어, 도 2에 도시된 해시 맵 생성 과정 내지는 도 3에 도시된 해시 맵 갱신 과정 이후에 수행될 수 있다.
도 6을 참조하면, 우선, EMM 서버(120)는 현재 카운트 값 n을 해시 맵과 함께 사용자 장치(110)로 전송된 최대 카운트 값 m으로 설정한다(610).
예를 들어, 도 6에 도시된 과정이 도 2에 도시된 해시 맵 생성 과정 이후에 수행되는 과정인 경우, 현재 카운트 값 n은 m1으로 설정될 수 있으며, 도 3에 도시된 해시 맵 갱신 과정 이후에 수행되는 과정인 경우, 현재 카운트 값은 m2으로 설정될 수 있다.
이후, EMM 서버(120)는 사용자 장치(110)로부터 해시 코드 H'n를 및 EMM 서버(120)에 의해 발급된 사용자 장치(110)의 장치 아이디를 포함하는 메시지 패킷이 수신된 경우(620), 메시지 패킷에 포함된 장치 아이디에 대한 검증을 수행한다(630).
구체적으로, EMM 서버(120)는 수신된 메시지 패킷에 포함된 장치 아이디가 사용자 장치(110)로 발급된 장치 아이디와 일치하는지 여부에 따라 메시지 패킷에 포함된 장치 아이디를 검증할 수 있다.
이후, EMM 서버(120)는 메시지 패킷에 포함된 장치 아이디에 대한 검증이 성공한 경우(640), 사용자 장치(110)로 제공된 해시 맵에 포함된 복수의 해시 코드 중 현재 카운트 값 n에 대응되는 해시 코드 Hn과 수신된 메시지 패킷에 포함된 해시 코드 H'n이 일치하는지 여부를 판단한다(650).
예를 들어, 도 6에 도시된 과정이 도 2에 도시된 해시 맵 생성 과정 이후에 수행되는 과정인 경우, EMM 서버(120)는 제1 해시 맵에 포함된 각 해시 코드 Hi 중 대응되는 카운트 값이 n(즉, i=n)인 해시 코드 Hn와 수신된 메시지 패킷에 포함된 해시 코드 H'n의 일치 여부를 판단할 수 있다.
다른 예로, 도 6에 도시된 과정이 도 3에 도시된 해시 맵 갱신 과정 이후에 수행되는 과정인 경우, EMM 서버(120)는 제2 해시 맵에 포함된 각 해시 코드 Hj 중 대응되는 카운트 값이 n(즉, j=n)인 해시 코드 Hn와 수신된 메시지 패킷에 포함된 해시 코드 H'n의 일치 여부를 판단할 수 있다.
이후, EMM 서버(120)는 현재 카운트 값 n에 대응되는 해시 코드 Hn과 수신된 메시지 패킷에 포함된 해시 코드 H'n이 일치하는 경우, 사용자 장치(110)로 메시지 패킷에 대한 응답 패킷을 전송하고(660), 현재 카운트 값 n을 기 설정된 값 k만큼 차감하여 현재 카운트 값 n을 갱신한다(670).
한편, EMM 서버(120)는 수신된 메시지 패킷에 포함된 장치 아이디에 대한 검증이 실패하거나, 현재 카운트 값 n에 대응되는 해시 코드 Hn과 수신된 메시지 패킷에 포함된 해시 코드 H'n이 일치하지 않는 경우, 사용자 장치(110)로 오류 패킷을 전송한다(680).
이때, 오류 패킷은 예를 들어, 사용자 장치(110)이 전송한 메시지 패킷에 포함된 장치 아이디 또는 해시 코드 H'n에 대한 검증에 실패하였음을 나타내는 검증 실패 메시지를 포함할 수 있다.
한편, 도 6에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 7은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(110)은 컴퓨팅 장치(12)를 포함한다. 컴퓨팅 장치(12)는 일 실시예에 따른 사용자 장치(110) 또는 EMM 서버(120)에 포함된 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 시스템 환경
110: 사용자 장치
120: EMM 서버

Claims (18)

  1. 하나 이상의 명령어를 저장하는 메모리; 및
    상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    EMM (Enterprise Mobility Management) 서버로, 해시 맵(hash map) 생성 요청을 전송하고,
    상기 EMM 서버로부터, 제1 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 제1 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하고,
    상기 최대 카운트 값을 현재 카운트 값으로 설정하고,
    상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드를 포함하는 메시지 패킷을 상기 EMM 서버로 전송하고,
    상기 EMM 서버로부터 상기 메시지 패킷에 대한 응답 패킷을 수신하고,
    상기 현재 카운트 값을 갱신하는 패킷 전송 장치.
  2. 청구항 1에 있어서,
    상기 하나 이상의 프로세서는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신하는 패킷 전송 장치.
  3. 청구항 1에 있어서,
    상기 하나 이상의 프로세서는, 상기 현재 카운트 값을 갱신한 이후, 상기 복수의 해시 코드 중 상기 갱신된 현재 카운트 값에 대응되는 해시 코드가 존재하지 않는 경우, 상기 EMM 서버로 해시 맵 갱신 요청을 전송하고,
    상기 EMM 서버로부터 제2 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하는 패킷 전송 장치.
  4. 청구항 1에 있어서,
    상기 메시지 패킷은, 상기 EMM 서버에 의해 사전 발급된 장치 아이디(device ID)를 더 포함하는 패킷 전송 장치.
  5. 하나 이상의 명령어를 저장하는 메모리; 및
    상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    사용자 장치로부터 해시 맵(hash map) 생성 요청을 수신하고,
    상기 사용자 장치에 대한 제1 토큰(token)을 생성하고,
    상기 제1 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 해시 맵(hash map)을 생성하고,
    상기 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송하고,
    상기 최대 카운트 값을 현재 카운트 값으로 설정하고,
    상기 사용자 장치로부터 해시 코드를 포함하는 메시지 패킷을 수신하고,
    상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증하고,
    상기 검증이 성공한 경우, 상기 현재 카운트 값을 갱신하는 패킷 검증 장치.
  6. 청구항 5에 있어서,
    상기 하나 이상의 프로세서는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신하는 패킷 검증 장치.
  7. 청구항 5에 있어서,
    상기 하나 이상의 프로세서는, 상기 사용자 장치로부터 해시 맵 갱신 요청을 수신하고,
    상기 사용자 장치에 대한 제2 토큰(token)을 생성하고,
    상기 제2 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵을 생성하고,
    상기 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송하는 패킷 검증 장치.
  8. 청구항 5에 있어서,
    상기 메시지 패킷은, 상기 사용자 장치의 장치 아이디(device ID)를 더 포함하는 패킷 검증 장치.
  9. 청구항 8에 있어서,
    상기 하나 이상의 프로세서는, 상기 메시지 패킷에 포함된 장치 아이디가 상기 사용자 장치로 사전 발급된 장치 아이디와 일치하는지 여부에 기초하여 상기 메시지 패킷에 포함된 장치 아이디를 검증하고,
    상기 장치 아이디에 대한 검증이 성공한 경우, 상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증하는 패킷 검증 장치.
  10. EMM (Enterprise Mobility Management) 서버로, 해시 맵(hash map) 생성 요청을 전송하는 단계;
    상기 EMM 서버로부터, 제1 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 제1 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하는 단계;
    상기 최대 카운트 값을 현재 카운트 값으로 설정하는 단계;
    상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드를 포함하는 메시지 패킷을 상기 EMM 서버로 전송하는 단계;
    상기 EMM 서버로부터 상기 메시지 패킷에 대한 응답 패킷을 수신하는 단계; 및
    상기 현재 카운트 값을 갱신하는 단계를 포함하는 패킷 전송 방법.
  11. 청구항 10에 있어서,
    상기 갱신하는 단계는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신하는 패킷 전송 방법.
  12. 청구항 10에 있어서,
    상기 갱신하는 단계 이후에, 상기 복수의 해시 코드 중 상기 갱신된 현재 카운트 값에 대응되는 해시 코드가 존재하지 않는 경우, 상기 EMM 서버로 해시 맵 갱신 요청을 전송하는 단계; 및
    상기 EMM 서버로부터 제2 토큰(token)에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 수신하는 단계를 더 포함하는 패킷 전송 방법.
  13. 청구항 10에 있어서,
    상기 메시지 패킷은, 상기 EMM 서버에 의해 사전 발급된 장치 아이디(device ID)를 더 포함하는 패킷 전송 방법.
  14. 사용자 장치로부터 해시 맵(hash map) 생성 요청을 수신하는 단계;
    상기 사용자 장치에 대한 제1 토큰(token)을 생성하는 단계;
    상기 제1 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드(hash code)를 포함하는 해시 맵(hash map)을 생성하는 단계;
    상기 해시 맵 및 상기 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송하는 단계;
    상기 최대 카운트 값을 현재 카운트 값으로 설정하는 단계;
    상기 사용자 장치로부터 해시 코드를 포함하는 메시지 패킷을 수신하는 단계;
    상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증하는 단계; 및
    상기 검증이 성공한 경우, 상기 현재 카운트 값을 갱신하는 단계를 포함하는 패킷 검증 방법.
  15. 청구항 14에 있어서,
    상기 갱신하는 단계는, 상기 현재 카운트 값을 기 설정된 값만큼 차감하여 상기 현재 카운트 값을 갱신하는 패킷 검증 방법.
  16. 청구항 14에 있어서,
    상기 사용자 장치로부터 해시 맵 갱신 요청을 수신하는 단계;
    상기 사용자 장치에 대한 제2 토큰(token)을 생성하는 단계;
    상기 제2 토큰에 기초하여 연쇄적으로 생성되며 각각 상이한 카운트 값에 대응되는 복수의 해시 코드를 포함하는 제2 해시 맵을 생성하는 단계; 및
    상기 제2 해시 맵 및 상기 제2 해시 맵에 포함된 복수의 해시 코드 각각에 대응되는 카운트 값 중 최대 카운트 값을 상기 사용자 장치로 전송하는 단계를 더 포함하는 패킷 검증 방법.
  17. 청구항 14에 있어서,
    상기 메시지 패킷은, 상기 사용자 장치의 장치 아이디(device ID)를 더 포함하는 패킷 검증 방법.
  18. 청구항 17에 있어서,
    상기 메시지 패킷을 검증하는 단계는, 상기 메시지 패킷에 포함된 장치 아이디가 상기 사용자 장치로 사전 발급된 장치 아이디와 일치하는지 여부에 기초하여 상기 메시지 패킷에 포함된 장치 아이디를 검증하는 단계; 및
    상기 장치 아이디에 대한 검증이 성공한 경우, 상기 메시지 패킷에 포함된 해시 코드가 상기 복수의 해시 코드 중 상기 현재 카운트 값에 대응되는 해시 코드와 일치하는지 여부에 기초하여 상기 메시지 패킷을 검증하는 단계를 포함하는 패킷 검증 방법.
KR1020200153378A 2020-11-17 2020-11-17 패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법 KR20220067084A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200153378A KR20220067084A (ko) 2020-11-17 2020-11-17 패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153378A KR20220067084A (ko) 2020-11-17 2020-11-17 패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20220067084A true KR20220067084A (ko) 2022-05-24

Family

ID=81805971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153378A KR20220067084A (ko) 2020-11-17 2020-11-17 패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20220067084A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180131107A (ko) 2017-05-31 2018-12-10 방찬현 한복용 직물

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180131107A (ko) 2017-05-31 2018-12-10 방찬현 한복용 직물

Similar Documents

Publication Publication Date Title
CN107249004B (zh) 一种身份认证方法、装置及客户端
CN105592065B (zh) 一种基于手机短信的网站登录方法及其登录系统
US20170316497A1 (en) Method for creating, registering, revoking authentication information and server using the same
US10659453B2 (en) Dual channel identity authentication
CN111355726B (zh) 一种身份授权登录方法、装置及电子设备和存储介质
US10805083B1 (en) Systems and methods for authenticated communication sessions
CN104021333A (zh) 移动安全表袋
KR20210134816A (ko) 전자 토큰 프로세싱
CN110365684B (zh) 应用集群的访问控制方法、装置和电子设备
US20230020457A1 (en) Methods, systems, and apparatuses for improved multi-factor authentication in a multi-app communication system
US11228580B2 (en) Two-factor device authentication
CN110958119A (zh) 身份验证方法和装置
CN112968910B (zh) 一种防重放攻击方法和装置
US11777942B2 (en) Transfer of trust between authentication devices
CN111010379B (zh) 一种基于区块链网络的数据登录方法和装置
CN113645257B (zh) 一种身份认证方法及装置、电子设备及存储介质
KR102279582B1 (ko) 회의 제공 장치 및 상기 장치에서의 접속 단말 변경 방법
AU2014256198A1 (en) Terminal, network side device, terminal application control method, and system
KR101879843B1 (ko) Ip 주소와 sms를 이용한 인증 방법 및 시스템
US20180227298A1 (en) Selectively permitting a receiver device to access a message based on authenticating the receiver device
CN103559430B (zh) 基于安卓系统的应用账号管理方法和装置
CN108574658B (zh) 一种应用登录方法及其设备
KR20200125279A (ko) 블록 체인기반의 사용자 인증 방법, 시스템
KR20220067084A (ko) 패킷 전송을 위한 장치 및 방법, 패킷 검증을 위한 장치 및 방법
JP2015219670A (ja) 情報処理方法及び情報処理システム