CN106027261B - 基于fpga的luks认证芯片电路及其密码恢复方法 - Google Patents

基于fpga的luks认证芯片电路及其密码恢复方法 Download PDF

Info

Publication number
CN106027261B
CN106027261B CN201610329181.1A CN201610329181A CN106027261B CN 106027261 B CN106027261 B CN 106027261B CN 201610329181 A CN201610329181 A CN 201610329181A CN 106027261 B CN106027261 B CN 106027261B
Authority
CN
China
Prior art keywords
module
pbkdf2
user key
key
aes128
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.)
Active
Application number
CN201610329181.1A
Other languages
English (en)
Other versions
CN106027261A (zh
Inventor
李晓潮
曹春辉
吴孔程
李鹏涛
李琳
郭东辉
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.)
Tuoer Microelectronics Co ltd
Original Assignee
Xiamen University
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 Xiamen University filed Critical Xiamen University
Priority to CN201610329181.1A priority Critical patent/CN106027261B/zh
Publication of CN106027261A publication Critical patent/CN106027261A/zh
Application granted granted Critical
Publication of CN106027261B publication Critical patent/CN106027261B/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/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/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

基于FPGA的LUKS认证芯片电路及其密码恢复方法。芯片电路设控制、密码生成、3个用户密钥PBKDF2、用户密钥选择、AES128密钥扩展、AES128解密、BRAM存储、反取证合并、哈希校验值PBKDF2和比较共12个模块。密码恢复方法:FPGA处理器解析加密的LUKS镜像文件获取认证需要的数据;处理器将认证需要的数据写入控制模块的寄存器;处理器向LUKS认证芯片电路发送启动信号,芯片电路进行密码恢复;处理器启动芯片电路后监测芯片电路控制模块中状态寄存器,获取认证是否完毕及认证是否成功的信息;处理器监测到认证完毕,若成功,向控制台输出认证恢复的密码;若失败,输出密码恢复失败信息。

Description

基于FPGA的LUKS认证芯片电路及其密码恢复方法
技术领域
本发明涉及信息安全,尤其是涉及一种基于FPGA的LUKS认证芯片电路及其密码恢复方法。
背景技术
LUKS(Linux Unified Key Setup)是Linux系统下常用的磁盘加密技术之一,通用于Linux的各个版本(Clemens Fruhwirth,LUKS On-Disk Format Specification Version1.1.1,https://gitlab.com/cryptsetup/cryptsetup/wikis/LUKS‐standard/on‐disk‐format.pdf,October 16,2011)。它是一种数据加密标准,与平台无关,在Android平台都有相关应用,如LUKS Manager。随着Linux操作系统和手机Android操作系统的普及,被广泛使用。
目前针对LUKS认证机制的分析研究多基于通用CPU或者GPU(Graphic ProcessingUnit,图形处理器)的硬件平台下,尽管其运行速度较快,但是随着GPU不断的更新迭代,目前的性能已经受制于高功耗的困扰。由于运行速度和能耗比值这个关键指标比较差,使得基于多核CPU或GPU平台方案的小型化和进一步提高空间受到限制。
现场可编程门阵列(Field-Programmable Gate Array,FPGA)是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前,FPGA芯片中还加入了ARM等处理器,这种处理器系统与可扩展编程逻辑单元的全新组合的设计大大方便了专用芯片电路的应用开发,在具有开发灵活性的同时又具备强大的并行处理能力。近年来,将特定密码算法在FPGA中进行兑现,以提高算法的处理速度是密码领域的一个研究热点(Reza Rezaeian Farashahi,Bahram Rashidi,Sayed MasoudSayedi.FPGA based fast and high-throughput 2-slow retiming 128-bit AESencryption algorithm,Microelectronics Journal,vol.45,2014,pp.1014-1025)。
中国专利201310310685公开了一种电子系统认证芯片,数据解密采用64位的DES算法,其认证机制是自行开发并不是一个公开的认证机制规范。相对于被Linux和Android操作系统广泛商用的LUKS认证机制而言,其应用范围和实用性都很有限。
为了满足高性能、低功耗的设计需求,利用具有高度并行计算能力的FPGA芯片,来实现LUKS认证机制电路并应用在其密码恢复上,具有非常广阔的应用市场。然而目前还没有基于这种方案来实现LUKS认证机制的芯片电路及其密码恢复方法。
发明内容
本发明的目的在于提供一种可解决目前缺乏LUKS认证机制专用电路,认证运算速度和能耗比低等问题,可实现快速、低功耗的LUKS密码认证和密码恢复功能的基于FPGA的LUKS认证芯片电路。
本发明的另一目的在于提供一种基于FPGA的LUKS认证芯片电路的密码恢复方法。
所述基于FPGA的LUKS认证芯片电路设有控制模块、密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块;
通过FPGA内部AXI总线连接FPGA处理器与LUKS认证芯片电路,利用运行在FPGA处理器上的FPGA处理器,输入认证数据、启动LUKS认证芯片电路并实现密码恢复方法;
所述控制模块分别与密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块连接,控制模块通过输入的状态信号对密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块进行监测,并生成对应输出控制信号对密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块的工作时序进行控制,实现LUKS认证功能;密码生成模块的输出端分别与第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块的输入端连接,为第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块分别提供用户密码;第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块的输出端与用户密钥选择模块的输入端连接,用于输出用户密钥;用户密钥选择模块的输出端与AES128密钥扩展模块的输入端连接,根据控制模块的输出控制信号选择输出对应的用户密钥;AES128密钥扩展模块的输出端与AES128解密模块的输入端连接,用于输出AES128解密所需密钥;AES128解密模块的输入端与BRAM存储模块的输出端连接,用于读取BRAM存储模块的加密数据进行解密,AES128解密模块的输出端与反取证合并模块的输入端连接,为反取证合并模块输出待合并的数据;反取证合并模块的输出端与哈希校验值PBKDF2模块输入端连接,用于输出由用户密码计算得来的主密钥;哈希校验值PBKDF2模块的输出端与比较模块的输入端连接,用于输出由用户密码计算的密钥的哈希校验值;比较模块的输入端与控制模块的输出端连接,用于读取主密钥的哈希校验值与生成的哈希校验值进行比较,并将比较结果输出给控制模块。
所述LUKS认证芯片电路中的核心模块是控制模块,该控制模块用于监测和控制其它11个模块,完成LUKS认证功能,同时该控制模块与FPGA处理器进行数据通信,获取LUKS认证所需初始化数据以及配置数据供其他模块调用;密码生成模块,对密码空间内的密码进行遍历,生成用户密码分别给第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块;第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块派生出用户密钥;用户密钥选择模块在控制模块的控制下对用户密钥选择输出;AES128密钥扩展模块针对用户密钥进行密钥扩展;AES128解密模块采用AES128密钥扩展模块扩展的密钥,对存储于BRAM存储模块的加密数据进行设定模式的解密,并将解密结果输出给反取证合并模块;反取证合并模块对解密的数据进行合并成主密钥;哈希校验值PBKDF2模块将反取证合并模块合并的密钥派生出哈希校验值,输出给比较模块;比较模块读取存储在控制模块的主密钥哈希校验值与生成的哈希校验值进行比较,并将比较结果输出给控制模块,控制模块根据其比较结果发出对应控制信号。
一种基于FPGA的LUKS认证芯片电路的密码恢复方法,包括以下步骤:
1)FPGA处理器解析加密的LUKS镜像文件,获取认证需要的数据;
在步骤1)中,所述认证需要的数据包括迭代次数、盐值和哈希校验值等。
2)FPGA处理器将认证需要的数据通过AXI总线接口写入LUKS认证芯片电路中控制模块的寄存器;
3)FPGA处理器通过AXI总线接口向LUKS认证芯片电路发送启动信号,LUKS认证芯片电路开始进行密码恢复工作;
4)FPGA处理器启动LUKS认证芯片电路后通过AXI总线接口监测LUKS认证芯片电路控制模块中状态寄存器,获取认证是否完毕以及认证是否成功的信息;
5)FPGA处理器监测到认证完毕,若认证成功,则向控制台输出认证恢复的密码;若认证失败,则输出密码恢复失败信息。
所述密码恢复方法基于LUKS认证芯片电路设计了密码恢复FPGA处理器。该方法从LUKS镜像文件的卷头中解析出迭代次数、盐值和哈希校验值,并将这些数据和设置通过AXI总线输入控制模块2的相应寄存器,之后启动LUKS认证芯片电路。此外,此模块还负责监测LUKS认证芯片是否认证完毕和认证成功,监测到认证完毕状态后,若认证成功,则向控制台输出恢复的密码,否则输出密码恢复失败信息。
本发明利用高性能、低功耗、高并行计算能力的FPGA处理器(软件功能模块),给出了一种基于FPGA的LUKS认证芯片电路及其密码恢复方法。它集成了处理器的软件可编程性与FPGA的硬件可编程性,还通过优化的架构提供系统级性能提升,并获得较低系统功耗。
本发明实现了LUKS认证的专用芯片电路及其应用开发,在具有开发灵活性的同时又具备强大的并行处理能力,同时具有高性能、低功耗等优点。
附图说明
图1为本发明所述基于FPGA的LUKS认证芯片电路的结构组成框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述。
如图1所示,本发明的基于FPGA的LUKS认证芯片电路及其密码恢复方法,包括FPGA处理器和LUKS认证芯片电路;LUKS认证芯片电路设有控制模块2、密码生成模块3、第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6、用户密钥选择模块7、AES128密钥扩展模块8、AES128解密模块9、BRAM存储模块10、反取证合并模块11、哈希校验值PBKDF2模块12和比较模块13;FPGA处理器1通过AXI总线接口连接LUKS认证芯片电路中控制模块2;LUKS认证芯片电路中控制模块2连接着其它11个模块,通过输入的状态信号对其它11个电路模块进行监测,并生成对应输出控制信号对其它11个电路模块的工作时序进行控制,从而实现LUKS认证功能;密码生成模块3的输出与第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6的输入连接,为第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6分别提供用户密码;第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6的输出与用户密钥选择模块7的输入连接,输出用户密钥;用户密钥选择模块7的输出与AES128密钥扩展模块8的输入连接,根据控制模块2的输出控制信号选择输出对应的用户密钥;AES128密钥扩展模块8的输出与AES128解密模块9的输入连接,输出AES128解密所需密钥;AES128解密模块9的输入与BRAM存储模块10的输出连接,读取BRAM存储模块10的加密数据进行解密,其输出与反取证合并模块11的输入连接,为反取证合并模块11输出待合并的数据;反取证合并模块11的输出与哈希校验值PBKDF2模块12输入连接,输出由用户密码计算得来的主密钥;哈希校验值PBKDF2模块12的输出与比较模块13的输入连接,输出由用户密码计算的密钥的哈希校验值;比较模块13的输入与控制模块2的输出连接,读取主密钥的哈希校验值与生成的哈希校验值进行比较,并将比较结果输出给控制模块2。
在本发明实施例中,用户密钥PBKDF2模块执行一次计算所需要的时间较长,因此本发明使用并行的第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5和第三用户密钥PBKDF2模块6来生成用户密钥,以提高整体系统性能。
FPGA处理器1主要实现解析LUKS加密镜像文件获取认证需要的数据,这些数据包括PBKDF2模块需要的迭代次数、盐值和比较模块13需要的哈希校验值;将解析LUKS加密镜像文件得到的数据输入LUKS认证芯片电路中控制模块2的相应寄存器;数据输入完毕后,向LUKS认证芯片电路输入启动信号,LUKS认证芯片电路开始进行密码恢复工作;通过获取LUKS认证芯片电路控制模块2中状态寄存器的值监测LUKS认证芯片电路的认证状态;当监测到认证完毕后,若认证成功则向控制台输出恢复的密码,否则输出密码恢复失败信息。
LUKS认证芯片电路,控制模块2将对应迭代次数,盐值等数据输入到第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6和哈希校验值PBKDF2模块12,将哈希校验值输入到比较模块13,且控制模块2在接收到FPGA处理器1的启动信号后启动密码生成模块3做密码生成运算。密码生成模块3生成三个密码,同时输出给控制模块2密码已经生成和密码空间是否遍历完成的信息,并将这个三个密码分别输出给第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6。控制模块2控制第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6接收密码后派生出三个用户密钥,同时第一用户密钥PBKDF2模块4、第二用户密钥PBKDF2模块5、第三用户密钥PBKDF2模块6输出给控制模块2用户密钥已经生成的信号。控制模块2接收到用户密钥已经生成的信号后,控制用户密钥选择模块7依次选择生成的用户密钥输入AES128密钥扩展模块8。控制模块2启动AES128密钥扩展模块8进行密钥扩展,AES128密钥扩展模块8扩展出密钥,并输出给控制模块2密钥扩展完毕的信号。控制模块2启动AES128解密模块9,并控制AES128解密模块9用AES128密钥扩展模块8扩展出的密钥循环解密N次(N值根据LUKS认证机制由控制模块2配置),每次从BRAM存储模块10获取128密文数据进行解密得到相应的明文,并将明文输入反取证合并模块11,然后进行下轮解密。控制模块2控制反取证合并模块11处理从AES128解密模块9接收的明文数据,同样需要循环执行N次,最终得到主密钥,将该主密钥输入哈希校验值PBKDF2模块12,同时输出给控制模块2完成N次循环得到主密钥的信号。控制模块2控制哈希校验值PBKDF2模块12派生出哈希校验值,并将该值输入比较模块13,同时输出给控制模块2哈希校验值生成的信号。比较模块13由控制模块2控制将生成的哈希校验值与控制模块2输入的哈希校验值进行比较,两者匹配则认证成功,不匹配则认证失败,并将认证是否成功的信息输出给控制模块2。控制模块2接收比较模块13的认证结果后,若认证成功则结束认证,且将认证恢复的密码和认证成功的信息写入状态寄存器,等待FPGA处理器1读取;若认证失败,控制模块2判断是否遍历完整个密码空间,若密码遍历完毕则将认证失败的信息写入状态寄存器,否则控制模块2控制LUKS认证芯片电路进入下一个密码认证操作,并将认证未完成的信息写入状态寄存器,等待FPGA处理器1读取。
本发明的基于FPGA的LUKS认证芯片电路的密码恢复方法,包括以下步骤:
1)FPGA处理器解析加密的LUKS镜像文件,获取认证需要的数据;所述认证需要的数据包括迭代次数、盐值和哈希校验值等;
2)FPGA处理器将认证需要的数据通过AXI总线接口写入LUKS认证芯片电路中控制模块的寄存器;
3)FPGA处理器通过AXI总线接口向LUKS认证芯片电路发送启动信号,LUKS认证芯片电路开始进行密码恢复工作;
4)FPGA处理器启动LUKS认证芯片电路后通过AXI总线接口监测LUKS认证芯片电路控制模块中状态寄存器,获取认证是否完毕以及认证是否成功的信息;
5)FPGA处理器监测到认证完毕,若认证成功,则向控制台输出认证恢复的密码;若认证失败,则输出密码恢复失败信息。
本发明利用FPGA中的可编程逻辑电路部分实现LUKS认证芯片电路,通过FPGA内部AXI总线连接FPGA处理器与LUKS认证芯片电路,利用运行在FPGA处理器上的FPGA处理器,输入认证数据、启动LUKS认证芯片电路并实现密码恢复方法。本发明实现LUKS认证芯片电路在认证速度以及功耗上具有良好的性能,并具有灵活性、实用性,可用于密码认证和恢复的实际应用中。

