KR20060066621A - 패스워드 보호 - Google Patents

패스워드 보호 Download PDF

Info

Publication number
KR20060066621A
KR20060066621A KR1020050090321A KR20050090321A KR20060066621A KR 20060066621 A KR20060066621 A KR 20060066621A KR 1020050090321 A KR1020050090321 A KR 1020050090321A KR 20050090321 A KR20050090321 A KR 20050090321A KR 20060066621 A KR20060066621 A KR 20060066621A
Authority
KR
South Korea
Prior art keywords
key pair
asymmetric key
password
public key
asymmetric
Prior art date
Application number
KR1020050090321A
Other languages
English (en)
Other versions
KR101292975B1 (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 KR20060066621A publication Critical patent/KR20060066621A/ko
Application granted granted Critical
Publication of KR101292975B1 publication Critical patent/KR101292975B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

패스워드 보호 시스템 및 방법이 기술된다. 일 양태에서, 비대칭 키 쌍이 패스워드 및 다른 데이터를 결합함으로써 결정론적으로 형성된다. 비대칭 키 쌍의 공개키는 외부 디바이스에 익스포트(export)된다. 비대칭 키 쌍의 프라이비트 키는 외부 디바이스에 대한 후속 인증을 달성하는데 사용된다.
컴퓨팅 디바이스, 프로그램 모듈, 패스워드 보호 모듈, 프로그램 데이터

Description

패스워드 보호{PASSWORD PROTECTION}
도 1은 예시적 패스워드 보호 시스템을 도시한 도면.
도 2는 예시적 패스워드 보호 프로시저를 도시한 도면.
도 3은 디지털 서명 로그온 오퍼레이션을 위한 공개 키 및 프라이비트 키 증명서들을 생성하기 위한 예시적 프로시저를 도시한 도면.
도 4는 패스워드 보호가 전체적으로 또는 부분적으로 구현될 수도 있는 적합한 컴퓨팅 환경의 일례를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
102 : 컴퓨팅 디바이스 104 : 프로그램 모듈
106 : 프로그램 데이터 108 : 패스워드 보호 모듈
112 : 패스워드 118 : 비대칭 키 쌍
120 : 공개 키 증명서 480 : 원격 컴퓨터
본 발명은 패스워드 보호 및 인증에 관한 것이다.
보안 인식 운영 체제는 사용자를 인증하는 기능을 필요로 한다. 사용자 인 증은 여러 가지 방법들로 실행될 수 있다. 가장 간단한 형태의 사용자 인증은 사용자 인증자(authenticator) 및 사용자 아이덴티티의 결합을 근거로 한다. 사용자 인증자는 패스워드와 같이 사용자가 아는 유일한 무언가로부터 유도된다. 보다 최신의 정교한 멀티 팩터 인증 메카니즘들은 또한 사용자가 가진 무언가 - 통상 몇몇 형태의 하드웨어로 표현되는 토큰 - 사용자의 무언가 - 지문 또는 망막 패턴과 같은 생물학적 인증자, 또는 상술된 바들의 결합에 의존한다. 그러나, 멀티 팩터 인증 시스템에서조차도, 패스워드는 특정 오퍼레이션을 위해 사용되어서, 관리 및 저장될 필요가 있다. 패스워드 또는 패스워드에서 유도되는 몇몇 표현을 저장하는 것이 어려운 문제점이다.
패스워드를 저장하기 위해 다양한 기술들이 사용되었지만, 저장된 패스워드를 보다 정교하게 침해하고 침해자에게 유용한 컴퓨터 하드웨어가 보다 신속하게 됨에 따라 상기 기술들은 모두 패스워드를 비적합하게 렌더링하는 특정 결점들을 갖는다. 예를 들어, 패스워드를 저장하는 가장 간단한 방법들 중 하나는 간단하게 패스워드 자체를 저장하는 것이다. 그러나, 이러한 시나리오에서는, 패스워드 리스트 획득을 위해 관리하는 침해자는 모든 패스워드들을 즉시 사용할 수 있다. 이러한 방해받지 않은 액세스와 싸우기 위해, 시스템들은 Rot-13 또는 Base-64를 근거로 한 간단한 수학적 오퍼레이션들로 패스워드를 혼잡하게 하고자 시도했다. 대안으로, 패스워드를 암호화하기 위해 고정형 키가 사용되었다. 그러나, 상기 기술들은 저장된 패스워드 및 알고리즘 정보 또는 고정형 키에 액세스하는 누군가가 클리어 텍스트 패스워드를 쉽게 결정할 수 있기 때문에 쉽게 무의미해질 수 있다.
보다 정교한 원웨이 암호 기능(OWF; one-way cryptographic functions)이 상술된 결점들을 다루기 위해 도입되었다. OWF는 패스워드를 혼잡하게 해서 저장하기 위해 암호 알고리즘을 사용한다. 저장된 패스워드에 대한 가장 일반적인 타입의 침해는 침해자가 패스워드를 추측하고, 적합한 OWF를 사용해서 암호화하며 저장된 값과 비교하는 비이성적 침해 또는 몇몇 타입의 사전적/비이성적 혼합형 침해이다. 두개가 일치하면, 정확한 패스워드가 찾아졌다. 그러나, 특정 OWF 패스워드 암호화 알고리즘은 현재 암호적으로 안전하지 않으며, 현재 암호적으로 안전하다고 생각되더라도, 가까운 미래에, 특히, 분산 협조 침해 앞에서는 안전하지 않을 수 있다.
종래의 OWF 패스워드 혼잡 기술들은 다른 이유들로 인해서도 패스워드를 안전하게 저장하는 기능에 있어서 실제로 한계가 있다. 가장 중요한 문제점은 저장된 인증자(패스워드 해시)가 사용자를 인증하는데 사용되는 값과 동일하다는 점이다. 다시 말해서, 시크리트만이 인증자 - 패스워드 표현 또는 해시 - 이며 표현하는 패스워드가 아니다. 설명을 위해, 용어 "해시"는 패스워드가 혼잡하게 되었거나 아니거나 저장된 패스워드 표현을 나타내는데 사용된다.
온-와이어(on-wire) 패스워드 인증 알고리즘은 무시되며 무용지물이 될 수 있다. 네트워크에서의 인증 시퀀스는 포착되어, 패스워드를 결정하거나 무력화하는데 사용될 수 있다. 포착된 정보가 패스워드 표현 자체에 대해 하나의 추가 암호 변환을 시행했기에 상기 침해가 시도되기 어렵더라도, 안전한 저장 알고리즘을 암호적으로 사용할 수 있으며 온-와이어 알고리즘을 저장된 값의 비이성적 침해에 대한 약점이 있는 채로 놓아 둘 수 있다. 상기 저장된 값은 앞 단락에서 상술된 바와 같이 플레인텍스트 패스워드들 대신 사용될 수 있다.
패스워드 보호 시스템 및 방법이 기술된다. 일 양태에서, 비대칭 키 쌍이 패스워드 및 다른 데이터를 결합함으로써 결정론적으로 형성된다. 비대칭 키 쌍의 공개키는 외부 디바이스에 익스포트(export)된다. 비대칭 키 쌍의 프라이비트 키는 외부 디바이스에 대한 후속 인증을 달성하는데 사용된다.
실제로 모든 종래의 패스워드 저장 시스템들은 간단하게 침해되기 쉽다. 예를 들어, 솔팅되지(salted) 않은 패스워드 해시들은 미리 계산된 해시 침해를 받기 쉽다. 침해자는 특정 패스워드들에 대응하는 패스워드 해시 집합을 미리 계산한다. (솔팅(salting)은 짧은 값을 취해서 해싱 전에 패스워드에 가산하는 프로세스이다). 그 후, 일단 보안이 돌파되고 패스워드 데이터가 획득되었으면, 훔쳐진 해시들은 미리 계산된 해시들과 비교되어 수초 이내에 기본 패스워드가 획득된다. 본래, 이는 "crack once, use everywhere" 침해이며, 종래의 패스워드 침해들이 패스워드를 추측하고 런타임에 해시들을 계산하는 것을 근거로 한다.
몇몇 경우에, 침해자는 시스템을 손상시키기 위해 실제로 패스워드를 바꿔놓을 필요는 없다. 부분적으로, 이는 현존 챌린지-리스판스(challenge-response) 프로토콜들의 구조로 인한 것인데, 저장된 패스워드를 나타내는 해시는 침해자에 의해 직접 사용될 수 있다. 해시를 직접 사용하는 패스워드 침해는 "pass-the-hash( 해시 패스)" 침해로 공지되어 있다. 이는 챌린지-리스판스 인증 시스템에서, 사용된 단독 시크리트가 해시라는 기본 사실에 의존한다. 해시를 가진 침해자는 인증 챌린지에 적합하게 응답하고 패스워드가 해시로 표현된 사용자로서 인증하는 툴에서 해시를 사용할 수 있다. 가상으로 모든 현대 컴퓨터 인증 시스템들은 해시 패스 침해를 받기 쉬우며; 몇몇 인증 시스템들은 다른 인증 시스템들 보다 훨씬 더 침해되기 쉽다. "해시 패스" 침해는 해시 획득에 필요한 것 외의 계산들을 실행할 어떠한 필요성과도 완전히 무관하다. 따라서, 패스워드 저장 시스템이 패스워드 자체 만큼 안전하다는 전형적인 가정들과 대조적으로, 패스워드 저장 시스템은 패스워드 자체만큼 안전하지 않다. 침해자가 해시에 액세스하면, 강력한 패스워드도 약한 패스워드에 대해 임의의 추가 안전성을 제공하지 않는다. 이러한 일이 발생하면, 모든 패스워드 해시들은 자신이 표현하는 플레인텍스트 패스워드와 동일하다.
Rainbow Crack과 같은 최근 툴들은 통상 현존 패스워드 저장 알고리즘의 약점을 강조하는데 사용된다. Rainbow Crack은 오래된 아이디어에 대한 최적화의 유용한 구현이다 - 상기 아이디어는 패스워드를 알기 위해 런타임에 모든 해시들을 계산하는 대신, 해시들이 미리 계산될 수 있다는 아이디어이다. 런타임에, 훔쳐진 해시들은 저장된 해시들과 비교되고 간단한 룩업으로 매치들이 달성될 수 있다. 보다 많은 사람들이 패스워드가 저장되고 사용되는 방법을 연구하기 시작함에 따라, 상기 타입의 침해에 보다 많은 노력이 필요하다고 추측하는 것은 당연하다. 현재, 해시에 액세스하는 침해자 앞에서 상기 패스워드 침해를 물리치는 공지된 방법 들은 스마트 카드 또는 토큰 베이스 인증 시스템을 사용하는 것이다. 그러나, 스마트 카드 구현의 어려움은 스마트 카드가 예견가능한 미래에 패스워드들을 완전히 대체하지 못한다는 점이다.
이하의 패스워드 보호 시스템 및 방법은 예를 들어, 안전한 공개 키들을 암호적으로 사용함으로써, 또한, 특정 사용자를 위해 저장된 것이 사용자를 인증하는데 사용되는 것과 상이함을 보장함으로써 종래의 패스워드 저장 기술에 대한 상술된 단점들 각각을 해결한다. 패스워드 보호 시스템 및 방법의 여타 양태들은 이제부터 도 1 내지 도 4와 관련해서 보다 상세히 후술된다.
예시적 시스템
도 1은 예시적 패스워드 보호 시스템(100)을 도시한다. 컴퓨팅 시스템(100)은 프로그램 모듈(104) 및 프로그램 데이터(106)를 포함하는 컴퓨팅 디바이스(102)를 포함한다. 프로그램 모듈(104)은 예를 들어, 패스워드 보호 모듈(108)을 포함한다. 패스워드 보호 모듈(108)은 패스워드(112)로부터 저장된 패스워드 표현(110)을 생성하기 위해 어떠한 신뢰 메카니즘도 필요하지 않은 의사-증명서 솔루션을 구현한다. 의사-증명서 솔루션은 참 PKI(public-key infrastructure)와 구별되도록 명명된다. PKI에서, 모든 증명서들은 증명서 서버에 의해 발행되고 확실성authenticity) 및 유효성(validity)을 증명하기 위해 증명서 서버에 의해 서명된다. 증명서 서버 증명서가 다른 증명서 서버에 의해 발행될 수 있기 때문에, 전체 시스템은 트리 형태를 취하는 신뢰 계층을 생성한다. 시스템의 에이전트가 트리의 특정 노드를 신뢰하면, 에이전트는 트리의 신뢰 노드 아래의 몇몇 엔티티에 의해 증명서가 발행된 사람은 누구나 신뢰한다. 시스템(100)의 의사-증명서 구현에서, 증명서는 중심 권위자로부터 나오는 것이 아니며, 증명서 서버에 의해 서명되지 않는다. 증명서가 PKI에서 사용되는 형태와 동일한 형태를 취하는데, 이는 단지 공개 키 및 프라이비트 암호 키들의 집합을 팩키지화하는데 편리한 방법일 뿐이다. 그러나, 증명서에서 공개 및 프라이비트 키 쌍을 저장함으로써, 하나의 장점을 얻을 수 있다; 우리 시스템이 PKI를 위해 설계된 현존 인증 시스템들 모두를 생성할 수 있게 한다. 증명서들은 자체적으로 서명되며, 따라서, PKI에서 사용되기에 완전히 유효하며, 신뢰 계층의 파트가 아님을 수호한다.
시스템(100)은 1024-비트, 2048-비트, 4096-비트 시큐리티 등과 같은 키 길이로서 정의된 시큐리티 레벨을 구현한다. 키를 생성하기 위해, 패스워드 보호 모듈(108)은 사용자 식별자(예를 들어, UPN(사용자 주요 이름; User Principal Name) 또는 사용자와 관련된 몇몇 다른 임의 데이터)를 플레인텍스트 패스워드(112)와 결합한다. 상기 결합은 간단한 연결(concatenation)로 구성되거나 두개의 아이템들에 암호 해시를 적용하는 것과 같은 임의의 수의 다른 프로세스들로 구성될 수도 있다. 설명을 위해, 상기 오퍼레이션 결과들은 "다른 데이터"(114)에서 "결합 결과"로서 도시된다. 한 구현에서, (UPN) - 이메일 어드레스 포맷의 시스템 사용자의 이름 - 은 사용자 식별자로서 사용된다. 다른 구현에서, 사용자 식별자는 시스템 사용자를 표현하는 임의의 값이다. 특정 값은 사용 길이와 무관하며 시스템 내에서 일관되고, 예시적 시스템은 모든 가능한 값들을 허용한다. 사용자 식별자는 패스워드들이 동일하더라도 두 사용자들이 동일한 저장 패스워드 값을 갖지 않도록 패스워드를 솔팅하는데 사용된다.
패스워드 보호 모듈(108)은 프라이비트 키 및 관련 공개 키를 생성하기 위해 상기 결합 결과를 사용한다. 한 구현에서, 패스워드 보호 모듈(108)은 시크리트 키 x로서 결합 결과를 사용하고 y = gx mod p로서 관련된 Diffie-Hellman 공개 키를 계산하는데, g 및 p는 사용된 비트 시큐리티 레벨에 대응하는 비트 길이(예를 들어, 1024-비트, 2048-비트 등)의 정수들이다. 정수들은 선정되거나 임의의 것일 수 있다. 한 구현에서, 정수들은 시스템(100)에 걸쳐 상이한 키 길이들의 사용을 허용하는 공개 키 증명서(120)의 파트이다. RSA, DSA, 타원 커브 방법들(Elliptic Curve methods) 등과 같은 다른 키 생성 기술들이 또한 사용될 수 있다.
한 구현에서, 패스워드 보호 모듈(108)은 임의의 희망 공개 키 증명서 포맷을 사용하고, y를 사용자 공개 키로서 사용하고, 파라미터들 g 및 p를 선택적으로 포함해서 공개 키 증명서(120)를 생성한다. 공개 키 증명서는 특정 포맷으로, 사용자 또는 엔티티와 관련된 데이터의 디지털 서명과 함께, 개인 이름/이메일 어드레스/타이틀/전화 번호/등과 같은 아이덴티티 정보와 함께 비대칭 키 쌍("공개 키")의 공개 부분을 포함하는 구조이다. 공개 키 증명서는 또한 아이덴티티 증명서라고 한다. 공개 키 증명서는 인증 서버에 저장된다. 예시적 인증 서버는 도 4의 원격 컴퓨터(480)로서 도시되어 있다. 임의의 디렉토리 또는 사용자 식별 시스템이 공개 키 증명서를 저장하는데 사용될 수 있다. 패스워드 보호 모듈(108)은 가까운 미래에 시스템에서 증명서 베이스 인증의 설정된 규칙들에 따라 사용자/엔티 티를 인증하기 위해 공개 키 증명서(120)를 사용한다. 예시적 인증 세션은 도 2를 참조해서 후술된다.
예시적 프로시저
도 2는 예시적 패스워드 보호 프로시저를 도시한다. 설명을 위해, 도 2의 오퍼레이션들은 도 1의 컴포넌트들과 관련해서 기술된다. (도면들에서, 컴포넌트 참조 부호의 제일 처음 숫자는 컴포넌트가 처음 나타나는 특정 도면을 나타낸다). 블록(202)에서, 패스워드 보호 모듈(108; 도 1)은 플레인텍스트 패스워드(112)와 사용자 식별자를 결합한다. 설명을 위해, 상기 오퍼레이션의 결과들은 "다른 데이터"(114)의 "결합 결과"로서 도시된다. 사용자 식별자 사용은 동일한 패스워드를 갖는 두 사용자들이 상이한 키들을 획득함을 보장하기 위해 솔트(salt)로서 작용한다. 블록(204)에서, 패스워드 보호 모듈(108)은 결합 결과로부터 비대칭 키 쌍(118)(공개 및 프라이비트 키 쌍)을 결정론적으로 생성한다 - 즉, 프로세스는 동일한 입력에 따라 동일한 방법으로 반복될 수 있으며, 동일한 출력을 야기한다.
특히, 패스워드 보호 모듈(108)은 Diffie-Hellman 공개 키 y = gx mod p와 같은 공개 키를 프라이비트 데이터로부터 계산한다. 다른 구현에서, 결합 데이터는 비대칭 키 생성 프로세스의 파트로서 의사 난수 생성기를 결정론적으로 시드(seed)하는데 사용될 수도 있다.
블록(206)에서, 패스워드 보호 모듈(108)은 도 4의 원격 컴퓨터(480)로 표현된 바와 같은 외부 디바이스에 비대칭 키 쌍(118)의 공개 키를 공개한다. 블록 (208)에서, 비대칭 키 쌍의 프라이비트 키는 외부 디바이스에 후속 인증들을 달성하는데 사용된다. 인증은 임의의 타입의 공개 키 베이스 인증 기법을 근거로 한다.
예를 들어, Bellovin/Merritt EKE(Encrypted Key Exchange) 프로토콜들을 갖는 패스워드 보호 시스템 및 방법이 사용될 수 있다. 먼저 EKE 프로토콜의 Diffie-Hellman 버전이 기술된다. 클라이언트 및 서버가 공개 프라임 모듈러스 p및 공개 제너레이터 g를 합의한다고 가정하자. 클라이언트는 랜덤 값 A를 선택하고 순간 Diffie-Hellman 값 X = g^A mod p를 생성하고 상기 값 X를 서버에 송신한다. 서버는 랜덤 값 B를 생성하고 Y = g^B mod p를 생성하고 클라이언트에 의해 해독될 수 있는 방법으로 상기 값을 암호화한다: Z = E(Y). 서버는 또한 강력한 공유 키 K = X^B mod p를 계산한다.
서버는 U = K(B')를 형성하기 위해 강력한 대칭 키 K로 암호화되는 랜덤 논스(nonce) B'를 생성한다. 서버는 클라이언트에 Z 및 U를 송신한다. 클라이언트는 Z를 해독해서 Y를 획득하고 동일한 강력한 공유 키 K = Y^A mod p를 계산한다. 클라이언트는 그 후 랜덤 논스 A'를 생성하고 V = K(A',B')를 서버에 송신한다. 서버는 V를 해독하고 B'가 정확한지를 체크한다. B'가 정확하면, 서버는 W = K(A')를 클라이언트에 송신한다. 클라이언트는 W를 해독하고 A'가 정확한지를 체크한다. A'가 정확하면, 강력한 공유 키 K가 인증되었으며 후속 통신에 사용될 수 있다. 가장 간단한 형태로, 이전 두개의 단락들이 강력한 공유 키 K를 생성하는 Diffie-Hellman 키 교환을 설명했다. 종래에, EKE는 클라이언트 및 서버가 오직 하나의 약한 패스워드만을 공유할 때 사용되며, 암호화(Z=E(Y))가 통상 약한 패스워드를 키로서 사용하는 대칭 암호로 달성된다. EKE가 약한 패스워드에 대한 오프라인 침해를 방지함이 명백하다.
상술된 바에서, 한 구현에서, 패스워드(112)는 약한 패스워드이며 시스템(100)은 약한 패스워드(112)로부터 비대칭 키 쌍(118)을 생성함으로써 EKE를 구현한다.
도 3은 증명서 베이스 로그온을 실행하기 위해 도 1의 비대칭 키 쌍을 근거로 공개/프라이비트 키 증명서들을 생성 및 사용하는 예시적 프로시저를 도시한다. 설명을 위해, 도 3의 오퍼레이션들은 도 1의 컴포넌트들과 관련해서 기술된다. (도면들에서, 컴포넌트 참조 부호의 제일 처음 숫자는 컴포넌트가 처음 나타나는 특정 도면을 나타낸다). 블록(302)에서, 패스워드 보호 모듈(108)은 y를 사용자 공개 키로서 사용해서, 임의의 희망 공개 키 증명서 포맷을 사용해서 공개 키 증명서(120)를 생성한다. 블록(304)에서, 패스워드 보호 모듈(108)은 공개 키 증명서(120)를 인증 서버에 저장한다. 블록(306)에서, 인증 세션 중에, 패스워드 보호 모듈(108)은 오퍼레이션들(202 내지 206)을 실행함으로써 공개-프라이비트 키 쌍(1080)을 계산한다. 블록(308)에서, 패스워드 보호 모듈(108)은 전형적인 디지털 증명서와 함께 사용되는 바와 동일한 인증된 로그온 프로세스를 실행한다. 이는 유용한 임의의 증명서 베이스 로그온 기술을 사용해서 기술적으로 실행될 수 있다. 한 구현에서, 증명서 베이스 로그온 기술은 DSA(Digital Signature Algorithm) 메카니즘이다.
예시적 운영 환경
요구되지 않더라도, 패스워드 보호 시스템 및 방법은 퍼스널 컴퓨터들에 의해 실행되는 컴퓨터 실행 가능 명령들(프로그램 모듈들)의 일반적인 문맥으로 기술된다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 실행하거나 특정 추상 데이터 타입들을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 통상, 시스템 및 방법은 상술된 문맥으로 기술되어 있지만, 후술되는 액션들 및 오퍼레이션들이 하드웨어로 구현될 수도 있다.
도 4는 전체적으로 또는 부분적으로 구현될 수도 있는 패스워드 보호를 위한 예시적 적합한 컴퓨팅 시스템 환경을 도시한다. 예시적 컴퓨팅 환경(400)은 도 1의 예시적 시스템 및 도 2 및 도 3의 오퍼레이션들을 위한 적합한 컴퓨팅 환경의 단지 하나의 일례이며, 본 명세서에 기술된 시스템 및 방법의 기능 또는 용도의 범위에 임의의 제한을 가하려는 의도가 아니다. 컴퓨팅 환경(400)은 컴퓨팅 환경(400)에 도시된 컴포넌트들 중 임의의 한 컴포넌트 또는 그 결합물과 관련해서 임의의 종속성 또는 요구 사항을 갖는 것으로 해석돼서는 안된다.
본 명세서에 기술된 방법 및 시스템은 다수의 다른 범용 또는 특별 목적 컴퓨팅 시스템 환경 또는 구성으로 동작될 수 있다. 사용하기에 적합할 수도 있는 공지된 컴퓨팅 시스템들, 환경들 및/또는 구성들의 일례들은 퍼스널 컴퓨터, 서버 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서-베이스 시스템, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상술된 시스템들 또는 디바이스들 중 임의의 시스템 또는 디바이스를 포함하는 분산 컴퓨팅 환경들 등을 포함하지만, 이들로만 제한되 지 않는다. 프레임워크의 콤팩트 또는 부집합 버전들은 핸드헬드 컴퓨터, 또는 다른 컴퓨팅 디바이스들과 같은 제한된 리소스들의 클라이언트들로 구현될 수도 있다. 본 발명은 통신 네트워크를 통해 링크된 원격 프로세싱 디바이스들에 의해 태스크들이 실행되는 분산 컴퓨팅 환경에서 구현된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 기억 장치들에 모두 위치할 수도 있다.
도 4를 참조해서, 예시적 패스워드 보호 시스템은 예를 들면, 도 1의 시스템(100)을 구현하는 컴퓨터(410) 형태의 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터(410)의 후술되는 양태들은 도 1의 클라이언트 컴퓨팅 디바이스(102)의 예시적 구현들이다. 컴퓨터(410)의 컴포넌트들은 프로세싱 유닛(420), 시스템 메모리(430), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들을 프로세싱 유닛(420)에 결합시키는 시스템 버스(421)를 포함할 수도 있는데, 이들로만 제한되지 않는다. 시스템 버스(421)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 아키텍처들 중 임의의 아키텍처를 사용하는 로컬 버스를 포함하는 수개의 타입들의 버스 구조들 중 임의의 버스 구조일 수 있다. 예를 들어, 버스 아키텍처들은 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메저닌 버스로 공지된 PCI(Peripheral Component Interconnect) 버스를 포함할 수도 있는데, 이들로만 제한되지 않는다.
컴퓨터(410)는 통상 다양한 컴퓨터 판독 가능 매체들을 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(410)에 의해 액세스될 수 있는 임의의 유용한 매체들일 수 있으며, 휘발성 및 비휘발성 매체들, 탈착가능 및 탈착불가 매체들을 모두 포함한다. 예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 기억 매체 및 통신 매체를 포함할 수도 있는데, 이들로만 제한되지는 않는다. 컴퓨터 기억 매체는 컴퓨터 판독 가능 명령들, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보를 기억하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 탈착가능 및 탈착불가 매체들을 포함한다. 컴퓨터 기억 매체들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광 디스크 스토리지, 자기 카셋트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 기억 장치들, 또는 희망 정보를 기억하는데 사용될 수 있고 컴퓨터(410)에 의해 액세스될 수 있는 임의의 다른 매체들을 포함하는데, 이들로만 제한되지 않는다.
통신 매체는 통상 컴퓨터 판독 가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 반송파 또는 다른 전송 메카니즘과 같이 변조된 데이터 신호로 된 다른 데이터를 포함하며, 임의의 정보 전달 매체들을 포함한다. 용어 "변조된 데이터 신호"는 정보를 신호로 인코드하는 방식으로 설정되거나 변경된 특징들 중 하나 이상의 특징을 갖는 신호를 의미한다. 예를 들어, 통신 매체는, 유선 네트워크 또는 다이렉트-와이어드 커넥션과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체들과 같은 무선 매체를 포함하는데, 이들로만 제한되지 않는다. 상술된 바들의 임의의 결합도 컴퓨터 판독 가능 매체 범위 내에 포함된다.
시스템 메모리(430)는 판독 전용 메모리(ROM; 431) 및 랜덤 액세스 메모리(RAM; 432)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 기억 매체들을 포함한다. 예를 들어, 시동 중과 같이, 컴퓨터(410) 내의 소자들 간의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입출력 시스템(BIOS; 433)은 통상 ROM(431)에 기억된다. RAM(432)은 통상 즉시 액세스될 수 있으며 및/또는 프로세싱 유닛(420)에 의해 현재 동작 중인 데이터 및/또는 프로그램 모듈들을 포함한다. 도 4는 예를 들어, 운영 체제(434), 애플리케이션 프로그램(435), 다른 프로그램 모듈(436) 및 프로그램 데이터(437)를 도시하고 있지만, 이들로만 제한되지 않는다.
컴퓨터(410)는 또한 다른 탈착가능/탈착불가, 휘발성/비휘발성 컴퓨터 기억 매체들을 포함할 수도 있다. 도 4는 단지 일례로서, 탈착불가 비휘발성 자기 매체 판독 또는 기록용 하드 디스크 드라이브(441), 탈착가능 비휘발성 자기 디스크(452) 판독 또는 기록용 자기 디스크 드라이브(451), 및 CD ROM 또는 다른 광 매체들과 같은 탈착가능 비휘발성 광 디스크(456) 판독 또는 기록용 광 디스크 드라이브(455)를 도시한다. 예시적 운영 환경에서 사용될 수 있는 다른 탈착가능/탈착불가, 휘발성/비휘발성 컴퓨터 기억 매체는 자기 테이프 카셋트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하는데, 이들로만 제한되지 않는다. 하드 디스크 드라이브(441)는 통상 인터페이스(440)와 같은 탈착불가 메모리 인터페이스를 통해 시스템 버스(421)에 접속되고, 자기 디스크 드라이브(451) 및 광 디스크 드라이브(455)는 통상 인터페이스(450)와 같은 탈착가능 메모리 인터페이스에 의해 시스템 버스(421)에 접속된다.
상술되고 도 4에 도시된 드라이브들 및 관련 컴퓨터 기억 매체들은 컴퓨터 판독 가능 명령들, 데이터 구조들, 프로그램 모듈들, 및 컴퓨터(410)용 다른 데이 터를 위한 스토리지를 제공한다. 도 4에서, 예를 들어, 하드 디스크 드라이브(441)는 운영 체제(444), 애플리케이션 프로그램들(445), 다른 프로그램 모듈들(446), 및 프로그램 데이터(447)를 기억하는 것으로 도시되어 있다. 상기 컴포넌트들은 운영 체제(434), 애플리케이션 프로그램들(435), 다른 프로그램 모듈들(436), 및 프로그램 데이터(437)와 동일할 수도 상이할 수도 있음에 유의한다. 애플리케이션 프로그램들(445)은 예를 들어, 도 1의 프로그램 모듈(104)을 포함한다. 프로그램 데이터(447)는 예를 들어, 도 1의 프로그램 데이터(106)를 포함한다. 운영 체제(444), 애플리케이션 프로그램들(445), 다른 프로그램 모듈들(446) 및 프로그램 데이터(447)는 최소한 상이한 복사본들임을 설명하기 위해 상이한 번호들이 주어진다.
한 구현에서, 사용자는 키보드(462) 및 포인팅 디바이스(461)와 같은 입력 장치들을 통해 컴퓨터(410)에 커맨드 및 정보를 입력할 수도 있다. 포인팅 디바이스(461)는 통상 마우스, 트랙볼, 또는 터치 패드이다. 다른 입력 장치들(도시되지 않음)은 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수도 있다. 여타 입력 장치들은 종종 시스템 버스(421)에 결합된 사용자 입력 인터페이스(460)를 통해 프로세싱 유닛(420)에 접속되지만, 병렬 포트, 게임 포트, 1394/파이어와이어, 가속 그래픽스 포트, 또는 USB(universal serial bus)와 같은 다른 인터페이스 및 버스 구조들에 의해 접속될 수도 있다.
컴퓨터(410)는 원격 컴퓨터(480)와 같은 하나 이상의 원격 컴퓨터들로의 로지컬 커넥션들을 사용해서 네트워크 또는 분산 환경에서 동작한다. 원격 컴퓨터 (480)는 퍼스널 컴퓨터, 서버, 루터, 네트워크 PC, 이동형 컴퓨팅 디바이스, 피어 디바이스, 또는 다른 공통 네트워크 노드일 수 있으며, 메모리 기억 장치(481)만이 도 4에 도시되어 있지만, 특정 구현의 기능으로서, 컴퓨터(410)와 관련해서 상술된 소자들 중 다수 또는 전부를 통상 포함할 수도 있다. 도 4에 도시된 로지컬 커넥션들은 근거리 통신망(LAN; 471) 및 광역 통신망(WAN; 473)을 포함하는데, 다른 네트워크들을 포함할 수도 있다. 네트워크 환경은 사무실에서 흔한 것으로, 기업간 컴퓨터 네트워크, 인트라넷 및 인터넷이다.
LAN 네트워크 환경에서 사용될 때, 컴퓨터(410)는 네트워크 인터페이스 또는 어댑터(470)를 통해 LAN(471)에 접속된다. WAN 네트워크 환경에서 사용될 때, 컴퓨터(410)는 인터넷과 같은 WAN(473)을 통한 통신 설정을 위해 모뎀(472) 또는 다른 수단을 통상 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(472)은 사용자 입력 인터페이스(460) 또는 다른 적합한 메카니즘을 통해 시스템 버스(121)에 접속될 수도 있다. 네트워크 환경에서, 컴퓨터(410)와 관련해서 도시된 프로그램 모듈들, 또는 그 일부들은 원격 메모리 기억 장치에 기억될 수도 있다. 예를 들어, 도 4는 메모리 디바이스(481)에 상주하는 것으로 원격 애플리케이션 프로그램들(485)을 도시하고 있지만, 이들로만 제한되지 않는다. 도시된 네트워크 커넥션들은 일례이며, 컴퓨터들 간에 통신 링크를 설정하는 다른 수단이 사용될 수도 있다.
패스워드 보호 시스템 및 방법이 구조적 특징 및/또는 방법론적 오퍼레이션들 또는 액션들에 특정한 언어로 기술되었지만, 첨부된 청구항들에서 정의된 구현들은 기술된 특정 기능 또는 액션으로만 반듯이 제한되는 것은 아님을 알 것이다. 따라서, 특정 기능 및 오퍼레이션은 청구된 발명을 구현하는 예시적 형태들로서 기술된다.
본 발명에 따른 패스워드 보호 시스템 및 방법은 예를 들어, 안전한 공개 키들을 암호적으로 사용함으로써, 또한, 특정 사용자를 위해 저장된 것이 사용자를 인증하는데 사용되는 것과 상이함을 보장함으로써 종래의 패스워드 저장 기술에 대한 상술된 단점들을 해결한다.

