KR102387865B1 - 패스워드 생성 디바이스 및 패스워드 검증 디바이스 - Google Patents

패스워드 생성 디바이스 및 패스워드 검증 디바이스 Download PDF

Info

Publication number
KR102387865B1
KR102387865B1 KR1020197002004A KR20197002004A KR102387865B1 KR 102387865 B1 KR102387865 B1 KR 102387865B1 KR 1020197002004 A KR1020197002004 A KR 1020197002004A KR 20197002004 A KR20197002004 A KR 20197002004A KR 102387865 B1 KR102387865 B1 KR 102387865B1
Authority
KR
South Korea
Prior art keywords
identifier
password
user
computer
base address
Prior art date
Application number
KR1020197002004A
Other languages
English (en)
Other versions
KR20190021367A (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 KR20190021367A publication Critical patent/KR20190021367A/ko
Application granted granted Critical
Publication of KR102387865B1 publication Critical patent/KR102387865B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Abstract

패스워드 생성 디바이스(100)가 제공된다. 패스워드 생성 디바이스는, 사용자 디바이스로부터, 컴퓨터 자원에 액세스하기 위한 컴퓨터 어드레스(310, URL1), 사용자 디바이스의 사용자를 표시하는 사용자 식별자(320), 및 사용자 패스워드(330)를 수신하도록 구성된 입력 유닛(110) 및 베이스 어드레스 시스템-식별자, 사용자 시스템-식별자 및 사용자 패스워드로부터 제1 결합 식별자(340)를 결정하도록 구성된 패스워드 유닛(140)을 포함한다. 또한, 패스워드 생성 디바이스는 패스워드 검증 및/또는 확인을 위해 구성될 수 있다.

Description

패스워드 생성 디바이스 및 패스워드 검증 디바이스
본 발명은 패스워드 생성 디바이스, 패스워드 생성 방법 및 컴퓨터 프로그램에 관한 것이다.
컴퓨터 사용자들은 다양한 컴퓨터 자원들에 액세스하기 위해 다수의 패스워드들을 기억해야 한다. 정보 또는 뉴스 웹 사이트들조차도, 점차, 사용자가 개인화된 뉴스 등과 같은 서비스들에 액세스할 '계정'을 등록하도록 조장한다. 동시에, 이전에 로컬로 실행된 다수의 애플리케이션들, 예컨대, 워드 프로세싱, 파일 저장 등이 온라인 버전으로 대체되고 있다.
패스워드들의 확산을 처리하기 위해, 사용자들은 다양한 대처 전략들을 채택했다. 예컨대, 일부 사용자들은 단순히, 모든 자신의 온라인 계정들에 대해 동일한 패스워드를 사용한다. 이 방법은 사용자의 기억력에 작은 부담만을 주는 이점을 갖고, 아마도, 자신의 패스워드를 로컬로 저장하도록 사용자에게 요구하지 않는다. 반면에, 이 방법은 자신의 패스워드가 위태롭게 되면(compromise), 모든 자신의 온라인 계정들이 위험에 처하게 된다는 단점을 갖는다. 패스워드를 위태롭게 하는 것은 심지어 사용자의 실수에 의해 야기될 수 있을 뿐만 아니라, 예컨대, 사용자가 계정을 갖고 있는 해킹된 웹 사이트에 기인할 수 있다.
다른 접근법은 패스워드 관리자를 사용하는 것이다. 패스워드 관리자는 사용자의 패스워드들의 세트를 관리하는 데 사용자를 돕는 컴퓨터 애플리케이션이다. 통상적으로, 패스워드 관리자는 예컨대, 로컬로 또는 클라우드에 패스워드들을 저장하고 마스터 패스워드로 이들을 암호화한다. 애플리케이션이 온라인 계정에 서명하여 접속하고(signs in) 다수의 브라우저들 및 디바이스들에 걸쳐 패스워드들을 동기화한다.
실제로, 이러한 패스워드 관리자들과 관련하여 여전히 다양한 단점들이 존재한다. 예컨대, 위태로운 웹 사이트는 다수의 패스워드들이 여전히 위태롭다는 것을 의미한다. 패스워드 관리자가 상이한 패스워드들을 더 쉽게 사용하게 하지만, 패스워드들이 글로벌하게 고유한 건 고사하고, 패스워드가 로컬로 고유하다는 보장도 없다. 또한, 패스워드 관리자의 해킹은 모든 로컬 패스워드들이 위태롭다는 것을 암시한다. 이 모든 패스워드들을 신속하게 무효화할 방법이 없다.
패스워드들은 사용자들뿐만 아니라 컴퓨터 자원들, 예컨대, 웹 사이트들 그 자체들에도 문제들을 야기한다. 특히, 웹 사이트는 패스워드의 품질을 판단할 수 없다. 예컨대, 웹 사이트는, 패스워드가 상이한 웹 사이트에 대해 또한 사용되었는지를 결정할 수 없다.
본원에서 언급된 문제들 중 중 일부를 해결하는 패스워드 생성 디바이스가 제공된다. 패스워드 생성 디바이스는,
- 사용자 디바이스로부터, 컴퓨터 자원에 액세스하기 위한 컴퓨터 어드레스, 사용자 디바이스의 사용자를 표시하는 사용자 식별자, 및 사용자 패스워드를 수신하도록 구성된 입력 유닛,
- 컴퓨터 어드레스를 베이스 어드레스에 매핑하여서, 다수의 컴퓨터 어드레스들이 동일한 베이스 어드레스에 매핑되게 하도록 구성된 컴퓨터 어드레스 유닛,
- 식별자 관리자, ― 식별자 관리자는,
- 베이스 어드레스가 식별자 관리자에 등록되어 있는지를 결정하고,
- 만약 그렇지 않다면 : 고유한 베이스 어드레스 시스템-식별자를 베이스 어드레스에 할당하고, 베이스 어드레스 시스템-식별자와 함께 베이스 어드레스를 저장하고,
- 만약 그렇다면 : 베이스 어드레스 시스템-식별자를 획득하도록, 그리고
- 사용자 식별자가 식별자 관리자에 등록되어 있는지를 결정하고
- 만약 그렇지 않다면 : 고유한 사용자 시스템-식별자를 사용자 식별자에 할당하고, 사용자 시스템-식별자와 함께 사용자 식별자를 저장하도록,
- 만약 그렇다면 : 사용자 시스템-식별자를 획득하도록 배열됨 ― , 및
- 베이스 어드레스 시스템-식별자, 사용자 시스템-식별자 및 사용자 패스워드로부터 제1 결합 식별자를 결정하도록 구성된 패스워드 유닛을 포함한다.
패스워드 생성 디바이스에 의해 생성된 패스워드는 제1 결합 식별자일 수 있거나, 또는 예컨대, 제2 결합 식별자의 컴퓨테이션(computation)을 통해 이로부터 유도될 수 있다. 패스워드 생성 디바이스에 의해 생성된 패스워드들은 본원에서 표시된 바와 같은 다수의 이점들을 갖는다. 예컨대, 시스템-식별자들을 변경함으로써, 패스워드들의 전체 클래스들이 무효화될 수 있다.
유리하게는, 패스워드 생성 시스템은 개별 무효화를 또한 허용하는 제2 결합 식별자를 결정함으로써 확장될 수 있다. 필요한 경우, 웹 사이트에 의해 부과된 패스워드 제약들은 제1 결합 식별자 및/또는 제2 결합 식별자로부터, 패스워드 제약을 만족시키는 최종 패스워드를 유도함으로써 만족될 수 있다.
또한, 패스워드들을 생성하기 위한 중앙 시스템을 갖춤으로써, 글로벌 보안 개선들이 획득될 수 있다. 예컨대, 일 실시예에서, 패스워드 생성 디바이스는, 웹 사이트에 의해 수신된 패스워드가 패스워드 생성 시스템에 의해 생성되었는지, 그리고 특히, 그것이 그 웹 사이트에 대해 생성되었는지를 결정하도록 구성된 검증 유닛을 포함한다.
패스워드 생성은 전자 디바이스, 예컨대, 컴퓨터, 이를테면, 서버 등에서 이루어진다.
본 발명에 따른 방법은 컴퓨터 구현 방법으로서 컴퓨터 상에서 또는 전용 하드웨어에서 또는 이 둘의 조합으로 구현될 수 있다. 본 발명에 따른 방법에 대한 실행 가능 코드는 컴퓨터 프로그램 제품 상에 저장될 수 있다. 컴퓨터 프로그램 제품들의 예들은, 메모리 디바이스들, 광학 저장 디바이스들, 집적 회로들, 서버들, 온라인 소프트웨어 등을 포함한다. 바람직하게는, 컴퓨터 프로그램 제품은, 상기 프로그램 제품이 컴퓨터 상에서 실행될 때, 본 발명에 따른 방법을 수행하기 위해 컴퓨터 판독 가능 매체 상에 저장된 비-일시적인 프로그램 코드를 포함한다.
바람직한 실시예에서, 컴퓨터 프로그램은, 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때, 본 발명에 따른 방법의 모든 단계들을 수행하도록 적응된 컴퓨터 프로그램 코드를 포함한다. 바람직하게는, 컴퓨터 프로그램은 컴퓨터 판독 가능 매체 상에서 구체화된다.
본 발명의 추가의 세부사항들, 양상들 및 실시예들은 단지 예로서 도면들을 참조하여 설명될 것이다. 도면들의 엘리먼트들은 간략화 및 명료성을 위해 예시되며, 반드시 실척대로 그려진 것은 아니다. 도면들에서, 이미 설명된 엘리먼트들에 대응하는 엘리먼트들은 동일한 참조 번호들을 가질 수 있다.
도 1a는 패스워드 생성 디바이스의 실시예의 예를 개략적으로 도시한다.
도 1b는 패스워드 유닛의 실시예의 예를 개략적으로 도시한다.
도 2는 최종 패스워드를 유도하는 예를 개략적으로 도시한다.
도 3은 패스워드 생성 디바이스의 실시예의 예를 개략적으로 도시한다.
도 4는 패스워드 생성 방법의 실시예의 예를 개략적으로 도시한다.
도 5a는 일 실시예에 따른 컴퓨터 프로그램을 포함하는 기록 가능한 부분을 갖는 컴퓨터 판독 가능 매체를 개략적으로 도시한다.
도 5b는 일 실시예에 따른 프로세서 시스템의 표현을 개략적으로 도시한다.
본 발명이 다수의 상이한 형태들의 실시예들을 허용하지만, 도면들에 도시되어 있고, 본원에서 하나 또는 그 초과의 특정 실시예들로 상세히 설명될 것이며, 본 개시내용은 본 발명의 원리들의 예시로서 고려되며, 도시되고 설명된 특정 실시예들로 본 발명을 제한하려는 것은 아니란 것을 이해한다.
이하, 이해를 위해, 실시예들의 엘리먼트들이 동작중인 상태로 설명된다. 그러나, 각각의 엘리먼트들은, 이들에 의해 수행되는 것으로 설명되는 기능들을 수행하도록 구성된다는 것이 명백할 것이다.
도 1a는 패스워드 생성 디바이스(100)의 실시예의 예를 개략적으로 도시한다. 이하의 설명은 패스워드 생성 디바이스의 일 실시예에서 사용되는 데이터 아이템들 중 일부 간의 가능한 관계를 예시하는 도 2를 추가로 참조한다.
패스워드 생성 디바이스(100)는 사용자 디바이스(200)와 함께 사용될 수 있다. 패스워드 생성 디바이스(100)는 컴퓨터 자원에 액세스하는 데 사용될 수 있는 패스워드를 생성하도록 구성된다. 패스워드 생성 디바이스(100)는 이러한 관점에서 다수의 이점들을 제공한다. 예컨대, 패스워드 생성 디바이스(100)는 미보조 사용자들이 통상적으로 행하는 것보다 더 강력한 패스워드들을 생성하고, 이에 따라 사용자의 패스워드가 공격자에 의해 추측될 가능성을 감소시킨다. 또한, 특정 사용자에 대한 또는 특정 웹 사이트에 대한 모든 패스워드들이 신속하게 디스에이블될 수 있다. 따라서, 사용자 또는 웹 사이트가 위태롭게 되는 경우 공격자가 획득한 모든 패스워드들이 쉽게 디스에이블될 수 있다. 흥미롭게도, 이 기능성은 패스워드들 그 자체를 저장함 없이 구현될 수 있다.
패스워드 생성 디바이스(100)는 사용자 디바이스(200)로부터의 컴퓨터 어드레스(310), 사용자 디바이스의 사용자를 표시하는 사용자 식별자(320) 및 사용자 패스워드(330)를 수신하도록 구성된 입력 유닛(110)을 포함한다. 일반적으로, 사용자 패스워드는 오리지널 사용자 패스워드의 송신을 회피하기 위해 오리지널 사용자 패스워드의 해시(hash)이다. 그러나, 예컨대, 사용자 디바이스와 패스워드 생성 디바이스 사이의 송신이 안전한 경우, 이 해시는 필요하지 않다.
예컨대, 입력 유닛(110)은 컴퓨터 네트워크, 예컨대, 인터넷, LAN, WAN 등을 통해 정보를 수신할 수 있다. 컴퓨터 네트워크는 전체적으로 또는 부분적으로 유선 또는 무선 등일 수 있다.
일 실시예에서, 사용자 디바이스(200)는 웹 브라우저(210)를 실행하는 컴퓨터이다. 컴퓨터 어드레스(310)는 URL(Uniform Resource Locator), 예컨대, 제1 url(URL1)일 수 있다. 컴퓨터 어드레스(310)는 웹 -페이지의 로그인-페이지에 액세스하는 데 사용될 수 있다. 예컨대 URL1은 https://myaccount.nytimes.com/auth/login일 수 있다.
일 실시예에서, 웹 브라우저(210)는 사용자 패스워드, 사용자 식별자, 및 웹 페이지, 예컨대, 패스워드 필드가 검출되는 웹 페이지의 컴퓨터 어드레스를 획득하도록 구성된다. 웹 브라우저(210)는 예컨대, 컴퓨터 네트워크를 통해 사용자 패스워드(330), 사용자 식별자(320) 및 컴퓨터 어드레스(310)를 패스워드 생성 디바이스(100)에 전송하도록 구성된다. 예컨대, 위의 기능성은 소위 플러그-인(plug-in) 형태로 웹 브라우저에서 구현될 수 있다. 웹 브라우저(210)는 웹 브라우저(210)와 패스워드 생성 디바이스(100) 사이의 통신을 추가로 보호하기 위한 임의의 부가적인 원하는 통신 수단, 예컨대, https 프로토콜을 사용할 수 있다.
일 실시예에서, 획득되고 그리고/또는 사용자 디바이스(200)에 저장된 오리지널 사용자 패스워드가 예컨대, 웹 브라우저(210)에 의해 패스워드 생성 디바이스(100)에 평문으로 전송되는 것이 회피된다. 예컨대, 웹 브라우저(210)는 예컨대, 패스워드를 타이핑함으로써 사용자로부터 사용자 패스워드를 직접 수신할 수 있지만, 대신에, 웹 브라우저(210)는 오리지널 사용자 패스워드를 수신하고, 오리지널 패스워드에 해시 함수를 적용하여 사용자 패스워드를 획득할 수 있다. 해시 함수들은 바람직하게는, 일-방향 해시 함수들, 특히 암호화 해시 함수들이다. 암호화 해시 함수들의 예들은 SHA-2 제품군(suite)을 포함한다. 해시 출력은 원하는 경우, 예컨대, 64 비트 또는 그 초과 등으로 절단될 수 있다. 브라우저(210)는, 오리지널 패스워드가 아니라, 사용자 패스워드, 컴퓨터 어드레스 및 사용자 식별자를 패스워드 생성 디바이스(100)에 전송하도록 구성된다.
일 실시예에서, 사용자 디바이스(200), 예컨대, 웹 브라우저(210)는 패스워드 생성 디바이스로부터 최종 패스워드를 수신한다. 그 후, 사용자 디바이스(200)는 최종 패스워드를 사용하여 컴퓨터 자원에 액세스할 수 있다. 예컨대, 웹 브라우저(210)는 패스워드 필드에 최종 패스워드를 입력할 수 있다. 그 후, 사용자 디바이스(200), 예컨대, 브라우저(210)는 액세스하기 위해 컴퓨터 자원에 패스워드를 전송한다. 패스워드들의 통신은 예컨대, https를 사용하여 암호화될 수 있다. 패스워드가 사용자 디바이스(200)를 통과하는 것이 아니라, 예컨대, 티켓들을 사용하여 패스워드 생성 디바이스(100)와 컴퓨터 자원 사이에서 직접 통신되는 실시예가 아래에 주어진다.
패스워드 생성 디바이스(100)는 컴퓨터 네트워크를 통해 사용자 디바이스(200)에 연결된 외부 컴퓨터일 필요는 없다. 예컨대, 패스워드 생성 디바이스(100)는 사용자 디바이스(200)에 포함될 수 있다. 컴퓨터 자원은, 컴퓨터 네트워크를 통해 사용자 디바이스(200)가 액세스할 수 있는 자원, 예컨대, 웹 서비스, 예컨대, 뱅킹 서비스, 온라인 에디터, 뉴스 서비스, 소셜 네트워킹 사이트 등일 수 있다. 컴퓨터 자원은 또한 사용자 디바이스(200)로 로컬로 액세스 가능한 자원일 수 있고; 예컨대, 패스워드에 의해 보호되는 컴퓨터 애플리케이션이다. 본 발명을 설명하기 위해, 이하, 패스워드 생성 디바이스(100)는 사용자 디바이스(200) 외부의 디바이스라는 것을 가정할 것이며, 이것은 필수적이지 않다는 단서를 둔다.
일 실시예에서, 사용자 디바이스(200)는 다수의 컴퓨터 자원들, 예컨대, 다수의 웹 사이트들, 또는 다수의 로컬 애플리케이션들, 또는 이들의 조합에 대한 액세스를 갖는다. 상이한 컴퓨터 어드레스, 예컨대, 상이한 URL을 갖는 상이한 자원은 통상적으로 패스워드 생성 디바이스(100)가 다른 패스워드를 컴퓨팅하게 한다.
일 실시예에서, 사용자 식별자는 패스워드 생성 디바이스(100)에 대해 사용자 및/또는 사용자 디바이스(200)를 식별할 수 있다. 예컨대, 사용자 식별자는 패스워드 생성 디바이스(100)의 모든 사용자들에 대해 고유할 수 있다. 대안적으로, 사용자 식별자는 컴퓨터 자원에 대해 사용자를 식별하는 데 사용되는 사용자 식별자일 수 있다. 이 경우에, 패스워드 생성 디바이스(100)는 베이스 어드레스와 사용자 식별자의 조합이 고유하다는 것, 예컨대, 패스워드 생성 디바이스(100)에 대해 고유하다는 것을 보장하도록 배열될 수 있다.
우리는 이하, 동일한 사용자가 동일한 사용자 식별자 또는 제한된 수의 사용자 식별자들을 사용하여 더 많은 수의 컴퓨터 자원들에 액세스한다고 가정할 것이다. 패스워드 생성 디바이스(100)는 사용자 식별자에 기초하여 사용자를 식별하도록 배열될 수 있다.
일 실시예에서, 패스워드 생성 디바이스(100)는 등록된 사용자들의 사용자 식별자들(320)의 리스트를 저장한다. 패스워드 생성 디바이스(100)는 또한 등록된 사용자들의 디바이스들의 디바이스 식별자들의 리스트를 저장할 수 있다. 예컨대, 리스트들은 예컨대, 컴퓨터 파일, 데이터베이스, 클라우드 등에 저장될 수 있다. 입력 유닛(110)은 사용자 식별자 이외에도, 사용자 디바이스 식별자를 수신하도록 배열될 수 있다. 사용자 디바이스(200)는 수신된 사용자 디바이스 식별자가 등록되어 있지 않거나 또는 차단되는 경우 패스워드의 생성을 거부하도록 배열될 수 있다. 마찬가지로, 사용자 디바이스(200)는 수신된 사용자 식별자가 등록되어 있지 않거나 또는 차단되는 경우 패스워드의 생성을 거부하도록 배열될 수 있다. 예컨대, 사용자 디바이스(200)는 수락된 사용자 및/또는 디바이스 식별자들을 갖는 화이트 리스트를 저장할 수 있다. 예컨대, 사용자 디바이스(200)는 차단된 사용자 및/또는 디바이스 식별자들을 갖는 블랙리스트를 저장할 수 있다. 화이트 리스트와 블랙 리스트의 조합의 리스트가 또한 가능하다. 예컨대, 사용자 디바이스(200)의 MAC 어드레스 또는 IP 어드레스가 사용자 디바이스 식별자로서 사용될 수 있다.
일 실시예에서, 사용자 패스워드는 사용자 또는 사용자 디바이스와 연관된 속성들, 예컨대, 바이오메트릭(biometric) 센서로부터 획득된 바이오메트릭 식별자를 포함한다. 예컨대, 사용자 디바이스(200)는 재생 가능한 식별자를 생성하도록 구성된 바이오메트릭 센서를 포함할 수 있다. 바이오메트릭 센서들은, 예컨대, 지문 또는 얼굴을 식별자에 매칭하도록 구성된 지문 센서들 및 얼굴 바이오메트릭 센서들을 포함한다. 사용자 디바이스와 연관된 속성들은 예컨대, 디바이스 프로파일, 디바이스 일련 번호들 등을 포함할 수 있다. 사용자와 연관된 속성들은 패스워드, 바이오메트릭 식별, 2-팩터 인증 등을 포함할 수 있다.
패스워드 생성 디바이스(100)는, 다수의 컴퓨터 어드레스들이 동일한 베이스 어드레스에 매핑되도록 컴퓨터 어드레스를 베이스 어드레스(312)에 매핑하게 배열되는 컴퓨터 어드레스 유닛(120)을 더 포함한다. 상이한 컴퓨터 어드레스들 하에서 동일한 컴퓨터 자원이 액세스 가능하게 되는 상황이 발생할 수 있다. 예컨대, 제1 컴퓨터 어드레스(URL1)가 https://myaccount.nytimes.com/auth/login이고, 제2 컴퓨터 어드레스(URL2)가 https://nytimes.com/auth/login이고, 제3 컴퓨터 어드레스(URL3)가 https://nytimes.com/login인 경우, 모든 3개의 컴퓨터 어드레스들이 동일한 컴퓨터 자원(예컨대, 웹 사이트), 이 경우에, 뉴스 웹 사이트에 액세스하기 위한 로그인 페이지에 대한 액세스를 제공한다. 2개의 컴퓨터 어드레스들이 상이하더라도, 이들은 동일한 로그인 크리덴셜(credential)들을 수용한다. 컴퓨터 어드레스 유닛(120)이 상이한 컴퓨터 어드레스들을 공통 베이스 어드레스로 매핑하여서, 둘 모두의 컴퓨터 어드레스들에 대해 동일한 패스워드가 생성될 것이다. 일 실시예에서, 컴퓨터 어드레스 유닛(120)은 베이스 어드레스로서 컴퓨터 어드레스로부터 하나 또는 그 초과의 엘리먼트들을 선택하도록 구성된다. 예컨대, 컴퓨터 어드레스 유닛(120)은 베이스 어드레스로서 URL의 도메인 이름을 선택할 수 있다. 위의 예에서, 컴퓨터 어드레스 유닛(120)은 베이스 어드레스로서 nytimes.com을 취하도록 배열될 수 있다.
반면에, 일 실시예에서, 컴퓨터 어드레스 유닛(120)은 베이스 어드레스를 획득하기 위해 컴퓨터 어드레스로부터 하나 또는 그 초과의 엘리먼트들을 제거하도록 구성된다. 예컨대, 컴퓨터 베이스 어드레스 유닛(120)은 베이스 어드레스를 획득하기 위해 컴퓨터 어드레스의 선택된 부분을 제거할 수 있다. 예컨대, 컴퓨터 어드레스 유닛은 프로토콜 표시기(예컨대, 위의 예에서 https)를 제거하고 그리고/또는 www 등과 같은 공통 부분들을 제거할 수 있다. 예컨대, 후자의 방법에 있어서, URL1 및 URL2가 여전히 동일한 베이스 어드레스, 예컨대, nytimes.com/auth/login를 가리키지만 URL3은 그렇지 않다는 것이 정리될 수 있다.
패스워드 생성 디바이스(100)는 식별자 관리자(130)를 더 포함한다. 식별자 관리자(130)는 다양한 데이터 아이템들을 시스템 식별자들에 매핑하도록 구성된다. 예컨대, 데이터 아이템은 시스템 식별자를 획득하기 위해 식별자 관리자(130)에 등록될 수 있다. 데이터 아이템이 사전에 등록되지 않은 경우, 새로운 시스템 식별자가 할당된다. 데이터 아이템이 사전에 등록된 경우, 새로운 시스템 식별자가 리트리브된다(retrieved). 시스템 식별자들은 바람직하게는, 고유한데, 예컨대, 시스템 내에 등록된 특정 유형의 데이터 아이템들 내에서 고유하거나 식별자 관리자(130)에 의해 할당된 모든 식별자들 내에서 고유하다. 이는 어쩌면, 충돌 방지 함수(collision resistant function)에 의해 수정되는, 예컨대, 암호화되거나 해싱되는 일련 번호, 타임스탬프 등을 사용함으로써 달성될 수 있다. 시스템-식별자들은 글로벌하게 고유해야 한다는 더 엄격한 요건이 있다. 후자는 충분한 길이의 랜덤 번호; 예컨대, 80 비트, 128 비트 등의 랜덤 번호를 할당함으로써 달성될 수 있다. 충분한 길이는 시스템의 수명 내에서 전 세계적으로 사용되는 시스템 식별자들의 최대 수를 추정함으로써 계산될 수 있다. 랜덤 시스템 식별자들은 글로벌하게 고유하게 되기에 충분할 것으로 예상된다. 예컨대, 시스템 식별자들은 소위 '글로벌 고유 식별자(globally unique identifier)들'(GUID들로서 또한 알려짐)일 수 있다. 랜덤 번호 생성기는 패스워드 생성 시스템(100)에 포함될 수 있다.
일 실시예에서, 식별자 관리자(130)는 베이스 어드레스에 대한 그리고 및 사용자 식별자에 대한 시스템 식별자를 획득하기 위해 사용된다.
예컨대, 식별자 관리자(130)는 베이스 어드레스가 식별자 관리자에 등록되어 있는지를 결정하도록 구성되고,
- 만약 그렇지 않다면 : 고유한 베이스 어드레스 시스템-식별자(315)를 베이스 어드레스에 할당하고, 베이스 어드레스 시스템-식별자와 함께 베이스 어드레스를 저장하고,
- 만약 그렇다면 : 베이스 어드레스 시스템-식별자(315)를 획득한다.
예컨대, 식별자 관리자(130)는 수신된 사용자 식별자가 식별자 관리자에 등록되어 있는지를 결정하도록 구성되고,
- 만약 그렇지 않다면 : 고유한 사용자 시스템-식별자(325)를 사용자 식별자에 할당하고, 사용자 시스템-식별자와 함께 사용자 식별자를 저장하고,
- 만약 그렇다면 : 사용자 시스템-식별자(325)를 획득한다.
패스워드 생성 디바이스(100)는 패스워드 유닛(140)을 포함한다. 패스워드 유닛(140)은 패스워드를 컴퓨팅하도록 구성된다. 패스워드 유닛(140)은 베이스 어드레스 시스템-식별자, 사용자 시스템-식별자 및 수신된 사용자 패스워드로부터 제1 결합 식별자(340)를 결정하도록 구성된다. 예컨대, 패스워드 유닛(140)은, 패스워드 유닛(140)이 베이스 어드레스 시스템-식별자, 사용자 시스템-식별자 및 사용자 패스워드에 적용하는 제1 결합 식별자 함수를 갖도록 배열될 수 있다. 이 함수는 바람직하게는, 충돌 방지 및 일-방향 둘 모두이다. 예컨대, 함수는 암호화 해시 함수를 포함할 수 있다. 최종 패스워드는 예컨대, 패스워드 제약 유닛(148)(아래에서 추가로 설명됨)에 의해 제1 결합 식별자(340)로부터 직접 컴퓨팅될 수 있다. 제1 결합 식별자(340)는 또한 패스워드로서 직접 사용될 수 있다. 일반적으로, 번호들은 비트 스트링, 문자 스트링 등으로서 원하는 대로 표현될 수 있다는 것에 주의한다. 패스워드 제약은, 문자들의 수, 글자들의 수, 숫자들의 수, 구두점들의 수 등에 대한 제한들을 포함할 수 있다.
패스워드는 여러 엘리먼트들로 구성되기 때문에, 개별 엘리먼트들이 강력할 필요는 없다. 예컨대, 안전한 패스워드가 생성될 수 있는 반면에, 사용자는 비교적 쉬운 패스워드만을 기억할 필요가 있다. 또한, 그는 심지어, 모든 컴퓨터 자원들에 대해, 예컨대, 자신의 모든 계정들에 대해 이 패스워드를 재사용할 수 있다. 패스워드를 추측하는 것은, 공격자가 시스템-식별자들에 대한 액세스를 갖지 않기 때문에 공격자에게 어렵다.
예컨대, 위에 개시된 바와 같은 제1 결합 식별자(340)로부터 또는 아래에 도시된 바와 같은 제2 결합 식별자를 통해 최종 패스워드를 유도하는 것은 다수의 이점들을 갖는다. 특정 컴퓨터 자원에 대한, 예컨대, 특정 웹 사이트에 대한, 예컨대, nytimes.com에 대한 모든 패스워드들은 베이스 어드레스 시스템-식별자를 변경함으로써 함께 리셋될 수 있다. 마찬가지로, 특정 사용자의 모든 패스워드는 사용자 시스템-식별자를 변경함으로써 함께 리셋될 수 있다. 일 실시예에서, 식별자 관리자는 베이스 어드레스 시스템-식별자를 변경하고 이에 따라 컴퓨터 자원에 대한 모든 패스워드들을 갱신하고 그리고/또는 사용자 시스템-식별자를 변경하고 이에 따라 사용자 식별자에 대한 모든 패스워드들을 갱신하도록 구성된다. 예컨대, 패스워드 생성 디바이스(100)는 상기 변경들을 달성하기 위한 식별자 관리자 인터페이스를 포함할 수 있다. 식별자 관리자 인터페이스는 바람직하게는 보호된다. 예컨대, 식별자 관리자 인터페이스는 패스워드로 보호되고, (컴퓨터 네트워크를 통해서가 아니라) 로컬로만 액세스 가능하고, 기타 등등이 가능할 수 있다.
예컨대, 사이트가 위태로워지면, 그 사이트에 대한 모든 패스워드들이 즉시 무효화될 수 있다. 제1 결합 식별자(340)가 충돌 방지 함수를 사용하여 컴퓨팅되기 때문에, 패스워드 생성 디바이스(100)는 무효화된 패스워드를 다시 생성할 가능성이 적다.
특정 자원 및/또는 특정 사용자에 대한 모든 패스워드를 변경하기 위해, 수신된 컴포넌트들(예컨대, 사용자 식별자, 컴퓨터 어드레스 및 사용자 패스워드) 중 어느 것도 변경될 필요가 없다는 것에 주의한다. 이는, 사용자 영향 없이 패스워드들을 무효화할 수 있게 한다.
일 실시예에서, 식별자 관리자(130)는 또한 제1 결합 시스템-식별자(345)를 획득하기 위해 제1 결합 식별자(340)에 대해 사용된다. 예컨대, 식별자 관리자(130)는 제1 결합 식별자(340)가 식별자 관리자에 등록되어 있는지를 결정하도록 배열될 수 있고,
- 만약 그렇지 않다면 : 고유한 제1 결합 시스템-식별자(345)를 제1 결합 식별자(340)에 할당하고, 제1 결합 시스템-식별자(345)와 함께 제1 결합 식별자(340)를 저장하고,
- 만약 그렇다면 : 제1 결합 식별자(340)에 할당된 제1 결합 시스템-식별자(345)를 획득한다.
패스워드 유닛(140)은 추가로, 적어도 제1 결합 시스템-식별자(345)로부터 제2 결합 식별자(350)를 결정하도록 구성된다. 패스워드 유닛(140)은 부가적인 입력들을 사용하여 제2 결합 식별자(350)를 결정할 수 있다. 일 실시예에서, 패스워드 유닛(140)은, 부가적인 입력으로서 사용자 식별자, 베이스 어드레스 및 사용자 패스워드 중 하나 또는 그 초과를 사용한다. 예컨대, 패스워드 유닛(140)은 패스워드 유닛(140)이 자신의 입력들에 적용하는 제2 결합 식별자 함수를 갖도록 배열될 수 있다. 제2 결합 식별자 함수는 제1 결합 식별자 함수와 동일한 요건들을 가질 수 있다. 예컨대, 2개의 함수들은 동일할 수 있다. 예컨대, 제2 결합 식별자 함수는 암호화 해시 함수를 포함할 수 있다. 일 실시예에서, 제2 결합 식별자 함수는 입력으로서 적어도, 제1 결합 시스템-식별자(345) 및 사용자 패스워드를 수신한다. 일 실시예에서, 패스워드 유닛(140)은, 어쩌면, 사용자 패스워드와 같은 위의 입력들 외에도, 부가적인 입력으로서 제1 결합 식별자(340)를 사용할 수 있다.
일 실시예에서, 제1 결합 식별자(340)를 저장하는 것은, 어떤 것도 아직 등록되지 않은 경우 제1 결합 식별자(340)의 해시를 저장함으로써 행해진다. 이는 데이터베이스가 위태로운 경우에 보안을 개선한다. 예컨대, 식별자 관리자(130)는 제1 결합 식별자(340)를 해싱하고 저장소, 예컨대 로컬 저장소, 데이터베이스(132), 클라우드 저장소 등에서 제1 결합 시스템-식별자(345)를 발견하기 위한 키로서 해시를 사용함으로써, 제1 결합 식별자(340)가 식별자 관리자에 등록되었는지를 결정하도록 배열될 수 있다. 제1 결합 식별자(340)의 해시가 키로서 발견되지 않은 경우, 예컨대, 대응하는 제1 결합 시스템-식별자(345)가 이전에 할당되지 않은 경우, 고유한 제1 결합 시스템-식별자(345)가 제1 결합 식별자(340)에 할당된다. 이 경우에, 제1 결합 시스템-식별자(345)는 키로서 제1 결합 식별자(340)의 해시와 연관된 저장소에 저장될 수 있다. 또한, 키는 때때로 데이터베이스 키로 지칭된다. 또한, 데이터베이스 대신에, 키, 값 쌍들을 저장하기 위해 연관 어레이가 사용될 수 있다. 예컨대, 쌍(h(x),y)이 저장될 수 있으며, 여기서 x는 제1 결합 식별자(340)이고, y는 제1 결합 시스템-식별자(345)이고, h는 (어쩌면, 솔팅된(salted)) 해시 함수이다.
수신된 사용자 입력들 및 시스템-식별자들을 사용하는 스테이지들에서 패스워드를 컴퓨팅하는 것은, 패스워드들을 보다 선택적으로 취소할 수 있다는 효과를 갖는다. 일 실시예에서, 식별자 관리자(130)는 제1 결합 시스템-식별자(345)를 변경하고, 이에 따라 제2 결합 식별자(350) 및/또는 사용자 식별자 및 컴퓨터 자원에 대한 최종 패스워드를 갱신하도록 구성된다. 이는, 그 사용자에 대한 또는 그 컴퓨터 자원에 대한 모든 패스워드들을 리셋함 없이, 특정 컴퓨터 자원에 대한 패스워드만을 변경할 수 있게 한다.
일 실시예에서, 패스워드 생성 디바이스(100)는 패스워드 제약 유닛(148)을 포함한다. 패스워드 제약 유닛(148)은 컴퓨터 자원에 대한 패스워드 제약들을 획득하도록, 예컨대, 리트리브하도록 구성된다. 예컨대, 패스워드 제약들은 로컬 저장소로부터, 예컨대, 데이터베이스(132)로부터 리트리브될 수 있거나, 또는 컴퓨터 자원 등으로부터 리트리브될 수 있다.
패스워드 제약 유닛(148)은 제2 결합 식별자(350)로부터(또는 어떠한 제2 결합 식별자도 사용되지 않는 경우 제1 결합 식별자(340)로부터) 패스워드 제약들을 만족시키는 최종 패스워드를 결정한다. 예컨대, 제2 결합 식별자(350)는 예컨대, 해시 함수의 출력으로서 512-비트 스트링일 수 있다. 패스워드 제약은 패스워드의 길이일 수 있다. 패스워드 제약은 최대 8개의 영-숫자(alpha-numeric) 문자들이 패스워드에 사용된다는 것일 수 있다. 이 제약이 리트리브될 수 있고 이 조건을 만족하는 패스워드가 생성될 수 있다. 예컨대, 제2 결합 식별자(350)는 베이스 62 숫자(26 + 26 + 10)에 매핑될 수 있으며, 이는 차례로, 영숫자 스트링에 매핑된다. 그 후, 스트링은 8개의 문자들로 절단될 수 있다. 다수의 제약들이 이러한 방식으로 채택될 수 있다. 제약 유닛 대신에, 컴퓨터 자원은 패스워드로서 비트 스트링, 즉 512-비트 스트링을 직접 수용하도록 적응될 수 있다는 것에 주의한다. 추가의 제약은 최종 패스워드가 적어도 하나의 숫자가 포함한다는 것일 수 있다. 이는 제2 결합 식별자(350)에 기초하여 제1 숫자 및 포지션을 먼저 선택하고 나서, 제2 결합 식별자(350)에 기초하여 잔여 포지션을 채움으로써 달성될 수 있다. 규정된 글자들, 구두점들 등에 대해서도 동일한 것이 사용될 수 있다.
최종 패스워드가 적어도 하나의 숫자를 포함한다는 추가의 제약을 만족시키는 것은 또한, 문자가 식별자에서 발생하는 빈도에 기초하여 제2 결합 식별자(350)로부터 문자를 먼저 선택하고 이어서 이를 숫자로 대체함으로써 달성될 수 있다. 선택된 문자는 예컨대, 모듈러스(modulus) 함수를 사용함으로써 어떤 숫자가 선택되는지를 결정한다. 이 절차는 모든 규정된 글자들, 구두점들 등을 만족시키기 위해 사용될 수 있으며, 하나 초과의 숫자 등이 요구되는 경우에 반복될 수 있다.
도 1a에 도시된 실시예에서, 식별자 관리자(130)는 데이터베이스(132)를 사용한다. 예컨대, 식별자 관리자(130)는 데이터 아이템, 및 시스템 식별자, 및 어쩌면, 데이터 유형과 같은 다른 정보를 포함하는 레코드들을 데이터베이스(132)에 저장할 수 있다. 데이터 유형들은, 예컨대, 베이스 어드레스 및 사용자 식별자 등을 포함할 수 있다. 일 실시예에서, 데이터베이스(132)는 데이터 아이템을 시스템 식별자와 연관시키는 하나 초과의 연관 어레이들을 사용한다. 예컨대, 데이터베이스(132)는 베이스 어드레스들에 대한, 사용자 식별자에 대한, 기타 등등에 대한 연관 어레이를 포함할 수 있다
도 1b는 패스워드 유닛(140)의 실시예의 예를 개략적으로 도시한다.
패스워드 유닛(140)은 입력 유닛(110)으로부터의 입력, 예컨대, 사용자 패스워드(330) 및 식별자 관리자(130)로부터, 예컨대, 베이스 어드레스 시스템-식별자(315) 및 사용자 시스템-식별자(325)를 수신하도록 구성된 제1 결합 식별자 유닛(142)을 포함한다. 제1 결합 식별자 유닛(142)은 제1 결합 식별자 함수를 적용하도록 배열될 수 있다. 패스워드 유닛(140)은 제2 결합 식별자 유닛(144)을 더 포함한다. 제2 결합 식별자 유닛(144)은 식별자 관리자(130)로부터의 입력, 예컨대 제1 결합 시스템-식별자(345)를 수신하도록 구성된다. 제2 결합 식별자 유닛(144)은 부가적인 입력들, 예컨대, 제1 결합 식별자(340) 또는 입력 유닛(110)으로부터의 입력들, 예컨대, 사용자 패스워드 등을 수신할 수 있다. 패스워드 유닛(140)은 컴퓨터 자원에 의해 부과된 제약들을 만족시키는 최종 패스워드를 컴퓨팅하기 위한 패스워드 제약 유닛(148)을 더 포함할 수 있다.
일 실시예에서, 패스워드 생성 디바이스(100)는 패스워드 정정 팩터를 저장하도록 배열될 수 있다. 패스워드 유닛(140)은, 제2 결합 식별자 유닛(144)과 패스워드 제약 유닛(148) 사이에 배열된 그리고 패스워드 정정 팩터를 제2 결합 식별자(350)에 적용하여 이를, 상이한 사용자 식별자에 대해 이전에 생성된 추가의 제2 결합 식별자에 매핑하도록 구성된 패스워드 정정 유닛(146)을 포함할 수 있다. 예컨대, 패스워드 정정 팩터는, 예컨대, 제2 결합 시스템-식별자 등과 함께 데이터베이스(132)에 저장될 수 있다. 정정 팩터로부터, 어느 하나의 결합 식별자를 결정하는 것이 가능하지 않다.
패스워드 정정 유닛(146)은 두 명의 상이한 사용자들이 안전한 방식으로 계정을 공유할 수 있게 한다. 사용자들이 그들의 패스워드들을 공유하는 것, 예컨대, 동일한 계정을 공동으로 사용하는 것은 드물지 않다. 두 명의 사용자들이 상이한 사용자 식별자를 갖는 경우, 위에서 설명된 바와 같은 시스템은 두 명의 사용자들에 대해 상이한 패스워드를 컴퓨팅할 것이다. 예컨대, 제1 사용자가 그를 위해 컴퓨팅된 첫 번째의 제2 결합 식별자는 갖는 반면, 제2 사용자는 그를 위해 컴퓨팅된 두 번째의 제2 결합 식별자를 갖는다. 예컨대, 정정 팩터로서 첫 번째의 제2 결합 식별자와 두 번째의 제2 결합 식별자 간의 차이를 저장함으로써, 패스워드 정정 유닛(146)은, 예컨대, 두 번째의 제2 결합 식별자를 첫 번째의 제2 결합 식별자에 매핑할 수 있다. 정정 팩터를 제거함으로써, 계정들 간의 링크가 제거된다. 차이는 다수의 방식들로, 예컨대, 산술적 차이, XOR 등으로서 컴퓨팅될 수 있다.
패스워드 정정 유닛(146)은 또한, 즉, 컴퓨터 자원의 베이스 어드레스, 사용자 식별자 또는 사용자 패스워드가 변경되더라도 패스워드가 동일하게 유지되도록 강제하기 위해 사용될 수 있다.
도 2는 최종 패스워드의 유도의 예를 개략적으로 도시한다. 도 2에는 컴퓨터 어드레스(310), 사용자 식별자(320) 및 사용자 패스워드(330)가 도시된다. 이들은, 예컨대, 사용자 디바이스(200)로부터 수신될 수 있다.
컴퓨터 어드레스(310)는 베이스 어드레스(312)에 매핑되며, 이는 차례로, 고유한 베이스 어드레스 시스템-식별자(315)에 매핑된다. 사용자 식별자(320)는 고유한 사용자 시스템-식별자(325)에 매핑된다. 3개의 데이터 아이템들 : 베이스 어드레스 시스템-식별자(315), 사용자 시스템-식별자(325) 및 사용자 패스워드(330)는 제1 결합 식별자(340)에 매핑된다. 제1 결합 식별자(340)는 제1 결합 시스템-식별자(345)에 매핑된다. 시스템-식별자들의 매핑들 중 임의의 것을 변경함으로써, 대응하는 패스워드(들)가 무효화될 수 있다는 것에 주의한다.
제1 결합 시스템-식별자(345)는 어쩌면, 다른 입력과 함께 제2 결합 식별자(350)에 매핑된다. 예컨대, 도 2는, 사용자 패스워드(330)가 또한 이 매핑에 사용된다는 것을 보여준다. 마지막으로, 제2 결합 식별자(350)는 패스워드 제약들을 만족시키는 최종 패스워드(355)에 매핑된다.
도 3은 패스워드 생성 디바이스(101)의 실시예의 예를 개략적으로 도시한다. 패스워드 생성 디바이스(101)는 패스워드 생성 디바이스(100)의 개량이며, 다수의 부가적인 선택적인 특징들을 포함한다.
패스워드 생성 디바이스(101)는 제1 로그인 제공자(250)와 사용자 디바이스(200) 사이에서 인터페이스하도록 구성된 로그인 제공자 유닛(150)을 포함한다. 제1 로그인 제공자(250)는 제1 오리지널 사용자 식별자를 제공하도록 구성된다. 예컨대, 제1 로그인 제공자는 예컨대, OpenID Connect 프로토콜을 사용하는 로그인 제공자, 이를테면, Google, Facebook, LinkedIn 등일 수 있다. 로그인 제공자 유닛(150)은 제1 오리지널 사용자 식별자로부터 사용자 식별자를 획득하고 이를 사용자 디바이스에 전송하도록 구성된다. 예컨대, 로그인 제공자 유닛(150)은 사용자 식별자 함수를 오리지널 사용자 식별자에 적용할 수 있다. 사용자 식별자 함수는 해시 함수, 예컨대, 암호화 해시를 포함할 수 있다.
OpenID Connect 프로토콜을 사용하는 것은 다음과 같이 작동할 수 있다. 먼저, 사용자는 로그인 제공자 유닛(150)에서 로그인을 시도한다. 어떠한 이전의 로그인도 여전히 유효하지 않은 경우, 로그인 제공자 유닛(150)은 로그인 시도를 제1 로그인 제공자(250)로 재지향(redirect)한다. 로그인 제공자(250), 예컨대, Google에서, 사용자는 자신의 정규 로그인 크리덴션들을 사용하여 로그인한다. 다음으로, 그는 로그인 제공자 유닛(150)으로 역으로 재지향된다. 로그인 제공자 유닛(150)에서, 로그인 제공자(250)에 의해 제공되는 바와 같은 오리지널 사용자 식별자가 수신된다. 사용자 식별자는 오리지널 사용자 식별자로부터 획득된다. 예컨대, 이 매핑은 예컨대, 해시를 사용하는 함수일 수 있지만, 그것은 또한 식별자 관리자(130)를 사용할 수 있다. 그 후, 사용자 식별자는 사용자 디바이스(200)에 전송된다. 결과적으로, 사용자 디바이스(200)는 사용자 식별자를 사용하여 패스워드 생성 디바이스(101)로부터 패스워드를 획득한다.
어떠한 이전의 로그인도 여전히 유효하지 않은 경우, 로그인 제공자 유닛(150)은 사용자를, 그가 로그인 제공자를 선택할 수 있는 메뉴로 재지향할 수 있다는 것에 주의한다. 사용자의 선택 후에, 로그인 제공자 유닛(150)은 사용자를 선택된 로그인 제공자로 재지향한다.
OpenID Connect 표준을 사용하여, 사용자 식별자는 패스워드 생성 디바이스(101)가 사용자 계정들 및 크리덴셜들을 저장할 필요 없이 획득된다. 실제로, 사용자는 패스워드 생성 디바이스(101)에서 계정을 생성할 필요가 없다. OpenID Connect 프로토콜은, 이러한 이른바 로그인 제공자들의 인프라스트럭처(infrastructure)를 사용하여 사용자를 인증하는 것을 가능하게 한다. 패스워드 생성 디바이스(101)에는 로그인 제공자의 고유한 사용자 식별자가 주어지며, 이는 그 후 생성된 패스워드의 3개의 컴포넌트들 중 하나, 예컨대, 사용자 식별자(320)로서 해싱된 형태 또는 암호화된 형태 등으로 사용된다. 따라서, 로그인 제공자(250)로부터 발생하는 오리지널 사용자 식별자의 저장 또는 사용자 패스워드의 저장 어느 것도 필요 없다.
이 방법은, 사용자가 패스워드 또는 원래의 사용자 식별자를 저장하는 것을 패스워드 생성 디바이스(101)에 위탁할 필요가 없기 때문에 사용자의 신뢰도를 증가시킨다. 또한, 다수의 로그인 제공자들이 사용될 수 있고 사용자는 자신이 사용하고자 하는 것을 선택할 수 있다. 현재, 예컨대. Google, Facebook, LinkedIn 및 Microsoft는 패스워드 생성 디바이스(101)와 함께 사용 가능한 로그인 서비스들을 제공한다. 따라서, 패스워드 생성 디바이스(101)는 로그인 제공자의 보안 인프라스트럭처에 편승(piggyback)할 수 있다. 따라서, 예를 들면, 예컨대, Google에 의해 제공되는 바와 같은 2-팩터 인증은 패스워드 생성 디바이스(101)에 대해 이용 가능하다. 다수의 로그인 제공자들은 적합한 로그인 프로토콜, 예컨대, OpenID Connect 프로토콜을 통해 연결될 수 있다.
일 실시예에서, 로그인 제공자 유닛(150)은 복수의 로그인 제공자들, 예컨대, 제1 로그인 제공자(250) 및 제2 로그인 제공자(260)와 함께 작동하도록 구성된다. 예컨대, 사용자가 제2 로그인 제공자(260)를 사용하여 로그인하는 경우, 패스워드 생성 디바이스(101)에는 추가의 오리지널 사용자 식별자가 제공될 것이다. 이러한 제2 오리지널 사용자 식별자가 추가의 사용자 식별자에 대해 해싱된 경우, 그 사용자의 모든 패스워드들은 달라질 것이다. 일 실시예에서, 식별자 관리자(130)는, 예컨대, 입력 유닛, 패스워드 생성 유닛 등에 사용자 식별자 정정 팩터를 저장하도록 구성되며, 패스워드 생성 디바이스(101)는 이 사용자 식별자 정정 팩터를 추가의 사용자 식별자에 적용하여 그것을 사용자 식별자에 매핑한다. 패스워드들에 대한 정정 팩터와 마찬가지로, 사용자 식별자 정정 팩터는 추가의 사용자 식별자와 사용자 식별자 간의 차이일 수 있다. 패스워드들에 대한 정정 팩터와 마찬가지로, 정정 팩터로부터 어느 하나의 사용자 식별자를 결정하는 것은 가능하지 않다.
사용자 식별자 정정 팩터의 효과는, 사용자가 어떤 사이트에 대해 어떤 로그인 제공자를 사용했는지를 계속 추적할 필요가 없다는 것이다. 또한, 컴퓨터 자원이 특정 로그인 제공자를 지원하지 않는 경우조차도, 사용자는 선택한 로그인 제공자를 사용할 수 있다. 패스워드 생성 디바이스(101)는 특정 로그인 제공자를 지원하는 것으로 충분하다. 이러한 방식으로, 다수의 로그인 제공자들은 패스워드 생성 디바이스(101)를 통해 웹 사이트들에 의해 지원될 수 있는 동안에도, 그들 자체는 단순한 패스워드 로그인들만을 지원한다. 예컨대, 웹 사이트(A)는 패스워드를 이용한 수동 로그인 이외에도, 로그인 제공자(250)를 지원할 수 있고, 웹 사이트(B)는 패스워드를 이용한 수동 로그인 이외에도, 로그인 제공자(260)를 지원할 수 있다. 그러나, 로그인 제공자(150)는 로그인 제공자(250) 및 로그인 제공자(260) 둘 모두를 지원할 수 있다. 이는, 사용자가 원하는 대로, 로그인 제공자(250 또는 260)에 로그인하고, (오리지널) 사용자 식별자를 수신하며, 웹 사이트(A) 또는 웹 사이트(B) 어느 하나에 대한 패스워드를 수신할 수 있다는 것을 의미한다. 또한, 정정 팩터를 사용함으로써, 사용자는 로그인에 관계없이 로그인 제공자(250 또는 260)를 사용하여 동일한 패스워드를 획득할 것이다. 이는 사용자는, 그가 웹 사이트(A)를 사용하는 경우에도 로그인 제공자(260)를 사용할 수 있거나, 또는 그가 웹 사이트(B)를 사용하더라도 로그인 제공자(250)를 사용할 수 있다는 것을 의미한다. 둘 모두의 경우들에서, 패스워드 생성 디바이스에 의해 생성된 패스워드를 입력하기 위해 웹 사이트들(A 및 B)의 수동 로그인 옵션이 사용된다. 따라서, 패스워드 생성 디바이스(101)는 컴퓨터 자원, 예컨대, 웹 사이트와 사용자 사이의 중개자로서 작용한다. 사용자는 단지, 로그인 제공자를 통해 로그인하도록 패스워드 생성 디바이스(101)에 허가를 제공할 필요가 있다.
일 실시예에서, 식별자 관리자(130)는 선택적으로 랜덤 솔트(salt)로 솔팅된, 생성된 패스워드의 해시를 저장하도록 구성된다. 이 해시는 본원에서 생성된 패스워드의 시그니처(signature)로서 지칭된다. 시그니처는 생성된 패스워드에 관한 부가적인 정보를 저장하는 키로서 역할을 한다. 이는 대응하는 컴퓨터 어드레스 또는 베이스 어드레스, 적용된 패스워드 제한들 등을 포함할 수 있다. 결과적으로, 생성된 패스워드 또는 그 해시를 갖는 것은 연관된 정보를 발견할 수 있게 하고, 예컨대, 대응하는 컴퓨터 어드레스 또는 베이스 어드레스가 올바른지를 검증할 수 있게 한다.
예컨대, 일 실시예에서, 패스워드 생성 디바이스(101)는 검증 유닛(160)을 포함할 수 있다. 검증 유닛(160)은 패스워드 및 선택적으로, 컴퓨터 어드레스를 수신하도록 구성된 인터페이스를 포함한다. 검증 유닛(160)은 패스워드가 해싱된 형태로 저장되었는지 그리고 선택적으로, 수신된 어드레스가 저장된 해싱된 패스워드와 연관된 베이스 어드레스와 매칭하는지를 결정하도록 구성된다. 검증 유닛(160)은 해싱된 또는 해싱되지 않은 형태(해싱된 형태가 바람직함)로 인터페이스 상에서 패스워드들을 수신할 수 있다. 따라서, 컴퓨터 자원은 특정 패스워드가 그 특정 자원에 대해 생성되었는지를 검증하도록 인터페이스를 통해 검증 유닛(160)에 질의할 수 있다. 예컨대, 검증 유닛(160)은 다음과 같이 동작할 수 있다. 패스워드가 해싱되지 않은 형태로 인터페이스 상에서 수신된 경우, 패스워드는 시그니처를 획득하도록 해싱되고; 패스워드가 해싱된 형태로 수신된 경우, 해싱된 형태의 수신된 패스워드가 시그니처를 직접 형성할 수 있다. 다음으로, 검증 유닛(160)은 예컨대, 해싱된 수신된 패스워드를 룩업함으로써, 예컨대, 시그니처를 룩업함으로써 패스워드가 식별자 관리자(130)에 의해 이전에 저장되었는지를 검증한다. 시그니처가 발견되는 경우, 컴퓨터 어드레스 또는 베이스 어드레스를 포함해서 연관된 부가적인 정보가 리트리브된다. 시그니처가 발견되지 않았던 경우, 수신된 패스워드는 패스워드 생성기에 의해 생성되지 않았다. 다음으로, 리트리브된 컴퓨터 어드레스가 수신된 컴퓨터 어드레스와 비교된다. 둘 모두의 어드레스들이 동일한 경우, 수신된 생성된 패스워드가 수신된 컴퓨터 어드레스에 대해 생성되었고, 그렇지 않으면, 수신된 생성된 패스워드는 잘못된 웹 사이트에서 사용되며, 이는 공격, 또는 시스템 에러 등을 가리킬 수 있다.
일 실시예에서, 검증 유닛(160)의 인터페이스는 예컨대, 패스워드를 검증하기 위해 검증 유닛(160)을 사용하여, 컴퓨터 자원으로부터 해싱되지 않은 형태로 패스워드를 수신하도록 구성된다. 이 실시예에서, 식별자 관리자(130)는 튜플들
Figure 112020061353981-pct00001
을 저장할 수 있다. 이 수식들에서, pi는 생성된 패스워드를 나타내고, h는 해시 함수(어쩌면, 솔트를 포함함)를 나타내며,
Figure 112020061353981-pct00002
는 생성된 패스워드와 연관된 속성들을 나타낸다. 속성들은 컴퓨터 어드레스 또는 베이스 어드레스를 포함할 수 있다. 이러한 수식에서, 제1 엔트리는 키로서 역할을 하는 시그니처이다. 검증 유닛(160)이 패스워드(p) 및 컴퓨터 어드레스(ca)를 수신한 후에, 검증 유닛(160)은 시그니처(h(p))를 컴퓨팅하고, 연관된 저장된 속성들을 리트리브하고 수신된 컴퓨터 어드레스를 리트리브된 컴퓨터 어드레스와 비교하여 이들이 동일한지를 검증할 수 있다.
일 실시예에서, 검증 유닛(160)의 인터페이스는 예컨대, 패스워드를 검증하고자 하는 컴퓨터 자원으로부터 해싱된 형태로 패스워드를 수신하도록 구성된다. 이 실시예에서, 식별자 관리자(130)는 튜플들(
Figure 112020061353981-pct00003
)을 저장할 수 있다. 검증 유닛(160)이 해싱된 패스워드(h(p)) 및 컴퓨터 어드레스(ca)를 수신한 후에, 검증 유닛(160)은 키로서 시그니처(h(p))를 이용하고, 연관된 저장된 속성들을 리트리브하고 수신된 컴퓨터 어드레스를 리트리브된 컴퓨터 어드레스와 비교하여 이들이 동일한지를 검증할 수 있다. 위의 실시예들에서, 속성들은 베이스 어드레스를 저장할 수 있고, 수신된 컴퓨터 어드레스가 비교 이전에 베이스 어드레스에 매핑된다.
첫 번째 옵션은 패스워드가 평문 형태로 검증 유닛(160)의 인터페이스 상에서 수신되는 경우에 이용 가능하고, 후자의 옵션은 패스워드가 해싱된 형태(
Figure 112019007377840-pct00004
)로 검증 유닛(160)의 인터페이스 상에서 수신되는 경우에 이용 가능하다.
검증 유닛(160)은, 패스워드가 작동하는지 확인하기 위해 공격자가 잘못된 웹 사이트에서, 캡처된 패스워드를 사용하고 있는지를 결정할 수 있다. 그러한 결정이 내려지는 경우, 패스워드는, 예컨대, 에스컬레이션(escalation)의 레벨에 의존하여, 예컨대, 제1 결합 시스템-식별자, 또는 심지어, 저장된 해싱된 패스워드와 연관된 베이스 어드레스 시스템-식별자 및/또는 사용자 시스템-식별자를 변경함으로써 디스에이블될 수 있다. 해싱된 패스워드는 예컨대, 제1 결합 시스템-식별자와 함께 식별자 관리자(130)에 의해 저장될 수 있다. 해싱된 패스워드들은, 대응하는 시스템-식별자들이 변경된 경우에도 저장될 수 있어서, 구 패스워드들의 남용이 또한 검출될 수 있다. 본원에서 주어진 실시예들은 예시중이지만, 상이한 사용 패턴들이 이러한 방식으로 식별될 수 있으며, 적절한 경우 다른 방식들로 액션이 취해질 수 있다는 것을 강조한다.
패스워드 생성 디바이스(101)는 패스워드 그 자체를 저장하지 않는다. 그러나 검증 유닛(160)은 패스워드의 시그니처를 저장할 수 있다. 시그니처는, 선택적으로 솔트와 조합되는, 패스워드 생성 디바이스(101)에 의해 생성된 패스워드에 대한 해시일 수 있다. 시그니처는 부가적인 정보와 연관될 수 있다. 부가적인 정보는 패스워드가 생성된 웹 사이트를 포함할 수 있다. 생성된 패스워드의 시그니처는 부가적인 정보를 리트리브하는 데 사용되는 키로서 사용될 수 있다. 해시가 일-방향이기 때문에, 시그니처로부터 생성된 패스워드 그 자체 또는 사용자 패스워드 또는 로그인 제공자의 사용자 ID를 획득하는 것은 가능하지 않다.
컴퓨터 자원, 예컨대, 웹 사이트는 패스워드 생성 디바이스(101)에 바람직하게는 해싱된 형태로 패스워드를 전송할 수 있고, 검증 유닛(160)은 다음을 확인한다:
1. 수신된 패스워드의 시그니처가 패스워드 생성 디바이스(101)에 의해 생성된 패스워드에 대응하는지 여부. 만약 그렇다면, 그것이 사용자로부터 강력한 글로벌하게 고유한 패스워드를 수신했다는 것이 웹 사이트에 알려진다. 만약 그렇지 않다면, 예컨대, 패스워드에 대한 어떠한 품질 보장도 제공될 수 없기 때문에, 웹 사이트는 패스워드를 거부할 수 있다. 예컨대, 웹 사이트는 사용자에게 경고하고 그리고/또는 사용자가 패스워드 생성 디바이스(101)를 사용해야 한다는 정보를 제공할 수 있다.
2. 수신된 패스워드의 시그니처가 그 특정한 웹 사이트에 대해 생성된 패스워드에 대응하는지 여부. 만약 그렇지 않다면, 남용 또는 사용자 에러가 처리되어야 한다.
3. 수신된 패스워드의 시그니처가 활성(예컨대, 그것이 차단되지 않음)인 패스워드에 대응하는지 여부. 만약 그렇다면, 패스워드는 강력하며 사이트에 대해 의도되고 활성이다. 만약 그렇지 않다면, 이는 아마도 남용이거나, 또는 구 패스워드를 어딘가에 저장하고 그것을 지금 사용하는 사용자에 대응할 수 있다. 이러한 사용자는 검증 유닛(160)에 의해 직접 통지를 받을 수 있다.
일 실시예에서, 패스워드 생성 디바이스는 익명으로 사용될 수 있고, 사용자에게 접촉할 방법이 없을 수 있다. 그러나, 검증 유닛(160)은 예컨대, e-메일에 의해 사용자 에러 또는 패스워드 남용을 소유자에게 통지하도록 배열될 수 있다. 예컨대, 사용자는 초기 등록 동안 자신의 연락처 정보, 예컨대, 이메일 어드레스를 등록하기 위한 옵션을 가질 수 있다. 시그니처는 등록된 사용자와 연관될 수 있어서, 검증 유닛(160)은 시그니처를 통해 사용자의 연락처 정보를 획득할 수 있다.
따라서, 검증 유닛(160)은 사용자에게 직접 피드백을 제공하는 옵션을 갖는 패스워드 검증 능력을 제공한다. 잘못된 또는 비활성인 패스워드들의 사용은 검증 유닛(160)에 의해 모니터링될 수 있다. 패스워드가 생성된 웹 사이트 및 검증 유닛(160)의 인터페이스 상에서 패스워드를 보고한 웹 사이트 둘 모두는 검증 유닛(160)에 의해 잘못된 패스워드 시도를 통지받을 수 있다.
따라서, 패스워드 생성 디바이스(101)는 웹 사이트들의 경계들을 넘어 패스워드들의 강도를 확인할 수 있다. 이는 일부 웹 사이트들에 의해 강제되는 패스워드 제약들을 리던던트(redundant)하게 한다. 웹 사이트들은 패스워드가 패스워드 생성 디바이스(101)에 의해 생성된 경우, 패스워드는 강력하고 글로벌하게 고유하다는 것을 확신할 수 있다. 현재 패스워드 제약들은 패스워드가 글로벌하게 고유한지 여부를 검증할 수 없다는 것에 주의한다. 실제로, 패스워드 생성 디바이스(100 또는 101)를 사용하는 웹 사이트는 로그인들을 위해 사용자 식별자를 사용할 필요가 없다. 패스워드들은 적어도 웹 사이트에 대해 강력하고 고유하며, 바람직하게는, 글로벌하게 고유하기 때문에, 사용자는 자신의 패스워드에 의해 고유하게 식별될 수 있다.
일 실시예에서, 패스워드 생성 디바이스(101)는 티켓 유닛(170)을 포함한다. 티켓 유닛(170)은 티켓 식별자를 생성된 패스워드에 할당하고 티켓 식별자, 티켓 제약 및 생성된 패스워드를 저장하도록 구성된다. 티켓 유닛(170)은 티켓 식별자를 사용자 디바이스(200)에 전송하도록 구성된다.
티켓 유닛(170)은,
- 컴퓨터 자원으로부터 수신된 티켓 식별자 및 수신된 컴퓨터 어드레스를 수신하도록, 그리고
- 티켓 식별자가 티켓 유닛(170)에 의해 할당되었고, 수신된 컴퓨터 어드레스가 생성된 패스워드와 연관된 베이스 어드레스 및 티켓 제약과 매칭한다는 것을 검증하고, 만약 그렇다면, 생성된 패스워드를 컴퓨터 자원에 전송하도록 구성된다.
티켓을 사용하여, 최종 패스워드가 사용자 디바이스를 통과해야 하는 필요성이 회피된다. 사용자 디바이스 및 사용자 디바이스와 자원 간의 연결은 아마도 맬웨어(malware)의 주요 출처이고, 이에 따라 패스워드가 위태롭게 될 가능성이 가장 높은 지점이다. 이러한 방식으로, 패스워드의 보안이 증가된다.
이 인증 방법에서, 패스워드 생성 디바이스(101)는 평소와 같이 최종 패스워드를 생성하지만, 사용자 디바이스(200)에 패스워드를 전송하지 않는다. 티켓 식별자는 랜덤 번호일 수 있다. 티켓은 (적어도 일시적으로) 저장된다. 컴퓨터 자원이 티켓 식별자를 전송할 때, 패스워드 생성 디바이스(101)는 다양한 제약들, 예컨대, 티켓이 아직 사용되지 않았는지, 티켓이 그 사이트에 대해 생성되었는지, 티켓이 티켓과 연관된 시간 프레임에서 수신되었는지 등을 검증한다. 티켓들 및/또는 그의 패스워드들은 예컨대, https를 사용하여 암호화된 채로 통신될 수 있다.
일 실시예에서, 티켓은 물론, 저장된 생성된 패스워드는 만료일을 갖는다. 만료일 이후에, 패스워드는 시스템으로부터 삭제된다. 이는, 만료일 후에 티켓들이 사용될 수 없음을 의미한다. 그것은 또한, 패스워드의 노출이 제한된다는 것을 의미한다. 일 실시예에서, 패스워드는 암호화된 형태로, 예컨대, 시스템에 저장된 키를 사용하여, 예컨대, 휘발성 메모리에 저장된다.
일 실시예에서, 티켓 유닛은 추가로 사용자에 관한 개인 정보를 관리하도록 확장된다. 예컨대, 패스워드 생성 디바이스는 사용자와 연관된 하나 또는 그 초과의 개인 정보 아이템들을 저장할 수 있다. 티켓 유닛(170)은 추가의 티켓 식별자를 생성하고 추가의 티켓 식별자를 사용자와 연관시키도록 구성된다. 이러한 의미에서, 예컨대, 패스워드 생성과 함께, 2개의 티켓들이 생성된다. 제1 티켓은 사용자 디바이스를 거치지 않고 패스워드를 올바른 컴퓨터 자원, 예컨대, 웹 사이트에 송신하는 데 사용되고; 제2 티켓은 개인 정보를 관리하는 데 사용된다. 초기에, 제1 티켓 만이 예컨대, 사용자 디바이스를 통해 컴퓨터 자원에 송신된다.
제1 티켓이 사용될 때, 예컨대, 위에서 표시된 바와 같이 올바르게 검증될 때, 생성된 패스워드는 (어쩌면, 송신을 위한 로컬 복호화 및/또는 암호화 후에) 컴퓨터 자원에 전송된다. 제2 티켓, 예컨대, 추가의 티켓 식별자는 또한, 예컨대, 생성된 패스워드와 함께 컴퓨터 자원에 전송된다.
추후에, 컴퓨터 자원이 개인 정보 아이템에 대한 액세스를 필요로 하는 경우, 컴퓨터 자원은 제2 티켓, 예컨대, 추가의 티켓 식별자를 시스템(100)에 전송할 수 있다. 티켓 유닛(170)은 추가의 수신된 티켓 식별자를 수신하고, 추가의 수신된 티켓 식별자가 저장된 추가의 티켓 식별자와 매칭한다는 것을 검증하도록 구성된다. 후자의 확인이 올바른 경우, 사용자와 연관된 개인 정보가 컴퓨터 자원에 전송된다.
제2 티켓은 사용자에 관한 부가적인 정보를 요청하는 데 사용될 수 있다. 예컨대, 이메일 어드레스 또는 전화 번호 등이 있다. 이러한 방식으로, 사용자는 자신에 관한 정보를 리트리브할 수 있는 사이트들을 관리할 수 있다. 사용자는 로케이션(location), 예컨대, 디바이스(100) 상에서 이런 정보를 계속 추적할 수 있다. 사용자가 컴퓨터 자원의 사용을 중단하면, 사용자는 디바이스(100)에서 자신의 정보에 대한 추가의 액세스를 거부할 수 있다.
통상적으로, 디바이스들(100, 101, 200, 250 및 260) 각각은 디바이스에 저장된 적절한 소프트웨어를 실행하는 마이크로프로세서(별도로 도시되지 않음)를 포함하고; 예컨대, 이 소프트웨어는 디바이스의 대응하는 메모리, 예컨대, 휘발성 메모리, 이를테면, RAM 또는 비-휘발성 메모리, 이를테면, Flash(별도로 도시되지 않음)에 다운로드 및/또는 저장되었을 수 있다. 대안적으로, 디바이스들은 전체적으로 또는 부분적으로, 예컨대, FPGA(field-programmable gate array)로서 프로그래밍 가능 로직으로 구현될 수 있다. 디바이스들은 전체적으로 또는 부분적으로, 소위 ASIC(application-specific integrated circuit), 즉 그의 특정 용도에 대해 커스터마이징되는 IC(integrated circuit)로서 구현될 수 있다. 예컨대, 회로들은 예컨대, Verilog, VHDL 등과 같은 하드웨어 기술 언어를 사용하여 CMOS로 구현될 수 있다.
일 실시예에서, 패스워드 생성 디바이스(101)는 입력 회로, 컴퓨터 어드레스 회로, 식별자 관리자 회로, 패스워드 회로, 로그인 제공자 회로, 검증 회로, 티켓 회로 등을 포함한다. 회로들은 본원에서 설명된 대응하는 유닛들을 구현한다. 회로들은 프로세서 회로 및 저장 회로일 수 있으며, 프로세서 회로는 저장 회로들에서 전자적으로 표현된 명령들을 실행한다. 회로들은 또한 FPGA, ASIC 등일 수 있다.
도 4는 흐름도의 형태로 패스워드 생성 방법(400)의 실시예의 일례를 개략적으로 도시한다.
패스워드 생성 방법(400)은,
- 사용자 디바이스로부터, 컴퓨터 자원에 액세스하기 위한 컴퓨터 어드레스(310, URL1), 사용자 디바이스의 사용자를 표시하는 사용자 식별자(320), 및 사용자 패스워드(330)를 수신하는 단계(410),
- 컴퓨터 어드레스를 베이스 어드레스(312)에 매핑하여서, 다수의 컴퓨터 어드레스들(URL1, URL2)이 동일한 베이스 어드레스에 매핑되게 하는 단계(420),
- 베이스 어드레스가 식별자 관리자에 등록되어 있는지를 결정하는 단계(430) ―
만약 그렇지 않다면 : 고유한 베이스 어드레스 시스템-식별자(315)를 베이스 어드레스에 할당하고, 베이스 어드레스 시스템-식별자와 함께 베이스 어드레스를 저장하고(432),
- 만약 그렇다면 : 베이스 어드레스 시스템-식별자를 획득함(434) ― ,
- 사용자 식별자가 식별자 관리자에 등록되어 있는지를 결정하는 단계(440) ―
- 만약 그렇지 않다면 : 고유한 사용자 시스템-식별자(325)를 사용자 식별자에 할당하고, 사용자 시스템-식별자와 함께 사용자 식별자를 저장하고(442),
- 만약 그렇다면 : 사용자 시스템-식별자를 획득함(444) ― , 및
- 베이스 어드레스 시스템-식별자, 사용자 시스템-식별자 및 사용자 패스워드로부터 제1 결합 식별자(340)를 결정하는 단계(450),
- 제1 결합 식별자(340)가 식별자 관리자에 등록되어 있는지를 결정하는 단계(460) ―
- 만약 그렇지 않다면 : 고유한 제1 결합 시스템-식별자를 제1 결합 식별자 (340)에 할당하고, 제1 결합 시스템-식별자와 함께 제1 결합 식별자 (340)를 저장하고(462),
- 만약 그렇다면 : 제1 결합 식별자(340)에 할당된 제1 결합 시스템-식별자(340)를 획득함(464) ― 및
- 적어도 제1 결합 시스템-식별자로부터 제2 결합 식별자를 결정하는 단계(470), 및
- 자원의 패스워드 제약들을 만족시키는 제2 결합 식별자(350)로부터 최종 패스워드를 결정하는 단계(480)를 포함한다.
방법(400)은 선택적인 단계들(460 내지 480)을 포함한다는 것에 주의한다.
당업자에게 명백할 바와 같이, 방법을 실행하는 다수의 상이한 방법들이 가능하다. 예컨대, 단계들의 순서가 변동되거나, 또는 일부 단계들이 병렬로 실행될 수 있다. 또한, 단계들 사이에 다른 방법 단계들이 삽입될 수 있다. 삽입된 단계들은 본원에서 설명된 바와 같은 방법의 정제(refinement)들을 나타낼 수 있거나, 또는 방법과 관련되지 않을 수 있다. 예컨대, 단계들(430-434 및 440-444)은 복귀(revert)되거나, 또는 적어도 부분적으로, 병렬로 실행될 수 있다. 또한, 다음 단계가 시작되기 전에 주어진 단계가 완전히 완료되지 않을 수 있다.
본 발명에 따른 방법은 프로세서 시스템이 방법(400)을 수행하게 하기 위한 명령들을 포함하는 소프트웨어를 사용하여 실행될 수 있다. 소프트웨어는 시스템의 특정 서브-엔티티에 의해 취해지는 그러한 단계들만을 포함할 수 있다. 소프트웨어는 하드 디스크, 플로피, 메모리, 광학 디스크 등과 같은 적합한 저장 매체에 저장될 수 있다. 소프트웨어는 유선 또는 무선에 따른 신호로서, 또는 데이터 네트워크, 예컨대, 인터넷을 사용하여 전송될 수 있다. 이 소프트웨어는 다운로드를 위해 그리고/또는 서버 상의 원격 사용을 위해 이용 가능하게 될 수 있다. 본 발명에 따른 방법은 방법을 수행하기 위해 프로그래밍 가능 로직, 예컨대, FPGA(field-programmable gate array)를 구성하도록 구성된 비트스트림을 사용하여 실행될 수 있다.
또한, 본 발명은 본 발명을 실용화하도록 적응된 컴퓨터 프로그램들, 특히, 캐리어 상의 또는 캐리어 내의 컴퓨터 프로그램들로 확장될 수 있다는 것이 인지될 것이다. 프로그램은 소스 코드, 오브젝트 코드, 코드 중간 소스 및 오브젝트 코드의 형태, 이를테면, 부분적으로 컴파일된 형태이거나 본 발명에 따른 방법의 구현에 사용하기 적합한 임의의 다른 형태일 수 있다. 컴퓨터 프로그램 제품에 관한 실시예는 기술된 방법들 중 적어도 하나의 프로세싱 단계들 각각에 대응하는 컴퓨터 실행 가능 명령들을 포함한다. 이 명령들은 서브 루틴으로 세분되고 그리고/또는 정적으로 또는 동적으로 링크될 수 있는 하나 또는 그 초과의 파일들에 저장될 수 있다. 컴퓨터 프로그램 제품에 관한 다른 실시예는 기술된 시스템들 및/또는 제품들 중 적어도 하나의 것의 각각의 수단에 대응하는 컴퓨터 실행 가능 명령들을 포함한다.
도 5a는 일 실시예에 따라, 컴퓨터 프로그램(1020)을 포함하는 기록 가능한 부분(1010)을 갖는 컴퓨터 판독 가능 매체(1000)를 도시하며, 이 컴퓨터 프로그램(1020)은 프로세서 시스템이 패스워드 생성의 방법을 수행하게 하기 위한 명령들을 포함한다. 컴퓨터 프로그램(1020)은 물리적 마크(physical mark)들로서 또는 컴퓨터 판독 가능 매체(1000)의 자화(magnetization)에 의해 컴퓨터 판독 가능 매체(1000) 상에서 구체화될 수 있다. 그러나, 임의의 다른 적합한 실시예가 또한 고려될 수 있다. 또한, 컴퓨터 판독 가능 매체(1000)가 광학 디스크로서 본원에서 도시되지만, 컴퓨터 판독 가능 매체(1000)는 임의의 적합한 컴퓨터 판독 가능 매체, 이를테면, 하드 디스크, 솔리스 스테이트(solid state) 메모리, 플래시 메모리 등일 수 있고, 기록 불가능하거나 기록 가능할 수 있다는 것이 인지될 것이다. 컴퓨터 프로그램(1020)은 프로세서 시스템으로 하여금 상기 패스워드 생성 방법을 수행하게 하는 명령들을 포함한다.
도 5b는 일 실시예에 따른 프로세서 시스템(1140)의 개략적 표현을 도시한다. 프로세서 시스템은 하나 또는 그 초과의 집적 회로들(1110)을 포함한다. 하나 또는 그 초과의 집적 회로들(1110)의 아키텍처가 도 5b에 개략적으로 도시된다. 회로(1110)는 일 실시예에 따른 방법을 실행하고 그리고/또는 그의 모듈들 또는 유닛들을 구현하도록 컴퓨터 프로그램 컴포넌트들을 실행하기 위한 프로세싱 유닛(1120), 예컨대, CPU를 포함한다. 회로(1110)는 프로그래밍 코드, 데이터 등을 저장하기 위한 메모리(1122)를 포함한다. 메모리(1122)의 부분은 판독 전용일 수 있다. 회로(1110)는 통신 엘리먼트(1126), 예컨대, 안테나, 커넥터 또는 둘 다 등을 포함할 수 있다. 회로(1110)는 패스워드 생성 방법에서 정의된 프로세싱의 일부 또는 전부를 수행하기 위한 전용 집적 회로(1124)를 포함할 수 있다. 프로세서(1120), 메모리(1122), 전용 IC(1124) 및 통신 엘리먼트(1126)는 인터커넥트(1130), 즉 버스를 통해 서로 연결될 수 있다. 프로세서 시스템(1110)은 각각, 안테나 및/또는 커넥터들을 사용하여 접촉 및/또는 비접촉 통신을 위해 배열될 수 있다.
위에서 언급된 실시예들은 본 발명을 제한하기보다는 예시하고, 당업자들은 다수의 대안적인 실시예들을 설계할 수 있을 것이란 점이 주의되어야 한다.
청구항들에서, 괄호 사이에 배치된 임의의 참조 부호들은 청구항을 제한하는 것으로 해석되어서는 안 된다. "포함하다"라는 동사 및 그의 활용형들의 사용은 청구항에 언급된 것들 이외의 다른 엘리먼트들 또는 단계들을 배제하지 않는다. 엘리먼트들의 단수 표현은 그러한 엘리먼트들의 복수의 존재를 배제하지 않는다. 본 발명은 여러 별개의 엘리먼트들을 포함하는 하드웨어에 의해 그리고 적합하게 프로그래밍된 컴퓨터에 의해 구현될 수 있다. 여러 수단들을 열거하는 디바이스 청구항에서, 이들 수단들 중 여러 개는 하나의 그리고 동일한 하드웨어 아이템에 의해 구체화될 수 있다. 소정의 측정들이 서로 상이한 종속 청구항들에서 인용된다는 단순한 사실만으로 이 측정들의 결합이 유리하게 사용될 수 없다는 것을 나타내는 것은 아니다.
청구항들에서, 괄호들 안의 참조들은 실시예들의 도면들 또는 실시예의 수식들에서의 참조 부호들을 지칭하며, 이에 따라 청구항의 이해성을 증가시킨다. 이러한 참조들은 청구항을 제한하는 것으로 해석되어서는 안 된다.
100, 101 패스워드 생성 디바이스
110 입력 유닛
120 컴퓨터 어드레스 유닛
130 식별자 관리자
132 데이터베이스
140 패스워드 유닛
142 제1 결합 식별자 유닛
144 제2 결합 식별자 유닛
146 패스워드 정정 유닛
148 패스워드 제약 유닛
150 로그인 제공자 유닛
160 검증 유닛
170 티켓 유닛
200 사용자 디바이스
210 웹 브라우저
250 제1 로그인 제공자
260 제2 로그인 제공자
310 컴퓨터 어드레스
312 베이스 어드레스
315 베이스 어드레스 시스템-식별자
320 사용자 식별자
325 고유한 사용자 시스템-식별자
330 사용자 패스워드
340 제1 결합 식별자
345 제1 결합 시스템-식별자
350 제2 결합 식별자
355 최종 패스워드

Claims (17)

  1. 패스워드 생성 디바이스(100)로서,
    입력 유닛(110), 컴퓨터 어드레스 유닛(120), 식별자 관리자(130), 및 패스워드 유닛(140)을 포함하고,
    상기 입력 유닛(110)은, 사용자 디바이스로부터,
    컴퓨터 자원에 액세스하기 위한 컴퓨터 어드레스(310, URL1),
    상기 사용자 디바이스의 사용자를 표시하는 사용자 식별자(320), 및
    사용자 패스워드(330)
    를 수신하도록 구성되고,
    상기 컴퓨터 어드레스 유닛(120)은, 다수의 컴퓨터 어드레스들(URL1, URL2)이 동일한 베이스 어드레스에 매핑되도록, 상기 컴퓨터 어드레스를 베이스 어드레스(312)에 매핑하도록 구성되고,
    상기 식별자 관리자(130)는,
    상기 베이스 어드레스가 상기 식별자 관리자에 등록되어 있는지를 결정하고,
    상기 베이스 어드레스가 등록되어 있지 않다면: 고유한 베이스 어드레스 시스템-식별자(315)를 상기 베이스 어드레스에 할당하고 상기 베이스 어드레스 시스템-식별자와 함께 상기 베이스 어드레스를 저장하고,
    상기 베이스 어드레스가 등록되어 있다면: 상기 베이스 어드레스 시스템-식별자를 획득하도록, 그리고
    상기 사용자 식별자가 상기 식별자 관리자에 등록되어 있는지를 결정하고,
    상기 사용자 식별자가 등록되어 있지 않다면: 고유한 사용자 시스템-식별자(325)를 상기 사용자 식별자에 할당하고, 상기 사용자 시스템-식별자와 함께 상기 사용자 식별자를 저장하고,
    상기 사용자 식별자가 등록되어 있다면: 상기 사용자 시스템-식별자를 획득하도록
    구성되고,
    상기 패스워드 유닛(140)은, 상기 베이스 어드레스 시스템-식별자, 상기 사용자 시스템-식별자 및 상기 사용자 패스워드로부터 제1 결합 식별자(340)를 결정하도록 구성되는,
    패스워드 생성 디바이스.
  2. 제1항에 있어서,
    상기 식별자 관리자는,
    상기 제1 결합 식별자가 상기 식별자 관리자에 등록되어 있는지를 결정하고,
    상기 제1 결합 식별자가 등록되어 있지 않다면: 고유한 제1 결합 시스템-식별자를 상기 제1 결합 식별자에 할당하고, 상기 제1 결합 시스템-식별자와 함께 상기 제1 결합 식별자를 저장하고,
    상기 제1 결합 식별자가 등록되어 있다면: 상기 제1 결합 식별자에 할당된 상기 제1 결합 시스템-식별자를 획득하도록
    구성되고,
    상기 패스워드 유닛은 추가로, 적어도 상기 제1 결합 시스템-식별자로부터 제2 결합 식별자를 결정하도록 추가로 구성되는,
    패스워드 생성 디바이스.
  3. 제1항에 있어서,
    상기 패스워드 유닛은 추가로, 상기 컴퓨터 자원에 대한 패스워드 제약들을 리트리브(retrieve)하고 상기 제1 결합 식별자로부터 최종 패스워드를 결정하도록 구성되며, 상기 최종 패스워드는 리트리브된 패스워드 제약들을 만족시키는,
    패스워드 생성 디바이스.
  4. 제1항에 있어서,
    상기 식별자 관리자는,
    상기 베이스 어드레스 시스템-식별자를 변경하고, 이에 따라 상기 컴퓨터 자원에 대한 모든 패스워드들을 갱신하도록, 그리고/또는
    상기 사용자 시스템-식별자를 변경하고, 이에 따라 상기 사용자 식별자에 대한 모든 패스워드들을 갱신하도록
    구성되는,
    패스워드 생성 디바이스.
  5. 제1항에 있어서,
    상기 패스워드 생성 디바이스는, 제1 로그인 제공자(250)와 상기 사용자 디바이스 사이에서 인터페이스하도록 구성된 로그인 제공자 유닛(150)을 포함하고,
    상기 제1 로그인 제공자는 제1 오리지널 사용자 식별자를 제공하고,
    상기 로그인 제공자 유닛은 상기 제1 오리지널 사용자 식별자로부터 상기 사용자 식별자를 획득하고 이를 상기 사용자 디바이스에 전송하도록 구성되는,
    패스워드 생성 디바이스.
  6. 제5항에 있어서,
    상기 로그인 제공자 유닛은 제2 로그인 제공자(260)와 상기 사용자 디바이스 사이에서 인터페이스하도록 구성되고, 상기 제2 로그인 제공자는 제2 오리지널 사용자 식별자를 제공하고,
    상기 로그인 제공자 유닛은 상기 제2 오리지널 사용자 식별자로부터 추가의 사용자 식별자를 획득하고 이를 상기 사용자 디바이스에 전송하도록 구성되고,
    상기 식별자 관리자는 사용자 식별자 정정 팩터를 저장하도록 구성되고,
    상기 패스워드 생성 디바이스는 상기 사용자 식별자 정정 팩터를 상기 추가의 사용자 식별자에 적용하여 이를 상기 사용자 식별자에 매핑시키는,
    패스워드 생성 디바이스.
  7. 제2항에 있어서,
    상기 식별자 관리자는 패스워드 정정 팩터를 저장하고,
    상기 패스워드 생성 디바이스는 상기 패스워드 정정 팩터를 상기 제2 결합 식별자에 적용하여 이를, 다른 사용자 식별자에 대해 이전에 생성된 추가의 제2 결합 식별자에 매핑시키는,
    패스워드 생성 디바이스.
  8. 제1항에 있어서,
    상기 식별자 관리자는 생성된 패스워드의 해시(hash)를, 선택적으로 상기 컴퓨터 어드레스 또는 베이스 어드레스와 함께, 저장하도록 구성되고,
    상기 패스워드 생성 디바이스는 검증 유닛(160)을 포함하고,
    상기 검증 유닛은, 패스워드 및 선택적으로 컴퓨터 어드레스를 수신하도록 구성된 인터페이스를 포함하고,
    상기 검증 유닛은, 상기 패스워드가 해싱된 형태로 저장되었는지를, 그리고 선택적으로 상기 수신된 컴퓨터 어드레스가 저장된 해싱된 패스워드와 연관된 베이스 어드레스와 매칭하는지를 결정하도록 구성되는,
    패스워드 생성 디바이스.
  9. 제8항에 있어서,
    상기 검증 유닛은,
    해싱된 형태의 상기 패스워드 및 선택적으로 상기 컴퓨터 어드레스를 저장하도록, 그리고
    동일한 패스워드가 여러 번 수신되는지 결정하도록
    추가로 구성되는,
    패스워드 생성 디바이스.
  10. 제1항에 있어서,
    티켓 식별자를 생성된 패스워드에 할당하고, 상기 티켓 식별자, 티켓 제약 및 상기 생성된 패스워드를 저장하도록 구성된 티켓 유닛(170)을 포함하고,
    상기 티켓 유닛은 상기 티켓 식별자를 상기 사용자 디바이스에 전송하도록 구성되고,
    상기 티켓 유닛은,
    상기 컴퓨터 자원으로부터, 수신된 컴퓨터 어드레스 및 수신된 티켓 식별자를 수신하도록, 그리고
    상기 티켓 식별자가 상기 티켓 유닛에 의해 할당되었고, 상기 수신된 컴퓨터 어드레스가 상기 생성된 패스워드와 연관된 베이스 어드레스 및 상기 티켓 제약과 매칭한다는 것을 검증하고, 매칭하다면, 상기 생성된 패스워드를 상기 컴퓨터 자원에 전송하도록
    구성되는,
    패스워드 생성 디바이스.
  11. 제10항에 있어서,
    상기 패스워드 생성 디바이스는 상기 사용자와 연관된 개인 정보를 저장하고,
    상기 티켓 유닛(170)은, 추가의 티켓 식별자를 생성하고, 상기 추가의 티켓 식별자를 상기 사용자와 연관시키도록 구성되고, 성공적인 검증 후에 상기 추가의 티켓 식별자를 상기 컴퓨터 자원에 전송하도록 구성되고,
    상기 티켓 유닛은, 추가로 수신된 티켓 식별자를 수신하고, 상기 추가의 수신된 티켓 식별자가 저장된 추가의 티켓 식별자와 매칭한다는 것을 검증하고, 매칭한다면, 상기 사용자와 연관된 개인 정보를 상기 컴퓨터 자원에 전송하도록 구성되는,
    패스워드 생성 디바이스.
  12. 제1항에 있어서,
    상기 패스워드 생성 디바이스는 등록된 디바이스 식별자들의 리스트를 저장하고,
    상기 입력 유닛은 추가로 사용자 디바이스 식별자를 수신하도록 구성되고,
    상기 패스워드 생성 디바이스는 상기 사용자 디바이스 식별자가 등록되어 있지 않거나 또는 차단되는 경우 패스워드의 생성을 거부하도록 구성되는,
    패스워드 생성 디바이스.
  13. 제1항에 있어서,
    상기 사용자 패스워드는 상기 사용자 또는 사용자 디바이스와 연관된 속성들을 포함하는,
    패스워드 생성 디바이스.
  14. 제13항에 있어서,
    상기 속성들은 바이오메트릭(biometric) 센서로부터 획득된 바이오메트릭 식별자를 포함하는,
    패스워드 생성 디바이스.
  15. 제1항 내지 제14항 중 어느 한 항에 따른 패스워드 생성 디바이스 및 사용자 디바이스를 포함하는 패스워드 생성 시스템으로서,
    상기 사용자 디바이스는 웹 브라우저를 포함하고,
    상기 웹 브라우저는,
    오리지널 사용자 패스워드를 수신하고,
    사용자 패스워드를 획득하기 위해 상기 오리지널 사용자 패스워드를 해싱하고,
    웹 페이지에서 패스워드 필드를 검출하고,
    상기 사용자 식별자, 상기 웹 페이지의 컴퓨터 어드레스 및 상기 사용자 패스워드를 상기 패스워드 생성 디바이스에 전송하도록
    구성되는,
    패스워드 생성 시스템.
  16. 패스워드 생성 방법(400)으로서,
    사용자 디바이스로부터, 컴퓨터 자원에 액세스하기 위한 컴퓨터 어드레스(310, URL1), 상기 사용자 디바이스의 사용자를 표시하는 사용자 식별자(320), 및 사용자 패스워드(330)를 수신하는 단계(410);
    상기 컴퓨터 어드레스를 베이스 어드레스(312)에 매핑하여서, 다수의 컴퓨터 어드레스들(URL1, URL2)이 동일한 베이스 어드레스에 매핑되게 하는 단계(420),
    상기 베이스 어드레스가 식별자 관리자에 등록되어 있는지를 결정하는 단계(430) ― 상기 베이스 어드레스가 등록되어 있지 않다면: 고유한 베이스 어드레스 시스템-식별자(315)를 상기 베이스 어드레스에 할당하고 상기 베이스 어드레스 시스템-식별자와 함께 상기 베이스 어드레스를 저장하고, 상기 베이스 어드레스가 등록되어 있지다면: 상기 베이스 어드레스 시스템-식별자를 획득함 ―;
    상기 사용자 식별자가 상기 식별자 관리자에 등록되어 있는지를 결정하는 단계(440) ― 상기 사용자 식별자가 등록되어 있지 않다면: 고유한 사용자 시스템-식별자(325)를 상기 사용자 식별자에 할당하고 상기 사용자 시스템-식별자와 함께 상기 사용자 식별자를 저장하고, 상기 사용자 식별자가 등록되어 있다면: 상기 사용자 시스템-식별자를 획득함 ―, 및
    상기 베이스 어드레스 시스템-식별자, 상기 사용자 시스템-식별자 및 상기 사용자 패스워드로부터 제1 결합 식별자(340)를 결정하는 단계(450)
    를 포함하는,
    패스워드 생성 방법(400).
  17. 컴퓨터-판독 가능 저장 매체 상에 저장된 컴퓨터 프로그램(1020)으로서,
    상기 컴퓨터 프로그램(1020)은, 상기 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 제16항의 방법을 수행하도록 구성된 컴퓨터 프로그램 명령들을 포함하는,
    컴퓨터 프로그램.
KR1020197002004A 2016-06-23 2017-06-21 패스워드 생성 디바이스 및 패스워드 검증 디바이스 KR102387865B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NL2017032 2016-06-23
NL2017032A NL2017032B1 (en) 2016-06-23 2016-06-23 Password generation device and password verification device
PCT/EP2017/065199 WO2017220636A1 (en) 2016-06-23 2017-06-21 Password generation device and password verification device

Publications (2)

Publication Number Publication Date
KR20190021367A KR20190021367A (ko) 2019-03-05
KR102387865B1 true KR102387865B1 (ko) 2022-04-15

Family

ID=57042939

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197002004A KR102387865B1 (ko) 2016-06-23 2017-06-21 패스워드 생성 디바이스 및 패스워드 검증 디바이스

Country Status (8)

Country Link
US (1) US11947658B2 (ko)
EP (1) EP3476077B1 (ko)
KR (1) KR102387865B1 (ko)
CN (1) CN109417471B (ko)
DK (1) DK3476077T3 (ko)
ES (1) ES2807213T3 (ko)
NL (1) NL2017032B1 (ko)
WO (1) WO2017220636A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10645086B1 (en) * 2016-12-30 2020-05-05 Charles Schwab & Co., Inc. System and method for handling user requests for web services
JP6903529B2 (ja) * 2017-09-11 2021-07-14 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11405375B2 (en) * 2018-09-27 2022-08-02 Lenovo (Singapore) Pte. Ltd. Device and method for receiving a temporary credit token
EP3799683B1 (en) * 2020-03-06 2022-10-05 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and devices for generating and verifying passwords
US20220070000A1 (en) * 2020-08-28 2022-03-03 Red Hat, Inc. Managing passwords for network-accessible service accounts
NL2027136B1 (en) 2020-12-17 2022-07-11 Mindyourpass Holding B V Password management system, device and method of the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006333A (en) 1996-03-13 1999-12-21 Sun Microsystems, Inc. Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server
US20030005299A1 (en) 2001-06-29 2003-01-02 International Business Machines Corporation User authorization management system using a meta-password and method for same
US20040158746A1 (en) 2003-02-07 2004-08-12 Limin Hu Automatic log-in processing and password management system for multiple target web sites
US20120297190A1 (en) 2011-05-19 2012-11-22 Microsoft Corporation Usable security of online password management with sensor-based authentication

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774551A (en) * 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
GB2375414B (en) 2000-01-10 2004-08-11 Sun Microsystems Inc Sharing user names across multiple services
US6996718B1 (en) * 2000-04-21 2006-02-07 At&T Corp. System and method for providing access to multiple user accounts via a common password
US20020083012A1 (en) * 2000-11-16 2002-06-27 Steve Bush Method and system for account management
US7373515B2 (en) * 2001-10-09 2008-05-13 Wireless Key Identification Systems, Inc. Multi-factor authentication system
US20040025026A1 (en) * 2002-08-02 2004-02-05 Karp Alan H. System-specific passwords
AU2003216032A1 (en) * 2002-12-12 2004-06-30 Encentuate Pte Ltd Identity management system for automatic user authentication
CN1251065C (zh) * 2003-11-21 2006-04-12 苏州国芯科技有限公司 一种用于信息安全的嵌入式cpu
US7809130B1 (en) * 2006-06-11 2010-10-05 Elcomsoft Co. Ltd. Password recovery system and method
CN100574524C (zh) * 2006-07-19 2009-12-23 王李琰 一种基于标识的密码技术的短消息认证及可靠分类传递方法
CA2695439A1 (en) * 2007-07-12 2009-01-15 Innovation Investments, Llc Identity authentication and secured access systems, components, and methods
US8397077B2 (en) * 2007-12-07 2013-03-12 Pistolstar, Inc. Client side authentication redirection
CA2665832C (en) * 2009-05-11 2015-12-29 Diversinet Corp. Method and system for authenticating a user of a mobile device
US8443202B2 (en) * 2009-08-05 2013-05-14 Daon Holdings Limited Methods and systems for authenticating users
WO2011063014A1 (en) * 2009-11-17 2011-05-26 Secureauth Corporation Single sign on with multiple authentication factors
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8868921B2 (en) * 2011-07-20 2014-10-21 Daon Holdings Limited Methods and systems for authenticating users over networks
US8826398B2 (en) * 2011-09-29 2014-09-02 Hewlett-Packard Development Company, L.P. Password changing
EP2706717A1 (en) * 2012-09-11 2014-03-12 Thomson Licensing Method and devices for registering a client to a server
KR101416542B1 (ko) * 2012-12-24 2014-07-09 주식회사 로웸 패스코드 관리 방법 및 장치
KR101513694B1 (ko) * 2013-02-26 2015-04-22 (주)이스톰 Otp 인증 시스템 및 방법
US9009817B1 (en) * 2013-03-12 2015-04-14 Open Invention Network, Llc Virtual smart card to perform security-critical operations
US9197632B2 (en) * 2013-03-15 2015-11-24 Kaarya Llc System and method for account access
BR112015027633A2 (pt) * 2013-04-30 2017-08-22 Token One Pty Ltd Autenticação de usuário
US9225704B1 (en) * 2013-06-13 2015-12-29 Amazon Technologies, Inc. Unified management of third-party accounts
WO2015035396A1 (en) * 2013-09-09 2015-03-12 Layer, Inc. Federated authentication of client computers in networked data communications services callable by applications
MY183609A (en) * 2013-11-27 2021-03-02 Mimos Berhad Method for booting an embedded device from an external usb device
US10475018B1 (en) * 2013-11-29 2019-11-12 Amazon Technologies, Inc. Updating account data for multiple account providers
US9705871B2 (en) * 2013-12-13 2017-07-11 T-Mobile U.S.A., Inc Identity and access management
US9305160B2 (en) * 2014-04-04 2016-04-05 PassedWord LLC Method and system for automatic updating of randomly generated user passwords
JP5690030B1 (ja) * 2014-04-30 2015-03-25 楽天株式会社 情報処理装置、情報処理方法、プログラム及び記録媒体
CN103997445A (zh) * 2014-05-16 2014-08-20 江苏新瑞峰信息科技有限公司 基于rfid的办公物联网控制方法及系统
US9363260B2 (en) * 2014-07-07 2016-06-07 Oracle International Corporation Detecting sharing of passwords for password protected user accounts
CN104283875B (zh) * 2014-09-28 2017-09-12 深圳市中科无软件有限公司 云盘权限管理方法
US10423776B1 (en) * 2015-06-14 2019-09-24 Pepperword Inc. Systems and methods for password-based authentication
US9882887B2 (en) * 2015-06-15 2018-01-30 Airwatch Llc Single sign-on for managed mobile devices
US9652606B2 (en) * 2015-07-06 2017-05-16 Unisys Corporation Cloud-based active password manager
US9824208B2 (en) * 2015-07-06 2017-11-21 Unisys Corporation Cloud-based active password manager
US10462135B2 (en) * 2015-10-23 2019-10-29 Intel Corporation Systems and methods for providing confidentiality and privacy of user data for web browsers
US10055575B2 (en) * 2016-04-22 2018-08-21 Blackberry Limited Smart random password generation
US10469497B2 (en) * 2016-05-26 2019-11-05 Dropbox, Inc. Identifying accounts having shared credentials

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006333A (en) 1996-03-13 1999-12-21 Sun Microsystems, Inc. Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server
US20030005299A1 (en) 2001-06-29 2003-01-02 International Business Machines Corporation User authorization management system using a meta-password and method for same
US20040158746A1 (en) 2003-02-07 2004-08-12 Limin Hu Automatic log-in processing and password management system for multiple target web sites
US20120297190A1 (en) 2011-05-19 2012-11-22 Microsoft Corporation Usable security of online password management with sensor-based authentication

Also Published As

Publication number Publication date
US11947658B2 (en) 2024-04-02
ES2807213T3 (es) 2021-02-22
CN109417471B (zh) 2022-05-27
NL2017032A (en) 2018-01-08
EP3476077B1 (en) 2020-04-22
WO2017220636A1 (en) 2017-12-28
KR20190021367A (ko) 2019-03-05
US20190220590A1 (en) 2019-07-18
EP3476077A1 (en) 2019-05-01
CN109417471A (zh) 2019-03-01
NL2017032B1 (en) 2018-01-19
DK3476077T3 (en) 2020-07-06

Similar Documents

Publication Publication Date Title
KR102387865B1 (ko) 패스워드 생성 디바이스 및 패스워드 검증 디바이스
KR101861026B1 (ko) 비공개 데이터를 보호하는 보안 프록시
US9628282B2 (en) Universal anonymous cross-site authentication
US9529985B2 (en) Global authentication service using a global user identifier
US9065856B2 (en) Securing communication over a network using client system authorization and dynamically assigned proxy servers
WO2019095856A1 (zh) 一种网络身份认证方法、系统及其使用的用户代理设备
EP3432508B1 (en) Computer-implemented method for generating passwords and computer program products of same
JP6374947B2 (ja) 回復機能を有し、かつ復元可能な動的装置識別
US10356053B1 (en) System and method for allowing access to an application or features thereof on each of one or more user devices
Ferry et al. Security evaluation of the OAuth 2.0 framework
US9954853B2 (en) Network security
US20150328119A1 (en) Method of treating hair
Klevjer et al. Extended HTTP digest access authentication
CN104158797A (zh) 口令和标识型密码相集成的用户登录鉴别实施方法
Schwarz et al. Feido: Recoverable FIDO2 tokens using electronic ids
CN109729045B (zh) 单点登录方法、系统、服务器以及存储介质
WO2009066858A1 (en) Personal information management apparatus and personal information management method
US10423776B1 (en) Systems and methods for password-based authentication
McLuskie et al. X. 509 certificate error testing
Baker Authentication and Authorization
Al-Sinani et al. CardSpace-OpenID integration for CardSpace users

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