CN111900958A - 随机数产生电路、芯片及家用电器 - Google Patents

随机数产生电路、芯片及家用电器 Download PDF

Info

Publication number
CN111900958A
CN111900958A CN202010566168.4A CN202010566168A CN111900958A CN 111900958 A CN111900958 A CN 111900958A CN 202010566168 A CN202010566168 A CN 202010566168A CN 111900958 A CN111900958 A CN 111900958A
Authority
CN
China
Prior art keywords
random number
chip
key
random
access
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.)
Pending
Application number
CN202010566168.4A
Other languages
English (en)
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.)
Shanghai Meiren Semiconductor Co ltd
Original Assignee
Shanghai Meiren Semiconductor 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 Shanghai Meiren Semiconductor Co ltd filed Critical Shanghai Meiren Semiconductor Co ltd
Priority to CN202010566168.4A priority Critical patent/CN111900958A/zh
Publication of CN111900958A publication Critical patent/CN111900958A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本申请提供一种随机数产生电路,包括:振荡源,用于产生振荡输出信号;随机延迟产生器,用于产生随机延迟的采样时钟;模数转换器,连接振荡源和随机延迟产生器,用于根据随机延迟的采样时钟,对振荡输出信号进行多次采样并进行模数转换,得到多个转换结果,其中,任意两个相邻的采样时刻之间的间隔由随机延迟产生器的一次随机延迟决定;以及随机数生成器,连接模数转换器,用于对多个转换结果进行处理,得到一个随机数。本申请实现简单,使硬件开销最小化,没有涉及繁复计算,无需额外自定义的模拟电路,并且通过随机延迟产生器的随机延迟确定任意两个相邻的采样时刻之间的间隔,从而增加产生的随机数的随机性水平。

Description

随机数产生电路、芯片及家用电器
技术领域
本申请的所公开实施例涉及电路技术领域,且更具体而言,涉及一种随机数产生电路、芯片及家用电器。
背景技术
现代片上系统(System-on-Chip,SoC)设计实现了芯片内的非易失性存储器来存储应用程序固件。大多数芯片制造商提供安全功能,以保护此应用程序固件的完整性。而安全功能是通过完全或部分禁用对芯片内部的内存进行访问的调试接口来完成的。并且对于最终的芯片产品而言,可以完全禁用调试访问接口。然而在某些情况下,用户可能仍然需要能够解锁访问以执行日志记录或固件补丁。
目前,存在不同的方法来实现SoC固件保护。一些方法是对某些内部存储器区域设置读或写保护控制寄存器,其他方法则设置完全禁用调试访问接口的功能。其中,为用户提供解锁保护的访问权限,大多数执行的是安全密钥认证。
安全密钥认证的实现是简单的,但简单的安全密钥解锁机制有其缺陷,具有短比特数的安全密钥非常容易受到蛮力攻击,并且密钥传输过程也可能容易受到第三方监听攻击。
高级安全的实现可能相对昂贵。对于一些针对简单应用程序但仍然需要安全功能的SoC而言,例如物联网,成本实现开销可能更大,并且还有可能存在复杂的认证过程。
发明内容
根据本申请的实施例,本申请提出一种随机数产生电路、芯片及家用电器,以用于访问芯片的安全认证,解决上述问题。
根据本申请的第一方面,公开一种实例性的一种随机数产生电路,包括:振荡源,用于产生振荡输出信号;随机延迟产生器,用于产生随机延迟的采样时钟;模数转换器,连接所述振荡源和所述随机延迟产生器,其中,所述模数转换器用于根据随机延迟的所述采样时钟,对所述振荡输出信号进行多次采样并进行模数转换,得到多个转换结果,其中,任意两个相邻的采样时刻之间的间隔由所述随机延迟产生器的一次随机延迟决定;以及随机数生成器,连接所述模数转换器,其中,所述随机数生成器用于对多个所述转换结果进行处理,得到一个随机数。
在一些实施例中,所述振荡源包括RC振荡源,所述振荡输出信号包括振荡产生的正弦波信号。
在一些实施例中,所述振荡输出信号的频率低于所述模数转换器的采样频率。
在一些实施例中,所述随机延迟产生器包括线性反馈移位寄存器,其中,所述线性反馈移位寄存器用于产生伪随机数,根据产生的所述伪随机数,产生对应的所述随机延迟。
在一些实施例中,所述线性反馈移位寄存器采用芯片内部的随机存取存储器上电状态时的随机数据作为种子,生成所述伪随机数。
所述随机数生成器选取每个所述转换结果中的预定位数的低有效位,进行组合,生成所述随机数。
根据本申请的第二方面,公开一种实例性的一种芯片,包括:随机数产生电路,其中,所述随机数产生电路为上述第一方面中的随机数产生电路;以及加密单元,连接所述随机数产生电路,其中,所述加密单元用于根据加密密钥对访问密钥进行加密,生成访问消息,而所述访问密钥为由所述随机数产生电路生成的随机数;其中,当所述芯片接收到用户的访问请求时,所述芯片利用所述随机数产生电路和所述加密单元产生所述访问消息,将所述访问消息发送给用户。
在一些实施例中,该芯片进一步包括:解锁寄存器,用于接收用户的反馈密钥,其中,所述反馈密钥是用户利用与所述加密密钥配对的解密密钥对所述访问消息进行解密得到的;以及比较和解锁单元,连接所述解锁寄存器,其中所述比较和解锁单元用于比较所述反馈密钥是否与所述访问密钥匹配,在所述反馈密钥匹配所述访问密钥时,执行解锁操作,允许用户访问所述芯片。
在一些实施例中,所述芯片利用所述芯片的调试接口接收用户的访问请求,利用所述调试接口发送所述访问消息,利用所述调试接口接收用户的反馈密钥至所述解锁寄存器。
根据本申请的第三方面,公开一种实例性的一种家用电器,包括第二方面中的芯片。
本申请的有益效果有:通过芯片内部已有的振荡源、随机延迟产生器和模数转换器,实现生成随机数,用于访问芯片的安全认证,实现简单,使硬件开销最小化,没有涉及繁复计算,无需额外自定义的模拟电路,并且通过随机延迟产生器的随机延迟确定任意两个相邻的采样时刻之间的间隔,从而增加产生的随机数的随机性水平。
附图说明
下面将结合附图及实施方式对本申请作进一步说明,附图中:
图1是本申请实施例的随机数产生电路的结构示意图。
图2是本申请实施例的所产生的随机数的示意图。
图3是本申请实施例的芯片的结构示意图。
图4是本申请实施例的电子设备的结构示意图。
具体实施方式
为此,一些SoC制造商将安全认证过程集成为调试访问协议的一部分。对于每个调试会话,用户需要传输固定长度的安全密钥。安全密钥的值存储在芯片的非易失性存储器中。该密钥是在芯片的制造过程中编程的。一旦完成认证过程,用户将被授予对内部内存的访问权限。
不同的制造商在内存块级别处实现认证,例如在闪存控制器中。内存控制器为用户提供特定寄存器,以编写安全密钥来解锁对闪存的读或写访问。密钥的值可以是固定值或从闪存本身加载的值。
其中,安全密钥的随机数生成技术是预定义安全密钥的一个很好的替代方法。然而,数字逻辑电路只能产生伪随机数。许多方法利用模拟电路的物理不稳定性效应,如随机噪声或触发器亚稳态,生成真随机数(True Random Number,TRN)。另外,模数转换器(Analog to Digital Converter,ADC)是产生随机数的常用模块之一。常见的模数转换器有逐次逼近型模数转换器、积分型模数转换器、并行模数转换器、流水线型模数转换器、折叠型模数转换器等,采用逐次逼近、双积分、电压频率转换等方法。
一些制造商创建一个良好的随机噪声发生器。例如,通过天线从环境中捕获随机噪声。其中,由于灵敏度水平,天线必须隔离,以避免来自ADC的噪声。又例如,将噪声发生电路与放大器结合起来,以提高噪声水平。然而,在这些示例中,均需要额外的模拟电路设计来实现更好的随机噪声输入水平。
一些制造商利用额外的程序来增加ADC采样的随机性。例如,在电阻桥网络上的延迟的某些变化来进行多次ADC捕获。这需要MCU来产生随机采样时间延迟。又例如,捕获周期信号的傅里叶变换来分析谐波。多个转换结果的最后一位数被组合成随机数。
可以看出,上述解锁方式均是使用固定长度的安全密钥。而这种固定长度的密钥易受到蛮力攻击,并且充足时间下,第三方能够尝试所有键值的组合来解锁对芯片的访问,能够在密钥传输过程中窃取密钥信息,从而易受到第三方监听攻击。
而许多真随机数发生器要么是增加随机熵,要么是提高发生器的整体性能。对于使用ADC的应用,这往往会要求昂贵的额外电路,才能提高输入信号对ADC信道的随机性,并且很容易地被篡改。对于增加额外程序来处理转换结果的方法,计算繁重,需要使用SoC的核心处理器。
为此,本申请提供一种随机数产生电路、芯片及家用电器,以利用SoC内部已有的模拟电路及数字模块生成随机数来解锁对芯片的访问,而无需额外程序。
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本申请的技术方案做进一步详细描述。
其中,本说明书及权利要求书通篇中所用的某些用语指代特定部件。如所属领域的技术人员可以理解的是,电子设备制造商可利用不同名称来指代同一个部件。本文并非以名称来区分部件,而是以功能来区分部件。在以下说明书及权利要求书中,用语“包括”是开放式的限定词语,因此其应被解释为意指“包括但不限于…”。另外,用语“耦合”旨在意指间接电连接或直接电连接。因此,当一个装置耦合到另一装置时,则这种连接可以是直接电连接或通过其他装置及连接部而实现的间接电连接。
如图1所示,为本申请实施例的随机数产生电路的结构示意图。该随机数产生电路100为芯片内部的一部分,该随机数产生电路100产生一个随机数,该随机数可以用于访问芯片的安全认证,用作访问密钥,以解锁对芯片内部的访问。其中,芯片可以是某个电子设备内电路板上的一部分,例如,家用电器、智能手机等。其中,家用电器可以为厨房电器,例如,冰箱、洗碗机、电饭煲、电压力锅、电磁炉等,也可以为非厨房电器,例如,空调、电视机等。本申请并不限于此。
具体地,该随机数产生电路100包括振荡源110、随机延迟产生器120、模数转换器130以及随机数生成器140。其中,模数转换器130连接振荡源110和随机延迟产生器120,随机数生成器140连接模数转换器130。
振荡源110用于产生振荡输出信号。
随机延迟产生器120用于产生随机延迟的采样时钟。
模数转换器130用于根据随机延迟的采样时钟而对振荡输出信号进行多次采样并进行模数转换,从而得到多个转换结果,其中,任意两个相邻的采样时刻之间的间隔由随机延迟产生器120的一次随机延迟而决定。也就是说,对振荡输出信号进行两次采样的时间间隔为一次随机延迟,例如,对振荡输出信号进行第一次采样之后,间隔一次随机延迟,对振荡输出信号进行第二次采样,这样,由于间隔随机延迟,增加了因此所产生的随机数的随机性水平。
模数转换器130可以为是芯片内的一个单元,也可以是独立的集成电路。输入到模数转换器130的振荡输出信号为时间连续、幅值连续的信号,为了将振荡输出信号转换为数字信号,其中数字信号为时间离散、幅值离散的信号,模数转换器130通常经过采样、量化和编码等过程,其中模数转换器130的转换精度越高,所得到的数字信号与理想数字信号越接近。转换精度包括分辨率和转换误差等参数。模数转换器130的分辨率以输出二进制数的位数来表示,其说明模数转换器130对输入的振荡输出信号的分辨能力。模数转换器130的转换误差通常是以输出误差的最大值形式给出,其表示模数转换器130实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示。
随机数生成器140用于对多个转换结果进行处理,从而得到一个随机数。
本实施例中,通过芯片内部已有的振荡源110、随机延迟产生器120和模数转换器130,实现生成随机数,实现简单,使硬件开销最小化,没有涉及繁复计算,无需额外自定义的模拟电路,并且通过随机延迟产生器120的随机延迟确定任意两个相邻的采样时刻之间的间隔,从而增加产生的随机数的随机性水平。
如图1所示,振荡源110与模数转换器130连接,具体地,该随机数产生电路100还包括缓存器111和选择器112,振荡源110经过缓存器111和选择器112与模数转换器130的输入通道之一连接。其中,缓存器111对振荡源110产生的振荡输出信号进行缓存,选择器112的一个输入端连接缓存器111的输出端,选择器112的输出端连接模数转换器130的一个输入通道。选择器112的另一输入端连接模拟输入,选择器112的控制端连接选择信号,在选择信号的作用下,选择模数转换器130的其中一个输入通道,从而振荡源所产生的振荡输出信号自该输入通道输入到模数转换器130内部,模数转换器130对振荡输出信号进行多次采样并进行模数转换。
振荡源110可以为芯片内部的振荡时钟源。在一些实施例中,振荡源110包括RC振荡源,而振荡输出信号包括振荡产生的正弦波信号。RC振荡源由RC振荡电路构成,例如,RC正选波振荡电路。在一个示例中,RC正选波振荡电路包括集成运放、选频网络和负反馈支路,其中,集成运放作为放大电路,选频网络是由电阻R和电容C组成的串并联网络,例如,R1与C1串联,R2与C2并联,负反馈支路包括两个电阻。该正弦波信号的频率是固定的,例如,1Hz-1MHz中的某个频率值。进一步地,RC振荡源产生的振荡输出信号的频率低于模数转换器130的采样频率。也就是说,RC振荡源产生的正弦波信号的固定频率小于模数转换器130的采样频率。
本实施例中,通过芯片内部的RC振荡源,在所产生的随机数用于访问芯片的安全认证的情况下,确保第三方没有直接的方法篡改用作访问密钥的随机数的生成过程。另外,通过RC振荡源产生的正弦波信号的固定频率小于模数转换器130的采样频率,使得模数转换器130在不同的采样时刻采样正弦波信号时得到的转换结果不同,进一步实现了所产生的随机数的随机性。
如上述,随机延迟产生器120产生随机延迟的采样时钟,即采样延迟。在一些实施例中,随机延迟产生器120包括用于产生伪随机数的线性反馈移位寄存器,用于根据产生的伪随机数而产生对应的随机延迟。线性反馈移位寄存器中具有多个触发器,其可以用于产生随机性更好的伪随机数,从而使得根据该伪随机数产生的相应随机延迟也具备良好的随机性。该线性反馈移位寄存器的初始值称为“种子”,因为线性反馈移位寄存器的运算是确定性的。线性反馈移位寄存器中的触发器可以为主从型边沿触发器,用于线性反馈移位寄存器中的移位单元。线性反馈移位寄存器的相关内容在本申请中不做详细描述,所有均能产生伪随机数的线性反馈移位寄存器均落入本申请的范围。
例如,线性反馈移位寄存器采用芯片内部的随机存取存储器(Random AccessMemory,RAM)上电状态时的随机数据作为种子,以生成伪随机数。也就是说,采用芯片内部的随机存取存储器处于上电状态时其随机数据作为该线性反馈移位寄存器的初始值,利用初始值生成伪随机数。在本示例中,通过芯片内部的随机存取存储器(Random AccessMemory,RAM)上电状态时的随机数据作为种子来生成伪随机数,增加了根据伪随机数而产生的随机延迟的随机性水平,从而进一步增加了模数转换器130在任意两个相邻的采样时刻之间的间隔的随机性,进一步提升所产生的随机数的随机性水平。
如上述,随机数生成器140对多个转换结果进行处理,从而得到一个随机数。每个转换结果不相同,每个转换结果存在多个低有效位(low significant bit),这些低有效位是不稳定的转换数据,可用于构造随机数。具体地,在一些实施例中,随机数生成器140选取每个转换结果中的预定位数的低有效位,并进行组合,以生成随机数,例如,随机数生成器140选取每个转换结果中的8个低有效位,将多个8个低有效位进行组合,生成随机数。
结合图2,下面对随机数生成器140的处理进行说明,其中模数转换器130对振荡输出信号进行了n次模数转换,则得到n个转换结果,即Data_1[i-1,0]到Data_n[i-1,0],其中,Data_1[i-1,0]表示对振荡输出进行第一次模数转换所得到的转换结果,Data_2[i-1,0]表示对振荡输出进行第二次模数转换所得到的转换结果,Data_3[i-1,0]表示对振荡输出进行第三次模数转换所得到的转换结果,依次类推,Data_n[i-1,0]表示对振荡输出进行第n次模数转换所得到的转换结果,i表示每次模数转换的分辨率,即模数转换器130的分辨率。选取每个转换结果中的j个低有效位,将这n个的j个低有效位进行组合,得到n*j位随机数。
在图2的示例中,n个的j个低有效位按照模数转换顺序从低到高进行组合,即第一次转换结果中的j个低有效位依次是随机数的低位数据,即第n次转换结果中的j个低有效位依次是随机数的高位数据,从而得到n*j位的随机数。本申请并不限定组合的顺序,还可以按照其他方式进行组合,组合得到n*j位的随机数即可。其中,n、j及i均为大于1的正整数,且j<i。在一些实施例中,n*j=128,也就是说,随机数为128位的数据。
在一些实施例中,模数转换器130可以被提供一个不稳定的电压源,进一步增加所产生的随机数的随机性水平。其中,不稳定的电压源根据芯片的具体情况而定,本申请并不限定此。
如图3所示,为本申请实施例的芯片的结构示意图。该芯片300可以为SoC,可以应用于电子设备中,例如家用电器、智能手机等。其中,家用电器可以为厨房电器,例如,冰箱、洗碗机、电饭煲、电压力锅、电磁炉等,也可以为非厨房电器,例如,空调、电视机等。
该芯片300包括随机数产生电路310和加密单元320,其中加密单元320连接随机数产生电路310。随机数产生电路310为上述实施例中的随机数产生电路100,其中,如图1所示,该随机数产生电路100包括振荡源110、随机延迟产生器120、模数转换器130以及随机数生成器140。其中,模数转换器130连接振荡源110和随机延迟产生器120,随机数生成器140连接模数转换器130。振荡源110用于产生振荡输出信号。随机延迟产生器120用于产生随机延迟的采样时钟;模数转换器130用于根据随机延迟的采样时钟而对振荡输出信号进行多次采样并进行模数转换,从而得到多个转换结果,其中,任意两个相邻的采样时刻之间的间隔由随机延迟产生器120的一次随机延迟而决定。随机数生成器140用于对多个转换结果进行处理,从而得到一个随机数。关于随机数产生电路100的描述详见上述实施例中的描述。
加密单元320用于根据加密密钥对访问密钥进行加密而生成访问消息,而访问密钥为由随机数产生电路310而生成的随机数。
当芯片300接收到用户的访问请求时,芯片300利用随机数产生电路310和加密单元320而产生访问消息,并将访问消息发送给用户。
本实施例中,通过芯片内部的随机数产生电路310产生一个随机数,用作访问密钥,实现访问芯片的安全认证,以解锁对芯片内部的访问,从而,每次访问芯片时,访问密钥均不同,并通过加密单元320对访问密钥进行加密,保护访问密钥的传输,无需较高的计算处理能力。
另外,随机数产生电路310中,通过芯片内部已有的振荡源、随机延迟产生器和模数转换器,实现生成随机数,实现简单,使硬件开销最小化,没有涉及繁复计算,无需额外自定义的模拟电路,并且通过随机延迟产生器的随机延迟确定任意两个相邻的采样时刻之间的间隔,从而增加产生的随机数的随机性水平。
如上述,加密单元320根据加密密钥对访问密钥进行加密,从而生成访问消息,即访问消息中包含访问密钥。在一些实施例中,该加密单元320采用高级加密标准(AdvancedEncryption Standard,AES),其所采用的加密密钥在制造过程中预先编程在该芯片300的闪存中。在对访问密钥进行加密时,需先从芯片300的闪存中获取该加密密钥,再根据该加密密钥对访问密钥进行加密。AES为分组密码,该分组密码待加密的明文(即访问密钥)进行分组,每组的长度相等,每次加密一组数据,直到加密完整个访问密钥。在AES标准规范中,分组长度只能是128位,也就是说,每个分组为16个字节(每个字节8位)。加密密钥的长度可以使用128位、192位或256位。使用AES,加密单元320的加密过程主要包括加密密钥扩展、初始轮、重复轮和最终轮,初始轮和每一重复轮均包括字节代换、行移位、列混合和轮密钥加法运算等操作,其中,最终轮不包括列混合操作。字节代换操作为查表操作,AES定义了相应的S盒与逆S盒,即查表相应的S盒。行移位操作可以左循环移位操作。列混合操作可以是通过矩阵相乘来实现。轮密钥加法运算可以是将轮密钥的同状态矩阵中的数据进行逐位异或操作。对于不同的加密密钥的长度,其加密轮数不同。
访问密钥为由随机数产生电路310而生成的随机数,例如,上述实施例中的n*j位随机数。该随机数产生的过程具体详见上述实施例的描述。
如图3所示,当芯片300接收到用户发送的访问请求,芯片300藉由随机数产生电路310和加密单元320而产生访问消息,并将访问消息发送给用户,从而用户可以对芯片内部进行访问,也就是说,利用随机数产生电路310和加密单元320,芯片300产生访问消息。
具体地,该芯片300进一步包括解锁寄存器330以及比较和解锁单元340,比较和解锁单元340连接解锁寄存器330。
解锁寄存器330用于接收用户的反馈密钥,其中,反馈密钥是用户利用与加密密钥配对的解密密钥对访问消息进行解密而得到的。用户利用与加密密钥配对的解密密钥对访问消息进行解密,在芯片300的加密单元320采用AES的示例中,相应地,用户也利用AES进行解密,其中,若加密单元320使用对称加密算法,则用户所使用的解密密钥与加密单元320所使用的加密密钥是相同的,这里用户的解密过程是加密单元320的加密过程的逆过程,主要包括解密密钥扩展、初始轮、重复轮和最终轮,初始轮和每一重复轮均包括逆行移位、逆字节代换、轮密钥加法运算和逆列混合等操作,最终轮不包括逆列混合操作。
比较和解锁单元340用于比较反馈密钥是否与访问密钥匹配,并在反馈密钥匹配访问密钥时,执行解锁操作以允许用户访问芯片300。
进一步地,芯片300藉由调试接口350而接收用户的反馈密钥至解锁寄存器330,即利用调试接口350,芯片300接收用户的反馈密钥至解锁寄存器330,用户的反馈密钥经过调试接口350达到解锁寄存器330。
其中,解密密钥与加密密钥是配对的,也是在制造过程中预先编程的。在芯片300侧的加密单元320采用AES的情况下,用户侧也采用AES,从而对访问消息进行解密。用户侧获取解密密钥的方式在本申请中不进行限定,例如,解密密钥可是预先存储在用户侧。解密密钥也可以是预先存储在芯片300的闪存中,此时,用户侧通过与芯片300之间的通信自芯片300获取该解密密钥。
访问密钥为由随机数产生电路310而生成的n*j位随机数时,相应地,反馈密钥的大小为n*j位,解锁寄存器330的大小为也n*j位,例如,访问密钥为128位随机数时,反馈密钥的大小为128位,可以采用四个32位解锁寄存器来接收用户反馈的反馈密钥,本申请并不限于此。需要说明的是,在用户侧,也可以采用四个32位寄存器来缓存该反馈密钥,本申请并不限于此。
如图3所示,该芯片300进一步包括锁寄存器360,该锁寄存器360用于接收用户发送的结束请求,该结束请求包含锁密钥。用户发送结束请求,即用户侧利用调试接口350将锁密钥写入锁寄存器360中。该锁密钥用于指示将芯片300锁回,以使芯片300处于锁定状态。此时,用户访问芯片300结束。
下面结合图3对用户与芯片之间的一个访问会话的过程进行详细描述。
首先,芯片处于锁定状态,用户需要访问该芯片时,用户藉由调试接口350发送访问请求至芯片300,即访问请求经过调试接口350发送至芯片300;
芯片300藉由调试接口350接收该访问请求,随后,藉由随机数产生电路310生成随机数,作为访问密钥,随后,藉由加密单元320根据加密密钥对该访问密钥进行加密,从而产生访问消息。
随后,芯片300藉由调试接口350将该访问消息传输至用户,用户利用与加密密钥配对的解密密钥对访问消息进行解密得到反馈密钥。
随后,芯片300藉由调试接口350而接收用户的反馈密钥至解锁寄存器330,之后,芯片300藉由比较和解锁单元340比较反馈密钥是否与访问密钥匹配,并在反馈密钥匹配访问密钥时,执行解锁操作以允许用户访问芯片300。若反馈密钥不匹配访问密钥时,比较和解锁单元340返回空闲状态,不工作,从而芯片300仍处于锁定状态。
最后,用户访问芯片300完成时,由调试接口350发送结束请求至芯片300,即用户利用调试接口350将锁密钥写入锁寄存器中。此时,表示访问会话结束。这样,后续再进行访问会话时,新的访问密钥将会产生,即每次访问时的访问密钥不相同。
图4是本申请实施例的电子设备的结构示意图,该电子设备400可以为家用电器、智能手机等。其中,家用电器可以为厨房电器,例如,冰箱、洗碗机、电饭煲、电压力锅、电磁炉等,也可以为非厨房电器,例如,空调、电视机等。具体地,该电子设备400包括芯片410,该芯片410可以设置于电子设备400的主板上。
该芯片410可以为上述实施例的芯片300,具体地,如图3所示,该芯片300包括随机数产生电路310和加密单元320,其中加密单元320连接随机数产生电路310。
随机数产生电路310为上述实施例中的随机数产生电路100,具体的,如图1所示,具体地,该随机数产生电路100包括振荡源110、随机延迟产生器120、模数转换器130以及随机数生成器140。其中,模数转换器130连接振荡源110和随机延迟产生器120,随机数生成器140连接模数转换器130。振荡源110用于产生振荡输出信号。随机延迟产生器120用于产生随机延迟的采样时钟;模数转换器130用于根据随机延迟的采样时钟而对振荡输出信号进行多次采样并进行模数转换,从而得到多个转换结果,其中,任意两个相邻的采样时刻之间的间隔由随机延迟产生器120的一次随机延迟而决定。随机数生成器140用于对多个转换结果进行处理,从而得到一个随机数。关于随机数产生电路100的其他说明详见上述关于随机数产生电路100的实施例中的描述。
加密单元320用于根据加密密钥对访问密钥进行加密而生成访问消息,而访问密钥为由随机数产生电路310而生成的随机数。
当芯片300接收到用户的访问请求时,芯片300藉由随机数产生电路310和加密单元320而产生访问消息,并将访问消息发送给用户。
加密单元320根据加密密钥对访问密钥进行加密,从而生成访问消息,即访问消息中包含访问密钥。在一些实施例中,该加密单元320采用高级加密标准(AdvancedEncryption Standard,AES),其所采用的加密密钥在制造过程中预先编程在该芯片300的闪存中。在对访问密钥进行加密时,需先从芯片300的闪存中获取该加密密钥,再根据该加密密钥对访问密钥进行加密。
访问密钥为由随机数产生电路310而生成的随机数,例如,上述实施例中的n*j位随机数。该随机数产生的过程具体详见上述实施例的描述。
继续如图3所示,当芯片300接收到用户发送的访问请求,芯片300藉由随机数产生电路310和加密单元320而产生访问消息,并将访问消息发送给用户,从而用户可以对芯片内部进行访问。
具体地,该芯片300进一步包括解锁寄存器330以及比较和解锁单元340,比较和解锁单元340连接解锁寄存器330。
解锁寄存器330用于接收用户的反馈密钥,其中,反馈密钥是用户藉由与加密密钥配对的解密密钥对访问消息进行解密而得到的。
比较和解锁单元340用于比较反馈密钥是否与访问密钥匹配,并在反馈密钥匹配访问密钥时,执行解锁操作以允许用户访问芯片300。
进一步地,芯片300藉由调试接口350而接收用户的反馈密钥至解锁寄存器330。
其中,解密密钥与加密密钥是配对的,也是在制造过程中预先编程的。在芯片300侧的加密单元320采用AES的情况下,用户侧也采用AES,从而对访问消息进行解密。用户侧获取解密密钥的方式在本申请中不进行限定,例如,解密密钥可是预先存储在用户侧。解密密钥也可以是预先存储在芯片300的闪存中,此时,用户侧通过与芯片300之间的通信自芯片300获取该解密密钥。
访问密钥为由随机数产生电路310而生成的n*j位随机数时,相应地,反馈密钥的大小为n*j位,解锁寄存器330的大小为也n*j位,例如,访问密钥为128位随机数时,反馈密钥的大小为128位,可以采用四个32位解锁寄存器来接收用户反馈的反馈密钥,本申请并不限于此。
需要说明的是,本实施例的芯片410采用上述实施例的芯片300,关于芯片300的其他具体说明详见上述实施例中的描述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
上述说明,使得本领域的普通技术人员能够在特定内容及其需求中实施本发明。对本领域技术人员来说,所描述的实施例的各种变形将是显而易见的,并且本文定义的一般原则可以应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,而是将被赋予与本文所公开的原理和新颖特征相一致的最大范围。在上述详细说明中,说明了各种具体细节,以便透彻理解本发明。然而,这将被那些实施本发明所属的领域的技术人员所理解。
所属领域的技术人员易知,可在保持本申请的教示内容的同时对装置及方法作出诸多修改及变动。因此,以上公开内容应被视为仅受随附权利要求书的范围的限制。

Claims (10)

1.一种随机数产生电路,其特征在于,包括:
振荡源,用于产生振荡输出信号;
随机延迟产生器,用于产生随机延迟的采样时钟;
模数转换器,连接所述振荡源和所述随机延迟产生器,其中,所述模数转换器用于根据随机延迟的所述采样时钟,对所述振荡输出信号进行多次采样并进行模数转换,得到多个转换结果,其中,任意两个相邻的采样时刻之间的间隔由所述随机延迟产生器的一次随机延迟决定;以及
随机数生成器,连接所述模数转换器,其中,所述随机数生成器用于对多个所述转换结果进行处理,得到一个随机数。
2.根据权利要求1所述的随机数产生电路,其特征在于,所述振荡源包括RC振荡源,所述振荡输出信号包括振荡产生的正弦波信号。
3.根据权利要求2所述的随机数产生电路,其特征在于,所述振荡输出信号的频率低于所述模数转换器的采样频率。
4.根据权利要求1所述的随机数产生电路,其特征在于,所述随机延迟产生器包括线性反馈移位寄存器,其中,所述线性反馈移位寄存器用于产生伪随机数,根据产生的所述伪随机数,产生对应的所述随机延迟。
5.根据权利要求4所述的随机数产生电路,其特征在于,所述线性反馈移位寄存器采用芯片内部的随机存取存储器上电状态时的随机数据作为种子,生成所述伪随机数。
6.根据权利要求1所述的随机数产生电路,其特征在于,所述随机数生成器选取每个所述转换结果中的预定位数的低有效位,进行组合,生成所述随机数。
7.一种芯片,其特征在于,包括:
随机数产生电路,其中,所述随机数产生电路为如权利要求1-6任意一项所述的随机数产生电路;以及
加密单元,连接所述随机数产生电路,其中,所述加密单元用于根据加密密钥对访问密钥进行加密,生成访问消息,所述访问密钥为由所述随机数产生电路生成的随机数;
其中,当所述芯片接收到用户的访问请求时,所述芯片利用所述随机数产生电路和所述加密单元产生所述访问消息,将所述访问消息发送给用户。
8.根据权利要求7所述的芯片,其特征在于,进一步包括:
解锁寄存器,用于接收用户的反馈密钥,其中,所述反馈密钥是用户利用与所述加密密钥配对的解密密钥对所述访问消息进行解密得到的;以及
比较和解锁单元,连接所述解锁寄存器,其中,所述比较和解锁单元用于比较所述反馈密钥是否与所述访问密钥匹配,在所述反馈密钥匹配所述访问密钥时,执行解锁操作,允许用户访问所述芯片。
9.根据权利要求8所述的芯片,其特征在于,所述芯片利用所述芯片的调试接口接收用户的访问请求,利用所述调试接口发送所述访问消息,利用所述调试接口接收用户的反馈密钥至所述解锁寄存器。
10.一种家用电器,其特征在于,包括如权利要求7-9任意一项所述的芯片。
CN202010566168.4A 2020-06-19 2020-06-19 随机数产生电路、芯片及家用电器 Pending CN111900958A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010566168.4A CN111900958A (zh) 2020-06-19 2020-06-19 随机数产生电路、芯片及家用电器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010566168.4A CN111900958A (zh) 2020-06-19 2020-06-19 随机数产生电路、芯片及家用电器

Publications (1)

Publication Number Publication Date
CN111900958A true CN111900958A (zh) 2020-11-06

Family

ID=73206283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010566168.4A Pending CN111900958A (zh) 2020-06-19 2020-06-19 随机数产生电路、芯片及家用电器

Country Status (1)

Country Link
CN (1) CN111900958A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277646A (zh) * 2022-09-29 2022-11-01 河北振创电子科技有限公司 一种以太网数据采集仪mac地址自动设置方法及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172055A1 (en) * 2006-03-29 2009-07-02 Eads Secure Networks Random Number Generator
CN201327636Y (zh) * 2008-10-27 2009-10-14 张润捷 真随机数发生器
CN102037657A (zh) * 2008-03-18 2011-04-27 翁-兰普无线公司 通过网格化的随机相位多址系统
US20110299678A1 (en) * 2010-06-07 2011-12-08 Alexander Roger Deas Secure means for generating a specific key from unrelated parameters
CN102651686A (zh) * 2011-02-23 2012-08-29 上海华虹集成电路有限责任公司 单片机在线可编程的身份认证方法
CN103513955A (zh) * 2012-06-20 2014-01-15 罗伯特·博世有限公司 用于产生随机数的方法
CN103927147A (zh) * 2013-01-16 2014-07-16 擎泰科技股份有限公司 用于随机数产生器的延迟装置及方法及其随机数产生器
CN105867877A (zh) * 2016-03-25 2016-08-17 中国科学技术大学 一种基于fpga的真随机数发生器
CN106775583A (zh) * 2016-11-18 2017-05-31 杭州电子科技大学 一种高速真随机数的产生方法
CN107797788A (zh) * 2017-11-03 2018-03-13 大唐微电子技术有限公司 一种随机数发生装置、真随机数发生器及系统级芯片
CN109933481A (zh) * 2019-03-13 2019-06-25 珠海市一微半导体有限公司 一种jtag接口的解锁系统及jtag解锁控制方法
CN110651448A (zh) * 2018-03-21 2020-01-03 深圳市汇顶科技股份有限公司 芯片的访问方法、微芯片、智能卡以及调试设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172055A1 (en) * 2006-03-29 2009-07-02 Eads Secure Networks Random Number Generator
CN102037657A (zh) * 2008-03-18 2011-04-27 翁-兰普无线公司 通过网格化的随机相位多址系统
CN201327636Y (zh) * 2008-10-27 2009-10-14 张润捷 真随机数发生器
US20110299678A1 (en) * 2010-06-07 2011-12-08 Alexander Roger Deas Secure means for generating a specific key from unrelated parameters
CN102651686A (zh) * 2011-02-23 2012-08-29 上海华虹集成电路有限责任公司 单片机在线可编程的身份认证方法
CN103513955A (zh) * 2012-06-20 2014-01-15 罗伯特·博世有限公司 用于产生随机数的方法
CN103927147A (zh) * 2013-01-16 2014-07-16 擎泰科技股份有限公司 用于随机数产生器的延迟装置及方法及其随机数产生器
US20140201253A1 (en) * 2013-01-16 2014-07-17 Skymedi Corporation Delay Device, Method, and Random Number Generator Using the Same
CN105867877A (zh) * 2016-03-25 2016-08-17 中国科学技术大学 一种基于fpga的真随机数发生器
CN106775583A (zh) * 2016-11-18 2017-05-31 杭州电子科技大学 一种高速真随机数的产生方法
CN107797788A (zh) * 2017-11-03 2018-03-13 大唐微电子技术有限公司 一种随机数发生装置、真随机数发生器及系统级芯片
CN110651448A (zh) * 2018-03-21 2020-01-03 深圳市汇顶科技股份有限公司 芯片的访问方法、微芯片、智能卡以及调试设备
CN109933481A (zh) * 2019-03-13 2019-06-25 珠海市一微半导体有限公司 一种jtag接口的解锁系统及jtag解锁控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277646A (zh) * 2022-09-29 2022-11-01 河北振创电子科技有限公司 一种以太网数据采集仪mac地址自动设置方法及装置

Similar Documents

Publication Publication Date Title
Babbage et al. The MICKEY stream ciphers
Yamamoto et al. Uniqueness enhancement of PUF responses based on the locations of random outputting RS latches
CN111259416A (zh) 一种基于fpga的多算法安全加密认证系统及认证方法
KR101987141B1 (ko) 난수 발생기
JP5831202B2 (ja) 個体別情報生成装置及び個体別情報生成方法
CN116073987A (zh) 一种分组密码模式的可靠性设计方法、密码卡、服务器
CN111900958A (zh) 随机数产生电路、芯片及家用电器
JP5870675B2 (ja) 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置
Shamir et al. Guaranteeing the diversity of number generators
Cao et al. A new reconfigurable true random number generator and physical unclonable function unified chip with on-chip auto-calibration
Latif et al. Optimization of a quantum-secure sponge-based hash message authentication protocol
Hutto et al. Sensing with random encoding for enhanced security in embedded systems
Letham et al. A 128K EPROM using encryption of pseudorandom numbers to enable read access
US20120321079A1 (en) System and method for generating round keys
US11632231B2 (en) Substitute box, substitute method and apparatus thereof
Peng et al. A side-channel attack resistant AES with 500mbps, 1.92 pj/bit PVT variation tolerant true random number generator
US20210224041A1 (en) Random number generator, random number generating circuit, and random number generating method
Landge et al. VHDL based Blowfish implementation for secured embedded system design
Hutto et al. Hardware-Based Randomized Encoding for Sensor Authentication in Power Grid SCADA Systems
Maache et al. Design and Implementation of a flexible Multi-purpose Cryptographic System on low cost FPGA
CN114614987A (zh) 一种集成电路及其数字指纹生成电路、方法
Naito et al. Aes-lbbb: Aes mode for lightweight and bbb-secure authenticated encryption
Yu et al. On designing PUF-based TRNGs with known answer tests
CN117896064B (zh) 一种低计算开销超晶格孪生puf密钥同步方法及系统
Mars et al. SRAM-SUC: Ultra-Low Latency Robust Digital PUF

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