Claims (39)

  1. 패스워드 및 다른 데이터의 결합에 의해 비대칭 키 쌍을 결정론적으로 형성하는 단계와,
    상기 비대칭 키 쌍의 공개 키를 외부 디바이스에 익스포트하는 단계와,
    상기 비대칭 키 쌍의 프라이비트 키를 이용하여 외부 디바이스에 대한 후속 인증을 행하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 비대칭 키 쌍은, Diffie-Hellman, RSA, DSA, 또는 비대칭 키 쌍을 생성하기 위한 다른 임의의 적합한 알고리즘에 기초하는 방법.
  3. 제1항에 있어서,
    상기 패스워드는 플레인텍스트 패스워드인 방법.
  4. 제1항에 있어서,
    상기 패스워드는 암호 키 교환 프로토콜들의 함수로서 생성된 약한 패스워드인 방법.
  5. 제1항에 있어서,
    상기 다른 데이터는 사용자 주요 이름(User Principal Name)이거나 사용자에게 실제로 유일한 다른 값인 방법.
  6. 제1항에 있어서,
    상기 비대칭 키 쌍을 결정론적으로 형성하는 단계는,
    상기 패스워드 및 다른 데이터를 연결(concatenate)하는 단계, 또는
    암호 기능을 통해 상기 패스워드 및 다른 데이터를 결합하는 단계
    를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 비대칭 키 쌍을 결정론적으로 형성하는 단계는, 상기 결합에 의해 의사 난수 생성기를 시드(seed)하여 상기 비대칭 키 쌍을 생성하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 익스포트 단계에서, 상기 공개 키는 자체 서명 증명서에서 익스포트되거나, 암호화되는 방법.
  9. 제1항에 있어서,
    상기 외부 디바이스는 서버인 방법.
  10. 제1항에 있어서,
    상기 공개 키 및 외부 디바이스와 관련된 사용자에 의해 공유되는 공통 시크리트 또는 패스워드로 상기 공개 키를 인증하는 단계를 더 포함하는 방법.
  11. 제1항에 있어서,
    상기 비대칭 키 쌍의 공개 키에 기초하여 공개 키 증명서를 생성하는 단계를 더 포함하는 방법.
  12. 제1항에 있어서,
    상기 비대칭 키 쌍은 제1 비대칭 키 쌍이며,
    상기 방법은,
    상기 비대칭 키 쌍에 기초하여 공개 키 증명서를 공식화하는 단계와,
    상기 공개 키 증명서를 인증 서버에 저장하는 단계와,
    인증 세션에 응답하여, 상기 제1 비대칭 키 쌍을 생성하는데 사용되는 오퍼레이션들에 의해 제2 비대칭 키 쌍을 생성함으로써 디지털 서명 로그온 프로세스를 실행하는 단계
    를 더 포함하는 방법.
  13. 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령들을 포함하는 컴퓨터 판독 가능 매체로서, 상기 명령들이,
    패스워드 및 다른 데이터의 결합에 의해 비대칭 키 쌍을 결정론적으로 형성하는 단계와,
    상기 비대칭 키 쌍의 공개 키를 외부 디바이스에 익스포트하는 단계; 및
    상기 비대칭 키 쌍의 프라이비트 키를 이용하여 외부 디바이스에 대한 후속 인증을 행하는 단계를 수행하는 컴퓨터 판독 가능 매체.
  14. 제13항에 있어서,
    상기 비대칭 키 쌍은 Diffie-Hellman, RSA, DSA, 또는 비대칭 키 쌍을 생성하기 위한 다른 임의의 다른 적합한 알고리즘에 기초하는 컴퓨터 판독 가능 매체.
  15. 제13항에 있어서,
    상기 패스워드는 플레인텍스트 패스워드인 컴퓨터 판독 가능 매체.
  16. 제13항에 있어서,
    상기 패스워드는 암호 키 교환 프로토콜들의 함수로서 생성된 약한 패스워드인 컴퓨터 판독 가능 매체.
  17. 제13항에 있어서,
    상기 다른 데이터는 사용자 주요 이름이거나 사용자에게 실제로 유일한 다른 값인 컴퓨터 판독 가능 매체.
  18. 제13항에 있어서,
    상기 비대칭 키 쌍을 결정론적으로 형성하는 단계를 수행하기 위한 컴퓨터 프로그램 명령들은,
    상기 패스워드 및 다른 데이터를 연결(concatenate)하는 단계, 또는
    암호 기능을 통해 상기 패스워드 및 다른 데이터를 결합하는 단계
    를 더 포함하는 컴퓨터 판독 가능 매체.
  19. 제13항에 있어서,
    상기 비대칭 키 쌍을 결정론적으로 형성하는 단계를 수행하기 위한 컴퓨터 프로그램 명령들은,
    상기 결합에 의해 의사 난수 생성기를 시드(seed)하여 상기 비대칭 키 쌍을 생성하는 명령들을 더 포함하는 컴퓨터 판독 가능 매체.
  20. 제13항에 있어서,
    상기 익스포트 단계를 위한 컴퓨터 프로그램 명령들은, 자체 서명 증명서에서의 공개 키 또는 암호화된 공개 키를 익스포트하는 명령들을 더 포함하는 컴퓨터 판독 가능 매체.
  21. 제13항에 있어서,
    상기 외부 디바이스는 서버인 컴퓨터 판독 가능 매체.
  22. 제13항에 있어서,
    상기 공개 키 및 외부 디바이스와 관련된 사용자에 의해 공유되는 공통 시크리트 또는 패스워드로 상기 공개 키를 인증하기 위한 컴퓨터 프로그램 명령들을 더 포함하는 컴퓨터 판독 가능 매체.
  23. 제13항에 있어서,
    상기 비대칭 키 쌍의 공개 키에 기초하여 공개 키 증명서를 생성하기 위한 컴퓨터 프로그램 명령들을 더 포함하는 컴퓨터 판독 가능 매체.
  24. 제13항에 있어서,
    상기 비대칭 키 쌍은 제1 비대칭 키 쌍이며,
    상기 컴퓨터 프로그램 명령들은,
    상기 비대칭 키 쌍에 기초하여 공개 키 증명서를 공식화하는 단계와,
    상기 공개 키 증명서를 인증 서버에 저장하는 단계와,
    인증 세션에 응답하여, 상기 제1 비대칭 키 쌍을 생성하는데 사용되는 오퍼레이션들에 의해 제2 비대칭 키 쌍을 생성함으로써 디지털 서명 로그온 프로세스를 실행하는 단계
    를 수행하기 위한 명령들을 더 포함하는 컴퓨터 판독 가능 매체.
  25. 컴퓨팅 디바이스로서,
    프로세서와,
    상기 프로세서에 접속된 메모리
    를 포함하고,
    상기 메모리는,
    패스워드 및 다른 데이터의 결합에 의해 비대칭 키 쌍을 결정론적으로 형성하는 단계와,
    상기 비대칭 키 쌍의 공개 키를 외부 디바이스에 익스포트하는 단계와,
    상기 비대칭 키 쌍의 프라이비트 키를 이용하여 외부 디바이스에 대한 후속 인증을 행하는 단계
    를 수행하도록 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령들을 포함하는 컴퓨팅 디바이스,
  26. 제25항에 있어서,
    상기 비대칭 키 쌍은 Diffie-Hellman, RSA, DSA, 또는 비대칭 키 쌍을 생성하기 위한 다른 임의의 적합한 알고리즘에 기초하는 컴퓨팅 디바이스.
  27. 제25항에 있어서,
    상기 패스워드는 플레인텍스트 패스워드인 컴퓨팅 디바이스.
  28. 제25항에 있어서,
    상기 패스워드는 암호 키 교환 프로토콜들의 함수로서 생성된 약한 패스워드인 컴퓨팅 디바이스.
  29. 제25항에 있어서,
    상기 다른 데이터는 사용자 주요 이름이거나 사용자에게 실제로 유일한 다른 값인 컴퓨팅 디바이스.
  30. 제25항에 있어서,
    상기 비대칭 키 쌍을 결정론적으로 형성하는 단계를 수행하기 위한 컴퓨터 프로그램 명령들은,
    상기 패스워드 및 다른 데이터를 연결하는 단계, 또는
    암호 기능을 통해 상기 패스워드 및 다른 데이터를 결합하는 단계
    를 수행하기 위한 명령들을 더 포함하는 컴퓨팅 디바이스.
  31. 제25항에 있어서,
    상기 비대칭 키 쌍을 결정론적으로 형성하는 단계를 수행하기 위한 컴퓨터 프로그램 명령들은, 상기 결합에 의해 의사 난수 생성기를 시드(seed)하여 상기 비대칭 키 쌍을 생성하는 단계를 수행하기 위한 명령들을 더 포함하는 컴퓨팅 디바이스.
  32. 제25항에 있어서,
    상기 익스포트를 위한 컴퓨터 프로그램 명령들은, 자체 서명 증명서에서의 공개 키 또는 암호화된 공개 키를 익스포트하는 명령들을 더 포함하는 컴퓨팅 디바이스.
  33. 제25항에 있어서,
    상기 외부 디바이스는 서버인 컴퓨팅 디바이스.
  34. 제25항에 있어서,
    상기 공개 키 및 외부 디바이스와 관련된 사용자에 의해 공유되는 공통 시크리트 또는 패스워드로 상기 공개 키를 인증하기 위한 컴퓨터 프로그램 명령들을 더 포함하는 컴퓨팅 디바이스.
  35. 제25항에 있어서,
    상기 비대칭 키 쌍의 공개 키에 기초하여 공개 키 증명서를 생성하기 위한 컴퓨터 프로그램 명령들을 더 포함하는 컴퓨팅 디바이스.
  36. 제25항에 있어서,
    상기 비대칭 키 쌍이 제1 비대칭 키 쌍이며,
    상기 컴퓨터 프로그램 명령들은,
    상기 비대칭 키 쌍에 기초하여 공개 키 증명서를 공식화하는 단계와,
    상기 공개 키 증명서를 인증 서버에 저장하는 단계와,
    인증 세션에 응답하여, 상기 제1 비대칭 키 쌍을 생성하는데 사용되는 오퍼레이션들에 의해 제2 비대칭 키 쌍을 생성함으로써 디지털 서명 로그온 프로세스를 실행하는 단계
    를 수행하기 위한 명령들을 더 포함하는 컴퓨팅 디바이스.
  37. 컴퓨팅 디바이스로서,
    패스워드와 다른 데이터의 결합에 의해 비대칭 키 쌍을 결정론적으로 형성하는 형성 수단과,
    상기 비대칭 키 쌍의 공개 키를 외부 디바이스에 익스포트하는 익스포트 수단과,
    상기 비대칭 키 쌍의 프라이비트 키를 이용하여 외부 디바이스에 대한 후속 인증을 행하는 인증 수단
    을 포함하는 컴퓨팅 디바이스.
  38. 제37항에 있어서,
    상기 비대칭 키 쌍의 공개 키에 기초하여 공개 키 증명서를 생성하는 생성 수단을 더 포함하는 컴퓨팅 디바이스.
  39. 제37항에 있어서,
    상기 비대칭 키 쌍은 제1 비대칭 키 쌍이며,
    상기 컴퓨팅 디바이스는,
    상기 비대칭 키 쌍에 기초하여 공개 키 증명서를 생성하는 공식화 수단과,
    상기 공개 키 증명서를 인증 서버에 저장하는 단계와,
    인증 세션에 응답하여, 상기 제1 비대칭 키 쌍을 생성하는데 사용되는 오퍼레이션들에 의해 제2 비대칭 키 쌍을 생성하는 생성 수단
    을 더 포함하는 컴퓨팅 디바이스.
KR1020050090321A 2004-11-17 2005-09-28 패스워드 보호 KR101292975B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/990,798 2004-11-17
US10/990,798 US7602910B2 (en) 2004-11-17 2004-11-17 Password protection

Publications (2)

Publication Number Publication Date
KR20060066621A true KR20060066621A (ko) 2006-06-16
KR101292975B1 KR101292975B1 (ko) 2013-08-02

Family

ID=35534213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050090321A KR101292975B1 (ko) 2004-11-17 2005-09-28 패스워드 보호

Country Status (5)

Country Link
US (1) US7602910B2 (ko)
EP (1) EP1659475B1 (ko)
JP (1) JP4914051B2 (ko)
KR (1) KR101292975B1 (ko)
CN (1) CN1777096B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100981144B1 (ko) * 2007-04-17 2010-09-10 브로드콤 코포레이션 시스템 온 칩의 보안 인증 방법 및 장치

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284942B2 (en) * 2004-08-24 2012-10-09 Microsoft Corporation Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
US7992203B2 (en) 2006-05-24 2011-08-02 Red Hat, Inc. Methods and systems for secure shared smartcard access
US8364952B2 (en) 2006-06-06 2013-01-29 Red Hat, Inc. Methods and system for a key recovery plan
US8098829B2 (en) 2006-06-06 2012-01-17 Red Hat, Inc. Methods and systems for secure key delivery
US8332637B2 (en) 2006-06-06 2012-12-11 Red Hat, Inc. Methods and systems for nonce generation in a token
US7822209B2 (en) 2006-06-06 2010-10-26 Red Hat, Inc. Methods and systems for key recovery for a token
US8495380B2 (en) 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
US8180741B2 (en) 2006-06-06 2012-05-15 Red Hat, Inc. Methods and systems for providing data objects on a token
US9769158B2 (en) 2006-06-07 2017-09-19 Red Hat, Inc. Guided enrollment and login for token users
US8707024B2 (en) 2006-06-07 2014-04-22 Red Hat, Inc. Methods and systems for managing identity management security domains
US8412927B2 (en) 2006-06-07 2013-04-02 Red Hat, Inc. Profile framework for token processing system
US8589695B2 (en) 2006-06-07 2013-11-19 Red Hat, Inc. Methods and systems for entropy collection for server-side key generation
US8099765B2 (en) 2006-06-07 2012-01-17 Red Hat, Inc. Methods and systems for remote password reset using an authentication credential managed by a third party
US8806219B2 (en) 2006-08-23 2014-08-12 Red Hat, Inc. Time-based function back-off
US8787566B2 (en) * 2006-08-23 2014-07-22 Red Hat, Inc. Strong encryption
US8977844B2 (en) 2006-08-31 2015-03-10 Red Hat, Inc. Smartcard formation with authentication keys
US9038154B2 (en) 2006-08-31 2015-05-19 Red Hat, Inc. Token Registration
US8074265B2 (en) 2006-08-31 2011-12-06 Red Hat, Inc. Methods and systems for verifying a location factor associated with a token
US8356342B2 (en) 2006-08-31 2013-01-15 Red Hat, Inc. Method and system for issuing a kill sequence for a token
US20080123842A1 (en) * 2006-11-03 2008-05-29 Nokia Corporation Association of a cryptographic public key with data and verification thereof
US8418235B2 (en) * 2006-11-15 2013-04-09 Research In Motion Limited Client credential based secure session authentication method and apparatus
US20080118059A1 (en) * 2006-11-22 2008-05-22 Research In Motion Limited System and method for secure record protocol using shared knowledge of mobile user credentials
EP1926278B1 (en) * 2006-11-22 2009-04-01 Research In Motion Limited System and method for secure record protocol using shared knowledge of mobile user credentials
US8693690B2 (en) 2006-12-04 2014-04-08 Red Hat, Inc. Organizing an extensible table for storing cryptographic objects
US8607070B2 (en) * 2006-12-20 2013-12-10 Kingston Technology Corporation Secure storage system and method of use
US8813243B2 (en) 2007-02-02 2014-08-19 Red Hat, Inc. Reducing a size of a security-related data object stored on a token
US8639940B2 (en) 2007-02-28 2014-01-28 Red Hat, Inc. Methods and systems for assigning roles on a token
US8832453B2 (en) 2007-02-28 2014-09-09 Red Hat, Inc. Token recycling
US9081948B2 (en) 2007-03-13 2015-07-14 Red Hat, Inc. Configurable smartcard
US8499168B2 (en) * 2007-05-09 2013-07-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8527781B2 (en) * 2007-05-09 2013-09-03 Kingston Technology Corporation Secure and scalable solid state disk system
US8010768B2 (en) * 2007-05-09 2011-08-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8302167B2 (en) * 2008-03-11 2012-10-30 Vasco Data Security, Inc. Strong authentication token generating one-time passwords and signatures upon server credential verification
US8140855B2 (en) * 2008-04-11 2012-03-20 Microsoft Corp. Security-enhanced log in
CN101917427A (zh) * 2010-08-10 2010-12-15 电子科技大学 一种将非认证密钥交换协议转化为认证的密钥交换协议的方法
US8918853B2 (en) 2011-06-29 2014-12-23 Sharp Laboratories Of America, Inc. Method and system for automatic recovery from lost security token on embedded device
US20130290733A1 (en) * 2012-04-26 2013-10-31 Appsense Limited Systems and methods for caching security information
US20130290734A1 (en) * 2012-04-26 2013-10-31 Appsense Limited Systems and methods for caching security information
US8954735B2 (en) * 2012-09-28 2015-02-10 Intel Corporation Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware
US8897450B2 (en) * 2012-12-19 2014-11-25 Verifyle, Inc. System, processing device, computer program and method, to transparently encrypt and store data objects such that owners of the data object and permitted viewers are able to view decrypted data objects after entering user selected passwords
CN103973651B (zh) * 2013-02-01 2018-02-27 腾讯科技(深圳)有限公司 基于加盐密码库的账户密码标识设置、查询方法及装置
US9106412B2 (en) * 2013-03-08 2015-08-11 Mcafee, Inc. Data protection using programmatically generated key pairs from a master key and a descriptor
CA2920503A1 (en) * 2013-08-09 2015-02-12 Mypersonaldocs Pty Ltd Controlling essential life data
CN104579668B (zh) * 2013-10-28 2018-12-11 深圳市腾讯计算机系统有限公司 一种用户身份的验证方法和密码保护装置及验证系统
EP2905718A1 (en) 2014-02-05 2015-08-12 Thomson Licensing Device and method certificate generation
CN104821884B (zh) * 2015-05-14 2019-01-22 收付宝科技有限公司 基于非对称密钥体系的私钥保护方法
CN105245343B (zh) * 2015-09-22 2018-09-14 华南理工大学 一种基于多变量密码技术的在线离线签名系统及方法
JP2018170642A (ja) * 2017-03-30 2018-11-01 株式会社アクセル 復号装置、鍵作成装置、暗号化装置、暗号処理システム、復号方法及び復号プログラム
CN107070909A (zh) * 2017-04-01 2017-08-18 广东欧珀移动通信有限公司 信息发送方法、信息接收方法、装置及系统
US10776480B2 (en) * 2018-04-02 2020-09-15 International Business Machines Corporation Producing volatile password hashing algorithm salts from hardware random number generators
CN109145585B (zh) * 2018-08-23 2020-09-22 北京神州绿盟信息安全科技股份有限公司 一种检测网站存在弱口令的方法及装置
US10970372B2 (en) 2018-11-01 2021-04-06 Microsoft Technology Licensing, Llc Revocable biometric print based identification
JP6719789B2 (ja) * 2019-07-09 2020-07-08 株式会社アクセル 暗号処理システム、暗号処理方法及び暗号処理プログラム
US11438378B1 (en) * 2019-12-18 2022-09-06 NortonLifeLock Inc. Systems and methods for protecting against password attacks by concealing the use of honeywords in password files
CN111711624B (zh) * 2020-06-15 2022-06-21 华中师范大学 安全云口令管理器控制系统、控制方法、设备及存储介质
US20220141029A1 (en) * 2020-10-29 2022-05-05 Microsoft Technology Licensing, Llc Using multi-factor and/or inherence-based authentication to selectively enable performance of an operation prior to or during release of code
US20230177161A1 (en) * 2021-12-08 2023-06-08 Hewlett-Packard Development Company, L.P. Bios change requests signings based on passwords

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08274769A (ja) * 1995-03-28 1996-10-18 Toppan Printing Co Ltd 対称暗号鍵の配送システムおよび通信端末
US5734718A (en) * 1995-07-05 1998-03-31 Sun Microsystems, Inc. NIS+ password update protocol
US5666415A (en) * 1995-07-28 1997-09-09 Digital Equipment Corporation Method and apparatus for cryptographic authentication
US6230269B1 (en) * 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
WO2000016190A1 (en) * 1998-09-17 2000-03-23 Index Systems, Inc. Apparatus and methods for unlocking password protected software systems to recover master password
JP4764536B2 (ja) * 1998-11-17 2011-09-07 株式会社リコー 画像計測機器
WO2000045241A2 (en) * 1999-01-29 2000-08-03 General Instrument Corporation Self-generation of certificates using a secure microprocessor in a device for transferring digital information
US6742129B1 (en) * 1999-12-08 2004-05-25 Carrier Corporation Software security mechanism
US6983368B2 (en) 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
GB0028278D0 (en) * 2000-11-20 2001-01-03 Tao Group Ltd Personal authentication system
WO2002063825A2 (en) * 2001-02-05 2002-08-15 Asiansign Co., Ltd An optical storage medium for storing a public key infrastructure (pki)-based private key and certificate, a method and system for issuing the same and a method for using such
DE10200288A1 (de) * 2002-01-07 2003-07-17 Scm Microsystems Gmbh Eine Vorrichtung zur Ausführung von Anwendungen, die sichere Transaktionen und/oder Zugangskontrolle zu werthaltigen Inhalten und/oder Dienstleistungen umfassen, und Verfahren zum Schutz einer solchen Vorrichtung
JP3862081B2 (ja) * 2002-11-07 2006-12-27 日本電信電話株式会社 名前解決方法、名前解決システム、名前解決ディレクトリ、通信端末装置、プログラム及び記録媒体
JP2005167527A (ja) * 2003-12-02 2005-06-23 Hitachi Ltd 証明書管理システムおよびその方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100981144B1 (ko) * 2007-04-17 2010-09-10 브로드콤 코포레이션 시스템 온 칩의 보안 인증 방법 및 장치
US9767319B2 (en) 2007-04-17 2017-09-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus of secure authentication for system on chip (SoC)

Also Published As

Publication number Publication date
EP1659475B1 (en) 2019-07-17
KR101292975B1 (ko) 2013-08-02
US20060104441A1 (en) 2006-05-18
US7602910B2 (en) 2009-10-13
EP1659475A1 (en) 2006-05-24
CN1777096B (zh) 2010-09-29
JP2006148879A (ja) 2006-06-08
CN1777096A (zh) 2006-05-24
JP4914051B2 (ja) 2012-04-11

Similar Documents

Publication Publication Date Title
KR101292975B1 (ko) 패스워드 보호
US7840993B2 (en) Protecting one-time-passwords against man-in-the-middle attacks
JP4896537B2 (ja) 非対称キーセキュリティのための方法およびシステム
US8966276B2 (en) System and method providing disconnected authentication
KR100827650B1 (ko) 그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법
Chattaraj et al. A new two-server authentication and key agreement protocol for accessing secure cloud services
RU2307391C2 (ru) Способы дистанционного изменения пароля связи
US20060036857A1 (en) User authentication by linking randomly-generated authentication secret with personalized secret
JP2003536320A (ja) 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア
JP2001513227A (ja) ネットワーク環境における秘密最新乱数の管理および使用
US8438393B2 (en) Quadratic residue based password authenticated key exchange method and system
US11700125B2 (en) zkMFA: zero-knowledge based multi-factor authentication system
Odelu et al. A secure and efficient ECC‐based user anonymity preserving single sign‐on scheme for distributed computer networks
Szalachowski Password-authenticated decentralized identities
Resende et al. PUF-based mutual multifactor entity and transaction authentication for secure banking
Huszti et al. A simple authentication scheme for clouds
Naganuma et al. New secret key management technology for blockchains from biometrics fuzzy signature
Kiennert et al. Authentication systems
Talkhaby et al. Cloud computing authentication using biometric-Kerberos scheme based on strong Diffi-Hellman-DSA key exchange
Murdoch et al. A Forward-secure Efficient Two-factor Authentication Protocol
Sadqi et al. A cryptographic mutual authentication scheme for web applications
Chaudhary et al. Interoperable identity management protocol for multi-cloud platform
Kansro et al. Users authentication issues and challenges in electronic commerce applications
Clermont Post quantum asynchronous remote key generation
Schwenk Cryptographic Protocols

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6