CN110908634A - 一种随机序列产生装置及其控制方法 - Google Patents

一种随机序列产生装置及其控制方法 Download PDF

Info

Publication number
CN110908634A
CN110908634A CN201911106360.9A CN201911106360A CN110908634A CN 110908634 A CN110908634 A CN 110908634A CN 201911106360 A CN201911106360 A CN 201911106360A CN 110908634 A CN110908634 A CN 110908634A
Authority
CN
China
Prior art keywords
sequence
random
random sequence
elements
modulator
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
CN201911106360.9A
Other languages
English (en)
Other versions
CN110908634B (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.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN201911106360.9A priority Critical patent/CN110908634B/zh
Publication of CN110908634A publication Critical patent/CN110908634A/zh
Application granted granted Critical
Publication of CN110908634B publication Critical patent/CN110908634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本发明提出一种用于保护安全算法密钥传输安全性的随机数序列产生装置及其控制方法,包括随机序列模式控制器、随机数发生器、随机序列调制器,用来对于输入的原始等差数列进行乱序调制,输出完整的随机序列。该装置产生的随机序列可用于打乱在总线上传输的安全算法密钥的顺序,从而达到在密钥传输时,防止攻击者对于密钥传输过程进行模板攻击的可能性。

Description

一种随机序列产生装置及其控制方法
技术领域
本发明涉及芯片设计领域,尤其涉及用于保护安全算法密钥传输安全性的随机序列产生装置及其控制方法。
背景技术
自从Paul Kocher开创性地提出功耗攻击以来,侧信道攻击作为一种实用的攻击方法,对相当多的密码设备表现出了极高的攻击效率。许多侧信道攻击方法被相继提出,包括简单功耗攻击(SPA)、简单电磁攻击(EMA)等。功耗和电磁信息中泄露的密钥信息相对于噪声比较微弱,这时可以利用DPA在内的统计技术实施攻击,于是出现了差分功耗攻击(DPA)、差分电磁攻击(DEMA)等。DPA的统计分析依赖于对同一密钥、不同操作数据的大量功耗曲线样本进行。然而诸多研究表明,由于DPA等侧信道攻击方法没有充分利用每个样本里面所包含的全部有用信息,从而需要采集大量样本。如果攻击者只需要采集较少的功耗曲线样本就能展开有效攻击,必然能提高攻击效率,模板攻击正是这样一种侧信道攻击方法。
模板攻击方法最早由Rohatgi等人在2002年的密码硬件与嵌入式***国际会议上提出。模板攻击的关键是攻击者能够利用与被攻击密码设备相同的实验设备进行编程和实验,从而构建出相关侧信道信号的模板信息,如果定义在功耗上即是特定操作和特定密钥的在特定时间点的均值功耗以及精确的多元噪声模型。完成模板构建后,攻击者利用构建的模板用假设检验和最大似然估计等方法对实际的功耗曲线进行匹配,匹配度最高的即是正确的密钥。从信息论的角度,模板攻击是曲线样本数量有限情况下最强有力的攻击方式。
在模板攻击技术成熟之前,主流的侧信道攻击主要是SPA/DPA/CPA,这些攻击主要针对密钥运算过程展开。针对这些攻击采用的常用的防护手段如掩码等,只解决密码运算过程中的侧信道安全,并没有解决密码运算之外的密钥加载过程安全。模板攻击技术不单单能够针对密码运算过程,包括对密码运算之前的密钥加载也能进行攻击。智能卡等安全芯片的密钥加载是指CPU从存储器中将密钥读取到芯片内部的安全算法模块或安全算法协处理器的密钥寄存器中,然后可以启动安全算法运算。针对这个密钥加载过程的模板攻击就是利用了不同密钥数据从存储器读出或写入到安全算法内部寄存器的功耗差异构建模板,然后利用此模板对实际芯片密钥加载过程的功耗曲线进行匹配,有可能直接获取实际芯片的密钥信息,或获取密钥的汉明重量信息,以降低穷尽搜索难度从而获取密钥。
在智能卡等安全芯片内部的安全算法模块中,密钥的位数往往超过CPU的数据位宽,因此从存储器往安全算法协处理器加载密钥通常需要多次加载。例如,如果某安全算法协处理器的密钥是1024位,而该CPU的数据位宽是32位,则该CPU需要执行32次数据搬运操作才能将密钥完整地加载到密钥算法模块的寄存器中。目前针对模板攻击的有效防御手段是密钥随机传输,即将密钥传输的顺序打乱传输,在功耗曲线密钥传输部分,由于密钥传输顺序的不同,表现出每次在总线传输的数据不同,从而使得模板攻击者无法通过模板匹配出有效的密钥信息。
发明内容
本发明提供了一种用于保护安全算法密钥传输安全性的随机序列产生装置,可以在安全算法密钥传输过程中,利用产生的随机序列元素依次作为传输数据的下标,从而将密钥传输顺序打乱,从而提高了安全算法抗模板攻击的能力。比如对于有4个字的密钥key[4],通过启动随机序列产生装置,由原始等差数列0,1,2,3产生了随机序列2,0,3,1,就可以将密钥的传输顺序由key[0],key[1],key[2],key[3]变为key[2],key[0],key[3],key[1]。
在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,包括:随机序列模式控制器、随机数发生器、随机序列调制器。其原理为随机序列产生装置通过预取的随机数将原等差数列元素顺序随机打乱,并输出为随机数据序列。
在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,随机序列模式控制器接受输入随机序列模式配置信息,并控制随机序列调制器输出随机序列;
随机序列模式控制器默认输入信息表征的原始等差数列一般为起始值为序列元素最小值min、结束值为序列元素最大值max,公差为序列公差d的等差数列,也可以认为起始值为序列元素最大值max,结束值为序列元素最小值,公差为d的等差数列;
配置单次序列元素输出元素个数m信息,可以设置装置单次输出的序列元素个数;
在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,随机数发生器包含或连接一个或多个随机源,接受输入随机序列速度配置信息,选择速度合理的随机源,生成随机序列调制器需要的随机数;
在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,随机序列调制器包含一个或多个序列生成调制算法,接受随机序列模式控制器的控制,采用对应的序列调制算法,输出对应的随机序列。
一种用于保护安全算法密钥传输安全性的随机序列产生装置设计为芯片硬件单元,不仅提高了随机序列产生的速度,而且可以有效隐藏实现机理,对于安全算法来说,无疑更加增强了其安全防护能力。
根据本发明一种随机序列产生装置的控制方法如下。
1)随机序列模式控制器接受输入随机序列模式配置信息;
2)随机序列模式控制器在其内部保存随机序列配置信息;
3)将已经输出的序列元素个数信息置为零;
4)随机序列模式控制器控制随机序列调制器选择对应的调制算法;
5)随机数发生器接受随机序列速度配置信息,选择好符合条件的随机源,并做好随机数生成准备;
6)随机序列模式控制器控制随机数序列调制器预取若干随机数并存储在随机序列调制器的内部缓存中,预取的随机数的个数大于或等于调整算法需要使用的随机数数量;
7)随机序列模式控制器接受用户启动信息;
8)随机序列模式控制器根据配置信息,推送所述m个所述原始等差数列中尚未调制元素和其相关信息到随机序列调制器中进行调制;
9)随机序列调制器根据选择的调制算法,利用预取的随机数,调制随机序列模式控制器提供的m个数据为新的调制后的数据,并输出到输出接口;
10)外部查询随机序列模式控制器完成标志,确定数据是否调制完成,如果调制速度够快,该步骤可以省略;
11)判断原始等差数列数据是否已经调制完成,如果未调制完成,则需要用户从步骤7)开始执行,如果已调制完成,则继续下面步骤;
12)如果重新配置,则从步骤1)重新执行,否则从步骤3)执行。
附图说明
图1是本发明的随机序列产生装置示意图。
图2是本发明的随机序列产生装置外部接口实现示意图。
图3是本发明的随机序列产生装置控制方法流程图。
具体实施方式
为了更清楚地描述本发明的技术方案,以下结合附图和具体实施例对本发明的一种具体实现进行详细的说明。
如图1所示,一种用于保护安全算法密钥传输安全性的随机序列产生装置(100)由随机序列模式控制器(101)、随机数发生器(102)、随机序列调制器(103)组成。
如图2所示,一种用于保护安全算法密钥传输安全性的随机序列产生装置定义一组配置寄存器、控制寄存器、输出寄存器来作为整个装置的输入、输出及外部控制接口。
通过配置寄存器来作为随机系列模式配置信息和随机数序列速度配置信息的输入接口。
通过输出寄存器来作为随机序列输出接口,输出寄存器包含最少一个输出数据存储单元,比如可以设置输出寄存器包含4个输出单元,则可以实现单次输出1至4个随机序列元素。
通过控制寄存器来控制装置的单次启动及对于装置运行状态的查询。
随机序列模式控制器(101)包含信息存储和逻辑控制单元,通过控制接口接受外部控制,在每次启动后,做出合理的逻辑判断,控制随机序列调制器(103),并修改部分存储信息。
随机数发生器(102)通过配置寄存器确定合理的随机源,接受随机数序列调制器的请求,提供满足条件的随机数。
随机序列调制器(103)内部包含一组存储器,用来存储调制算法用到的随机数,随机数的预取由随机序列模式控制器(101)控制,只在每次序列开始调整前,预取一次。
随机序列调制器(103)包含一个或多个调制算法,调制算法可以是任何可以利用随机数将原有等差数列顺序打乱的数学算法,比如取余算法:对于公差为d=1的具有n=4个元素的等差数列0,1,2,3,取得随机数为r=2,调制公式bi=a0+(i+r)%n*d(bi为调制后的第i个元素,a0为原始数列的首元素,i=0,1,2,3),则调制后的序列变为2,3,0,1。
图3所示,一种用于保护安全算法密钥传输安全性的随机序列产生装置控制方法可遵循其流程实现。
以上所述仅为本发明所公开的一种用于保护安全算法密钥传输安全性的随机序列产生装置及其控制方法的优选实施方式,并非因此限制本发明的专利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的专利保护范围。

Claims (6)

1.一种随机序列产生装置,其特征在于,主要包括:随机序列模式控制器、随机数发生器、随机序列调制器;其中:
所述随机序列模式控制器接受输入随机序列模式配置信息,并控制随机序列调制器输出随机序列;
所述随机数发生器包含或连接一个或多个随机源,接受输入随机序列速度配置信息,选择速度合理的随机源,生成随机序列调制器需要的随机数;
所述随机序列调制器包含一个或多个序列生成调制算法,接受随机序列模式控制器的控制,采用对应的序列调制算法,输出对应的随机序列。
2.根据权利要求1所述一种随机序列产生装置,其特征在于,所述随机序列模式控制器接受的输入随机序列模式配置信息包括:序列元素最小值min、序列元素最大值max、序列公差d、序列生成调制算法选择、单次序列输出元素个数m、外部启动标志;
所述随机序列模式控制器默认原始等差数列一般认为为起始值为所述序列元素最小值min、结束值为所述序列元素最大值max,公差为所述序列公差d的等差数列,也可以认为起始值为所述序列元素最大值max,结束值为所述序列元素最小值,公差为d的等差数列;
所述序列元素最小值min,用于指明序列中最小的元素的值;
所述序列元素最大值max,用于指明序列中最大的元素的值;
所述序列公差d,用于指明未调制等差数列中,相邻元素之间的差值;
所述序列调制算法选择,用于控制随机序列调制器选择对应的序列调制算法;
所述单次序列元素输出元素个数m,用于控制单次启动所述随机序列调制器要输出的随机序列元素的个数,m最小为1,最大为输出缓存可以缓存的数据个数;
所述外部启动标志,可独立配置,每次启动,所述随机序列模式控制器控制所述随机序列调制器输出m个元素。
3.根据权利要求2所述一种随机序列产生装置,其特征在于,可将一等差数列调制为随机序列,该序列与所述等差数列元素顺序不同。
4.根据权利要求1一种随机序列产生装置,其特征在于,所述随机数发生器,包括一个或多个随机源rnd1、rnd2、…;
所述随机数发生器接受的所述随机序列速度配置信息,用来选择对应的随机数源,产生所述随机序列调整器在调制过程中需要的随机数。
5.根据权利要求1一种随机序列产生装置,其特征在于,所述随机序列调制器,包括一个或多个序列调制算法,每个调制算法均可以利用从所述随机数发生器预取的随机数乱序所述原始等差数列。
6.一种随机序列产生装置的控制方法,基于权利要求1所述的一种随机序列产生装置,其特征在于:
所述随机序列模式控制器作为控制主体,接受所述输入随机序列模式配置信息,控制所述随机序列调制器选择对应的调制算法,控制所述随机数序列调制器按照所述调制算法从所述随机数发生器取得满足需求数量的随机数,并存储在所述随机序列调制器的内部缓存中;
所述随机数发生器在所述随机序列调制器预取随机数之前,已按照随机序列速度配置信息,配置好随机源,并可根据所述随机序列调制器的需求,提供满足随机性的随机数;
所述随机序列模式控制器在其内部保存随机序列配置信息、已输出元素个数信息;
所述随机序列模式控制器接受外部启动信息;
所述随机序列模式控制器根据配置信息及所述已输出元素个数信息,推送m个所述原始等差数列中尚未调制元素和与其相关的信息,到所述随机序列调制器中进行调制,并输出到输出接口;
每次启动调制后,如果所述原始等差数列中所有元素均已调制输出或者尚未输出任何元素,则所述随机序列模式控制器将所述已输出元素个数置为零,否则将已输出的序列元素个数信息置为实际已输出元素个数;
所述随机序列模式控制器接受外部查询,输出调制完成标志。
CN201911106360.9A 2019-11-13 2019-11-13 一种随机序列产生装置及其控制方法 Active CN110908634B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911106360.9A CN110908634B (zh) 2019-11-13 2019-11-13 一种随机序列产生装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911106360.9A CN110908634B (zh) 2019-11-13 2019-11-13 一种随机序列产生装置及其控制方法

Publications (2)

Publication Number Publication Date
CN110908634A true CN110908634A (zh) 2020-03-24
CN110908634B CN110908634B (zh) 2023-07-07

Family

ID=69817484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911106360.9A Active CN110908634B (zh) 2019-11-13 2019-11-13 一种随机序列产生装置及其控制方法

Country Status (1)

Country Link
CN (1) CN110908634B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620756A (zh) * 2001-03-26 2005-05-25 科学技术振兴事业团 滤波装置、接收装置、发送装置、扩频调制装置、伪随机数序列的输出装置、滤波方法、接收方法、发送方法、扩频调制方法、伪随机数序列的输出方法及程序
CN1989725A (zh) * 2004-07-13 2007-06-27 霍尼韦尔国际公司 在安全***中数据传输的混合编码
CN101447805A (zh) * 2001-03-26 2009-06-03 独立行政法人科学技术振兴机构 接收装置及接收方法
WO2010045843A1 (zh) * 2008-10-23 2010-04-29 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
WO2013010362A1 (zh) * 2011-07-18 2013-01-24 中国电力科学研究院 一种防御功耗攻击的集成电路及方法
US20130156180A1 (en) * 2011-12-14 2013-06-20 Siemens Aktiengesellschaft Method And Device For Securing Block Ciphers Against Template Attacks
US20130159698A1 (en) * 2011-12-19 2013-06-20 Khalifa University of Science, Technology & Research (KUSTAR) Chaotic cryptography for ofdm based communications systems
DE102013014587A1 (de) * 2013-08-29 2015-03-05 Fachhochschule Schmalkalden Verfahren zum IT-Schutz sicherheitsrelevanter Daten und ihrer Verarbeitung
CN104410491A (zh) * 2014-08-27 2015-03-11 北京中电华大电子设计有限责任公司 一种抗密钥加载模板攻击的防护方法
CN107483182A (zh) * 2017-09-21 2017-12-15 东南大学 一种基于乱序执行的面向aes算法的抗功耗攻击方法
CN108063662A (zh) * 2016-11-09 2018-05-22 国民技术股份有限公司 一种抗模板攻击的***及方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620756A (zh) * 2001-03-26 2005-05-25 科学技术振兴事业团 滤波装置、接收装置、发送装置、扩频调制装置、伪随机数序列的输出装置、滤波方法、接收方法、发送方法、扩频调制方法、伪随机数序列的输出方法及程序
CN101447805A (zh) * 2001-03-26 2009-06-03 独立行政法人科学技术振兴机构 接收装置及接收方法
CN1989725A (zh) * 2004-07-13 2007-06-27 霍尼韦尔国际公司 在安全***中数据传输的混合编码
WO2010045843A1 (zh) * 2008-10-23 2010-04-29 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
WO2013010362A1 (zh) * 2011-07-18 2013-01-24 中国电力科学研究院 一种防御功耗攻击的集成电路及方法
US20130156180A1 (en) * 2011-12-14 2013-06-20 Siemens Aktiengesellschaft Method And Device For Securing Block Ciphers Against Template Attacks
US20130159698A1 (en) * 2011-12-19 2013-06-20 Khalifa University of Science, Technology & Research (KUSTAR) Chaotic cryptography for ofdm based communications systems
DE102013014587A1 (de) * 2013-08-29 2015-03-05 Fachhochschule Schmalkalden Verfahren zum IT-Schutz sicherheitsrelevanter Daten und ihrer Verarbeitung
CN104410491A (zh) * 2014-08-27 2015-03-11 北京中电华大电子设计有限责任公司 一种抗密钥加载模板攻击的防护方法
CN108063662A (zh) * 2016-11-09 2018-05-22 国民技术股份有限公司 一种抗模板攻击的***及方法
CN107483182A (zh) * 2017-09-21 2017-12-15 东南大学 一种基于乱序执行的面向aes算法的抗功耗攻击方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李浪;李仁发;童元满;章竞竞;沙行勉;: "嵌入式加密芯片功耗分析攻击与防御研究进展" *
王奕钧;胡亮;李宏图;林宇;: "可定时更换密钥的IBE体系" *

Also Published As

Publication number Publication date
CN110908634B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
Jiang et al. A novel side-channel timing attack on GPUs
KR100743804B1 (ko) 데이터 처리 장치 및 그 동작 방법
KR100909364B1 (ko) 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법
US9396135B2 (en) Method and apparatus for improving computer cache performance and for protecting memory systems against some side channel attacks
Spreitzer et al. Cache-access pattern attack on disaligned aes t-tables
US20030046563A1 (en) Encryption-based security protection for processors
CN108011706A (zh) 数据处理装置和用于数据的加密处理的方法
Keramidas et al. Non deterministic caches: A simple and effective defense against side channel attacks
US20060153372A1 (en) Smart card and method protecting secret key
KR101623493B1 (ko) 금융 ic 카드 암호문 데이터 생성 절차에 적합한 부채널 분석 대응 방법
US6820814B1 (en) Countermeasure method in an electric component using a secret key cryptographic algorithm
Ahn et al. Trident: A hybrid correlation-collision GPU cache timing attack for AES key recovery
Man et al. Low power VLSI design for a RFID passive tag baseband system enhanced with an AES cryptography engine
US7480777B2 (en) Cache memory device and microprocessor
CN110908634A (zh) 一种随机序列产生装置及其控制方法
JP2004054128A (ja) 暗号化装置
Alawatugoda et al. Countermeasures against Bernstein's remote cache timing attack
JP4327169B2 (ja) 暗号化装置
EP3972187A1 (en) Protection of authentication tag computation against power and electromagnetic side-channel attacks
CN113273132B (zh) 由反向链接元素保护的区块链
GB2424089A (en) Side channel attack prevention in data processing apparatus such as a smart card
Cox Twocats (and skinnycat): A compute time and sequential memory hard password hashing scheme
US8074081B2 (en) Method for replacing contents of a data storage unit
EP3531401B1 (en) Method and circuit for performing a substitution operation
CN115391269A (zh) 工作量证明计算芯片、数据处理方法及电子设备

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