Page 426 - 《软件学报》2026年第2期
P. 426

魏淙洺 等: 私有算法密码芯片非入侵式攻击检测框架                                                        905



                                                 表 2 待测私有算法密码芯片

                       指标           芯片A       芯片B       芯片C        芯片D       芯片E       芯片F       芯片G
                      算法类型         公钥密码      公钥密码      分组密码       公钥密码      公钥密码      公钥密码      分组密码
                   明密文长度 (比特)        1 024     1 024     128       1 024     1 024     1 024      32
                   密钥长度 (比特)         1 024     1 024     128       1 024     1 024     1 024      64
                     是否带防护           否          否         -         是         是         是         -

                  3.1   私有算法密码芯片的简单能量分析测评

                    本节使用视觉观察和交叉关联的方法, 分别对公钥密码算法芯片                      A、芯片    B  和分组密码算法芯片      C  开展黑
                 盒条件下简单能量分析测评应用实验.
                  3.1.1    私有公钥密码的简单能量分析测评
                    芯片  A  是一款公钥密码算法智能卡芯片, 算法实现了对               1 024  比特的密文进行解密, 并返回      1 024  比特的明文
                 结果, 所使用的    1 024  比特的私钥支持更改. 对于芯片        A  算法中解密过程的具体实现, 该厂商未透露任何信息. 我
                 们使用图   10  所示的接触式智能卡采波平台获取芯片             A  运行过程中产生的能量信息, 进行芯片的简单能量分析测
                 评实验.













                                                 图 10 接触式智能卡采波平台

                    首先, 我们采集芯片      A  执行解密算法的能量波形. 设置私钥为:
                 d= 0x00DB3717BDBCF6191AC1DE815CB60F6FD2DAC9D8B724039887BB8C02EBF0E56E6D27453FA4954C80
                 7C7F34EB60D2E54FFB28B6360847E65B68671D0953AE45C0EB7D257BFFDB6A21F04418BA48AF793D93BA4D
                 DCD3DA5344521526A3F18A9066E5E5E4C1514AA693A71C4AD5C7AA1F54B0E7CD3E744F8EA446D564E3CC2BE55D.
                    以  12.5 MSa/s (MSa/s 表示百万样本每秒, 用于描述数字示波器或数据采集系统的采样率) 采样率采集得到的
                 单条波形如图     11  所示, 该波形有  8 000 000  个采样点.


                               8  *100 mV                  Trace
                               7
                               6
                               5
                               4
                               3
                               2
                               1
                               0
                              −1
                              −2
                              −3                                                       *10 ms
                              −4
                                         10       20       30       40       50       60
                                                 图 11 芯片   A  单条能量波形

                    观察可知, 在波形的      80–580 ms 区间内, 芯片执行算法消耗能量较高, 我们选取             100–120 ms 波形区间放大查
                 看, 如图  12  所示. 以尖峰作为波形段切分点, 在        80–580 ms 区间内共计   1 547  个波形段, 而在私钥    d  的  1 024  比特
   421   422   423   424   425   426   427   428   429   430   431