CN112395607A - 一种侧信道分析方法及装置 - Google Patents

一种侧信道分析方法及装置 Download PDF

Info

Publication number
CN112395607A
CN112395607A CN202011378007.9A CN202011378007A CN112395607A CN 112395607 A CN112395607 A CN 112395607A CN 202011378007 A CN202011378007 A CN 202011378007A CN 112395607 A CN112395607 A CN 112395607A
Authority
CN
China
Prior art keywords
side channel
data
analysis
analyzed
file
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
CN202011378007.9A
Other languages
English (en)
Other versions
CN112395607B (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.)
China Information Technology Security Evaluation Center
Original Assignee
China Information Technology Security Evaluation Center
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 China Information Technology Security Evaluation Center filed Critical China Information Technology Security Evaluation Center
Priority to CN202011378007.9A priority Critical patent/CN112395607B/zh
Publication of CN112395607A publication Critical patent/CN112395607A/zh
Application granted granted Critical
Publication of CN112395607B publication Critical patent/CN112395607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种侧信道分析方法及装置,其中,方法包括:在待分析侧信道曲线文件的大小大于系统待用内存的情况下,获取对待分析侧信道曲线文件进行侧信道分析的类型;在类型为信号处理的情况下,依据系统待用内存可存储待分析侧信道曲线文件中的最大行数,对待分析侧信道文件中的数据按行分批次进行侧信道加速分析;在类型为密钥分析的情况下,依据系统待用内存存储待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对侧信道曲线数据按列分批次进行侧信道加速分析;本申请针对不同类型的侧信道分析的特点,对待分析侧信道曲线文件中的数据,按不同方式分批次进行侧信道分析,避免出现系统内存不足的问题。

Description

一种侧信道分析方法及装置
技术领域
本申请涉及信息安全领域,尤其涉及一种侧信道分析方法及装置。
背景技术
侧信道分析是对密码算法安全性进行评估的重要手段。使用侧信道分析时,往往需要对大量的侧信道曲线进行读写、分析等操作。由于python语言易于使用、开发便捷、存在大量可使用的库,因此受到越来越多的侧信道科研和工程人员的青睐,越来越多的侧信道分析程序开始使用python编写。HDF5格式因为易用、读写速度快、数据结构清晰,被侧信道分析领域采用为侧信道曲线存储的格式。
使用python语言进行侧信道分析时,往往需要处理大量的循环,因此需要对程序进行加速以提高效率(因为python本身的特点,其运行速度慢)。numba库可以将python程序编译成机器语言,从而极大地提高用python进行侧信道分析的速度。但numba库对所编写python语言存在着诸多限制(不支持HDF5),为了解决这个问题,可以使用曲线预取分析,其中,曲线预取分析指:将HDF5格式的侧信道曲线读到numpy的数组中,再将numpy的数组传递给使用numba的函数(numba支持numpy)。
但在对数据量较大的侧信道曲线进行曲线预取分析时,会产生内存空间不足的问题。
发明内容
本申请提供了一种侧信道分析方法及装置,目的在于解决在对数据量较大的侧信道曲线进行侧信道加速分析时,出现内存空间不足的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供了一种侧信道分析方法,包括:
在待分析侧信道曲线文件的大小大于系统待用内存的情况下,获取对所述待分析侧信道曲线文件进行侧信道分析的类型;所述类型为信号处理或密钥分析;
在所述类型为所述信号处理的情况下,依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的行数不大于所述最大行数;
在所述类型为所述密钥分析的情况下,依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的列数不大于所述最大列数。
可选的,所述依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析,包括:
依据所述系统待用内存与所述待分析侧信道曲线文件中一行数据的大小,确定所述系统待用内存可存储的最大行数;
依据所述最大行数对所述待分析侧信道曲线文件的数据按行进行分块;其中,一块包含的行数不大于所述最大行数;
循环执行第一流程,直至所述待分析侧信道曲线文件的每块数据都被侧信道加速分析为止;
所述第一流程包括:
在i<a的情况下,读取第i块数据;i的初始值为0;a的取值为分块数量;
对读取的块数据进行侧信道加速分析,得到第一分析结果;
对所述第一分析结果进行存储;
i=i+1。
可选的,所述依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析,包括:
计算所述待分析侧信道曲线文件的密码数据中一列密码数据的大小;
依据所述待分析侧信道曲线文件的侧信道曲线数据中一列侧信道曲线数据的大小,计算所述系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数;
依据所述最大列数,将所述侧信道曲线数据进行分块;其中,一块侧信道曲线数据包含的列数不大于所述最大列数;
读取所述密码数据中预设的一列密码数据;
循环执行第二流程,直至所述待分析侧信道曲线文件的每块侧信道曲线数据都被侧信道加速分析为止;
所述第二流程包括:
在j<b的情况下,读取第j块侧信道曲线数据;j的初始值为0;b的取值为侧信道曲线数据的分块数量;
对读取的侧信道曲线块数据进行侧信道加速分析,得到第二分析结果;
对所述第二分析结果进行存储;
j=j+1。
可选的,还包括:
在所述待分析侧信道曲线文件的大小不大于所述系统待用内存的情况下,读取所述待分析侧信道曲线文件;
对所述待分析侧信道曲线文件,进行侧信道加速分析,得到第三分析结果;
存储所述第三分析结果。
可选的,所述侧信道加速分析指:采用numba库的侧信道加速分析。
本申请还提供了一种侧信道分析装置,包括:
获取模块,用于在待分析侧信道曲线文件的大小大于系统待用内存的情况下,获取对所述待分析侧信道曲线文件进行侧信道分析的类型;所述类型为信号处理或密钥分析;
第一处理模块,用于在所述类型为所述信号处理的情况下,依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的行数不大于所述最大行数;
第二处理模块,用于在所述类型为所述密钥分析的情况下,依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的列数不大于所述最大列数。
可选的,所述第一处理模块,用于依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析,包括:
所述第一处理模块,具体用于依据所述系统待用内存与所述待分析侧信道曲线文件中一行数据的大小,确定所述系统待用内存可存储的最大行数;依据所述最大行数对所述待分析侧信道曲线文件的数据按行进行分块;其中,一块包含的行数不大于所述最大行数;循环执行第一流程,直至所述待分析侧信道曲线文件的每块数据都被侧信道加速分析为止;所述第一流程包括:在i<a的情况下,读取第i块数据;i的初始值为0;a的取值为分块数量;对读取的块数据进行侧信道加速分析,得到第一分析结果;对所述第一分析结果进行存储;i=i+1。
可选的,所述第二处理模块,用于依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析,包括:
所述第二处理模块,具体用于计算所述待分析侧信道曲线文件的密码数据中一列密码数据的大小;依据所述待分析侧信道曲线文件的侧信道曲线数据中一列侧信道曲线数据的大小,计算所述系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数;依据所述最大列数,将所述侧信道曲线数据进行分块;其中,一块侧信道曲线数据包含的列数不大于所述最大列数;读取所述密码数据中预设的一列密码数据;循环执行第二流程,直至所述待分析侧信道曲线文件的每块侧信道曲线数据都被侧信道加速分析为止;所述第二流程包括:在j<b的情况下,读取第j块侧信道曲线数据;j的初始值为0;b的取值为侧信道曲线数据的分块数量;对读取的侧信道曲线块数据进行侧信道加速分析,得到第二分析结果;对所述第二分析结果进行存储;j=j+1。
可选的,还包括:
第三处理模块,用于在所述待分析侧信道曲线文件的大小不大于所述系统待用内存的情况下,读取所述待分析侧信道曲线文件;对所述待分析侧信道曲线文件,进行侧信道加速分析,得到第三分析结果;存储所述第三分析结果。
可选的,所述侧信道加速分析指:采用numba库的侧信道加速分析。
本申请所述的侧信道分析方法及装置,在待分析侧信道曲线文件的大小大于系统待用内存的情况下,获取对待分析侧信道曲线文件进行侧信道分析的类型。一方面,在类型为所述信号处理的情况下,依据系统待用内存可存储待分析侧信道曲线文件中的最大行数,对待分析侧信道文件中的数据按行分批次进行侧信道加速分析,并且,每次进行侧信道加速分析的行数不大于最大行数。即针对信号处理这一类型的侧信道分析的特点,对待分析侧信道曲线文件按行分批次进行侧信道分析,从而,使得在进行信号处理的侧信道加速分析的情况下,避免出现系统内存不足的问题。
另一方面,在类型为密钥分析的情况下,依据系统待用内存存储待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对侧信道曲线数据按列分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的列数不大于最大列数。即针对密钥分析这一类型的侧信道分析的特点,对待分析侧信道曲线文件中的侧信道曲线数据按列分批次进行侧信道分析,从而,使得在进行密钥分析的侧信道加速分析的情况下,避免出现系统内存不足的问题。
综上所述,本申请可以解决在侧信道加速分析过程中,系统内存不足的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种侧信道分析方法的流程图;
图2为本申请实施例公开的一种对待分析侧信道曲线文件进行信号处理的侧信道分析方法的流程图;
图3为本申请实施例公开的一种对待分析侧信道曲线文件进行密钥分析的侧信道分析方法的流程图;
图4为本申请实施例公开的一种侧信道分析装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种侧信道分析方法,可以包括以下步骤:
S101、读取待分析侧信道曲线文件的信息。
在本步骤中,读取的信息包括待分析侧信道曲线文件的大小信息,以及待分析侧信道曲线文件中每行和每列存储的数据的类型。
S102、判断待分析侧信道曲线文件的大小是否大于系统待用内存,如果是,则执行S103,如果否,则执行S107。
在本实施例中,系统待用内存是通过系统实际内存计算得到。在实际中,可以设置比例系数,将系统实际内存与预设的比例系数的乘积,作为系统待用内存。
S103、获取对待分析侧信道曲线文件进行侧信道分析的类型。
在待分析侧信道曲线文件的大小大于系统待用内存的情况下,执行本步骤的操作。
在本步骤中,类型可以包括:信号处理和密钥分析。
S104、判断获取的类型是否为信号处理,如果是,则执行S105,如果否,则执行S106。
S105、依据系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对待分析侧信道文件中的数据按行分批次进行侧信道加速分析。
在获取的类型为信号处理的情况下,执行本步骤的操作。
在本步骤中,每次进行侧信道加速分析的行数不大于最大行数。
其中,对每块数据进行侧信道加速分析的方法可以为采用numba库的侧信道加速分析方法,当然,在实际中,还可以为其他侧信道加速分析方法,本实施例不对侧信道加速分析的具体内容作限定。
S106、依据系统待用内存存储待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对侧信道曲线数据按列分批次进行侧信道加速分析。
在类型为密钥分析的情况下,执行本步骤的操作。
其中,每次进行侧信道加速分析的列数不大于最大列数。
S107、读取待分析侧信道曲线文件。
在待分析侧信道曲线文件的大小不大于系统待用内存的情况下,执行本步骤的操作。即采用系统待用内存对待分析侧信道曲线文件进行侧信道分析,不会出现内存不足的问题。
S108、对待分析侧信道曲线文件,进行侧信道加速分析,得到第三分析结果。
在本实施例中,为了描述方便,将对待分析侧信道曲线文件进行侧信道加速分析的结果,称为第三结果。
S109、存储第三分析结果。
本步骤的具体实现方式为现有技术,这里不再赘述。
图2为本申请实施例提供的一种对待分析侧信道曲线文件进行信号处理的侧信道分析方法,可以包括以下步骤:
S201、依据系统待用内存与待分析侧信道曲线文件中一行数据的大小,确定系统待用内存可存储的最大行数。
在本实施例中,待分析侧信道曲线文件中任意一行数据的大小的计算方式,可以通过该行数据的个数,以及该行中每个数据的类型计算得到,其中,计算的具体实现方式为现有技术,这里不再赘述。
S202、依据最大行数对待分析侧信道曲线文件的数据按行进行分块。
其中,一块包含的行数不大于最大行数。
可选的,在本实施例中,可以按照待分析侧信道曲线文件中数据的行顺序,依次将最大行数的数据作为一块,直至待分析侧信道曲线文件的数据被完全划分。例如,待分析侧信道曲线文件总共包括16行,最大行数为5,则可以将待分析侧信道曲线文件的第1行到第5行数据作为一块,将第6行到第10行数据作为一块,将第11行到第15行数据作为一块,将第16行数据作为一块。
需要说明的是,本实施例只是给出了一种对待分析侧信道曲线文件中的数据进行分块的一种具体实现方式,在实际中,还可以通过其他方式进行分块,本实施例不对具体的分块方式作限定,只要分块后的每块数据的行数不大于最大行数即可。
S203、循环执行第一流程,直至待分析侧信道曲线文件的每块数据都被侧信道加速分析为止。
其中,第一流程可以包括:
在i<a的情况下,读取第i块数据;i的初始值为0;a的取值为分块数量。对读取的块数据进行侧信道加速分析,得到第一分析结果。对第一分析结果进行存储。i=i+1。
图3为本申请实施例提供的一种对待分析侧信道曲线文件进行密钥分析的侧信道分析方法,可以包括以下步骤:
S301、计算待分析侧信道曲线文件的密码数据中一列密码数据的大小。
在本实施例中,待分析侧信道曲线文件的密码数据中,每列密码数据的大小相同,因此,在本步骤中,可以将任一列密码数据的大小,作为密码数据中一列数据的大小。
其中,计算密码数据中任一列密码数据的大小的方式可以包括:依据该列密码数据包括的数据个数以及该列数据中每个数据的类型,计算该列密码数据的大小。其中,具体的计算方式为现有技术,这里不再赘述。
S302、依据待分析侧信道曲线文件的侧信道曲线数据中一列侧信道曲线数据的大小,计算系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数。
在本实施例中,对待分析侧信道曲线文件中的数据进行侧信道分析,需要从密码数据中选取一列密码数据,依据该列密码数据对待分析侧信道曲线数据进行侧信道分析。因此,系统待用内存必须要存储一列密码数据,该列密码数据可以根据实际进行密钥分析的需求确定,本实施例不对该列密码数据具体为哪列密码数据作限定。
在本步骤中,在系统待用内存存储一列密码数据后,还可存储的待分析侧信道曲线数据的最大列数的计算方式可以包括:依据待分析侧信道曲线文件中一列侧信道曲线数据的大小,计算系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数。
其中,由于系统待用内存已知,待分析侧信道曲线文件中每列侧信道曲线数据的大小是固定的,因此,在已知一列侧信道曲线数据的大小的情况下,可以计算出系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数。
S303、依据最大列数,将侧信道曲线数据进行分块。
其中,一块侧信道曲线数据包含的列数不大于最大列数。
其中,在本步骤中,依据最大列数将待分析侧信道曲线文件中侧信道曲线数据按列进行分块的原理,与S202中依据最大行数对待分析侧信道曲线文件的数据按行进行分块的原理相同,这里不再赘述。
S304、读取密码数据中预设的一列密码数据。
在本步骤中,预设的一列密码数据为根据实际需求进行侧信道分析所需的一列密码数据。
S305、循环执行第二流程,直至待分析侧信道曲线文件的每块侧信道曲线数据都被侧信道加速分析为止。
其中,第二流程可以包括:
在j<b的情况下,读取第j块侧信道曲线数据;j的初始值为0;b的取值为侧信道曲线数据的分块数量。对读取的侧信道曲线块数据进行侧信道加速分析,得到第二分析结果。对所述第二分析结果进行存储。j=j+1。
图4为本申请实施例提供的一种侧信道分析装置,可以包括:获取模块401、第一处理模块402和第二处理模块403,其中,
获取模块401,用于在待分析侧信道曲线文件的大小大于系统待用内存的情况下,获取对待分析侧信道曲线文件进行侧信道分析的类型;类型为信号处理或密钥分析。
第一处理模块402,用于在类型为所述信号处理的情况下,依据系统待用内存可存储待分析侧信道曲线文件中的最大行数,对待分析侧信道文件中的数据按行分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的行数不大于最大行数;
第二处理模块403,用于在类型为密钥分析的情况下,依据系统待用内存存储待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对侧信道曲线数据按列分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的列数不大于最大列数。
可选的,第一处理模块402,用于依据系统待用内存可存储待分析侧信道曲线文件中的最大行数,对待分析侧信道文件中的数据按行分批次进行侧信道加速分析,包括:
第一处理模块402,具体用于依据系统待用内存与待分析侧信道曲线文件中一行数据的大小,确定系统待用内存可存储的最大行数;依据最大行数对待分析侧信道曲线文件的数据按行进行分块;其中,一块包含的行数不大于最大行数;循环执行第一流程,直至待分析侧信道曲线文件的每块数据都被侧信道加速分析为止;第一流程包括:在i<a的情况下,读取第i块数据;i的初始值为0;a的取值为分块数量;对读取的块数据进行侧信道加速分析,得到第一分析结果;对第一分析结果进行存储;i=i+1。
可选的,第二处理模块403,用于依据系统待用内存存储待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对侧信道曲线数据按列分批次进行侧信道加速分析,包括:
第二处理模块403,具体用于计算待分析侧信道曲线文件的密码数据中一列密码数据的大小;依据待分析侧信道曲线文件的侧信道曲线数据中一列侧信道曲线数据的大小,计算系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数;依据最大列数,将侧信道曲线数据进行分块;其中,一块侧信道曲线数据包含的列数不大于最大列数;读取密码数据中预设的一列密码数据;循环执行第二流程,直至待分析侧信道曲线文件的每块侧信道曲线数据都被侧信道加速分析为止;第二流程包括:在j<b的情况下,读取第j块侧信道曲线数据;j的初始值为0;b的取值为侧信道曲线数据的分块数量;对读取的侧信道曲线块数据进行侧信道加速分析,得到第二分析结果;对第二分析结果进行存储;j=j+1。
可选的,该装置还可以包括:
第三处理模块,用于在待分析侧信道曲线文件的大小不大于系统待用内存的情况下,读取待分析侧信道曲线文件;对待分析侧信道曲线文件,进行侧信道加速分析,得到第三分析结果;存储第三分析结果。
可选的,侧信道加速分析指:采用numba库的侧信道加速分析。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种侧信道分析方法,其特征在于,包括:
在待分析侧信道曲线文件的大小大于系统待用内存的情况下,获取对所述待分析侧信道曲线文件进行侧信道分析的类型;所述类型为信号处理或密钥分析;
在所述类型为所述信号处理的情况下,依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的行数不大于所述最大行数;
在所述类型为所述密钥分析的情况下,依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的列数不大于所述最大列数。
2.根据权利要求1所述的方法,其特征在于,所述依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析,包括:
依据所述系统待用内存与所述待分析侧信道曲线文件中一行数据的大小,确定所述系统待用内存可存储的最大行数;
依据所述最大行数对所述待分析侧信道曲线文件的数据按行进行分块;其中,一块包含的行数不大于所述最大行数;
循环执行第一流程,直至所述待分析侧信道曲线文件的每块数据都被侧信道加速分析为止;
所述第一流程包括:
在i<a的情况下,读取第i块数据;i的初始值为0;a的取值为分块数量;
对读取的块数据进行侧信道加速分析,得到第一分析结果;
对所述第一分析结果进行存储;
i=i+1。
3.根据权利要求1所述的方法,其特征在于,所述依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析,包括:
计算所述待分析侧信道曲线文件的密码数据中一列密码数据的大小;
依据所述待分析侧信道曲线文件的侧信道曲线数据中一列侧信道曲线数据的大小,计算所述系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数;
依据所述最大列数,将所述侧信道曲线数据进行分块;其中,一块侧信道曲线数据包含的列数不大于所述最大列数;
读取所述密码数据中预设的一列密码数据;
循环执行第二流程,直至所述待分析侧信道曲线文件的每块侧信道曲线数据都被侧信道加速分析为止;
所述第二流程包括:
在j<b的情况下,读取第j块侧信道曲线数据;j的初始值为0;b的取值为侧信道曲线数据的分块数量;
对读取的侧信道曲线块数据进行侧信道加速分析,得到第二分析结果;
对所述第二分析结果进行存储;
j=j+1。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述待分析侧信道曲线文件的大小不大于所述系统待用内存的情况下,读取所述待分析侧信道曲线文件;
对所述待分析侧信道曲线文件,进行侧信道加速分析,得到第三分析结果;
存储所述第三分析结果。
5.根据权利要求1~4任意一项所述的方法,其特征在于,所述侧信道加速分析指:采用numba库的侧信道加速分析。
6.一种侧信道分析装置,其特征在于,包括:
获取模块,用于在待分析侧信道曲线文件的大小大于系统待用内存的情况下,获取对所述待分析侧信道曲线文件进行侧信道分析的类型;所述类型为信号处理或密钥分析;
第一处理模块,用于在所述类型为所述信号处理的情况下,依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的行数不大于所述最大行数;
第二处理模块,用于在所述类型为所述密钥分析的情况下,依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析;其中,每次进行侧信道加速分析的列数不大于所述最大列数。
7.根据权利要求6所述的装置,其特征在于,所述第一处理模块,用于依据所述系统待用内存可存储所述待分析侧信道曲线文件中的最大行数,对所述待分析侧信道文件中的数据按行分批次进行侧信道加速分析,包括:
所述第一处理模块,具体用于依据所述系统待用内存与所述待分析侧信道曲线文件中一行数据的大小,确定所述系统待用内存可存储的最大行数;依据所述最大行数对所述待分析侧信道曲线文件的数据按行进行分块;其中,一块包含的行数不大于所述最大行数;循环执行第一流程,直至所述待分析侧信道曲线文件的每块数据都被侧信道加速分析为止;所述第一流程包括:在i<a的情况下,读取第i块数据;i的初始值为0;a的取值为分块数量;对读取的块数据进行侧信道加速分析,得到第一分析结果;对所述第一分析结果进行存储;i=i+1。
8.根据权利要求6所述的装置,其特征在于,所述第二处理模块,用于依据所述系统待用内存存储所述待分析侧信道曲线文件中预设的一列密码数据后,还可存储的侧信道曲线数据的最大列数,对所述侧信道曲线数据按列分批次进行侧信道加速分析,包括:
所述第二处理模块,具体用于计算所述待分析侧信道曲线文件的密码数据中一列密码数据的大小;依据所述待分析侧信道曲线文件的侧信道曲线数据中一列侧信道曲线数据的大小,计算所述系统待用内存在存储一列密码数据后,还可存储的侧信道曲线数据的最大列数;依据所述最大列数,将所述侧信道曲线数据进行分块;其中,一块侧信道曲线数据包含的列数不大于所述最大列数;读取所述密码数据中预设的一列密码数据;循环执行第二流程,直至所述待分析侧信道曲线文件的每块侧信道曲线数据都被侧信道加速分析为止;所述第二流程包括:在j<b的情况下,读取第j块侧信道曲线数据;j的初始值为0;b的取值为侧信道曲线数据的分块数量;对读取的侧信道曲线块数据进行侧信道加速分析,得到第二分析结果;对所述第二分析结果进行存储;j=j+1。
9.根据权利要求6所述的装置,其特征在于,还包括:
第三处理模块,用于在所述待分析侧信道曲线文件的大小不大于所述系统待用内存的情况下,读取所述待分析侧信道曲线文件;对所述待分析侧信道曲线文件,进行侧信道加速分析,得到第三分析结果;存储所述第三分析结果。
10.根据权利要求6~9任一项所述的装置,其特征在于,所述侧信道加速分析指:采用numba库的侧信道加速分析。
CN202011378007.9A 2020-11-30 2020-11-30 一种侧信道分析方法及装置 Active CN112395607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011378007.9A CN112395607B (zh) 2020-11-30 2020-11-30 一种侧信道分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011378007.9A CN112395607B (zh) 2020-11-30 2020-11-30 一种侧信道分析方法及装置

Publications (2)

Publication Number Publication Date
CN112395607A true CN112395607A (zh) 2021-02-23
CN112395607B CN112395607B (zh) 2024-05-07

Family

ID=74604830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011378007.9A Active CN112395607B (zh) 2020-11-30 2020-11-30 一种侧信道分析方法及装置

Country Status (1)

Country Link
CN (1) CN112395607B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609535A (zh) * 2021-08-16 2021-11-05 中国信息安全测评中心 一种侧信道曲线特征提取方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4524444A (en) * 1982-01-12 1985-06-18 Discovision Associates Analyzing the signal transfer characteristics of a signal processing unit
CN102073811A (zh) * 2010-12-22 2011-05-25 孙迎红 一种安全芯片抗功耗攻击防护能力量化评估的加速方法
CN104023352A (zh) * 2014-06-23 2014-09-03 武汉大学 一种面向移动通信平台的即时通信软件侧信道测试系统
CN109150491A (zh) * 2018-07-10 2019-01-04 武汉大学 一种移动便携式侧信道采集测试设备及其控制方法
CN109598122A (zh) * 2017-10-02 2019-04-09 百度(美国)有限责任公司 用于检测侧信道攻击的方法和装置
CN110708160A (zh) * 2019-10-10 2020-01-17 山东省计算中心(国家超级计算济南中心) 基于sm2算法标量乘法编码的抗侧信道攻击方法及系统
CN110865883A (zh) * 2019-09-23 2020-03-06 平安科技(深圳)有限公司 一种大批量数据导入方法、装置、计算机设备及存储介质
CN110968863A (zh) * 2018-09-28 2020-04-07 英特尔公司 使用仅可执行存储器(xom)减轻侧信道攻击
CN111525999A (zh) * 2020-04-13 2020-08-11 南方电网科学研究院有限责任公司 一种曲线查看方法和装置
CN113609535A (zh) * 2021-08-16 2021-11-05 中国信息安全测评中心 一种侧信道曲线特征提取方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4524444A (en) * 1982-01-12 1985-06-18 Discovision Associates Analyzing the signal transfer characteristics of a signal processing unit
CN102073811A (zh) * 2010-12-22 2011-05-25 孙迎红 一种安全芯片抗功耗攻击防护能力量化评估的加速方法
CN104023352A (zh) * 2014-06-23 2014-09-03 武汉大学 一种面向移动通信平台的即时通信软件侧信道测试系统
CN109598122A (zh) * 2017-10-02 2019-04-09 百度(美国)有限责任公司 用于检测侧信道攻击的方法和装置
CN109150491A (zh) * 2018-07-10 2019-01-04 武汉大学 一种移动便携式侧信道采集测试设备及其控制方法
CN110968863A (zh) * 2018-09-28 2020-04-07 英特尔公司 使用仅可执行存储器(xom)减轻侧信道攻击
CN110865883A (zh) * 2019-09-23 2020-03-06 平安科技(深圳)有限公司 一种大批量数据导入方法、装置、计算机设备及存储介质
CN110708160A (zh) * 2019-10-10 2020-01-17 山东省计算中心(国家超级计算济南中心) 基于sm2算法标量乘法编码的抗侧信道攻击方法及系统
CN111525999A (zh) * 2020-04-13 2020-08-11 南方电网科学研究院有限责任公司 一种曲线查看方法和装置
CN113609535A (zh) * 2021-08-16 2021-11-05 中国信息安全测评中心 一种侧信道曲线特征提取方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
于赛: "基于分组密码算法的侧信道分析与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 12, 15 December 2019 (2019-12-15), pages 135 - 125 *
刘维杰: "云计算环境下跨虚拟机侧信道的攻击、检测与防御", 《中国博士学位论文全文数据库 信息科技辑》, no. 06, 15 June 2019 (2019-06-15), pages 137 - 1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609535A (zh) * 2021-08-16 2021-11-05 中国信息安全测评中心 一种侧信道曲线特征提取方法及装置
CN113609535B (zh) * 2021-08-16 2024-02-13 中国信息安全测评中心 一种侧信道曲线特征提取方法及装置

Also Published As

Publication number Publication date
CN112395607B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
TWI409695B (zh) 用於配置裝置之系統、方法及裝置
CN102272714B (zh) 具有匹配数据报告模块的型式辨识处理器
US8938603B2 (en) Cache system optimized for cache miss detection
CN102232216B (zh) 用于管理装置的字节序模式的系统及方法
CN102272713B (zh) 用于型式辨识处理器的电力消耗管理的方法及系统
CN112527816A (zh) 数据血缘关系解析方法、系统、计算机设备及存储介质
CN105183669A (zh) 一种数据存储方法及装置
CN113129150A (zh) 交易数据的处理方法、装置、终端设备及可读存储介质
CN106598997B (zh) 一种计算文本主题归属度的方法及装置
CN112395607A (zh) 一种侧信道分析方法及装置
CN116226681B (zh) 一种文本相似性判定方法、装置、计算机设备和存储介质
US9704506B2 (en) Harmonic feature processing for reducing noise
KR101075439B1 (ko) 멀티 코어 프로세서를 기반으로 하는 문자열 매칭 장치 및 그것의 문자열 매칭 방법
CN107169313A (zh) Dna数据文件的读取方法及计算机可读存储介质
CN105144139A (zh) 生成特征集
CN111367750B (zh) 一种异常处理方法、装置及其设备
CN107634826B (zh) 一种基于zynq器件的加密方法和系统
CN108763871B (zh) 基于第三代测序序列的补洞方法及装置
CN106844601B (zh) 一种数据存储方法及数据存储装置
CN115454983B (zh) 一种基于布隆过滤器的海量Hbase数据去重方法
CN116955223B (zh) 一种数据预取方法、系统、电子设备及计算机存储介质
CN109408406B (zh) 闪存的数据存储方法及存储介质
CN112148486B (zh) 内存页面管理方法、装置、设备及可读存储介质
CN113111303B (zh) 数据读取方法、装置、介质和计算设备
CN114579578A (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