KR101620446B1 - 이미지를 이용한 인증 장치 및 방법 - Google Patents

이미지를 이용한 인증 장치 및 방법 Download PDF

Info

Publication number
KR101620446B1
KR101620446B1 KR1020140079232A KR20140079232A KR101620446B1 KR 101620446 B1 KR101620446 B1 KR 101620446B1 KR 1020140079232 A KR1020140079232 A KR 1020140079232A KR 20140079232 A KR20140079232 A KR 20140079232A KR 101620446 B1 KR101620446 B1 KR 101620446B1
Authority
KR
South Korea
Prior art keywords
image
authentication
user terminal
key value
images
Prior art date
Application number
KR1020140079232A
Other languages
English (en)
Other versions
KR20160001214A (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 KR1020140079232A priority Critical patent/KR101620446B1/ko
Publication of KR20160001214A publication Critical patent/KR20160001214A/ko
Application granted granted Critical
Publication of KR101620446B1 publication Critical patent/KR101620446B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

인증 장치가 이미지를 이용하여 인증하는 방법으로서, 사용자 단말의 인증 화면에 포함되는 복수의 이미지를 추출하는 단계, 복수의 키값을 추출하는 단계, 상기 복수의 이미지와 상기 복수의 키값을 일대일 매핑하여 복수의 인증아이템을 생성하는 단계, 상기 복수의 인증아이템 중 임의의 인증아이템을 정답아이템으로 선택하고 상기 정답아이템을 포함하는 상기 복수의 인증아이템을 저장하는 단계, 그리고 상기 복수의 키값을 포함하는 인증 화면 정보를 사용자 단말에게 전송하는 단계를 포함한다.

Description

이미지를 이용한 인증 장치 및 방법{APPARATUS AND METHOD FOR AUTHENTIFICATION USING IMAGES}
본 발명은 이미지를 이용한 인증 장치 및 방법에 관한 것이다.
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart, 이하 캡챠)는 사람과 컴퓨터를 판별하는 방법으로서, 응답한 사용자가 사람인지 컴퓨터인지를 구별하기 위해 사용된다. 캡챠는 컴퓨터에 의한 광고성 게시물 게시, 아이디 자동생성, 계정 해킹 등 웹 환경에서 제공되는 서비스의 자동화를 방지한다.
일반적인 캡챠는 컴퓨터가 읽기 어렵게 문자를 왜곡하여 제시하고, 사용자가 왜곡된 문자에 해당하는 문자를 입력하면, 사용자를 사람으로 판단한다. 그러나, 문자 왜곡 방식의 캡챠는 왜곡된 문자를 사람도 쉽게 판별하기 어려운 문제가 있다. 또한, 사용자가 휴대 단말에서 왜곡된 문자를 확인하고, 문자를 입력하는 것도 쉽지 않다. 그리고, 컴퓨터가 왜곡 패턴을 분석하여 문자를 인식할 수도 있다.
질문에 맞는 이미지를 선택하도록 하는 캡챠 시스템도 있으나, 이미지마다 고유의 URL을 부여한다. 따라서, 컴퓨터가 이미지의 고정된 URL을 데이터베이스에 축적하여, 캡챠 질문에 해당하는 이미지를 선택할 수 있다. 이때, 이미지의 URL이 변경되더라도, 컴퓨터는 MD5(Message-Digest algorithm 5)로 해쉬(Hash)된 이미지 파일의 값을 이용하여 이미지가 어떤 이미지인지 분석할 수 있다.
이와 같이, 지금까지의 캡챠는 사람이 인식하기 어렵거나 입력하기 어렵고, 컴퓨터가 캡챠 코드를 판독할 가능성이 있다.
본 발명이 해결하고자 하는 과제는 이미지를 이용한 인증 장치 및 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 인증 장치가 이미지를 이용하여 인증하는 방법으로서, 사용자 단말의 인증 화면을 위한 복수의 이미지를 추출하는 단계, 복수의 키값을 추출하는 단계, 상기 복수의 이미지와 상기 복수의 키값을 일대일 매핑하여 복수의 인증아이템을 생성하는 단계, 상기 복수의 인증아이템 중 임의의 인증아이템을 정답아이템으로 선택하는 단계, 그리고 상기 복수의 키값을 포함하는 인증 화면 정보를 상기 사용자 단말에게 전송하는 단계를 포함한다.
상기 인증 방법은 상기 사용자 단말로부터 상기 복수의 키값 중 임의의 키값을 포함하는 이미지 요청을 수신하는 단계, 상기 복수의 인증아이템에서, 상기 이미지 요청에 포함된 키값에 매핑된 이미지를 추출하는 단계, 그리고 추출한 이미지를 상기 사용자 단말로 전송하는 단계를 더 포함할 수 있다.
상기 추출한 이미지를 사용자 단말로 전송하는 단계는 상기 추출한 이미지를 변형하는 단계, 그리고 변형한 이미지를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.
상기 추출한 이미지를 변형하는 단계는 상기 추출한 이미지를 회전, 확대, 축소, 그리고 왜곡 중 적어도 하나의 방법으로 변형할 수 있다.
상기 인증 방법은 상기 사용자 단말로부터 응답 키값을 포함하는 인증 요청을 수신하는 단계, 그리고 상기 정답아이템의 키값과 상기 응답 키값을 비교하여 인증 결과를 생성하는 단계를 더 포함할 수 있다.
상기 응답 키값은 상기 사용자 단말의 인증 화면에서 응답 영역으로 드래그된 이미지의 키값일 수 있다.
상기 인증 방법은 상기 정답아이템의 이미지 정보를 기초로 질문 정보를 생성하는 단계를 더 포함하고, 상기 인증 화면 정보는 상기 질문 정보를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 인증 장치가 이미지를 이용하여 인증하는 방법으로서, 랜덤하게 추출된 복수의 키값과 복수의 이미지를 일대일 매핑하는 단계, 상기 복수의 이미지 중 정답 이미지를 선택하고, 상기 정답 이미지에 매핑된 키값을 정답 키값으로 저장하는 단계, 사용자 단말로 상기 복수의 키값이 매핑된 상기 복수의 이미지를 전송하는 단계, 상기 사용자 단말로부터 응답 키값을 수신하는 단계, 그리고 상기 정답 키값과 상기 응답 키값을 비교하여 인증 결과를 생성하는 단계를 포함한다.
상기 복수의 이미지를 전송하는 단계는 상기 복수의 키값을 사용자 단말에게 전송하는 단계, 상기 사용자 단말로부터 상기 복수의 키값 각각에 해당하는 이미지를 요청받는 단계, 그리고 상기 복수의 키값 각각에 매핑된 복수의 이미지를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.
상기 인증 방법은 상기 정답 이미지의 정보를 기초로 질문 정보를 생성하는 단계, 그리고 상기 사용자 단말로 상기 질문 정보를 전송하는 단계를 더 포함할 수 있다.
상기 복수의 이미지 그리고 상기 질문 정보는 상기 사용자 단말의 인증 화면에 표시되고, 상기 인증 화면은 응답 영역을 더 포함할 수 있다.
상기 응답 키값은 상기 인증 화면에서 상기 응답 영역으로 드래그된 이미지의 키값일 수 있다.
본 발명의 한 실시예에 따른 사용자 단말이 이미지를 이용하여 인증하는 방법으로서, 인증 장치로부터 질문 정보, 그리고 복수의 키값이 매핑된 복수의 이미지를 수신하는 단계, 상기 질문 정보, 그리고 상기 복수의 이미지를 포함하는 인증 화면을 생성하는 단계, 그리고 상기 인증 화면에서 상기 복수의 이미지 중 임의 이미지가 임의 영역으로 드래그되는 경우, 상기 임의 이미지의 키값을 상기 인증 장치로 전송하는 단계를 포함한다.
상기 복수의 이미지를 수신하는 단계는 상기 복수의 키값을 포함하는 인증 화면 정보를 수신하는 단계, 상기 인증 장치로 상기 복수의 키값 각각에 매핑된 이미지를 요청하는 단계, 그리고 상기 인증 장치로부터 상기 복수의 키값 각각에 매핑된 상기 복수의 이미지를 수신하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면 사람이 인식하기 쉬운 이미지로 질문을 구성하여 사용자가 질문을 쉽게 이해할 수 있다. 본 발명의 실시예에 따르면 정답 이미지를 드래그 앤 드롭 방식으로 응답하는 인터페이스를 통해 사용자가 휴대 단말에서도 간단하게 질문에 응답할 수 있다. 또한, 본 발명의 실시예에 따르면 이미지 리소스의 키값을 랜덤하게 부여하고, 단말과 서버 사이에서 단일 URL로 이미지를 제공하므로, 컴퓨터가 이미지 정보를 판독할 수 없다. 따라서, 본 발명의 실시예에 따르면 사용자는 인증 정보를 인식하고 입력하는 것이 쉽고, 컴퓨터는 인증 정보를 판독하기 어려워, 사람과 컴퓨터를 명확하게 분별할 수 있다.
도 1은 본 발명의 한 실시예에 따른 인증 시스템을 개략적으로 나타내는 도면이다.
도 2와 도 3은 본 발명의 한 실시예에 따른 사용자 단말에서의 인증 방법을 예시적으로 설명한 도면이다.
도 4는 본 발명의 한 실시예에 따른 인증 화면 생성 방법의 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 인증 확인 방법의 흐름도이다.
도 6은 본 발명의 한 실시예에 따른 사용자 단말과 인증 장치 사이의 메시지 교환을 나타내는 흐름도이다.
도 7은 종래의 이미지 요청 및 응답 방법을 설명하는 도면이다.
도 8은 본 발명의 한 실시예에 따른 이미지 요청 및 응답 방법을 설명하는 도면이다.
도 9는 본 발명의 한 실시예에 따른 인증 장치의 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 한 실시예에 따른 인증 시스템을 개략적으로 나타내는 도면이고, 도 2와 도 3은 본 발명의 한 실시예에 따른 사용자 단말에서의 인증 방법을 예시적으로 설명한 도면이다.
먼저 도 1을 참고하면, 인증 시스템(10)은 사용자 단말(100), 그리고 인증 장치(200)를 포함한다.
사용자 단말(100)이 인증 장치(200)로 인증 화면을 요청한다. 그러면, 인증 장치(200)는 사용자 단말(100)에게 복수의 이미지(31, 32, 33, 34, 35, 36)를 제공한다. 복수의 이미지(31-36) 각각은 서로 다른 키값을 가지고 있다. 인증할 때마다 키값들이 랜덤하게 선택되고, 선택된 키값들은 복수의 이미지(31-36) 각각에 랜덤하게 매핑된다.
사용자 단말(100)은 도 2와 같이 복수의 이미지(31, 32, 33, 34, 35, 36)를 포함하는 인증 화면(300)을 표시한다. 인증 화면(300)은 질문 내용을 포함하는 질문 영역(40), 그리고 응답 영역(50)을 포함한다. 인증 화면(300)은 질문의 답에 해당하는 이미지를 응답 영역(50)으로 드래그하도록 요청하는 내용을 포함한다.
사용자가 이미지(33)를 응답 영역(50)으로 드래그하면, 사용자 단말(100)은 이미지(33)의 키값을 인증 장치(200)로 전송한다.
인증 장치(200)는 정답에 해당하는 키값과 사용자 단말(100)로부터 수신한 키값을 비교하여 인증 결과를 출력한다.
이와 같이, 인증 화면(300)이 사람이 인식하기 쉬운 질문과 이미지로 구성되므로, 사용자가 질문을 쉽게 이해하고 정답을 고를 수 있다. 인증 화면(300)이 이미지를 드래그 앤 드롭 방식으로 응답하도록 구성되므로, 사용자가 휴대 단말의 터치 스크린을 터치하여 질문에 응답할 수 있다. 한편, 자동 인증을 수행하려는 컴퓨터는 인증 화면(300)에서 이미지를 드래그할 수 없으므로, 질문에 응답하기가 어렵다.
이때, 인증 장치(200)는 이미지를 식별하는 키값을 이미지 이름 등으로 고정하는 것이 아니라, 인증 화면 요청을 받을 때마다 이미지의 키값을 랜덤하게 부여한다. 따라서, 동일한 이미지라고 하더라도, 이미지에 매핑되는 키값이 인증할 때마다 달라진다. 따라서, 자동 인증을 수행하려는 컴퓨터는 인증 화면(300)에서 이미지와 키값을 추출하더라도, 키값이 매번 바뀌기 때문에 키값으로 이미지를 구분하기 어렵다.
또한, 인증 장치(200)는 이미지를 변형하여 사용자 단말(100)에게 제공할 수 있다. 예를 들면, 인증 장치(200)는 원본 이미지를 오른쪽으로 일정 각도 회전한 이미지(33)를 사용자 단말(100)에게 제공한다. 사람은 하트 이미지가 회전되어 있더라도 하트 이미지로 인식하지만, 자동 인증을 수행하려는 컴퓨터는 원본 이미지와 회전한 이미지를 다르다고 판단한다. 즉, 컴퓨터는 MD5 Hash 값을 통해서 이미지를 판별하기 어렵다.
다음에서, 보안성을 높이기 위한 인증 방법에 대해 자세히 설명한다.
도 4는 본 발명의 한 실시예에 따른 인증 화면 생성 방법의 흐름도이다.
도 4를 참고하면, 인증 장치(200)는 사용자 단말(100)로부터 인증 화면을 요청받는다(S110).
인증 장치(200)는 인증 화면에 표시할 N개의 이미지를 선택한다(S120).
인증 장치(200)는 N개의 키값을 추출한다(S130). 인증 장치(200)는 난수 발생기 등 다양한 방법을 통해, 인증 화면에 제시되는 이미지의 수만큼 키값을 생성한다.
인증 장치(200)는 N개의 이미지와 N개의 키값을 일대일 매핑하여 N개의 인증아이템을 생성한다(S140). 여기서, 매핑된 이미지와 키값을 인증아이템이라고 정의한다.
인증 장치(200)는 N개의 인증아이템 중에서 하나의 인증아이템을 정답아이템으로 선택한다(S150).
인증 장치(200)는 정답아이템을 포함하는 N개의 인증아이템을 저장한다(S160).
인증 장치(200)는 N개의 키값을 포함하는 인증 화면 정보를 사용자 단말(100)로 전송한다(S170). 인증 화면 정보는 사용자 단말(100)이 도 2와 같은 인증 화면을 구성하는데 필요한 정보로서, 질문 정보, 키값을 포함하는 이미지 요청 정보, 그리고 화면 레이아웃 정보 등을 포함한다. 인증 장치(200)는 정답아이템으로 선택된 이미지 정보(예를 들면, 이미지명)를 기초로 질문 정보를 생성할 수 있다. 예를 들면, 인증 장치(200)는 정답아이템이 하트 이미지인 경우, 하트 이미지에 태깅된 이미지명인 "하트"를 기초로 "하트를 골라 주세요"라는 질문 정보를 생성할 수 있다. 이미지 요청 정보는 인증 장치(200)에게 N개의 이미지 각각을 요청하는 정보로서, 이미지를 제공하는 장치의 주소(URL)로 지정될 수 있다. 이때, N개의 이미지를 요청하는 URL은 동일하고, 이미지를 구분하는 키값이 URL의 파라미터로 설정된다.
인증 장치(200)는 사용자 단말(100)로부터 키값 각각에 해당하는 이미지 요청을 받는다(S180).
인증 장치(200)는 N개의 인증아이템에서 키값에 해당하는 이미지를 획득하여 사용자 단말(100)로 전송한다(S190). 이때, 인증 장치(200)는 저장된 원본 이미지를 그대로 전송하는 것이 아니라, 원본 이미지를 다양하게 변형하여 전송할 수 있다. 예를 들면, 인증 장치(200)는 원본 이미지를 회전하여 변형 이미지를 생성하고, 변형 이미지를 사용자 단말(100)로 전송할 수 있다. 회전 각도는 랜덤하게 결정될 수 있다. 또는, 인증 장치(200)는 원본 이미지의 크기를 조절하거나 왜곡하여 변형 이미지를 생성할 수 있다.
사용자 단말(100)은 인증 화면 정보와 이미지들을 이용하여 도 2와 같은 인증 화면을 표시한다.
도 5는 본 발명의 한 실시예에 따른 인증 확인 방법의 흐름도이다.
도 5를 참고하면, 인증 장치(200)는 사용자 단말(100)로부터 키값을 포함하는 인증 요청을 수신한다(S210). 사용자 단말(100)은 인증 화면의 응답 영역으로 어느 이미지가 드래그 되면, 드래그된 이미지의 키값을 인증 장치(200)로 전송하여 인증을 요청한다.
인증 장치(200)는 정답아이템의 키값과 수신한 키값을 비교하여 인증 결과를생성한다(S220).
인증 장치(200)는 인증 결과를 사용자 단말(100)로 전송한다(S230).
도 6은 본 발명의 한 실시예에 따른 사용자 단말과 인증 장치 사이의 메시지 교환을 나타내는 흐름도이다.
도 6을 참고하면, 사용자 단말(100)이 인증 장치(200)로 인증 화면을 요청한다(S310).
인증 장치(200)는 인증 화면에 포함되는 N개의 이미지와 N개의 키값을 일대일 매핑하여 N개의 인증아이템을 생성한다(S320). N개의 이미지와 N개의 키값은 무작위로 추출된다. 여기서, 인증아이템은 캡챠 아이템일 수 있다.
인증 장치(200)는 N개의 인증아이템 중에서 하나의 인증아이템을 정답아이템으로 선택하고 질문을 만든다(S322).
인증 장치(200)는 정답아이템을 포함하는 N개의 인증아이템을 저장한다(S324). 여기서, 정답아이템을 포함하는 N개의 인증아이템은 캡챠 객체일 수 있다.
인증 장치(200)는 질문 정보, 그리고 키값을 포함하는 이미지 요청 정보를 포함하는 인증 화면 정보를 사용자 단말(100)로 전송한다(S330). 인증 장치(200)는 정답아이템으로 선택된 이미지 정보(예를 들면, 이미지명)를 기초로 질문 정보를 생성할 수 있다. 이미지 요청 정보는 N개의 이미지 각각을 요청하는 N개의 URL 정보로서, N개의 URL은 동일한 URL(즉, 단일 URL)이며, 이미지를 구분하는 서로 다른 키값이 URL의 파라미터로 설정된다.
사용자 단말(100)은 이미지 요청 정보를 기초로 키값 각각에 해당하는 이미지들을 인증 장치(200)에게 요청한다(S340). 사용자 단말(100)은 지정된 단일 URL로 이미지를 요청한다.
인증 장치(200)는 N개의 인증아이템에서 키값 각각에 해당하는 이미지들을 획득하여 사용자 단말(100)로 전송한다(S342). 이때, 인증 장치(200)는 저장된 원본 이미지들을 변형하여 사용자 단말(100)로 전송할 수 있다. 인증 장치(200)는 HTTP의 응답 헤더(Response header)에 이미지임을 명시하여 사용자 단말에서 이미지로 인식하게 한다.
사용자 단말(100)은 질문 정보와 수신한 이미지들을 포함하는 인증 화면을 표시한다(S350). 인증 화면은 질문 정보에 해당하는 이미지를 응답 영역으로 드래그하도록 요청하는 내용을 포함한다.
사용자 단말(100)은 선택된 이미지의 키값을 인증 장치(200)로 전송한다(S360). 사용자 단말(100)은 응답 영역으로 드래그된 이미지의 키값을 인증 장치(200)로 전송할 수 있다.
인증 장치(200)는 정답아이템의 키값과 수신한 키값을 비교하여 인증 결과를생성한다(S370).
인증 장치(200)는 인증 결과를 사용자 단말(100)에게 전송한다(S372).
도 7은 종래의 이미지 요청 및 응답 방법을 설명하는 도면이고, 도 8은 본 발명의 한 실시예에 따른 이미지 요청 및 응답 방법을 설명하는 도면이다.
먼저 도 7을 참고하면, 종래의 이미지 기반 캡챠 시스템은 정적인 방식으로 인증 화면을 생성한다. 따라서, 사용자 단말은 인증 장치에게 인증 화면에 표시할 이미지를 요청하는데, 이미지마다 부여된 고유의 URL을 이용한다. 즉, 사용자 단말은 image_a에 부여된 URL(예를 들면, http://domain:port/image_a)을 이용해 이 image_a를 요청하고, image_b에 부여된 URL(예를 들면, http://domain:port/image_b)을 이용해 image_b를 요청한다.
이렇게 URL에 이미지를 식별할 수 있는 정보(image_a, image_b)가 포함된 경우, 컴퓨터는 이미지의 URL을 분석하여 이미지를 식별하고, 이를 기초로 질문 정보에 해당하는 이미지를 선택할 수 있다.
반면, 도 8을 참고하면, 사용자 단말(100)은 인증 장치(200)에게 인증 화면에 표시할 이미지를 요청하는데, 키값에 해당하는 이미지를 요청한다. 이때, 사용자 단말(100)은 단일한 URL을 이용하고, 키값에 따라 파라미터만 다르게 설정한다. 즉, 사용자 단말(100)은 http://domain:port/servlet_url+key와 같은 형태의 URL을 이용해 키값에 해당하는 이미지를 요청한다. 즉, 사용자 단말(100)은 인증 정보를 관리하는 인증부의 주소로 키값에 해당하는 이미지를 요청한다.
인증 장치(200)의 인증부는 ULR에 포함된 키값을 기초로 키값에 매핑된 이미지를 찾고, 키값에 매핑된 이미지를 사용자 단말(100)로 전송한다. 따라서, 이미지가 사용자 단말(100)과 인증 장치(200) 사이에서 전송되지만, 이미지를 식별할 수 있는 정보가 노출되지 않으므로, 컴퓨터는 사용자 단말(100)과 인증 장치(200) 사이에서 교환되는 메시지를 분석하더라도 이미지를 식별하기 어렵다.
이와 같이, 일반적으로 웹상에서 이미지를 제공하는 방식은 웹서버가 지정된 위치의 이미지를 파일명으로 구분하며, 서블렛 매핑(Servlet Mapping)을 하지 않는다. 이러한 정적인 방식의 이미지 제공 방법은 웹서버가 특별한 처리를 할 필요없이 URL에 지정된 파일을 사용자 단말에 제공한다.
반면, 인증 장치(200)는 단일 URL을 사용하는데, 특정한 URL을 서블렛 매핑하여 이미지와 키값을 사전에 매핑해 둔다. 그리고, 인증 장치(200)는 HTTP의 응답 헤더(Response header)에 이미지임을 명시하여 사용자 단말에서 이미지로 인식하게 한다.
도 9는 본 발명의 한 실시예에 따른 인증 장치의 블록도이다.
도 9를 참고하면, 인증 장치(200)는 웹서버(210), 그리고 인증부(230)를 포함한다. 인증부(230)는 인증정보관리부(231), 인증정보저장부(233), 그리고 인증정보변형부(235)를 포함한다.
웹서버(210)는 사용자 단말(100)과 통신하여 사용자 단말(100)로부터 수신한 메시지를 인증부(230)로 전달하고, 인증부(230)로부터 전달받은 메시지를 사용자 단말(100)로 전송한다.
웹서버(210)는 사용자 단말(100)로부터 인증 화면 요청, 이미지 요청, 그리고 선택된 이미지 정보를 수신하고, 이를 인증부(230)로 전달할 수 있다. 웹서버(210)는 인증부(230)로부터 수신한 질문 정보와 N개의 키값을 포함하는 인증 화면 정보를 사용자 단말(100)로 전송한다. 웹서버(210)는 인증부(230)로부터 전달받은 이미지들을 사용자 단말(100)로 전송한다. 웹서버(210)는 인증부(230)로부터 전달받은 인증 결과를 사용자 단말(100)로 전송한다.
인증정보관리부(231)는 N개의 이미지에 N개의 키값을 일대일 매핑하여 N개의 인증아이템을 생성한다. 인증정보관리부(231)는 N개의 인증아이템 중에서 하나의 인증아이템을 정답아이템으로 선택한다. 인증정보관리부(231)는 정답아이템을 포함하는 인증아이템을 인증정보저장부(233)에 저장한다.
인증정보관리부(231)는 정답아이템을 기초로 질문 정보를 생성하고, 질문 정보와 N개의 키값을 웹서버(210)로 전달한다.
인증정보관리부(231)는 사용자 단말(100)로부터 키값 각각에 해당하는 이미지 요청을 받으면, 인증정보저장부(233)에서 키값에 해당하는 이미지를 가져온다.
인증정보관리부(231)는 인증정보변형부(235)를 통해 이미지를 변형하고, 변형한 이미지를 웹서버(210)로 전달한다.
인증정보관리부(231)는 사용자 단말(100)로부터 키값을 포함하는 인증 요청을 수신하면, 인증정보저장부(233)에 저장된 정답아이템의 키값과 수신한 키값을 비교하여 인증 결과를 생성한다.
이와 같이, 본 발명의 실시예에 따르면 사람이 인식하기 쉬운 이미지로 질문을 구성하여 사용자가 질문을 쉽게 이해할 수 있다. 본 발명의 실시예에 따르면 정답 이미지를 드래그 앤 드롭 방식으로 응답하는 인터페이스를 통해 사용자가 휴대 단말에서도 간단하게 질문에 응답할 수 있다. 또한, 본 발명의 실시예에 따르면 이미지 리소스의 키값을 랜덤하게 부여하고, 단말과 서버 사이에서 단일 URL로 이미지를 제공하므로, 컴퓨터가 이미지 정보를 판독할 수 없다. 따라서, 본 발명의 실시예에 따르면 사용자는 인증 정보를 인식하고 입력하는 것이 쉽고, 컴퓨터는 인증 정보를 판독하기 어려워, 사람과 컴퓨터를 명확하게 분별할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (14)

  1. 인증 장치가 이미지를 이용하여 인증하는 방법으로서,
    사용자 단말의 인증 화면을 위한 복수의 이미지를 추출하는 단계,
    복수의 키값을 추출하는 단계,
    상기 복수의 이미지와 상기 복수의 키값을 일대일 랜덤 매핑하여 복수의 인증아이템을 생성하는 단계,
    상기 복수의 인증아이템 중 임의의 인증아이템을 정답아이템으로 선택하는 단계,
    상기 복수의 인증아이템을 포함하는 인증 화면 정보를 상기 사용자 단말에게 전송하는 단계,
    상기 사용자 단말로부터 응답 키값을 포함하는 인증 요청을 수신하는 단계, 그리고
    상기 정답아이템의 키값과 상기 응답 키값을 비교하여 인증 결과를 생성하는 단계
    를 포함하고,
    상기 응답 키값은 상기 사용자 단말의 인증 화면에서 선택된 이미지의 키값인 인증 방법.
  2. 제1항에서,
    상기 사용자 단말에게 전송하는 단계는
    상기 복수의 키값을 포함하는 인증 화면 정보를 상기 사용자 단말에게 전송하는 단계,
    상기 사용자 단말로부터 상기 복수의 키값 중 임의의 키값을 포함하는 이미지 요청을 수신하는 단계,
    상기 복수의 인증아이템에서, 상기 이미지 요청에 포함된 키값에 매핑된 이미지를 추출하는 단계, 그리고
    추출한 이미지를 상기 사용자 단말로 전송하는 단계
    를 포함하는 인증 방법.
  3. 제2항에서,
    상기 추출한 이미지를 사용자 단말로 전송하는 단계는
    상기 추출한 이미지를 변형하는 단계, 그리고
    변형한 이미지를 상기 사용자 단말로 전송하는 단계
    를 포함하는 인증 방법.
  4. 제3항에서,
    상기 추출한 이미지를 변형하는 단계는
    상기 추출한 이미지를 회전, 확대, 축소, 그리고 왜곡 중 적어도 하나의 방법으로 변형하는 인증 방법.
  5. 삭제
  6. 제1항에서,
    상기 응답 키값은
    상기 사용자 단말의 인증 화면에서 응답 영역으로 드래그된 이미지의 키값인 인증 방법.
  7. 제1항에서,
    상기 정답아이템의 이미지 정보를 기초로 질문 정보를 생성하는 단계를 더 포함하고,
    상기 인증 화면 정보는 상기 질문 정보를 더 포함하는 인증 방법.
  8. 인증 장치가 이미지를 이용하여 인증하는 방법으로서,
    랜덤하게 추출된 복수의 키값과 복수의 이미지를 일대일 랜덤 매핑하는 단계,
    상기 복수의 이미지 중 정답 이미지를 선택하고, 상기 정답 이미지에 매핑된 키값을 정답 키값으로 저장하는 단계,
    사용자 단말로 상기 복수의 키값이 매핑된 상기 복수의 이미지를 전송하는 단계,
    상기 사용자 단말로부터 응답 키값을 수신하는 단계, 그리고
    상기 정답 키값과 상기 응답 키값을 비교하여 인증 결과를 생성하는 단계
    를 포함하고,
    상기 응답 키값은 상기 사용자 단말에서 선택된 이미지의 키값인 인증 방법.
  9. 제8항에서,
    상기 복수의 이미지를 전송하는 단계는
    상기 복수의 키값을 사용자 단말에게 전송하는 단계,
    상기 사용자 단말로부터 상기 복수의 키값 각각에 해당하는 이미지를 요청받는 단계, 그리고
    상기 복수의 키값 각각에 매핑된 복수의 이미지를 상기 사용자 단말로 전송하는 단계
    를 포함하는 인증 방법.
  10. 제8항에서,
    상기 정답 이미지의 정보를 기초로 질문 정보를 생성하는 단계, 그리고
    상기 사용자 단말로 상기 질문 정보를 전송하는 단계
    를 더 포함하는 인증 방법.
  11. 제10항에서,
    상기 복수의 이미지 그리고 상기 질문 정보는 상기 사용자 단말의 인증 화면에 표시되고,
    상기 인증 화면은 응답 영역을 더 포함하는 인증 방법.
  12. 제11항에서,
    상기 응답 키값은
    상기 인증 화면에서 상기 응답 영역으로 드래그된 이미지의 키값인 인증 방법.
  13. 사용자 단말이 이미지를 이용하여 인증하는 방법으로서,
    인증 장치로부터 질문 정보, 그리고 복수의 키값이 랜덤하게 매핑된 복수의 이미지를 수신하는 단계,
    상기 질문 정보, 그리고 상기 복수의 이미지를 포함하는 인증 화면을 생성하는 단계,
    상기 인증 화면에서 상기 복수의 이미지 중 선택된 이미지가 임의 영역으로 드래그되는 경우, 상기 선택된 이미지의 키값을 상기 인증 장치로 전송하는 단계, 그리고
    상기 인증 장치로부터 정답 키값과 상기 선택된 이미지의 키값을 비교한 인증 결과를 수신하는 단계
    를 포함하고,
    상기 복수의 이미지는 상기 질문 정보의 정답에 해당하는 정답 이미지를 포함하며, 상기 정답 이미지에 랜덤하게 매핑된 키값이 상기 정답 키값인 인증 방법.
  14. 제13항에서,
    상기 복수의 이미지를 수신하는 단계는
    상기 복수의 키값을 포함하는 인증 화면 정보를 수신하는 단계,
    상기 인증 장치로 상기 복수의 키값 각각에 매핑된 이미지를 요청하는 단계, 그리고
    상기 인증 장치로부터 상기 복수의 키값 각각에 매핑된 상기 복수의 이미지를 수신하는 단계
    를 포함하는 인증 방법.
KR1020140079232A 2014-06-26 2014-06-26 이미지를 이용한 인증 장치 및 방법 KR101620446B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140079232A KR101620446B1 (ko) 2014-06-26 2014-06-26 이미지를 이용한 인증 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140079232A KR101620446B1 (ko) 2014-06-26 2014-06-26 이미지를 이용한 인증 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160001214A KR20160001214A (ko) 2016-01-06
KR101620446B1 true KR101620446B1 (ko) 2016-05-12

Family

ID=55165130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140079232A KR101620446B1 (ko) 2014-06-26 2014-06-26 이미지를 이용한 인증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101620446B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670518B1 (ko) 2020-11-11 2024-05-29 주식회사 넥슨코리아 캡챠 시스템 제공 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912417B1 (ko) 2007-11-27 2009-08-14 인하대학교 산학협력단 이미지 기반의 캡차 제공 방법 및 그 방법을 수행하는프로그램이 기록된 기록매체
KR101363668B1 (ko) 2012-05-29 2014-02-24 고려대학교 산학협력단 캡차를 이용한 사용자 인증 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912417B1 (ko) 2007-11-27 2009-08-14 인하대학교 산학협력단 이미지 기반의 캡차 제공 방법 및 그 방법을 수행하는프로그램이 기록된 기록매체
KR101363668B1 (ko) 2012-05-29 2014-02-24 고려대학교 산학협력단 캡차를 이용한 사용자 인증 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670518B1 (ko) 2020-11-11 2024-05-29 주식회사 넥슨코리아 캡챠 시스템 제공 방법 및 장치

Also Published As

Publication number Publication date
KR20160001214A (ko) 2016-01-06

Similar Documents

Publication Publication Date Title
JP6847187B2 (ja) 画像ベースのcaptchaチャレンジ
US10097360B2 (en) Automated test to tell computers and humans apart
KR101589192B1 (ko) 신원 인증 관리 장치 및 신원 인증 관리 방법
US10356069B2 (en) Two factor authentication with authentication objects
US10657243B2 (en) Variation analysis-based public turing test to tell computers and humans apart
US8984649B2 (en) Method and system for authenticating user access to a restricted resource across a computer network
CN104604204B (zh) 在同步通信中安全地操控服务器证书错误
US10362019B2 (en) Managing security credentials
US8590026B2 (en) Method and system for generating a touch CAPTCHA
JP2010067096A (ja) 認証装置、認証方法、情報処理プログラム及び記録媒体
US10313322B2 (en) Distinguishing human-generated input from programmatically-generated input
KR20180079423A (ko) 캡차(captcha) 챌린지의 동적 업데이트
US9767262B1 (en) Managing security credentials
US20080229109A1 (en) Human-recognizable cryptographic keys
US11444936B2 (en) Managing security credentials
CN105162604A (zh) 一种基于特征图像识别的验证方法、服务器及系统
KR101027228B1 (ko) 인터넷 보안을 위한 본인인증 장치, 그 방법 및 이를 기록한 기록매체
US20180039771A1 (en) Method of and server for authorizing execution of an application on an electronic device
US20160241556A1 (en) Mutual authentication with integrated user muscle memory
Moraskar et al. Cued click point technique for graphical password authentication
KR102470639B1 (ko) 신뢰되는 코드 증명 토큰으로 데이터 무결성 향상
Sahu et al. Survey on various techniques of user authentication and graphical password
KR101620446B1 (ko) 이미지를 이용한 인증 장치 및 방법
CN103414688A (zh) 一种用于在访问页面上加载用户安全图章的方法与设备
JP5552911B2 (ja) 認証装置、認証システム及び認証方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190402

Year of fee payment: 4