KR101687510B1 - 사용자가 아는 코드 시퀀스의 서브세트를 이용한 인증 - Google Patents

사용자가 아는 코드 시퀀스의 서브세트를 이용한 인증 Download PDF

Info

Publication number
KR101687510B1
KR101687510B1 KR1020157023232A KR20157023232A KR101687510B1 KR 101687510 B1 KR101687510 B1 KR 101687510B1 KR 1020157023232 A KR1020157023232 A KR 1020157023232A KR 20157023232 A KR20157023232 A KR 20157023232A KR 101687510 B1 KR101687510 B1 KR 101687510B1
Authority
KR
South Korea
Prior art keywords
segments
user
computer
password
access
Prior art date
Application number
KR1020157023232A
Other languages
English (en)
Other versions
KR20150110778A (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 제너럴 인스트루먼트 코포레이션
Publication of KR20150110778A publication Critical patent/KR20150110778A/ko
Application granted granted Critical
Publication of KR101687510B1 publication Critical patent/KR101687510B1/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
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation

Abstract

시스템에서의 인증은 함정들과 함께 암호의 부분적 시퀀스를 포함하는 정보를 사용자에게 제시하는 것을 포함한다. 사용자는 시스템에 대한 액세스를 얻기 위하여 상기 정보 중에서 상기 부분적 시퀀스를 식별하도록 요구받는다.

Description

사용자가 아는 코드 시퀀스의 서브세트를 이용한 인증{AUTHENTICATION USING A SUBSET OF A USER-KNOWN CODE SEQUENCE}
컴퓨팅 디바이스들에 대한 인증된 액세스는 컴퓨터 기반 디바이스들(예를 들어 스마트폰, 개인 데이터 단말기(personal data assistant), 및 기타 유사한 것)과 홈 컴퓨터 기반 디바이스들(예를 들어 데스크톱 및 랩톱 컴퓨터 시스템, 컴퓨터 태블릿, 및 기타 등등)에 있어서 점점 더 중요해지고 있다. 컴퓨팅 디바이스의 기능에 대한 인증된 액세스도 중요해지고 있다. 예를 들어, 텔레비전 셋톱 박스 또는 디지털 비디오 녹화기(DVR)는 다양한 레벨의 미디어 액세스(예컨대, 어린이 전용 텔레비전 채널, 제한된 재생 전용 또는 DVR에 대한 완전한 액세스, 및 기타 등등)를 제공할 수 있다. 컴퓨팅 디바이스는 여러 레벨의 액세스, 예를 들어, 사용자 모드 액세스(예컨대, 이미 설치된 애플리케이션들의 실행으로 제한됨) 또는 관리자 액세스(예컨대, 컴퓨팅 디바이스에 대한 완전한 액세스; 애플리케이션들의 설치, 구성 또는 제거를 포함함)를 가질 수 있다. 컴퓨팅 디바이스는 상이한 사용자 모드 액세스 권한들을 가진 여러 사용자들을 허용할 수 있다(예컨대, 사용자 앨리스(Alice)는 기본 디바이스 소유자이므로 전화를 걸고 받을 수 있지만, 사용자 조나단(Jonathon)과 올리버(Oliver)는 이차 미성년자 디바이스 사용자들이므로 임의의 네트워크 액세스가 없는 게임들만을 할 수 있다).
종래의 암호 입력 시스템(passcode entry system)들은 인증 기법으로서 개인 식별 번호(PIN)를 이용하는 것을 포함한다. 그러나, 시간이 흐름에 따라 키패드에 누적되는 손가락 기름은 PIN 기반 보안 시스템을 깨려는 공격자의 시도를 간단하게 할 수 있다. 다른 시스템은 점 연결(connect-the-dots) 전략을 사용하는데, 여기서는 사용자에게 터치 스크린 위에 이미지들의 세트가 제시되고 사용자는 인증을 위해 이미지들의 패턴을 선택하도록 요구받는다. 다시, 공격자는 터치 스크린에 누적되는 손가락 기름을 이용하여 보안을 깨는 가능성을 증가시킬 수 있다.
또 다른 보안 위험은 "어깨너머 훔쳐 보기(shoulder surfing)"의 개념이다. 여기서, 공격자는 단순히 시스템에 암호를 입력하고 있는 사용자의 배후로부터의 구경꾼일 수 있다. 공격자는 단순히 언로크 시퀀스(unlock sequence)를 보고 그에 따라 PIN 또는 패턴을 알게 될 수 있다.
도 1은 본 개시 내용에 따른 인증을 예시하는 일 실시예의 하이 레벨 시스템 다이어그램이다.
도 1a는 또 다른 실시예에 따른 인증을 예시하는 하이 레벨 시스템 다이어그램이다.
도 2는 본 개시 내용에 따른 암호 생성을 예시한다.
도 3은 본 개시 내용에 따른 암호 생성을 위한 작업 흐름을 예시한다.
도 4는 본 개시 내용에 따른 챌린지(challenge)의 제시의 논리적 표현을 예시한다.
도 5는 챌린지/응답 시퀀스(challenge/response sequence)를 위한 작업 흐름을 예시한다.
도 6a 및 도 6b는 로그인 화면의 예들을 예시한다.
도 6c는 챌린지 화면의 예를 예시한다.
도 6d는 챌린지 화면의 부가의 양태들을 예시한다.
도 7은 본 개시 내용에 따른 인증을 위한 특정 실시예를 예시하는 하이 레벨 블록 다이어그램이다.
본 개시 내용에 따라, 인증 방법은 예컨대, 컴퓨터에 로그온하기 위해, 컴퓨터의 어떤 기능에 액세스하기 위해 그리고 기타 이유로 컴퓨터 액세스를 요청하고 있는 사용자에게 암호의 부분에 관한 정보를 제시하는 것을 포함할 수 있다. 제시되는 정보는 암호의 부분이 아닌 함정(distractor) 정보를 포함할 수 있다. 사용자가 제시된 정보 중에서 암호의 부분만을 선택할 때 액세스가 승인될 수 있다.
본 개시 내용에 따라, 컴퓨터 시스템은 프로세서로 하여금 컴퓨터 시스템에 대한 액세스의 요청을 수신하는 것에 응답하여 비디오 디스플레이에 이미지들을 표시하게 하는 프로그램 코드를 포함할 수 있다. 이 이미지들은 암호의 부분이 아닌 함정 정보와 함께 암호의 부분들을 나타낸다. 컴퓨터 시스템은 사용자가 비디오 디스플레이에 표시된 이미지들 중에서 암호의 부분들만을 선택할 때 사용자 액세스를 승인할 수 있다.
본 개시 내용에 따라, 인증 방법은 제1 및 제2 정보를 포함하는 챌린지를 사용자에게 제시하는 것을 포함할 수 있다. 제1 정보는 암호의 부분만을 나타내는 반면, 제2 정보는 암호의 어떤 부분도 나타내지 않는다. 사용자가 사용자에게 제시되는 제1 및 제2 정보 중에서 제1 정보만을 선택할 때 성공적인 응답이 발생한다.
이제 본 개시 내용의 이러한 실시예들 및 기타 실시예들과 양태들에 대해 첨부 도면들과 관련하여 기술될 것이다.
도 1에 예시된 것과 같은 일부 실시예들에서, 인증 시스템은 암호 생성기(102), 암호 데이터 저장소(104), 인증자(106), 및 컴퓨팅 디바이스(108)를 포함할 수 있다. 암호 생성기(102)는 사용자가 암호를 제공하고, 암호를 무작위로 생성하고, 자신의 암호를 변경하고, 기타 등등을 할 수 있게 하는 서비스들을 제공할 수 있다. 이러한 서비스들은 총괄하여 암호 생성이라고 불릴 수 있다. 암호 데이터 저장소(104)는 암호 생성기(102)에 제공된, 또는 그에 의해 무작위로 생성된, 또는 그 안에서 변경된 암호들을 저장할 수 있다. 일부 실시예들에서, 암호 데이터 저장소(104)는 암호 소스 세트(S)(112)를 저장할 수 있다. 암호 소스 세트(S)(112)는 인증 시스템에 의해 생성될 수 있다. 예를 들어, 암호 소스 세트(S)(112)는 무작위로 생성된 이미지들, 기하학적 패턴들 등의 세트를 포함할 수 있다. 일부 실시예들에서, 사용자는 자신의 암호 소스 세트(S)(112)를 공급할 수 있다. 예를 들어, 사용자는 자신의 친구들의 사진들의 세트, 또는 기호들 또는 이미지들의 자신의 수집품, 및 기타 등등을 제공할 수 있다.
아래에 설명되는 바와 같이, 암호 소스 세트(S)(112)는 암호들을 무작위로 생성하기 위한 그리고 제공된 또는 변경된 암호들을 암호 소스 세트(S)(112)로부터의 사용 세그먼트들만으로 국한시키기 위한 데이터를 암호 생성기(102)에 제공할 수 있다. 일부 실시예들에서, 암호 데이터 저장소(104)는 암호 생성기(102)에 의해 생성된 암호들 및 암호 소스 세트(S)(112)를 저장할 수 있다. 다른 실시예들에서, 암호 소스 세트(S)(112)는 암호 생성기(102)에 의해 생성된 암호들과 다른 데이터 저장소에 저장될 수 있다. 또 다른 실시예들에서, 암호 생성기(102)에 의해 생성된 암호들은 하나 이상의 상이한 데이터 저장소에 저장될 수 있다.
인증자(106)는 컴퓨팅 디바이스(108)에 대한 사용자 액세스를 승인하거나 거부하는 인증 서비스들을 제공할 수 있다. 본 개시 내용에 따라, 인증자(106)는 암호 데이터 저장소(104)에 액세스하여 암호 소스 세트(S)(112) 및 이전에 생성되어 저장된 암호를 이용하여 인증을 수행할 수 있다. 일부 실시예들에서, 사용자는 도 1에 도시된 바와 같이 인증자(106)에 직접 액세스할 수 있다. 다른 실시예들에서, 사용자는 도 1a에 예시된 것과 같은 컴퓨팅 디바이스에서 컴퓨팅 디바이스(108)에 대한 액세스를 시작할 수 있다. 컴퓨팅 디바이스(108)는 인증자(106)와 통신하여 사용자에게 액세스를 승인할지 거절할지를 결정할 수 있다.
일부 실시예들에서, 암호 생성기(102), 암호 데이터 저장소(104), 인증자(106), 및 컴퓨팅 디바이스(108)는 단일 디바이스, 예컨대, 스마트폰, 데스크톱 컴퓨터, STB, DVR, 기타 등등에 통합되는 하드웨어 및/또는 소프트웨어 요소들일 수 있다. 다른 실시예들에서, 암호 생성기(102), 암호 데이터 저장소(104), 인증자(106), 및 컴퓨팅 디바이스(108)는 여러 별개의 컴퓨터 시스템들 사이에 분산될 수 있다. 예를 들어, 큰 기업에서, 암호 생성기(102)는 기업 내의 사용자들이 (예컨대, 통신 네트워크를 통하여) 액세스하는 서버에 있을 수 있다. 암호 데이터 저장소(104)는 기업 데이터 서버 시스템에 포함되어 있을 수 있다. 인증자(106)의 여러 인스턴스(instance)들이 기업의 도처에, 예를 들어, 서버들로서 배치되어, 기업 내의 다양한 리소스들에 액세스하는 인증 서비스들을 제공할 수 있다.
일부 실시예들에서, 암호 데이터 저장소(104)는 여러 고유 암호들을 저장할 수 있다. 각 암호는 별개의 사용자 프로파일 또는 로그인 이름과 관련될 수 있다. 모든 그러한 사용자 프로파일들이 동등한 것으로 간주될 수 있거나, 사용자들의 프로파일들이 허용되는 기능과 관련된 일부 방식으로 그룹화 또는 계층화될 수 있거나 하나의 그러한 프로파일이 기본 디바이스 소유자와 관련된 것으로 간주될 수 있다. 예를 들어, 기본 디바이스 소유자는 디바이스를 구입하였거나 임의의 관련된 통신 서비스들에 대한 청구 요금을 지불하는 사람일 수 있다. 이차 디바이스 사용자들은 기본 디바이스 소유자에 의해 허용될 수 있다(태블릿 또는 DVR을 공유하는 가족에서 흔한 바와 같이).
도 2는 일부 실시예들에 따른 암호 소스 세트(S)(112)의 논리적 표현을 예시한다. 암호 소스 세트(S)(112)는 세그먼트들(202)의 세트를 포함할 수 있다. 세그먼트들(202)은 이미지들, 비디오 클립들, 오디오 클립들, 인쇄 가능한 문자들, 및 기타 등등을 나타낼 수 있다. 암호 생성기(102)를 이용하여, 사용자는 암호 소스 세트(S)(112)로부터 서브세트(N)(204)를 선택할 수 있다. 서브세트(N)(204)는 암호를 구성할 수 있다. 암호(204)를 구성하는 세그먼트들(206)은 암호 세그먼트들이라고 불릴 수 있다. 일부 실시예들에서, 암호(204)는 순서화된 세트(ordered set)이다; 즉, 암호 세그먼트들(206)은 순서를 가진다. 따라서, 예를 들어, 도 2에 도시된 암호(204) 예는 암호 세그먼트들 A, C, G, 및 H를 포함한다. 암호(204)를 정의하는 암호 세그먼트들 A, C, G, 및 H는 순서, 즉, H, A, C, 및 G로 더 정의된다.
도 3은 일부 실시예들에 따른 암호 생성기(102)에 대한 작업 흐름을 보여준다. 블록 302에서, 암호 생성기(102)는 (예컨대, 암호 데이터 저장소(104)로부터) 암호 소스 세트(S)(112)에 액세스하고, 암호 소스 세트를, 예를 들어, 디스플레이 디바이스를 통해 사용자에게 제시할 수 있다. 암호 생성기(102)가 암호 소스 세트(S)(112)를 사용자에게 제시하는 구체적인 방법은 암호 소스 세트(S) 내의 세그먼트들(202)의 본질에 따라 달라질 수 있다. 예를 들어, 암호 소스 세트(S)(112)가 영숫자 문자들을 포함한다면, 암호 생성기(102)는 단순히 사용자에게 문자들 또는 숫자들만을 포함하는 암호를, 예를 들어 자신의 키보드를 통해 입력할 것을 지시할 수 있다. 암호 소스 세트(S)(112)가 이미지들을 포함한다면, 암호 생성기(102)는 디스플레이 디바이스 상에 이미지들을 표시하고 사용자가 이미지들의 목록을 통하여 스크롤할 수 있게 하는 스크롤 막대를 제공할 수 있다. 암호 소스 세트(S)(112)가 오디오 세그먼트들을 포함한다면, 암호 생성기(102)는 디스플레이 디바이스 상에 각 오디오 세그먼트를 그래픽으로 나타낼 수 있다. 오디오 세그먼트는 사용자가 대응하는 그래픽을 선택할 때 재생될 수 있다.
일부 실시예들에서, 상이한 사용자들을 위한, 또는 상이한 목적들을 위한 상이한 암호 소스 세트들이 있을 수 있다. 예를 들어, 사업체의 재무 부서의 사용자들에게는 제1 암호 소스 세트 "A"가 제시될 수 있는 반면, 기술 부서의 사용자들에게는 상이한 암호 소스 세트 "B"가 제시될 수 있다. 사용자에 따라서, 암호 생성기(102)는 그 사용자와 연관된 암호 소스 세트(S)(112)에 액세스하고 이를 제시할 수 있다.
일부 실시예들에서, 상이한 기능들을 위한 상이한 암호 소스 세트들이 있을 수 있다. 예를 들어, 시스템에 소프트웨어를 설치하는 것은 하나의 암호 소스 세트와 연관될 수 있는 반면, 기존 소프트웨어를 사용하기 위해 시스템에 로그온하는 것은 다른 암호 소스 세트와 연관될 수 있다. 암호 생성기(102)는 먼저 안전하게 보호될 기능 또는 액세스 레벨을 결정하고, 이어서 사용자에게 제시될 적절한 암호 소스 세트를 결정할 수 있다.
블록 304에서, 사용자는 사용자에게 제시된 암호 소스 세트(S)(112)로부터 세그먼트들(202)을 특정하고, 자신이 선택한 세그먼트들을 암호 생성기(102)에 암호(204)로서 제공할 수 있다. 일부 실시예들에서, 사용자는 암호(204) 내의 세그먼트들(206)에 순서를 특정할 수 있다. 예를 들어, 사용자가 세그먼트들(206)을 선택한 순서는 암호(204) 내의 암호 세그먼트들(206)의 순서를 정의할 수 있다. 블록 306에서, 암호 생성기(102)는 암호(204)를 적당한 데이터 저장소에; 예를 들어, 암호 데이터 저장소(104)에 저장할 수 있다.
도 4는 인증된 디바이스 사용자가 한 명만 있거나 인증된 사용자가 여러 명 있고 보류 중인 인증된 사용자가 정확히 알려져 있는 경우 본 개시 내용의 원리들에 따른 인증 챌린지를 (즉, 그것이 정확하게 추정되었거나, 보류 중인 사용자에게 요청되었거나, 얼굴 검출 스캔에 의해 추론되었거나, 기타 등등의 이유로) 설정하기 위한 논리적 표현을 예시한다. 인증 챌린지는 프레젠테이션 세트(P)(408)를 사용자에게 제시하는 것을 포함한다. 프레젠테이션 세트(P)(408)는 암호(204)를 구성하는 암호 세그먼트들(206)의 서브세트(M)(402)를 포함할 수 있다. 본 개시 내용에 따라, 프레젠테이션 세트(P)(408)는 암호 소스 세트(S)(112)의 서브세트(S')(112')로부터 얻어진 함정 세트(E)(404)의 함정 세그먼트들(406)을 더 포함할 수 있다. 일부 실시예들에서, 암호 소스 세트(S)(112)의 서브세트(S')(112')는 차이 세트, S - N; 즉, 암호 소스 세트(S)(112)로부터 서브세트(N)(204)를 뺀 것이다. 결과로 얻어지는 프레젠테이션 세트(P)(408)는 서브세트(M)(402) 및 함정 세트(E)(404)로부터의 프레젠테이션 세그먼트들(410)을 포함한다.
여러 명의 인증된 사용자들을 지원하는 일부 실시예들에서, 상기와 같이 프레젠테이션 세트(P)(408)가 형성되기 전에 사용자는 자신의 프로파일을 선택할 수 있거나, 사용자는 자신의 로그인 이름을 선택할 수 있거나 사용자는 자신의 로그인 이름을 제공할 수 있다.
여러 명의 인증된 사용자들을 지원하는 일부 실시예들에서, 디폴트 또는 예상되는 또는 최근 사용자가 추정되고 프레젠테이션 세트(P)(408)와 함께 사용자에게 제시될 수 있다. 프레젠테이션 세트(P)(408)는 상기와 같이 형성된다. 보류 중인 인증된(즉, 인증) 디바이스 사용자가 열거되어 있지 않다면, 이들은 달리 추정된 디폴트 또는 예상되는 또는 최근 사용자를 대체하기 위해 사용자 프로파일 또는 로그인 이름 수집 단계를 시작할 수 있다.
공통 암호 소스 세트(S)(112)를 공유하는(그리고 기본 디바이스 소유자에 의해 설정될 수 있는) 여러 명의 인증된 사용자들을 지원하는 일부 실시예들에서, 디폴트 또는 예상되는 또는 최근 사용자들의 세트가 추정되고 프레젠테이션 세트(P)(408)와 함께 사용자에게 제시될 수 있다. 프레젠테이션 세트(P)(408)는 디폴트 또는 예상되는 또는 최근 사용자들의 세트 내의 각 사용자에 대한 암호(204)를 구성하는 암호 세그먼트들(206)의 서브세트(M)(402)의 합을 포함할 수 있다. 본 개시 내용에 따라, 프레젠테이션 세트(P)(408)는 암호 소스 세트(S)(112)의 서브세트(S')(112')로부터 얻어진 함정 세트(E)(404)의 함정 세그먼트들(406)을 더 포함할 수 있다. 일부 실시예들에서, 암호 소스 세트(S)(112)의 서브세트(S')(112')는 차이 세트, S - 합(N); 즉, 암호 소스 세트(S)(112)로부터 디폴트 또는 예상되는 또는 최근 사용자들의 세트 내의 각 사용자에 대한 서브세트(N)(204)의 합을 뺀 것이다. 결과로 얻어지는 프레젠테이션 세트(P)(408)는 디폴트 또는 예상되는 또는 최근 사용자들의 세트 내의 각 사용자에 대한 서브세트(M)(402) 및 함정 세트(E)(404)의 합으로부터의 프레젠테이션 세그먼트들(410)을 포함한다. 보류 중인 인증된(즉, 인증) 디바이스 사용자가 디폴트 또는 예상되는 또는 최근 사용자들의 세트에 열거되어 있지 않다면, 이들은 달리 추정된 디폴트 또는 예상되는 또는 최근 사용자를 대체하기 위해 상기와 같이 사용자 프로파일 또는 로그인 이름 수집 단계를 시작할 수 있다.
도 5는 일부 실시예들에 따른 인증자(106)에 대한 작업 흐름을 보여준다. 인증자(106)는 어떻게든 사용자와 연관된 암호(204)를 이용하여 사용자에게 챌린지한다. 사용자는 챌린지에 응답할 수 있고, 그 응답이 성공적이면 인증자(106)는 컴퓨팅 디바이스(108)에 대한 사용자 액세스를 승인할 수 있다.
블록 502에서, 인증자(106)는 컴퓨팅 디바이스(108)에 액세스하기 위한 액세스 요청을 수신할 수 있다. 잠시 도 6a를 참고하면, 액세스 요청의 한 예는 디스플레이(602)(예컨대, 컴퓨팅 디바이스(108)의 디스플레이 컴포넌트)에 묘사된 것과 같은 로그인 시퀀스일 수 있다. 도 6b는 액세스되고 있는 기능; 예컨대, 컴퓨팅 디바이스(108)의 전화 기능의 이용을 식별하는 것을 포함하는 액세스 요청의 한 예를 예시한다. 스마트폰이나 초창기 Android™(Honeycomb 기반 또는 Ice Cream Sandwich 기반) 태블릿들과 같은 어떤 개인 모바일 디바이스들에서 일반적인 바와 같이, 명시적 사용자 ID(explicit user identity)가 표시되지 않을 수도 있다.
도 5로 돌아와서, 블록 504에서, 인증자(106)는 예컨대, 암호 데이터 저장소(104)로부터 암호 소스 세트(S)(112)에 액세스할 수 있다. 앞서 설명한 바와 같이, 상이한 사용자들 또는 상이한 액세스 레벨들 또는 액세스되고 있는 기능들이 상이한 암호 소스 세트들과 연관될 수 있다. 이에 따라, 인증자(106)는 액세스 요청의 본질; 예컨대, 누가 액세스를 하고 있는지, 액세스가 어떤 기능에 대한 것인지, 및 기타 등등에 기초하여 암호 소스 세트(S)(112)를 선택할 수 있다.
블록 506에서, 인증자(106)는 예컨대, 암호 데이터 저장소(104)로부터 암호(204)를 검색할 수 있다. 액세스된 암호(204)는 사용자에게 챌린지하기 위한 기초 역할을 할 것이다. 일부 실시예들에서, 앞서 설명한 바와 같이, 검색되는 암호(204)는 컴퓨팅 디바이스(108)에 대한 액세스를 요청하고 있는 사용자에 의존할 수 있다. 예를 들어, 인증자(106)는 사용자의 프로파일 정보에 액세스하고 그 프로파일 정보에 포함되어 있는 암호를 검색할 수 있다. 유사하게, 다른 실시예들에서, 검색되는 암호(204)는 액세스되고 있는 기능에 기초할 수 있다. 또 다른 실시예들에서, 검색되는 암호(204)는 사용자의 ID(identification)와 액세스되고 있는 기능 양쪽 모두에 기초할 수 있다. 더 일반적으로, 암호(204)의 선택은 하루 중 시간(time of day), 사용자의 위치, 및 기타 등등과 같은 다른 요인들에 의존할 수 있다.
블록 508에서, 인증자(106)는 블록(504)에서 액세스된 검색된 암호(204)로부터 서브세트(M)(402)를 선택할 수 있다. 서브세트(M)(402) 내의 세그먼트들은 무작위로 선택될 수 있다. 일부 실시예들에서, 서브세트(M)(402) 내의 세그먼트들은 스코어보드 프로세스를 통해 선택될 수 있는데, 여기서는 선택된 서브세트의 끊임없는 변화를 보장하기 위해("어깨너머 훔쳐 보기" 공격으로부터 더 잘 보호하기 위해) 검색된 암호(204)의 미사용 세그먼트들이 추적된다. 다른 실시예들에서는, 최근 액세스가 거부된 경우들에 이전의 선택과 정확히 일치하도록 서브세트(M)(402) 내의 세그먼트들이 선택될 수 있다.
일부 실시예들에서, 서브세트(M)(402) 내의 세그먼트들의 수는 액세스 요청의 본질; 예컨대, 누가 액세스를 하고 있는지, 액세스가 어떤 기능에 대한 것인지, 기타 등등에 따라 달라질 수 있다. 서브세트(M)(402) 내의 세그먼트들의 수는 또한 최근 액세스들의 상태(승인 또는 거부)를 고려하거나 고려하지 않고 최근 액세스들의 총수, 어떤 중간에 거부된 액세스를 고려하거나 고려하지 않고 최근 승인된 액세스 이후의 델타 시간에 따라, 또는 중간에 거부된 액세스 없이 최근 승인된 액세스 이후에 어떤 사람에게 또는 그의 수중에 디바이스가 존재하는 것의 개념을 고려하여 달라질 수 있다.
일부 실시예들에서, 서브세트(M)(402)의 사이즈는 원하는 보안 레벨에 의존할 수 있다. 예를 들어, 서브세트(M)(402)에 적은 수의 세그먼트가 선택된다면 보안을 깨려고 시도하고 있는 공격자는 그렇게 하는 데 보다 수월한 시간을 가질 수 있는데, 그 이유는 적은 수의 세그먼트는 보다 작은 검색 공간을 제시하기 때문이다. 이것은, 예를 들어, 전화를 걸거나 달력을 살펴보는 것과 같은 낮은 보안 기능에는 적절할 수 있다. 그러나, 보다 높은 보안 액세스(예컨대, 당좌 예금 계좌에 액세스하는 것)는 공격의 이벤트로부터 더 높은 보안을 제공하기 위해 서브세트(M)(402)에 더 많은 수의 세그먼트를 요구할 수 있다.
블록 510에서, 본 개시 내용의 원리들에 따라, 인증자(106)는 하나 이상의 함정 세그먼트(406)를 포함하는 함정 세트(E)(404)를 식별할 수 있다. 인증자(106)는 암호(204)를 생성하는 데 사용된 동일한 암호 소스 세트(S)(112)로부터 함정 세그먼트들(406)을 선택할 수 있다. 함정 세그먼트들(406)은 무작위로 선택될 수 있다. 일부 실시예들에서, 서브세트(M)(402) 내의 세그먼트들의 선택과 유사하게, 함정 세그먼트들(406)은, 이 경우, 암호(204)에 있지 않은 세그먼트들이 서브세트(M)(402) 내의 세그먼트들에서 보이는 변화들과 유사한 비율(rate)로 변화하는 것을 보장하기 위해, 스코어보드 프로세스를 통해 선택될 수 있다. 함정 세그먼트들(406)은 최근 액세스가 거부된 경우들에 이전의 선택과 정확히 일치하도록 선택될 수 있다. 인증자(106)는, 도 4에 도시된 바와 같이, 서브세트(S')(112')로부터 함정 세그먼트들(406)을 선택할 수 있다.
도 4는 선택 프로세스의 논리적 표현이라는 것과, 주어진 구현에서, 인증자(106)는 서브세트(S')(112')를 실제로 생성하지 않아도 된다는 것에 유의할 만하다. 대신에, 예를 들어, 인증자(106)는 암호 소스 세트(S)(112)로부터 세그먼트(202)를 무작위로 선택할 수 있다. 선택된 세그먼트가 검색된 암호(204) 내의 암호 세그먼트(206)이거나 이미 함정 세그먼트(E)(404)에 있다면, 선택된 세그먼트는 버려진다. 그렇지 않다면, 선택된 세그먼트는 함정 세트(E)(404)에 추가된다. 이것은 적절한 수의 함정 세그먼트(406)가 선택될 때까지 계속될 수 있다.
일부 실시예들에서, 서브세트(M)(402) 내의 세그먼트들과 함정 세그먼트들(406)은 인증자(106)가 블록 512에서 사용자에게 제시하는 프레젠테이션 세트(408)의 프레젠테이션 세그먼트들(410)을 구성할 수 있다. 인증자(106)는 프레젠테이션 세그먼트들의 본질에 따라, 시각적 디스플레이를 통해 또는 오디오로서 또는 양쪽 모두로서 프레젠테이션 세그먼트들(410)을 제시할 수 있다. 본 개시 내용에 따라, 인증자(106)는 프레젠테이션 세그먼트들(410)을 시각적 디스플레이 디바이스를 통해 무작위 배열로 표시하거나, 프레젠테이션 세그먼트들을 오디오 디바이스를 통해 무작위 순서로 재생할 수 있다. 도 6c는 디스플레이(602) 상에 제시된 프레젠테이션 세그먼트들(410)을 보여주는 예를 예시한다. 일부 실시예들에서, 프레젠테이션 세그먼트들(410)은 그리드 패턴(예컨대, ATM 키패드 또는 스마트폰의 숫자 PIN 언로크 표시와 유사하게 그러나 버튼 면들에 놓인 프레젠테이션 세그먼트들과 연관된 그래픽 이미지들 또는 기호들과 함께), 원형 패턴, 또는 임의의 다른 패턴으로 무작위로 배열될 수 있다.
블록 514에서, 사용자는 제시된 프레젠테이션 세그먼트들(410) 중 하나 이상의 자신의 선택을 인증자(106)에 입력함으로써 챌린지에 응답할 수 있다. 예를 들어, 터치 스크린 디바이스에서, 사용자는 터치 스크린 디바이스에 표시되어 있는 프레젠테이션 세그먼트들(410) 중 하나 이상을 탭(tap)할 수 있다. 디스플레이가 터치 감응식이 아니라면, 사용자는 마우스로 클릭함으로써 자신의 선택을 알릴 수 있다. 대안으로, 표시된 프레젠테이션 세그먼트들(410)은 수반되는 식별 정보(예컨대, 문자들 또는 숫자들)를 포함할 수 있고, 이는 프레젠테이션 세그먼트들이 이미지들인 경우에 적합할 수 있다. 사용자는 프레젠테이션 세그먼트들(410)의 자신의 선택에 대응하는 문자들 또는 숫자들의 시퀀스를 입력할 수 있다.
도 6d는 일부 실시예들에 따른 프레젠테이션 세그먼트들(410)의 디스플레이의 예들을 보여준다. 도 4에 제시된 예를 이용하여, 프레젠테이션 세그먼트(410)는 암호(204)로부터의 서브세트(M)(402)(즉, 세그먼트 H, A, 및 C) 및 함정 세트(E)(404)(즉, 세그먼트 D 및 F)를 포함한다. 디스플레이(602a)는 프레젠테이션 세그먼트들(410)의 무작위 디스플레이의 예를 예시한다. 사용자는 디스플레이(602a)에 제시된 프레젠테이션 세그먼트들(410) 중 하나 이상을 탭하거나 마우스로 클릭할 수 있다. 디스플레이(602a)는 인증자(106)에게 사용자가 자신의 선택을 했다는 것을 알리기 위한 완료(DONE) 버튼을 포함할 수 있다. 일부 실시예들에서, 서브세트(M)(402)의 사이즈가 고정되어 있다면 또는 인증자(106)가 승인 액세스 조건을 위해 각 세그먼트 선택 후에 사용자가 선택한 세그먼트들을 암호(204)와 비교한다면 완료 버튼이 필요하지 않을 수 있다.
디스플레이(602b)는 프레젠테이션 세그먼트들(410)을 수반되는 식별 정보, 이 경우 숫자들과 함께 표시하는 예를 예시한다. 사용자는 프레젠테이션 세그먼트들(410)의 자신의 선택을 특정하기 위해 숫자들의 시퀀스를 입력할 수 있다. 예를 들어, 사용자가 프레젠테이션 세그먼트들 H, D, C를 이 순서로 선택하기를 원한다면, 사용자는 자신의 키보드를 통해 "2", "5", "4"를 입력할 수 있다.
도 5로 돌아와서, 프레젠테이션 세그먼트들(410)이 오디오 데이터를 포함한다면, 인증자(106)는 사용자의 디바이스를 통해 프레젠테이션 세그먼트들 각각을 재생할 수 있다. 그 목록을 들은 후에, 사용자는 프레젠테이션 세그먼트들(410)의 자신의 선택을 알리기 위해 자신의 디바이스에 대고 "말"할 수 있다. 대안으로, 인증자(106)는 사용자의 디바이스를 통해 각각의 프레젠테이션 세그먼트(410)를 재생하고 사용자가, 예를 들어, 디바이스 상의 버튼을 누름으로써 선택을 알릴 수 있게 하기 위해 각각의 프레젠테이션 세그먼트 후에 잠시 멈출 수 있다.
일부 실시예들에서, 인증자(106)는 프레젠테이션 세그먼트들(410)의 사용자의 선택의 순서를 결정할 수 있다. 시각적 디스플레이에서, 인증자(106)는 사용자의 탭들 또는 마우스 클릭들의 순서로부터 그 순서를 결정할 수 있다. 사용자가 키보드, 또는 다른 그러한 입력 디바이스를 이용하여 자신의 선택을 입력하면, 인증자(106)는 사용자의 키 누름들의 시퀀스로부터 그 순서를 결정할 수 있다. 오디오 타입 프레젠테이션 세그먼트들(410)에서, 그 순서는 사용자가 말한 입력의 순서로부터 결정될 수 있다. 대안으로, 인증자(106)는 프레젠테이션 세그먼트들(410)의 목록을 여러 번 재생할 수 있다. 제1회에, 사용자는 제1 프레젠테이션 세그먼트를 듣고 자신의 선택에서 선택할 수 있다. 제2회에, 사용자는 제2 프레젠테이션 세그먼트를 듣고 자신의 선택에서 선택할 수 있고, 사용자가 프레젠테이션 세그먼트들(410)의 자신의 선택을 완료할 때까지 그렇게 계속할 수 있다.
일부 실시예들에서, 사용자에게 제시되는 각각의 프레젠테이션 세그먼트(410)에 워터마크, 워터마크들의 세트, 또는 다른 식별 마킹이 수반될 수 있다. 다시 도 6d를 참고하면, 디스플레이(602c)는 각각의 프레젠테이션 세그먼트(410)를 워터마크(612)로 워터마킹하는 예를 예시한다. 워터마크는 표시된 프레젠테이션 세그먼트들(410) 중 어느 것이 암호(204)에 속하는지에 관해 사용자의 기억을 유발하는 니모닉(mnemonic)의 역할을 할 수 있다. 따라서, 예를 들어, 암호(204)로부터의 암호 세그먼트들 C H A는 사용자가 그 세그먼트들을 암호(204)로부터 온 것으로 식별할 수 있게 하기 위해 동일한 워터마크(예컨대, 백슬래시(backslash) 문자)를 가질 수 있다. 다른 프레젠테이션 세그먼트들(즉, 함정 세그먼트들)은 상이한 워터마크(예컨대, 포워드 슬래시(forward slash) 문자)를 가질 수 있다. 일부 실시예들에서, 워터마크 표시는 (예컨대, 스페이스 바를 탭함으로써) 온 및 오프 토글(toggled ON and OFF)될 수 있다. 이것은 사용자가 워터마크들을 빠르게 흘낏 볼 수 있게 할 수 있고, 그와 동시에 어깨너머 훔쳐 보기로 인한 보안 위반의 위험을 줄일 수 있다.
일부 실시예들에서, 사용자에게 제시되는 각각의 프레젠테이션 세그먼트(410)에 워터마크들의 세트가 수반될 수 있다. 암호(204)와 관련된 그의 세그먼트들에 적합한 특정 워터마크가 있다. 이 특정 워터마크는 사용자가 자신의 암호를 생성할 때 사용자에 의해 선택될 수 있거나 또는 그것은 인증마다(on a per authentication basis) 무작위로 배정될 수 있다. 임의의 부가의 워터마크들이 암호(204)와 관련된 그의 세그먼트들에 적합한 특정 워터마크와 동일하거나 유사한 밀도로 프레젠테이션 세그먼트(410)의 모든 세그먼트들에 분배된다. 이러한 배열에서, 각각의 프레젠테이션 세그먼트(410)는 상이한 종류의 둘 이상의 워터마크로 커버될 수 있다.
일부 실시예들에서, 암호 세그먼트들(예컨대, C H A)과 함께 표시되는 워터마크들은 동일한 이미지를 갖지 않을 수 있고, 대신에 어떤 특징을 공유할 수 있다. 함정 세그먼트들과 함께 표시되는 워터마크들은 그 특징을 공유하지 않을 것이다. 예를 들어, 각각의 암호 세그먼트는 상이한 워터마크를 가질 수 있지만 적색으로 표시되고; 함정 세그먼트들은 동일한 워터마크를 사용하지만 상이한 색으로 표시될 수 있다. 공통 워터마크들을 식별하기 위해 특징을 이용하는 것은 어깨너머 훔쳐 보기에 대비하여 더 많은 보안을 제공할 수 있는데, 그 이유는 어깨너머 훔쳐 보기는 워터마크들 중 어느 것이 암호 세그먼트들을 식별하고 어느 것은 그렇지 않은지를 쉽게 알 수 없을 것이기 때문이다.
도 5로 돌아와서, 블록 516에서, 인증자(106)는 사용자의 응답을 평가할 수 있다. 본 개시 내용에 따라, 평가는 프레젠테이션 세그먼트들(410)의 사용자의 선택을 블록 506에서 검색된 암호(204)와 비교하는 것을 포함할 수 있다. 일부 실시예들에서, 프레젠테이션 세그먼트들(410)의 사용자의 선택이 암호(204)에 속하는 세그먼트들만을 포함한다면, 인증자(106)는 블록 518 및 블록 520을 통해 사용자에게 액세스를 승인할 수 있고, 그렇지 않다면 블록 522에서 액세스가 거부될 수 있다. 다른 실시예들에서는, 프레젠테이션 세그먼트들(410)의 사용자의 선택에서 세그먼트들의 순서가 암호(204)에서 정의되는 그 동일한 세그먼트들의 순서와 일치하는 경우에만 액세스가 승인될 수 있다. 암호(204) 순서가 적용되는 실시예들에서는, ATM PIN이 동일한 숫자를 여러 번 포함할 수 있는 방법과 유사하게 암호(204)가 동일한 세그먼트를 여러 번 포함하는 경우들을 지원하는 것이 가능하다.
여러 명의 인증된 사용자를 지원하는 일부 실시예들에서, 프레젠테이션 세트(P)(408)를 생성하는 데 이용된 암호(204)의 세트가 프레젠테이션 세그먼트들(410)의 사용자의 선택과 대조하여 고려될 필요가 있다. 모든 가능한 매칭들이 실패하면 액세스가 거부된다. 특정 매칭이 발견되면 프레젠테이션 세트(P)(408)를 생성하는 데 이용된 디폴트 또는 예상되는 또는 최근 사용자들의 세트의 관련 사용자에 대한 액세스가 승인된다.
도 4에 도시된 예는 일부 예들을 예시하는 데 이용될 것이다. 암호(204)는 다음과 같은 암호 세그먼트들(206)을 다음과 같은 순서로 포함한다: H A C G. 함정 세트(E)(404)는 다음과 같은 함정 세그먼트들(406)을 포함한다: D F. 결과로 얻어지는 프레젠테이션 세트(P)(408)는 다음과 같은 프레젠테이션 세그먼트들(410)을 포함한다: A C D F H. 앞서 설명한 바와 같이, 프레젠테이션 세그먼트들(410)은 무작위 순서로 사용자에게 제시될 수 있다(예를 들어, 도 6c의 디스플레이(602) 참조).
사용자가 (예컨대, 터치 감응식 디스플레이에서 탭함으로써) 다음과 같은 프레젠테이션 세그먼트들을 선택한다고 가정해보자: H F D. 프레젠테이션 세그먼트들의 사용자의 선택(H F D)은 암호(204)에 속하는 세그먼트들만을 포함하지 않고; 세그먼트들 F 및 D는 암호(204)에 없기 때문에 인증자(106)는 (예컨대, 도 5의 블록 518 및 블록 522를 통해) 액세스를 거부할 것이다.
사용자가 (예컨대, 터치 감응식 디스플레이에서 탭함으로써) 다음과 같은 프레젠테이션 세그먼트들을 선택한다고 가정해보자: H A C D. 프레젠테이션 세그먼트들의 사용자의 선택(H A C D)은 암호(204)에 속하는 세그먼트들만을 포함하지 않고; 세그먼트 D는 암호(204)에 없기 때문에 인증자(106)는 (예컨대, 블록 518 및 블록 522를 통해) 액세스를 거부할 것이다.
사용자가 (예컨대, 터치 감응식 디스플레이에서 탭함으로써) 다음과 같은 프레젠테이션 세그먼트들을 다음과 같은 순서로 선택한다고 가정해보자: A C H. 세그먼트 순서가 적용되지 않는 실시예에서, 프레젠테이션 세그먼트들의 사용자의 선택(A C H)은, 순서의 차이에도 불구하고(사용자의 선택은 A C H인 반면, 암호(204)에서 동일한 세그먼트들의 순서는 H A C임), 암호(204)에 속하는 세그먼트들만을 포함하기 때문에 인증자(106)는 (예컨대, 블록 518 및 블록 520을 통해) 액세스를 승인할 것이다.
세그먼트 순서가 적용되는 실시예에서, 프레젠테이션 세그먼트들의 사용자의 선택(A C H)은, 사용자의 선택이 암호(204)에 속하는 세그먼트들만을 포함함에도 불구하고, 암호(204)에서 이들의 순서, 즉 H A C와는 다른 순서로 나타나기 때문에 인증자(106)는 액세스를 거부할 것이다.
사용자가 다음과 같은 프레젠테이션 세그먼트들을 다음과 같은 순서로 선택한다고 가정해보자: H A C. 세그먼트 순서가 적용되는 실시예에서, 프레젠테이션 세그먼트들의 사용자의 선택(H A C)은 암호(204)에 속하는 세그먼트들만을 포함하고, 선택된 세그먼트들은 암호(204)에서 나타나는 것과 동일한 순서, 즉 H A C로 나타나기 때문에 인증자(106)는 액세스를 승인할 것이다.
도면들에 도시되어 있지 않은 또 다른 예를 예시하기 위해, 다음과 같은 구성을 생각해보자:
암호 세트(N)(204): H A C G (순서화된 세트)
서브세트(M)(402)는 다음을 포함한다: A G H
함정 세트(E)(404)는 다음을 포함한다: D F
프레젠테이션 세트(P)(408)는 다음을 포함한다: A D F G H (무작위 순서로 표시됨)
사용자가 다음과 같은 프레젠테이션 세그먼트들을 다음과 같은 순서로 선택한다고 가정해보자: H A G. 세그먼트 순서가 적용되는 실시예에서, 프레젠테이션 세그먼트들의 사용자의 선택(H A G)은 암호(204)에 속하는 세그먼트들만을 포함하고, 선택된 세그먼트들은 암호(204)에서 나타나는 것과 동일한 순서, 즉 H A G로 나타나기 때문에 인증자(106)는 액세스를 승인할 것이다. 암호(204) 내의 세그먼트 C는 (예컨대, 블록 516에서) 사용자의 선택을 암호와 비교할 때 스킵된다는 것에 주목한다. 스킵된 세그먼트 C는 서브세트(M)(402)에 없었기 때문에 비교에서 고려되지 않는다.
세그먼트 순서가 적용되는 일부 실시예들에서, 사용자는 암호(204)로부터 그들이 알고 있는 함정 세트(E)(404)로부터의 임의의 세그먼트가 프레젠테이션 세트(P)(408)에서 누락되어 있을 때 그 세그먼트를 선택할 수 있다. 이 경우, 인증자(106)는 어느 사용자 선택들이 전술한 바와 같이 스킵되는 것이 아니라 무시되어야 할지를 결정하기 위해 서브세트(M)(402)를 이용하여 암호(204)를 고려하면서 응답들을 평가할 수 있다.
세그먼트 순서가 적용되는 일부 실시예들에서, 사용자는 암호(204)로부터 그들이 알고 있는 프레젠테이션 세트(P)(408)로부터의 임의의 세그먼트가 프레젠테이션 세트(P)(408)에서 누락되어 있을 때 그 세그먼트를 선택할 수 있다. 이 경우, 인증자(106)는 어느 사용자 선택들이 전술한 바와 같이 스킵되는 것이 아니라 무시되어야 할지를 결정하기 위해 서브세트(M)(402)를 이용하여 암호(204)를 고려하면서 응답들을 평가할 것이다.
도 7을 참고하면, 암호 생성기(102), 인증자(106), 및 컴퓨팅 디바이스(108)가 컴퓨터 시스템(702)에, 또는 여러 컴퓨터 시스템들 사이에 구현될 수 있다. 전형적인 구현에서, 컴퓨터 시스템(702)은 프로세싱 유닛(712), 시스템 메모리(714), 및 시스템 버스(711)를 포함할 수 있다. 시스템 버스(711)는 프로세싱 유닛(712), 시스템 메모리(714), 내부 데이터 저장 디바이스(716), 및 통신 인터페이스(713)를 포함하지만 이들에 제한되지 않는 다양한 시스템 컴포넌트들을 연결할 수 있다. 컴퓨터 시스템(702)이 모바일 디바이스(예컨대, 스마트폰, 컴퓨터 태블릿)인 구성에서, 내부 데이터 저장 디바이스(716)는 포함될 수 있거나 포함되지 않을 수 있다.
프로세싱 유닛(712)은 단일 프로세서 구성을 포함할 수 있거나, 다중 프로세서 아키텍처일 수 있다. 시스템 메모리(714)는 판독 전용 메모리(ROM) 및 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 내부 데이터 저장 디바이스(716)는 내부 하드 디스크 드라이브(HDD), 자기 플로피 디스크 드라이브(FDD, 예컨대, 이동식 디스켓으로부터 판독하거나 그것에 기입하기 위한 것), 광 디스크 드라이브(예컨대, CD-ROM 디스크를 판독하기 위한, 또는 DVD 등과 같은 다른 대용량 광학 매체로부터 판독하거나 그것에 기입하기 위한 것)일 수 있다. 컴퓨터 시스템(702)이 모바일 디바이스인 구성에서, 내부 데이터 저장 디바이스(716)는 플래시 드라이브일 수 있다.
내부 데이터 저장 디바이스(716) 및 그와 연관된 비일시적 컴퓨터 판독 가능 매체는 데이터, 데이터 구조, 컴퓨터 실행 가능 명령어, 및 기타 등등의 비휘발성 저장을 제공한다. 상기 컴퓨터 판독 가능 매체의 설명은 HDD, 이동식 자기 디스켓, 및 CD 또는 DVD와 같은 이동식 광학 매체와 관련 있지만, 집(zip) 드라이브, 자기 카세트, 플래시 메모리 카드, 카트리지, 및 기타 등등과 같은 다른 유형의 비일시적 컴퓨터 판독 가능 매체도 사용될 수 있고, 또한, 임의의 그러한 매체는 본 명세서에 개시된 방법들을 수행하기 위한 컴퓨터 실행 가능 명령어들을 포함할 수 있다는 것에 유의한다.
시스템 메모리(714) 및/또는 내부 데이터 저장 디바이스(716)는 운영 체제(732), 하나 이상의 애플리케이션 프로그램(734), 프로그램 데이터(736), 및 기타 프로그램/시스템 모듈들(738)을 포함한, 다수의 프로그램 모듈을 저장할 수 있다. 예를 들어, 애플리케이션 프로그램들(734)은 실행될 때, 컴퓨터 시스템(702)으로 하여금 암호 생성기(102)의 기능을 제공하게 할 수 있다. 애플리케이션 프로그램들(734)은, 예를 들어, 인증자(106)가 도 5의 방법 단계들을 수행하기 위한 프로그래밍을 포함할 수 있다.
외부 데이터 저장 디바이스(742)가 컴퓨터 시스템(702)에 연결될 수 있다. 예를 들어, 외부 데이터 저장 디바이스(742)는 도 1에 도시된 암호 데이터 저장소(104)일 수 있다. 일부 실시예들에서, 내부 데이터 저장 디바이스(716)는 암호 데이터 저장소(104)의 역할을 할 수 있다.
컴퓨터 시스템(702)에 대한 액세스는 적합한 입력 디바이스(744)(예컨대, 키보드, 마우스, 터치 패드, 기타 등등)와 적합한 출력 디바이스(746)(예컨대, 비디오 디스플레이(602)(도 6a)와 같은 비디오 디바이스, 및/또는 비디오 디스플레이(602)에 비디오 데이터를 제공하기 위한 비디오 컨트롤러 또는 그래픽 컨트롤러, 기타 등등)에 의해 제공될 수 있다. 컴퓨터 시스템(702)이 모바일 디바이스인 구성에서, 입력과 출력은 터치 감응식 디스플레이에 의해 제공될 수 있다. 입력 디바이스(744)는 터치 감응식 디스플레이에 표시된 가상 키보드일 수 있다.
본 명세서에 기술된 다양한 실시예들은 컴퓨터 시스템들에 저장된 데이터를 수반하는 다양한 컴퓨터 구현 동작들을 이용할 수 있다. 예를 들어, 본 명세서에 기술된 다양한 실시예들은 컴퓨터 시스템들에 저장된 데이터를 수반하는 다양한 컴퓨터 구현 동작들을 이용할 수 있다. 예를 들어, 이러한 동작들은 물리적 양들의 물리적 조작을 요구할 수 있다; 보통, 반드시 그러한 것은 아니지만, 이러한 양들은 전기 또는 자기 신호의 형태를 취할 수 있고, 여기서 이들 또는 이들의 표현들은 저장되거나, 전송되거나, 결합되거나, 비교되거나, 달리 조작될 수 있다. 또한, 이러한 조작들은 흔히, 생성, 식별, 결정, 또는 비교와 같은 용어들로 언급된다. 하나 이상의 실시예의 일부를 형성하는 본 명세서에 기술된 임의의 동작들은 유용한 기계 동작들일 수 있다. 게다가, 하나 이상의 실시예는 또한 이러한 동작들을 수행하기 위한 디바이스 또는 장치에 관한 것이다. 장치는 특정한 요구되는 목적을 위해 특수하게 구성될 수 있거나, 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 작동되거나 구성되는 범용 컴퓨터일 수 있다. 특히, 다양한 범용 기계들이 본 명세서의 교시 내용에 따라 작성된 컴퓨터 프로그램들과 함께 이용될 수 있거나, 요구되는 동작들을 수행하도록 더 전문화된 장치를 구성하는 것이 더 편리할 수 있다.
이들 및 기타 변형들, 수정들, 부가들, 및 개선들은 첨부된 청구항(들)의 범위 안에 들어갈 수 있다. 본 명세서의 설명에서 사용될 때 그리고 다음에 오는 청구항들 전체에 걸쳐, 단수를 나타내는 관사("a", "an", 및 "the")는 문맥이 명백히 다르게 지시하지 않는 한 복수의 언급 대상을 포함한다. 또한, 본 명세서의 설명에서 사용될 때 그리고 다음에 오는 청구항들 전체에 걸쳐, "~에(in)"의 의미는 문맥이 명백히 다르게 지시하지 않는 한 "~내에(in)"와 "~상에(on)"를 포함한다.
상기 설명은 본 발명의 양태들이 어떻게 구현될 수 있는지에 대한 예들과 함께 본 발명의 다양한 실시예들을 예시한다. 상기 예들 및 실시예들은 유일한 실시예들인 것으로 간주되어서는 안 되고, 다음의 청구항들에 의해 정의된 본 발명의 융통성과 이점들을 예시하기 위해 제시된다. 상기 개시 내용과 다음의 청구항들에 기초하여, 청구항들에 의해 정의되는 발명의 범위를 벗어나지 않고 다른 배열들, 실시예들, 구현들 및 동등물들이 이용될 수 있다.

Claims (25)

  1. 암호 인증(passcode authentication)을 위한 컴퓨터 구현 방법으로서,
    상기 암호는 복수의 암호 세그먼트(passcode segment)를 포함하고, 상기 컴퓨터 구현 방법은,
    컴퓨팅 디바이스에 대한 액세스를 위한 사용자로부터의 요청을 수신하는 단계;
    상기 복수의 암호 세그먼트로부터의 암호 세그먼트들의 서브세트 및 복수의 함정 세그먼트(distractor segment)를 포함하는 복수의 프레젠테이션 세그먼트(presentation segment)를 상기 사용자에게 제시(presenting)하는 단계;
    상기 복수의 프레젠테이션 세그먼트 중에서 선택된 복수의 사용자 선택 세그먼트(user-selected segment)를 나타내는 정보를 상기 사용자로부터 수신하는 단계; 및
    수신되는 상기 복수의 사용자 선택 세그먼트가 상기 복수의 프레젠테이션 세그먼트에서 상기 사용자에게 제시되는 상기 암호 세그먼트들의 서브세트만을 포함한다면, 상기 컴퓨팅 디바이스에 대한 상기 사용자의 액세스를 승인하는 단계
    를 포함하고,
    상기 복수의 프레젠테이션 세그먼트 내의 상기 암호 세그먼트들의 서브세트의 사이즈는 연속적인 성공하지 못한 인증 시도들에 따라 증가하는, 암호 인증을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 암호를 구성하는 상기 복수의 암호 세그먼트는 순서화된 암호 세그먼트들의 세트를 구성하고, 상기 컴퓨팅 디바이스에 대한 상기 사용자의 액세스를 승인하는 단계는 상기 복수의 사용자 선택 세그먼트가 또한 상기 암호를 구성하는 상기 순서화된 암호 세그먼트들의 세트에서 상기 복수의 사용자 선택 세그먼트의 순서와 동일한 순서로 선택되는 경우에 발생하는, 암호 인증을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서, 복수의 사용자 중의 각 사용자에 대해 암호가 정의되고, 상기 복수의 프레젠테이션 세그먼트는 각 사용자의 각 암호로부터의 암호 세그먼트들의 서브세트를 포함하는, 암호 인증을 위한 컴퓨터 구현 방법.
  4. 제3항에 있어서, 수신되는 상기 복수의 사용자 선택 세그먼트가 상기 복수의 프레젠테이션 세그먼트에서 상기 사용자에게 제시된 암호 세그먼트들의 상기 서브세트 중 하나만을 포함하는 경우에 상기 복수의 사용자 중에서 특정 사용자가 식별되는, 암호 인증을 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서, 상기 복수의 프레젠테이션 세그먼트는 시각적으로 제시되는, 암호 인증을 위한 컴퓨터 구현 방법.
  6. 제5항에 있어서, 암호 세그먼트들의 상기 서브세트의 부분인 상기 복수의 프레젠테이션 세그먼트는 제1 종류의 워터마크들과 함께 표시되고, 상기 복수의 함정 세그먼트의 부분인 상기 복수의 프레젠테이션 세그먼트는 상기 제1 종류의 워터마크들과 상이한 제2 종류의 워터마크들과 함께 표시되는, 암호 인증을 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서, 상기 복수의 프레젠테이션 세그먼트는 무작위 순서로 상기 사용자에게 제시되는, 암호 인증을 위한 컴퓨터 구현 방법.
  8. 제1항에 있어서, 상기 복수의 암호 세그먼트와 상기 복수의 함정 세그먼트는 이미지들, 또는 오디오 데이터, 또는 이미지들과 오디오 데이터의 조합인, 암호 인증을 위한 컴퓨터 구현 방법.
  9. 제1항에 있어서, 상기 복수의 암호 세그먼트와 상기 복수의 함정 세그먼트는 세그먼트들의 공통 소스로부터 선택되는, 암호 인증을 위한 컴퓨터 구현 방법.
  10. 제1항에 있어서, 상기 복수의 프레젠테이션 세그먼트 내의 상기 암호 세그먼트들의 서브세트의 사이즈는 상기 사용자에 의해 요청된 액세스의 종류에 따라 달라지는, 암호 인증을 위한 컴퓨터 구현 방법.
  11. 제1항에 있어서, 상기 복수의 프레젠테이션 세그먼트 내의 상기 암호 세그먼트들의 서브세트의 사이즈는 상기 사용자의 ID(identity)에 따라서 달라지는, 암호 인증을 위한 컴퓨터 구현 방법.
  12. 삭제
  13. 제1항에 있어서, 상기 복수의 암호 세그먼트들의 서브세트가 스코어보드 프로세스(scoreboard process)를 이용하여 결정되는, 암호 인증을 위한 컴퓨터 구현 방법.
  14. 제1항에 있어서, 상기 복수의 함정 세그먼트는 스코어보드 프로세스를 이용하여 결정되는, 암호 인증을 위한 컴퓨터 구현 방법.
  15. 컴퓨터 시스템으로서,
    프로세서;
    비디오 디바이스; 및
    컴퓨터 실행 가능 프로그램 코드가 저장되어 있는 비일시적 데이터 저장 디바이스
    를 포함하고,
    상기 컴퓨터 실행 가능 프로그램 코드는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    상기 컴퓨터 시스템에 대한 액세스의 요청을 수신하고 - 상기 액세스의 요청은 상기 컴퓨터 시스템에서 액세스될 사용자 이름 또는 기능을 포함함 -;
    상기 액세스의 요청에 응답하여, 상기 비디오 디바이스를 이용하여 복수의 이미지를 표시하고 - 상기 복수의 이미지는 상기 요청된 액세스와 연관된 암호를 구성하는 암호 세그먼트들의 완전한 세트보다 적은 세트를 나타내고, 상기 복수의 이미지는 또한 상기 암호의 부분이 아닌 복수의 함정 세그먼트를 나타내고, 상기 복수의 이미지는 상기 비디오 디바이스에 무작위 순서로 배열됨 -;
    상기 비디오 디바이스에 표시된 상기 복수의 이미지 중 일부의 선택들을 나타내는 입력을 사용자로부터 수신하고;
    상기 사용자가 상기 비디오 디바이스에 표시된 상기 복수의 이미지로부터 상기 암호를 구성하는 암호 세그먼트들의 상기 완전한 세트에 속하는 암호 세그먼트들을 나타내는 이미지들을 선택할 때 상기 컴퓨터 시스템에 대한 액세스를 승인하게 하고,
    상기 사용자가 상기 비디오 디바이스에 표시된 상기 복수의 이미지로부터 상기 암호를 구성하는 암호 세그먼트들의 완전한 세트에 속하는 암호 세그먼트들을 나타내지 않는 이미지들을 선택하는 경우에 상기 컴퓨터 시스템에 대한 액세스가 한번 이상 연속적으로 거부되면, 상기 복수의 이미지의 암호 세그먼트들의 완전한 세트보다 적은 세트의 수를 증가시키는 컴퓨터 시스템.
  16. 제15항에 있어서, 상기 사용자가 상기 비디오 디바이스에 표시된 상기 복수의 이미지로부터 상기 암호를 구성하는 암호 세그먼트들의 상기 완전한 세트에 속하는 암호 세그먼트들을 나타내는 이미지들만을 선택할 때 상기 컴퓨터 시스템에 대한 액세스가 승인되는 컴퓨터 시스템.
  17. 제15항에 있어서, 상기 암호를 구성하는 상기 암호 세그먼트들의 완전한 세트는 순서화된 암호 세그먼트들의 세트를 구성하고, 상기 사용자가 상기 비디오 디바이스에 표시된 상기 복수의 이미지로부터 상기 암호를 구성하는 암호 세그먼트들의 상기 완전한 세트에 속하고 그리고 암호 세그먼트들의 상기 완전한 세트에서와 동일한 순서로 된 암호 세그먼트들을 나타내는 이미지들을 선택할 때 상기 사용자에게 상기 컴퓨터 시스템에 대한 액세스가 승인되는 컴퓨터 시스템.
  18. 제17항에 있어서, 상기 사용자에 의해 선택된 이미지들은 상기 암호에 속하지 않거나 정확한 순서로 상기 암호에 속하지 않는 세그먼트들을 나타내는 이미지들을 포함하고, 상기 프로세서는 그러한 세그먼트들을 무시하는 컴퓨터 시스템.
  19. 제15항에 있어서, 암호 세그먼트들을 나타내는 상기 복수의 이미지는 제1 종류의 워터마크들과 함께 표시되고, 함정 세그먼트들을 나타내는 상기 복수의 이미지는 상기 제1 종류의 워터마크들과 상이한 제2 종류의 워터마크와 함께 표시되는 컴퓨터 시스템.
  20. 제15항에 있어서, 상기 컴퓨터 실행 가능 프로그램 코드는, 상기 프로세서에 의해 실행될 때, 또한 상기 프로세서로 하여금,
    상기 비디오 디바이스 상에 복수의 소스 세그먼트를 표시하고;
    상기 복수의 소스 세그먼트의 복수의 선택을 나타내는 입력을 수신하고;
    상기 복수의 선택을 상기 암호로서 저장하게 하는 컴퓨터 시스템.
  21. 인증을 위한 컴퓨터 구현 방법으로서,
    출력 디바이스에 복수의 제1 정보와 복수의 제2 정보를 제시하는 것을 포함하여, 컴퓨터에 대한 액세스를 요청한 사용자에게 챌린지(challenge)를 제시하는 단계 - 상기 복수의 제1 정보는 상기 요청된 액세스와 연관된 암호의 부분만을 나타내고, 상기 복수의 제2 정보는 상기 암호의 어떤 부분도 나타내지 않음 -;
    상기 사용자로부터의 선택이 상기 출력 디바이스에 제시되는 상기 복수의 제1 정보와 상기 복수의 제2 정보 중에서 상기 복수의 제1 정보만을 포함하는 경우에 상기 사용자에게 액세스를 승인하는 단계; 및
    상기 사용자로부터의 선택이 상기 출력 디바이스 상에 제시되는 상기 복수의 제1 정보 및 상기 복수의 제2 정보 중에서 상기 복수의 제1 정보만을 포함하지 않는 경우에 상기 컴퓨터에 대한 액세스가 한번 이상 연속적으로 거부되면, 상기 복수의 제1 정보 중의 상기 복수의 제1 정보의 양을 증가시키는 단계
    를 포함하는, 인증을 위한 컴퓨터 구현 방법.
  22. 제21항에 있어서, 상기 챌린지에서 상기 출력 디바이스에 제시되는 상기 복수의 제1 정보의 양은 상기 요청된 액세스의 유형에 따라 달라지는, 인증을 위한 컴퓨터 구현 방법.
  23. 제21항에 있어서, 상기 암호는 이미지들을 포함하고, 상기 복수의 제1 정보와 상기 복수의 제2 정보는 상기 출력 디바이스에 표시된 이미지들을 포함하는, 인증을 위한 컴퓨터 구현 방법.
  24. 제21항에 있어서, 상기 암호를 포함하는 정보는 순서를 갖는 것으로 특징지어지고, 상기 사용자로부터의 선택이 상기 출력 디바이스에 제시되는 상기 복수의 제1 정보와 상기 복수의 제2 정보 중에서 상기 암호에서 특징지어진 상기 순서로 상기 복수의 제1 정보만을 포함하는 경우에 상기 컴퓨터에 대한 액세스가 상기 사용자에게 승인되는, 인증을 위한 컴퓨터 구현 방법.
  25. 제21항에 있어서, 상기 복수의 제1 정보와 상기 복수의 제2 정보는 이미지들이고, 상기 복수의 제1 정보와 연관된 이미지들은 제1 종류의 식별 마크들을 포함하고, 상기 복수의 제2 정보와 연관된 이미지들은 상기 제1 종류와 다른 제2 종류의 식별 마크들을 포함하는, 인증을 위한 컴퓨터 구현 방법.
KR1020157023232A 2013-01-30 2014-01-30 사용자가 아는 코드 시퀀스의 서브세트를 이용한 인증 KR101687510B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/754,101 US9135427B2 (en) 2013-01-30 2013-01-30 Authentication using a subset of a user-known code sequence
US13/754,101 2013-01-30
PCT/US2014/013765 WO2014120881A1 (en) 2013-01-30 2014-01-30 Authentication using a subset of a user-known code sequence

Publications (2)

Publication Number Publication Date
KR20150110778A KR20150110778A (ko) 2015-10-02
KR101687510B1 true KR101687510B1 (ko) 2016-12-28

Family

ID=50113030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157023232A KR101687510B1 (ko) 2013-01-30 2014-01-30 사용자가 아는 코드 시퀀스의 서브세트를 이용한 인증

Country Status (7)

Country Link
US (1) US9135427B2 (ko)
EP (1) EP2941732B1 (ko)
KR (1) KR101687510B1 (ko)
CN (1) CN105210074B (ko)
CA (1) CA2899878C (ko)
MX (1) MX346989B (ko)
WO (1) WO2014120881A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016507110A (ja) * 2013-09-12 2016-03-07 ジーシーオーディー イノベーション コーポレーション リミテッドGcod Innovation Co.,Ltd. 保安認証方法及び装置
US9722996B1 (en) * 2015-03-23 2017-08-01 EMC IP Holding Company LLC Partial password-based authentication using per-request risk scores
US10091188B2 (en) * 2015-03-30 2018-10-02 Qualcomm Incorporated Accelerated passphrase verification
US9672337B2 (en) * 2015-04-09 2017-06-06 Verizon Patent And Licensing Inc. Dynamic authentication
EP3446266A4 (en) 2016-07-29 2020-01-22 Hewlett-Packard Development Company, L.P. AUTHENTICATION OF COMPUTER DEVICE FOR AUTHORIZING WORKFLOW
US20180096127A1 (en) * 2016-09-30 2018-04-05 Salesforce.Com, Inc. Associating multiple e-learning identities with a single user
US10554652B2 (en) * 2017-03-06 2020-02-04 Ca, Inc. Partial one-time password
US10146927B2 (en) * 2017-04-03 2018-12-04 Fujitsu Limited Dynamic keypad for access code input
US11005971B2 (en) * 2018-08-02 2021-05-11 Paul Swengler System and method for user device authentication or identity validation without passwords or matching tokens
CN109543371B (zh) * 2018-08-09 2020-09-08 湖州申脉科技有限公司 一种智能设备与社交软件的隐私管理方法和系统
US10956558B2 (en) * 2018-10-31 2021-03-23 Microsoft Technology Licensing, Llc Methods for increasing authentication security
US11210431B2 (en) * 2019-06-07 2021-12-28 Dell Products L.P. Securely entering sensitive information using a touch screen device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010768A1 (en) * 2003-07-08 2005-01-13 Light John J. Information hiding through time synchronization
US20080141345A1 (en) * 2006-12-06 2008-06-12 Motorola, Inc. System and method for providing secure access to password-protected resources

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5821933A (en) 1995-09-14 1998-10-13 International Business Machines Corporation Visual access to restricted functions represented on a graphical user interface
US6079021A (en) 1997-06-02 2000-06-20 Digital Equipment Corporation Method and apparatus for strengthening passwords for protection of computer systems
US7379916B1 (en) 2000-11-03 2008-05-27 Authernative, Inc. System and method for private secure financial transactions
US7383572B2 (en) 2002-05-24 2008-06-03 Authentify, Inc. Use of public switched telephone network for authentication and authorization in on-line transactions
KR20020077838A (ko) 2002-08-09 2002-10-14 박승배 타인의 관찰에 의한 패스워드의 노출 문제를 해결한 패스워드 시스템
US7124433B2 (en) 2002-12-10 2006-10-17 International Business Machines Corporation Password that associates screen position information with sequentially entered characters
US7577987B2 (en) 2002-12-23 2009-08-18 Authernative, Inc. Operation modes for user authentication system based on random partial pattern recognition
US8287375B2 (en) 2005-05-31 2012-10-16 Aristocrat Technologies Australia Pty Ltd Password entry system
JP4681419B2 (ja) 2005-10-14 2011-05-11 富士通株式会社 携帯端末装置、携帯端末装置のロック制御プログラムおよびロック制御方法
US8125312B2 (en) 2006-12-08 2012-02-28 Research In Motion Limited System and method for locking and unlocking access to an electronic device
CN101334826B (zh) * 2007-06-29 2010-06-23 纬创资通股份有限公司 利用图像选取作为验证机制的方法与计算机系统
EP2947592B1 (en) 2007-09-24 2021-10-27 Apple Inc. Embedded authentication systems in an electronic device
WO2009121437A1 (de) 2008-03-31 2009-10-08 Albert Josef Zeier Dynamisches authentifizierungsverfahren
US8347103B2 (en) 2009-01-13 2013-01-01 Nic, Inc. System and method for authenticating a user using a graphical password
US8667280B2 (en) 2010-02-24 2014-03-04 Ca, Inc. Method and apparatus for applying a partial password in a multi-factor authentication scheme
US20110283241A1 (en) 2010-05-14 2011-11-17 Google Inc. Touch Gesture Actions From A Device's Lock Screen
US8402533B2 (en) 2010-08-06 2013-03-19 Google Inc. Input to locked computing device
US20120124662A1 (en) 2010-11-16 2012-05-17 Baca Jim S Method of using device motion in a password

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010768A1 (en) * 2003-07-08 2005-01-13 Light John J. Information hiding through time synchronization
US20080141345A1 (en) * 2006-12-06 2008-06-12 Motorola, Inc. System and method for providing secure access to password-protected resources

Also Published As

Publication number Publication date
KR20150110778A (ko) 2015-10-02
US20140215601A1 (en) 2014-07-31
MX2015009862A (es) 2016-02-16
WO2014120881A1 (en) 2014-08-07
EP2941732A1 (en) 2015-11-11
EP2941732B1 (en) 2018-03-21
CN105210074A (zh) 2015-12-30
CA2899878C (en) 2020-03-24
MX346989B (es) 2017-04-07
US9135427B2 (en) 2015-09-15
CN105210074B (zh) 2018-01-12
CA2899878A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
KR101687510B1 (ko) 사용자가 아는 코드 시퀀스의 서브세트를 이용한 인증
KR101719933B1 (ko) 인증 및/또는 패스워드 식별을 위한 동적 데이터 구조 생성 방법
CN102576399B (zh) 基于多个凭证的资源访问
US20150058972A1 (en) Method And Apparatus For Accessing An Application Program
US20190340352A1 (en) Method for producing dynamic password identification for users such as machines
CN107431924A (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
JP6068328B2 (ja) 情報処理装置および情報処理方法
CN101529366A (zh) 可信用户界面对象的标识和可视化
US10033724B2 (en) System of composite passwords incorporating hints
CA2877082C (en) Secure password management systems, methods and apparatuses
CN105468962A (zh) 用户界面解锁的方法及装置
US20080172750A1 (en) Self validation of user authentication requests
JP2015033038A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
JP6137658B2 (ja) ユーザ認証方法、認証装置、および端末
CN109617703B (zh) 密钥管理方法和装置、电子设备及存储介质
EP3528152A1 (en) Method and apparatus for user authentication
CN107357511A (zh) 密码输入区域生成方法、电子终端及计算机可读存储介质
Kaushik et al. A Novel Graphical Password Scheme to Avoid Shoulder-Surfing Attacks in Android Devices
CN109063458B (zh) 一种分层信息管理的终端安全方法和装置
KR20110101271A (ko) 데이터 관리장치의 데이터 보안방법 및 그 보안장치
JP2015011668A (ja) 認証サーバ、認証方法、およびプログラム
GB2517136A (en) Authentication System and Method
CN115408670A (zh) 数字访客证的生成方法及装置
JP2009187421A (ja) 画像閲覧システム
JP2011118631A (ja) 認証サーバ、認証方法、および、プログラム

Legal Events

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