KR101979111B1 - P2p 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법 - Google Patents

P2p 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법 Download PDF

Info

Publication number
KR101979111B1
KR101979111B1 KR1020170139084A KR20170139084A KR101979111B1 KR 101979111 B1 KR101979111 B1 KR 101979111B1 KR 1020170139084 A KR1020170139084 A KR 1020170139084A KR 20170139084 A KR20170139084 A KR 20170139084A KR 101979111 B1 KR101979111 B1 KR 101979111B1
Authority
KR
South Korea
Prior art keywords
image
authentication
terminal
authentication code
user
Prior art date
Application number
KR1020170139084A
Other languages
English (en)
Other versions
KR20190046020A (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 KR1020170139084A priority Critical patent/KR101979111B1/ko
Publication of KR20190046020A publication Critical patent/KR20190046020A/ko
Application granted granted Critical
Publication of KR101979111B1 publication Critical patent/KR101979111B1/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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

P2P 통신을 위한 단말 인증 방법은 인증 서버가 제1 이미지에 제1 사용자 정보에 기반하여 인증 코드를 삽입한 제1 수정 이미지와 상기 제1 이미지와 중첩되면 상기 인증 코드와 동일한 내용이 시각적으로 나타나는 제2 이미지를 생성하는 단계, 상기 인증 서버가 제3 이미지에 제2 사용자 정보에 기반하여 상기 인증 코드를 삽입한 제3 수정 이미지와 상기 제3 이미지와 중첩되면 상기 인증 코드와 동일한 내용이 시각적으로 나타나는 제4 이미지를 생성하는 단계, 제1 단말이 상기 제1 수정 이미지와 상기 제4 이미지를 수신하는 단계, 제2 단말이 상기 제3 수정 이미지와 상기 제2 이미지를 수신하는 단계, 상기 제1 단말과 상기 제2 단말이 상기 제4 이미지와 상기 제2 이미지를 교환하는 단계 및 상기 제1 단말이 상기 제1 수정 이미지에서 상기 제1 사용자 정보에 기반하여 인증 코드를 삭제한 제1 이미지와 상기 제2 이미지를 결합한 이미지에서 보이는 인증 코드와, 상기 제1 수정 이미지에서 추출한 인증 코드를 비교하여 인증을 수행하는 단계를 포함한다.

Description

P2P 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법{END USERS AUTHENTICATION METHOD FOR P2P COMMUNICATION AND USERS AUTHENTICATION METHOD FOR MULTICAST}
이하 설명하는 기술은 네트워크 서비스에서 사용자를 인증하는 기법에 관한 것이다.
분산 네트워크 환경에서 사용자 간에 직접 파일을 전송하는 P2P(Peer-to-Peer) 서비스가 등장하였다. P2P 서비스는 개별 자원을 사용하여 효율적인 통신이 가능하다. 다만, P2P 서비스에서 콘텐츠 공유에 앞서서 적법한 사용자인지 인증이 필요하다. 인증을 위한 다양한 기법이 연구되었는데, P2P 서비스를 위하여 오버헤드가 적은 인증 기법이 필요하다고 하겠다.
한국등록특허 제10-1746577호
이하 설명하는 기술은 P2P 서비스를 위한 경량화된 사용자 인증 기법을 제공하고자 한다.
P2P 통신을 위한 단말 인증 방법은 인증 서버가 제1 이미지에 제1 사용자 정보에 기반하여 인증 코드를 삽입한 제1 수정 이미지와 상기 제1 이미지와 중첩되면 상기 인증 코드와 동일한 내용이 시각적으로 나타나는 제2 이미지를 생성하는 단계, 상기 인증 서버가 제3 이미지에 제2 사용자 정보에 기반하여 상기 인증 코드를 삽입한 제3 수정 이미지와 상기 제3 이미지와 중첩되면 상기 인증 코드와 동일한 내용이 시각적으로 나타나는 제4 이미지를 생성하는 단계, 제1 단말이 상기 제1 수정 이미지와 상기 제4 이미지를 수신하는 단계, 제2 단말이 상기 제3 수정 이미지와 상기 제2 이미지를 수신하는 단계, 상기 제1 단말과 상기 제2 단말이 상기 제4 이미지와 상기 제2 이미지를 교환하는 단계 및 상기 제1 단말이 상기 제1 수정 이미지에서 상기 제1 사용자 정보에 기반하여 인증 코드를 삭제한 제1 이미지와 상기 제2 이미지를 결합한 이미지에서 보이는 인증 코드와, 상기 제1 수정 이미지에서 추출한 인증 코드를 비교하여 인증을 수행하는 단계를 포함한다.
이하 설명하는 기술은 시각 암호화(visual cryptography)와 스테가노그래피(steganography)를 기반으로 이미지를 이용하여 간단하게 사용자 인증을 수행한다.
도 1은 P2P 사용자 인증 시스템의 구조를 도시한 예이다.
도 2는 인증 코드 전달에 사용되는 이미지를 생성하는 예이다.
도 3은 인증 시스템에서 사용자 인증을 수행하는 과정에 대한 예이다.
도 4는 인증 시스템에서 이미지를 사용하여 사용자 인증을 수행하는 예이다.
도 5는 멀티캐스트 서비스에서 사용자 인증을 수행하는 시스템의 구조를 도시한 예이다.
도 6은 멀티캐스트 서비스에서 사용자 인증을 수행하는 과정에 대한 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
이하 설명하는 기술은 네트워크에서 사용자를 인증하는 기법에 관한 것이다. 특히 이하 설명하는 기술은 P2P 서비스에서 사용자 간 인증을 수행하는 기법에 관한 것이다. P2P는 사용자(단말) 간 콘텐츠를 공유하는 서비스를 의미한다. P2P 서비스를 위하여 두 개의 단말이 있다면 제1 단말에서 제2 단말로 일정한 콘텐츠(파일)를 전송한다. 이하 설명하는 기술은 P2P 서비스 외에도 장치 간 인증을 수행하는 과정에 적용할 수 있다.
이하 설명하는 기술은 이미지(image)를 이용하여 사용자 인증을 수행한다. 이하 설명하는 기술은 크게 두 가지 기법을 조합하여 이용한다. 하나는 시각 암호화(visual cryptography)이고 다른 하나는 스테가노그래피(steganography)이다.
간략하게 설명하면 시각 암호화는 2개의 이미지를 이용하여 특정한 정보를 전달하기 위한 것이다. 시각 암호화는 전달하고자 하는 정보를 이진 코드와 같은 형태로 전달하는 것이 아니고, 2개의 이미지를 이용하여 시각적으로 전달한다. 시각 암호화에 사용되는 2개의 이미지를 중첩하면 전달하고자 하는 정보가 시각적으로 나타난다. 2개의 이미지를 제1 이미지와 제2 이미지라고 한다. 시각 암호화는 하나의 픽셀을 복수(예컨대, 4개)의 서브 픽셀로 구분하여 검은색으로 나타내고자 하는 픽셀은 제1 이미지와 제2 이미지의 서브 픽셀 색상이 반전(흰색과 검은색이 서로 반대)되게 하고, 흰색으로 나타내고자 하는 픽셀은 제1 이미지와 제2 이미지의 서브 픽셀이 동일한 색상을 갖게 한다. 이와 같은 알고리즘을 갖는 프로그램을 이용하여 컴퓨터 장치는 특정 정보를 전달하는 제1 이미지와 제2 이미지를 생성할 수 있다.
스테가노그래피는 이미지에 전달하고자 하는 정보를 이진 비트 형태의 데이터로 삽입하여 전달하는 기법이다. 스테가노그래피는 전달하고자 하는 정보를 이미지를 나타내는 데이터에 삽입하거나, 이미지와 관계없는 영역(예컨대, 헤더 영역)에 삽입할 수도 있다.
이하 사용자 인증을 위한 정보를 인증 코드라고 명명한다. 인증 코드는 시각 암호화를 통해 2개의 이미지를 통해 전달한다. 또한, 인증 코드는 스테가노그래피를 통해 이미지 데이터에 삽입하여 전달한다. 이하 사용자(단말) 인증을 위한 시스템 및 방법을 설명한다.
사용자 인증 시스템(100)의 구조를 도시한 예이다. 인증 시스템(100)은 사용자 DB(110), 서비스 서버(120), 인증 서버(130), 제1 단말(160) 및 제2 단말(170)을 포함한다. 도 1은 예시적으로 P2P 서비스 대상인 2개의 단말을 도시하였다.
단말(160, 170)은 네트워크(인터넷)를 통해 콘텐츠를 공유하는 객체이다. 단말은 PC, 스마트폰, 노트북 등과 같이 네트워크에 연결되어 데이터를 다른 객체에 전달할 수 있는 장치이다.
사용자 DB(110)는 사용자 정보를 저장하고 관리하는 장치이다. 사용자 정보는 서비스 이용을 위한 사용자 ID, 비밀번호 등을 포함한다. 사용자 정보는 제1 단말(160)을 사용하는 제1 사용자의 정보 및 제2 단말(170)을 사용하는 제2 사용자의 정보를 포함한다. 사용자 정보는 스테가노그래피에서 사용자 인증을 위한 데이터가 삽입되는 위치를 결정한다. 사용자는 사용자 단말 등을 사용하여 사전에 자신의 사용자 정보를 사용자 DB(110)에 등록한다. 사용자 DB(110)는 서비스 서버(120) 또는 인증 서버(130)에 포함된 형태일 수도 있다.
서비스 서버(120)는 P2P 서비스를 제공하는 장치이다. 서비스 서버(120)는 P2P 서비스를 위한 인증을 수행할 수 있다. 서비스 서버(120)는 제1 단말(160)과 제2 단말(170)을 식별하고, 단말 간 콘텐츠 공유를 위한 과정을 제어할 수 있다.
인증 서버(130)는 단말 간 인증을 위한 정보를 생성하고 관리한다. 인증 서버(130)는 시각 암호화를 사용하여 인증 코드를 전달하는데 사용되는 2개의 이미지를 생성한다. 인증 서버(130)는 사용자 DB(110)의 사용자 정보를 이용하여 인증 코드를 이미지에 삽입할 수도 있다. 인증 서버(130)는 생성한 이미지를 제1 단말(160) 및 제2 단말(170)에 전달하여 단말 간 인증을 수행하게 한다.
도 1에서는 서비스 서버(120)와 인증 서버(130)를 별도의 객체로 도시하였으나, 하나의 서버에서 모든 과정을 수행할 수도 있다.
도 2는 인증 코드 전달에 사용되는 이미지를 생성하는 예이다. 인증 서버(120)는 도 2의 과정을 통해 인증에 사용되는 이미지를 생성할 수 있다. 설명의 편의를 위해 인증 서버(120)가 이미지를 생성한다고 가정한다. 먼저, 인증 서버(120)는 시각 암호화를 위한 2개의 이미지를 마련한다. 이미지 1과 이미지 2는 시각 암호화에 사용되는 이미지이다. 즉, 이미지 1과 이미지 2를 중첩하면 시각적으로 인증 코드가 나타난다. 인증 서버(120)는 시각 암호화로 인증 코드를 나타내는 이미지 1과 이미지 2를 생성한다. 인증 서버(120)는 기본 이미지(마스터 이미지)에 해당하는 이미지 1을 기준으로, 인증 코드를 나타내기 위한 이미지 2를 생성할 수 있다.
인증 서버(120)는 스테가노그래피를 이용하여 이미지 1에 인증 코드를 삽입한다. 이미지 1에 인증 코드를 삽입한 이미지를 "이미지 1_c"로 표기하였다. 이미지 1_c에서 검은색 영역이 인증 코드를 나타낸다. 이미지 1_c는 이미지 1에서 일정한 길이의 인증 코드가 삽입되어 이미지의 크기가 증가한 상태이다. 인증 코드가 삽입되면 이미지의 길이가 증가한다고 가정한다. 이미지 1_c에서 인증 코드가 삽입되어 이미지 1보다 늘어난 길이가 L이라고 하자. 이미지 1_p는 이미지 1에서 L 길이의 데이터를 패딩(padding)한 이미지이다. 인증 서버(120)는 이미지 1의 끝에 패딩 영역을 추가한다. 패딩 영역은 흰색으로 표시하였다. 즉, 인증 서버(120)는 이미지 1에서 두 개의 이미지(이미지 1_c 및 이미지 1_p)를 생성한다.
인증 서버(120)는 이미지 2에 대해서도 동일한 과정을 수행한다. 인증 서버(120)는 스테가노그래피를 이용하여 이미지 2에 인증 코드를 삽입한다. 이미지 1에 인증 코드를 삽입한 이미지를 "이미지 2_c"로 표기하였다. 이미지 2_c에서 검은색 영역이 인증 코드를 나타낸다. 이미지2_c는 이미지 2에서 일정한 길이의 인증 코드가 삽입되어 이미지의 크기가 증가한 상태이다. 인증 코드가 삽입되면 이미지의 길이가 증가한다고 가정한다. 이미지 2_c에서 인증 코드가 삽입되어 이미지 2보다 늘어난 길이가 M이라고 하자. 이미지 2_p는 이미지 2에서 M 길이의 데이터를 패딩(padding)한 이미지이다. 패딩한 영역은 흰색으로 표시하였다. 즉, 인증 서버(120)는 이미지 2에서 두 개의 이미지(이미지 2_c 및 이미지 2_p)를 생성한다. 인증 코드는 동일하기 때문에 L과 M은 동일한 크기일 수 있다.
도 3은 인증 시스템에서 사용자 인증을 수행하는 과정(200)에 대한 예이다. 도 3은 도 1의 인증 시스템(100)에서 사용자 인증을 수행하는 과정에 대한 예이다. 제1 단말(160)은 서비스 서버(120)에 일정한 서비스를 요청하고(201), 서비스 서버(120)로부터 서비스 요청에 대한 확인(응답)을 수신한다(202). 제2 단말(170)은 서비스 서버(120)에 일정한 서비스를 요청하고(203), 서비스 서버(120)로부터 서비스 요청에 대한 확인(응답)을 수신한다(204).
서비스 서버(120)는 인증 서버(130)에 사용자 인증을 위한 인증 정보를 요청한다(211). 인증 서버(130)는 도 2에서 설명한 바와 같이 2개의 이미지(이미지 1 및 이미지 2)를 생성하고, 2개의 이미지(이미지 1 및 이미지 2)로부터 모두 4개의 이미지(이미지 1_c, 이미지 1_p, 이미지 2_c 및 이미지 2_p)를 생성한다.
인증 서버(130)는 사용자 정보를 이용하여 스테가노그래피에서 인증 코드가 삽입될 위치를 결정할 수 있다. 인증 서버(130)는 사용자 ID 및 비밀번호를 이용하여 인증 코드의 삽입 위치를 결정할 수 있다. 먼저, 인증 서버(130)는 아래 수학식 1을 이용하여 사용자 정보를 기준으로 일정한 값(x)을 생성할 수 있다.
Figure 112017105372910-pat00001
수학식 1에서 id는 사용자 ID이고, pw는 사용자 비밀번호이다. id는 사용자 ID의 비트스트림이고, pw는 사용자 비밀번호의 비트스트림이다. x는 id와 pw를 XOR 연산한 결과값이다.
인증 서버(130)는 x값과 일정한 값을 비교하거나, 연산하여 인증 코드가 삽입될 위치를 결정할 수 있다. 예컨대, 인증 서버(130)는 아래의 수학식 2와 같은 모듈러(modular) 연산으로 이미지에서 인증 코드가 삽입될 위치(loc)를 결정할 수도 있다.
Figure 112017105372910-pat00002
수학식 2에서 w는 이미지의 너비(width)를 의미한다. 도 2에서 설명한 바와 같이 일정한 길이의 이미지의 너비 방향에 인증 코드 영역을 추가한다고 가정한 것이다. x가 w보다 크다면 x mod w로 위치(loc)를 결정하고, x가 w 이하라면 w mod x로 위치(loc)를 결정한다. 물론 수학식 2와 다른 수식을 사용하여 인증 코드가 삽입될 위치를 결정할 수도 있을 것이다.
인증 서버(130)는 제1 단말(160)의 사용자 정보(제1 사용자 정보)를 사용하여 이미지 1_c를 생성하고, 제2 단말(170)의 사용자 정보(제2 사용자 정보)를 사용하여 이미지 2_c를 생성한다고 가정한다. 제1 사용자 정보와 제2 사용자 정보가 다르기 때문에 도 2와 같이 각 이미지에서 인증 코드가 삽입되는 위치가 달라진다.
인증 서버(130)는 제1 단말(160)에 이미지 1을 사용하여 생성한 이미지(이미지 1_c 및 이미지 1_p)를 전달한다(231). 인증 서버(130)는 제2 단말(170)에 이미지 2를 사용하여 생성한 이미지(이미지 2_c 및 이미지 2_p)를 전달한다(232).
이후 제1 단말(160)과 제2 단말(170)은 패딩으로 생성한 이미지(이미지 1_p와 이미지 2_p)를 서로 교환한다(241). 제1 단말(160)은 이미지 1_c와 이미지 2_p를 이용하여 인증 코드를 확인한다(251). 제2 단말(170)은 이미지 2_c와 이미지 1_p를 이용하여 인증 코드를 확인하다(252).
인증 코드를 확인하여 인증이 성공하면, 제1 단말(160)은 콘텐츠를 제2 단말(170)에 전송한다(271).
도 4는 인증 시스템에서 이미지를 사용하여 사용자 인증을 수행하는 예이다. 도 4는 도 3에서 제1 단말(160)과 제2 단말(170)이 인증 코드를 확인하는 과정에 대한 예이다. 제1 단말(160)은 이미지 1_c 및 이미지 1_p를 수신하고, 제2 단말(170)은 이미지 2_c 및 이미지 2_p를 수신한다. 이후 제1 단말(160)과 제2 단말이 패딩 이미지를 교환하여 제1 단말(160)은 이미지 1_c와 이미지 2_p를 이용하여 인증 코드를 확인하고, 제2 단말(170)은 이미지 2_c와 이미지 1_p를 이용하여 인증 코드를 확인한다.
제1 단말(160)은 자신의 사용자 정보(제1 사용자 정보)를 사전에 보유하고 있다. 예컨대, 사용자가 자신의 사용자 정보를 사용자 DB(110)에 저장하면서 사용자 정보를 자신의 제1 단말(160)에 저장할 수 있다. 또는 제1 단말(160)이 사용자 DB(110)에 접근하여 제1 사용자 정보를 획득할 수도 있다. 제2 단말(170)도 자신의 사용자 정보(제2 사용자 정보)를 보유하고 있다고 가정한다.
제1 단말(160)은 자신의 사용자 정보를 이용하여 이미지 1_c에서 인증 코드를 제거한다. 제1 단말(160)은 이미지 2_p에서 패딩 영역을 제거한다. 제1 단말(160)은 이미지 2_p에서 패딩 영역의 길이를 사전에 알고 있다. 제1 단말(160)은 이미지 1_c에서 추출한 인증 코드를 확인한다. 인증 코드는 "1234"라고 가정한다. 이제 제1 단말(160)은 이미지 1_c에서 인증 코드를 제거한 이미지 1과 이미지 2_p에서 패딩 영역을 제거한 이미지 2를 중첩하여 나타나는 정보를 확인한다. 제1 단말(사용자)은 도 4와 같이 시각적으로 "1234"가 나타나면, 이미지 1에서 추출한 인증코드와 비교하여 인증을 수행한다.
제2 단말(170)도 유사한 과정을 수행하여 인증을 수행한다. 제2 단말(170)은 자신의 사용자 정보를 이용하여 이미지 2_c에서 인증 코드를 제거한다. 제2 단말(170)은 이미지 1_p에서 패딩 영역을 제거한다. 제2 단말(170)은 이미지 2_c에서 추출한 인증 코드를 확인한다. 인증 코드는 "1234"라고 가정한다. 이제 제2 단말(170)은 이미지 2_c에서 인증 코드를 제거한 이미지 2와 이미지 1_p에서 패딩 영역을 제거한 이미지 1을 중첩하여 나타나는 정보를 확인한다. 제2 단말(사용자)은 도 4와 같이 시각적으로 "1234"가 나타나면, 이미지 1에서 추출한 인증코드와 비교하여 인증을 수행한다.
도 5는 멀티캐스트 서비스에서 사용자 인증을 수행하는 시스템(300)의 구조를 도시한 예이다. 도 5는 도 1과 달리 단말 간 인증을 수행하지 않고, 서비스 제공자가 서비스 대상인 단말을 인증하는 시스템이다. 인증 시스템(300)은 사용자 DB(310), 서비스 서버(320), 인증 서버(330) 및 복수의 단말(360, 370 및 380)을 포함한다. 도 5은 예시적으로 3개의 단말을 도시하였다.
단말(360, 370 및 380)은 네트워크(인터넷)를 통해 서비스 서버(320)로부터 일정한 콘텐츠를 전달받는 객체이다. 단말은 PC, 스마트폰, 노트북 등과 같이 네트워크에 연결되어 데이터를 다른 객체로부터 수신할 수 있는 장치이다.
사용자 DB(310)는 사용자 정보를 저장하고 관리하는 장치이다. 사용자 정보는 서비스 이용을 위한 사용자 ID, 비밀번호 등을 포함한다. 사용자 정보는 복수의 단말(360, 370 및 380)에 대한 사용자 정보를 포함한다. 사용자는 사용자 단말 등을 사용하여 사전에 자신의 사용자 정보를 사용자 DB(310)에 등록한다. 사용자 DB(310)는 서비스 서버(320) 또는 인증 서버(330)에 포함된 형태일 수도 있다.
서비스 서버(320)는 멀티캐스트 서비스를 제공하는 장치이다. 서비스 서버(220)는 멀티캐스트를 위한 인증을 수행할 수 있다. 서비스 서버(320)는 서비스 사업자가 관리하는 장치이다.
인증 서버(330)는 사용자 인증을 위한 정보를 생성하고 관리한다. 인증 서버(330)는 시각 암호화를 사용하여 인증 코드를 전달하는데 사용되는 2개의 이미지를 생성한다.
도 6은 멀티캐스트 서비스에서 사용자 인증을 수행하는 과정(400)에 대한 예이다. 도 6은 두 개의 단말(360 및 370)을 예로 설명한다. 제1 단말(360)은 사용자 등록을 하여 사용자 정보를 인증 서버(330)에 전달한다(401). 제2 단말(370)도 사용자 등록을 하여 사용자 정보를 인증 서버(330)에 전달한다(402). 제1 단말(360) 및 제2 단말(370)은 사용자 정보를 사용자 DB(310)에 저장하고, 인증 서버(330)가 사용자 DB(310)에 접근하여 사용자 정보를 획득할 수도 있다.
서비스 서버(320)가 인증 서버(330)에 인증 정보를 요청하면(411), 인증 서버(330)는 인증을 위한 이미지를 생성한다(421). 인증 서버(330)는 시각 암호화를 위한 제1 이미지(마스터 이미지)와 제2 이미지를 생성한다. 인증 서버(330)는 제1 이미지를 제1 단말(360)과 제2 단말에 전달하여 공유한다(422, 423). 인증 서버(330)는 제2 이미지를 서비스 서버(320)에 전달한다. 한편, 제2 이미지는 각 단말을 위한 개별적인 이미지일 수 있다. 즉, 각 단말마다 인증 코드가 상이할 수 있다. 제1 단말(360)을 위해서는 특정한 제2 이미지 A와 제1 이미지를 중첩하여 인증 코드 A를 나타낼 수 있다. 제1 단말(370)을 위해서는 특정한 제2 이미지 B와 제1 이미지를 중첩하여 인증 코드 B를 나타낼 수 있다.
서비스 서버(320)는 복수의 제2 이미지를 결합하여 인증용 이미지를 생성한다(431). 서비스 서버(320)는 결합한 이미지를 각 단말에 전달한다(432, 433).
제1 단말(360)은 서비스 서버(320)로부터 수신한 결합 이미지에서 자신에게 할당된 영역(특정 제2 이미지)을 찾아, 제1 이미지와 중첩하여 인증 코드를 확인할 수 있다. 또는 제1 단말(360)은 결합 이미지에 존재하는 복수의 제2 이미지 각각과 제1 이미지를 중첩하여 인증 코드를 확인할 수 있다(441). 이제 제1 단말(360)은 결합 이미지에서 자신의 인증 코드 전달에 사용되는 특정한 제2 이미지를 알고 있는 상태이다. 제1 단말(360)은 자신의 제2 이미지에 자신의 사용자 정보(제1 사용자 정보)를 사용하여 확인한 인증 코드를 스테가노그래피로 삽입한다. 즉, 제1 단말(360)은 인증 코드가 삽입된 제2 이미지를 생성한다(442). 인증 코드를 삽입하는 위치는 전술한 바와 같다.
제2 단말(370)도 수신한 결합 이미지와 제1 이미지를 이용하여 인증 코드를 확인할 수 있다(451). 또 제2 단말(370)은 자신의 인증 코드 전달에 사용되는 특정한 제2 이미지에 자신의 사용자 정보(제2 사용자 정보)를 사용하여 확인한 인증 코드를 스테가노그래피로 삽입한다. 즉, 제2 단말(370)은 인증 코드가 삽입된 제2 이미지를 생성한다(452). 인증 코드가 삽입된 제2 이미지를 제2 수정 이미지라고 명명한다.
제1 단말(360)과 제2 단말(370)은 자신이 각각 생성한 제2 수정 이미지를 서비스 서버(360)에 전달한다(461, 462).
서비스 서버(320)는 제1 단말(360)이 전송한 제2 수정 이미지에서 제1 사용자 정보를 이용하여 인증 코드를 추출할 수 있다. 서비스 서버(320)는 추출한 인증 코드와 자신이 시각 암호화로 전달했던 인증 코드를 비교하여 인증을 수행할 수 있다. 서비스 서버(320)는 제2 단말(370)이 전송한 제2 수정 이미지에서 제2 사용자 정보를 이용하여 인증 코드를 추출할 수 있다. 서비스 서버(320)는 추출한 인증 코드와 자신이 시각 암호화로 전달했던 인증 코드를 비교하여 인증을 수행할 수 있다(471). 또는 서비스 서버(320)가 수신한 제2 수정 이미지를 인증 서버(330)에 전달하여 인증을 수행하게하고, 인증 결과를 수신할 수도 있다. 서비스 서버(320) 또는 인증 서버(330)는 인증을 위하여 시각 암호화로 전달하였던 인증 코드를 사전에 알고 있어야 하고, 또 제2 수정 이미지에서 인증 코드를 추출하기 위하여 각 단말의 사용자 정보를 획득할 수 있어야 한다.
이후 서비스 서버(320)는 인증에 성공하면 멀티캐스트로 콘텐츠를 단말에 전달할 수 있다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.
100 : 인증 시스템
110 : 사용자 DB
120 : 서비스 서버
130 : 인증 서버
160 : 제1 단말
170 : 제2 단말
300 : 인증 시스템
310 : 사용자 DB
320 : 서비스 서버
330 : 인증 서버
360, 370, 380 : 단말

Claims (12)

  1. 인증 서버가 제1 이미지에 제1 사용자 정보에 기반하여 인증 코드를 삽입한 제1 수정 이미지와 상기 제1 이미지와 중첩되면 상기 인증 코드와 동일한 내용이 시각적으로 나타나는 제2 이미지를 생성하는 단계;
    상기 인증 서버가 제3 이미지에 제2 사용자 정보에 기반하여 상기 인증 코드를 삽입한 제3 수정 이미지와 상기 제3 이미지와 중첩되면 상기 인증 코드와 동일한 내용이 시각적으로 나타나는 제4 이미지를 생성하는 단계;
    제1 단말이 상기 제1 수정 이미지와 상기 제4 이미지를 수신하는 단계;
    제2 단말이 상기 제3 수정 이미지와 상기 제2 이미지를 수신하는 단계;
    상기 제1 단말과 상기 제2 단말이 상기 제4 이미지와 상기 제2 이미지를 교환하는 단계; 및
    상기 제1 단말이 상기 제1 수정 이미지에서 상기 제1 사용자 정보에 기반하여 인증 코드를 삭제한 제1 이미지와 상기 제2 이미지를 결합한 이미지에서 보이는 인증 코드와, 상기 제1 수정 이미지에서 추출한 인증 코드를 비교하여 인증을 수행하는 단계를 포함하되,
    상기 제1 사용자 정보는 사용자 아이디 및 비밀번호이고, 상기 인증 서버는 상기 사용자 아이디 및 상기 비밀번호를 논리연산한 결과인 특정 위치에 상기 인증 코드를 삽입하는 P2P 통신을 위한 단말 인증 방법.
  2. 제1항에 있어서,
    상기 인증 서버는 상기 제2 이미지가 상기 제1 수정 이미지와 동일한 크기를 갖도록 패딩(padding)을 수행하고, 상기 제4 이미지가 상기 제3 수정 이미지와 동일한 크기를 갖도록 패딩(padding)을 수행하는 단계를 더 포함하는 P2P 통신을 위한 단말 인증 방법.
  3. 제2항에 있어서,
    상기 제1 단말은 상기 인증 코드를 삭제한 제1 이미지와 패딩된 영역을 제거한 제2 이미지를 결합하는 P2P 통신을 위한 단말 인증 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 인증 서버는 상기 사용자 아이디와 상기 비밀번호를 XOR 연산한 값(x)이, 상기 제1 이미지의 너비(w)보다 큰 경우, 상기 제1 이미지에 x mod w로 결정한 위치에 상기 인증 코드를 삽입하는 P2P 통신을 위한 단말 인증 방법. (여기서 mod는 모듈러 연산자임)
  6. 제1항에 있어서,
    상기 제1 단말은 상기 제1 이미지와 상기 제2 이미지를 결합한 이미지에서 보이는 인증 코드와, 상기 제1 수정 이미지에서 추출한 인증 코드가 동일한 경우, 콘텐츠를 상기 제2 단말에 전송하는 단계를 더 포함하는 P2P 통신을 위한 단말 인증 방법.
  7. 인증 서버가 제1 이미지 및 상기 제1 이미지와 중첩되면 각각 인증 코드가 나타나는 복수의 제2 이미지를 생성하는 단계;
    제1 단말이 상기 제1 이미지와 상기 복수의 제2 이미지 중 자신에게 할당된 이미지를 수신하고, 상기 제1 이미지와 상기 할당된 이미지를 중첩하여 인증 코드를 확인하는 단계;
    상기 제1 단말이 상기 확인한 인증 코드가 자신의 인증 코드와 일치하면, 상기 자신의 인증 코드를 상기 할당된 이미지의 특정 위치에 삽입하여 제2 수정 이미지를 생성하는 단계; 및
    서비스 서버 또는 상기 인증 서버가 상기 제2 수정 이미지에서 상기 제1 단말의 사용자 정보를 기준으로 삽입된 인증 코드를 추출하고, 추출한 인증 코드가 상기 제1 단말에 대한 인증 코드가 맞는지 확인하는 단계를 포함하는 멀티캐스트를 위한 단말 인증 방법.
  8. 제7항에 있어서,
    상기 인증 서버는 상기 제1 이미지와 상기 복수의 제2 이미지를 결합하여 상기 제1 단말을 포함하는 복수의 단말에 동시에 전달하는 멀티캐스트를 위한 단말 인증 방법.
  9. 제7항에 있어서,
    상기 제1 단말은 자신의 사용자 아이디 및 비밀번호를 논리연산한 결과인 특정 위치에 상기 인증 코드를 삽입하여 상기 제2 수정 이미지를 생성하는 멀티캐스트를 위한 단말 인증 방법.
  10. 제7항에 있어서,
    상기 사용자 정보는 사용자 아이디 및 비밀번호이고,
    상기 제1 단말은 상기 사용자 아이디와 상기 비밀번호를 XOR 연산한 값(x)이, 상기 제1 이미지의 너비(w)보다 큰 경우, 상기 제1 이미지에 x mod w로 결정한 위치에 상기 인증 코드를 삽입하여 상기 제2 수정 이미지를 생성하는 멀티캐스트를 위한 단말 인증 방법.
  11. 제7항에 있어서,
    상기 사용자 정보는 사용자 아이디 및 비밀번호이고,
    상기 서비스 서버 또는 상기 인증 서버는 상기 제1 단말의 사용자 정보를 이용하여 상기 제2 수정 이미지에서 상기 인증 코드가 삽입된 위치를 결정하는 멀티캐스트를 위한 단말 인증 방법.
  12. 제7항에 있어서,
    상기 서비스 서버 또는 상기 인증 서버는 상기 제1 단말의 사용자 정보가 사전에 등록된 사용자 데이터베이스로부터 상기 사용자 정보를 획득하는 멀티캐스트를 위한 단말 인증 방법.
KR1020170139084A 2017-10-25 2017-10-25 P2p 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법 KR101979111B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170139084A KR101979111B1 (ko) 2017-10-25 2017-10-25 P2p 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170139084A KR101979111B1 (ko) 2017-10-25 2017-10-25 P2p 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법

Publications (2)

Publication Number Publication Date
KR20190046020A KR20190046020A (ko) 2019-05-07
KR101979111B1 true KR101979111B1 (ko) 2019-05-15

Family

ID=66579254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170139084A KR101979111B1 (ko) 2017-10-25 2017-10-25 P2p 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법

Country Status (1)

Country Link
KR (1) KR101979111B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024645A1 (ja) 2003-08-29 2005-03-17 Yoshiko Kitagawa 情報処理サーバ及び情報処理方法
KR101555802B1 (ko) 2015-01-21 2015-09-24 주식회사 엔씨소프트 이미지를 이용한 사용자 인증 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2977418B1 (fr) * 2011-06-28 2013-06-28 Alcatel Lucent Systeme d'authentification via deux dispositifs de communication
KR101318154B1 (ko) * 2011-08-22 2013-10-15 주식회사 인프라웨어 이미지 기반의 공유문서 사용자 인증 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
US9305154B2 (en) * 2013-03-15 2016-04-05 Qualcomm Incorporated Method and apparatus for requesting and providing access to information associated with an image
KR101746577B1 (ko) 2016-01-27 2017-06-27 (주)투비스마트 시각화 암호를 이용한 인증 방법, 인증서버 및 인증 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024645A1 (ja) 2003-08-29 2005-03-17 Yoshiko Kitagawa 情報処理サーバ及び情報処理方法
KR101555802B1 (ko) 2015-01-21 2015-09-24 주식회사 엔씨소프트 이미지를 이용한 사용자 인증 방법 및 시스템

Also Published As

Publication number Publication date
KR20190046020A (ko) 2019-05-07

Similar Documents

Publication Publication Date Title
WO2020080145A1 (ja) コンテンツ契約システム、コンテンツ契約方法、権利者端末、譲受人端末、制御端末、コンテンツ蓄積サーバ、権利者プログラム、譲受人プログラム、制御プログラムおよびコンテンツ蓄積プログラム
US10848315B2 (en) Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
US20190296920A1 (en) Method and service-providing server for secure transmission of user-authenticating information
US9940477B2 (en) Geolocation-based encryption method and system
CN111738238B (zh) 人脸识别方法和装置
US8396218B2 (en) Cryptographic module distribution system, apparatus, and program
CN111585749A (zh) 数据传输方法、装置、系统及设备
CN109474606A (zh) 文件传输方法、装置、计算机设备及存储介质
CN112019493A (zh) 身份认证方法、身份认证装置、计算机设备和介质
CN110599342B (zh) 基于区块链的身份信息的授权方法及装置
US11177963B2 (en) Method for authenticating a user based on an image relation rule and corresponding first user device, server and system
CN109525989A (zh) 数据处理、身份认证方法及系统、终端
US8863241B2 (en) System and method for managing usage rights of software applications
JP2017204704A (ja) 正当性保証方法、正当性保証システム及び正当性保証プログラム
CN110351276A (zh) 数据处理方法、设备及计算机可读存储介质
JPWO2021117406A1 (ja) スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法
CN107248997B (zh) 多服务器环境下基于智能卡的认证方法
CN110351254B (zh) 访问操作的执行方法及装置
CN105141624B (zh) 登录方法、账号管理服务器及客户端系统
CN111262825B (zh) 在包括多个节点的通信系统中处理用户公钥的装置和方法
KR101979111B1 (ko) P2p 통신을 위한 단말 인증 방법 및 멀티캐스트를 위한 단말 인증 방법
CN115001714B (zh) 资源访问方法及装置、电子设备、存储介质
US8261088B2 (en) Secret authentication system
CN113094675B (zh) 基于分布式模型训练的用户认证方法及装置
CN115357915A (zh) 基于深度学习和信息隐藏的区块链方法和医康养交易系统

Legal Events

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