CN108369784A - 具有密钥相关掩码计算步骤(sbox调用)的加密算法 - Google Patents

具有密钥相关掩码计算步骤(sbox调用)的加密算法 Download PDF

Info

Publication number
CN108369784A
CN108369784A CN201680072087.0A CN201680072087A CN108369784A CN 108369784 A CN108369784 A CN 108369784A CN 201680072087 A CN201680072087 A CN 201680072087A CN 108369784 A CN108369784 A CN 108369784A
Authority
CN
China
Prior art keywords
key
new
mask
subk
tabs
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
CN201680072087.0A
Other languages
English (en)
Other versions
CN108369784B (zh
Inventor
S.鲍尔
H.德雷克斯勒
J.普尔库斯
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.)
Quartech Mobile Security LLC
Original Assignee
Quartech Mobile Security LLC
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 Quartech Mobile Security LLC filed Critical Quartech Mobile Security LLC
Publication of CN108369784A publication Critical patent/CN108369784A/zh
Application granted granted Critical
Publication of CN108369784B publication Critical patent/CN108369784B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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)
    • 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
    • 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/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • 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
    • H04L2209/122Hardware reduction or efficient architectures
    • 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/16Obfuscation or hiding, e.g. involving white box
    • 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

Landscapes

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

Abstract

本发明提供了一种具有在其上实施的加密算法(AES、DES)的可执行实施方式的处理器设备,该算法被建立以使用秘密密钥K从输入文本产生输出文本,其中该算法的实施方式:包含密钥相关计算步骤S,其包含从输入文本直接或间接地导出的输入值x与从密钥直接或间接地导出的密钥值SubK的密钥链接;以及密钥相关计算步骤S由利用输入掩码和/或输出掩码来掩码以形成掩码的表TabSSubK的表来表示。处理器设备包含密钥更新设备,其被设置用于密钥相关计算步骤S中执行从导出的密钥值SubK到新导出的密钥值SubKneu的密钥更新方法,其中,在密钥更新方法中:使用导出的密钥值SUbK、新导出的密钥值SubKneu和所利用的输入掩码和/或输出掩码计算出的密钥改变数据可用于所述处理器设备,特别是所述密钥更新设备,借助密钥改变数据,在处理器设备,特别是密钥更新设备中生成新的掩码表TabSKneu,所述表被建立以使用新的掩码表TabSicneu计算用于新导出的密钥值SubKneu的密钥相关计算步骤S。

Description

