一种验证方法及装置、用于验证的装置、服务器和终端制造方法及图纸

技术编号:24251798 阅读:31 留言:0更新日期:2020-05-22 23:42
本发明专利技术实施例提供了一种验证方法及装置、用于验证的装置、服务器和终端;其中,所述的方法包括:获取验证密文算法代码所需的目标数据,所述目标数据包括:密文算法代码和密文算法代码对应的计算数据;对所述密文算法代码进行合规性检测,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;根据所述密文算法代码的运行结果,展示对应的算法代码验证结果。本发明专利技术实施例不仅能够检测出密文算法代码中语法准确但语义上泄漏数据信息的代码,还能够快速的对密文算法代码进行验证。

A verification method and device, device for verification, server and terminal

【技术实现步骤摘要】
一种验证方法及装置、用于验证的装置、服务器和终端
本专利技术涉及数据处理领域,特别是涉及一种验证方法及装置、用于验证的装置、服务器和终端。
技术介绍
如今,互联网已经完成了从IT(InternetTechnology,互联网技术)时代向DT(DataTechnology,数据处理技术)时代转变;数据已经成为DT时代企业的核心竞争力。而数据作为一种新能源,只有流动起来才能产生价值。不过,大多数企业考虑到数据安全和个人隐私等问题,对数据共享都非常谨慎。为了解决数据安全问题,安全多方计算(SecureMuti-partyComputation,MPC)应运而生。MPC能够基于密文进行计算,进而能够保证各参与方隐私数据的隐私性。在MPC系统中针对密文数据的操作源码称为密文算法代码,部分编程语言是解释型语言,非编译型语言,因此有些错误(如变量名拼写错误)在运行时才能发现;因此现有技术通过运行密文算法代码进行运算,实现对密文算法代码的验证。如果错误发生在程序的末端,由于运行密文算法代码进行运算执行的是密文操作,可能需要运行了很长时间的密文算法代码才会发现错误;当密文算法代码很复杂时,密文算法代码的验证效率会很低。此外,密文算法代码不同于基于明文的运算,其不但要保证语法准确,还要保证数据信息的安全,因此,一些明文运算不能直接用于密文算法代码中,那么明文算法代码的验证方法无法适用于密文算法代码。因此,需要研发出针对密文算法代码的验证方案。
技术实现思路
本专利技术实施例提供一种验证方法,以在提高密文算法代码的验证效率的同时,检测密文算法代码的合规性。相应的,本专利技术实施例还提供了一种验证装置、用于验证的装置、服务器和终端,用以保证上述方法的实现及应用。为了解决上述问题,本专利技术实施例公开了一种验证方法,具体包括:获取验证密文算法代码所需的目标数据,所述目标数据包括:密文算法代码和密文算法代码对应的计算数据;对所述密文算法代码进行合规性检测,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;根据所述密文算法代码的运行结果,展示对应的算法代码验证结果。可选地,在所述对所述密文算法代码进行合规性检测之后,所述的方法还包括:若所述密文算法代码未通过所述合规性检测,则生成合规性检测结果并展示。可选地,所述对所述密文算法代码进行合规性检测,包括:生成所述密文算法代码对应的抽象语法树,所述抽象语法树包括多个节点,所述节点包括算术运算节点;以及识别出所述密文算法代码所包含的全部变量,并确定所述密文算法代码中各变量对应的类型信息;遍历所述密文算法代码对应的抽象语法树,从所述抽象语法树的算术运算节点中查找待进行合规性检测的目标算术运算节点;依次判断各目标算术运算节点是否满足预设的合规性检测条件。可选地,所述类型信息包括:密文类型和明文类型,所述确定所述密文算法代码中各变量对应的类型信息,包括:遍历所述抽象语法树,查找所述密文算法代码中通过执行特定接口进行赋值的预设变量,并将所述预设变量的类型信息确定为密文类型;以及根据密文计算特性和预设变量的类型信息,推导所述抽象语法树中其他变量的类型信息,其中,所述其他变量为密文算法代码中除预设变量之外的变量。可选地,所述根据密文计算特性和预设变量的类型信息,推导所述语法树中其他变量的类型信息,包括:针对每个算术运算节点,确定参与所述算术运算节点对应算术运算的参与对象,以及确定经过所述算术运算节点进行算术运算得到的运算结果对应的结果变量;若所述算术运算节点的参与对象中,存在至少一个对应类型信息为密文类型的参与对象,则确定所述算术运算节点的结果变量对应的类型信息为密文类型。可选地,所述预设的合规性检测条件包括:参与对象对应的预设类型信息;所述依次判断各目标算术运算节点是否满足预设的合规性检测条件,包括:针对每个目标算术运算节点,确定参与所述目标算术运算节点对应算术运算的目标参与对象,以及确定所述目标参与对象对应的类型信息;通过将所述目标参与对象的类型信息与所述合规性检测条件中参与对象对应的预设类型信息进行比对,判断所述目标算术运算节点是否满足预设的合规性检测条件。可选地,所述根据所述密文算法代码的运行结果,展示对应的算法代码验证结果,包括:当密文算法代码运行错误时,停止运行所述密文算法代码,以及生成对应的验证错误信息并展示。可选地,所述根据所述密文算法代码的运行结果,展示对应的算法代码验证结果,包括:当密文算法代码正常运行结束后,展示所述密文算法代码对所述计算数据进行对应的明文计算得到的运算结果。本专利技术实施例还公开了一种验证装置,具体包括:第一数据获取模块,用于获取验证密文算法代码所需的目标数据,所述目标数据包括:密文算法代码和密文算法代码对应的计算数据;第一合规性检测模块,用于对所述密文算法代码进行合规性检测,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;第一代码验证模块,用于若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;第一验证结果展示模块,用于根据所述密文算法代码的运行结果,展示对应的算法代码验证结果。可选地,所述的装置还包括:第一合规性结果展示模块,用于在所述对所述密文算法代码进行合规性检测之后,若所述密文算法代码未通过所述合规性检测,则生成合规性检测结果并展示。可选地,所述第一合规性检测模块,包括:抽象语法树生成子模块,用于生成所述密文算法代码对应的抽象语法树,所述抽象语法树包括多个节点,所述节点包括算术运算节点;类型确定子模块,用于以及识别出所述密文算法代码所包含的全部变量,并确定所述密文算法代码中各变量对应的类型信息;节点查找子模块,用于遍历所述密文算法代码对应的抽象语法树,从所述抽象语法树的算术运算节点中查找待进行合规性检测的目标算术运算节点;合规性判断子模块,用于依次判断各目标算术运算节点是否满足预设的合规性检测条件。可选地,所述类型信息包括:密文类型和明文类型,所述类型确定子模块,包括:预设变量类型确定单元,用于遍历所述抽象语法树,查找所述密文算法代码中通过执行特定接口进行赋值的预设变量,并将所述预设变量的类型信息确定为密文类型;其他变量类型推导单元,用于根据密文计算特性和预设变量的类型信息,推导所述抽象语法树中其他变量的类型信息,其中,所述其他变量为密文算法代码中除预设变量之外的变量。可选地,所述其他变量类型推导单元,具体用于针对每个算术运算节点,确定参与所述算术运算节点对应算术运算的参与对象,以及确定经过所述算术运算节点进行算术运算得到的运算结果对应的结果变量;若所述算术运算节点的参与对象中,存在至少一个对应类型信息为密文类型的参与对象,则确定所述算术运算节点的结果变量对应的类型信息为密文类型。可选地,所述预设的合规性检本文档来自技高网...

【技术保护点】
1.一种验证方法,其特征在于,包括:/n获取验证密文算法代码所需的目标数据,所述目标数据包括:密文算法代码和密文算法代码对应的计算数据;/n对所述密文算法代码进行合规性检测,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;/n若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;/n根据所述密文算法代码的运行结果,展示对应的算法代码验证结果。/n

【技术特征摘要】
1.一种验证方法,其特征在于,包括:
获取验证密文算法代码所需的目标数据,所述目标数据包括:密文算法代码和密文算法代码对应的计算数据;
对所述密文算法代码进行合规性检测,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;
若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;
根据所述密文算法代码的运行结果,展示对应的算法代码验证结果。


2.根据权利要求1所述的方法,其特征在于,在所述对所述密文算法代码进行合规性检测之后,所述的方法还包括:
若所述密文算法代码未通过所述合规性检测,则生成合规性检测结果并展示。


3.根据权利要求1所述的方法,其特征在于,所述对所述密文算法代码进行合规性检测,包括:
生成所述密文算法代码对应的抽象语法树,所述抽象语法树包括多个节点,所述节点包括算术运算节点;
以及识别出所述密文算法代码所包含的全部变量,并确定所述密文算法代码中各变量对应的类型信息;
遍历所述密文算法代码对应的抽象语法树,从所述抽象语法树的算术运算节点中查找待进行合规性检测的目标算术运算节点;
依次判断各目标算术运算节点是否满足预设的合规性检测条件。


4.根据权利要求3所述的方法,其特征在于,所述类型信息包括:密文类型和明文类型,所述确定所述密文算法代码中各变量对应的类型信息,包括:
遍历所述抽象语法树,查找所述密文算法代码中通过执行特定接口进行赋值的预设变量,并将所述预设变量的类型信息确定为密文类型;以及
根据密文计算特性和预设变量的类型信息,推导所述抽象语法树中其他变量的类型信息,其中,所述其他变量为密文算法代码中除预设变量之外的变量。


