CN105359155A - 使用压缩破坏口令攻击 - Google Patents

使用压缩破坏口令攻击 Download PDF

Info

Publication number
CN105359155A
CN105359155A CN201480037000.7A CN201480037000A CN105359155A CN 105359155 A CN105359155 A CN 105359155A CN 201480037000 A CN201480037000 A CN 201480037000A CN 105359155 A CN105359155 A CN 105359155A
Authority
CN
China
Prior art keywords
password
long
compressed
short
encryption
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201480037000.7A
Other languages
English (en)
Other versions
CN105359155B (zh
Inventor
R·海顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN105359155A publication Critical patent/CN105359155A/zh
Application granted granted Critical
Publication of CN105359155B publication Critical patent/CN105359155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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

描述了用于使用压缩来破坏口令攻击的方法和***。用户口令可以被存储在移动计算设备上。可以例如使用Huffman压缩算法来压缩口令,并且可以随后使用短密码作为密钥来进行加密。用户口令可以被存储为经压缩和加密的密钥。经压缩和加密的口令可以被存储,使得例如使用每个可能的短密码的暴力口令攻击将显示太多可能的匹配以致使攻击者不能选择真实的口令。

Description

使用压缩破坏口令攻击
相关案例的交叉引用
本申请要求2013年5月3日提交的申请号为13/886,905的美国申请的优先权。
背景
将口令(password)或其它密码存储在设备(例如智能电话或平板电脑)上以便允许设备容易连接到云中或企业中的服务经常是有用的。然而,存储口令是有风险的,因为如果设备被盗,则口令可能被恶意恢复。经常通过保护口令并且使用如加密的密钥的短密码(shortsecret)将其存储为加密的位串来减轻该风险。
然而,如果设备丢失,则攻击者可以能够基于暴力攻击(例如使用每个可能的较短的密码以对口令进行解密并且确定这些解密的口令中的哪个看起来像口令)来猜出口令。因此,存在以更安全的方式离线存储口令的需要。
概述
以下的内容呈现了本文描述的各个方面的简化概述。该概要并非广泛的综述,并且并非旨在确定关键或重要元素或描绘权利要求的范围。以下的概述仅仅以简化形式呈现一些概念作为对以下提供的更详细的描述的介绍性的前奏。
描述了用于使用压缩来破坏口令攻击的方法和***。用户口令可以被储存在移动计算设备上。可以例如使用Huffman压缩算法来压缩口令,并且随后可以使用作为密钥的密码来进行加密。用户口令可以被存储为经压缩和加密的密钥。经压缩和加密的密钥可以被存储,使得例如使用每个可能的短密码的暴力口令攻击将显示太多可能的匹配以致使攻击者不能选择真正的口令。
在实施例中,使用的Huffman压缩算法可以是Huffman压缩算法、逐字符Huffman压缩算法和基于树的Huffman压缩算法中的一个。在示例中,用于Huffman压缩算法的表格可以列举特定的字符在口令中出现的概率。在另一个实施例中,压缩的长口令可以在加密之前被填充。
得益于在下文进一步详细论述的本公开,将理解这些和附加的方面。
附图简述
通过参考考虑到附图的以下描述可以获得本文描述的方面的更完整的理解及其优点,其中相似的参考数字指示相似的特征,并且在附图中:
图1示出了可以根据实施例使用的说明性计算机***架构。
图2示出了用于根据实施例对长口令进行加密的***的框图。
图3是用于根据实施例对长口令进行加密的示例方法步骤的流程图。
图4是用于根据实施例对加密的口令进行破解的示例方法步骤的流程图。
图5示出了用于根据实施例对长口令进行压缩和加密的***的框图。
图6是用于根据实施例对长口令进行压缩和加密的示例方法步骤的流程图。
图7是用于根据实施例对经压缩和加密的口令进行破解的示例方法步骤的流程图。
详细描述
在各个实施例的以下描述中参考了以上确认的附图,并且其形成本文的一部分,并且其中通过说明的方式示出了各个实施例,其中本文描述的各方面可以被实践。应当理解的是,其它实施例可以被利用,并且结构性的和功能性的修改可以被做出,而不偏离本文描述的范围。各个方面能够以其它的实施例并且能够被以各种不同的方式来实践或实施。
应当理解的是,本文使用的措辞和术语是为了描述的目的,并且不应当被视为限制性的。相反,本文使用的短语和术语将被给出它们最广义的解释和含义。“包括(including)”和“包含(comprising)”及其变化的使用旨在包含其后列出的项以及其等价物以及其附加的项和等价物。术语“安装的(mounted)”、“连接的(connected)”、“耦合的(coupled)”、“定位的(positioned)”、“接合的(engaged)”以及类似术语的使用旨在包括直接和间接安装、连接、耦合、定位和接合两者。
计算架构
计算机软件、硬件和网络可以被在各种不同的***环境中使用,其中各种不同的***环境除了别的之外包括独立的、联网的、远程访问(又叫做远程桌面)、虚拟化的和/或基于云的环境。图1示出了可以用于在独立的和/或联网的环境中实现本文描述的一个或多个说明性方面的***架构和数据处理设备的一个示例。各个网络节点103、105、107和109可以经由广域网(WAN)101(例如互联网)来互连。其它网络也可以或可选地被使用,包括私人企业内部网、公司网络、LAN、城域网(MAN)无线网络、个人网络(PAN)等等。网络101是为了说明的目的并且可以用较少的或附加的计算机网络来代替。局域网(LAN)可以具有任何已知的LAN拓扑结构中的一个或多个以及可以使用各种不同的协议中的一个或多个(例如以太网)。设备103、105、107、109和其它设备(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接到网络中的一个或多个。
如在本文使用和在附图中描绘的术语“网络”不仅指的是其中远程存储设备经由一个或多个通信路径被耦合在一起的***,而且指的是可以不时耦合到具有存储能力的这样的***的独立的设备。因此,术语“网络”不仅包括“物理网络”,而且包括“内容网络”,其由驻留在全部物理网络上归属于单个实体的数据组成。
组件可以包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供数据库的总访问、控制和管理以及用于执行本文描述的一个或多个说明性方面的控制软件。数据服务器103可以连接到web服务器105,用户通过web服务器105根据要求进行交互和获得数据。可选地,数据服务器103可以用作web服务器本身并且可以直接连接到互联网。数据服务器103可以通过网络101(例如互联网)经由直接或间接连接或经由一些其它网络连接到web服务器105。用户可以使用远程计算机107、109(例如使用web浏览器)与数据服务器103交互以经由web服务器105托管的一个或多个暴露在外的网站连接到数据服务器103。客户端计算机107、109可以与数据服务器103一致使用以访问其中存储的数据或可以用于其它目的。例如,从客户端设备107用户可以使用web浏览器(如本领域已知的)或通过执行通过计算机网络(例如互联网)与web服务器105和/或访问数据服务器103进行通信的软件应用来访问web服务器105。
服务器和应用可以被组合在相同的物理机器上并且保持独立的虚拟或逻辑地址,或可以驻留在独立的物理机器上。图1仅仅示出了可以使用的网络架构的一个示例,并且本领域的技术人员将理解的是,所使用的特定的网络架构和数据处理设备可以变化,并且对于它们提供的功能是次要的(如本文进一步描述的)。例如,由web服务器105和数据服务器103提供的服务可以组合在单个服务器上。
每个组件103、105、107、109可以是任何类型的已知的计算机、服务器或数据处理设备。数据服务器103例如可以包括控制速率服务器103的整体操作的处理器111。数据服务器103还可以包括RAM113、ROM115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等)以及存储器121。I/O119可以包括用于读取、写入、显示和/或打印数据或文件的各种接口单元和设备。存储器121还可以存储用于控制数据处理设备103的整体操作的操作***软件123、用于指令数据服务器103以执行本文描述的方面的控制逻辑125和提供次要的支持和/或其它功能的其它应用软件127(其可以或不可以结合本文描述的方面来使用)。控制逻辑在本文还可以被称为数据服务器软件125。数据服务器软件的功能可以指的是基于编码成控制逻辑的规则自动进行的、由用户将输入提供到***中手动进行的操作和决定和/或基于用户输入(例如查询、数据更新等)的自动处理的组合。
存储器121还可以存储在执行本文描述的一个或多个方面时使用的数据(包括第一数据库129和第二数据库131)。在一些实施例中,第一数据库可以包括第二数据库(例如,作为单独的表格、报告等)。也就是说,根据***设计,信息可以被存储在单个数据库中,或分离成不同的逻辑、虚拟、或物理数据库。设备105、107、109可以具有与关于设备103描述的架构类似的或不同的架构。本领域技术人员将理解的是,如本文描述的数据处理设备103(或设备105、107、109)的功能可以跨越多个数据处理设备而分布(例如以跨越多个计算机分配处理负荷)以基于地理位置、用户访问级别、服务质量(QoS)等来将事务分开。
一个或多个方面可以以计算机可用或可读的数据和/或计算机可执行的指令(例如,在由如本文描述的一个或多个计算机或其它设备执行的一个或多个程序模块中)来体现。通常,程序模块包括当由计算机或其它设备中的处理器执行时执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。模块可以以随后被编译用于执行的源代码编程语言来编写或可以以例如(但不限于)HTML或XML的脚本语言来编写。计算机可执行指令可以被存储在计算机可读介质(例如非易失性存储介质)上。任何合适的计算机可读存储介质可以被利用,其包括硬盘、CD-ROM、光存储设备、磁存储设备和/或其任何组合。此外,表示如本文描述的数据或事件的各种传输(非存储)介质可以以经过信号传导介质(例如,金属线、光纤)和/或无线传输介质(例如,空气和/或空间)的电磁波的形式在源和目的地之间传递。本文描述的各个方面可以体现为方法、数据处理***或计算机程序产品。因此,各个功能可以全部或部分以软件、固件和/或硬件或硬件等价物(例如,集成电路、现场可编程门阵列(FPGA)等等)来体现。特定数据结构可以用于更有效地实现本文描述的一个或多个方面,并且这样的数据结构被预期在本文描述的计算机可执行指令和计算机可用数据的范围之内。
说明性实施例
在实施例中,例如平板电脑或智能电话的移动设备可以存储关于移动设备的用户的个人信息。例如,关于用户的识别信息可以被存储,使得用户可以与一个或多个单独的服务(例如,云服务)进行交互。该存储的识别信息可以包括口令、用户名或用户的其它敏感的信息。然而,现代***经常例如使用短密码(例如PIN号码)对存储的信息进行加密。
图2示出了用于对长口令进行加密的***的框图,并且图3示出了用于对长口令进行加密的示例方法步骤的流程图。任何合适的计算设备(例如设备107和109)可以实现图3的方法。
图3的方法可以开始于步骤302,其中接收到了短密码。例如,短密码202可以被接收到。短密码可以包括例如4-8位数字的PIN。这仅仅是个示例,并且任何合适的短密码可以被实现。图3的方法可以从步骤302继续进行到步骤304,其中接收到了长口令。例如,长口令201可以被接收到。长口令可以是用户到单独的服务的口令。在实施例中,长口令可以包含8-12个字母数字字符和/或符号。这仅仅是一个示例,并且任何合适的长口令可以被实现。
图3的方法可以从步骤304继续进行到步骤306,其中使用短密码作为密钥来对长口令进行加密。长口令可以被转换为用于加密的位串。例如,口令可以以ASCII或Unicode格式,并且其可以被转换为位串。在实施例中,可以使用AES128位加密或任何其它合适的加密。在示例中,填充位(paddingbit)可以被添加到口令,使得口令是如用于对应的加密的合适的长度。图3的方法可以从步骤306继续进行到步骤308,其中,加密的口令被存储。例如,加密的口令203可以被存储。
加密的口令可以以类似于图3的方式进行解密。例如,加密的口令可以使用短密码来解密,并且解密的位串可以被转换为对应于口令的格式(例如ASCII或Unicode)。
因此,移动设备可以使加密的口令存储在其上,其中短密码是加密的密钥。在示例中,移动设备可能被盗,并且未知的个体可能试图对存储的加密的口令进行解密。图4示出了用于对加密的口令进行破解的示例方法步骤的流程图。任何合适的计算设备(例如设备107和109)可以用于实现图4的方法。
图4的方法可以开始于步骤402,其中选择了短密码。例如,短密码可以包括4位数PIN,并且可以随机选择短密码。这仅仅是一个示例,并且任何合适的短密码可以被实现。图4的方法可以从步骤404继续进行到步骤406,其中恢复了加密的长口令。例如,未知的个体可能发现在被盗的移动设备上的存储的加密的口令。图4的方法可以从步骤404继续进行到步骤406,其中使用选择的密码作为密钥来对长口令进行解密。在实施例中,AES128位解密或任何其它合适的解密可以被使用。
图4的方法可以从步骤406继续进行到步骤408,其中确定解密的口令是否是合法的口令。未知的个体可以使用若干策略以确定解密的口令是否是合法的。例如,在西方***中很多口令将使用范围从ASCII32到ASCII126的字符。因此,包括未使用的ASCII字符的解密的口令可能不是合法的口令。在另一个示例中,大多数口令通常是4到20个字符长。在该范围之外的任何口令不太可能是合法的口令。很多口令包含英语单词。如果解密的口令包含英语单词,则其可能是合法的口令。在另一个示例中,存在列举若干已知的口令的可用的口令词典。在组合这些策略中的每个策略之后,未知的个体可以能够确定解密的口令是否是合法的口令。
图4的方法可以针对每个可能的短密码进行重复(例如,针对每个可能的4位数PIN)。在这个工作结束时,未知的个体可以具有合法的口令的短列表,并且可以最终能够基于例如试错法确定正确的口令。
未知的个体使用的口令攻击依赖于若干解密的口令被确定不是合法的口令的原理。这可以通过将压缩元素添加到加密算法来校正。图5示出了用于对长口令进行压缩和加密的***的框图,并且图6示出了用于对长口令进行压缩和加密的示例方法步骤的流程图。
图6的方法可以开始于步骤602,其中接收到了短密码。例如,短密码503可以被接收到。短密码可以包括例如4-8位数字的PIN。这仅仅是一个示例,并且任何合适的短密码可以被实现。图6的方法可以从步骤602继续进行到步骤604,其中长口令被接收到。例如,长口令501可以被接收到。长口令可以是用户到单独的服务的口令。在实施例中,长口令包含8-12个字母数字字符或符号。这仅仅是一个示例,并且任何合适的长口令可以被实现。
图6的方法可以从步骤604继续进行到步骤606,其中长口令被压缩。长口令可以被转换为用于压缩的位串。例如,口令可以以ASCII或Unicode格式,并且其可以被转换为位串。在实施例中,熵编码算法或压缩算法可以被实现。例如,长口令可以被处理,使得其熵减小。在实施例中,熵编码算法或压缩算法可以包括Huffman压缩算法(也被称为Huffman编码)。长口令501可以被压缩为压缩的长口令502。
图6的方法可以从步骤606继续进行到步骤608,其中使用短密码作为密钥来对压缩的长口令进行加密。在实施例中,AES128位加密或任何其它合适的加密可以被使用。在示例中,因为口令已经被压缩,所以填充位可以被添加到口令,使得口令是针对对应的加密的合适的长度。图6的方法可以从步骤608继续进行到步骤610,其中经压缩和加密的口令被存储。例如,经压缩和加密的口令504可以被存储。
经压缩和加密的口令可以以类似于图6的方式进行解密和解压缩。例如,可以使用短密码对加密的口令进行解密,并且可以使用任何合适的算法对解密的位串进行解压缩。解压缩的位串可以然后被转换为对应于口令的格式(例如,ASCII或Unicode)。
因此,移动设备可以使经压缩和加密的口令存储在其上,其中,短密码是加密的密钥。在该示例中,移动设备还可能被盗,并且未知的个体可能试图对经压缩和加密的口令进行解密。图7示出了用于对经压缩和加密的口令进行破解的示例方法步骤的流程图。任何合适的计算设备(例如设备107和109)可以用于实现图7的方法。
图7的方法可以开始于步骤702,其中选择短密码。例如,短密码可以包括4位数PIN,并且短密码可以被随机选择。这仅仅是一个示例,并且任何合适的短密码可以被实现。图7的方法可以从步骤704继续进行到步骤706,其中经压缩和加密的长口令被恢复。例如,未知的个体可能发现在被盗移动设备上的存储的经压缩和加密的口令。图7的方法可以从步骤704继续进行到步骤706,其中使用选择的密码作为密钥来对长口令进行解密。在实施例中,AES128位解密或任何其它合适的解密可以被使用。
图7的方法可以从步骤706继续进行到步骤708,其中解密的口令被解压缩。例如,Huffman解压缩算法或任何其它合适的算法可以被使用。图7的方法可以从步骤706继续进行到步骤708,其中确定解密的口令是否是合法的口令。
相对于先前其中没有使用压缩的迭代,此处未知的个体不太可能能够确定解密的和解压缩的口令是不合法的。这是因为压缩被设计为减少冗余。因为经压缩和加密的口令的每位携带重要性,所以当与没有压缩的、经加密的口令存储进行比较时,解压缩的和解密的口令中的高得多的部分将对于未知的个体好像是合法的口令。
例如,Huffman算法可以使用将特定的位序列链接到特定的符号的表格。Huffman表格可以基于特定的符号出现在现代语言中或口令中的概率。因此,在随机选择的短密钥用于对经压缩和加密的口令进行解密后,解密的口令将使用例如Huffman表格来解压缩。Huffman表格将确保长口令的解密的位然后被解压缩为来自Huffman表格的符号。因为Huffman表格包括在现代语言中使用的或口令中使用的符号,所以位将被解压缩为通常使用的符号。因此,解压缩的符号将好像是合法的口令。
在另一个示例中,考虑不执行压缩的八个字符ASCII编码的口令。ASCII包括256个可能的符号,其中它们中的大约70个可能频繁出现在口令中(例如字母A-Z和a-z;数字0-9;标点)。在一字符口令中,这将意味着解密的位中的大约28%(或70/256)将代表潜在的口令(例如包括频繁出现在口令中的字符的一字符口令)。然而,在八字符口令中,解密的位将代表潜在的口令的概率将降到0.28^8(对于八个字符中的每个为28%)或0.003%。正因为如此,对于加密的八字符ASCII编码的口令,暴力攻击具有高的成功概率,其中加密密钥是短密码。
在另一个示例中,当对加密的八字符ASCII编码的口令实现压缩时,该暴力攻击具有低得多的成功概率。压缩算法可以将短的位流分配到经常在口令中使用的ASCII编码的符号中的每个(例如,字母A-Z和a-z;数字0-9;标点)。当考虑到一字符口令时,解密的口令将包括随机的位流,并且解压缩算法将然后使解密的位流匹配到分配到最经常在口令中使用的ASCII编码的符号的短位流中的一个。因为该分配,在解压缩之后,一字符口令将具有好像是潜在的口令的非常高的概率(例如,接近100%)。因此,随着口令从一个字符增长到八个字符,随机解密的口令在解压缩之后将好似是潜在的口令的概率仍然接近100%。
在示例中,被解压缩的随机解密的口令的以上描述的概率是接近100%而不是为100%,是因为随机解密的口令(例如随机选择的位)可能包括未被正确地解压缩的部分字符的可能性。在实施例中,在压缩期间,例如,在图6中的步骤606期间,特定的字符可以被添加到口令,其指示口令的结束。该特定的字符可以连同口令的剩余部分一起被压缩。因此,在口令被解密和解压缩之后,算法可以通过特定的字符来确定口令的端部。在另一个实施例中,在特定的字符之后,随机数量的随机位可以在压缩期间被添加到口令。这还可以使试图基于口令长度将潜在的口令作为不合法口令丢弃的攻击者困惑。在实施例中,口令的长度可以连同口令一起被编码。例如,口令的长度可以被编码,使得算法可以检测添加的随机位的起始位置。那些熟悉压缩的技术人员将容易理解指示压缩序列的端部的其它技术。
图7的方法可以针对每个可能的短密码进行重复(例如,针对每个可能的4位数PIN)。在这项工作结束时,未知的个体可能留下合法的口令的长列表,并且可能难以确定正确的口令。
在实施例中,在图9的方法中使用的压缩算法是Huffman压缩算法。例如,Huffman算法可以使用表格以确定特定的符号(例如“a”)在语言中使用的概率。在实施例中,可以对口令专门创建Huffman表格,使得表格确定特定的符号(例如“a”)在口令中使用的概率。
以下是基于在剧本罗密欧和朱丽叶中的字符用法计算的Huffman表格的示例:
Huffman表格
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
Huffman表格
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
在实施例中,Huffman压缩可以针对口令中的每个字符使用单个表格。例如,字符“a”将被在口令中以相同的方式进行编码,无论其出现在哪里。在另一个实施例中,针对口令的每个字符可以计算不同的Huffman表格。例如,第一表格可以计算第一字符在口令中的概率,并且可以基于第一字符的计算的概率将位流分配到字符,并且第二表格可以计算口令中的第二字符的概率,并且可以基于第二字符的计算的概率将位流分配到字符。在该示例中,字符“a”可以基于其在口令中的位置来不同地编码。
在另一个实施例中,针对每个字符使用的不同的表格可以基于先前的文本。例如,第二字符的概率可以取决于第一字符的概率,例如,假如第一符号是“an”,那么第二符号是“e”的可能性有多大。
尽管已经以特定于结构特征和/或方法行为的语言描述了主题,但是应当理解的是,在所附权利要求中定义的主题不必限于以上描述的特定的特征或行为。相反,以上描述的特定的特征和行为被描述为所附权利要求的示例实现。

Claims (20)

1.一种方法,包括:
在移动计算设备接收短密码和长口令;
压缩所述长口令;
利用所述短密码作为密钥来对压缩的长口令进行加密;以及
存储经压缩和加密的长口令。
2.根据权利要求1所述的方法,其中所述压缩算法包括熵编码算法。
3.根据权利要求2所述的方法,其中所述熵编码算法包括Huffman压缩算法,使得针对所述长口令中的每个字符使用不同的Huffman表格。
4.根据权利要求3所述的方法,其中用于完成所述Huffman压缩算法的表格列举特定的字符出现在口令中的概率。
5.根据权利要求1所述的方法,其中所述压缩的口令在加密之前被填充。
6.根据权利要求1所述的方法,其中所述经压缩和加密的长口令被存储,使得使用每个可能的短密钥以解密多个口令的口令攻击将不能基于描述合法的口令的规则集来将经解密的口令中大多数作为不合法的口令来淘汰。
7.根据权利要求1所述的方法,其中当随机短密钥被用于对所述经压缩和加密的口令进行解密时,基于描述合法的口令的规则集,经解密的口令好像是合法的口令。
8.根据权利要求1所述的方法,其中所述短密码包括PIN号码,并且所述长口令被根据ASCII和Unicode中的一个来格式化。
9.一种计算设备,包括:
处理器,以及
存储器,其存储有当被所述处理器执行时配置所述计算设备来执行以下动作的指令:
在所述计算设备接收短密码和长口令;
压缩所述长口令;
利用所述短密码作为密钥来对经压缩的长口令进行加密;以及
将经压缩和加密的长口令存储在所述存储器中。
10.根据权利要求9所述的计算设备,其中所述压缩算法包括熵编码算法。
11.根据权利要求10所述的计算设备,其中所述熵编码算法包括Huffman压缩算法,使得针对在所述长口令中的每个字符使用不同的Huffman表格。
12.根据权利要求11所述的计算设备,其中用于完成所述Huffman压缩算法的表格列举特定的字符在口令中出现的概率。
13.根据权利要求9所述的计算设备,其中经压缩的口令在加密之前被填充。
14.根据权利要求9所述的计算设备,其中所述经压缩和加密的长口令被存储,使得使用每个可能的短密钥以解密多个口令的口令攻击将不能基于描述合法的口令的规则集来将所述解密的口令的一部分作为不合法的口令来淘汰。
15.根据权利要求9所述的计算设备,其中,当随机的短密钥被用于对所述经压缩和加密的口令进行解密时,基于描述合法的口令的规则集,经解密的口令好像是合法的口令。
16.根据权利要求9所述的计算设备,其中所述短密码包括PIN号码,并且所述长口令是根据ASCII和Unicode中的一个来格式化的。
17.一种或多种非暂时性计算机可读存储介质,其存储有当被数据处理***的一个或多个处理器执行时引起所述***执行以下动作的计算机可执行指令:
接收短密码和长口令;
压缩所述长口令;
利用所述短密码作为密钥来对经压缩的长口令进行加密;以及
存储经压缩和加密的长口令。
18.根据权利要求17所述的非暂时性计算机可读介质,其中所述压缩算法包括熵编码算法。
19.根据权利要求18所述的非暂时性计算机可读介质,其中所述熵编码算法包括Huffman压缩算法,使得针对在所述长口令中的每个字符使用不同的Huffman表格。
20.根据权利要求19所述的非暂时性计算机可读介质,其中用于完成所述Huffman压缩算法的表格列举特定的字符在口令中出现的概率。
CN201480037000.7A 2013-05-03 2014-04-29 使用压缩破坏口令攻击 Active CN105359155B (zh)

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
CN105359155A true CN105359155A (zh) 2016-02-24
CN105359155B CN105359155B (zh) 2018-01-02

Family

ID=50942797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480037000.7A Active CN105359155B (zh) 2013-05-03 2014-04-29 使用压缩破坏口令攻击

Country Status (6)

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

Families Citing this family (8)

* 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
KR102030883B1 (ko) 2016-07-08 2019-10-10 주식회사 엘지화학 다단형 퓨즈
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001077991A2 (en) * 2000-04-12 2001-10-18 Configate Inc. Voice-based authentication over a noisy channel
US20080012690A1 (en) * 2006-07-05 2008-01-17 Ulrich Friedrich Transponder, RFID system, and method for RFID system with key management
US20100208888A1 (en) * 2009-02-13 2010-08-19 Dominik Weber Password key derivation system and method

Family Cites Families (10)

* 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 データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置
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
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 华为终端有限公司 文件的保护方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001077991A2 (en) * 2000-04-12 2001-10-18 Configate Inc. Voice-based authentication over a noisy channel
US20080012690A1 (en) * 2006-07-05 2008-01-17 Ulrich Friedrich Transponder, RFID system, and method for RFID system with key management
US20100208888A1 (en) * 2009-02-13 2010-08-19 Dominik Weber Password key derivation system and method

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
JP6346942B2 (ja) 2018-06-20
KR20160005110A (ko) 2016-01-13
EP2992478B1 (en) 2019-06-12
EP2992478A1 (en) 2016-03-09

Similar Documents

Publication Publication Date Title
CN105359155A (zh) 使用压缩破坏口令攻击
CN109194673B (zh) 基于用户授权信息的认证方法、***、设备及存储介质
US10360402B2 (en) Intercepting sensitive data using hashed candidates
JP5735539B2 (ja) ネットワークを介して送信されるデータの暗号化および復号化システム、装置、および方法
KR101082917B1 (ko) 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템
CN103227786A (zh) 一种网站登录信息填入方法及装置
Wang et al. New chaotic encryption algorithm based on chaotic sequence and plain text
CN104899499A (zh) 基于互联网图片搜索的Web验证码生成方法
CN112437060A (zh) 一种数据传输方法、装置、计算机设备及存储介质
CN113722739B (zh) 梯度提升树模型的生成方法、装置、电子设备和存储介质
CN116488919B (zh) 一种数据处理方法、通信节点及存储介质
CN105678185B (zh) 一种数据安全保护方法以及智能终端管理***
CN110971589A (zh) 一种文件管理方法
CN113992345B (zh) 网页敏感数据加解密方法、装置、电子设备及存储介质
US11972000B2 (en) Information dispersal for secure data storage
Guan et al. A novel coverless text steganographic algorithm based on polynomial encryption
CN115344852A (zh) 弱口令的检测方法、装置、设备、存储介质及程序产品
US20220156449A1 (en) System and method for providing steganographic text encoding
Yuan et al. HTTP cookie covert channel detection based on session flow interaction features
CN115242389B (zh) 基于多级节点网络的数据混淆传输方法和***
CN115543392B (zh) 可信程序升级方法、装置、设备及存储介质
US20220351074A1 (en) Encrypting data in a machine learning model
Kong et al. A fine-grained reversible data hiding in encrypted domain based on the cipher-text redundancy of encryption process
CN115022037A (zh) 一种数据传输方法、装置、设备及存储介质
JP2016148722A (ja) 秘匿パターンマッチング装置、端末装置、その方法、プログラム、およびデータ構造

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant