KR20160005110A - 압축을 사용하여 패스워드 공격 방해 - Google Patents

압축을 사용하여 패스워드 공격 방해 Download PDF

Info

Publication number
KR20160005110A
KR20160005110A KR1020157034563A KR20157034563A KR20160005110A KR 20160005110 A KR20160005110 A KR 20160005110A KR 1020157034563 A KR1020157034563 A KR 1020157034563A KR 20157034563 A KR20157034563 A KR 20157034563A KR 20160005110 A KR20160005110 A KR 20160005110A
Authority
KR
South Korea
Prior art keywords
password
compressed
passwords
long
encrypted
Prior art date
Application number
KR1020157034563A
Other languages
English (en)
Other versions
KR101805878B1 (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 KR20160005110A publication Critical patent/KR20160005110A/ko
Application granted granted Critical
Publication of KR101805878B1 publication Critical patent/KR101805878B1/ko

Links

Images

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

압축을 사용하여 패스워드 공격들을 방해하기 위한 방법들 및 시스템들이 설명된다. 사용자 패스워드는 모바일 컴퓨팅 디바이스상에 저장될 수 있다. 패스워드는 예컨대 허프만 압축 알고리즘을 사용하여 압축될 수 있으며, 이후 키로서 짧은 시크릿을 사용하여 암호화될 수 있다. 사용자 패스워드는 압축되고 암호화된 키로서 저장될 수 있다. 압축되고 암호화된 패스워드는 예컨대 모든 각각의 가능한 짧은 시크릿을 사용하는 무차별 대입 패스워드 공격이, 공격자가 실제 패스워드를 선택하는데 있어서 너무 많은 가능한 매치들을 밝히도록 저장될 수 있다.

Description

압축을 사용하여 패스워드 공격 방해{DISRUPTING PASSWORD ATTACK USING COMPRESSION}
[0001] 본 출원은 DISRUPTING PASSWORD ATTACK USING COMPRESSION란 명칭으로 2013년 5월 3일에 출원된 미국출원번호 제13/886,905호의 우선권을 주장한다.
[0002] 디바이스가 클라우드 또는 기업의 서비스들에 용이하게 연결하도록 하기 위하여, 스마트폰 또는 태블릿과 같은 디바이스상에 패스워드 또는 다른 시크릿을 저장하는 것이 종종 유용하다. 그러나, 패스워드를 저장하는 것은 위험한데, 왜냐하면 디바이스가 도난당한 경우에 패스워드가 악의적으로 복원될 수 있기 때문이다. 이러한 위험은 종종 패스워드를 보호하고 암호화에 대한 키로서 짧은 시크릿을 사용하여 패스워드를 암호화된 비트 스트링으로서 저장함으로써 완화된다.
[0003] 그러나, 만일 디바이스가 분실되면, 공격자는 무차별 대입 공격(brute force attack)에 기초하여, 예컨대 모든 각각의 가능한 짧은 시크릿을 사용하여 패스워드를 암호해독하고 이들 암호해독된 패스워드들 중 어느 것이 패스워드 같은지를 결정하는 것에 기초하여 패스워드를 추측할 수 있을 것이다. 따라서, 더 보안적인 방식으로 패스워드들을 오프라인으로 저장할 필요성이 존재한다.
[0004] 하기의 설명은 본원에 설명된 다양한 양상들의 간략화된 요약을 제시한다. 이러한 요약은 포괄적인 개요가 아니며, 중요하거나 핵심적인 엘리먼트들을 식별하거나, 청구항들의 범위를 서술하고자 할 의도도 아니다. 하기의 요약은 단순히 아래에서 제공되는 상세한 설명에 대한 도입부로서 간략화된 형태로 일부 개념들을 제시한다.
[0005] 압축을 사용하여 패스워드 공격들을 방해하기 위한 방법들 및 시스템들이 설명된다. 사용자 패스워드는 모바일 컴퓨팅 디바이스상에 저장될 수 있다. 패스워드는 예컨대 허프만 압축 알고리즘(Huffman compression algorithm)을 사용하여 압축되고 이후에 키로서 시크릿을 사용하여 암호화될 수 있다. 사용자 패스워드는 압축되고 암호화된 키로서 저장될 수 있다. 압축되고 암호화된 패스워드는 예컨대 모든 각각의 가능한 짧은 시크릿을 사용하는 무차별 대입 패스워드 공격이 공격자가 실제 패스워드를 선택하도록 하는데 있어서 너무 많은 가능한 매치(match)들을 밝히도록 저장될 수 있다.
[0006] 일 실시예에서, 사용된 허프만 압축 알고리즘은 허프만 압축 알고리즘, 문자 단위(character-by-character) 허프만 압축 알고리즘, 및 트리-기반 허프만 압축 알고리즘 중 하나 일 수 있다. 일례에서, 허프만 압축 알고리즘을 위하여 사용되는 테이블들은 특정 문자들이 패스워드들에서 나타날 확률을 인용할 수 있다. 다른 실시예에서, 압축된 긴 패스워드는 암호화 전에 패딩될 수 있다.
[0007] 이들 및 추가 양상들은 이하에서 더 상세히 논의되는 개시내용들의 장점과 함께 인식될 것이다.
[0008] 본원에서 설명된 양상들 및 이의 장점들은 유사한 참조 부호들이 유사한 특징들을 표시하는 첨부 도면들을 고려하여 이하의 상세한 설명을 참조함으로써 더 완전하게 이해될 수 있다.
[0009] 도 1은 실시예에 따라 사용될 수 있는 예시적인 컴퓨터 시스템 아키텍처를 도시한다.
[0010] 도 2는 실시예에 따라 긴 패스워드를 암호화하기 위한 시스템의 블록도를 도시한다.
[0011] 도 3은 실시예에 따라 긴 패스워드를 암호화하기 위한 예시적인 방법 단계들의 흐름도이다.
[0012] 도 4는 실시예에 따라, 암호화된 패스워드를 크래킹하기 위한 예시적인 방법 단계들의 흐름도이다.
[0013] 도 5는 실시예에 따라, 긴 패스워드를 압축하고 암호화하기 위한 시스템의 블록도를 도시한다.
[0014] 도 6은 실시예에 따라 긴 패스워드를 압축하고 암호화하기 위한 예시적인 방법 단계들의 흐름도이다.
[0015] 도 7은 실시예에 따라, 압축되고 암호화된 패스워드를 크래킹하기 위한 예시적인 방법 단계들의 흐름도이다.
[0016] 다양한 실시예들의 이하의 설명에서는 실시예의 일부분을 형성하며, 본원에서 설명된 양상들이 실시될 수 있는 예시적인 다양한 실시예들이 도시되는 앞서 식별된 첨부 도면들을 참조한다. 본원에서 설명된 범위로부터 벗어나지 않고, 다른 실시예들이 활용될 수 있고 구성 및 기능이 수정될 수 있다는 것이 이해되어야 한다. 다양한 양상들은 다른 실시예들을 가능하게 하며 다양한 상이한 방식들로 실시되거나 또는 수행될 수 있다.
[0017] 본원에서 사용되는 어법 및 전문용어가 설명을 위한 것이며 제한으로서 간주되지 않아야 한다는 것이 이해되어야 한다. 오히려, 본원에서 사용되는 문구들 및 용어들은 그들의 가장 넓은 해석 및 의미가 부여되어야 한다. "포함하는" 및 "구성하는" 및 이의 변형들의 사용은 이후에 리스트되는 항목들 및 이의 균등물들 뿐만아니라 추가 항목들 및 이의 균등물들을 포함하는 것으로 의미된다. "장착되는", "연결되는", "커플링되는", "포지셔닝되는", "연동되는"이라는 용어들 및 유사한 용어들의 사용은 직접적으로 및 간접적으로 장착하는, 연결하는, 커플링하는, 포지셔닝하는 및 연동하는 것을 포함하는 것으로 의도된다.
[0018] 컴퓨팅 아키텍처
[0019] 컴퓨터 소프트웨어, 하드웨어 및 네트워크들은 특히 스탠드얼론(standalone), 네트워크화, 원격-액세스(원격 데이크탑으로도 알려짐), 가상화 및/또는 클라우드-기반 환경들을 비롯하여 다양한 상이한 시스템 환경들에서 활용될 수 있다. 도 1은 스탠드얼론 및/또는 네트워크화 환경에서, 본원에서 설명된 하나 이상의 예시적인 양상들을 구현하기 위하여 사용될 수 있는 시스템 아키텍처 및 데이터 프로세싱 디바이스의 일례를 예시한다. 다양한 네트워크 노드들(103, 105, 107 및 109)은 광역 통신망(WAN)(101), 예컨대 인터넷을 통해 상호 연결될 수 있다. 사설 인트라넷들, 기업 네트워크들, LAN들, 도시권 통신망(MAN), 무선 네트워크들, 개인 네트워크(PAN)들 등을 포함하는 다른 네트워크들이 또한 또는 대안적으로 사용될 수 있다. 네트워크(101)는 예시적 목적이며, 더 적은 수의 컴퓨터 네트워크들로 또는 더 많은 수의 컴퓨터 네트워크들로 대체될 수 있다. 근거리 통신망(LAN)은 임의의 공지된 LAN 토폴로지 중 하나 이상을 가질 수 있으며, 이더넷과 같은 다양한 상이한 프로토콜들 중 하나 이상을 사용할 수 있다. 디바이스들(103, 105, 107, 109) 및 다른 디바이스들(도시안됨)은 트위스트 페어 와이어들, 동축 케이블, 광섬유들, 라디오 파들 또는 다른 통신 매체를 통해 네트워크들 중 하나 이상의 네트워크에 연결될 수 있다.
[0020] 본원에서 사용되고 도면들에 도시된 바와같은 "네트워크"란 용어는 원격 저장 디바이스들이 하나 이상의 통신 경로들을 통해 함께 커플링되는 시스템들 뿐만아니라 가끔씩 저장 능력을 가지는 이러한 시스템들에 커플링될 수 있는 스탠드-얼론 디바이스들을 지칭한다. 결과적으로, 용어 "네트워크"는 "물리적 네트워크" 뿐만아니라 "콘텐츠 네트워크"를 포함하며, "콘텐츠 네트워크"는 모든 물리적 네트워크들에 걸쳐 상주하는 데이터로 구성되며, 단일 엔티티로 여겨질 수 있다.
[0021] 컴포넌트들은 데이터 서버(103), 웹 서버(105) 및 클라이언트 컴퓨터들(107, 109)을 포함할 수 있다. 데이터 서버(103)는 본원에서 설명된 하나 이상의 예시적인 양상들을 수행하기 위한 제어 소프트웨어 및 데이터베이스들의 전체 액세스, 제어 및 관리를 제공한다. 데이터 서버(103)는 웹 서버(105)에 연결될 수 있으며, 웹 서버(105)를 통해 사용자들은 요청된 데이터와 상호작용하여 이 데이터를 획득한다. 대안적으로, 데이터 서버(103)는 그 자체적으로 웹 서버로서 작용할 수 있고 인터넷에 직접 연결될 수 있다. 데이터 서버(103)는 네트워크(101)(예컨대, 인터넷)를 통해, 직접 또는 간접 연결을 통해 또는 일부 다른 네트워크를 통해 웹 서버(105)에 연결될 수 있다. 사용자들은 웹 서버(105)에 의해 호스팅되는 하나 이상의 외부적으로 노출된 웹 사이트들을 통해 데이터 서버(103)에 연결하기 하여 원격 컴퓨터들(107, 109)을 사용하여, 예컨대 웹 브라우저들을 사용하여 데이터 서버(103)와 상호작용할 수 있다. 클라이언트 컴퓨터들(107, 109)은 데이터 서버(103)에 저장된 데이터에 액세스하기 위하여 데이터 서버(103)와 협력하여 사용될 수 있거나 또는 다른 목적들을 위해 사용될 수 있다. 예컨대, 클라이언트 디바이스(107)로부터, 사용자는 기술분야에서 공지된 인터넷 브라우저를 사용하여 또는 컴퓨터 네트워크(예컨대, 인터넷)를 통해 웹 서버(105) 및/또는 데이터 서버(103)와 통신하는 소프트웨어 애플리케이션을 실행함으로써 웹 서버(105)에 액세스할 수 있다.
[0022] 서버들 및 애플리케이션들은 동일한 물리적 머신들상에서 결합될 수 있고, 개별적인 가상 또는 논리 어드레스들을 보유할 수 있거나 또는 개별 물리 머신들상에 상주할 수 있다. 도 1은 사용될 수 있는 네트워크 아키텍처의 단지 하나의 예를 예시하며, 당업자는, 본원에서 추가로 설명되는 바와같이, 사용된 특정 네트워크 아키텍처 및 데이터 프로세싱 디바이스들이 변경될 수 있으며, 이들이 제공하는 기능이 부차적이라는 것을 인식할 것이다. 예컨대, 웹 서버(105) 및 데이터 서버(103)에 의해 제공되는 서비스들은 단일 서버상에서 결합될 수 있다.
[0023] 각각의 컴포넌트(103, 105, 107, 109)는 임의의 타입의 공지된 컴퓨터, 서버 또는 데이터 프로세싱 디바이스일 수 있다. 데이터 서버(103)는 예컨대 레이트 서버(rate server)(103)의 전체 동작을 제어하는 프로세서(111)를 포함할 수 있다. 데이터 서버(103)는 RAM(113), ROM(115), 네트워크 인터페이스(117), 입력/출력 인터페이스들(119)(예컨대, 키보드, 마우스, 디스플레이, 프린터 등) 및 메모리(121)를 더 포함할 수 있다. I/O(119)는 데이터 또는 파일들을 판독하고, 기록하며, 디스플레이하며 그리고/또는 프린트하기 위한 다양한 인터페이스 유닛들 및 드라이브들을 포함할 수 있다. 메모리(121)는 데이터 프로세싱 디바이스(103)의 전체 동작을 제어하기 위한 운영체제 소프트웨어(123), 본원에서 설명된 양상들을 수행하도록 데이터 서버(103)에 명령하기 위한 제어 로직(125), 및 본원에서 설명된 양상들과 함께 사용될 수 있거나 또는 본원에서 설명된 양상들과 함께 사용되지 않을 수 있는 2차 기능, 지원 기능 및/또는 다른 기능을 제공하는 다른 애플리케이션 소프트웨어(127)를 추가로 저장할 수 있다. 제어 로직은 또한 데이터 서버 소프트웨어(125)로서 본원에서 지칭될 수 있다. 데이터 서버 소프트웨어의 기능은 제어 로직으로 코딩된 규칙들에 기초하여 자동적으로 만들어지거나 또는 사용자가 시스템내에 입력을 제공함으로써 수동적으로 만들어지거나 또는 사용자 입력(예컨대, 질의들, 데이터 업데이트들 등)에 기초한 자동 프로세싱의 조합으로 만들어진 동작들 또는 결정들을 지칭할 수 있다.
[0024] 제 1 데이터베이스(129) 및 제 2 데이터베이스(131)를 포함하는 메모리(121)는 또한 본원에서 설명된 하나 이상의 양상들의 수행시에 사용되는 데이터를 저장할 수 있다. 일부 실시예들에서, 제 1 데이터베이스는 (예컨대, 개별 테이블, 보고 등으로서) 제 2 데이터베이스를 포함할 수 있다. 즉, 시스템 설계에 따라, 정보는 단일 데이터베이스에 저장될 수 있거나 또는 상이한 논리적, 가상적 또는 물리적 데이터베이스들로 분리될 수 있다. 디바이스들(105, 107, 109)은 디바이스(103)와 관련하여 설명된 것과 유사한 또는 상이한 아키텍처를 가질 수 있다. 당업자는 본원에서 설명된 데이터 프로세싱 디바이스(103)(또는 디바이스들(105, 107, 109))의 기능이 예컨대 다수의 컴퓨터들에 걸쳐 프로세싱 로드를 분배하기 위하여, 즉 지리적 위치, 사용자 액세스 레벨, 서비스 품질(QoS) 등에 기초하여 트랜잭션(transaction)들을 분리하기 위하여, 다수의 데이터 프로세싱 디바이스들에 걸쳐 분산될 수 있다는 것을 인식할 것이다.
[0025] 하나 이상의 양상들은 본원에서 설명되는 바와같이 컴퓨터-사용가능 또는 판독가능 데이터 및/또는 컴퓨터-실행가능 명령들로, 예컨대 하나 이상의 컴퓨터들 또는 다른 디바이스들에 의해 실행되는 하나 이상의 프로그램 모듈들로 구현될 수 있다. 일반적으로, 프로그램 모듈들은 컴퓨터 또는 다른 디바이스의 프로세서에 의해 실행될 때 특정 태스크(task)들을 수행하거나 또는 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 모듈들은 실행을 위해 나중에 컴파일링되는 소스 코드 프로그래밍 언어로 쓰여질 수 있거나 또는 HTML 또는 XML와 같은 (그러나, 이에 제한되지 않음) 스크립팅 언어(scripting language)로 쓰여질 수 있다. 컴퓨터 실행가능 명령들은 비휘발성 저장 디바이스와 같은 컴퓨터 판독가능 매체상에 저장될 수 있다. 하드 디스크들, CD-ROM들, 광 저장 디바이스들, 자기 저장 디바이스들 및/또는 이들의 임의의 조합을 포함하는 임의의 적절한 컴퓨터 판독가능 저장 매체가 활용될 수 있다. 더욱이, 본원에서 설명된 바와 같은 데이터 또는 이벤트들을 나타내는 다양한 전송(비-저장) 매체는 금속 와이어들, 광섬유들, 및/또는 무선 전송 매체(예컨대, 에어(air) 및/또는 공간)와 같은 신호-전도 매체(signal-conducting media)를 통해 이동하는 전자기 파들의 형태로 소스와 목적지사이에서 이동될 수 있다. 본원에서 설명된 다양한 양상들은 방법, 데이터 프로세싱 시스템 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 다양한 기능들은 소프트웨어, 펌웨어 및/또는 하드웨어 또는 하드웨어 균등물들, 예컨대 집적회로들, 필드 프로그램가능 게이트 어레이(FPGA)들 등으로 전체적으로 또는 부분적으로 구현될 수 있다. 특정 데이터 구조들이 본원에서 설명된 하나 이상의 양상들을 더 효과적으로 구현하기 위하여 사용될 수 있으며, 이러한 데이터 구조들은 본원에서 설명된 컴퓨터 실행가능 명령들 및 컴퓨터-사용가능 데이터의 범위내에 있는 것으로 고려된다.
[0026] 예시적인 실시예 (들)
[0027] 일 실시예에서, 모바일 디바이스, 예컨대 태블릿 또는 스마트폰은 모바일 디바이스의 사용자에 대한 개인 정보를 저장할 수 있다. 예컨대, 사용자에 대한 정보를 식별하는 것은 사용자가 클라우드 서비스와 같은 하나 이상의 개별 서비스들과 상호작용할 수 있도록 저장될 수 있다. 이러한 저장된 식별 정보는 사용자에 대한 패스워드, 사용자이름 또는 다른 민감 정보를 포함할 수 있다. 그러나, 현대 시스템들은 종종 예컨대 PIN 번호와 같은 짧은 시크릿을 사용하여, 저장된 정보를 암호화한다.
[0028] 도 2는 긴 패스워드를 암호화하기 위한 시스템의 블록도를 예시하며, 도 3은 긴 패스워드를 암호화하기 위한 예시적인 방법 단계들의 흐름도를 예시한다. 디바이스(107 및 109)와 같은 임의의 적절한 컴퓨팅 디바이스는 도 3의 방법을 구현할 수 있다.
[0029] 도 3의 방법은 단계(302)에서 시작할 수 있으며, 단계(302)에서, 짧은 시크릿이 수신된다. 예컨대, 짧은 시크릿(202)이 수신될 수 있다. 짧은 시크릿은 PIN, 예컨대 4-8 디지트 번호를 포함할 수 있다. 이는 단지 일례이며, 임의의 적절한 짧은 시크릿이 구현될 수 있다. 도 3의 방법은 단계(302)로부터 단계(340)로 진행할 수 있으며, 단계(304)에서, 긴 패스워드가 수신된다. 예컨대, 긴 패스워드(201)가 수신될 수 있다. 긴 패스워드는 개별 서비스에 대한 사용자의 패스워드일 수 있다. 일 실시예에서, 긴 패스워드는 8-12 알파 뉴메릭 문자들 및/또는 심볼들을 포함할 수 있다. 이는 단지 일례이며, 임의의 적절한 긴 패스워드가 구현될 수 있다.
[0030] 도 3의 방법은 단계(304)로부터 단계(306)로 진행할 수 있으며, 단계(306)에서, 긴 패스워드는 키로서 짧은 시크릿을 사용하여 암호화된다. 긴 패스워드는 암호화를 위한 비트 스트링으로 변환될 수 있다. 예컨대, 패스워드는 ASCII 또는 유니코드 포맷일 수 있거나 또는 비트 스트링으로 변환될 수 있다. 일 실시예에서, AES 128-비트 암호화 또는 임의의 다른 적절한 암호화가 사용될 수 있다. 일례에서, 패딩 비트들은 패스워드가 대응하는 암호화를 위한 적절한 길이를 가지도록 패스워드에 추가될 수 있다. 도 3의 방법은 단계(306)로부터 단계(308)로 진행할 수 있으며, 단계(308)에서, 암호화된 패스워드가 저장된다. 예컨대, 암호화된 패스워드(203)가 저장될 수 있다.
[0031] 암호화된 패스워드는 도 3과 유사한 형식으로 암호해독될 수 있다. 예컨대, 암호화된 패스워드는 짧은 시크릿을 사용하여 암호해독될 수 있으며, 암호해독된 비트 스트링은 ASCII 또는 유니코드와 같은, 패스워드에 대응하는 포맷으로 변환될 수 있다.
[0032] 따라서, 모바일 디바이스는 암호화된 패스워드가 자신에 저장되게 할 수 있으며, 여기서 짧은 시크릿이 암호화에 대한 키이다. 일례로, 모바일 디바이스가 도난당할 수 있고, 정체불명 개인이 저장된 암호화된 패스워드를 암호해독하려고 할 수 있다. 도 4는 암호화된 패스워드를 크래킹하기 위한 예시적인 방법 단계들의 흐름도를 예시한다. 디바이스(107 및 109)와 같은 임의의 적절한 컴퓨팅 디바이스가 도 4의 방법을 구현하기 위하여 사용될 수 있다.
[0033] 도 4의 방법은 단계(402)에서 시작할 수 있으며, 단계(402)에서, 짧은 시크릿이 선택된다. 예컨대, 짧은 시크릿은 4-디지트 PIN을 포함할 수 있으며, 짧은 시크릿은 랜덤하게 선택될 수 있다. 이는 단지 일례이며, 임의의 적절한 짧은 시크릿이 구현될 수 있다. 도 4의 방법은 단계(404)로부터 단계(406)로 진행할 수 있으며, 단계(406)에서, 암호화된 긴 패스워드가 리트리브된다. 예컨대, 정체불명의 개인은 도난당한 모바일 디바이스상에 저장된 암호화된 패스워드를 발견할 수 있다. 도 4의 방법은 단계(404)로부터 단계(406)로 진행할 수 있으며, 단계(406)에서, 긴 패스워드는 키로서 선택된 시크릿을 사용하여 암호해독된다. 일 실시예에서, AES 128-비트 암호해독 또는 임의의 다른 적절한 암호해독이 사용될 수 있다.
[0034] 도 4의 방법은 단계(406)로부터 단계(408)로 진행할 수 있으며, 단계(408)에서는 암호해독된 패스워드가 적법한 패스워드인지의 여부가 결정된다. 정체불명 개인은 암호해독된 패스워드가 적법한지의 여부를 결정하기 위하여 다수의 전략을 사용할 수 있다. 예컨대, 웨스턴 시스템(western system)의 많은 패스워드들은 ASCII 32 내지 ASCII 126의 범위를 가진 문자들을 사용할 것이다. 따라서, 미사용 ASCII 문자를 포함하는 암호해독된 패스워드가 적합한 패스워드가 아닐 가능성이 있다. 다른 예에서, 대부분의 패스워드들은 통상적으로 길이가 4개 내지 20개의 문자들이다. 이 범위 밖의 임의의 패스워드는 적법한 패스워드가 아닐 가능성이 있다. 많은 패스워드들은 영어 워드들을 포함한다. 만일 암호해독된 패스워드가 영어 워드를 포함하면, 이 암호해독된 패스워드는 적법한 패스워드일 가능성이 있다. 다른 예에서는 다수의 알려진 패스워드들을 인용하는 패스워드 사전들이 이용가능하다. 이들 전략들 각각을 결합한 이후에, 정체 불명의 개인은 암호해독된 패스워드가 적법한 패스워드인지의 여부를 결정할 수 있을 것이다.
[0035] 도 4의 방법은 모든 각각의 가능한 짧은 시크릿에 대하여, 예컨대 모든 각각의 가능한 4-디지트 PIN에 대하여 반복될 수 있다. 이러한 연습의 결과로, 정체불명의 개인은 적법한 패스워드들의 짧은 리스트를 가질 수 있으며, 예컨대 시행착오(trial-and-error)에 기초하여 정확한 패스워드를 결국에 결정할 수 있을 것이다.
[0036] 정체불명의 개인에 의해 사용되는 패스워드 공격은 다수의 암호해독된 패스워드들이 적법한 패스워드들이 아니라고 결정되었던 원리에 의존한다. 이는 암호화 알고리즘에 압축 엘리먼트를 패딩함으로써 보정될 수 있다. 도 5는 긴 패스워드를 압축하고 암호화하기 위한 시스템의 블록도를 예시하며, 도 6은 긴 패스워드를 압축하고 암호해독하기 위한 예시적인 방법 단계들의 흐름도를 예시한다.
[0037] 도 6의 방법은 단계(602)에서 시작할 수 있으며, 단계(602)에서, 짧은 시크릿이 수신된다. 예컨대, 짧은 시크릿(503)이 수신될 수 있다. 짧은 시크릿은 PIN, 예컨대 4-8 디지트 번호를 포함할 수 있다. 이는 단지 일례이며, 임의의 적절한 짧은 시크릿이 구현될 수 있다. 도 6의 방법은 단계(602)로부터 단계(604)로 진행할 수 있으며, 단계(604)에서, 긴 패스워드가 수신된다. 예컨대, 긴 패스워드(501)가 수신될 수 있다. 긴 패스워드는 개벌 서비스에 대한 사용자의 패스워드일 수 있다. 일 실시예에서, 긴 패스워드는 8-12 알파 뉴메릭 문자들 또는 심볼들을 포함한다. 이는 단지 일례이며, 임의의 적절한 긴 패스워드가 구현될 수 있다.
[0038] 도 6의 방법은 단계(604)로부터 단계(606)로 진행할 수 있으며, 단계(606)에서, 긴 패스워드가 압축된다. 긴 패스워드는 압축을 위한 비트 스트링으로 변환될 수 있다. 예컨대, 패스워드는 ASCII 또는 유니코드 포맷일 수 있으며, 비트 스트링으로 변환될 수 있다. 일 실시예에서, 엔트로피 인코딩 알고리즘 또는 압축 알고리즘이 구현될 수 있다. 예컨대, 긴 패스워드는 자신의 엔트로피가 감소되도록 프로세싱될 수 있다. 일 실시예에서, 엔트로피 인코딩 알고리즘 또는 압축 알고리즘은 허프만 압축 알고리즘(또는 허프만 코딩으로 지칭됨)을 포함할 수 있다. 긴 패스워드(501)는 압축된 긴 패스워드(502)로 압축될 수 있다.
[0039] 도 6의 방법은 단계(606)로부터 단계(608)로 진행할 수 있으며, 단계(608)에서, 압축된 긴 패스워드는 키로서 짧은 시크릿을 사용하여 암호화된다. 일례에서, 패스워드가 압축되었기 때문에, 패딩 비트들은 패스워드가 대응하는 암호화를 위하여 적절한 길이를 가지도록 패스워드에 패딩될 수 있다. 도 6의 방법은 단계(608)로부터 단계(610)로 진행할 수 있으며, 여기서 압축되고 암호화된 패스워드가 저장된다. 예컨대, 압축되고 암호화된 패스워드(504)가 저장될 수 있다.
[0040] 압축되고 암호화된 패스워드는 도 6과 유사한 방식으로 암호해독 및 압축 해제될 수 있다. 예컨대, 암호화된 패스워드는 짧은 시크릿을 사용하여 암호해독될 수 있으며, 암호해독된 비트 스트링은 임의의 적절한 알고리즘을 사용하여 압축되고 암될 수 있다. 이후, 압축되고 암된 비트 스트링은 ASCII 또는 유니코드와 같은, 패스워드에 대응하는 포맷으로 변화될 수 있다.
[0041] 따라서, 모바일 디바이스는 압축되어 암호화된 패스워드가 자신에 저장되게 할 수 있으며, 여기서 짧은 시크릿이 암호화에 대한 키이다. 이러한 예에서, 모바일 디바이스는 또한 도난당할 수 있으며, 정체불명의 개인은 압축되고 암호화된 패스워드를 암호해독하려 할 수 있다. 도 7은 압축되고 암호화된 패스워드를 크래킹하기 위한 예시적인 방법 단계들의 흐름도를 예시한다. 디바이스(107 및 109)와 같은 임의의 적절한 컴퓨팅 디바이스가 도 7의 방법을 구현하기 위하여 사용될 수 있다.
[0042] 도 7의 방법은 단계(702)에서 시작할 수 있으며, 단계(702)에서, 짧은 시크릿이 선택된다. 예컨대, 짧은 시크릿은 4-디지트 PIN을 포함할 수 있으며, 짧은 시크릿은 랜덤하게 선택될 수 있다. 이는 단순히 일례이며, 임의의 적절한 짧은 시크릿이 구현될 수 있다. 도 7의 방법은 단계(704)로부터 단계(706)로 진행할 수 있으며, 단계(706)에서, 압축되고 암호화된 긴 패스워드가 리트리브된다. 예컨대, 정체불명의 개인은 도난당한 모바일 디바이스상에 압축되고 암호화되어 저장된 패스워드를 발견할 수 있다. 도 7의 방법은 단계(704)로부터 단계(706)로 진행할 수 있으며, 여기서 긴 패스워드는 키로서 선택된 시크릿을 사용하여 암호해독된다. 일 실시예에서, AES 128-비트 암호해독, 또는 임의의 다른 적절한 암호해독이 사용될 수 있다.
[0043] 도 7의 방법은 단계(706)로부터 단계(708)로 진행할 수 있으며, 단계(708)에서, 암호해독된 패스워드가 압축해독된다. 예컨대, 허프만 압축되고 암 알고리즘 또는 임의의 다른 적절한 알고리즘이 사용될 수 있다. 도 7의 방법은 단계(706)로부터 단계(708)로 진행할 수 있으며, 단계(708)에서는 암호해독된 패스워드가 적법한 패스워드인지의 여부가 결정된다.
[0044] 이전 반복과 대조적으로, 압축이 사용되지 않았던 경우에, 여기서 정체불명의 개인은 암호해독되고 압축해제된 패스워드가 적법하지 않음을 결정할 수 있는 가능성이 낮다. 이는 압축이 리던던시를 감소시키도록 설계되기 때문이다. 압축되고 암호화된 패스워드의 각각의 비트가 중요도를 운반하기 때문에, 압축해제되고 암호해독된 패스워드의 훨씬 높은 부분은 압축 없이 암호화된 패스워드 스토리지와 비교하여 적법한 패스워드인 것으로 정체불명의 개인에게 보여질 수 있다.
[0045] 예컨대, 허프만 알고리즘은 특정 심볼들에 특정 비트 시퀀스들을 링크하는 테이블들을 사용할 수 있다. 허프만 테이블들은 특정 심볼들이 현대 언어 또는 패스워드들로 발생할 확률들에 기초할 수 있다. 따라서, 압축되고 암호화된 패스워드를 암호해독하기 위하여 랜덤하게 선택된 짧은 키가 사용된 이후에, 암호해독된 패스워드는 예컨대 허프만 테이블들을 사용하여 암축해제될 것이다. 이후에, 허프만 심볼들은 긴 패스워드의 암호해독된 비트들이 허프만 테이블들로부터의 심볼들로 압축해제되도록 할 것이다. 허프만 테이블들이 현재의 언어에서 사용되거나 또는 패스워드들로 사용되는 심볼들을 포함하기 때문에, 비트들은 일반적으로 사용되는 심볼들로 압축해제될 것이다. 따라서, 압축해제된 심볼들은 적법한 패스워드인 것으로 보일 것이다.
[0046] 다른 예에서는 압축을 구현하지 않은 8 문자 ASCII 인코딩된 패스워드를 고려한다. ASCII는 256개의 가능한 심볼들을 포함하며, 여기서 이들 256개의 가능한 심볼들 중 대략 70개, 예컨대 문자들 A-Z 및 a-z; 숫자 0-9; 구두점이 패스워드들에서 자주 보일 수 있다. 한 문자 패스워드에서, 이는 암호해독된 비트들의 대략 28%(또는 70/256)가 잠재적인 패스워드들, 예컨대 패스워드들에서 자주 보이는 문자를 포함하는 하나의 문자 패스워드를 나타낼 것이라는 것을 의미할 것이다. 그러나, 8 문자 패스워드에서, 암호해독된 비트들이 잠재적인 패스워드를 나타낼 확률은 0.28^8(8개의 문자들 각각에 대하여 28%) 또는 0.003%로 낮아질 것이다. 이 때문에, 무차별 대입 공격은 암호화된 8 문자 ASCII 암호화된 패스워드에 대하여 높은 성공 확률을 가지며, 여기서 암호화 키는 짧은 키이다.
[0047] 또 다른 예에서, 압축이 암호화된 8 문자 ASCII 인코딩된 패스워드로 구현될 때, 이러한 무차별 대입 공격은 훨씬 낮은 성공 확률을 가진다. 압축 알고리즘은 패스워드들에서 종종 사용되는 ASCII 인코딩된 심볼들, 예컨대 문자들 A-Z 및 a-z; 숫자 0-9; 구두점 각각에 짧은 비트 스트림들을 할당할 수 있다. 하나의 문자 패스워드를 고려할 때, 암호해독된 패스워드는 비트들의 랜덤 스크림을 포함할 것이며, 이후 압축해제 알고리즘은 패스워드들에서 가장 자주 사용되는 ASCII 인코딩된 심볼들에 할당된 짧은 비트 스트림들 중 하나에 비트들의 암호해독된 스트림을 매칭시킬 것이다. 이러한 할당 때문에, 압축해제된 이후에, 하나의 문자 패스워드는 잠재적인 패스워드인 것으로 보이는 매우 높은 확률, 예컨대 거의 100%를 가질 것이다. 따라서, 패스워드가 하나의 문자로부터 8개의 문자들로 증가하기 때문에, 랜덤하게 암호화된 패스워드가 압축해제된후 잠재적인 패스워드인 것으로 보이는 확률은 여전의 거의 100%이다.
[0048] 일례에서, 압축해제된 랜덤하게 암호해독된 패스워드에 대한 앞서 설명된 확률은 랜덤하게 암호해독된 패스워드, 예컨대 비트들의 랜덤 선택이 적절하게 압축해제되지 않은 부분 문자를 포함할 수 있는 기회 때문에 100%보다 오히려 거의 100% 이다. 일 실시예에서, 압축 동안, 예컨대 도 6의 단계(606) 동안, 특수 문자는 패스워드의 끝을 표시하는 패스워드에 추가될 수 있다. 특수 문자는 패스워드의 나머지 부분과 함께 압축될 수 있다. 따라서, 패스워드가 암호해독되고 압축해제된 이후에, 알고리즘은 특수 문자에 의해 패스워드의 끝을 결정한다. 다른 실시예에서, 특수 문자 이후에, 랜덤 비트들의 랜덤 수는 압축 동안 패스워드에 추가될 수 있다. 이는 패스워드 길이에 기초하여 적법하지 않은 것으로 잠재적인 패스워드를 버리는 것을 시도중인 공격자를 더 혼동시킬 수 있다. 일 실시예에서, 패스워드의 길이는 패스워드와 함께 인코딩될 수 있다. 예컨대, 패스워드의 길이는 알고리즘이 추가 랜덤 비트들에 대한 시작 위치를 검출할 수 있도록 인코딩될 수 있다. 압축 기술에 정통한 사람들은 압축 시퀀스의 끝을 표시하기 위한 다른 기술들을 용이하게 이해할 것이다.
[0049] 도 7의 방법은 모든 각각의 가능한 짧은 시크릿, 예컨대 모든 각각의 가능한 4-디지트 PIN에 대하여 반복될 수 있다. 이러한 활동 끝에, 정체불명의 개인에게는 적법한 패스워드들이 긴 리스트로 남겨질 가능성이 있으며, 정확한 패스워드를 결정하는 것이 곤란할 수 있다.
[0050] 일 실시예에서, 도 9의 방법에서 사용되는 압축 알고리즘은 허프만 압축 알고리즘이다. 예컨대, 허프만 알고리즘은 "a"와 같은 특수 심볼들이 언어에서 사용되는 확률을 결정하기 위하여 테이블들을 사용할 수 있다. 일 실시예에서, 허프만 테이블들은 패스워드들을 위하여 특별히 생성될 수 있으며, 따라서 테이블들은 "a"와 같은 특수 심볼들이 패스워드에서 사용되는 확률을 결정한다.
[0051] 이는 플레이 Romeo and Juliet에서 문자 사용에 기초하여 계산된 허프만 테이블의 예이다.
허프만 테이블
A: 7% 0010
B: 1% 011000
C: 2% 000101
D: 3% 00011
E: 12% 101
F: 1% 001100
G: 1% 001101
H: 6% 0101
I: 6% 0100
J: 0% 011001100
K: 0% 0110010
L: 4% 1101
M: 3% 01101
N: 6% 1001
O: 8% 0000
P: 1% 110000
Q: 0% 0110011101
R: 6% 1000
S: 6% 0111
T: 9% 111
U: 3% 00111
V: 1% 110001
W: 2% 000100
X: 0% 0110011011
Y: 2% 11001
Z: 0% 01100111001
[0052] 일 실시예에서, 허프만 압축은 패스워드에서 모든 각각의 문자에 대해 단일 테이블을 사용할 수 있다. 예컨대, 문자 "a"는 이것이 어디에서 보이더라도 패스워드에서 동일한 방식으로 인코딩될 수 있다. 다른 실시예에서, 상이한 허프만 테이블은 패스워드의 각각의 문자에 대하여 계산될 수 있다. 예컨대, 제 1 테이블은 패스워드에서 제 1 문자에 대한 확률들을 계산할 수 있으며, 제 1 문자에 대하여 계산된 확률들에 기초하여 문자들에 비트 스트림들을 할당할 수 있으며, 제 2 테이블은 패스워드에서 제 2 문자에 대한 확률들을 계산할 수 있으며, 제 2 문자에 대하여 계산된 확률들에 기초하여 문자들에 비트 스트림들을 할당할 수 있다. 이러한 예에서, 문자 "a"는 패스워드에서 자신의 위치에 기초하여 상이하게 인코딩될 수 있다.
[0053] 다른 실시예에서, 각각의 문자에 대하여 사용된 상이한 테이블들은 선행 텍스트에 기초할 수 있다. 예컨대, 제 2 문자에 대한 확률들은 제 1 문자에 대한 확률들, 예컨대 제 1 심볼이 "a"라고 주어질 때 제 2 심볼이 "e"일 가능성이 얼마인지에 의존할 수 있다.
[0054] 비록 요지가 구성적 특징들 및/또는 방법적 동작들에 특정한 언어로 설명되었을지라도, 첨부된 청구항들에서 정의된 요지가 반드시 앞서 설명된 특정 특징들 또는 동작들로 제한되는 것이 아니라는 것이 이해되어야 한다. 오히려, 앞서 설명된 특정 특징들 및 동작들은 하기의 청구항들의 예시적인 구현들로서 설명된다.

Claims (20)

  1. 모바일 컴퓨팅 디바이스에서, 짧은 시크릿 및 긴 패스워드를 수신하는 단계;
    상기 긴 패스워드를 압축하는 단계;
    키로서의 상기 짧은 시크릿을 사용하여 상기 압축된 긴 패스워드를 암호화하는 단계; 및
    상기 압축되고 암호화된 긴 패스워드를 저장하는 단계를 포함하는, 방법.
  2. 제 1항에 있어서, 상기 압축 알고리즘은 엔트로피 인코딩 알고리즘(entropy encoding algorithm)을 포함하는, 방법.
  3. 제 2항에 있어서, 상기 엔트로피 인코딩 알고리즘은 상이한 허프만 테이블이 상기 긴 패스워드의 각각의 문자에 대하여 사용되도록 허프만 압축 알고리즘을 포함하는, 방법.
  4. 제 3항에 있어서, 상기 허프만 압축 알고리즘을 이루기 위하여 사용되는 테이블들은 특정 문자들이 패스워드들에서 보일 확률을 열거하는, 방법.
  5. 제 1항에 있어서, 상기 압축된 패스워드는 암호화전에 패딩(padding)되는, 방법.
  6. 제 1항에 있어서, 상기 압축되고 암호화된 긴 패스워드는 복수의 패스워드들을 암호해독하기 위하여 모든 각각의 가능한 짧은 키를 사용하는 패스워드 공격이 적법한 패스워드들을 설명하는 규칙들의 세트에 기초하여 적법하지 않은 것으로 대부분의 암호해독된 패스워드들을 실격시키지 못하도록 저장되는, 방법.
  7. 제 1항에 있어서, 상기 랜덤한 짧은 키가 압축되고 암호화된 패스워드를 암호해독하기 위하여 사용될 때, 암호해독된 패스워드는 적법한 패스워드들을 설명하는 규칙들의 세트에 기초하여 적법한 패스워드인 것으로 보이는, 방법.
  8. 제 1항에 있어서, 상기 짧은 시크릿은 PIN 번호를 포함하며, 상기 긴 패스워드는 ASCII 및 유니코드 중 하나에 따라 포맷되는, 방법.
  9. 컴퓨팅 디바이스로서,
    프로세서; 및
    명령들을 저장한 메모리를 포함하며;
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금,
    상기 컴퓨팅 디바이스에서, 짧은 시크릿 및 긴 패스워드를 수신하는 것;
    상기 긴 패스워드를 압축하는 것;
    키로서의 상기 짧은 시크릿을 사용하여 상기 압축된 긴 패스워드를 암호화하는 것; 및
    상기 압축되고 암호화된 긴 패스워드를 상기 메모리에 저장하는 것을 수행하도록 구성하는, 컴퓨팅 디바이스.
  10. 제 9항에 있어서, 상기 압축 알고리즘은 엔트로피 인코딩 알고리즘을 포함하는, 컴퓨팅 디바이스.
  11. 제 10항에 있어서, 상기 엔트로피 인코딩 알고리즘은 상이한 허프만 테이블이 상기 긴 패스워드의 각각의 문자에 대하여 사용되도록 허프만 압축 알고리즘을 포함하는, 컴퓨팅 디바이스.
  12. 제 11항에 있어서, 상기 허프만 압축 알고리즘을 이루기 위하여 사용되는 테이블들은 특정 문자들이 패스워드들에서 보일 확률을 열거하는, 컴퓨팅 디바이스.
  13. 제 9항에 있어서, 상기 압축된 패스워드는 암호화전에 패딩되는, 컴퓨팅 디바이스.
  14. 제 9항에 있어서, 상기 압축되고 암호화된 긴 패스워드는 복수의 패스워드들을 암호해독하기 위하여 모든 각각의 가능한 짧은 키를 사용하는 패스워드 공격이 적법한 패스워드들을 설명하는 규칙들의 세트에 기초하여 적법하지 않은 것으로 암호해독된 패스워드들의 일부분을 실격시키지 못하도록 저장되는, 컴퓨팅 디바이스.
  15. 제 9항에 있어서, 상기 랜덤한 짧은 키가 압축되고 암호화된 패스워드를 암호해독하기 위하여 사용될 때, 암호해독된 패스워드는 적법한 패스워드들을 설명하는 규칙들의 세트에 기초하여 적법한 패스워드인 것으로 보이는, 컴퓨팅 디바이스.
  16. 제 9항에 있어서, 상기 짧은 시크릿은 PIN 번호를 포함하며, 상기 긴 패스워드는 ASCII 및 유니코드 중 하나에 따라 포맷되는, 컴퓨팅 디바이스.
  17. 컴퓨터-실행가능 명령들을 저장한 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체로서,
    상기 컴퓨터-실행가능 명령들은, 데이터 프로세싱 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 상기 시스템으로 하여금,
    짧은 시크릿 및 긴 패스워드를 수신하며;
    상기 긴 패스워드를 압축하며;
    키로서의 상기 짧은 시크릿을 사용하여 상기 압축된 긴 패스워드를 암호화하며; 그리고
    상기 압축되고 암호화된 긴 패스워드를 저장하도록 하는, 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체.
  18. 제 17항에 있어서, 상기 압축 알고리즘은 엔트로피 인코딩 알고리즘을 포함하는, 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체.
  19. 제 18항에 있어서, 상기 엔트로피 인코딩 알고리즘은 상이한 허프만 테이블이 상기 긴 패스워드의 각각의 문자에 대하여 사용되도록 허프만 압축 알고리즘을 포함하는, 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체.
  20. 제 19항에 있어서, 상기 허프만 압축 알고리즘을 이루기 위하여 사용되는 테이블들은 특정 문자들이 패스워드들에서 보일 확률을 열거하는, 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체.


KR1020157034563A 2013-05-03 2014-04-29 압축을 사용하여 패스워드 공격 방해 KR101805878B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/886,905 US8949617B2 (en) 2013-05-03 2013-05-03 Disrupting password attack using compression
US13/886,905 2013-05-03
PCT/US2014/035795 WO2014179268A1 (en) 2013-05-03 2014-04-29 Disrupting password attack using compression

Publications (2)

Publication Number Publication Date
KR20160005110A true KR20160005110A (ko) 2016-01-13
KR101805878B1 KR101805878B1 (ko) 2017-12-07

Family

ID=50942797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157034563A KR101805878B1 (ko) 2013-05-03 2014-04-29 압축을 사용하여 패스워드 공격 방해

Country Status (6)

Country Link
US (2) US8949617B2 (ko)
EP (1) EP2992478B1 (ko)
JP (1) JP6346942B2 (ko)
KR (1) KR101805878B1 (ko)
CN (1) CN105359155B (ko)
WO (1) WO2014179268A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10418218B2 (en) 2016-07-08 2019-09-17 Lg Chem, Ltd. Multistage fuse

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582671B2 (en) * 2014-03-06 2017-02-28 Sensity Systems Inc. Security and data privacy for lighting sensory networks
US20150006881A1 (en) * 2013-06-27 2015-01-01 Check Point Software Technologies Ltd. Securing an Encryption Key of a User Device While Preserving Simplified User Experience
US9674203B2 (en) * 2015-03-16 2017-06-06 International Business Machines Corporation File and bit location authentication
US9288204B1 (en) 2015-08-28 2016-03-15 UniVaultage LLC Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
US10129298B2 (en) * 2016-06-30 2018-11-13 Microsoft Technology Licensing, Llc Detecting attacks using compromised credentials via internal network monitoring
US20220109455A1 (en) * 2018-06-29 2022-04-07 Zenotta Holding Ag Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature
WO2020002712A1 (en) * 2018-06-29 2020-01-02 Magna Carta Ag Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59173847A (ja) * 1983-03-23 1984-10-02 Oyo Syst Kenkyusho:Kk コンピユ−タソフトウエアの保護方法およびその装置
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
US6154542A (en) * 1997-12-17 2000-11-28 Apple Computer, Inc. Method and apparatus for simultaneously encrypting and compressing data
JPH11261788A (ja) * 1998-03-11 1999-09-24 Alps Electric Co Ltd 暗号化装置
JP2001067400A (ja) * 1999-08-25 2001-03-16 Ntt Data Corp 携帯通信装置、及び携帯通信システム
JP2001290707A (ja) * 2000-04-05 2001-10-19 Kazumi Mochizuki データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置
WO2001077991A2 (en) 2000-04-12 2001-10-18 Configate Inc. Voice-based authentication over a noisy channel
DE102006032130B4 (de) 2006-07-05 2008-07-31 Atmel Germany Gmbh Transpoder, RFID-System und Verfahren für RFID-System mit Schlüsselverwaltung
JP4802123B2 (ja) * 2007-03-07 2011-10-26 富士通株式会社 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体
US20110055585A1 (en) * 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US8238552B2 (en) 2009-02-13 2012-08-07 Guidance Software, Inc. Password key derivation system and method
EP2698737A4 (en) * 2011-04-12 2014-09-24 Panasonic Corp AUTHENTICATION SYSTEM, INFORMATION RECORDING SYSTEM, SERVER, PROGRAM, AND AUTHENTICATION METHOD
CN102334124B (zh) * 2011-08-15 2014-08-20 华为终端有限公司 文件的保护方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10418218B2 (en) 2016-07-08 2019-09-17 Lg Chem, Ltd. Multistage fuse

Also Published As

Publication number Publication date
KR101805878B1 (ko) 2017-12-07
CN105359155B (zh) 2018-01-02
JP2016522931A (ja) 2016-08-04
US20150163055A1 (en) 2015-06-11
US8949617B2 (en) 2015-02-03
US20140331063A1 (en) 2014-11-06
WO2014179268A1 (en) 2014-11-06
US9237009B2 (en) 2016-01-12
CN105359155A (zh) 2016-02-24
JP6346942B2 (ja) 2018-06-20
EP2992478B1 (en) 2019-06-12
EP2992478A1 (en) 2016-03-09

Similar Documents

Publication Publication Date Title
KR101805878B1 (ko) 압축을 사용하여 패스워드 공격 방해
US10715320B2 (en) Password generation with key and derivation parameter
CN106161006B (zh) 一种数字加密算法
CN102282798B (zh) 一种用于隐藏通信信道中加密的存在的高效带宽的方法和***
CN106610995B (zh) 一种创建密文索引的方法、装置及***
CN110061967B (zh) 业务数据提供方法、装置、设备及计算机可读存储介质
US20120284528A1 (en) Multi-purpose multi-dimensional, variable and multi-key e-mail and data encryption method
WO2021179518A1 (en) Methods and apparatuses for oblivious transfer using trusted environment
CN102684877A (zh) 一种进行用户信息处理的方法及装置
KR100910303B1 (ko) 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
JP2009239839A (ja) グループ暗号通信における鍵管理方法、及び、鍵管理プログラム
US11972000B2 (en) Information dispersal for secure data storage
CN107533617B (zh) 服务器装置、信息管理***、信息管理方法以及计算机程序
US9571468B2 (en) Encoding data using a variable number of pixels and bits based on entropy
Adeniji et al. Text encryption with advanced encryption standard (AES) for near field communication (NFC) using Huffman compression
KR101790325B1 (ko) 암호화 및 복호화 시스템
Munnoli et al. Entropy based performance comparison of cryptographic algorithms on emoticons
US11816242B2 (en) Log compression and obfuscation using embeddings
Du et al. Cryptographic Secrecy Analysis of Adaptive Steganographic Syndrome‐Trellis Codes
Muralidhar Substitution cipher with nonprefix codes
JP2007193137A (ja) 暗号装置、暗号方法、復号装置および復号方法
WO2023288117A1 (en) Method for encrypted communication between systems using parallel key banks and reduced character sets
George et al. Secure image transferring using KBRP and TEA algorithms
CN117077185A (zh) 一种基于hmac与秘密分享的数据存储及保护方法、***及介质
CN115080987A (zh) 密码管理方法、装置、***、存储介质和计算机设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)