5.根据权利要求4所述的方法,其特征在于,所述根据密文计算特性和预设变量的类型信息,推导所述语法树中其他变量的类型信息,包括:
针对每个算术运算节点,确定参与所述算术运算节点对应算术运算的参与对象,以及确定经过所述算术运算节点进行算术运算得到的运算结果对应的结果变量;
若所述算术运算节点的参与对象中,存在至少一个对应类型信息为密文类型的参与对象,则确定所述算术运算节点的结果变量对应的类型信息为密文类型。


6.根据权利要求3所述的方法,其特征在于,所述预设的合规性检测条件包括:参与对象对应的预设类型信息;
所述依次判断各目标算术运算节点是否满足预设的合规性检测条件,包括:
针对每个目标算术运算节点,确定参与所述目标算术运算节点对应算术运算的目标参与对象,以及确定所述目标参与对象对应的类型信息;
通过将所述目标参与对象的类型信息与所述合规性检测条件中参与对象对应的预设类型信息进行比对,判断所述目标算术运算节点是否满足预设的合规性检测条件。


7.根据权利要求1所述的方法,其特征在于,所述根据所述密文算法代码的运行结果,展示对应的算法代码验证结果,包括:
当密文算法代码运行错误时,停止运行所述密文算法代码,以及生成对应的验证错误信息并展示。


8.根据权利要求1所述的方法,其特征在于,所述根据所述密文算法代码的运行结果,展示对应的算法代码验证结果,包括:
当密文算法代码正常运行结束后,展示所述密文算法代码对所述计算数据进行对应的明文计算得到的运算结果。


9.一种验证方法,其特征在于,包括:
服务器接收客户端发送的验证指令,所述验证指令由客户端根据用户在客户端的验证界面中针对密文算法代码触发的验证请求生成;
依据所述验证指令获取用于进行密文算法代码验证的目标数据,所述目标数据包括密文算法代码和密文算法代码对应的计算数据;
对所述密文算法代码进行合规性检测,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;
若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;
根据所述密文算法代码的运行结果,生成对应的算法代码验证结果并将所述算法代码验证结果返回至所述客户端,以使所述客户端展示所述算法代码验证结果。


10.根据权利要求9所述的方法,其特征在于,在所述对所述密文算法代码进行合规性检测之后,所述的方法还包括:
若所述密文算法代码未通过所述合规性检测,则生成合规性检测结果并返回至所述客户端,以使所述客户端展示所述合规性检测结果。


11.一种验证方法,其特征在于,所述的方法包括:
当检测到用户在验证界面中针对密文算法代码触发的验证请求后,客户端获取用户在所述验证界面中输入的用于进行密文算法代码验证的目标数据,所述目标数据包括密文算法代码和密文算法代码对应的计算数据;
依据所述目标数据生成验证指令,并将所述验证指令发送至服务器,以使所述服务器依据所述验证指令获取用于进行密文算法代码验证的目标数据;对所述密文算法代码进行合规性检测;若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;以及根据所述密文算法代码的运行结果,生成对应的算法代码验证结果并将所述算法代码验证结果返回,其中,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;
接收所述服务器返回的所述算法代码验证结果并展示。


12.根据权利要求11所述的方法,其特征在于,所述的方法还包括:
接收所述服务器返回的合规性检测结果并展示,其中,所述合规性检测结果是所述服务器确定所述密文算法代码未通过所述合规性检测时生成的。


13.根据权利要求11所述的方法,其特征在于,所述验证界面包括:计算数据编辑项、输入变量名编辑项、输出变量名编辑项和密文算法代码编辑项。


14.一种验证装置,其特征在于,包括:
第一数据获取模块,用于获取验证密文算法代码所需的目标数据,所述目标数据包括:密文算法代码和密文算法代码对应的计算数据;
第一合规性检测模块,用于对所述密文算法代码进行合规性检测,所述合规性检测用于检测所述密文算法代码中的不合规代码,所述不合规代码包括语法准确但语义上泄漏数据信息的代码;
第一代码验证模块,用于若所述密文算法代码通过所述合规性检测,则运行所述密文算法代码对所述计算数据进行对应的明文计算;
第一验证结果展示模块,用于根据所述密文算法代码的运行结果,展示对应的算法代码验证结果。


15.根据权利要求14所述的装置,其特征在于,所述的装置还包括:
第一合规性结果展示模块,用于在所述对所述密文算法代码进行合规性检测之后,若所述密文算法代码未通过所述合规性检测,则生成合规性检测结果并展示...

【专利技术属性】
技术研发人员:王一帆高雨晨
申请(专利权)人:华控清交信息科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1