基于ECC 算法的安全芯片增强双向匿名认证方法

2024-01-24 10:10邢琦
电子设计工程 2024年2期
关键词:口令密文接收端

邢琦

(西安邮电大学,陕西西安 710061)

移动存储设备的安全性比较低,通常采用的是以口令为基础的用户身份认证,并对数据进行简单的加密,口令和加密密钥都是由软件完成的,且口令和加密密钥与数据一同保存在存储介质中,难以保证其安全性。在移动存储器中嵌入一种安全芯片,并对它进行了安全认证,从而增强了它的安全性。

文献[1]提出了基于区块链的认证方案,利用非线性给出了一个快速批量的聚合签名算法,区域信任机制(RTA)是一种基于区块链的匿名跟踪和快速撤销技术。此外,该算法还可以基于本地密钥,对短期内的匿名身份进行实时更新,使保密芯片具有匿名性和新签名属性;文献[2]提出了单服务器环境下认证方案,利用狄菲-赫尔曼密钥交换和模糊验证技术,设计高效的身份认证协议。然而,上述两种方法不能过分依赖于密钥,使得无法从细节上保证芯片安全。

为了确保通信过程中会话密钥分配的安全性,提出了基于ECC 算法的安全芯片增强双向匿名认证方法。

1 基于ECC算法的双向匿名认证方案

1.1 芯片安全增强签密处理

目前,将专用的安全芯片嵌入到嵌入式系统中,这种方式存在着密钥管理困难、核心模块易被跟踪更换、系统易被复制等缺陷。为了增强芯片安全,提出了基于ECC 算法的增强双向匿名签密方案。设计的芯片安全增强结构如图1 所示。

图1 基于ECC算法的芯片安全增强结构

SPI 接口实现了单片机与上位机的数据交换以及数据的串行与并行两种方式的转换[3]。其中,控制引擎主要承担着信息传输、指令解码等功能[4]。使用ECC 算法实现了基于随机“挑战—应答”机制的主从方与安全芯片的双向验证,保证了会话密钥分配的安全性。

使用ECC 算法增强双向匿名签密的过程如下所示:

设定拥有身份IDu用户u随机选择一个秘密值qi,计算用户密钥:

式中,o表示一阶素数基点[5]。用户发送(IDu,ru)给权威机构A,权威机构在收到信息后,计算哈希值:

式中,h()表示Hash 函数[6]。确定哈希值后,计算权威机构密钥:

式中,qA表示权威机构的秘密值[7]。将(HA,rA)发送给用户,用户收到信息后,验证传输信息的可靠性:

式中,r为权威机构公钥[8]。如果该公式成立,则用户计算其私钥:

式中,k表示基点的阶[9]。

密文签名者发送认证消息给密文接收者,密文签名者选择随机数将基点信息发送给消息拥有者,并输出密文[10]。当密文接收者接收密文后,验证以下等式是否成立:

如果成立,则说明密文和公钥被同时认证,密文接收者接收密文;否则验证失败,则认为芯片不安全,无法进行双向认证。

通过ECC 算法的加密和数字签名机制,密文接收者可获取可靠密文,并提高芯片的安全性。

1.2 设计双向匿名认证方案

文中采用了一种双向的身份验证机制,以上述得到的安全芯片A 作为数据的发送者,而以芯片B作为数据的接收者,设计了包含证书交换、密钥协商以及“挑战—应答”的双向匿名认证机制。

1.2.1 证书交换

证书交换过程的步骤如下:

1)发送端芯片A 向接收端芯片B 发送其证书。

2)检验接收端芯片B,发送端芯片A 证明是由认证中心出具的,并未被伪造[11];如果有一个撤销清单,则发送端芯片A 的识别码不会出现在撤销清单中。在验证通过之后,接收端芯片B 向发送端芯片A发送其证书,并获得发送端芯片A 的公开密钥[12]。如果该检查不合格,则从认证流程中退出。

3)发送端芯片A 在收到接收端芯片B 所发出之证明后,确认接收端芯片B 所发出之证明确系认证中心所发出,并无任何伪造[13];如果有一个撤销清单,则接收端芯片B 的识别码不会出现在撤销清单中。在验证完毕后,发送端芯片A 获得了接收端芯片B 的公开密钥,并进行下一步的验证。如果该检查不合格,则从认证流程中退出。

在证书交换过程中,用户和权威机构已经完成了公钥和私钥的交换。

1.2.2 密钥协商

使用上述密钥进行进一步的密钥协商,生成会话密钥用于加密通信数据。发送端芯片A 只能根据一定概率来推断接收端芯片B 的身份[14]:

式中,[Gi]n表示经过i次记录猜测n次的选举记录[15]。

假设芯片A 根据该字符推断出了芯片B 的身份,该概率可用如下公式表示:

式中,Vi0、Vi1表示字符串。当选举记录足够多时,其成功概率可以忽略,由此实现了发送方芯片的匿名性。

对于芯片A 端的匿名性,在密钥协商阶段,用户随机选择参数,不同的用户将以较大的概率选择不同的参数,并得到不同的密钥[16]。芯片A 在已知密钥,而未知芯片A 口令的前提下,无法将密钥和不同用户的协商过程联系起来,即用户的非关联性,服务器正确猜测用户身份的概率较小,从而实现了芯片A 的匿名性。

1.2.3 “挑战—应答”

在经过一系列的密钥协商之后,认证协议就会进入到一个“挑战—应答”过程中。在这一点上,设备的一方会产生“挑战”,并期望对方作出适当的“应答”。在设计上,提出了双向的“挑战—应答”机制。根据响应协议,认证过程如图2 所示。

图2 双向“挑战—应答”协议认证过程

ECC 加密技术利用双向“挑战—应答”协议的合法性与唯一性,最大限度地保障了芯片的安全性,以及信息的完整传输。

2 实际应用

2.1 芯片应用场景

为了验证基于ECC 算法的安全芯片增强双向匿名认证的可靠性,选择恒流驱动WD1060L 芯片,将其与Arduino 平台相连,在实验平台上安装和配置与WD1060L 芯片通信的驱动程序和库。使用椭圆曲线secp256r1 生成的一对公钥和私钥作为认证双方的密钥。

挑战字节数为32 字节(256 位),使用SHA256 作为hash 算法。将芯片应用到电力系统中,并确保其正确运行并获得供电。电力系统应用WD1060L 芯片场景如图3 所示。

图3 电力系统应用WD1060L芯片场景

将该芯片应用于多场景中,与主营业务相关电网和用电管理终端联合应用。在用电管理终端上初始化认证请求,并发送给WD1060L 芯片。WD1060L芯片接收请求并生成证书,然后将其发送给用电管理终端进行验证。

2.2 攻击模拟

2.2.1 重放攻击

由于新协议在采用重放攻击时不能通过,所以在验证时,将检测到传输时延,从而判断传输时延是否满足不等式:

式中,t0表示原始传输时间;ta表示时间戳;Δta表示传输时间迟延。对于不满足该等式(9)的情况,攻击者窃取了已有的数据,拦截了对应通信内容,然后以重放攻击的方式伪装,以获得资源或者更改密码。

2.2.2 口令猜测攻击

口令猜测攻击指的是一种容易记住的弱密码,当攻击者采用口令猜测攻击时,因为需要使用ID,所以如果ID 不是以匿名方式传输的,则可以利用弱密码直接还原ID,从而进行攻击。

2.3 实验数据分析

对于重放攻击、口令猜测攻击,将信息传输完整性作为芯片抵御攻击的验证指标。其中,通过芯片进行完整传输的信息如图4 所示。

图4 芯片传输的完整信息

由图4 可知,通过芯片能够完整传输用电数据、配电数据、线损数据和调度数据,以此为依据展开详细实验分析。

2.4 实验结果与分析

对于实验结果,使用基于区块链的认证方案、单服务器环境下认证方案和基于ECC 算法认证方法,对芯片抵御攻击能力进行对比分析。

面对重放攻击,使用三种方法对比分析信息传输完整性,对比结果如图5 所示。

图5 重放攻击下信息传输完整性

由图5 可知,使用基于ECC 算法认证方法能完整传输信息,没有出现丢失的情况。这是因为在双向匿名认证过程中,基于ECC 算法认证方法通过“挑战—应答”机制来验证通信双方的合法性和唯一性,防止重放攻击。

面对口令猜测攻击,使用三种方法对比分析信息传输完整性,对比结果如图6 所示。

由图6 可知,使用基于区块链的认证方案不能完整传输信息;使用基于ECC 算法认证方法仅丢失了[2,7]、[4,5]、[5,5]、[6,6]位置的信息,能更好地保护数据的完整性。

3 结束语

在一些特殊应用场合,有必要研究如何在保密协议中保证用户的信息安全,从而保障用户的隐私。为此,提出了基于ECC 算法的安全芯片增强双向匿名认证方法。根据实验结果和分析,可以得出以下结论:

1)在面对重放攻击时,基于ECC 算法认证方法能够完整传输信息并提高芯片抵御攻击的能力。

2)在面对口令猜测攻击时,基于ECC 算法认证方法能够得到更好的保护效果。

基于ECC 算法认证方法在芯片认证中表现出相对较好的防御能力,能够更有效地防止信息丢失或被篡改。

猜你喜欢
口令密文接收端
一种针对格基后量子密码的能量侧信道分析框架
基于扰动观察法的光通信接收端优化策略
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
顶管接收端脱壳及混凝土浇筑关键技术
一种设置在密闭结构中的无线电能传输系统
基于多接收线圈的无线电能传输系统优化研究
高矮胖瘦
口 令
好玩的“反口令”游戏