Claims (1)

1.基于FPGA的LUKS认证芯片电路,其特征在于设有控制模块、密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块;
通过FPGA内部AXI总线连接FPGA处理器与LUKS认证芯片电路,利用运行在FPGA处理器上的FPGA处理器,输入认证数据、启动LUKS认证芯片电路并实现密码恢复方法;
所述控制模块分别与密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块连接,控制模块通过输入的状态信号对密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块进行监测,并生成对应输出控制信号对密码生成模块、第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块、用户密钥选择模块、AES128密钥扩展模块、AES128解密模块、BRAM存储模块、反取证合并模块、哈希校验值PBKDF2模块和比较模块的工作时序进行控制,实现LUKS认证功能;密码生成模块的输出端分别与第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块的输入端连接,为第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块分别提供用户密码;第一用户密钥PBKDF2模块、第二用户密钥PBKDF2模块、第三用户密钥PBKDF2模块的输出端与用户密钥选择模块的输入端连接,用于输出用户密钥;用户密钥选择模块的输出端与AES128密钥扩展模块的输入端连接,根据控制模块的输出控制信号选择输出对应的用户密钥;AES128密钥扩展模块的输出端与AES128解密模块的输入端连接,用于输出AES128解密所需密钥;AES128解密模块的输入端与BRAM存储模块的输出端连接,用于读取BRAM存储模块的加密数据进行解密,AES128解密模块的输出端与反取证合并模块的输入端连接,为反取证合并模块输出待合并的数据;反取证合并模块的输出端与哈希校验值PBKDF2模块输入端连接,用于输出由用户密码计算得来的主密钥;哈希校验值PBKDF2模块的输出端与比较模块的输入端连接,用于输出由用户密码计算的密钥的哈希校验值;比较模块的输入端与控制模块的输出端连接,用于读取主密钥的哈希校验值与生成的哈希校验值进行比较,并将比较结果输出给控制模块。
CN201610329181.1A 2016-05-18 2016-05-18 基于fpga的luks认证芯片电路及其密码恢复方法 Active CN106027261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610329181.1A CN106027261B (zh) 2016-05-18 2016-05-18 基于fpga的luks认证芯片电路及其密码恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610329181.1A CN106027261B (zh) 2016-05-18 2016-05-18 基于fpga的luks认证芯片电路及其密码恢复方法

Publications (2)

Publication Number Publication Date
CN106027261A CN106027261A (zh) 2016-10-12
CN106027261B true CN106027261B (zh) 2018-12-21

Family

ID=57098241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610329181.1A Active CN106027261B (zh) 2016-05-18 2016-05-18 基于fpga的luks认证芯片电路及其密码恢复方法

Country Status (1)

Country Link
CN (1) CN106027261B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650104B (zh) * 2016-12-25 2019-09-20 厦门大学 考虑互耦效应的宽带非频变稀疏阵列综合方法
CN107135078B (zh) * 2017-06-05 2019-12-20 浙江大学 Pbkdf2密码算法加速方法及所用装置
CN107291898B (zh) * 2017-06-22 2020-07-10 厦门大学 基于FPGA的MySQL认证密码恢复系统及其方法
CN108898033B (zh) * 2018-06-15 2020-12-08 中国电子科技集团公司第五十二研究所 一种基于fpga的数据加解密系统
CN108900307B (zh) * 2018-07-06 2020-03-24 厦门大学 Pgp密钥管理认证密码恢复算法的fpga实现方法
CN113839773B (zh) * 2021-08-17 2024-07-19 厦门市美亚柏科信息股份有限公司 一种luks密钥离线提取方法、终端设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102355459B (zh) * 2011-09-27 2014-04-09 北京交通大学 基于TPM的可信Web网页的实现方法
CN103440451A (zh) * 2013-07-23 2013-12-11 福州福大海矽集成电路有限公司 一种基于des的电子系统认证芯片
US9769181B2 (en) * 2014-06-23 2017-09-19 International Business Machines Corporation Mobile device storage volume encryption with geography correlated key management and mount operations

Also Published As

Publication number Publication date
CN106027261A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
CN106027261B (zh) 基于fpga的luks认证芯片电路及其密码恢复方法
US20220138349A1 (en) Cryptographic architecture for cryptographic permutation
KR102444239B1 (ko) 보안 칩, 어플리케이션 프로세서, 보안 칩을 포함하는 디바이스 및 그 동작방법
CN108345806B (zh) 一种硬件加密卡和加密方法
US8543838B1 (en) Cryptographic module with secure processor
EP3937421B1 (en) Blockchain integrated station and cryptographic acceleration card, key management methods and apparatuses
CN110580420B (zh) 基于集成芯片的数据处理方法、计算机设备、存储介质
CN102663326B (zh) 用于SoC的数据安全加密模块
CN108011716B (zh) 一种密码装置及实现方法
CN109726598A (zh) 基于云服务器的嵌入式安全加密芯片
US11030317B2 (en) Independently recoverable security for processor and peripheral communication
TWI609289B (zh) 用於提供記憶體機密性、完整性及重播保護的低負擔密碼方法、系統及處理器
WO2017041603A1 (zh) 数据加密方法、装置及移动终端、计算机存储介质
JP7222971B2 (ja) 記憶データの暗号化及び復号の機器及び方法
US10776522B1 (en) Asymmetric protection of circuit designs
CN109460639A (zh) 一种license授权控制方法、装置、终端及存储介质
US11829483B2 (en) Platform security mechanism
CN108933651B (zh) 基于soc的保密通信系统及保密通信的方法
CN112257119B (zh) 一种身份认证方法及用于保证加密装置安全的保护方法
CN113158203A (zh) 一种soc芯片、电路和soc芯片的外部数据读写方法
EP4156014A1 (en) Integrated circuit package reconfiguration mechanism
CN116881945B (zh) 一种基于tpcm的固态硬盘加解密方法、系统及电子设备
KR101636671B1 (ko) 타원곡선 암호화 기반의 복제 불가능한 스마트미터 칩
CN114244521A (zh) 一种应用于边缘计算的密码系统实现方法
Sathiya et al. A Framework for Secure Mobile Database Transactions using Cryptographic Co-processor

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220525

Address after: 710000 A201, zero one Plaza, Xi'an Software Park, No. 72, Keji Second Road, high tech Zone, Xi'an, Shaanxi

Patentee after: Tuoer Microelectronics Co.,Ltd.

Address before: Xiamen City, Fujian Province, 361005 South Siming Road No. 422

Patentee before: XIAMEN University