KR20140125730A - 패스워드들을 관리하는 장치 및 방법 - Google Patents

패스워드들을 관리하는 장치 및 방법 Download PDF

Info

Publication number
KR20140125730A
KR20140125730A KR1020140045268A KR20140045268A KR20140125730A KR 20140125730 A KR20140125730 A KR 20140125730A KR 1020140045268 A KR1020140045268 A KR 1020140045268A KR 20140045268 A KR20140045268 A KR 20140045268A KR 20140125730 A KR20140125730 A KR 20140125730A
Authority
KR
South Korea
Prior art keywords
password
suggestion
hash value
passwords
processor
Prior art date
Application number
KR1020140045268A
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 톰슨 라이센싱
Publication of KR20140125730A publication Critical patent/KR20140125730A/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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

사용자에 대한 패스워드들을 관리하는 방법. 적어도 하나의 수신된 부정확한 패스워드 제안을 저장하는 장치(110)의 프로세서(111)는 추가의 패스워드 제안을 사용자로부터 사용자 인터페이스(113)를 통해 수신하고(S10); 추가의 패스워드 제안에 대한 해시값을 생성하고(S11); 해시값을 인증 서버(120)로 전송하고; 해시값이 정확한 패스워드에 대응하는지 또는 부정확한 패스워드에 대응하는지를 나타내는 메시지를 인증 서버(120)로부터 수신한다. 해시값이 정확한 패스워드에 대응한다고 메시지가 나타내는 경우, 프로세서는 부정확한 패스워드 제안과 정확한 패스워드 간의 거리를 나타내는 거리값을 획득하기 위해 각각의 부정확한 패스워드 제안에 대한 거리 함수를 이용하고(S13); 거리값이 임계값 이하인 패스워드 제안들에 대한 해시값들을 인증 서버(120)에 전송한다. 또한, 장치(110) 및 컴퓨터 프로그램 매체(140)가 제공된다. 본 개시는 패스워드 제안들에 있어서 타이핑 에러들에 대한 내성을 제공할 수 있다.

Description

