CN107204856B - 一种检测椭圆曲线算法漏洞的方法及装置 - Google Patents

一种检测椭圆曲线算法漏洞的方法及装置 Download PDF

Info

Publication number
CN107204856B
CN107204856B CN201710647556.3A CN201710647556A CN107204856B CN 107204856 B CN107204856 B CN 107204856B CN 201710647556 A CN201710647556 A CN 201710647556A CN 107204856 B CN107204856 B CN 107204856B
Authority
CN
China
Prior art keywords
curve
energy consumption
naf
cross
talk
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.)
Active
Application number
CN201710647556.3A
Other languages
English (en)
Other versions
CN107204856A (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.)
Beijing Intelligent Cloud Measurement Information Technology Co., Ltd.
Original Assignee
Beijing Intelligent Cloud Measurement Information Technology Co Ltd
Beijing Wisdom Cloud Measuring Technology 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 Beijing Intelligent Cloud Measurement Information Technology Co Ltd, Beijing Wisdom Cloud Measuring Technology Co Ltd filed Critical Beijing Intelligent Cloud Measurement Information Technology Co Ltd
Priority to CN201710647556.3A priority Critical patent/CN107204856B/zh
Publication of CN107204856A publication Critical patent/CN107204856A/zh
Application granted granted Critical
Publication of CN107204856B publication Critical patent/CN107204856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Abstract

本发明提供了一种检测椭圆曲线算法漏洞的方法及装置,其中,该方法包括:获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,该能量消耗曲线指的是芯片的能量随时间的变化曲线;根据上述能量消耗曲线上的能量变化特征,从能量消耗曲线上确定上述芯片在执行数字签名时非相邻表示型NAF变换对应的待处理能量消耗曲线;根据待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测椭圆曲线是否存在漏洞。本发明中,通过芯片在执行数字签名时的能量曲线,检测椭圆曲线在NAF变换部分是否存在安全漏洞,以便厂商及时对该安全漏洞进行修复,进一步提高椭圆曲线算法的安全性。

Description

一种检测椭圆曲线算法漏洞的方法及装置
技术领域
本发明涉及密码学技术领域,具体而言,涉及一种检测椭圆曲线算法漏洞的方法及装置。
背景技术
当前,随着人们对信息安全的要求逐渐提高,密码体制得到了充分的发展。密码体制分为对称密码体制(私钥密码体制)和非对称密码体制(公钥密码体制),非对称密码体制在加密和解密时采用不同的密钥。
椭圆曲线密码(Elliptic Curve Cryptography,ECC)属于非对称密码体制,ECC具有密钥长度短、加解密速度快、对计算环境要求低、在需要通信时对带宽要求低等特点,因此,近年来,ECC被广泛应用于商用密码领域。国密SM2也是非对称密码体制,是一种基于ECC的非对称密码体制。椭圆曲线上的点乘运算是ECC和SM2等椭圆曲线算法中的关键运算,它决定着椭圆曲线密码体制的运算速度,为了加快点乘运算的运算速度,椭圆曲线点乘运算的实现最通常采用非相邻表示型(NAF)算法。
但是,在NAF实现的过程中,大部分厂商只考虑了NAF运算速度的提升,而忽略了安全因素,可能导致在NAF的实现过程中存在安全漏洞,导致椭圆曲线算法被破解。
对于椭圆曲线算法的安全评估的一个重点在于点乘运算,对于NAF实现的点乘运算分为NAF变换和点加倍点循环运算两部分,现有技术中对点乘运算的安全评估主要集中在点加和倍点运算,少有涉及针对NAF变换部分对椭圆曲线算法的安全性进行评估,因此,会导致厂商对NAF变换部分疏于防护,使得NAF变换部分存在安全漏洞从而导致椭圆曲线算法被破解。
发明内容
有鉴于此,本发明实施例的目的在于提供一种检测椭圆曲线算法漏洞的方法及装置,以解决或试图缓解上述技术问题。
第一方面,本发明实施例提供了一种检测椭圆曲线算法漏洞的方法,其中,所述方法包括:
获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,所述能量消耗曲线表征所述芯片消耗的能量与时间之间的关系;
根据所述能量消耗曲线上的能量变化特征,从所述能量消耗曲线上确定所述芯片在执行所述数字签名时非相邻表示型NAF变换对应的待处理能量消耗曲线;
根据所述待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测所述椭圆曲线算法是否存在漏洞。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述根据所述待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测所述椭圆曲线算法是否存在漏洞,包括:
从所述能量特征数据库中查找所述芯片对应的能量消耗特征;
根据所述待处理能量消耗曲线及所述芯片对应的能量消耗特征,确定所述椭圆曲线算法中点乘运算的乘数;
若确定出所述点乘运算的乘数,则确定所述椭圆曲线算法存在漏洞。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述待处理能量消耗曲线包括多段子曲线,每段子曲线对应所述NAF变换的一个循环流程;
所述芯片对应的能量消耗特征包括不同的NAF循环流程对应的执行时间及能量消耗特征;
所述根据所述待处理能量消耗曲线及所述芯片对应的能量消耗特征,确定所述椭圆曲线算法中点乘运算的乘数,包括:
抓取每段子曲线对应的时间长度及能量消耗信息,所述能量消耗信息包括预设时刻点对应的能量消耗值;
根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定每段子曲线对应的NAF循环流程的输出值;
根据所述NAF循环流程的输出值,计算所述点乘运算的乘数。
结合第一方面的第二种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定该段子曲线对应的NAF循环流程的输出值,包括:
根据每段子曲线对应的时间长度,确定该段子曲线对应的NAF循环流程的输入值的奇偶性;
当某段子曲线对应的NAF循环流程的输入值为偶数时,将该段子曲线对应的NAF循环流程的输出值确定为0;
当某段子曲线对应的NAF循环流程的输入值为奇数时,将该段子曲线对应的时间长度与不同的NAF循环流程的执行时间,以及将该段子曲线对应的能量消耗信息与不同的NAF循环流程的能量消耗特征进行匹配,确定该段子曲线对应的NAF循环流程的输出值。
结合第一方面的第三种可能的实现方式,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,当所述NAF循环流程的输入值为奇数时,所述NAF循环流程包括第一NAF循环流程及第二NAF循环流程;
所述第一NAF循环流程对应第一执行时间及第一能量消耗特征;所述第二NAF循环流程对应第二执行时间及第二能量消耗特征;
所述当某段子曲线对应的NAF循环流程的输入值为奇数时,将该段子曲线对应的时间长度与该段子曲线对应的NAF循环流程的执行时间,以及将该段子曲线对应的能量消耗信息与该段子曲线对应的NAF循环流程的能量消耗特征进行匹配,确定该段子曲线对应的NAF循环流程的输出值,包括:
将该段子曲线对应的时间长度分别与第一执行时间和第二执行时间进行比较,以及将该段子曲线对应的能量消耗信息分别与第一能量消耗特征和第二能量消耗特征进行比较;
当该段子曲线对应的时间长度在第一执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在第一能量消耗特征的预设范围内时,将该段子曲线对应的所述NAF循环流程的输出值确定为-1;
当该段子曲线对应的时间长度在第二执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在第二能量消耗特征的预设范围内时,将该段子曲线对应的所述NAF循环流程的输出值确定为1。
结合第一方面,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述根据所述能量消耗曲线上的能量变化特征,从所述能量消耗曲线上确定所述芯片在执行所述数字签名时非相邻表示型NAF变换对应的待处理能量消耗曲线,包括:
将所述能量消耗曲线上发生能量突变的时刻点确定为所述NAF变换的开始时刻;
将所述能量消耗曲线上,从所述开始时刻开始的曲线确定为所述待处理能量消耗曲线。
结合第一方面至第一方面的第五种可能的实现方式中任一项,本发明实施例提供了上述第一方面的第六种可能的实现方式,其中,所述获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,包括:
获取示波器采集的所述芯片在执行数字签名时的能量消耗曲线。
第二方面,本发明实施例提供了一种检测椭圆曲线算法漏洞的装置,其中,该装置包括:
获取模块,用于获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,所述能量消耗曲线表征所述芯片消耗的能量与时间之间的关系;
确定模块,用于根据所述能量消耗曲线上的能量变化特征,从所述能量消耗曲线上确定所述芯片在执行所述数字签名时非相邻表示型NAF变换对应的待处理能量消耗曲线;
检测模块,用于根据所述待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测所述椭圆曲线算法是否存在漏洞。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述检测模块包括:
查找单元,用于从所述能量特征数据库中查找所述芯片对应的能量消耗特征;
第一确定单元,用于根据所述待处理能量消耗曲线及所述芯片对应的能量消耗特征,确定所述椭圆曲线算法中点乘运算的乘数;
第二确定单元,用于若确定出所述点乘运算的乘数,则确定所述椭圆曲线算法存在漏洞。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述待处理能量消耗曲线包括多段子曲线,每段子曲线对应所述NAF变换的一个循环流程;
所述芯片对应的能量消耗特征包括不同的NAF循环流程对应的执行时间及能量消耗特征;
所述第一确定单元包括:
抓取子单元,用于抓取每段子曲线对应的时间长度及能量消耗信息,所述能量消耗信息包括预设时刻点对应的能量消耗值;
确定子单元,用于根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定每段子曲线对应的NAF循环流程的输出值;
计算子单元,用于根据所述NAF循环流程的输出值,计算所述点乘运算的乘数。
在本发明实施例提供的检测椭圆曲线算法漏洞的方法及装置中,通过基于椭圆曲线算法的芯片在执行数字签名时NAF变换对应的能量消耗曲线,及预先建立的能量消耗特征数据库,检测椭圆曲线算法在NAF变换部分是否存在漏洞,针对NAF变换部分对椭圆曲线算法的安全性进行评估,以避免由于NAF部分存在安全漏洞而导致椭圆曲线算法被破解。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明一实施例所提供的检测椭圆曲线算法漏洞的方法的流程图;
图2示出了本发明一实施例所提供的检测椭圆曲线算法漏洞的方法中,NAF变换的流程图;
图3示出了本发明又一实施例所提供的检测椭圆曲线算法漏洞的方法的具体流程图;
图4示出了本发明另一实施例所提供的检测椭圆曲线算法漏洞的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一实施例提供了一种检测椭圆曲线算法漏洞的方法,如图1所示,该方法包括步骤S110-S130,具体如下。
S110,获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,该能量消耗曲线表征上述芯片消耗的能量与时间之间的关系。
本发明实施例提供的检测椭圆曲线算法漏洞的方法的执行主体为终端设备,该终端设备可以为计算机、手机或者平板电脑等。
具体的,在本发明实施例中,上述芯片内集成有椭圆曲线算法,在具体应用时,将上述芯片安装在需要使用椭圆曲线算法的设备上。
进一步的,当上述芯片在执行数字签名时,会有一定的能量消耗,因此,可以通过示波器采集芯片在执行数字签名时各个采集时刻点对应的能量消耗值,并根据各个采集时刻点对应的能量消耗值生成消耗的能量与时间之间的关系曲线,具体的,该能量消耗曲线可以是横轴表示时间,纵轴表示消耗的能量。
在执行本发明实施例提供的方法时,则获取示波器采集的上述芯片在执行数字签名时的能量消耗曲线。
S120,根据上述能量消耗曲线上的能量变化特征,从上述能量消耗曲线上确定上述芯片在执行数字签名时NAF变换对应的待处理能量消耗曲线。
具体的,上述步骤S110中获取的是芯片在执行数字签名整个过程时的能量消耗曲线,但是,数字签名包括非相邻表示型(Non-Adjacent Form,NAF)变换和点乘运算两部分,由于点乘运算部分运算量较大,因此,消耗的能量明显较多,即芯片在执行NAF变换和点乘运算时,消耗的能量存在明显的区别,因此,根据MNAF变换消耗的能量和点乘运算消耗的能量的特点确定出NAF变换对应的能量消耗曲线,具体过程如下:
将上述能量消耗曲线上发生能量突变的时刻点确定为NAF变换的开始时刻;将上述能量消耗曲线上,从上述开始时刻开始的曲线确定为待处理能量消耗曲线。
具体的,在本发明实施例中,可以比较上述能量消耗曲线上相邻两个时刻点之间的能量差值,将最大的能量差值对应的时刻点确定为NAF变换的开始时刻。
S130,根据上述待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测上述椭圆曲线算法是否存在漏洞。
具体的,在本发明实施例中,不同的芯片在执行数字签名时对应的能量消耗曲线是不同的,在上述能量消耗特征库中存储有多种芯片在执行数字签名时的能量消耗特征,该能量消耗特征包括时间及能量值两方面。
具体的,上述多种芯片可以是多种不同型号的芯片,也可以是,多种不同生产批次的同一种芯片,其中,上述能量消耗特征数据库中存储的芯片,可以根据实际应用场景进行设置。优选的,上述数据库中可以存储有不同生产批次的每种芯片在执行数字签名时的能量消耗特征。
比如说,上述数据库中存储有A芯片的多种生产批次中,每种生产批次的A芯片在执行数字签名时的能量消耗特征。
进一步的,在上述步骤S130中,根据待处理能量消耗曲线及上述能量消耗特征数据库,检测椭圆曲线算法是否存在漏洞,具体包括如下步骤(1)、步骤(2)和步骤(3):
(1)从上述能量特征数据库中查找上述芯片对应的能量消耗特征;
(2)根据待处理能量消耗曲线及该芯片对应的能量消耗特征,确定上述椭圆曲线算法中点乘运算的乘数;
(3)若确定出上述点乘运算的乘数,则确定上述椭圆曲线算法存在漏洞。
其中,上述步骤(1)中,可以根据上述基于椭圆曲线算法的芯片的种类、名称、型号及生产批次等参数从能量消耗特征数据库中查找该芯片对应的能量消耗特征。
若通过上述步骤(2)能够确定出上述椭圆曲线算法中点乘运算的乘数,则确定该椭圆曲线算法的NAF变换部分存在漏洞,即该椭圆曲线算法存在安全隐患,会导致该椭圆曲线算法被破解。
由于NAF变换是一个循环过程,即NAF变换包括多个循环流程,因此,在本发明实施例中,基于椭圆曲线算法的芯片在执行数字签名时的NAF变换对应的能量消耗曲线包括多段子曲线,每段子曲线对应NAF变换的一个循环流程,记为一个NAF循环流程;
具体的,上述步骤(1)中,芯片对应的能量消耗特征包括不同的NAF循环流程对应的执行时间及能量消耗特征;
进一步的,上述步骤(2)中,根据待处理能量消耗曲线上及该芯片对应的能量消耗特征,确定上述椭圆曲线算法中点乘运算的乘数,具体包括如下步骤(a)-(c);
(a)、抓取每段子曲线对应的时间长度及能量消耗信息,该能量消耗信息包括预设时刻点对应的能量消耗值;
(b)、根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定每段子曲线对应的NAF循环流程的输出值;
(c)、根据上述NAF循环流程的输出值,计算上述点乘运算的乘数。
当上述芯片在执行NAF变换中的不同循环流程时,由于不同的循环流程具体运算过程有所差别,因此执行的时间长短以及消耗的能量可能会有所不同,在本发明实施例中,可以通过每段子曲线对应的时间长度及能量消耗信息,确定该段NAF循环流程的输出值,具体包括:
根据每段子曲线对应的时间长度,确定该段子曲线对应的NAF循环流程的输入值的奇偶性;当某段子曲线对应的NAF循环流程的输入值为偶数时,将该端子曲线对应的NAF循环流程的输出值确定为0;当某段子曲线对应的NAF循环流程的输入值为奇数时,将该段子曲线对应的时间长度与不同的NAF循环流程的执行时间,以及将该段子曲线对应的能量消耗信息与不同的NAF循环流程的能量消耗特征进行匹配,确定该段子曲线对应的NAF循环流程的输出值。
具体的,在本发明实施例中,NAF变换的过程具体如下:
NAF输入的是一个正整数k;输出记为NAF(k);
首先,给i赋值0;
当k≥1时,重复执行如下过程,如图2所示,具体包括步骤S210-S250,如下所示:
S210,判断k是否为奇数;如果是,则执行步骤S220;否则,执行步骤S230;
S220,令ki取值为2-(k mod 4),令k取值为k-ki
S230,令ki的取值为0;
不管上述执行完步骤S220还是执行完步骤S230后,则均需要执行步骤S240,即:
S240,令k的取值为k/2,令i取值为i+1;
S250,判断当前k是否为0;如果是,则结束;否则,执行步骤S210。
最终,可以得到(ki-1,ki-2,…k1,k0)等一系列的输出值。
其中,在上述过程中,k为NAF变换的输入值,即点乘运算的乘数,ki为NAF变换的输出值。
上述步骤S210、S220、S240和S250为NAF变换的一种循环流程,该循环流程对应的是k为奇数的情况;上述步骤S210、S230、S240和S250为NAF变换的一种循环流程,该循环流程对应的是k为偶数的情况。
从上述NAF变换的整个过程可以看出,当输入值k为奇数或者偶数时,对应的循环流程有所差别。当k为奇数时,比k为偶数时多执行一个除法和减法运算,因此,当k为奇数时,NAF变换的流程的执行时间大于k为偶数的情况,具体的,体现在待处理能量循环曲线上,则是NAF变换的输入值为奇数时的循环流程对应的子曲线的时间长度大于,NAF变换的输入值为偶数时的循环流程对应的子曲线的时间长度。
因此,在本发明实施例中,首先根据每段子曲线对应的时间长度,可以确定出该段子曲线对应的NAF循环流程的输入值的奇偶性。
进一步的,在本发明实施例中,ki的取值可以为0,1和-1,因此,当确定出某个NAF循环流程的输入值为偶数时,可以确定出该NAF循环流程的输出值为0。
具体的,在本发明实施例中,上述NAF循环流程的输入值为奇数时,在上述步骤S220中,当ki=1时,在计算k-ki时,需要计算k-1;而当ki=-1时,在计算k-ki时,需要计算k-(-1),即k+1,ki取值为-1和1时,k-ki的运算的复杂度不同,因此,对于ki等于1以及ki等于-1这两种情况,NAF循环流程对应的子曲线的时间常见及能量消耗信息时不同的。
因此,在本发明实施例中,当上述NAF循环流程的输入值为奇数时,该NAF循环流程包括第一循环流程及第二循环流程;第一NAF循环流程对应第一执行时间及第一能量消耗特征;第二NAF循环流程对应第二执行时间及第二能量消耗特征。
另外,当确定出某个NAF循环流程的输入值为奇数时,则需要对该NAF循环流程对应的子曲线进行进一步的分析,以确定该NAF循环流程的输出值是1还是-1,具体包括:
将该段子曲线对应的时间长度分别与第一执行时间和第二执行时间进行比较,以及将该段子曲线对应的能量消耗信息分别与第一能量消耗特征和第二能量消耗特征进行比较;
当该段子曲线对应的时间长度在第一执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在第一能量消耗特征的预设范围内时,将该段子曲线对应的NAF循环流程的输出值确定为-1;
当该段子曲线对应的时间长度在第二执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在第二能量消耗特征的预设范围内时,将该段子曲线对应的NAF循环流程的输出值确定为1。
具体的,上述第一执行时间指的是预先获取的NAF循环流程的输出值为-1时的执行时间,即NAF循环流程的输出值为-1时对应的子曲线的时间长度,上述第一能量消耗特征指的是预先获取的NAF循环流程的输出值为-1时的能量信息,该能量信息可以是当NAF循环流程的输出值为-1时消耗的能量消耗值,该能量消耗值可以是该NAF循环流程中大多数采集时刻点对应的能量消耗值,也可以是该NAF循环流程中各个采集时刻点对应的能量消耗值的平均值。
上述第二执行时间及第二能量消耗特征对应的则是NAF循环流程的输出值为1的情况。
通过上述具体过程,计算出该椭圆曲线算法中NAF变换中各个NAF循环流程的输出值,即上述ki,之后,则通过NAF反变换确定出点乘运算的乘数k,具体过程如下:
在NAF反变换过程中,输入为:NAF(k)=(kr-1,kr-2,…,k1,k0);输出
首先,令i=0;
当i≤r时,则执行如下1)和2)两个循环过程:
1)如果ki=-1,令k′i=1,令i的取值加1;
如果此时i满足i≤r,则执行下述循环:
如果ki=0,令k′i=1,且令i的取值加1,结束本次循环;
如果ki=-1,令k′i=0,且令i的取值加1,结束本次循环;
如果ki=1,令k′i=0,且令i的取值加1,并结束整个循环过程;
2)否则,令k′i=ki
根据确定出的所有的k′i,通过公式计算k。
上述通过NAF反变换计算得出的k则为椭圆曲线算法中点乘运算的乘数。
而SM2数字签名的算法为:
s=((1+dA)-1·(k-r·dA))mod n
其中,在该公式中,(r,s)表示的是待签名的消息对应的数字签名,n表示的是椭圆曲线算法的公开参数,k表示的是点乘运算的乘数,而s、r和n均为已知的,因此,通过上述公式可以计算出dA,即说明上述椭圆曲线算法存在漏洞。
本发明又一实施例还提供了一种检测椭圆曲线算法漏洞的具体方法,如图3所示,包括如下步骤:
S301,获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线;
S302,从上述能量消耗曲线上,确定出NAF变换对应的待处理能量消耗曲线,该待处理能量循环曲线包括多段子曲线,每段子曲线对应NAF变换中的一个循环流程;
S303,确定每段子曲线对应的时间长度;
S304,根据每段子曲线对应的时间长度,判断该段子曲线对应的NAF循环流程的输入值的奇偶性;如果该子曲线对应的NAF循环流程的输入值为偶数,则执行步骤S305,否则执行步骤S306;
S305,将该段子曲线对应的NAF循环流程的输出值确定为0;
S306,将该段子曲线对应的时间长度分别与预设的第一执行时间和预设的第二执行时间进行比对,以及将该段子曲线对应的能量消耗信息分别与预设的第一能量消耗特征及第二能量消耗特征进行比对;
S307,若该段子曲线对应的时间长度在预设的第一执行时间的范围内,且该段子曲线对应的能量消耗信息在预设的第一能量消耗特征的范围内,则确定该段子曲线对应的NAF循环流程的输出值为-1;
S308,若该段子曲线对应的时间长度在预设的第二执行时间的范围内,且该段子曲线对应的能量消耗信息在预设的第二能量消耗特征的范围内,则确定该段子曲线对应的NAF循环流程的输出值为1;
S309,根据确定出的各个NAF循环流程的输出值,通过NAF反变换,计算上述椭圆曲线算法中点乘运算的乘数;
S310,在计算出点乘运算的乘数后,则确定该椭圆曲线算法存在漏洞。
本发明实施例提供的检测椭圆曲线算法漏洞的方法,通过基于椭圆曲线算法的芯片在执行数字签名时NAF变换对应的能量消耗曲线,及预先建立的能量消耗特征数据库,检测椭圆曲线算法在NAF变换部分是否存在漏洞,针对NAF变换部分对椭圆曲线算法的安全性进行评估,以避免由于NAF部分存在安全漏洞而导致椭圆曲线算法被破解。
基于与上述实施例提供的检测椭圆曲线算法漏洞的方法相同的原理,本发明另一实施例还提供了一种检测椭圆曲线算法漏洞的装置,该装置可以设置在终端设备上,如图4所示,该装置包括获取模块410、确定模块420和检测模块430,其中,
上述获取模块410,用于获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,该能量消耗曲线表征芯片消耗的能量与时间之间的关系;
上述确定模块420,用于根据能量消耗曲线上的能量变化特征,从上述能量消耗曲线上确定芯片在执行数字签名时NAF变换对应的待处理能量消耗曲线;
上述检测模块430,用于根据上述待处理能量消耗曲线及预先建立的能量消耗曲线数据库,检测上述椭圆曲线算法是否存在漏洞。
进一步的,上述检测模块430,检测椭圆曲线算法是否存在漏洞,是通过查找单元、第一确定单元和第二确定单元实现的,具体包括:
上述查找单元,用于从上述能量特征数据库中查找上述芯片对应的能量消耗特征;上述第一确定单元,用于根据上述待处理能量消耗曲线及上述芯片对应的能量消耗特征,确定上述椭圆曲线算法中点乘运算的乘数;上述第二确定单元,用于若确定出上述点乘运算的乘数,则确定上述椭圆曲线算法存在漏洞。
进一步的,上述待处理能量消耗曲线包括多段子曲线,每段子曲线对应NAF变换的一个循环流程;
上述芯片对应的能量消耗特征包括不同的NAF循环流程对应的执行时间及能量消耗特征;
上述第一确定单元确定椭圆曲线算法中点乘运算的乘数,是通过抓取子单元、确定子单元和计算子单元实现的,具体包括:
上述抓取子单元,用于抓取每段子曲线对应的时间长度及能量消耗信息,该能量消耗信息包括预设时刻点对应的能量消耗值;上述确定子单元,用于根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定每段子曲线对应的NAF循环流程的输出值;上述计算子单元,用于根据上述NAF循环流程的输出值,计算上述点乘运算的乘数。
进一步的,上述确定子单元,具体用于,
根据每段子曲线对应的时间长度,确定该段子曲线对应的NAF循环流程的输入值的奇偶性;当某段子曲线对应的NAF循环流程的输入值为偶数时,将该段子曲线对应的NAF循环流程的输出值确定为0;当某段子曲线对应的NAF循环流程的输入值为奇数时,将该段子曲线对应的时间长度与不同的NAF循环流程的执行时间,以及将该端子曲线对应的能量消耗信息与不同的NAF循环流程的能量消耗特征进行匹配,确定该段子曲线对应的NAF循环流程的输出值。
进一步的,上述NAF循环流程的输入值为奇数时,该NAF循环流程包括第一NAF循环流程及第二NAF循环流程;
上述第一NAF循环流程对应第一执行时间及第一能量消耗特征,上述第二NAF循环流程对应第二执行时间及第二能量消耗特征;
上述确定子单元,还具体用于,
当某段子曲线对应的NAF循环流程的输入值为奇数时,将该段子曲线对应的时间长度分别与第一执行时间和第二执行时间进行比较,以及将该段子曲线对应的能量消耗信息分别与第一能量消耗特征和第二能量消耗特征进行比较;
当该段子曲线对应的时间长度在第一执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在洗衣能量消耗特征的预设范围内时,将该段子曲线对应的NAF循环流程的输出值确定为-1;
当该段子曲线对应的时间长度在第一执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在第二能量消耗特征的预设范围内时,将该段子曲线对应的NAF循环流程的输出值确定为1。
进一步的,在本发明实施例中,上述确定模块420,从上述能量消耗曲线上确定芯片在质心数字签名是NAF变换对应的待处理能量消耗曲线,是通过第三确定子单元和第四确定子单元实现的,具体包括:
上述第三确定子单元,用于将上述能量消耗曲线上发生能量突变点的时刻点确定为该NAF变换的开始时刻;上述第四确定子单元,用于将上述能量消耗曲线上,从开始时刻开始的曲线确定为上述待处理能量消耗曲线。
进一步的,上述获取模块410获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,是通过获取单元实现的,具体包括:
上述获取单元,用于获取示波器采集的芯片在执行数字签名时的能量消耗曲线。
本发明实施例提供的检测椭圆曲线算法漏洞的装置,通过基于椭圆曲线算法的芯片在执行数字签名时NAF变换对应的能量消耗曲线,及预先建立的能量消耗特征数据库,检测椭圆曲线算法在NAF变换部分是否存在漏洞,针对NAF变换部分对椭圆曲线算法的安全性进行评估,以避免由于NAF部分存在安全漏洞而导致椭圆曲线算法被破解。
本发明实施例所提供的检测椭圆曲线算法漏洞的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (5)

1.一种检测椭圆曲线算法漏洞的方法,其特征在于,所述方法包括:
获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,所述能量消耗曲线表征所述芯片消耗的能量与时间之间的关系;
根据所述能量消耗曲线上的能量变化特征,从所述能量消耗曲线上确定所述芯片在执行所述数字签名时非相邻表示型NAF变换对应的待处理能量消耗曲线;
根据所述待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测所述椭圆曲线算法是否存在漏洞;
其中,所述根据所述待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测所述椭圆曲线算法是否存在漏洞,包括:
从所述能量特征数据库中查找所述芯片对应的能量消耗特征;
根据所述待处理能量消耗曲线及所述芯片对应的能量消耗特征,确定所述椭圆曲线算法中点乘运算的乘数;
若确定出所述点乘运算的乘数,则确定所述椭圆曲线算法存在漏洞;
其中,所述待处理能量消耗曲线包括多段子曲线,每段子曲线对应所述NAF变换的一个循环流程;
所述芯片对应的能量消耗特征包括不同的NAF循环流程对应的执行时间及能量消耗特征;
所述根据所述待处理能量消耗曲线及所述芯片对应的能量消耗特征,确定所述椭圆曲线算法中点乘运算的乘数,包括:
抓取每段子曲线对应的时间长度及能量消耗信息,所述能量消耗信息包括预设时刻点对应的能量消耗值;
根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定每段子曲线对应的NAF循环流程的输出值;
根据所述NAF循环流程的输出值,计算所述点乘运算的乘数;
其中,所述根据所述能量消耗曲线上的能量变化特征,从所述能量消耗曲线上确定所述芯片在执行所述数字签名时非相邻表示型NAF变换对应的待处理能量消耗曲线,包括:
将所述能量消耗曲线上发生能量突变的时刻点确定为所述NAF变换的开始时刻;
将所述能量消耗曲线上,从所述开始时刻开始的曲线确定为所述待处理能量消耗曲线。
2.根据权利要求1所述的方法,其特征在于,所述根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定该段子曲线对应的NAF循环流程的输出值,包括:
根据每段子曲线对应的时间长度,确定该段子曲线对应的NAF循环流程的输入值的奇偶性;
当某段子曲线对应的NAF循环流程的输入值为偶数时,将该段子曲线对应的NAF循环流程的输出值确定为0;
当某段子曲线对应的NAF循环流程的输入值为奇数时,将该段子曲线对应的时间长度与不同的NAF循环流程的执行时间,以及将该段子曲线对应的能量消耗信息与不同的NAF循环流程的能量消耗特征进行匹配,确定该段子曲线对应的NAF循环流程的输出值。
3.根据权利要求2所述的方法,其特征在于,当所述NAF循环流程的输入值为奇数时,所述NAF循环流程包括第一NAF循环流程及第二NAF循环流程;
所述第一NAF循环流程对应第一执行时间及第一能量消耗特征;所述第二NAF循环流程对应第二执行时间及第二能量消耗特征;
所述当某段子曲线对应的NAF循环流程的输入值为奇数时,将该段子曲线对应的时间长度与该段子曲线对应的NAF循环流程的执行时间,以及将该段子曲线对应的能量消耗信息与该段子曲线对应的NAF循环流程的能量消耗特征进行匹配,确定该段子曲线对应的NAF循环流程的输出值,包括:
将该段子曲线对应的时间长度分别与第一执行时间和第二执行时间进行比较,以及将该段子曲线对应的能量消耗信息分别与第一能量消耗特征和第二能量消耗特征进行比较;
当该段子曲线对应的时间长度在第一执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在第一能量消耗特征的预设范围内时,将该段子曲线对应的所述NAF循环流程的输出值确定为-1;
当该段子曲线对应的时间长度在第二执行时间的预设范围内时,且该能量消耗信息中各个能量消耗值均在第二能量消耗特征的预设范围内时,将该段子曲线对应的所述NAF循环流程的输出值确定为1。
4.根据权利要求1-3任一项所述的方法,其特征在在于,所述获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,包括:
获取示波器采集的所述芯片在执行数字签名时的能量消耗曲线。
5.一种检测椭圆曲线算法漏洞的装置,其特征在于,所述装置包括:
获取模块,用于获取基于椭圆曲线算法的芯片在执行数字签名时的能量消耗曲线,所述能量消耗曲线表征所述芯片消耗的能量与时间之间的关系;
确定模块,用于根据所述能量消耗曲线上的能量变化特征,从所述能量消耗曲线上确定所述芯片在执行所述数字签名时非相邻表示型NAF变换对应的待处理能量消耗曲线;
检测模块,用于根据所述待处理能量消耗曲线及预先建立的能量消耗特征数据库,检测所述椭圆曲线算法是否存在漏洞;
其中,所述检测模块包括:
查找单元,用于从所述能量特征数据库中查找所述芯片对应的能量消耗特征;
第一确定单元,用于根据所述待处理能量消耗曲线及所述芯片对应的能量消耗特征,确定所述椭圆曲线算法中点乘运算的乘数;
第二确定单元,用于若确定出所述点乘运算的乘数,则确定所述椭圆曲线算法存在漏洞;
其中,所述待处理能量消耗曲线包括多段子曲线,每段子曲线对应所述NAF变换的一个循环流程;
所述芯片对应的能量消耗特征包括不同的NAF循环流程对应的执行时间及能量消耗特征;
所述第一确定单元包括:
抓取子单元,用于抓取每段子曲线对应的时间长度及能量消耗信息,所述能量消耗信息包括预设时刻点对应的能量消耗值;
确定子单元,用于根据每段子曲线对应的时间长度、能量消耗信息,以及不同的NAF循环流程的执行时间、能量消耗特征,确定每段子曲线对应的NAF循环流程的输出值;
计算子单元,用于根据所述NAF循环流程的输出值,计算所述点乘运算的乘数;
其中,所述确定模块420,包括:
第三确定子单元,用于将所述能量消耗曲线上发生能量突变的时刻点确定为所述NAF变换的开始时刻;
第四确定子单元,用于将所述能量消耗曲线上,从所述开始时刻开始的曲线确定为所述待处理能量消耗曲线。
CN201710647556.3A 2017-08-01 2017-08-01 一种检测椭圆曲线算法漏洞的方法及装置 Active CN107204856B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710647556.3A CN107204856B (zh) 2017-08-01 2017-08-01 一种检测椭圆曲线算法漏洞的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710647556.3A CN107204856B (zh) 2017-08-01 2017-08-01 一种检测椭圆曲线算法漏洞的方法及装置

Publications (2)

Publication Number Publication Date
CN107204856A CN107204856A (zh) 2017-09-26
CN107204856B true CN107204856B (zh) 2019-10-22

Family

ID=59911632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710647556.3A Active CN107204856B (zh) 2017-08-01 2017-08-01 一种检测椭圆曲线算法漏洞的方法及装置

Country Status (1)

Country Link
CN (1) CN107204856B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111211886B (zh) * 2020-04-20 2020-07-14 成都信息工程大学 针对sm2解密算法的能量分析检测方法
CN112131616B (zh) * 2020-09-15 2022-02-18 郑州信大捷安信息技术股份有限公司 一种sm2算法的掩码运算方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061526A (zh) * 2004-11-22 2007-10-24 索尼株式会社 密码处理运算装置
CN103441846A (zh) * 2013-08-12 2013-12-11 国家密码管理局商用密码检测中心 一种对p域的ecc算法选择明文侧信道能量分析方法
CN105740730A (zh) * 2014-12-10 2016-07-06 上海华虹集成电路有限责任公司 芯片中安全的点乘实现方法
CN106464483A (zh) * 2014-02-12 2017-02-22 智能Ic卡公司 用于电子部件实现椭圆曲线密码算法的应对方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061526A (zh) * 2004-11-22 2007-10-24 索尼株式会社 密码处理运算装置
CN103441846A (zh) * 2013-08-12 2013-12-11 国家密码管理局商用密码检测中心 一种对p域的ecc算法选择明文侧信道能量分析方法
CN106464483A (zh) * 2014-02-12 2017-02-22 智能Ic卡公司 用于电子部件实现椭圆曲线密码算法的应对方法
CN105740730A (zh) * 2014-12-10 2016-07-06 上海华虹集成电路有限责任公司 芯片中安全的点乘实现方法

Also Published As

Publication number Publication date
CN107204856A (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
US9948462B2 (en) Hypersphere-based multivariable public key signature/verification system and method
CN108694236A (zh) 视频数据处理方法、装置及电子设备
KR20080084500A (ko) 집합 검증 장치 및 그 방법
CN107204856B (zh) 一种检测椭圆曲线算法漏洞的方法及装置
KR101439804B1 (ko) 연산 장치, 연산 장치의 타원 스칼라 곱셈 방법, 타원 스칼라 곱셈 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체, 연산 장치의 잉여 연산 방법 및 잉여 연산 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체
CN103560877A (zh) 攻击密钥的方法及装置
KR100629495B1 (ko) 그룹 키 생성방법
CN111010387B (zh) 一种物联网设备非法替换检测方法、装置、设备及介质
CN110225044B (zh) 在区块链上的验证方法及装置
CN110223070B (zh) 基于区块链节点网络的验证方法及装置
CN111970112B (zh) 基于zynq异构计算平台的以太坊部署方法及系统
CN110222538B (zh) 涉及区块链的验证方法及装置
CN109788349B (zh) 一种探测计算能力的方法及相关装置
CN115242402B (zh) 签名方法、验签方法及电子设备
CN112688897A (zh) 一种流量识别的方法、装置、存储介质及电子设备
CN114221753B (zh) 密钥数据处理方法和电子设备
CN110224813B (zh) 基于区块链的出块方法及装置
CN110224839B (zh) 应用于区块链上的验证方法及装置
WO2016000372A1 (zh) 序列检测方法、装置及计算机存储介质
CN115580489B (zh) 数据传输方法、装置、设备及存储介质
CN105847216A (zh) 身份认证方法及装置
CN107248929B (zh) 一种多维关联数据的强关联数据生成方法
CN107241198A (zh) 一种椭圆曲线算法的安全性评估方法及装置
KR102244128B1 (ko) 컴퓨팅 리소스 수용량에 기반한 네트워크 공격 강도 측정 기법을 사용하는 네트워크 호스트 공격 탐지 방법 및 장치
CN114363658B (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Zengju

Inventor after: Jiang Xiao

Inventor after: Shi Ruhui

Inventor after: Li Wenbao

Inventor after: Zhang Ce

Inventor after: Li Haibin

Inventor after: Chen Baishun

Inventor after: Wang Yang

Inventor after: An Dao

Inventor after: Huang Tianning

Inventor before: Li Zengju

Inventor before: Shi Ruhui

Inventor before: Li Wenbao

Inventor before: Zhang Ce

Inventor before: Li Haibin

Inventor before: Chen Baishun

Inventor before: Shi Xinling

Inventor before: Wu Xiangfu

Inventor before: Wang Yang

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180119

Address after: 102308 room 701, room 7, courtyard 98, lotus Stone Lake, gate head District, Peking City

Applicant after: Beijing wisdom cloud Measuring Technology Co., Ltd.

Applicant after: Beijing Intelligent Cloud Measurement Information Technology Co., Ltd.

Address before: Room 701, room 7, courtyard No. 98, lotus Stone Lake West Road, Beijing, Beijing

Applicant before: Beijing wisdom cloud Measuring Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant