KR20090074014A - 패스워드를 결정하는 방법, 패스워드를 결정하기 위한 캐릭터 스트링을 선택하는 방법, 및 그를 위한 컴퓨터 판독가능 매체 - Google Patents

패스워드를 결정하는 방법, 패스워드를 결정하기 위한 캐릭터 스트링을 선택하는 방법, 및 그를 위한 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20090074014A
KR20090074014A KR1020097003206A KR20097003206A KR20090074014A KR 20090074014 A KR20090074014 A KR 20090074014A KR 1020097003206 A KR1020097003206 A KR 1020097003206A KR 20097003206 A KR20097003206 A KR 20097003206A KR 20090074014 A KR20090074014 A KR 20090074014A
Authority
KR
South Korea
Prior art keywords
character
password
characters
character string
word
Prior art date
Application number
KR1020097003206A
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 KR20090074014A publication Critical patent/KR20090074014A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2131Lost password, e.g. recovery of lost or forgotten passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Document Processing Apparatus (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

패스워드 복구 기술은 캐릭터 스트링으로부터 단어의 각 캐릭터 위치에 대한 캐릭터를 순차적으로 선택함으로써 단어들을 생성하는 것을 포함한다. 캐릭터 스트링 내의 캐릭터들의 순서는 단어의 각 위치에 대해 개별적으로 선택된다. 패스워드가 결정될 때까지, 순차적으로 생성된 각 단어가 입력될 수 있다.
패스워드 복구, 캐릭터 스트링, 캐릭터 위치

Description

패스워드를 결정하는 방법, 패스워드를 결정하기 위한 캐릭터 스트링을 선택하는 방법, 및 그를 위한 컴퓨터 판독가능 매체{CHARACTER POSITION-BASED PASSWORD RECOVERY}
퍼스널 컴퓨터가 널리 이용되게 됨에 따라, 컴퓨터 및 그에 저장된 데이터로의 액세스를 제한함으로써 민감한 정보를 보호하는 데에 있어서 패스워드는 훨씬 더 중요해졌다. 사용자가 자신의 패스워드를 분실한 경우, 또는 정보로의 액세스가 필요할 때 사용자가 부재중인 경우 문제가 발생한다. 패스워드 복구(또는 "패스워드 크랙")는 미지의 패스워드를 결정하는 프로세스이다. 전형적인 패스워드 복구 에이전트 또는 크랙킹 프로그램은 패스워드를 결정하기 위해 반복적으로 단어들을 생성한다. 전형적으로, 단어들은 미리 정해진 표준 캐릭터 스트링으로부터 선형적인 방식으로 생성된다.
패스워드 복구 프로세스는 복구 중인 패스워드의 크기(즉, 패스워드가 가질 수 있는 캐릭터 위치들의 허용가능한 개수) 및 패스워드가 포함할 수 있는 허용가능한 캐릭터들의 수(예를 들어, 소문자, 대문자, 숫자, 스페이스, 심볼 등)에 따라, 상당한 처리 자원과 시간을 필요로 할 수 있다. 허용가능한 캐릭터 위치가 추가될 때마다, 패스워드를 복구하는 시간은 기하급수적으로 증가한다. 6개 이상의 캐릭터를 갖는 패스워드에 대하여, 가능한 모든 캐릭터를 그 6개의 자리에 조합하 는 것은 수일의 복구 시간을 의미할 수 있다.
본 개요는 이하의 상세한 설명에서 더 기술되는 개념들 중 선택된 것을 간략한 형태로 소개하기 위해 제공된다. 본 개요는 특허청구범위에 기재된 발명의 핵심적인 특징 또는 본질적인 특징을 확인하기 위한 것이 아니며, 특허청구범위에 기재된 발명의 범위를 결정하는 데에 도움을 주도록 이용되기 위한 것도 아니다.
상술한 내용의 관점에서, 본 명세서는 캐릭터 위치 기반의 패스워드 복구 기술을 설명하는데, 이 기술은 패스워드들을 순차적으로 생성하는 데에 이용되는 캐릭터 스트링들이 "위치별"로(on a "per-position" basis) 지정될 수 있게 한다.
일 구현에서, 단어들은 단어의 각 캐릭터 위치에 대하여 캐릭터 스트링으로부터 캐릭터를 순차적으로 선택함으로써 생성될 수 있다. 캐릭터 스트링 내의 캐릭터들의 순서는 단어의 각 위치에 대해 개별적으로 선택된다. 패스워드가 결정될 때까지, 순차적으로 생성된 각각의 단어가 입력될 수 있다.
일부 구현들에서, 캐릭터 스트링은 각 캐릭터가 각 위치에서 발생할 우도(likelihood)에 따라 체계화(organizing)될 수 있다.
도면들에서, 참조 번호의 가장 왼쪽에 있는 숫자는 지정된 구성요소 또는 동작이 처음으로 나타나는 도면을 식별하는 것이다.
도 1은 로그인 및 패스워드 화면이 표시된 예시적인 컴퓨터 화면의 개략도.
도 2는 패스워드의 각 캐릭터 위치에 대하여 단일의 미리 정해진 캐릭터 스 트링을 이용하는 대표적인 패스워드 복구 기술을 도시한 블록도.
도 3은 패스워드의 각 캐릭터 위치마다 개별의 캐릭터 위치 기반 캐릭터 스트링을 이용하는 예시적인 패스워드 복구 기술을 도시한 블록도.
도 4는 패스워드의 적어도 하나의 캐릭터 위치에 대하여 개별의 캐릭터 위치 기반 캐릭터 스트링을 이용하는 다른 예시적인 패스워드 복구 기술을 도시한 블록도.
도 5는 패스워드의 적어도 하나의 캐릭터 위치에 대하여 개별의 캐릭터 위치 기반 캐릭터 스트링을 이용하는 다른 예시적인 패스워드 복구 기술을 도시한 블록도.
도 6은 패스워드의 각 캐릭터 위치마다 개별의 캐릭터 위치 기반 캐릭터 스트링을 이용하는 다른 예시적인 패스워드 복구 기술을 도시한 블록도.
도 7은 예시적인 캐릭터 위치 기반의 패스워드 복구 기술을 도시한 흐름도.
도 8은 예시적인 패스워드 복구 장치를 도시한 블록도.
개요
패스워드는 컴퓨터, 네트워크, 서버, 웹사이트, 저장 매체 등에 저장된 민감한 정보를 보호하기 위한, 흔하게 이용되는 보안 메커니즘이 되어 왔다. 일반적으로, 패스워드는 그러한 정보를 보호하는 편리한 방식을 제공한다. 그러나, 때로는 사용자가 자신의 패스워드를 분실할 수 있고, 다르게는 정보로의 액세스가 필요할 때 사용자가 부재중일 수도 있다. 그러한 경우에서, 사용자 또는 다른 인가받은 담당자가 민감한 자료로의 액세스를 얻기 위해 패스워드를 복구 또는 크랙하기를 원할 수 있다. 전형적인 패스워드 복구 에이전트는 단어들을 생성하기 위해, 단일의 미리 결정된 캐릭터 스트링에 의존한다. 본 명세서는 위치 기반 기술을 이용하는 패스워드 복구(또는 "크랙")에 관한 것이다. 다양한 구현들에서, 이러한 캐릭터 위치 기반 기술은 단어 생성을 위해 다수의 및/또는 전략적으로 선택된 캐릭터 스트링들을 이용하는 것을 허용할 수 있으며, 패스워드를 복구하는 데에 요구되는 시간 및 자원을 현저하게 감소시킬 수 있다. 여기에서 이용되는 "패스워드"는 문자(letter), 숫자, 심볼, 형상(shape), 스페이스 및/또는 기타 캐릭터의 임의의 조합을 포함할 수 있다.
예시적인 환경
도 1은 패스워드에 의해 보호되는 퍼스널 컴퓨터(100)를 도시하고 있다. 사용자는 로그인할 때까지는 컴퓨터에 저장된 정보에 액세스하도록 허락받지 못한다. 이를 위해 로그인 인터페이스(102)가 컴퓨터(100)의 화면 상에 표시된다. 로그인 인터페이스(102)는 사용자가 로그인 이름을 입력하기 위한 로그인 프롬프트(104)와, 사용자가 자신의 패스워드를 입력하기 위한 패스워드 프롬프트(106)를 포함한다. 사용자에게 요구되는 패스워드 길이와 허용가능한 캐릭터들을 알리는 정보 메시지(108)가 로그인 인터페이스(102)에 제공된다. 도시된 구현에서는, 패스워드가 반드시 6-8 캐릭터 길이여야 하고, 문자 및/또는 숫자를 포함할 수 있으며, 대문자와 소문자를 구별한다.
사용자가 패스워드를 기억하지 못하면, 그 사용자는 컴퓨터(100)에 로그인할 수 없을 것이다. 어떤 경우에서는, 사용자가 패스워드를 리셋하도록 허용될 수 있고, 사용자가 패스워드를 기억해내는 것을 돕도록 사용자에게 힌트가 제공될 수 있고, 및/또는 사용자가 하나 이상의 보안 질문(예를 들어, 어머니의 결혼전 이름, 출생지 등)에 답하는 것에 응답하여 사용자에게 패스워드가 제공될 수 있다. 그러한 옵션이 없는 경우, 또는 사용자가 여전히 패스워드를 기억해내지 못하는 경우에는, 보호된 자료로의 액세스를 얻기 위하여 패스워드를 복구 또는 크랙할 필요가 있을 것이다.
예시적인 패스워드 복구 기술
패스워드 복구는 복구될 패스워드의 크기(즉, 위치의 수) 및 각 위치에 대한 허용가능한 캐릭터의 수에 따라 긴 프로세스일 수 있다. 캐릭터가 추가될 때마다, 패스워드를 복구하기 위한 시간은 기하급수적으로 증가한다. 구체적으로, 가능한 패스워드의 수는 다음과 같이 표현될 수 있다.
Figure 112009009657718-PCT00001
가능한 패스워드의 수 =
여기에서, P는 패스워드에서 이용될 수 있는 허용가능한 캐릭터의 수이고, N은 캐릭터 위치의 수의 항으로 된 패스워드 길이이고, X 및 Y는 각각 허용가능한 최소 및 최대 패스워드 길이로서, 역시 캐릭터 위치의 수의 항으로 되어 있다.
도 2 및 도 3은 간단한 패스워드 복구 상황을 도시한 것이다. 도시된 상황에서, 패스워드는 1개 내지 3개 위치의 길이 N을 가지며, 각각의 위치에 대하여 이 용될 수 있는 3개의 허용가능한 캐릭터 P {A, B, C}를 갖는다. 위의 수학식 1을 적용하면, 허용가능한 캐릭터 A, B, C는 1 내지 3 캐릭터의 길이를 갖는 39개(즉, 31 + 32 + 33 = 39)의 가능한 패스워드로 조합될 수 있다. 도시된 상황에서, 사용자는 이전에 패스워드 CAB(39개의 가능한 패스워드 중 하나)를 생성하였지만, 현재는 패스워드를 분실했다.
도 2는 대표적인 패스워드 복구 프로그램(200)을 도시한 것이다. 이 구현에서, 사용자는 패스워드의 허용가능한 길이(이 경우에서는 1-3 위치) 및 패스워드에서 이용될 수 있는 허용가능한 캐릭터들의 집합(이 경우에는 A, B, C)과 같이, 적합한 패스워드에 대한 소정의 기준(202)을 입력하도록 요청받을 수 있다. 그러면, 프로그램(200)은 생성되는 단어들의 모든 위치에 대하여 단일의 미리 정해진 캐릭터 스트링 "ABC"를 이용하여 순차적으로 "단어 목록"(204)을 생성한다. 단어 목록은 모든 가능한 조합이 시도될 때까지 각각의 캐릭터 위치에 대하여 미리 정해진 캐릭터 스트링을 순환함으로써 순차적으로 생성된 단어들로 이루어진다. 따라서, 도 2에 도시되어 있는 바와 같이, 첫번째 단어는 "A"이고, 두번째 단어는 "B"이고, 세번째 단어는 "C"이고, 네번째 단어는 "AA"이고, 다섯번째 단어는 "BB"가 되는 방식으로 계속된다. 이러한 프로세스는 패스워드가 생성될 때까지 계속된다. 도 2의 예에서, 분실된 패스워드 "CAB"는 32번째 단어(206)가 생성될 때까지는 발견되지 않을 것이다.
패스워드를 추측하기 위한 이러한 방법론을 살펴본 결과, 복구 프로세스 동 안, 캐릭터 스트링의 첫번째 문자로 시작하는 단어들이 캐릭터 스트링의 후속 문자로 시작하는 단어들보다 먼저 생성될 것이라는 것이 분명해졌다. 39개의 가능한 패스워드가 이용될 가능성이 모두 동등하다면, 캐릭터 스트링 내의 캐릭터들의 순서는 중요하지 않을 것이다. 그러나, 실제에서는, 패스워드는 단어, 이름, 날짜, 두문자어(acronyms), 머리글자(initials), 이들의 조합 및/또는 캐릭터들의 무작위적인 조합보다는 더 기억하기 쉬운 다른 캐릭터 조합과 같은 흔한 캐릭터 조합에 적어도 부분적으로 기초하는 경우가 많다. 따라서, 단어 생성에 이용되는 캐릭터 스트링이, 캐릭터들이 잠재적인 패스워드에서 이용되는 순서로 재배열된다면, 패스워드를 추측하는 데에 요구되는 시간이 감소될 것이다. 단어 내의 각각의 다른 위치마다 서로 다른 캐릭터 스트링이 이용된다면, 이 시간은 훨씬 더 감소될 수 있을 것이다. 예를 들어, 각 위치에 대한 캐릭터 스트링은 예를 들어, 영어와 같은 언어, 기존 패스워드들의 샘플 등에서의 각 위치에서 캐릭터가 발생하는 빈도에 기초하여 체계화될 수 있다.
도 3은 캐릭터 위치 기반 방식을 이용하는 예시적인 패스워드 복구 프로그램9300)을 도시한 것인데, 여기에서 단어들을 생성하는 데에 이용되는 적어도 하나의 스트링은 기존 3 캐릭터 패스워드들 중의 가상의(hypothetical) 샘플 내에서의 각 위치에서 캐릭터들이 발생하는 빈도에 기초하여 체계화된다. 일례에서, 패스워드는 허용가능한 캐릭터 집합 {A, B, C}로부터 선택될 수 있다. 도 3의 예에서는, 캐릭터 C가 기존 패스워드들의 샘플 내의 패스워드들의 첫번째 및 세번째 위치에서 가장 흔하게 이용되는 캐릭터였으며, 그 다음이 B, 그 다음이 A였다고 가정한다. 캐릭터 A는 샘플 내의 패스워드들의 두번째 위치에서 가장 흔하게 이용되는 캐릭터였고, 그 다음이 B, 그 다음이 C였다고 가정한다.
이러한 가상의 발견에 기초하여, 단어 생성에 이용되는 캐릭터 스트링은 패스워드들의 샘플에서 발견된 대로의, 해당 위치에서의 발생 빈도와 동일한 순서로 (가장 많이 빈번한 것부터 가장 덜 빈번한 것 순으로) 체계화되었다. 따라서, 제1 캐릭터 위치에 대해 이용된 제1 캐릭터 스트링(302)은 C, B, A였고, 제2 캐릭터 위치에 대해 이용된 제2 캐릭터 스트링(304)은 A, B, C였고, 제3 캐릭터 위치에 대해 이용된 제3 캐릭터 스트링(306)은 C, B, A였다. 이러한 캐릭터 스트링들을 이용하여 단어 목록(308)이 생성되었다. 이러한 캐릭터 위치 기반 구현에서, 분실된 패스워드 CAB는 14번째 단어(310)로서 생성될 것이며, 이는 도 2의 예에서보다 훨씬 빠른 것이다.
상기 설명으로부터 볼 때, 캐릭터 위치 기반 단어 생성은, 사용자가 크랙 세션에서 패스워드들을 순차적으로 생성하기 위하여 캐릭터 스트링들을 위치별로(on per-position basis) 지정할 수 있게 해 준다. 이에 의해, 사용자는 패스워드를 보다 더 신속하게 복구하기 위한 시도로서, 각각의 캐릭터가 각각의 위치에서 발생할 우도에 따라 체계화된 캐릭터 스트링들의 집합을 이용할 수 있게 된다.
현실적으로, 39개의 서로 다른 패스워드들만이 가능하다면, 도 2 및 도 3의 3-캐릭터 패스워드는 크랙하기가 매우 쉬울 것이며, 길어야 몇초 걸릴 것이다. 그러나, 패스워드 복구 시간은 허용가능한 캐릭터들의 수 및 허용가능한 패스워드 길이에 따라 증가한다. 또한, 도 3에 도시된 구현은 캐릭터 A, B, C로부터 형성된 패스워드들을 검색하는 데에만 유용할 것이지만, 그 개념은 문자(소문자 및/또는 대문자), 숫자, 심볼(구두점 외), 스페이스, 형상 등을 포함한 임의의 다른 캐릭터들을 이용하는 패스워드들을 포함하도록 확장될 수 있다.
도 4는 패스워드를 복구하는 데에 이용될 수 있는 다른 예시적인 패스워드 복구 프로그램(400)을 도시한 것이다. 이 예에서, 패스워드는 1 내지 3 캐릭터 길이일 수 있으며, 26개의 허용가능한 캐릭터(이 경우에서는 알파벳 소문자 a-z)로부터 형성될 수 있다. 이 예에서는, 주어진 환경에서의 모든 패스워드에 대해 수행된 조사에 의해, 패스워드들 내의 첫번째 캐릭터가 알파벳 소문자 캐릭터 중 임의의 하나일 확률이 동일했지만, 모든 패스워드들의 두번째 캐릭터 위치에서는 문자 "p", "b", "m"이 가장 흔한 캐릭터인 것으로 나타났다고 가정한다. 캐릭터 위치 기반 단어 생성 기술을 이용하면, 3-캐릭터 패스워드에 대해 이용되는 캐릭터 스트링은 다음과 같이 나타날 것이다.
위치 #1에 대한 캐릭터 스트링 = "abcdefghijklmnopqrstuvwxyz"
위치 #2에 대한 캐릭터 스트링 = "pbmacdefghijklnoqrstuvwxyz"
위치 #3에 대한 캐릭터 스트링 = "abcdefghijklmnopqrstuvwxyz"
이러한 캐릭터 스트링은 이러한 환경에서 이용되는 패스워드들에 대하여 이전에 수행된 조사에 기초하여 이러한 환경에 대하여 패스워드를 추측하는 데에 있어서 기한이 정해진 시나리오에서 더 효율적일 것이다.
기존 패스워드들에 대한 이러한 조사는 캐릭터 위치 기반 단어 생성에 대해 이용되는 캐릭터 스트링을 결정하는 한가지 가능한 방식이다. 그러나, 캐릭터 위 치 기반 단어 생성에 대해 이용되는 캐릭터 스트링을 결정하기 위한 다른 다양한 방식들이 가능하다. 예를 들어, 주어진 언어(예를 들어 영어)에 대한 문법 규칙 또는 사전을 분석함으로써, 사용자는 주어진 단어 위치에서의 가장 흔한 캐릭터를 결정할 수 있다. 이러한 정보를 이용하면, 사용자는 단어의 각 캐릭터 위치에서의 발생 빈도 순으로 캐릭터들을 나열하는 캐릭터 위치 기반 단어 생성에 이용되는 캐릭터 스트링을 생성할 수 있다. 이러한 방법을 이용하여, 사용자는 패스워드를 크랙하는 데에 있어서, 그러한 캐릭터 위치 기반 캐릭터 스트링이 표준화된 시퀀스(예를 들어, 알파벳순, 연대기순 등)로 허용가능한 캐릭터들을 나열하는 디폴트 캐릭터 스트링보다 더 효율적일 것임을 정당하게 가정할 수 있다.
도 5는 문법적인 규칙에 기초하여 체계화된 캐릭터 스트링을 이용하는 예시적인 구현을 도시한다. 논의된 바와 같이, 패스워드는 흔한 단어, 이름, 날짜, 두문자어, 머리글자 등에 적어도 부분적으로 기초하는 경향이 있다. 적어도 영어에서, 이름, 날짜, 두문자어, 머리글자, 및 문장의 첫번째 단어는 모두 전형적으로 대문자로 시작한다. 따라서, 패스워드에 대하여 대문자와 소문자가 허용가능한 캐릭터일 때, 제1 캐릭터 위치에 대응하는 캐릭터 스트링이 대문자들로 먼저 시작하도록 체계화함으로써, 패스워드 복구 시간이 추가로 또는 다르게 감소될 수 있다. 두번째 및 후속 캐릭터 위치들에 대해 이용되는 캐릭터 스트링은 먼저 소문자들로, 또는 임의의 다른 원하는 순서로 체계화될 수 있다.
도 5는 패스워드를 복구하는 데에 이용될 수 있는 예시적인 패스워드 복구 프로그램(500)을 도시한 것이다. 일례에서, 패스워드는 4-6 캐릭터 길이일 수 있 으며, 52개의 허용가능한 캐릭터(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)로부터 형성될 수 있다. 이 경우에, 200억개가 넘는 서로 다른 패스워드들이 가능하며(정확하게는 20,158,125,312개), 상당한 복구 시간이 필요할 것이다.
설명을 위하여, 이 경우에서 복구될 패스워드가 "YoYo"라고 가정하자. 이 구현에서, 패스워드의 제1 캐릭터 위치에 대응하는 제1 캐릭터 스트링(502)은 대문자들로 시작하고 소문자들이 그에 이어진다(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz). 두번째 및 후속 캐릭터 위치에 대응하는 제2 캐릭터 스트링(504)은 소문자들에 이어 대문자들이 오도록 배열된다(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ). 도시된 구현의 모든 캐릭터 위치에 대하여, 대문자 및 소문자는 알파벳 순서로 배열된다. 그러나, 대안적으로, 문자는 다른 순서로 배열될 수 있다. 예를 들어, 문자는 역 알파벳순, 무작위순, 또는 예를 들어 영어와 같은 언어, 기존 패스워드들의 샘플 등의 각 위치에서 캐릭터가 발생하는 빈도순으로 배열될 수 있다. 또한, 소문자는 한 순서로 체계화될 수 있는 한편, 대문자는 다른 순서로 배열될 수 있다. 일례로, 캐릭터 스트링은 abcdefghijklmnopqrstuvwxyzZYXWVUTSRQPONMLKJIHGFEDCBA일 수 있다.
캐릭터 스트링(502 및 504)를 이용하여 단어 목록(506)이 생성된다. 이러한 방식에서, 패스워드 "YoYo"는 단어 목록(506) 상의 약 3,415,064번째 단어로서 생성된다. 그러나, 모든 위치들에 대하여 알파벳순으로 배열된 소문자들로 시작하는 캐릭터 스트링이 이용되었다면, 패스워드는 약 7,070,871번째 단어까지는 생성되지 않았을 것이며, 이 시나리오에서는 50%가 넘는 시간이 절약되었다.
도 6은 패스워드를 복구하는 데에 이용될 수 있는 다른 예시적인 패스워드 복구 프로그램(600)을 도시한 것이다. 본 예에서, 패스워드는 1 내지 7 캐릭터 길이일 수 있으며, 36개의 허용가능한 캐릭터(abcdefghijklmnopqrstuvwxyz0123456789)로부터 형성될 수 있다. 따라서, 본 예에서는, 800억개가 넘는 패스워드가 가능하다 (구체적으로는, 80,603,140,212개).
캐릭터 위치 기반 단어 생성 기술을 이용하여, 유타주 솔트레이크시티의 Project Gutenberg Literary Archive Foundation으로부터 구한 공개적으로 입수가능한 영어 사전을 이용하여 856368 단어가 분석되었다(그러나, 임의의 다른 적절한 사전이 추가적으로 또는 대신하여 이용될 수 있다). Project Gutenberg 사전은 소문자로 된 흔한 이름, 흔한 날짜, 소문자로 된 흔한 단어, 및 소문자로 된 흔한 오철자(misspelling)를 포함하고 있었다. 단어들의 앞 7개 캐릭터 위치가 분석되었으며, 각 캐릭터 위치에 대하여 캐릭터 스트링이 생성되었는데, 각 캐릭터 위치에 대해 가장 많이 흔한 것부터 가장 적게 흔한 것 순으로 캐릭터들이 체계화되었다. 7개의 위치 모두에 대해 생성된 캐릭터 스트링은 다음과 같았다.
캐릭터 위치 #1 =
Figure 112009009657718-PCT00002
캐릭터 위치 #2 =
Figure 112009009657718-PCT00003
캐릭터 위치 #3 =
Figure 112009009657718-PCT00004
캐릭터 위치 #4 =
Figure 112009009657718-PCT00005
캐릭터 위치 #5 =
Figure 112009009657718-PCT00006
캐릭터 위치 #6 =
Figure 112009009657718-PCT00007
캐릭터 위치 #7 =
Figure 112009009657718-PCT00008
첫번째 위치로부터 마지막 위치까지, 캐릭터 빈도들이 크게 다르며, 따라서 캐릭터 스트링들의 순서도 크게 다르다. 여기에 설명되는 캐릭터 위치 기반 기술이 모든 패스워드에 대하여 패스워드 복구 시간을 짧게 하지는 않을 수 있지만, 평균적으로는 전통적인 패스워드 복구 방법보다 더 짧은 복구 시간을 제공할 것이다.
예시적인 컴퓨팅 장치
도 7은 도 1의 컴퓨터(100)를 더 상세하게 도시하고 있다. 컴퓨터(100)는 패스워드 복구 프로그램을 구현할 수 있는 임의의 적합한 컴퓨팅 장치로서 구성될 수 있다. 한 예시적인 구성에서, 컴퓨터(100)는 적어도 하나의 처리 장치(700)와 메모리(702)를 포함한다. 컴퓨팅 장치의 구성 및 종류에 따라, 메모리(702)는 휘발성(예를 들어, RAM) 및/또는 비휘발성(예를 들어, ROM, 플래시 메모리 등)일 수 있다.
메모리(302)는 운영 체제(804)와, 패스워드 복구 기술의 전부 또는 일부를 구현하기 위한 패스워드 복구 프로그램 또는 에이전트(806), 및 각종의 다른 데이터, 프로그램, 매체 등을 포함할 수 있다. 컴퓨터(100)는 제한적인 것은 아니지만 자기 저장 장치, 광 디스크 및/또는 테이프 저장 장치를 포함하는 추가의 이동식 저장 장치(808) 및/또는 비이동식 저장 장치(810)도 포함할 수 있다. 운영 체제(804) 및/또는 패스워드 복구 에이전트(806)는 추가로 또는 대신하여 이동식 저장 장치(808) 및/또는 비이동식 저장 장치(810)에 저장될 수 있다.
컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 메모리(302), 이동식 저장 장치(808) 및 비이동식 저장 장치(810) 모두 컴퓨터 저장 매체의 예이다. 제공될 수 있는 추가적인 유형의 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(100)는 컴퓨터(100)가 네트워크를 통하여 하나 이상의 다른 컴퓨터, 서버 또는 다른 컴퓨팅 장치와 통신할 수 있게 하는 통신 접속(들)(812)을 포함할 수 있다. 예로서, 통신 접속(들)(812)은 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다.
컴퓨터(100)는 또한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치(들)(814), 및 디스플레이, 스피커, 프린터 등과 같은 출력 장치(들)(816)을 포함할 수 있다. 이러한 모든 장치들은 본 기술 분야에 잘 알려져 있으며, 여기에 길게 논의될 필요가 없다.
예시적인 패스워드 복구 방법
도 8은 예시적인 패스워드 복구 방법(800)을 보여주는 흐름도이다. 방법(800)은 반드시 그래야 하는 것은 아니지만, 도 2-6에 도시된 것과 같은 패스워드 복구 프로그램을 실행하는, 도 7에 도시된 것과 같은 컴퓨팅 장치(100)에 의해 적어도 부분적으로 구현될 수 있다. 방법(800)은 패스워드에 대해 이용가능한 언어를 식별하는 단계(802)와, 패스워드에서 이용될 수 있는 허용가능한 캐릭터를 식별하는 단계(804)와, 단계(806)를 포함한다.
(만약 존재한다면) 최소 캐릭터 위치로부터 (만약 존재한다면) 최대 캐릭터 위치까지(최대 캐릭터 위치 포함)의 각 캐릭터 위치에 대하여, 본 방법은, 단계(808)에서, 식별된 언어에서 허용가능한 캐릭터들 각각이 각각의 캐릭터 위치에서 이용되는 빈도를 결정한다. 이러한 결정은 사전, 기존 패스워드들의 샘플에 대한 연구, 문법 규칙 등에 기초하여 이루어질 수 있다.
단계(810)에서, 허용가능한 캐릭터들은, 위에서 결정된, 각 캐릭터가 식별된 언어의 단어들 내의 각 위치에서 이용되는 빈도에 기초하여, 각 위치에 대한 캐릭터 스트링 내로 배열된다. 단계(812)에서, 각 캐릭터 위치에 대한 캐릭터 스트링은 이름, 날짜, 두문자어, 문장의 첫단어 등을 대문자로 하는 것과 같은 문법 규칙에 의해서도 선택될 수 있다.
단계(814)에서, 적어도 하나의 캐릭터 위치를 갖는 단어들이 순차적으로 생성될 수 있으며, 각 단어는 단어의 각 캐릭터 위치에 대하여 그 위치에 대한 캐릭 터 스트링으로부터 캐릭터를 순차적으로 선택함으로써 생성된다. 단계(816)에서, 순차적으로 생성된 단어들은 패스워드가 결정될 때까지 로그인 인터페이스 등에 입력될 수 있다.
하나의 예시적인 패스워드 복구 방법(800)의 세부 사항이 위에서 설명되었다. 그러나, 상황에 따라, 패스워드 복구 방법(800)의 일부 동작들은 위에서 설명된 순서로 수행될 필요가 없으며, 수정될 수 있고/거나, 완전히 생략될 수 있음을 알 것이다. 예를 들어, 단어들은 영어, 다른 언어, 기존 패스워드들의 집합, 또는 이들의 조합에서의 발생 빈도에 기초하여 생성될 수 있다. 추가적으로, 또는 대안적으로, 단어들은 단어의 첫 문자를 대문자로 하는 것, 단어의 끝에 마침표를 두는 것, 단어의 마지막 캐릭터에서 두번째로서 아포스트로피를 두는 것과 같은 하나 이상의 문법 규칙에 기초하여 생성될 수 있다.
또한, 위에서 설명된 동작들 중 임의의 것은 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어들에 기초하여, 컴퓨터, 프로세서 또는 다른 컴퓨팅 장치에 의해 구현될 수 있다. 위에서 논의된 바와 같이, 컴퓨터 판독가능 매체는 거기에 저장된 명령어들을 구현하기 위하여 컴퓨팅 장치에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다.
결론
발명의 주제가 구조적 특징들 및/또는 방법론적 동작들에 특정한 언어로 설명되었지만, 첨부된 특허청구범위에 정의된 발명의 주제는 설명된 구체적인 특징들 또는 동작들로 반드시 제한되는 것이 아니다. 오히려, 그러한 구체적인 특징들 또 는 동작들이 특허청구범위를 구현하는 예시적인 형태로서 개시된 것이다. 예를 들어, 방법론적인 동작들은 여기에 설명된 순서 또는 조합으로 수행될 필요가 없으며, 하나 이상의 동작의 임의의 조합으로 수행될 수 있다.

Claims (20)

  1. 패스워드를 결정하기 위해 이용될 수 있는 하나 이상의 컴퓨터 판독가능 매체(702)로서,
    적어도 하나의 캐릭터 위치(character position)를 갖는 단어들을 순차적으로 생성하는 단계 -각각의 단어는 그 단어의 각 캐릭터 위치에 대한 캐릭터를 캐릭터 스트링로부터 순차적으로 선택함으로써 생성되고, 상기 캐릭터 스트링 내의 캐릭터들의 순서는 상기 단어의 각 위치에 대해 개별적으로 선택됨(814)-, 및
    패스워드가 결정될 때까지 순차적으로 생성된 각각의 단어를 입력하는 단계
    를 위한 명령어들을 포함하는 하나 이상의 컴퓨터 판독가능 매체.
  2. 제1항에 있어서,
    상기 단어의 각 위치에 대해 선택된 캐릭터 스트링은, 캐릭터들 각각이 각 위치에서 발생하는 빈도의 순서로 체계화된 복수의 캐릭터를 포함하는 하나 이상의 컴퓨터 판독가능 매체.
  3. 제2항에 있어서,
    상기 캐릭터들 각각이 각 위치에서 발생하는 빈도는 사전에 기초하여 결정되는 하나 이상의 컴퓨터 판독가능 매체.
  4. 제3항에 있어서,
    상기 사전은 영어 사전인 하나 이상의 컴퓨터 판독가능 매체.
  5. 제3항에 있어서,
    상기 사전은 이름, 날짜 및 단어들의 흔한 오철자(misspelling)를 포함하는 하나 이상의 컴퓨터 판독가능 매체.
  6. 제2항에 있어서,
    상기 캐릭터들 각각이 각 위치에서 발생하는 빈도는 기존 패스워드들의 샘플의 연구(study)에 기초하여 결정되는 하나 이상의 컴퓨터 판독가능 매체.
  7. 제2항에 있어서,
    상기 캐릭터들 각각이 각 위치에서 발생하는 빈도는 문법 규칙에 기초하여 결정되는 하나 이상의 컴퓨터 판독가능 매체.
  8. 제1항에 있어서,
    각 캐릭터 스트링은 소문자, 대문자, 숫자, 스페이스 및 심볼 중 적어도 둘을 포함하는 하나 이상의 컴퓨터 판독가능 매체.
  9. 제1항에 있어서,
    단어들의 첫번째 위치에 대한 캐릭터 스트링은 대문자들로 시작하도록 배열되는 하나 이상의 컴퓨터 판독가능 매체.
  10. 제1항에 있어서, 단어들의 첫번째 위치에 대한 캐릭터 스트링은 s, c, p, a, b, t, m, d, r, h, f, g, u, e, l, i, o, n, w, v, k, j, q, y, z, 0, x, 3, 1, 2, 4, 6, 5, 7, 8, 9의 순서로 배열된 문자(letter) 및 숫자를 포함하는 하나 이상의 컴퓨터 판독가능 매체.
  11. 패스워드를 결정하는 데에 이용할 수 있는 캐릭터 스트링을 선택하는 방법으로서,
    패스워드에 대해 이용할 수 있는 언어를 식별하는 단계(802),
    상기 패스워드에서 이용될 수 있는 허용가능한 캐릭터들을 식별하는 단계(804),
    상기 패스워드 내에서 캐릭터 위치를 식별하는 단계(806),
    상기 허용가능한 캐릭터들 각각이 상기 식별된 언어의 단어들 내의 상기 식별된 위치에서 이용되는 빈도를 결정하는 단계(808), 및
    상기 결정된, 상기 허용가능한 캐릭터들 각각이 상기 식별된 언어에서 상기 식별된 위치에서 이용되는 빈도에 기초하여, 상기 허용가능한 캐릭터들을 캐릭터 스트링 내로 배열하는 단계(810)
    를 포함하는, 캐릭터 스트링 선택 방법.
  12. 제11항에 있어서,
    상기 캐릭터 스트링은 가장 빈번하게 이용되는 것부터 가장 덜 빈번하게 이용되는 것 순으로, 상기 결정된 빈도의 순서로 배열된 허용가능한 캐릭터들을 포함하는, 캐릭터 스트링 선택 방법.
  13. 제11항에 있어서,
    상기 허용가능한 캐릭터들을 캐릭터 스트링 내로 배열하는 단계는 문법 규칙에 더 기초하는, 캐릭터 스트링 선택 방법.
  14. 제11항에 있어서,
    상기 패스워드 내의 첫번째 위치에 대한 캐릭터 스트링은 대문자들로 시작하도록 배열되는, 캐릭터 스트링 선택 방법.
  15. 제11항에 따른 방법을 구현하기 위한 명령어들을 포함하는 하나 이상의 컴퓨터 판독가능 매체.
  16. 패스워드에 이용할 수 있는 언어를 식별하는 단계(802),
    상기 패스워드 내에서 이용될 수 있는 허용가능한 캐릭터들을 식별하는 단계(804),
    상기 패스워드에 대해 허용가능한 최대 캐릭터 위치를 식별하는 단계(806),
    상기 최대 캐릭터 위치까지의 각 캐릭터 위치에 대하여, 상기 허용가능한 캐릭터들 각각이 상기 식별된 언어에서 각각의 캐릭터 위치에서 이용되는 빈도를 결정하는 단계(808),
    각 위치에 대하여, 상기 결정된, 각각의 캐릭터가 식별된 언어의 단어들 내의 각 위치에서 이용되는 빈도에 기초하여 상기 허용가능한 캐릭터들을 캐릭터 스트링들 내로 배열하는 단계(810),
    적어도 하나의 캐릭터 위치를 갖는 단어들을 순차적으로 생성하는 단계(814) -각각의 단어는 그 단어의 각각의 캐릭터 위치에 대하여 그 위치에 대한 캐릭터 스트링으로부터 캐릭터를 순차적으로 선택함으로써 생성됨-, 및
    패스워드가 결정될 때까지 순차적으로 생성된 각각의 단어를 입력하는 단계(816)
    를 포함하는 방법.
  17. 제16항에 있어서,
    각각의 캐릭터가 각 위치에서 발생하는 빈도는 영어 사전에 기초하여 결정되는 방법.
  18. 제17항에 있어서,
    상기 사전은 이름, 날짜, 및 단어들의 흔한 오철자를 포함하는 방법.
  19. 제16항에 있어서,
    각각의 캐릭터가 각 위치에서 발생하는 빈도는 기존 패스워드들의 샘플의 연구에 기초하여 결정되는 방법.
  20. 제16항에 있어서,
    각각의 캐릭터가 각 위치에서 발생하는 빈도는 문법 규칙에 기초하여 결정되는 방법.