패스워드들을 관리하는 장치 및 방법{APPARATUS AND METHOD FOR MANAGING PASSWORDS}
본 개시는 일반적으로 컴퓨터 시스템들에 관한 것이고, 상세하게는, 그러한 시스템들에서의 패스워드들의 처리에 관한 것이다.
이 섹션은, 하기에서 설명되고/되거나 청구되는 본 개시의 다양한 양태들에 관련될 수도 있는 다양한 기술 양태들을 독자에게 소개하도록 의도된다. 이러한 논의는, 본 개시의 다양한 양태들의 더 양호한 이해를 용이하게 하기 위한 배경 정보를 독자에게 제공하는데 유용할 것으로 사료된다. 이에 따라, 이들 진술들은 종래 기술의 시인으로서가 아니라, 이러한 견지에서 읽혀져야 한다는 것을 이해해야 한다.
패스워드들은, 예를 들어, 로그온을 위한 사용자를 인증하기 위해 오늘날 컴퓨터 시스템들에 있어서 유비쿼터스하다. 그 일반적인 정의에 있어서, 패스워드는 미리 정의된 알파벳 내에서 취해진 일련의 심볼들(예를 들어: PIN 코드를 위한 4개 수치값들)로 구성된다. 패스워드는 일반적으로 더 길수록, 특히, 패스워드가 대문자 및 소문자, 수치들, 그리고 &, " 및 #과 같은 문자들의 혼합이면, 더 강력하다. 하지만, 특히, 타이핑된 문자가 스크린 상에 보이지 않기 때문에, 더 복잡한 패스워드는 일반적으로 올바로 타이핑하기에 더 복잡하다. 부가적으로, 사용자들이 하루에도 수회 패스워드들을 입력해야 할 수도 있기 때문에, 패스워드들은 종종 매우 신속하게 타이핑된다. 따라서, 입력된 패스워드가 타이핑 에러들을 포함할 수 있다는 것은 놀라운 일이 아니다. 더욱이, 스마트폰들 및 태블릿들과 같은 터치스크린 기반 디바이스들은 가상 키보드들을 사용하여, 패스워드들을 포함한 일부 텍스트를 입력한다. 이러한 타입의 입력으로, 타이핑 에러들은 꽤 빈번할 수 있다.
종래 기술은, 타이핑 에러들에 내성이 있는 패스워드들을 제공하는 다수의 솔루션들을 포함한다.
패스워드 베리에이터라는 툴은, 누락된 문자들, 중복된 문자들, 여분의 문자들, 잘못된 순서 및 잘못된 케이스와 같은 3개까지의 오타들을 에뮬레이션하는, 패스워드에 대한 모든 가능한 변동들을 갖는 파일을 구축한다. Andrew Mehler 및 Steven Skiena는 패스워드-정정식 해싱을 통한 유용성 개선에 있어서 상이한 솔루션을 제공한다. 그들의 솔루션은, 예를 들어, 전치를 정정하기 위해 입력 패스워드를 알파벳순으로 소팅함으로써 해싱 전에 패스워드를 프로세싱하여, 약간 미스스펠링된 패스워드가 정확한 패스워드와 동일한 해시 값으로 해싱할 가능성이 있게 한다. "용인가능한" 패스워드들의 그러한 증대는 패스워드의 강도를 대폭 감소시키는 것이 명백하다.
US 7373516 및 JP 2005/208763에서의 솔루션들은 입력 패스워드를 "패스워드 공간" 내의, 즉, 평문으로(in the clear) 저장된 패스워드와 비교하여, 입력 패스워드가 저장된 패스워드와 "유사한"지를 판정한다. 하지만, 이들 솔루션들은 패스워드의 평문 버전의 비교를 요구하기 때문에, 패스워드를 평문으로 저장하는 것이 명백한 보안 이유로 일반적으로 용인불가능한 실제 시스템들에서는 사용될 수 없다. 일반적으로, 사용자에 의해 타이핑된 패스워드 제안의 해싱된 버전에 의해 비교될 패스워드의 해싱된 버전을 저장하는 서버에 의해 인증이 처리된다. 이는, 해시 함수로의 2개의 입력들이 상이하면 입력들이 단지 하나의 문자만큼만 상이할지라도 그 출력은 일반적으로 완전히 상이하다는 사실에 기인한다.
JP 2007-114976은, 다른 것들 중에서, 미스타이핑된 패스워드가 입력된 횟수의 카운트를 유지하고 그 횟수들이 충분히 클 경우, 예를 들어, 10회일 경우, 미스타이핑된 패스워드를 용인가능한 패스워드로서 저장하는 기능을 제공하는 PC와 같은 디바이스를 교시한다. 당업자는, 미스타이핑된 패스워드들의 부가에 대한 어떠한 제어도 없는 것으로 보이기 때문에 그 솔루션은 안전하지 못함을 이해할 것이고; 잘못된 패스워드가 10회 입력되었을 경우, 그것은 용인가능한 패스워드로서 저장되며, 이는 해커가 패스워드를 용인되게 하기 위해 패스워드를 10회 입력하기만 하면 된다는 것을 의미한다.
따라서, 종래 기술의 솔루션의 단점들을 갖지 않으면서 미스타이핑된 패스워드들을 허용하기 위한 인증 시스템을 허용할 수 있는 솔루션이 필요함을 이해할 수 있다. 본 개시는 그러한 솔루션을 제공한다.
제1 양태에 있어서, 본 개시는 패스워드들을 관리하는 장치에 관한 것으로서, 이 장치는 패스워드 제안을 사용자로부터 수신하도록 구성된 사용자 인터페이스, 및 패스워드 제안에 대한 해시값을 생성하고; 해시값을 인증 서버로 전송하고; 해시값이 정확한 패스워드에 대응하는지 또는 부정확한 패스워드에 대응하는지를 나타내는 메시지를 인증 서버로부터 수신하도록 구성된 프로세서를 포함한다. 프로세서는 추가로, 부정확한 패스워드들에 대응하는 패스워드 제안들을 저장하고, 해시값이 정확한 패스워드에 대응한다고 메시지가 나타내는 경우: 부정확한 패스워드들에 대응하는 각각의 패스워드 제안에 대한 거리 함수를 이용하여 패스워드 제안과 정확한 패스워드 간의 거리를 나타내는 거리값을 획득하고; 그리고 오직 거리값이 거리 기준을 만족하는 패스워드 제안들에 대한 해시값들만을 인증 서버에 전송하도록 구성된다.
제1 실시예에 있어서, 프로세서는 추가로, 정확한 패스워드를 나타내는 메시지의 수신 이외의 이벤트에 응답하여 적어도 하나의 저장된 패스워드 제안을 삭제하도록 구성된다.
제2 실시예에 있어서, 사용자는, 인증 서버에 의해 정확한 패스워드들로서 용인된 적어도 하나의 패스워드의 그룹을 가지며, 그 그룹은 하나의 프라이머리 패스워드 및 제로 또는 그 이상의 세컨더리 패스워드들을 포함하고; 메시지는 추가로, 해시값이 프라이머리 패스워드에 대응하는지 또는 세컨더리 패스워드들 중 하나에 대응하는지를 나타내고, 프로세서는 추가로, 해시값이 프라이머리 패스워드에 대응한다고 메시지가 나타내는 경우에만 거리 함수를 사용하고 거리값이 임계값 이하인 패스워드 제안들에 대한 해시값들을 전송하도록 구성된다.
제3 실시예에 있어서, 프로세서는 추가로, 해시값이 정확한 패스워드에 대응한다고 메시지가 나타내는 경우 저장된 패스워드 제안들을 삭제하도록 구성된다.
제4 실시예에 있어서, 프로세서는, 패스워드 제안에 대한 해시값이 정확한 패스워드에 대응하지 않는다고 나타내는 메시지의 수신 시 패스워드 제안을 저장하도록 구성된다.
제5 실시예에 있어서, 프로세서는 패스워드 제안의 수신 시 패스워드 제안을 저장하도록 구성된다. 프로세서가 패스워드 제안에 대한 해시값을 또한 저장하도록 구성되는 것이 유리하다.
제6 실시예에 있어서, 프로세서는 추가로 인증 서버를 구현하도록 구성된다.
제2 양태에 있어서, 본 개시는 사용자에 대한 패스워드들을 관리하는 방법에 관한 것이다. 적어도 하나의 수신된 부정확한 패스워드 제안을 저장하는 장치의 프로세서는 추가의 패스워드 제안을 사용자로부터 사용자 인터페이스를 통해 수신하고; 추가의 패스워드 제안에 대한 해시값을 생성하고; 해시값을 인증 서버로 전송하고; 해시값이 정확한 패스워드에 대응하는지 또는 부정확한 패스워드에 대응하는지를 나타내는 메시지를 인증 서버로부터 수신한다. 해시값이 정확한 패스워드에 대응한다고 메시지가 나타내는 경우, 프로세서는 부정확한 패스워드 제안과 정확한 패스워드 간의 거리를 나타내는 거리값을 획득하기 위해 각각의 부정확한 패스워드 제안에 대한 거리 함수를 이용하고; 그리고 오직 거리값이 거리 기준을 만족하는 패스워드 제안들에 대한 해시값들만을 인증 서버에 전송한다.
제1 실시예에 있어서, 프로세서는, 정확한 패스워드를 나타내는 메시지의 수신 이외의 이벤트에 응답하여 적어도 하나의 수신된 부정확한 패스워드 제안을 삭제한다.
제2 실시예에 있어서, 사용자는, 인증 서버에 의해 정확한 패스워드들로서 용인된 적어도 하나의 패스워드의 그룹을 가지며, 그 그룹은 하나의 프라이머리 패스워드 및 제로 또는 그 이상의 세컨더리 패스워드들을 포함하고; 메시지는 추가로, 해시값이 프라이머리 패스워드에 대응하는지 또는 세컨더리 패스워드들 중 하나에 대응하는지를 나타내고; 프로세서는, 해시값이 프라이머리 패스워드에 대응한다고 메시지가 나타내는 경우에만 거리 함수를 사용하고 거리값이 임계값 이하인 패스워드 제안들에 대한 해시값들을 전송한다.
제3 실시예에 있어서, 프로세서는, 해시값이 정확한 패스워드에 대응한다고 메시지가 나타내는 경우 적어도 하나의 수신된 부정확한 패스워드 제안을 삭제한다.
제4 실시예에 있어서, 프로세서는, 패스워드 제안에 대한 해시값이 정확한 패스워드에 대응하지 않는다고 나타내는 메시지의 수신 시 패스워드 제안을 저장한다.
제5 실시예에 있어서, 프로세서는 패스워드 제안의 수신 시 패스워드 제안을 저장한다.
제3 양태에 있어서, 본 개시는, 프로세서에 의해 실행될 경우, 제1 양태의 방법을 수행하는 명령들을 저장하는 비-일시적인 컴퓨터 프로그램 매체(computer program support)에 관한 것이다.
이제, 본 개시의 바람직한 특징들이 첨부 도면들을 참조하여 비-한정적인 예에 의해 설명될 것이다.
도 1은 본 개시가 구현될 수도 있는 예시적인 시스템을 도시한 것이다.
도 2는 본 개시의 패스워드 인증의 제1 예시적인 방법을 도시한 것이다.
도 3은 본 개시의 패스워드 인증의 제2 예시적인 방법을 도시한 것이다.
도 1은 본 개시가 구현될 수도 있는 예시적인 시스템을 도시한 것이다. 시스템은 컴퓨팅 디바이스("컴퓨터")(110) 및 인증 서버(120)를 포함한다. 컴퓨터(110) 및 인증 서버(이하, "서버")(120)는 표준 개인용 컴퓨터(PC) 또는 워크스테이션과 같이, 계산들을 수행하는 것이 가능한 임의의 종류의 적절한 컴퓨터 또는 디바이스일 수 있다. 컴퓨터(110) 및 서버(120)는 각각 바람직하게는, 적어도 하나의 프로세서(111, 121), RAM 메모리(112, 122), 사용자와 인터페이싱을 위한 사용자 인터페이스(113, 123), 및 커넥션(130)을 통해 다른 디바이스들과의 상호작용을 위한 제2 인터페이스(114, 124)를 포함한다. 컴퓨터(110) 및 서버(120)는 또한, 각각 바람직하게는, 프로세서에 의해 실행될 경우, 이하 설명되는 패스워드 방법들 중 임의의 방법을 수행하는 명령들을 저장하는 디지털 데이터 매체(140)로부터 소프트웨어 프로그램을 판독하기 위한 인터페이스를 포함한다. 당업자는, 도시된 디바이스들이 명료화의 이유로 매우 단순화되어 있고 실제 디바이스들은 부가적으로 지속성 저장부와 같은 특징부들을 포함함을 인식할 것이다. 당업자는, 본 개시는 또한 패스워드가 컴퓨터 자체로의 액세스만을 제공한다면 단지 컴퓨터(110) 상에서만 구현될 수도 있으며; 이 경우, 서버(120)는 컴퓨터에 구현됨을 인식할 것이다.
도 2는 본 개시의 패스워드 인증의 제1 예시적인 방법을 도시한 것이다. 제1 단계에 있어서, 사용자는 그 아이덴터티, 즉, 사용자 이름을, 컴퓨터(110)의 사용자 인터페이스(113)를 통해 입력한다(S01). 컴퓨터(110)는 (이하 설명될) 입력 패스워드 제안들의 그룹들을 빈 그룹으로 설정하고, 사용자 이름을 서버(120)로 포워딩한다(S02). 사용자 이름은 서버(120)로 하여금 사용자에 대한 하나 이상의 저장된 용인가능한 패스워드들(이하 볼 수 있는 바와 같은 프라이머리 패스워드 및 그것이 존재한다면 적어도 하나의 세컨더리 패스워드)의 해시들을 취출(retrieve)하게 한다(S03). 본 개시가 단지 컴퓨터(110) 상에서만 구현되는 경우에는 단일 사용자를 갖는 것이 가능하고, 그 경우, 사용자 이름을 제공할 필요가 없으며; 즉, 단계들(S01-S03)은 자동임이 인식될 것이다.
사용자는 컴퓨터(110)의 사용자 인터페이스(113)를 사용하여 패스워드 제안(Pi)(이하, 제안이라고 명명됨)을 입력하고(S10), 그 후, 이 컴퓨터(110)는, 서버(120)로 전송되는 해싱된 제안(h(Pi))을 획득하기 위해 제안(Pi)을 해싱한다(S11). 컴퓨터는 또한 제안(Pi)을 임시 저장한다. 서버는 해싱된 제안(h(Pi))을 저장된 해싱된 프라이머리 패스워드(h(S))와 비교한다(S12). 일치하는 경우, 바람직하게는 로그인이 성공적임을 사용자에게 통지하는 메시지가 컴퓨터(110)로 전송된다. 컴퓨터는 또한, 이하 설명될 기능을 수행한다(S13).
해싱된 제안(h(Pi))이 저장된 해싱된 프라이머리 패스워드(h(S))와 일치하지 않는 경우, 서버(120)는 해싱된 제안(h(Pi))이 hps(이하 추가로 설명됨)에 포함된 세컨더리 패스워드들의 해시들 중 임의의 해시와 일치하는지를 확인한다(S15). 이 경우라면, 로그인이 성공적이고 바람직하게는 메시지가 컴퓨터(110)로 전송되어 사용자가 통지받을 수도 있다. 컴퓨터(110)는 입력된 부정확한 제안들의 그룹(HP') 내의 모든 제안들을 그룹으로부터 삭제하며(S16), 이는 이하 추가로 설명될 것이다.
하지만, 해싱된 제안(h(Pi))이 hps에 포함된 세컨더리 패스워드들의 해시들 중 어떠한 해시와도 일치하지 않는 경우, 서버(120)는 이것을 컴퓨터에 통지하기 위한 메시지를 전송한다. 컴퓨터는 입력된 부정확한 제안의 그룹(HP')에 제안(Pi)을 부가하고(S17), 입력된 제안이 부정확함을 사용자에게 통지하며, 새로운 제안을 입력하도록 사용자에게 요청(invite)한다. 당연히, 본 개시는, 예를 들어, 가령 3번의 성공하지 못한 시도들 이후 추가의 로그인 시도들을 차단함으로써 시스템의 보안을 증가시키기 위해 다양한 종래 기술 솔루션들과 결합될 수도 있다.
그 후, 방법은 패스워드 입력 단계(S10), 제안 해싱 단계(S11), 제안 비교 단계(S12) 및 입력 제안의 정확성에 의존하여 이미 설명된 다른 단계들을 반복할 수 있다. 두번째 및 그 이후의 반복들 동안 입력된 부정확한 제안들의 그룹(HP')이 적어도 하나의 입력된 제안을 포함하기 때문에, 단계(S13)에서 컴퓨터에 의해 수행된 기능의 설명이 이제 예시적인 방식으로 설명될 수 있다.
단계(S13)에 있어서, 사용자는, 하나 이상의 시도들 이후, 정확한 프라이머리 패스워드, 즉, 해시(h(Pi))가 프라이머리 패스워드의 해시(h(S))와 일치하는 패스워드를 입력하였다. 그 후, 컴퓨터(110)는, 입력된 부정확한 제안의 그룹(HP')에서의 임의의 제안(Pj)이 정확한 프라이머리 패스워드에 "근접한"지를 체크하고, "근접한" 패스워드들의 해시 값들의 그룹(hp"); 즉, hp"={h(Pj)|Pj∈HP' ∧ d(Pi,Pj)≤α}을 생성하며, 여기서, d는 거리 함수를 나타내고, α는 대응하는 거리값, 즉, "근접한" 것으로서 간주되는 거리값에 대한 임계값을 나타낸다. 달리 말하면, 부정확한 제안은 거리 기준을 만족한다면 "근접한" 것으로서 간주된다. Levenshtein 거리, Damerau-Levenshtein 또는 해밍(Hamming) 거리를 계산하는 함수들과 같은 다수의 적절한 종래 기술의 거리 함수들이 존재하며; 당업자는 거리의 선택이, 예를 들어, 용인가능한 것으로서 판단되는 "에러들" - 문자 대체, 전치, 부가 및 삭제 - 에 의존함을 인식할 것이다. 부가하여, 임계값(α)은 미스타이핑된 패스워드가 장래에 용인되기 위해 얼마나 "근접"해야 하는지에 의존하여 선택되며; 예를 들어, 1 또는 가능하게는 2의 임계값이 바람직한 값들이다. 부가적으로, 컴퓨터(110)는 HP'에서의 제안들을 삭제하며, 즉, 그룹을 빈 그룹으로 설정한다.
그 후, 컴퓨터(110)는 해시값들의 그룹(hp")을 서버(120)로 전송한다. 컴퓨터(110)는, 예를 들어, 메시지의 시작부에 프라이머리 패스워드의 해시값을 부가함으로써 해시값들의 진정성의 일부 입증을 제공하는 것이 유리하다. 서버(120)는 그룹(hp")에서의 해시값들을 세컨더리 패스워드들의 그룹(hps)에 부가한다(S14). 당연히, 서버(120)는 또한, 그룹(hp")에서의 해시값들 중 임의의 해시값이 그룹(hps)에 이미 존재하는지를 체크하고, 그 후, 오직 새로운 해시값들만을 부가할 수 있다.
솔루션의 보안을 증가시키기 위해, 해싱된 제안이 저장된 해시에 대응할 경우(즉, 단계(S12)에서 '예'), 서버(120)는 사용자에 대한 새로운 세컨더리 패스워드들을 대기하는 상태로 되는 것이 바람직하다. 이러한 방식으로, 서버는 오직 정확한 패스워드가 입력된 경우에만 사용자에 대한 세컨더리 패스워드들을 저장할 것이다. 이러한 메모리를 타이머와 연관시키는 것이 유리하다.
따라서, 미스타이핑된 패스워드는, 정확한 프라이머리 패스워드가 뒤따른다면, 세컨더리 패스워드들의 그룹에 부가될 수 있음이 인식될 것이고, 이는 그 후 로그인을 위해 사용될 수 있음을 의미한다.
대안적인 실시예에 있어서, 그룹(HP')은 입력된 제안들(반드시 부정확한 제안들은 아님)을 포함하고, 그 제안은 단계(S17) 대신 단계(S11)에서 이미 이 그룹에 부가된다. 이 경우, 정확한 제안은, 근접한 패스워드들의 해시값들의 그룹(hp")이 단계(S13)에서 생성되기 전 그룹(HP')으로부터 제거될 수 있다.
어느 하나의 실시예에 있어서, 컴퓨터(110)가 설명된 바와 같이 그룹(HP')에 제안들(Pi)을 저장하고 단계(S11)에서 제안(Pi)의 해시값(h(Pi))을 제안들에 대한 해시값들의 그룹(hp')에 저장하며, 그 후, 단계(S13)에 있어서, "멀리 있는" 패스워드들에 대응하는 해시값들이 존재하지 않는 동안 근접한 패스워드들의 해시값들을 근접한 패스워드들의 해시값들의 그룹(hp")에 부가하는 것이 가능함이 인식될 것이다. 달리 말하면, 오직 근접한 패스워드들에 대한 해시값들만이 그룹(hp')으로부터 그룹(hp")으로 전송된다.
추가의 변형예에 있어서, 서버(120)는 제안들(h(Pi))의 수신된 해시값들을 사용자에 대한 그룹(hps")에 저장하고, hp"에서의 해시값들이 그룹(hps")의 적어도 서브세트임을 확인한다. 이는, hp"에서의 해시값들이 실제로 입력 제안들에 대응하고, 예를 들어, 그 해시값들이 중간자 공격(man-in-the-middle attack)을 사용하여 해커에 의해 부가되지 않았음을 보장하는 것이다.
변형 실시예에 있어서, 컴퓨터(110)는 또한, 입력 제안의 해시가 세컨더리 패스워드의 해시와 일치하는 경우에 그 기능을 수행하며, 즉, 단계(S13)가 단계(S15)를 따를 수도 있다.
바람직한 실시예에 있어서, 컴퓨터는 HP'에서의 각각의 입력된 부정확한 제안과 타이머를 연관시키고, 타이머가 만료한 제안을 삭제한다. 대안적으로, 컴퓨터는 타이머를 사용하고, 타이머가 만료할 경우에 HP'에서의 모든 입력 제안들을 삭제하며, 이는 도 2의 S18에 의해 도시된다. 이는, 시스템의 보안을 증가시키는데, 왜냐하면 이는 사용자가 도착하여 제안들을 유효화할 정확한 패스워드를 입력하기 전에 해커가 다수의 제안을 입력하는 것을 불가능하게 하기 때문이다. 다른 실시예들과 결합될 수도 있는 변형예에 있어서, 그룹(HP')은 n개의 제안들로 제한되고 FIFO 방식으로 작용하여, 새로운 제안에 대한 여지를 만들기 위한 필요가 존재할 경우 가장 오래된 제안이 드롭된다.
도 3은, 다수의 변형예들 및 실시예들이 통합되는 본 개시의 패스워드 인증의 제2 예시적인 방법을 도시한 것이다. 사용자는, 이전에 설명된 바와 같이 그 아이덴터티를 입력한다(S01). 그 후, 컴퓨터(110)는 패스워드 제안들의 해시값들(Pi)의 hpc'를 빈 그룹으로 설정하고, 사용자 이름을 서버(120)로 포워딩한다(S002). 서버(120)는 사용자에 대한 하나 이상의 저장된 용인가능한 패스워드들(프라이머리 패스워드 및 그것이 존재한다면 적어도 하나의 세컨더리 패스워드)의 해시들을 취출하고, 사용자에 대한 수신된 해시값들의 그룹(hps")을 빈 그룹으로 설정한다(S03).
사용자는 제안(Pi)을 입력한다(S10). 컴퓨터(110)는 서버(120)로 전송되는 해싱된 제안(h(Pi))을 획득하기 위해 제안(Pi)을 해싱한다(S21). 컴퓨터(110)는 또한, 제안 튜플(Pi, h(Pi))을 그룹(hpc')에 저장한다.
서버는 해싱된 제안(h(Pi))을 저장된 해싱된 프라이머리 패스워드(h(S))와 비교한다(S12). 일치하는 경우, 바람직하게는 로그인이 성공적임을 사용자에게 통지하는 메시지가 컴퓨터(110)로 전송된다. 컴퓨터는 또한 그룹(hpc')에서의 다른 제안들과 정확한 제안 간의 거리(d)를 결정하고(S23), "근접한" 제안들에 대응하는 해시값을 그룹(hpc")에 놓는다. 컴퓨터(110)는 또한, 그룹(hpc')을 빈 그룹으로 설정하고 그룹(hpc")을 서버로 전송한다. 서버(120)는 (이하 설명되는) hps"와 hpc" 간의 공통 엘리먼트들을 세컨더리 패스워드들의 리스트(hps)에 부가하고, hps"를 클리어한다(S24).
해싱된 제안(h(Pi))이 저장된 해싱된 프라이머리 패스워드(h(S))와 일치하지 않는 경우, 서버(120)는 해싱된 제안(h(Pi))이 hps에 포함된 세컨더리 패스워드들의 해시들 중 임의의 해시와 일치하는지를 확인한다(S15). 이 경우라면, 로그인이 성공적이고 바람직하게는 메시지가 컴퓨터(110)로 전송되어 사용자가 통지받을 수도 있다. 서버(120)는 제안들에 대한 해시값들의 hps"에서의 모든 값들을 삭제한다(S20). 컴퓨터(110)는 제안들에 대한 해시값들의 hpc'에서의 모든 값들을 삭제한다(S26).
하지만, 해싱된 제안(h(Pi))이 hps에 포함된 세컨더리 패스워드들의 해시들 중 어떠한 해시와도 일치하지 않는 경우, 서버(120)는 이것을 컴퓨터에 통지하기 위한 메시지를 전송하고, 해시값(h(Pi))을 수신된 부정확한 해시값들의 그룹(hps")에 부가한다(S27).
그 후, 방법은 도 2에 도시된 바람직한 실시예에 대해 설명된 바와 같이 단계들을 반복할 수 있다.
타이머를 사용하여, 타이머가 만료할 경우 그룹(hpc')을 비우는 것(S28)이 바람직하다. 타이머를 사용하여, 타이머가 만료할 경우 그룹(hps")을 비우는 것(S29)이 바람직하다.
당업자는, 예를 들어, 솔트(salt)를 사용하여 암호화함으로써 컴퓨터(110)와 서버(120) 간의 메시지들, 특히, 해시값들을 보호하는 것이 바람직함을 인식할 것이다. 메시지를 보호하기 위한 바람직한 방식은 WO 2006/048043에 설명된 보안 인증된 채널(Secure Authenticated Channel)의 사용을 통한 것이다.
본 개시는 타이핑 에러들에 내성이 있고, 또한,
Figure pat00001
전송 동안 및 저장 동안 해싱함으로써 패스워드들을 보호하고,
Figure pat00002
패스워드의 다수의 변형들을 용인함으로써 시스템을 불필요하게 약화시키지는 않고, 오직 근접하고 사용자에 의해 실제로 입력된 부정확한 패스워드들만을 용인하는
패스워드 시스템을 제공할 수 있음이 인식될 것이다.
상세한 설명 및 (적절할 경우) 청구항들 그리고 도면들에 개시된 각각의 특징은 독립적으로 또는 임의의 적절한 조합으로 제공될 수도 있다. 하드웨어로 구현되는 것으로 설명된 특징들은 또한 소프트웨어로 구현될 수도 있고 그 역도 성립할 수도 있다. 청구항들에 나타낸 참조부호들은 단지 예시를 위한 것이며, 청구항들의 범위에 대한 어떠한 한정적인 효과도 갖지 않을 것이다.

Claims (15)

  1. 패스워드들을 관리하는 장치(110)로서,
    - 패스워드 제안을 사용자로부터 수신하도록 구성된 사용자 인터페이스(113); 및
    - 프로세서(111)
    를 포함하고,
    상기 프로세서는,
    - 상기 패스워드 제안에 대한 해시값을 생성하고;
    - 상기 해시값을 인증 서버(120)로 전송하고;
    - 상기 해시값이 정확한 패스워드에 대응하는지 또는 부정확한 패스워드에 대응하는지를 나타내는 메시지를 상기 인증 서버(120)로부터 수신하도록 구성되고,
    상기 프로세서(111)는 또한,
    - 부정확한 패스워드들에 대응하는 패스워드 제안들을 저장하고;
    상기 해시값이 정확한 패스워드에 대응한다고 상기 메시지가 나타내는 경우:
    - 부정확한 패스워드들에 대응하는 각각의 패스워드 제안에 대한 거리 함수를 이용하여 상기 패스워드 제안과 상기 정확한 패스워드 간의 거리를 나타내는 거리값을 획득하고;
    - 상기 거리값이 거리 기준을 만족하는 패스워드 제안들에 대한 해시값들만을 상기 인증 서버(120)에 전송하도록 구성되는 것을 특징으로 하는, 패스워드들을 관리하는 장치.
  2. 제1항에 있어서,
    상기 프로세서(111)는, 정확한 패스워드를 나타내는 상기 메시지의 수신 이외의 이벤트에 응답하여 적어도 하나의 저장된 패스워드 제안을 삭제하도록 더 구성되는, 패스워드들을 관리하는 장치.
  3. 제1항에 있어서,
    상기 사용자는, 상기 인증 서버(120)에 의해 정확한 패스워드들로서 인정된 적어도 하나의 패스워드의 그룹을 가지며, 상기 그룹은 하나의 프라이머리 패스워드 및 제로 또는 그 이상의 세컨더리 패스워드들을 포함하고;
    상기 메시지는 또한, 상기 해시값이 상기 프라이머리 패스워드에 대응하는지 또는 상기 세컨더리 패스워드들 중 하나에 대응하는지를 나타내고,
    상기 프로세서는, 상기 해시값이 상기 프라이머리 패스워드에 대응한다고 상기 메시지가 나타내는 경우에만 상기 거리 함수를 사용하고 상기 거리값이 임계값 이하인 패스워드 제안들에 대한 해시값들을 전송하도록 더 구성되는, 패스워드들을 관리하는 장치.
  4. 제1항에 있어서,
    상기 프로세서(111)는, 상기 해시값이 정확한 패스워드에 대응한다고 상기 메시지가 나타내는 경우 저장된 패스워드 제안들을 삭제하도록 더 구성되는, 패스워드들을 관리하는 장치.
  5. 제1항에 있어서,
    상기 프로세서(111)는, 상기 패스워드 제안에 대한 해시값이 정확한 패스워드에 대응하지 않는다고 나타내는 메시지의 수신 시 상기 패스워드 제안을 저장하도록 구성되는, 패스워드들을 관리하는 장치.
  6. 제1항에 있어서,
    상기 프로세서(111)는 상기 패스워드 제안의 수신 시 상기 패스워드 제안을 저장하도록 구성되는, 패스워드들을 관리하는 장치.
  7. 제6항에 있어서,
    상기 프로세서(111)는, 상기 패스워드 제안에 대한 해시값을 또한 저장하도록 더 구성되는, 패스워드들을 관리하는 장치.
  8. 제1항에 있어서,
    상기 프로세서(111)는 상기 인증 서버(120)를 구현하도록 더 구성되는, 패스워드들을 관리하는 장치.
  9. 적어도 하나의 수신된 부정확한 패스워드 제안을 저장하고 있는 장치(110)의 프로세서(111)에 의해 수행되는, 사용자에 대한 패스워드들을 관리하는 방법으로서,
    - 추가의 패스워드 제안을 사용자로부터 사용자 인터페이스(113)를 통해 수신하는 단계(S10);
    - 상기 추가의 패스워드 제안에 대한 해시값을 생성하는 단계(S11);
    - 상기 해시값을 인증 서버(120)로 전송하는 단계;
    - 상기 해시값이 정확한 패스워드에 대응하는지 또는 부정확한 패스워드에 대응하는지를 나타내는 메시지를 상기 인증 서버(120)로부터 수신하는 단계; 및
    상기 해시값이 정확한 패스워드에 대응한다고 상기 메시지가 나타내는 경우:
    - 부정확한 패스워드 제안과 상기 정확한 패스워드 간의 거리를 나타내는 거리값을 획득하기 위해 각각의 상기 부정확한 패스워드 제안에 대한 거리 함수를 이용하는 단계(S13); 및
    - 상기 거리값이 거리 기준을 만족하는 패스워드 제안들에 대한 해시값들만을 상기 인증 서버(120)에 전송하는 단계
    를 포함하는, 사용자에 대한 패스워드들을 관리하는 방법.
  10. 제9항에 있어서,
    정확한 패스워드를 나타내는 상기 메시지의 수신 이외의 이벤트에 응답하여 적어도 하나의 수신된 부정확한 패스워드 제안을 삭제하는 단계(S18)를 더 포함하는, 사용자에 대한 패스워드들을 관리하는 방법.
  11. 제9항에 있어서,
    상기 사용자는, 인증 서버(120)에 의해 정확한 패스워드들로서 인정된 적어도 하나의 패스워드의 그룹을 가지며, 상기 그룹은 하나의 프라이머리 패스워드 및 제로 또는 그 이상의 세컨더리 패스워드들을 포함하고;
    상기 메시지는 또한, 상기 해시값이 상기 프라이머리 패스워드에 대응하는지 또는 상기 세컨더리 패스워드들 중 하나에 대응하는지를 나타내고,
    상기 거리 함수를 이용하는 단계, 및 상기 거리값이 임계값 이하인 패스워드 제안들에 대한 해시값들을 전송하는 단계는 상기 해시값이 상기 프라이머리 패스워드에 대응한다고 상기 메시지가 나타내는 경우에만 수행되는, 사용자에 대한 패스워드들을 관리하는 방법.
  12. 제9항에 있어서,
    상기 해시값이 정확한 패스워드에 대응한다고 상기 메시지가 나타내는 경우 상기 적어도 하나의 수신된 부정확한 패스워드 제안을 삭제하는 단계(S13; S16)를 더 포함하는, 사용자에 대한 패스워드들을 관리하는 방법.
  13. 제9항에 있어서,
    상기 패스워드 제안에 대한 해시값이 정확한 패스워드에 대응하지 않는다고 나타내는 메시지의 수신 시 상기 패스워드 제안을 저장하는(S17), 사용자에 대한 패스워드들을 관리하는 방법.
  14. 제9항에 있어서,
    상기 패스워드 제안의 수신 시 상기 패스워드 제안을 저장하는 단계를 더 포함하는, 사용자에 대한 패스워드들을 관리하는 방법.
  15. 프로세서(111)에 의해 실행되는 경우, 제9항 내지 제14항 중 어느 한 항의 방법을 수행하는 명령어들을 저장하는, 비-일시적인 컴퓨터 프로그램 매체(140).
KR1020140045268A 2013-04-19 2014-04-16 패스워드들을 관리하는 장치 및 방법 KR20140125730A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13305520.2A EP2793157A1 (en) 2013-04-19 2013-04-19 Apparatus and method for managing passwords
EP13305520.2 2013-04-19

Publications (1)

Publication Number Publication Date
KR20140125730A true KR20140125730A (ko) 2014-10-29

Family

ID=48470871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140045268A KR20140125730A (ko) 2013-04-19 2014-04-16 패스워드들을 관리하는 장치 및 방법

Country Status (5)

Country Link
US (1) US9280657B2 (ko)
EP (2) EP2793157A1 (ko)
JP (1) JP2014212521A (ko)
KR (1) KR20140125730A (ko)
CN (1) CN104113413A (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9986436B2 (en) 2016-09-14 2018-05-29 Microsoft Technology Licensing, Llc Random password forced failure
EP3319289A1 (en) 2016-11-04 2018-05-09 Thomson Licensing Devices and methods for client device authentication
MY181840A (en) 2016-11-04 2021-01-08 Thomson Licensing Devices and methods for client device authentication
CN106778129B (zh) * 2016-11-30 2019-10-18 成都中科创达软件有限公司 一种密码管理方法、系统及智能终端
CN111989673A (zh) * 2018-07-31 2020-11-24 惠普发展公司,有限责任合伙企业 密码更新
US11509647B2 (en) * 2019-01-28 2022-11-22 Microsoft Technology Licensing, Llc Determination of weak hashed credentials
US11178135B2 (en) * 2019-06-10 2021-11-16 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11240227B2 (en) * 2019-06-10 2022-02-01 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11496457B2 (en) 2019-06-10 2022-11-08 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US20200389443A1 (en) * 2019-06-10 2020-12-10 Microsoft Technology Licensing, Llc Authentication with random noise symbols and pattern recognition
US11736472B2 (en) 2019-06-10 2023-08-22 Microsoft Technology Licensing, Llc Authentication with well-distributed random noise symbols
US11514149B2 (en) * 2019-06-10 2022-11-29 Microsoft Technology Licensing, Llc Pattern matching for authentication with random noise symbols and pattern recognition
US11258783B2 (en) 2019-06-10 2022-02-22 Microsoft Technology Licensing, Llc Authentication with random noise symbols and pattern recognition
US11394551B2 (en) 2019-07-17 2022-07-19 Microsoft Technology Licensing, Llc Secure authentication using puncturing
US11133962B2 (en) 2019-08-03 2021-09-28 Microsoft Technology Licensing, Llc Device synchronization with noise symbols and pattern recognition
US11477171B2 (en) 2019-11-29 2022-10-18 Kyndryl, Inc. Client authentication management based upon modeling
US11853411B2 (en) * 2020-04-17 2023-12-26 Paypal, Inc. User specific error detection for accepting authentication credential errors
US20230082633A1 (en) * 2021-09-13 2023-03-16 Cloud Linux Software Inc. Systems and methods for rapid password compromise evalution

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE255787T1 (de) * 1999-02-11 2003-12-15 Rsa Security Inc Ein fuzzy engagement schema
CN1249972C (zh) * 2000-06-05 2006-04-05 凤凰技术有限公司 使用多个服务器的远程密码验证的系统和方法
US7386892B2 (en) * 2003-07-17 2008-06-10 International Business Machines Corporation Method and apparatus for detecting password attacks using modeling techniques
JP2005208763A (ja) 2004-01-20 2005-08-04 Kyocera Mita Corp パスワード認証方法
US7373516B2 (en) 2004-08-19 2008-05-13 International Business Machines Corporation Systems and methods of securing resources through passwords
CN101222323B (zh) * 2004-10-29 2011-09-07 汤姆森许可贸易公司 安全认证信道
DE602004028670D1 (de) 2004-10-29 2010-09-23 Thomson Licensing Sicherer authentifizierter kanal
JP2007114976A (ja) 2005-10-19 2007-05-10 Toshiba Corp 情報処理装置およびその認証プログラム
EP1993059A1 (de) * 2007-05-14 2008-11-19 Nokia Siemens Networks Oy Verfahren und Vorrichtung zur Authentifikation PIN-bezogener Eingaben.
CN101291227A (zh) * 2008-06-06 2008-10-22 薛明 一种密码输入方法、装置和系统
CN102750496A (zh) * 2012-06-12 2012-10-24 南京师范大学 移动存储介质安全接入认证方法

Also Published As

Publication number Publication date
US9280657B2 (en) 2016-03-08
EP2793158A1 (en) 2014-10-22
EP2793157A1 (en) 2014-10-22
JP2014212521A (ja) 2014-11-13
US20140317705A1 (en) 2014-10-23
CN104113413A (zh) 2014-10-22

Similar Documents

Publication Publication Date Title
KR20140125730A (ko) 패스워드들을 관리하는 장치 및 방법
US10419418B2 (en) Device fingerprint based authentication
US8578476B2 (en) System and method for risk assessment of login transactions through password analysis
KR20150142640A (ko) 패스워드 인증을 위한 장치들 및 방법들
US10320848B2 (en) Smart lockout
US9407661B2 (en) Blocking via an unsolvable CAPTCHA
US20120331536A1 (en) Seamless sign-on combined with an identity confirmation procedure
US11188625B2 (en) User authentication system, user authentication method, program, and information storage medium
KR102601108B1 (ko) 자동채움 필드 분류를 위한 시스템 및 방법
US20150312239A1 (en) Methods, devices, and computer readable storage devices for sharing sensitive content securely
WO2013080062A1 (en) Cross system secure logon
US10986084B1 (en) Authentication data migration
US9378358B2 (en) Password management system
EP2947591A1 (en) Authentication by Password Mistyping Correction
US10025918B2 (en) Apparatus and method for password authentication
US10430617B2 (en) Terminal determination device and method
EP2876569A1 (en) Apparatuses and methods for password authentication
JP5555799B1 (ja) ワンタイムパスワード装置、方法及びプログラム
US10033729B2 (en) Dynamic phrase base authentication system
KR20080080064A (ko) 그래픽 오티피를 이용한 사용자 인증 방법
KR101596628B1 (ko) 비밀번호 보정 장치 및 방법
JP5700897B1 (ja) ユーザ認証システム、ユーザ認証方法、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination