CN115244891A - 具有密码引擎的无线电发射器设备 - Google Patents
具有密码引擎的无线电发射器设备 Download PDFInfo
- Publication number
- CN115244891A CN115244891A CN202180020008.2A CN202180020008A CN115244891A CN 115244891 A CN115244891 A CN 115244891A CN 202180020008 A CN202180020008 A CN 202180020008A CN 115244891 A CN115244891 A CN 115244891A
- Authority
- CN
- China
- Prior art keywords
- radio transmitter
- cryptographic
- data
- integrated circuit
- radio
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Selective Calling Equipment (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种集成电路无线电发射器芯片(2)包含发射器(7)、密码引擎(12)和用于所述密码引擎的控制电路系统(13)。所述密码引擎(12)通过接收输入数据、执行生成第一结果数据的第一过程和生成第二结果数据的第二过程来执行密码操作。所述第一和第二结果数据用于生成输出数据。响应于确定所述发射器(7)活动,所述控制电路系统(13)控制所述密码引擎(12)执行所述第一过程并防止所述密码引擎在所述发射器活动时执行所述第二过程。响应于确定所述发射器(7)不活动,所述控制电路系统(13)控制所述密码引擎(12)执行所述第二过程。
Description
背景技术
本发明涉及具有密码引擎的无线电发射器设备。
已知将无线电发射器、主处理器和与主处理器分开的密码引擎集成在单个集成电路(IC)芯片上。这类片上无线电装置可通过使用密码引擎对数据进行加密和/或签名以供无线电发射器发射,从而促进有效和安全的无线电通信,而不会使主处理器负担该任务。这类芯片还可包括无线电接收器并且可使用密码引擎来解密和/或认证传入的无线电消息。
密码引擎应设法保护敏感数据(如密码密钥和未加密的明文消息)免受攻击者的侵害。
一些攻击纯粹应用于截获的无线电消息数据-例如发现加密密钥的蛮力、试错法。其它攻击,称为侧信道攻击,还使用揭示关于芯片执行的实际密码过程的详细信息的测量。
一些边信道攻击涉及监控芯片在执行密码操作时消耗的电流。电流的波动可揭示有关芯片在将密码操作应用于敏感数据时正在执行的数学计算的详细信息。对操作的多次观察进行统计分析可能使攻击者能够发现敏感数据本身。但是,这类攻击需要攻击者靠近芯片。
最近被识别为可能对片上无线电装置构成威胁的侧信道攻击是“尖叫信道”攻击。这可能会从很远的地方进行。它基于以下观察:芯片的数字逻辑部分(如处理器)中的电气噪声可导致芯片恰好与正在执行的密码操作同时发射的无线电信号的意外幅度和/或频率调制。如果数字开关噪声与基带无线电信号或本地振荡器信号耦合,然后上变频为射频,则可能会发生这种情况。这种无意的调制可通过无线电天线被放大和发射。
攻击者可能会使用位于远处的无线电接收器来分析由于使用密码操作处理敏感数据而导致的无线电信号的意外调制。在某些情况下,攻击者可能会通过分析无意的无线电调制来发现敏感数据。密码操作不需要与无线电信号的预期消息内容相关。
减轻侧信道攻击的尝试传统上使用隐藏或掩蔽技术,以使统计分析不太可行。然而,这些技术可引入显著的额外复杂性,这可能是不受欢迎的,并且可能仍然不足以阻止成功的攻击。
本发明旨在提供了一种不同的方法来减轻对集成电路无线电发射器芯片的侧信道攻击的威胁。
发明内容
从根据第一方面,本发明提供了一种集成电路无线电发射器芯片,其包含:
无线电发射器;
密码引擎;和
用于控制密码引擎的控制逻辑,
其中密码引擎被配置成通过以下执行密码操作:
接收用于密码操作的输入数据;
执行第一分量过程以生成第一结果数据;
执行第二分量过程以生成第二结果数据;
使用第一和第二结果数据生成表示密码操作的结果的输出数据;和
输出输出数据,
其中控制逻辑包含无线电状态输入,无线电状态输入用于接收指示无线电发射器是否处于用于发射一个或多个无线电信号的活动状态的信号,并且
其中控制逻辑被配置成使用无线电状态输入来:
响应于确定无线电发射器处于活动状态,控制密码引擎执行第一分量过程,使得无线电发射器在密码引擎执行第一分量过程时输出射频信号;和
响应于确定无线电发射器不处于活动状态,控制密码引擎执行第二分量过程,使得密码引擎在无线电发射器不输出射频信号时执行第二分量过程。
根据第二方面,本发明提供了一种包含这类集成电路无线电发射器芯片的电气设备。
因此将看出,根据本发明,密码操作被划分为至少两个阶段,在无线电发射器活动时执行第一分量过程,并且在无线电发射器不活动时执行第二分量过程。重要的是,输出数据取决于两个过程的结果,因此即使其中一个分量过程被攻击者破坏,攻击者也无法发现有关整个密码操作的完整信息。
这种方法可同时防止本地侧信道攻击和远程侧信道攻击。远程侧信道攻击的威胁,其中攻击者分析发射的无线电信号,通过在无线电发射器不活动时执行第二分量过程来减轻威胁,因为无线电发射器不会放大和广播任何侧信道信息关于这个过程的攻击者。通过在无线电发射器活动时执行第一分量过程来减轻来自本地侧信道攻击的威胁,其中攻击者直接监控芯片的功耗。当发射器活动时,无线电发射器消耗的额外电流以及相关的局部电磁辐射将使攻击者更难获得有关密码引擎在第二分量过程中执行的操作的有用信息。特别是,来自无线电发射器的功耗信号通常比密码引擎的功率消耗信号大得多,从而导致密码引擎的任何潜在侧信道泄漏的信噪比非常低。
控制逻辑可被配置成防止密码引擎在无线电发射器处于活动状态时执行第二分量过程。这对于确保在无线电发射器正在发射无线电信号时不执行第二分量过程可能是有益的,例如,如果芯片包含与控制逻辑分离的组件或机制,如处理器,否则可能能够使密码引擎在不适当的时间执行第二分量过程。
密码操作可为以下任何一种:加密操作、解密操作、签名操作、签名验证操作、散列操作、消息认证码(MAC)操作或任何其它密码操作。可为如AES、SNOW 3G、RSA等标准化操作。操作可使用密钥数据,如对称密钥或非对称密钥。输入数据可包含以下一项或多项:密钥数据、明文数据、密文数据、签名数据、散列数据或MAC数据。
第一分量过程可在第二分量过程之前进行,或第二分量过程可在第一分量过程之前进行。顺序可为固定的,或控制逻辑可被配置成根据无线电发射器是否在密码操作内的预定点处(如在密码操作的开始)处于活动状态确定执行第一和第二分量过程的顺序。这可通过在密码操作期间仅等待发射状态的一次改变而不是两次改变而导致密码操作的更有效的性能。
如果无线电发射器不处于活动状态,则控制逻辑可被配置成等到无线电发射器处于活动状态,然后执行第一分量过程。它可被配置成在此等待期间重复地确定发射器的状态,例如以规则的间隔。如果无线电发射器处于活动状态,则控制逻辑可被配置成在执行第二分量过程之前等到无线电发射器不处于活动状态。它可被配置成在此等待期间重复地确定发射器的状态,例如以规则的间隔。
第一和第二分量过程可一起包含由密码引擎对输入数据执行以生成输出数据的所有步骤。然而,在一些实施例中,密码操作可包含一个或多个另外的分量过程,其可在第一和第二过程之前、之后或之间执行。每个另外的分量过程的执行可取决于无线电发射器的状态,或它可独立于无线电发射器是否处于活动状态来执行。第一和第二结果数据中的一个可为输出数据,尽管这不是必需的。
第一和第二分量过程可通过它们执行的处理步骤和/或它们作用于什么数据区分。特别地,它们可从形成密码操作的一部分的有序步骤序列中执行不同的相应组的一个或多个步骤。替代地或附加地,第一和第二分量过程可作用于输入数据的不同的相应部分。
这些过程可为连续的。在一些实施例中,第一结果数据可被第二分量过程用于生成第二结果数据。替代地,如果在第一处理之前执行第二处理,则第二结果数据可被第一分量过程用于生成第一结果数据。第二结果数据可取决于第一结果数据,反之亦然。
密码操作可为包含多个相同轮次的操作(如AES加密操作中的轮次)。在这种情况下,第一过程可包含执行一个或多个轮次的第一组,并且第二过程可包含执行一个或多个轮次的第二组,其中第一和第二组是非重叠组。
在一些实施例中,第一结果数据取决于输入数据的第一部分但不取决于输入数据的第二部分。类似地,第二结果数据可依赖于输入数据的第二部分但不依赖于输入数据的第一部分。第一和第二部分可为密码密钥的相应部分,或它们可为如明文数据、密文数据或签名数据的非密钥数据的相应部分。
密码操作可为对预定大小的输入数据的多个块执行的操作(例如128位AES加密操作,其作用于128位明文块)。在这种情况下,第一过程可包含对输入数据的一个或多个块的第一组执行密码算法-其可为标准化算法,如AES加密,并且第二过程可包含对输入数据的一个或多个块的第二组执行密码算法,其中第一和第二组是非重叠的组。
密码操作可使用块操作模式(如密码块链接,CBC),其中第一和第二结果数据中的一个取决于第一和第二结果数据中的另一个。这可另外减轻设法破坏其中一个分量过程的攻击者所构成的威胁。
输出数据不必一次全部输出,而是可随着时间递增地输出。类似地,密码引擎可随时间递增地接收输入数据。
集成电路芯片可为硅芯片。它可包含无线电接收器。芯片可包含用于直接从芯片发射无线电信号的片上天线,或它可包含用于将芯片连接到片外天线的引脚,任选地经由片外功率放大器。在这种情况下,芯片上的无线电发射器可输出电气射频信号。芯片可包含一个或多个处理器。它可包含易失性和非易失性存储器。它可能是片上系统(SoC)。
密码引擎可包含存储在芯片的存储器中的软件引擎(例如,密码固件),用于由芯片的处理器执行。它可由主处理器(即也执行其它软件的处理器)或专用密码处理器来执行。密码引擎可包含密码处理器。它可包含用于存储用于密码处理器的软件指令的存储器;芯片的主处理器可能无法访问此存储器。
然而,在一些实施例中,密码引擎是硬件引擎。密码引擎可包含电子电路系统,例如寄存器和逻辑门,被配置用于执行第一和第二分量过程。
类似地,控制逻辑引擎可包含存储在芯片的存储器中的软件逻辑,用于由芯片的处理器执行。这可为主处理器或专用密码处理器。控制逻辑可包含密码处理器。控制逻辑可为密码引擎的组件。可使用无线电发射器的输出寄存器来确定无线电状态输入,所述输出寄存器可由处理器通过芯片的总线系统读取。
然而,在一些实施例中,控制逻辑是硬件状态机。控制逻辑可包含电子电路系统,例如寄存器和逻辑门,被配置成控制密码引擎。
芯片可包含处理器和用于向和从处理器传送数据的总线。控制逻辑可耦合到总线以从处理器接收控制信号。控制逻辑可通过总线接收指示无线电发射器是否处于活动状态的信号。然而,在一些实施例中,无线电状态输入可通过与总线分离的连接而耦合到无线电发射器。这可针对在处理器上执行的恶意软件提供更高的安全性,否则这些恶意软件可能欺骗控制逻辑,使其相信无线电发射器活动,而实际上它不活动。单独的连接可包含无线电发射器和控制逻辑之间的专用线路,或它可通过外围互连系统或处理器间通信系统建立(例如,如果无线电发射器和控制逻辑包含各自的处理器)。
无线电发射器可被配置成在并且仅当无线电发射器正在输出射频(RF)信号时处于活动状态。然而,在一些实施例中,无线电发射器可在其准备输出RF信号时或在其停止输出RF信号后不久发出活动状态的信号。如果是这样,则优选地存在无线电发射器可处于活动状态但不活动发射的预定最大时间段。这允许控制逻辑实现相应的延迟,以确保无线电在密码引擎执行第一分量过程时正在发射,而在密码引擎执行第二分量过程时不在发射。
控制逻辑可被配置成在确定无线电发射器处于活动状态或检测到无线电发射器的状态变为活动状态的预定时间内启动第一分量过程。控制逻辑可被配置成在确定无线电发射器不处于活动状态或检测到无线电发射器的状态变成不处于活动状态的预定时间内启动第二分量过程。
在一些实施例中,无线电发射器可在控制逻辑不可预测的时间开始和/或停止发射。在这种情况下,如果发射状态停止活动,则控制逻辑可暂停第一过程的处理,直到状态再次活动。类似地,如果发射状态变为活动状态,它可暂停第二过程的处理,直到状态再次变为不活动状态。然而,这不是必需的,并且重要的是要认识到,如本文所公开的,第一和第二分量过程的身份不一定是预先确定的,而是可由无线电发射器的行为来定义-即,只要控制逻辑可响应于确定无线电发射器处于活动状态,控制密码引擎执行密码操作的某些部分,这部分可被视为第一分量过程;并且只要控制逻辑可控制密码引擎响应于确定无线电发射器不处于活动状态而执行密码操作的某个另外部分,则此另外地部分可被视为第二分量过程。
控制逻辑可被配置成在连续密码操作之间改变在第一分量过程中执行多少密码操作。控制逻辑可被配置成在连续密码操作之间改变在第二分量过程中执行多少密码操作。控制逻辑可被配置成根据伪随机值改变这些量。芯片可包含用于生成伪随机值的伪随机数生成器。通过改变攻击者每次可观察到的数量,不可预测地改变在无线电发射器活动的情况下执行多少操作可提供另外的保护,以防止需要攻击者观察相同过程的多次重复的统计密码分析攻击。
设备可包含用于芯片的电源,如电池。芯片可包含用于向无线电发射器和密码引擎供应电力的电源管理单元。从芯片上的公共电源轨为无线电发射器和密码引擎供电有助于防止本地攻击者能够单独观察密码引擎的功耗与无线电发射器的功耗。
在某些条件下,控制逻辑可被配置成在无线电发射器处于活动状态时完全执行密码操作,或在无线电发射器不处于活动状态时完全执行密码操作。特别地,控制逻辑可被配置成在超时周期过去而无线电发射器没有改变到活动状态或从活动状态改变的情况下执行此操作。这可确保可完成密码操作,即使无线电发射器被阻止打开或关闭-例如通过攻击者干扰无线电以使其始终保持打开状态。
包含集成电路无线电发射器芯片的电气设备可为计算机、家用电器、车辆、无线传感器或任何其它合适的设备。它可包含天线。它可包含功率放大器,布置成从芯片接收RF信号,用于从天线进行无线电发射。
本文中所描述的任何方面或实施例的特征可在适当时应用于本文中所描述的任何其它方面或实施例。在参考不同的实施例或实施例集合时,应理解,这些实施例未必是不同的,而是可重叠的。
附图说明
现将参考附图仅通过举例来描述本发明的某些优选实施例,在附图中:
图1为包括体现本发明的无线电芯片的无线温度传感器的示意图;
图2为无线温度传感器受到本地侧信道攻击的示意图;
图3为无线温度传感器受到远程侧信道攻击的示意图;
图4为无线电芯片的密码引擎执行的步骤的流程图;和
图5为变体无线电芯片的密码引擎执行的步骤的流程图。
具体实施方式
图1示出了无线温度传感器1,其含有体现本发明的集成电路无线电芯片2、以及电池3和温度计4。应当理解,传感器1还可含有其它组件,如PCB、石英振荡器、电容器、电阻器、外壳、用户接口特征等,为简单起见,这些组件在图1中未示出。
无线电芯片2集成了处理器5、随机存取存储器6、非易失性存储器(NVM)16、LTECat-M1(LTE-M)无线电7、密码引擎8和各种外围设备9,如定时器、USB接口、数模转换器等。这些元件都连接到系统总线10。
LTE无线电7包括用于发送和接收LTE-M数据分组的发射器电路系统和接收器电路系统。它可包括本地振荡器、低噪声放大器、混频器、功率放大器、滤波器、调制和解调逻辑以及其它适当的模块。无线电7可仅包括专用数字逻辑,或它可包括一个或多个处理器,用于执行存储在无线电7的存储器区域中的无线电固件。无线电天线11经由适当的片外组件(未示出)连接到无线电7。
密码引擎8包括用于执行高级加密标准(AES)加密和解密操作的AES单元12,以及用于控制AES单元12的操作的控制逻辑13,以及用于存储私有加密密钥的安全密钥存储区14。除了AES单元12之外,密码引擎8可包括用于执行其它密码操作的其它单元,如散列操作、签名操作、消息认证码操作、非对称密码等。可至少部分地实现AES单元12在密码引擎8内的处理器上执行的软件中。然而,在此实例中,AES单元12纯以硬件实现-即使用专用数字逻辑。类似地,控制逻辑13可至少部分地在密码引擎8内的处理器上执行的软件中实现。然而,在此实例中,控制逻辑13是纯硬件-即用专用数字逻辑实现的有限状态机。
控制逻辑13通过通信信道15连接到LTE无线电7,用于接收关于LTE无线电7的发射状态的信息。此通道15可在系统总线10上实现-例如,如果LTE无线电7是总线10的总线主控器并使用总线10写入控制逻辑13的寄存器接口。然而,在本实例中,信道15包含与系统10分离的物理链路。它可包含一个或多个专用线,或它可为更复杂的外围到外围互连系统内的通道,如Nordic Semiconductor的WO 2013/088121或WO 2020/002423中描述的可编程外围互连。在LTE无线电7和密码引擎8都包括各自的处理器以用于执行软件指令的实施例中,通道15可由处理器间通信(IPC)链路提供,例如Nordic Semiconductor在WO 2019/149731中所描述的。
无线电7可恰好在它开始发射无线电信号时切换到活动状态,或,在一些实施例中,在它开始发射之前的预定时间段(例如,当它醒来准备发射时)。在一些实施例中,无线电7可在连续发射之间的短暂暂停期间保持在活动状态,或它可在任何间隔期间切换到不活动、非发射状态。一旦发射会话结束,无线电7就离开活动状态(即切换到不活动状态),这可能对应于无线电7的低功率睡眠状态。它可恰好在它完成发射无线电信号时切换到不活动状态,或在一些实施例中,在它停止发射之后的预定时间段内切换到不活动状态。
NVM 16存储由处理器5执行以控制无线温度传感器1的操作的软件。在使用中,处理器5使用I/O外围设备9每隔一段时间从温度计4获取温度读数,并将这些读数存储在NVM16中。无线温度传感器1周期性地使用LTE-M无线电7将温度信息的日志发射到网络基站(未示出),所述温度信息的日志可中继进到目的地(如,因特网上的服务器)。在通过无线电发射日志数据之前,处理器5指示密码引擎8使用AES对日志数据进行加密,以保护用户机密性。
图2示出传感器1受到本地侧信道攻击。攻击者在外部计算机21和电池3与传感器1的微芯片2之间的电源线之间物理连接了探头20。计算机21使用探头20监控芯片2的电流消耗。通过分析电流的波动,例如发生在与AES单元12内的开关频率相对应的频率,攻击者可使用计算机21应用统计密码分析技术来尝试发现由AES单元12处理的私有AES密钥和/或机密输入数据。在一些攻击中,可使用紧密耦合的电磁(EM)场传感器来代替电气探头20;这可用于检测电流波动而无需物理接触;但是,它仍然需要靠近传感器1。通过使用本文公开的方法,来自这类本地攻击的威胁被显著降低。
图3示出传感器1受到远程侧信道攻击。攻击者使用无线电扫描系统30来分析从传感器1的天线11发出的无线电发射。扫描系统30可远离传感器1-例如几十米、几百米甚至几千米。扫描系统30检测无线电2发射的无线电载波的无意幅度调制,这可能揭示关于发生在AES单元12内的操作的信息,这是由于AES单元12中的开关频率与模拟发射路径的无意耦合。攻击者可使用计算机应用统计密码分析技术来尝试发现由AES单元12处理的私有AES密钥和/或机密输入数据。通过使用这里公开的方法,来自这种远程攻击的威胁被显著降低。
图4概述了密码引擎8在AES加密操作期间执行的主要步骤,以减少来自侧信道攻击的威胁,本地攻击和远程攻击。相同的原理可能适用于其它操作,例如AES解密、其它对称密钥操作、非对称密钥密码操作等。
在第一步骤40中,控制逻辑13使AES单元12接收私有AES密钥(例如,通过指示密钥存储区14将密钥加载到AES单元12的密钥寄存器)并开始接收明文数据以用于加密(例如从RAM 6或NVM 16,通过主总线10,使用直接存储器访问,DMA)。
控制逻辑13然后使用来自LTE无线电7的通信信道15来确定41无线电设备7是否处于活动状态。如果无线电不处于活动状态,则控制逻辑13进入循环,在所述循环中它继续以间隔(例如每毫秒)检查。控制逻辑13防止AES单元12在此阶段处理AES密钥或明文数据。
当无线电被确定正在发射时,控制逻辑13指示AES单元12开始执行42AES加密。如果无线电7在其实际开始发射之前的很短时间段(例如,预热时段)用信号通知活动状态,则控制逻辑13可在指示AES单元12之前实施延迟,以确保无线电7在之前主动发送加密操作开始。
重要的是,AES单元12仅执行完全加密操作的一部分-即操作中的第一分量过程。此第一分量过程可根据使用要求以不同的方式指定。举例来说,AES单元12可仅执行单个块操作的一部分-例如,对于n<10,仅执行十轮次128位AES块操作中的前n轮次。替代地,在要加密许多明文数据块的情况下,对于n<100,AES单元12可仅加密前n%的块。控制逻辑13防止AES单元12完成加密操作,直到得到指示。
然后控制逻辑13再次使用通信信道15来确定43无线电装置7是否仍在主动发射。当无线电继续发射时,控制逻辑13进入循环,在所述循环中它继续每隔一段时间检查一次-例如每毫秒。它防止AES单元12在此阶段继续AES操作。
当确定无线电已停止发射时,控制逻辑13指示AES单元12继续执行44AES加密-即执行完整AES操作中的第二分量过程。举例来说,AES单元12可执行剩余的单块加密轮次,或可继续加密剩余的明文块。
完整加密操作完成后,密文为输出45。
当然,明文数据的接收可在整个操作过程中持续进行,而不仅仅是在开始时发生。类似地,密文的输出可能是持续的,而不仅仅是在结束时。
通过在无线电发射器处于活动状态时执行第一阶段的AES加密,如图2所示由探头20检测到的任何电流信号将由放大器和LTE无线电7内的其它组件汲取的电流支配。这可掩盖来自AES单元12的任何信号泄漏,使得对加密操作的此第一部分执行成功的本地密码分析攻击更加困难,因此更难攻击整个加密操作。
通过在无线电发射器不活动时执行AES加密的第二阶段,在此第二阶段期间来自AES单元12的侧信道发射不会被放大并作为无线电信号从天线11发射。操作如图3所示的无线电扫描系统30的远程攻击者将因此无法确定关于加密操作的第二部分的任何信息,使得作为一个整体对加密操作执行成功的远程密码分析攻击变得更加困难或不可能。
当通过处理不同的明文数据块来区分第一和第二分量过程时,可通过使用将两个过程的各自块操作更紧密地链接在一起的块操作模式(例如密码块)来加强这种方法提供的保护链接(CBC)、传播密码块链接(PCBC)、密码反馈(CFB)、输出反馈(OFB)或计数器(CTR)模式。这有助于确保即使攻击者发现有关操作的一个分量过程的信息,这也不太可能有助于攻击其它分量过程。
在一些实施例中,在第一分量密码过程(在步骤42中)中执行的处理量可在连续密码操作之间变化。第二分量过程(在步骤44中)可相应地调整。举例来说,在一次AES加密操作中,第一分量过程可能执行前五轮次256位AES块加密操作,第二过程执行剩余的九轮次,而在下一个AES加密操作中,第一过程可执行前八轮次256位AES块加密操作,第二过程执行剩余的六轮次。控制逻辑13可使用伪随机数生成器来确定第一和第二分量过程之间的随机分割,所述随机分割可在连续操作之间变化。
许多侧信道攻击依赖于攻击者监视同一操作的许多实例-例如,使用相同的密钥对相同的明文数据进行加密,尽管每次使用不同的随机初始化向量。通过改变攻击者(本地或远程)可能能够观察到的完整操作的百分比,这种统计攻击在现实时间范围内成功的可能性可能要小得多。
另外的随机性可由控制逻辑13引入,不一定在检测到无线电7处于适当的发射状态时立即开始第一过程42或第二过程44,而是在随机时间延迟(可选地具有保证的最小值)之后。这可通过避免在AES单元12的动作和无线电发射器7的动作之间存在可预测的时间连接,使得当无线电7正在发射时对来自AES单元12的本地发射的掩蔽更加有效。
可颠倒执行分量过程的顺序。图5示出了与图4中的流程非常相似的变体,但是其中控制逻辑13在开始第一密码过程52之前首先等待51直到无线电7不发射,然后等待53直到无线电7主动发射53,然后继续第二密码过程54以完成整个密码操作。
密码操作可分为两个以上的阶段,从每个阶段到下一个阶段的转换仅在无线电7改变发射状态之后发生。但是,在某些情况下,这可能会使操作的成功完成延迟一个不可接受的量,因此只有两个阶段可能更可取。
控制逻辑7可在AES单元12工作的同时继续监视无线电7的发射状态,并且在一些实施例中,如果它检测到无线电7的发射状态部分改变,则可暂停第一或第二分量过程-通过其中一个过程。然后它可指示AES单元12在检测到无线电7的发射状态的反转时继续暂停的过程。
在一些实施例中,密码操作在合理的时间段内完成可能很重要,即使无线电7的发射状态没有改变。因此,控制逻辑7可使用定时器来实现超时周期,同时等待检测发射状态的改变。在超时时,控制逻辑7可发出故障信号,或它可指示AES单元12完成操作。后一种方法可能会降低安全性,但从用户体验的角度来看,它可能是一种必要的妥协,以防止在无线电7中存在故障或攻击者控制无线电7时无限期地阻止传感器1执行密码操作。
密码引擎8可附加地采用隐藏或掩蔽技术,结合这些方法,以提供针对侧信道攻击的甚至更大的保护。
本领域的技术人员将理解的是,已经通过描述本发明的一个或多个具体实施例来说明本发明,但不限于这些实施例;在所附权利要求的范围内,许多变化和修改是可能的。
Claims (20)
1.一种集成电路无线电发射器芯片,其包含:
无线电发射器;
密码引擎;和
用于控制所述密码引擎的控制电路系统,
其中所述密码引擎被配置成通过以下执行密码操作:
接收用于所述密码操作的输入数据;
执行第一分量过程以生成第一结果数据;
执行第二分量过程以生成第二结果数据;和
使用所述第一和第二结果数据生成表示所述密码操作的结果的输出数据;和
输出所述输出数据,
其中所述控制电路系统包含无线电状态输入,所述无线电状态输入用于确定无线电发射器电路是否处于所述无线电发射器电路发射一个或多个无线电信号的活动状态,并且
其中所述控制电路系统被配置成使用所述无线电状态输入来:
响应于确定所述无线电发射器电路处于所述活动状态,控制所述密码引擎执行所述第一分量过程,使得所述无线电发射器电路在所述密码引擎执行所述第一分量过程时发射无线电信号;
防止所述密码引擎在所述无线电发射器电路处于所述活动状态时执行所述第二分量过程,使得所述无线电发射器电路在所述密码引擎执行所述第二分量过程时不发射任何无线电信号;和
响应于确定所述无线电发射器电路不处于所述活动状态,控制所述密码引擎执行所述第二分量过程。
2.根据权利要求1所述的集成电路无线电发射器芯片,其中控制逻辑被配置成防止所述密码引擎在所述无线电发射器处于所述活动状态时执行所述第二分量过程。
3.根据权利要求1或2所述的集成电路无线电发射器芯片,其中所述密码操作是加密操作、解密操作、签名操作、签名验证操作、散列操作或消息认证码操作中的任何一个。
4.根据权利要求1至3中任一项所述的集成电路无线电发射器芯片,其中所述输入数据包含密钥数据、明文数据、密文数据、签名数据、散列数据或消息认证码数据中的一种或多种。
5.根据权利要求1至4中任一项所述的集成电路无线电发射器芯片,其中所述控制逻辑被配置成控制所述密码引擎在所述第一分量过程之前执行所述第二分量过程。
6.根据权利要求1至5中任一项所述的集成电路无线电发射器芯片,其中所述控制逻辑被配置成控制所述密码引擎以取决于所述无线电发射器在所述密码操作内的预定点是否处于所述活动状态的顺序来执行所述第一和第二分量过程。
7.根据权利要求1至6中任一项所述的集成电路无线电发射器芯片,其中所述控制逻辑被配置成:如果所述无线电发射器不处于所述活动状态,则使所述密码引擎等到所述无线电发射器处于所述活动状态,然后执行所述第一分量过程。
8.根据权利要求1至7中任一项所述的集成电路无线电发射器芯片,其中所述控制逻辑被配置成:如果所述无线电发射器处于所述活动状态,则使所述密码引擎等到所述无线电发射器不处于所述活动状态,然后执行所述第二分量过程。
9.根据权利要求1至8中任一项所述的集成电路无线电发射器芯片,其中所述第一和第二分量过程一起包含由所述密码引擎执行的用于从所述输入数据生成所述输出数据的所有步骤。
10.根据权利要求1至9中任一项所述的集成电路无线电发射器芯片,其中所述第二分量过程在确定所述第二结果数据时使用所述第一结果数据,或其中所述第一分量过程在确定所述第一结果数据时使用所述第二结果数据。
11.根据权利要求1至10中任一项所述的集成电路无线电发射器芯片,其中所述密码操作包含多个相同的轮次,并且其中所述第一过程包含执行一个或多个所述轮次的第一组,并且所述第二过程包含执行一个或多个所述轮次的第二组,其中所述第一和第二组是非重叠的组。
12.根据权利要求1至11中任一项所述的集成电路无线电发射器芯片,其中所述第一结果数据取决于所述输入数据的第一部分但不取决于所述输入数据的第二部分,并且其中所述第二结果数据取决于所述输入数据的所述第二部分但不取决于所述输入数据的所述第一部分。
13.根据权利要求1至12中任一项所述的集成电路无线电发射器芯片,其中:
所述密码引擎被配置成对输入数据的多个块执行所述密码操作,每个块具有预定大小;
所述第一过程包含对输入数据的一个或多个块的第一组执行密码算法;
所述第二过程包含对所述输入数据的一个或多个块的第二组执行所述密码算法;并且
所述第一和第二组是非重叠的组。
14.根据权利要求1至13中任一项所述的集成电路无线电发射器芯片,其中所述密码引擎为硬件引擎,所述硬件引擎包含被配置成执行所述第一和第二分量过程的电子电路系统。
15.根据权利要求1至14中任一项所述的集成电路无线电发射器芯片,其还包含处理器和用于向和从所述处理器传送数据的总线,其中所述无线电状态输入通过与所述总线分离的连接而耦合到所述无线电发射器。
16.根据权利要求1至15中任一项所述的集成电路无线电发射器芯片,其中所述控制逻辑被配置成在确定所述无线电发射器处于所述活动状态或检测到所述无线电发射器的状态变成所述活动状态的预定时间内启动所述第一分量过程。
17.根据权利要求1至16中任一项所述的集成电路无线电发射器芯片,其中所述控制逻辑被配置成在确定所述无线电发射器未处于所述活动状态或检测到所述无线电发射器的状态变成不处于所述活动状态的预定时间内启动所述第二分量过程。
18.根据权利要求1至17中任一项所述的集成电路无线电发射器芯片,其还包含用于生成伪随机值的伪随机数生成器,并且其中所述控制逻辑被配置成根据由所述伪随机数生成器生成的伪随机值而在通过所述密码引擎进行的连续密码操作之间改变在所述第一分量过程中执行多少所述密码操作或在所述第二分量过程中执行多少所述密码操作。
19.根据权利要求1至18中任一项所述的集成电路无线电发射器芯片,其还包含用于向所述无线电发射器和所述密码引擎供应电力的电源管理单元。
20.一种电气设备,其包含根据权利要求1至14中任一项所述的集成电路无线电发射器芯片,并且还包含用于向所述集成电路无线电发射器芯片提供电力的电源。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2003404.7 | 2020-03-09 | ||
GBGB2003404.7A GB202003404D0 (en) | 2020-03-09 | 2020-03-09 | Radio transmitter apparatus with cryptographic engine |
PCT/EP2021/055903 WO2021180714A1 (en) | 2020-03-09 | 2021-03-09 | Radio transmitter apparatus with cryptographic engine |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115244891A true CN115244891A (zh) | 2022-10-25 |
Family
ID=70278440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180020008.2A Pending CN115244891A (zh) | 2020-03-09 | 2021-03-09 | 具有密码引擎的无线电发射器设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230090750A1 (zh) |
EP (1) | EP4118787B1 (zh) |
CN (1) | CN115244891A (zh) |
GB (1) | GB202003404D0 (zh) |
WO (1) | WO2021180714A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2365153A (en) * | 2000-01-28 | 2002-02-13 | Simon William Moore | Microprocessor resistant to power analysis with an alarm state |
IL180693A (en) * | 2007-01-14 | 2011-11-30 | Israel Aerospace Ind Ltd | System and method for managing a broadcast in a sensitive information environment |
US9008314B2 (en) * | 2008-11-18 | 2015-04-14 | Verizon Patent And Licensing Inc. | Secure wireless communications |
GB2497528B (en) | 2011-12-12 | 2020-04-22 | Nordic Semiconductor Asa | Peripheral communication |
GB201801572D0 (en) | 2018-01-31 | 2018-03-14 | Nordic Semiconductor Asa | Inter-processor communication |
GB201810663D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Peripheral Power Domains |
-
2020
- 2020-03-09 GB GBGB2003404.7A patent/GB202003404D0/en not_active Ceased
-
2021
- 2021-03-09 CN CN202180020008.2A patent/CN115244891A/zh active Pending
- 2021-03-09 WO PCT/EP2021/055903 patent/WO2021180714A1/en unknown
- 2021-03-09 EP EP21711814.0A patent/EP4118787B1/en active Active
- 2021-03-09 US US17/802,837 patent/US20230090750A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4118787A1 (en) | 2023-01-18 |
GB202003404D0 (en) | 2020-04-22 |
EP4118787B1 (en) | 2024-01-31 |
WO2021180714A1 (en) | 2021-09-16 |
US20230090750A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10482291B2 (en) | Secure field-programmable gate array (FPGA) architecture | |
EP3633913B1 (en) | Provisioning a secure connection using a pre-shared key | |
US9949115B2 (en) | Common modulus RSA key pairs for signature generation and encryption/decryption | |
US8938074B2 (en) | Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier | |
US8281132B2 (en) | Method and apparatus for security over multiple interfaces | |
US20060072748A1 (en) | CMOS-based stateless hardware security module | |
US10567351B1 (en) | Polymorphic one time pad matrix | |
CN112822177B (zh) | 数据传输方法、装置、设备和存储介质 | |
CN112906070A (zh) | 用于安全设备的块密码侧信道攻击减轻 | |
Gallais et al. | Hardware trojans for inducing or amplifying side-channel leakage of cryptographic software | |
US6993542B1 (en) | Efficient random number generation for communication systems | |
Mantoro et al. | Secured communication between mobile devices and smart home appliances | |
US11455258B2 (en) | Method and system for data validation using memristors | |
CN115244891A (zh) | 具有密码引擎的无线电发射器设备 | |
Fellah-Touta et al. | Combined internal attacks on soc-fpgas: Breaking aes with remote power analysis and frequency-based covert channels | |
Abbood et al. | Intelligent hybrid technique to secure bluetooth communications | |
KR20110113427A (ko) | 이동장치 실시간 인증/관리 시스템 및 방법 | |
Gao | On IoT Security from an End-to-End Perspective | |
Thanh et al. | Protecting FPGA-based Partially Reconfigurable Embedded Systems and IP Cores from Remote Update | |
Radhi et al. | Secure and Fast Remote Application–Based Authentication Dragonfly Using an LED Algorithm in Smart Buildings | |
Farooq-i-Azam et al. | Embedded Systems Security | |
Ksiazak et al. | A Lightweight Authentication and Encryption Protocol for Secure Communications Between Resource-Limited Devices Without Hardware Modification: Resource-Limited Device Authentication | |
CA3231929A1 (en) | Communication link | |
Ksiazak et al. | Resource-Limited Device Authentication | |
Norman | Encryption of Computer Peripheral Devices |
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 |