具有密钥相关掩码计算步骤(SBOX调用)的加密算法
技术领域
本发明涉及实现了加密算法(诸如包括密钥相关掩码计算步骤的DES或AES)的处理器设备。特别的,本发明涉及借助白盒密码术保护加密算法抵抗攻击的技术领域并且在适于白盒密码术的表现中实现了加密算法。
背景技术
本发明含义内的处理器设备理解为具有处理器的设备或者其他对象,例如移动终端,诸如智能电话。由加密算法(诸如,PIN、密码、加密密钥等)使用的安全关键数据以安全的方式提供给处理器设备。传统地,通过(灰盒)加密来使得安全关键数据安全,以保护其对抗未经授权的人员的攻击。出于此目的,数据被提供在移动终端的安全元件上,所述安全元件在硬件方面是独立的,例如可从移动终端移除的SIM卡。
当前的处理器设备通常具有闪存作为用于应用程序和用于加密算法的存储器。以此方式,能在稍后改变应用和算法。以前惯用的EEPROM和ROM存储器越来越多地被取代。
还特别应用于不具有独立安全元件的移动终端的替代的解决方法是基于白盒密码术。通过加密算法的白盒实施方式,试图在以下实施方式中隐藏安全关键数据,特别是秘密的加密密钥:已完全获取该实现方式的攻击者并未处于从该实现方式中提取安全关键数据的位置。AES加密算法(AES=Advanced Encryption Standard)的白盒实施方式例如从出版物[1]James A.Muir Cryptology ePrint Archive,Report 2013/104的“A Tutorial onWhite-box AES”已知。同样地,商业地散布加密算法或例程的白盒实施方式。
加密算法的理想白盒实施方式保持诸如加密密钥的安全关键数据被隐藏,使得不能通过攻击来探悉(ascertain)它们。
在本专利申请的申请人的专利申请DE 10 2014 016 548.5中,描述了一种用于测试在处理器上可运行的加密算法的白盒实施方式的方法,利用所述方法发明人已经能够通过攻击探悉安全关键数据,根据白盒的概念,这实际上应该是不可能的。从这个角度来看,测试的白盒实施方式由于它们的脆弱性而不再是所定义的完美的白盒,但是由于它们的完美的目标,下文中仍称其为白盒实施方式。
在NXP公司的专业出版物[3]“Differential Computation Analysis:Hidingyour White-Box Designs is Not Enough”,J.W.Bos,Ch.Hubain,W.Michiels,andPh.Teuwen,eprint.iacr.org/2015/753中公开了一种与上述专利申请10 2014 016 548.5类似的测试方法,通过该方法,同样能通过统计方法从加密算法的白盒实施方式中探悉密钥。
本申请的发明人已经开发了用于函数f的三个设计规则,利用该函数f,能对加密算法,特别是诸如数据加密标准DES(亦或AES)的块密码进行白盒掩码,使得专利申请102014 016 548.5中描述的攻击被阻止或至少难以进行。此处的基本原理是将安全关键计算步骤的输出值和与其统计独立的值/比特(所谓的混淆值/位y)组合。此处统计独立意味着,当输入值x随机变化时,计算步骤S[x]的输出值与混淆值/位不相关或者仅小程度地相关。这些设计规则在单独的专利申请中描述。该设计规则最初基于加密算法的标准表示(特别是数据加密标准DES)而被开发,并且变成存储器密集型(memory-intensive)并且实现繁琐(cumbersome)。在进一步的应用中,发明人描述了一种替代的DES表示,其中所开发的用于函数f的设计规则较容易应用于加密算法,特别是DES。在文档[4]“A White-Box DESImplementation for DRM Applications”,S.Chow,P.Eisen,H.Johnson,P.C.vanOorschot,pre-proceeding for ACM DRM-2002Oct 15,2002中,作者发现DES的白盒实施方式要求很高(demanding)(例如,[4]的第2页第5段),并且开发了DES的替代表示,其能较容易地扩展到白盒实施方式。
DES具有几个轮次,并且在DES的不同轮次中通常使用不同的轮次密钥。因此,上述两个具有白盒掩码的替代DES表示通常需要用于每一轮次中的密钥相关(key-dependent)计算步骤的不同的表。因而,这两个替代DES表示包含多个密钥相关表。因此,这些替代DES表示具有高的存储器需求。此外,在每个密钥更新时,必须将新的密钥相关表提供给加密算法,例如从外部发送到其中实施了该算法的处理器设备。因而,密钥更新是通信和存储器密集的。
文档WO 2010146139 A9公开了根据权利要求1的前序部分的AES的白盒实施方式,其中权利要求1的范围针对算法AES。这里,AES的一个轮次中出现的两个计算步骤SubBytes(其中包含了S-box操作)和AddRoundKey(其中并入了所使用的密钥)被组合为单个密钥相关步骤。以此方式,所使用的密钥隐藏在S-box操作中。文档WO 2010146139A9还公开了加入XOR和SBOX操作的密钥相关计算步骤,并且该密钥相关计算步骤是通过密钥相关查找表(在文档中也称为T-box T)和用于该密钥相关查找表(T-box)的密钥更新方法来实现。T-box(图9:box 920+930)以使用函数Uk=a°Tk°a-1掩码的T-box白盒的形式呈现,其中k是当前使用的轮次密钥。为了在算法运行时在掩码的T-box Uk上产生从当前密钥k到新密钥k^的密钥更新,根据t=a(kXOR k^)计算的密钥更新信息项(称为“Key Substitute”)(图6:box664;图9:操作990,图10a-c:box 665,666+667,668)经由“密钥转换单元”(图6:box 620)应用到掩码T-box Uk的输入数据。由此,在算法运行时,当在掩码T-box U中执行表调用时,产生这样的表输出,类似于利用具有新密钥k^的已更新的掩码T-box Uk^产生的表输出。然而,在实施方式中,保持了利用旧密钥产生的未改变的、原始的、掩码T-Box Uk。在实施方式中,添加了“密钥转换单元”和用于密钥更新信息“Key Substitute”的存储器区域。
WO 2010146139 A9中的解决方案的缺点是附加的“密钥转换单元”增加了实施方式的运行时间和存储器需求。
WO 2010146139 A9中的解决方案的又一缺点是修改后的实施方式现在包含关于新密钥和旧密钥的信息。必须假定现在呈现的关于两个不同密钥的信息将例如通过统计评估的方式促使对于白盒实施方式的某些攻击。
在文献中,考虑到白盒实施方式容易受到某种类型的攻击的程度,对其进行分析。白盒实施方式的修改具有这样的效果:对攻击类型的分析结果不再能应用于评估现在修改后的实施方式的安全等级。白盒实施方式通过附加的“密钥转换单元”被修改。因此,必须从头重新执行攻击类型的可能性分析。
本发明的目的是指定具有加密算法(例如DES或者AES)的实施方式的处理器设备,其包含白盒掩码的密钥相关计算步骤,其允许节省存储器、节省通信以及在密钥相关计算步骤上安全和高效的密钥更新。此外,在具有若干轮次的算法中,并且在不同轮次中使用不同的密钥,该实施方式允许所述若干轮次的密钥相关计算步骤的节省存储器和通信的实现。
发明内容
该目的由根据权利要求1的处理器设备来实现。在从属权利要求中指定本发明的实施例。
根据权利要求1的处理器设备配备有在其上实施的加密算法(诸如AES或者DES)的可运行的实施方式。该算法适用于使用了密钥K从输入文本产生输出文本。该算法的实施方式包含掩码密钥相关计算步骤T',其包含从输入文本直接或间接地导出的输入值x与从密钥直接或间接地导出的密钥值SubK的密钥组合。掩码密钥相关计算步骤T'通过实施方式中的表来表示,所述表掩码有输入掩码、和/或输出掩码以形成掩码表TabSSubK。处理器设备还包含密钥更新设备,其适于在掩码密钥相关计算步骤T'上执行从导出的密钥值SubK到新导出的密钥值SubKneu的密钥更新方法。在密钥更新方法中,还对处理器设备,特别是密钥更新设备提供密钥改变数据,使用导出的密钥值SubK、新导出的密钥值SubKneu以及所使用的输入掩码和/或输出掩码来计算所述密钥改变数据。
本发明的特征在于,在密钥更新方法中,还借助密钥改变数据在处理器设备中,特别是在密钥更新设备中生成新的掩码表TabSKneu,所述新的掩码表适用于借助新的掩码表TabSKneu计算用于新导出的密钥值SubKneu的密钥相关计算步骤S。在处理器设备中实施新的掩码表TabSKneu,使得新的掩码表TabSKneu之后在算法运行时在处理器设备中可用。
与用于第二密钥的完整(full)第二表相比,密钥改变数据具有低的存储器需求。因此,由于使用了密钥改变数据,该实施方式是节省存储器的。密钥改变数据向处理器设备的转移同时意味着少量数据要通信。
如果期望的话,原始的掩码表TabSK不再被需要,甚至可以被新的掩码表TabSKneu覆盖。在此种方式下,可以进一步节省存储空间。另外,在将新的掩码表TabSKneu覆盖到原始的掩码表上的情况下,关于原始密钥的任何信息被从实施方式中移除。实施方式中保留(remain)的信息继续是关于新密钥的信息。由此排除了可能性统计和类似攻击,并且增加安全性。
由于仅仅是旧表TabSK被新的、结构相同的表TabSKneu替代,所以实施方式本身就密钥更新而言保持不变。因此,已经对不具有密钥更新设备的处理器设备执行攻击类型的分析可以重新用于根据本发明的具有密钥更新设备的处理器设备。具体地,该实施方式不包含附加的实施操作,诸如,例如WO 2010146139 A9的解决方法中所需要的“密钥转换单元”。由此,该算法运行时实施方式的效率(运行速度、计算速度)被保持(retain),并且没有特别地增加。此外,根据本发明的密钥更新在算法运行前(即,在使用该算法的应用已经接收到密钥改变数据之后的阶段中)就已经执行。在运行时,当算法运行时,仅有必要对新的掩码表TabSKneu执行密钥相关表调用。这些效果增加了实施方式的效率。由于此时期望非常短的交易时间,因而这对于将算法的运行集成在非接触式数据转移中的应用尤其重要。作为典型示例,在此应当提到移动电话上的支付应用,其经由NFC接口(近场通信)连接到支付终端。
因此,根据权利要求1,处理器设备被创建了例如DES或AES的加密算法的实施方式,加密算法包含白盒掩码的密钥相关计算步骤,其允许节省存储器、节省通信以及在密钥相关计算步骤上安全和高效的密钥更新。
可选地,处理器设备包含可变存储器设备,特别是闪存,在其中建立该实施方式。
密钥改变数据优选地比掩码表具有更低的存储器需求。
可选地,算法包含若干轮次j=1,...,n。作为导出的密钥值SubK,提供了由掩码密钥相关计算步骤T'处理的轮次j的轮次密钥kj的轮次密钥部分。作为新导出的密钥值SubKneu,提供了由掩码密钥相关计算步骤T'处理的不同轮次l,特别是该轮次之后的轮次j+1的轮次密钥的轮次密钥部分。借助于来自该轮次的掩码表TabSK的改变密钥数据,由此导出不同轮次的,特别是随后的轮次的新的掩码表TabSKneu。该方法具有的优点在于,可以从一个表TabSK导出具有不同轮次密钥部分Kneu的若干表TabSKneu。因此,能在任何给定的时间从一个存储的表生成其他轮次的表,因而节省了存储空间。缺点是新生成的表具有与原始表相同的掩码,因此,此方法降低了实施方式的安全性。
可选地,该算法包含多个n,特别是10(AES)或者16(DES)个轮次,其中对于部分轮次,使用来自不同轮次的,特别是该轮次先前的轮次的各个掩码表TabSK的密钥改变数据来导出各个新的掩码表TabSKneu。特别的,因此可能贯穿整个算法地、一个轮次一个轮次地从各个先前轮次的掩码表TabSK计算用于新的轮次的轮次密钥的新的掩码表TabSKneu
可选地,处理器设备适用于,在运行时,当算法在处理器设备上运行时,提供用于计算步骤S的两个或若干表,所述表掩码有两个或若干不同的输入掩码和/或输出掩码以形成掩码表Tab1SSubK、Tab2SSubK、Tab3SSubK、...,其中包含新密钥SubKneu的新的掩码表TabSKneu从掩码表Tab1SSubK、Tab2SSubK、Tab3SSubK、...中的一个生成。以此种方式,实现了不同掩码可用于应用的效果。与其中仅使用一个表Tab1SSubK的方法相比,该效果增加了安全性,但也增加了存储器需求。
可选地,算法包括若干轮次,并且不同轮次的新的掩码表TabSKneu至少部分地或全部地从不同的掩码表Tab1SSubK、Tab2SSubK、Tab3SSubK、...中生成。由此实现的效果是利用不同的掩码来掩蔽不同的轮次。该效果增加了安全性,但不幸地还增加存储器需求。
处理器设备还包含:可选地,在处理器设备中实施的交易应用,所述处理应用适用于请求使用根据本发明的算法实施的实施方式的交易。作为交易,特别地,可以提供在一开始描述的交易中的任一个,诸如支付交易等。
在根据本发明的处理器设备中,用于根据本发明改变密钥K的方法中,执行从旧密钥Ka到新密钥Kn的密钥改变。通过对实施方式中提供的称为旧表TabSSubKa的所有表生成新的表TabSSubKn,并且由新的表TabSSubKn代替旧表TabSSubKa来执行从旧密钥Ka到新密钥Kn的密钥K的改变。借助密钥改变数据来从旧表TabSSubKa生成新的表TabSSubKn。使用从旧密钥Ka导出的密钥值SubKa、从新密钥Kn导出的新密钥值SubKn和所使用的输入掩码和/或输出掩码来计算密钥改变数据。
可选地,在应用的请求下执行从旧密钥Ka到新密钥Kn的密钥的改变,特别是新表TabSSubKn的生成。换句话说,应用本身可以启动(initiate)密钥更新。
可选地,该应用被配置为用于执行交易的应用,特别是支付交易,特别是云支付交易,并且其中,每当执行交易时执行从旧密钥到新密钥的密钥的改变。
特别地,可以规定,通过交易应用来启动交易的执行,特别是在由执行交易的启动所直接导致的交易应用的请求下,自动地启动密钥更新。这确保了新的密钥用于在交易应用(具体地,云支付交易)的引导下产生的交易的每一次执行。
在交易的每一次执行之前自行启动密钥更新的(云支付)交易应用的应用案例中,遗憾地,当应用启动了用于当前交易的密钥更新时,本发明的优点之一(即运行时计算时间的节省)不能完整地被利用。当通过交易应用启动了(支付)交易时,该算法也被运行。根据本发明,初始地,仍存在于该算法中的包含密钥的掩码表被包含新密钥的新掩码表替代。随后地,运行该算法,并在新表中执行表调用。因此,在该应用案例中,用于更新表和/或密钥更新的全部时间开销影响了交易持续时间,即执行交易所需要的时间量。然而,保留了安全性益处。
根据本发明的另一实施例,应用在执行或至少在请求交易之后启动密钥更新。在此种情况下,在交易之后实施基于新密钥的新的掩码表,使得新的,即更新的掩码密钥相关表可用于下一交易。在此实施例中,保持了关于运形时间的优点。
在其他应用的案例中,预先(previously)更新了掩码表并因此更新了密钥,使得用于表更新的时间量不影响交易时间。
一般来说,从旧密钥到新密钥的密钥改变可以在使用旧密钥ka执行交易后执行,使得对于随后的交易实施具有新密钥的新表TabSSubKn。在许多应用案例中,交易可以要求(claim)的交易时间是有限的,特别是在诸如NFC交易的非接触式交易中。通过将耗时的新表创建转移到交易后,在随后交易的准备工作中,各当前交易的交易时间维持较短。
附图说明
下面将基于实施例示例并参考附图更详细地解释本发明,其中:
图1:根据现有技术的现有技术标准表示中的DES轮次;
图2:具有嵌入在操作T中的S-box操作S,并且尤其适合作为本发明的基础的替代表示中的DES轮次;
图3:图2的DES轮次中的单个操作T的具体表示;
图4:根据本发明的实施例的根据图2和图3的DES轮次的白盒掩码;
图5:根据本发明的第一实施例的在交易应用的指引下的支付交易的两种执行;
图6:根据本发明的第二实施例的在支付应用的指引下的支付交易的两种执行。
具体实施方式
图1示出了现有技术的DES轮次。具体地,DES轮次还包含SBOX操作S1,...,S8,通过该操作来处理输入值x=e XOR k,其中k=Kj是从密钥K导出的密钥值,即考虑了DES轮次的轮次密钥kj。
图2示出了具有嵌入在操作或者所谓的T-box T(T=T0,...T9(或者T0,...T7))中的S-box操作S并且尤其适合作为本发明的基础的替代表示中的DES轮次。轮次j处理48位轮次密钥kj。轮次密钥kj被划分为6位轮次密钥部分SubK。在每个情况下,通过T-box T=T0,...T7中的每一个处理一个轮次密钥部分SubK。另外两个T-box处理无密钥值。更具体地,对于轮次j的Ti,SubK=kj6i...kj6i+5,其中i=0,...7,即在第五轮次的T6中接收了6位k(j=5,i=36)到k(j=5,i=41)等。
图3示出了图2的DES轮次中的单个操作Ti的详细表示(其中,i是0,...9或者0,...7中的值)。Ti被实施为包含SBOX操作的密钥相关计算步骤。此处,密钥相关计算步骤Ti取决于轮次密钥kj中的6个比特,后文称为SubK。对于各个DES轮次,将密钥相关计算步骤Ti实施为密钥相关表TabSSubK
图4示出了根据本发明的实施例的根据图2和图3的DES轮次的白盒掩码。利用可逆函数f掩码每个密钥相关计算操作Ti的输出以形成掩码密钥相关计算操作T'i,其中根据图4,例如通过线性映射A来形成可逆函数f,该映射A又由矩阵MA表示。因此在图4中,适用于掩码操作f=A=MA。这里,由s0...sn-1,y0,...,ym-1指定计算操作Ti的输出位。
DES包含16个轮次。在16个DES轮次的每个中,已知将导出和应用新的轮次密钥kj。常规地,对于图2-图4的实施例,16个单独提供的密钥相关计算操作T'i必须提供给DES的16个轮次的、包含SBOX操作Si的掩码密钥相关计算操作T'i。
根据本发明,可以借助密钥改变数据从各自的先前的DES轮次导出DES轮次的掩码密钥相关计算操作T'i。在此种情况下,只需要存储用于单个轮次的掩码密钥相关计算操作T'i和密钥相关表TabSSubK。借助从存储的密钥相关表TabSSubK中先前的密钥改变数据来连续地计算更多轮次的密钥相关表TabSSubK。代替直接地从先前的DES轮次,可以借助来自任何其他DES轮次(其不一定是先前的轮次)的适合计算出的密钥改变数据来导出DES轮次的轮次密钥。
此外,借助根据本发明的密钥改变数据的技术,可以以相对容易的方式对完整的DES算法执行从旧密钥Ka到新密钥Kn的密钥改变。为了此目的,最初依赖于先前从旧的DES密钥Ka形成的轮次密钥Subka的用于所有16个DES轮次的密钥相关表TabSSubKa被依赖于先前从新的DES密钥Kn形成的轮次密钥SubKn的新的密钥相关表TabSSubKn代替。
随后地,参考两个示例示出借助密钥改变数据的密钥改变。
示例1:对计算步骤S的输入分配导出的密钥值k,f和g-1是线性函数。
Sk:计算步骤,其中导出的密钥值=k
x:输入值
k:计算步骤S中包含的密钥值
SBOX:表SBOX中的SBOX表调用
Sk(x)=SBOX(k XOR x)
利用线性映射g-1和f对表SBOX的输入和输出进行线性混淆。
TabSSubK(x)=f SBOX(k XOR g-1(x))
密钥改变数据:SWD=g(kneu XOR k)在输入时被异或。
这产出:
TabSSubKneu(x)=f SBOX(kneu XOR g-1(x))=f SBOX(k XOR g-1(g(k XORkneu))XOR g-1(x))=f SBOX(k XOR g-1(g(k XOR kneu)XOR x)=f SBOX(k XOR g-1(SWDXOR x))
示例2:对计算步骤S的输出分配导出的密钥值k,f和g-1是线性函数。
Sk:计算步骤,如果密钥值=k
x:输入值
k:计算步骤S中包含的密钥值
SBOX:SBOX表调用
Sk(x)=k XOR SBOX(x)
利用线性映射g-1和f对输入和输出进行线性混淆。
TabSSubK(x)=S'k(y)=f(k XOR SBOX(g-1x)),其中y=g-1x
密钥改变数据:SWD=f(kneu XOR k),在输出时被异或。
这产出:
TabSSubKneu(x)=S'kneu(y)=SWD XOR f(k XOR SBOX(g-1x))=
f(kneu XOR k)XOR f(k XOR SBOX(g-1x))=
f(kneu XOR k XOR k XOR SBOX(g-1x))=
f(kneu XOR SBOX(g-1x))。
在示例1和示例2中,初始地是从最简单的情况,即g-1和f是线性映射。如果g-1和f是非线性的,则需要附加的辅助(auxiliary)数据用于计算S'kneu(y)。在Sk(x)的其他结构中,更具体地,当(SBOX的)计算步骤的输入和输出两者与密钥改变有关(concern)时,当改变密钥值k时需要修改输入和输出两者。
图5示出了根据本发明的第一实施例的在根据本发明使用DES的交易应用Pay-App的指引下的支付交易的两个执行TR1、TR2的示意性表示。初始地,DES利用密钥K0实施,密钥K0在掩码表掩码的表TabSSubK0中。一旦应用Pay-App启动交易TR1,则启动从密钥K0到新密钥K1的更新。随后地,利用新密钥K1执行交易TR1。这里,通过掩码表TabSSubK1中的表调用、利用新密钥K1来执行DES。现在,通过掩码表TabSSubK1、利用新密钥K1来执行DES。一旦应用Pay-App启动随后的交易TR2,则启动从密钥K1到新密钥K2的更新。随后地,利用新密钥K2执行交易TR2。这里,通过掩码表TabSSubK2中的表调用、利用新密钥K2来执行DES。
图6示出根据本发明的第二实施例的在交易应用的指导下的支付交易TR1、TR2的两个执行的示意表示。该交易同样在使用根据本发明的DES的交易应用Pay-App的指导下生效。初始地,通过掩码表掩码的表TabSSubK0、利用密钥K0来实施DES。一旦应用Pay-App启动了交易TR1,则利用密钥K0执行交易TR1。随后地,启动从密钥K0到新密钥K1的更新,在不可能通过用户介入(intervention)的某些情况下。一旦应用Pay-App启动了随后的交易TR2,则利用在之前的交易随后更新的新密钥K1来执行交易TR2。这里,通过掩码表TabSSubK1中的表调用、利用新密钥K1来执行DES。随后地,启动从密钥K1到新密钥K2的更新。随后的第三交易TR3现在将包含基于密钥K2对掩码表TabSSubK2的表调用。在单独的交易TR1、TR2、...之间,在处理器设备或其中安装了处理器设备的设备中可以经过了延长的时间段,也以可将其切断。
引用的现有技术
[1]"A Tutorial on White-box AES",James A.Muir,Cryptology ePrintArchive,Report 2013/104,eprint.iacr.org/2013/104
[2]DE 10 2014 016 548.5(filed on 10/11/2014)
[3]"Differential Computation Analysis:Hiding your White-Box Designsis Not Enough",J.W.Bos,Ch.Hubain,W.Michiels,and Ph.Teuwen,eprint.iacr.org/2015/753,retrieved on 31/07/2015
[4]"A White-Box DES Implementation for DRM Applications",S.Chow,P.Eisen,H.Johnson,P.C.van Oorschot,pre-proceedings for ACM DRM-2002,Oct 15,2002,https://crypto.stanford.edu/DRM2002/whitebox.pdf
[5]WO 2010 146139 A9

Claims (11)

1.一种具有在其上实施的加密算法(AES、DES)的可执行实施方式的处理器设备,其适用于使用秘密密钥K从输入文本产生输出文本,其中,所述算法的实施方式:
-包含掩码密钥相关计算步骤T',其包含从输入文本直接地或间接地导出的输入值和从该密钥直接地或间接地导出的密钥值SubK的密钥组合;
-所述掩码密钥相关计算步骤T'由利用输入掩码和/或输出掩码来掩码以形成掩码表TabSSubK的表来表示;
-所述处理器设备包含密钥更新设备,该密钥更新设备适用于对掩码密钥相关计算步骤T'执行从导出的密钥值SubK到新导出的密钥值SubKneu的密钥更新方法;以及
-其中,在所述密钥更新方法中,密钥改变数据(SWD)被提供给所述处理器设备,特别是所述密钥更新设备,利用导出的密钥值SubK、新导出的密钥值SubKneu和所利用的输入掩码和/或输出掩码来计算所述密钥改变数据;其特征在于:
-在所述密钥更新方法中,借助密钥改变数据(SWD)来在处理器设备中,特别是密钥更新设备中进一步生成新的掩码表TabSKneu,所述新的掩码表适用于借助新的掩码表TabSKneu重新地计算用于新导出的密钥值SubKneu的密钥相关计算步骤S。
2.根据权利要求1所述的处理器设备,其中,所述密钥改变数据(SWD)具有比掩码表(TabSK、TabSKneu)更低的存储器需求。
3.根据权利要求1或2所述的处理器设备,其中,
-所述算法包含若干轮次j=1,...,n,
-作为导出的密钥值SubK,提供了通过掩码密钥相关计算步骤T'处理的轮次j的轮次密钥kj的轮次密钥部分,和
-作为新导出的密钥值SubKneu,提供了通过掩码密钥相关计算步骤T'处理的不同轮次1,特别是该轮次随后的轮次j+1的轮次密钥的轮次密钥部分,
使得借助该轮次的掩码表TabSK的密钥改变数据,导出不同轮次,特别是随后的轮次的新的掩码表TabSKneu
4.根据权利要求3所述的处理器设备,包含多个的n,特别是10(AES)或16(DES)个轮次,其中对于一部分的轮次,使用来自不同轮次,特别是该轮次先前的轮次的各自的掩码表TabSK的密钥改变数据(SWD)来导出各自的新掩码表TabSKneu
5.根据权利要求1至4任一项所述的处理器设备,其中所述处理器设备在运行时、当算法在所述处理器设备上运行时,适用于对计算步骤S提供利用两个或若干不同的输入掩码和/或输出掩码来掩码的两个或若干表,以形成掩码表Tab1SSubK、Tab2SSubK、Tab3SSubK、...,其中从掩码表Tab1SSubK、Tab2SSubK、Tab3SSubK、...中的一个来生成新掩码表TabSKneu
6.根据权利要求5所述的处理器设备,其中
-所述算法包含若干轮次,和
-从掩码表Tab1SSubK、Tab2SSubK、Tab3SSubK、...中的不同个来生成不同轮次的至少一些或者全部的新掩码表TabSKneu
7.根据权利要求1-6任一项所述的处理器设备,进一步包含实施在处理器设备中的交易应用(Pay-App),其适用于使用根据权利要求1-6任一项实施的算法的实施方式来请求交易(TR1、TR2、...)。
8.一种用于在根据权利要求1-7任一项所述的处理器设备中,从旧密钥Ka到新密钥Kn的改变秘密密钥K的方法,
-其中,通过对实施方式中提供的称为旧的TabSSubKa的所有表生成新的表TabSSubKn,并且用新的表TabSSubKn代替旧的表TabSSubKa来执行从旧密钥Ka到新密钥Kn的密钥K的改变,
-其中,借助密钥改变数据(SWD)来从旧的表TabSSubKa生成新的表TabSSubKn
-其中,使用从旧密钥Ka导出的密钥值SubKa、从新密钥Kn导出的密钥值SubKn和所利用的输入掩码和/或输出掩码来计算密钥改变数据(SWD)。
9.根据权利要求8所述的方法,在根据权利要求7所述的处理器设备中,其中,在应用(Pay-App)的请求下执行从旧密钥Ka到新密钥Kn的秘密密钥的改变,特别是新的表TabSSubKn的生成。
10.根据权利要求9所述的方法,其中所述应用被配置为用于执行交易,特别是支付交易,特别是云支付交易的应用(Pay-App),并且其中对交易的每个执行(TR1、TR2、...)执行从旧密钥Ka到新密钥Kn的秘密密钥的改变。
11.根据权利要求8-10任一项所述的方法,其中在使用旧密钥Ka的交易(TR1、TR2、...)的执行之后执行从旧密钥Ka(K0、K1、...)到新密钥Kn(K1、K2、...)的秘密密钥的改变,使得对于随后的交易(TR2、TR3、...)实施具有新密钥的新的表TabSSubKn
CN201680072087.0A 2015-12-08 2016-12-07 具有密钥相关掩码计算步骤(sbox调用)的加密算法 Active CN108369784B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102015015953.4 2015-12-08
DE102015015953.4A DE102015015953B3 (de) 2015-12-08 2015-12-08 Kryptoalgorithmus mit schlüsselabhängigem maskiertem Rechenschritt (SBOX-Aufruf)
PCT/EP2016/002064 WO2017097418A1 (de) 2015-12-08 2016-12-07 Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)

Publications (2)

Publication Number Publication Date
CN108369784A true CN108369784A (zh) 2018-08-03
CN108369784B CN108369784B (zh) 2021-06-15

Family

ID=57539201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680072087.0A Active CN108369784B (zh) 2015-12-08 2016-12-07 具有密钥相关掩码计算步骤(sbox调用)的加密算法

Country Status (6)

Country Link
US (1) US10805066B2 (zh)
EP (1) EP3387636B1 (zh)
CN (1) CN108369784B (zh)
DE (1) DE102015015953B3 (zh)
ES (1) ES2776701T3 (zh)
WO (1) WO2017097418A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021114850A1 (zh) * 2019-12-09 2021-06-17 百果园技术(新加坡)有限公司 消息的加解密、读写方法、装置、计算机设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039608B (zh) * 2018-08-24 2023-05-09 东南大学 一种基于双S核的8-bitAES电路
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004032893A1 (de) * 2004-07-07 2006-02-02 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
WO2010146139A1 (en) * 2009-06-19 2010-12-23 Irdeto B.V. White-box cryptographic system with configurable key using intermediate data modification
DE102014004378A1 (de) * 2014-03-26 2015-10-01 Giesecke & Devrient Gmbh Speichereffiziente seitenkanalgeschützte Maskierung
CN105379172A (zh) * 2013-07-19 2016-03-02 高通股份有限公司 用于在块加密算法中使用的密钥更新的设备和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
DE19841676A1 (de) 1998-09-11 2000-03-16 Giesecke & Devrient Gmbh Zugriffsgeschützter Datenträger
US8699702B2 (en) * 2011-01-10 2014-04-15 Apple Inc. Securing cryptographic process keys using internal structures
DE102014016548A1 (de) 2014-11-10 2016-05-12 Giesecke & Devrient Gmbh Verfahren zum Testen und zum Härten von Softwareapplikationen
EP3241150B1 (en) * 2014-12-30 2021-08-04 Cryptography Research, Inc. Determining cryptographic operation masks for improving resistance to external monitoring attacks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004032893A1 (de) * 2004-07-07 2006-02-02 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
WO2010146139A1 (en) * 2009-06-19 2010-12-23 Irdeto B.V. White-box cryptographic system with configurable key using intermediate data modification
US20120093313A1 (en) * 2009-06-19 2012-04-19 Irdeto B. V. White-box cryptographic system with configurable key using intermediate data modification
CN105379172A (zh) * 2013-07-19 2016-03-02 高通股份有限公司 用于在块加密算法中使用的密钥更新的设备和方法
DE102014004378A1 (de) * 2014-03-26 2015-10-01 Giesecke & Devrient Gmbh Speichereffiziente seitenkanalgeschützte Maskierung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021114850A1 (zh) * 2019-12-09 2021-06-17 百果园技术(新加坡)有限公司 消息的加解密、读写方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
US10805066B2 (en) 2020-10-13
EP3387636B1 (de) 2020-02-12
WO2017097418A1 (de) 2017-06-15
EP3387636A1 (de) 2018-10-17
DE102015015953B3 (de) 2017-04-27
US20180367297A1 (en) 2018-12-20
ES2776701T3 (es) 2020-07-31
CN108369784B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN107005404B (zh) 实现密码算法的可执行的白盒掩码实施的处理器装置
CN106788974A (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN105191206B (zh) 电子块密码设备、方法和相应的计算机可读存储介质
US10790962B2 (en) Device and method to compute a block cipher
CN105099666A (zh) 混淆轮边界的白盒密码系统和方法
KR20110008418A (ko) Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법
KR102290025B1 (ko) 화이트 박스 aes 구현
Sasdrich et al. White-Box Cryptography in the Gray Box: –A Hardware Implementation and its Side Channels–
CN109726565B (zh) 在抗泄漏原语中使用白盒
CN108369784A (zh) 具有密钥相关掩码计算步骤(sbox调用)的加密算法
CN110663216A (zh) 密码设备和方法
JP2018537704A (ja) 暗号化デバイス及び符号化デバイス
CN102244660A (zh) 一种实现支持细粒度访问控制的加密方法
Karakoç et al. Biclique cryptanalysis of LBlock and TWINE
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
JP2011101413A (ja) 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
EP3238365B1 (en) Cryptographic system and method
US10615962B2 (en) Alternative representation of the crypto-algorithm DES
CN109792378A (zh) 对抗对基于表的实现的2阶和更高阶dca攻击的方法
Wadi et al. A low cost implementation of modified advanced encryption standard algorithm using 8085A microprocessor
CN103746795B (zh) 一种实现Magpie加解密的方法
Reddy et al. An efficient data transmission approach using IAES-BE
EP4113894B1 (en) Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product
KR20140072283A (ko) 부채널 분석 방지 마스킹 방법 및 장치
Shi et al. On security of a white-box implementation of SHARK

Legal Events

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