KR1020097003206A 2006-10-04 2007-10-04 패스워드를 결정하는 방법, 패스워드를 결정하기 위한 캐릭터 스트링을 선택하는 방법, 및 그를 위한 컴퓨터 판독가능 매체 KR20090074014A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/538,791 US7831836B2 (en) 2006-10-04 2006-10-04 Character position-based password recovery
US11/538,791 2006-10-04

Publications (1)

Publication Number Publication Date
KR20090074014A true KR20090074014A (ko) 2009-07-03

Family

ID=39268817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097003206A KR20090074014A (ko) 2006-10-04 2007-10-04 패스워드를 결정하는 방법, 패스워드를 결정하기 위한 캐릭터 스트링을 선택하는 방법, 및 그를 위한 컴퓨터 판독가능 매체

Country Status (8)

Country Link
US (1) US7831836B2 (ko)
EP (1) EP2080107A4 (ko)
JP (1) JP5268923B2 (ko)
KR (1) KR20090074014A (ko)
CN (1) CN101523373B (ko)
CA (1) CA2662371C (ko)
IL (1) IL196927A (ko)
WO (1) WO2008043009A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831836B2 (en) * 2006-10-04 2010-11-09 Microsoft Corporation Character position-based password recovery
US20080301786A1 (en) * 2007-06-01 2008-12-04 Shaun Cuttill Times 2 security system
US8286000B2 (en) * 2007-12-07 2012-10-09 Novell, Inc. Techniques for dynamic generation and management of password dictionaries
US8199917B2 (en) * 2008-10-29 2012-06-12 International Business Machines Corporation SID management for access to encrypted drives
US8856879B2 (en) * 2009-05-14 2014-10-07 Microsoft Corporation Social authentication for account recovery
US9124431B2 (en) * 2009-05-14 2015-09-01 Microsoft Technology Licensing, Llc Evidence-based dynamic scoring to limit guesses in knowledge-based authentication
KR101295879B1 (ko) * 2009-08-19 2013-08-16 한국전자통신연구원 패스워드 해독 장치 및 그것의 패스워드 해독 방법
KR20110064560A (ko) * 2009-12-08 2011-06-15 한국전자통신연구원 멀티노드 병렬처리 환경의 패스워드 탐색 방법 및 시스템
CN102104484A (zh) * 2009-12-22 2011-06-22 鸿富锦精密工业(深圳)有限公司 电子设备及密码保护方法
US9830435B2 (en) * 2011-10-04 2017-11-28 Salesforce.Com, Inc. Method and system for providing login as a service
KR101133207B1 (ko) * 2011-11-29 2012-04-05 주식회사 이스턴웨어 패스워드 해독 장치 및 방법
US9104855B2 (en) * 2012-09-07 2015-08-11 Paypal, Inc. Dynamic secure login authentication
US9942221B2 (en) * 2016-07-18 2018-04-10 International Business Machines Corporation Authentication for blocking shoulder surfing attacks
US20220342991A1 (en) * 2019-09-18 2022-10-27 Nec Corporation Electronic mail decrypting device, electronic mail decrypting method, and non-transitory computer readable medium storing program

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4164025A (en) * 1977-12-13 1979-08-07 Bell Telephone Laboratories, Incorporated Spelled word input directory information retrieval system with input word error corrective searching
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
JP2929963B2 (ja) * 1995-03-15 1999-08-03 松下電器産業株式会社 文書検索装置および単語索引作成方法および文書検索方法
JPH11212922A (ja) 1998-01-22 1999-08-06 Hitachi Ltd パスワード管理、回復方式
JP4008138B2 (ja) * 1999-01-27 2007-11-14 三菱電機株式会社 暗号鍵生成装置
JP2002084272A (ja) 2000-09-11 2002-03-22 Mitsubishi Electric Corp データファイル回復装置及びパスワード回復装置及びデータファイル回復方法及びパスワード回復方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4160373B2 (ja) * 2002-12-18 2008-10-01 株式会社山武 パスワード作成方法及びパスワード作成プログラム
US7367053B2 (en) 2002-10-11 2008-04-29 Yamatake Corporation Password strength checking method and apparatus and program and recording medium thereof, password creation assisting method and program thereof, and password creating method and program thereof
JP4202740B2 (ja) * 2002-12-18 2008-12-24 株式会社山武 パスワード作成支援方法及びパスワード作成支援プログラム
WO2004036394A1 (en) * 2002-10-16 2004-04-29 Matsushita Electric Industrial Co., Ltd. Password recovery system
US7523318B2 (en) * 2003-02-20 2009-04-21 International Business Machines Corporation Method and system for automated password generation
JP4278417B2 (ja) * 2003-03-27 2009-06-17 日立ソフトウエアエンジニアリング株式会社 ユーザ認証用パスワードの生成方法およびユーザ認証方法
GB0325252D0 (en) 2003-10-29 2003-12-03 Becrypt Ltd Password recovery system and method
US20060041932A1 (en) 2004-08-23 2006-02-23 International Business Machines Corporation Systems and methods for recovering passwords and password-protected data
US7831836B2 (en) * 2006-10-04 2010-11-09 Microsoft Corporation Character position-based password recovery

Also Published As

Publication number Publication date
US20080086644A1 (en) 2008-04-10
CA2662371A1 (en) 2008-04-10
CN101523373A (zh) 2009-09-02
IL196927A0 (en) 2009-11-18
EP2080107A4 (en) 2013-11-20
EP2080107A1 (en) 2009-07-22
JP2010506310A (ja) 2010-02-25
JP5268923B2 (ja) 2013-08-21
CN101523373B (zh) 2012-08-29
WO2008043009A1 (en) 2008-04-10
CA2662371C (en) 2015-12-01
IL196927A (en) 2015-02-26
US7831836B2 (en) 2010-11-09

Similar Documents

Publication Publication Date Title
KR20090074014A (ko) 패스워드를 결정하는 방법, 패스워드를 결정하기 위한 캐릭터 스트링을 선택하는 방법, 및 그를 위한 컴퓨터 판독가능 매체
JP5362095B2 (ja) インプットメソッドエディタ
KR101451454B1 (ko) 컴퓨터 시스템으로의 접근 및 미디어 파일의 처리 제어방법
KR100858545B1 (ko) 핸드라이팅 인식용 장치 및 방법
CN112287684A (zh) 融合变体词识别的短文本审核方法及装置
Hranický et al. On practical aspects of pcfg password cracking
Sharma et al. Word prediction system for text entry in Hindi
Yue et al. Blind recognition of text input on mobile devices via natural language processing
Bentley et al. CAPTCHA challenge strings: Problems and improvements
Puspitasari et al. Identify Fake Author in Indonesia Crime Cases: A Forensic Authorsip Analysis Using N-gram and Stylometric Features
EP0488492A2 (en) Random character generator
JP6535978B2 (ja) 文字入力装置、文字入力方法、及び文字入力プログラム
von zur Gathen et al. Why one cannot estimate the entropy of English by sampling
Shah et al. A unique word prediction system for text entry in Hindi
KR102571215B1 (ko) 한글 기반 패스워드 추측 방법
JP7200474B2 (ja) 変換補助装置、変換補助システム、変換補助方法及びコンピュータプログラム
JP3904025B2 (ja) 文字列分割装置、及び記録媒体
JP2007193849A (ja) かな漢字変換システムおよび方法
JP5686085B2 (ja) 文例辞書生成プログラム、文例辞書生成装置、及び文例辞書生成方法
JP2024017326A (ja) 検索装置、検索方法およびプログラム
Patsoni A study on strength estimation of non-English and non-ASCII passwords
CN118114660A (zh) 文本检测方法、系统及计算机可读存储介质
JP2001142893A (ja) 情報公開装置および文章公開方法
JP5297234B2 (ja) 日本語エイリアスデータベースを利用して長音及び促音に対するエラーを減らし、日本語入力機の使用の際に単字検索機能を提供する方法及びシステム
Ballungpattama et al. A personalized Thai consonant-only input method for smartphones

Legal Events

Date Code Title Description
SUBM Surrender of laid-open application requested