CN117828557A - 一种基于一次性程序的外包计算结果保护方法 - Google Patents
一种基于一次性程序的外包计算结果保护方法 Download PDFInfo
- Publication number
- CN117828557A CN117828557A CN202311702847.XA CN202311702847A CN117828557A CN 117828557 A CN117828557 A CN 117828557A CN 202311702847 A CN202311702847 A CN 202311702847A CN 117828557 A CN117828557 A CN 117828557A
- Authority
- CN
- China
- Prior art keywords
- calculation
- program
- task
- data
- key
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 172
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012946 outsourcing Methods 0.000 title claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims abstract description 28
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000008485 antagonism Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000011664 signaling Effects 0.000 claims description 3
- 206010061619 Deformity Diseases 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于一次性程序的外包计算结果保护方法,属于计算机技术领域,其具体包括:时间生成器产生一个时间戳,由任务拆分器根据时间戳将计算任务拆分为子计算任务数据,密钥计算程序生成本地解密密钥和数据指纹,然后通过程序合并器将目标计算程序、密钥计算程序和计算结果处理程序进行合并输出,对合并后的计算程序进行对抗逆向分析,根据对抗逆向分析结果,将子计算任务数据和控制参数进行组合和重构,生成最终计算成果,最后对最终计算结果进行时间戳限制检测和解密,将解密得到的数据指纹和本地生成的数据指纹进行比较,确认数据结果的准确性和有效性。
Description
技术领域
本发明属于计算机技术领域,具体的说是一种基于一次性程序的外包计算结果保护方法。
背景技术
外包计算是一种算力委托方式,拥有计算资源的一方通过出售算力来获取收益,而算力不足的一方可以将计算的数据和方法传输给算力出售方进行计算,得到计算结果。在外包计算中,计算结果可信是一个非常重要的前提条件,主要目的是确保计算方严格按照提供的数据和方法进行计算,而没有伪造计算结果。现有的外包计算中,一般采用三种方法实现计算结果可信:一是直接依赖计算方的公信力;二是依赖于可信执行环境的硬件手段;三是使用复杂的可验证计算技术。
如授权公告号为CN113326475B的中国专利公开了一种基于初等矩阵的矩阵求逆外包计算方法,其特征是,利用计算复杂度较低的初等矩阵和稀疏矩阵保护输入和输出数据的安全性和提高外包计算效率,主要采用Monte Carlo算法验证返回结果的正确性,通过加入阶梯分解的设计减小了用户外包矩阵求逆计算的计算代价,从而提高了客户端数据的安全性,降低了客户端的外包开销。本发明方法具有安全性、高效性、结果的可验证性等特点。
如授权公告号为CN111984225B的中国专利公开了基于边缘计算的支持隐私保护的模幂运算任务外包方法,本发明包括:将物联网设备的模幂运算任务外包给一定数量的边缘服务器,每个边缘服务器承担部分计算任务,在减少物联网设备的计算压力的同时,缩短计算时间,提升物联网设备的工作效率;通过随机数对模数、底数和指数进行盲化,避免了信息泄露的问题,提升了外包过程的安全性;最后还能够验证边缘服务器返回的子计算结果,避免得出错误的计算结果,提升模幂运算任务外包过程的可靠性。此外,本申请还提供了一种基于边缘计算的支持隐私保护的模幂运算任务外包装置、物联网设备及可读存储介质,其技术效果与上述方法的技术效果相对应。
以上现有技术均存在以下问题:1)不能利用非信任方的算力;2)仅支持拥有特定硬件资源的计算节点,算力资源少;3)计算量相对原始计算呈数量级增长,计算成本过高。
发明内容
针对现有技术的不足,本发明提出了一种基于一次性程序的外包计算结果保护方法,其特征在于,任务拆分器根据时间戳将计算任务拆分为子计算任务数据,密钥计算程序生成本地解密密钥和数据指纹,通过程序合并器将程序进行合并输出,对合并的计算程序进行对抗逆向分析,根据对抗逆向分析结果,将子计算任务数据和控制参数进行组合和重构,生成最终计算成果,对最终计算结果进行时间戳限制检测和解密,将解密得到的数据指纹和本地生成的数据指纹进行比较。
为实现上述目的,本发明提供如下技术方案:
一种基于一次性程序的外包计算结果保护方法,包括:
步骤S1:配置时间生成器和任务拆分器,时间生成器产生一个时间戳,任务拆分器根据时间戳的限制将计算任务拆分为子计算任务数据;
步骤S2:配置密钥计算程序和程序合并器,密钥计算程序使用子计算任务数据和控制参数生成本地解密密钥和数据指纹,程序合并器配置有目标计算程序、密钥计算程序和计算结果处理程序,子计算任务数据输入到目标计算程序并进行更新,本地解密密钥和数据指纹输入密钥计算程序并进行更新,将更新得到的目标计算程序和密钥计算程序输入到计算结果处理程序中进行更新,并输出计算程序;
步骤S3:对计算程序进行对抗逆向分析,根据对抗逆向分析结果,最终计算程序将子计算任务数据和控制参数进行组合和重构,生成最终计算成果;
步骤S4:通过时间验证器对最终计算结果进行时间戳限制检测;
步骤S5:使用本地解密密钥对最终计算结果进行解密,并将解密得到的数据指纹和本地生成的数据指纹进行比较。
具体的,所述步骤S1的具体步骤包括:
步骤S101:获取当前时间,将当前时间转换为时间戳并输出;
步骤S102:接收计算任务,分析计算任务的时间要求,并根据时间要求拆分计算任务;
步骤S103:分配子计算任务到计算节点,监控子计算任务的执行情况。
具体的,所述步骤S2的具体步骤包括:
步骤S201:接收子计算任务数据,解析与子计算任务相关的控制参数;
步骤S202:根据解析的控制参数,密钥计算程序使用非对称加密算法生成用于解密子计算任务数据的本地解密密钥并计算子计算任务数据的数据指纹;
步骤S203:获取目标计算程序、密钥计算程序和计算结果处理程序;
步骤S204:通过子计算任务数据、控制参数连接程序流,合并程序代码;
步骤S205:对合并的计算程序的逻辑进行检查和调整。
具体的,所述步骤S3中对抗逆向分析包括:
步骤S301:利用二进制混淆器对合并的计算程序进行混淆处理;
步骤S302:利用自修改代码生成器对二进制混淆后的计算程序进行自修改代码处理;
步骤S303:通过虚拟机保护打包器对自修改代码计算程序进行打包;
步骤S304:完成计算程序变形处理,使每个计算任务都生成一个一次性程序。
具体的,所述步骤S4的具体步骤包括:
步骤S401:时间验证器获取最终计算程序生成的最终计算结果和对应的时间戳;
步骤S402:时间验证器验证时间戳的合法性,并根据预设的时间戳限制条件对时间戳进行检测;
步骤S403:记录并处理超时时间戳和无效时间戳;
步骤S404:若发出信号仍处理失败,时间验证器记录违规行为,并生成报告以供后续审计和分析。
具体的,所述步骤S5中对最终计算结果进行解密的具体步骤包括:
步骤S501:获取步骤S202中的本地解密密钥;
步骤S502:准备解密环境,并将本地解密密钥加载到解密环境,得到加载的本地解密密钥;
步骤S503:接收步骤S401中所述的最终计算结果,并使用加载的本地解密密钥对最终计算结果进行解密操作;
步骤S504:完成解密操作,得到数据指纹信息;
步骤S505:将解密得到的数据指纹和本地生成的数据指纹进行对比。
具体的,一种基于一次性程序的外包计算结果保护方法,包括:生成模块、保护模块、结果验证模块,
所述生成模块,用于生成解密密钥和数据指纹,对加密的计算结果进行解密和验证;
所述保护模块,用于对目标计算程序进行保护,防止被篡改、窃取或非法使用;
所述结果验证模块,用于对比原始计算任务数据和最终解密结果的差异、检查数据完整性。
具体的,所述解密密钥和数据指纹生成模块包括:任务拆分单元、密钥生成单元、加密单元,
所述任务拆分单元,用于将原始的计算任务拆分成独立的子计算任务,并将这些子计算任务分配给不同的计算节点进行处理;
所述密钥生成单元,用于生成与子计算任务数据相对应的解密密钥和其它用于加密、解密、验证等操作的密钥,并将生成的解密密钥和其它密钥提供给外包计算结果验证程序;
所述加密单元,用于保护外包计算的原始数据、计算结果和信息的机密性和完整性,防止未经授权的访问、泄露和篡改。
具体的,所述计算程序保护模块包括:程序合并单元、对抗逆向分析单元,
所述程序合并单元,通过连接程序的输入和输出端口,将目标计算程序、密钥计算程序和计算结果处理程序合并为一个计算程序;
所述对抗逆向分析单元,通过代码混淆、自修改代码和虚拟机保护,监控程序的状态和行为。
具体的,所述结果验证模块包括:时间限制检测单元、解密单元,
所述时间限制检测单元,用于对计算程序执行时间进行限制和检测,处理超时情况,防止计算程序被恶意滥用或无限制地使用;
所述解密单元,用于对加密的计算结果进行解密操作,以还原数据。
与现有技术相比,本发明的有益效果是:
1.本发明提出一种基于一次性程序的外包计算结果保护系统,并进行了架构、运行步骤和流程上的优化改进,系统具备流程简单,投资运行费用低廉,生产工作成本低的优点。
2.本发明提出一种基于一次性程序的外包计算结果保护方法,利用代码混淆、自修改代码、虚拟机保护技术处理目标计算程序、密钥计算程序和计算结果处理程序,并打包生成最终计算程序,提高计算方作恶的算力成本和时间成本,破坏计算方作恶的经济基础,降低作恶的可能性。
3.本发明提出一种基于一次性程序的外包计算结果保护方法,解决了现有外包计算结果可信需要依赖于计算方公信力的问题,在外包计算中引入一次性程序的思想,为每个计算任务生成一次性程序,结合对抗逆向分析手段和一次性密钥加密、解密技术,实现对外包计算结果的保护。
附图说明
图1为本发明一种基于一次性程序的外包计算结果保护方法流程图;
图2为本发明一种基于一次性程序的外包计算结果保护方法系统分析流程图;
图3为本发明一种基于一次性程序的外包计算结果保护系统架构图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“一号”、“二号”、“三号”仅用于描述目的,而不能理解为指示或暗示相对重要性。下面结合具体实施方式,进一步阐述本发明。
实施例1
请参阅图1-图2,本发明提供的一种实施例:一种基于一次性程序的外包计算结果保护方法,包括以下步骤:
步骤S1:配置时间生成器和任务拆分器,时间生成器产生一个时间戳,任务拆分器根据时间戳的限制将计算任务拆分为子计算任务数据;
时间生成器通常会根据当前的时间或指定的时间来生成时间戳,而时间戳是计算结果在特定时间点生成的标记,通常用于记录某个事件的发生时间、事件发生的顺序、计算时间间隔或者文件的创建、修改时间等信息。
任务拆分器是指将一个任务或项目拆分成若干个子任务或步骤的工具或方法,通常会根据任务的属性、特点、优先级等因素来进行拆分,以便更好地分配资源、安排进度和执行任务。本发明使用任务拆分器拆分任务,将复杂任务分解为小的子任务,降低任务的复杂度,可以更容易地实现任务的快速迭代和持续交付,更容易沟通任务的内容和具体行动。
步骤S2:配置密钥计算程序和程序合并器,密钥计算程序使用子计算任务数据和控制参数生成本地解密密钥和数据指纹,程序合并器配置有目标计算程序、密钥计算程序和计算结果处理程序,子计算任务数据输入到目标计算程序并进行更新,本地解密密钥和数据指纹输入密钥计算程序并进行更新,将更新得到的目标计算程序和密钥计算程序输入到计算结果处理程序中进行更新,并输出计算程序;
密钥计算程序是一个集成多种加密算法,支持输入参数配置,可用于生成加解密密钥和数据指纹的计算程序,提高了所生成加解密密钥和数据指纹的多样性。
本发明使用程序合并器将目标计算程序、密钥计算程序和计算结果处理程序合并输出为一个计算程序,以达到提高程序的效率、安全性、可维护性、可靠性等,同时简化开发流程、降低成本、提高产品质量的效果。
步骤S3:对计算程序进行对抗逆向分析,根据对抗逆向分析结果,最终计算程序将子计算任务数据和控制参数进行组合和重构,生成最终计算成果;
本发明进行对抗逆向分析,对计算程序进行变形处理,为每个计算任务生成一次性程序,“一次性”指的是密钥计算程序生成的加解密密钥和数据指纹是基于计算任务数据计算得到,它们之间存在强绑定关系,具有唯一性。
步骤S4:通过时间验证器对最终计算结果进行时间戳限制检测;
时间验证器是指一种用于验证时间准确性的工具或方法,通常与时间戳一起使用,以确保事件发生的时间或数据记录的时间是准确和可靠的,时间验证器的作用包括:1)验证时间的准确性;2)防止时间戳篡改;3)校准时间;4)防止重复处理。施加时间限制可以使计算方在时间上无法完成做恶。
步骤S5:使用本地解密密钥对最终计算结果进行解密,并将解密得到的数据指纹和本地生成的数据指纹进行比较。
解密密钥是用于解密子计算任务数据的专用密钥,只有拥有该密钥的人才能够解密并获得计算结果的数据。而数据指纹则是对原始计算任务数据的一个唯一标识,用于验证数据的完整性和真实性。
步骤S1的具体步骤包括:
步骤S101:获取当前时间,将当前时间转换为时间戳并输出;
时间生成器通过调用系统的时间函数或使用时间库获取当前的日期和时间。
步骤S102:接收计算任务,分析计算任务的时间要求,并根据时间要求拆分计算任务;
子计算任务数据的具体计算步骤:对于每个子计算任务,平台会生成一个包含该任务数据的子数据包,这些子数据包会根据时间戳和其他可能的规则进行加密和保护,可以确保即使计算节点能够访问这些数据包,也无法读取或篡改其中的数据。
步骤S103:分配子计算任务到计算节点,监控子计算任务的执行情况
步骤S2的具体步骤包括:
步骤S201:接收子计算任务数据,解析与子计算任务相关的控制参数;
控制参数包括加密算法、密钥长度、哈希函数,用于指导后续的密钥生成和数据指纹计算。
步骤S202:根据解析的控制参数,密钥计算程序使用非对称加密算法生成用于解密子计算任务数据的本地解密密钥并计算子计算任务数据的数据指纹;
常用的加密算法包括:对称加密算法、非对称加密算法和散列算法,其中对称性加密算法有:高级加密标准(Advanced Encryption Standard,AES)、数据加密标准(DataEncryption Standard,DES)、3DES,非对称加密算法有:RSA、数字签名算法(DigitalSignatureAlgorithm,DSA)、椭圆曲线密码编码学(Elliptic Curves Cryptography,ECC),散列算法有:MD5、SHA1、HMAC。本发明使用非对称加密的RSA加密方法,具有较高的安全性和方便性,适用于分布式计算环境,并且可以用于数据加密、数据完整性验证、数字签名和身份验证。
步骤S203:获取目标计算程序、密钥计算程序和计算结果处理程序;
步骤S204:通过子计算任务数据、控制参数连接程序流,合并程序代码;
步骤S205:对合并的计算程序的逻辑进行检查和调整。
步骤S3中对抗逆向分析包括:
步骤S301:利用二进制混淆器对合并的计算程序进行混淆处理;
代码混淆是将计算机程序的源代码或机器代码,转换成功能上等价,但是难于阅读和理解的形式的行为,可以直接作用于程序编译而成二进制文件,可以针对函数、API调用、变量、库、值进行改写,重写部分逻辑,打乱代码格式,添加花指令。
步骤S302:利用自修改代码生成器对二进制混淆后的计算程序进行自修改代码处理;
自修改代码指的是程序中的部分代码在运行前处于加密状态,程序运行中执行相关解密操作,恢复为正常功能代码,可以实现为在执行过程中才对需要的特定代码片段进行即时解密。
步骤S303:通过虚拟机保护打包器对自修改代码计算程序进行打包;
虚拟机保护是将程序的机器指令转换为字节码,再由虚拟机引擎来控制转换后的字节码执行,经过复杂设计的虚拟机指令集不但可以增加逆向分析的困难,还能做到即使被逆向也无法形成通用的自动化工具。
步骤S304:完成计算程序变形处理,使每个计算任务都生成一个一次性程序。
一次性程序指的是一种只能计算一次的计算程序,其执行次数达到后就执行“自毁”,无法再次进行计算,一次性程序在通用硬件上存在可通过拷贝副本来实施重试攻击的问题,所有一般需要配合特定硬件实施。本发明通过引入对抗逆向分析技术,对计算程序进行变形处理,为每个计算任务生成一次性程序,有效增加计算方作恶的成本,破坏其经济利益基础,实现对外包计算结果的保护。
一次性程序的原始目的是为了防止使用者超过次数执行计算程序,对其进行扩展,本发明提出只进行一次计算即可丢弃的一次性程序,实现保护计算程序第一次执行结果的目的,而不关心计算程序被多次执行的问题,使得这类一次性程序可以运行在通用硬件上。
步骤S4的具体步骤包括:
步骤S401:时间验证器获取最终计算程序生成的最终计算结果和对应的时间戳;
步骤S402:时间验证器验证时间戳的合法性,并根据预设的时间戳限制条件对时间戳进行检测;
时间验证器验证时间戳的合法性的步骤如下:1)获得待验证时间戳的数据;2)检查时间戳的格式是否符合规范;3)确保自己的时间与标准时间保持一致;
4)根据一定的算法和规则,对时间戳进行验证;5)如果时间戳通过验证,则时间验证器会输出验证成功的消息;如果时间戳未通过验证,则时间验证器会输出验证失败的消息并指出失败原因。
步骤S403:记录并处理超时时间戳和无效时间戳;
步骤S404:若发出信号仍处理失败,时间验证器记录违规行为,并生成报告以供后续审计和分析。
步骤S5中对最终计算结果进行解密的具体步骤包括:
步骤S501:获取步骤S202中的本地解密密钥;
步骤S502:准备解密环境,并将本地解密密钥加载到解密环境,得到加载的本地解密密钥;
将本地解密密钥加载到解密环境主要包括:1)获取解密密钥;2)打开与解密密钥相对应的解密工具;3)将获得的解密密钥加载到解密工具;4)加载成功后,进行解密操作。
步骤S503:接收步骤S401中所述的最终计算结果,并使用加载的本地解密密钥对最终计算结果进行解密操作;
步骤S504:完成解密操作,得到数据指纹信息;
步骤S505:将解密得到的数据指纹和本地生成的数据指纹进行对比。
常见的数据指纹对比方法包括:1)直接对比法;2)特征比对法;3)哈希函数法;4)加密解密法。直接对比法是将解密得到的数据指纹与本地生成的数据指纹直接进行对比,查看两者是否完全一致,这种方法简单直观,但只适用于较小的数据指纹,因为较大的数据指纹可能会导致对比过程变得非常耗时;特征比对法是将数据指纹进行特征比对,比较两者之间的特征点是否相同或相似,这种方法可以在一定程度上排除数据指纹中的随机噪声,提高对比的准确性;哈希函数法是将数据指纹分别进行哈希处理,然后比较两个哈希值是否相同,这种方法可以有效地减少数据指纹的长度,提高对比的效率;加密解密法是将解密得到的数据指纹再次进行加密处理,然后与本地生成的数据指纹进行解密处理,比较两次解密后的结果是否一致,这种方法可以验证解密得到的数据指纹的完整性和准确性。
实施例2
请参阅图3,本发明提供的另一种实施例:一种基于一次性程序的外包计算结果保护方法,包括:
解密密钥和数据指纹生成模块、计算程序保护模块、结果验证模块,
所述解密密钥和数据指纹生成模块,用于生成解密密钥和数据指纹,对加密的计算结果进行解密和验证;
所述计算程序保护模块,用于对目标计算程序进行保护,防止被篡改、窃取或非法使用;
所述结果验证模块,用于对比原始计算任务数据和最终解密结果的差异、检查数据完整性。
所述解密密钥和数据指纹生成模块包括:任务拆分单元、密钥生成单元、加密单元;
所述任务拆分单元,用于将原始的计算任务拆分成独立的子计算任务,并将这些子计算任务分配给不同的计算节点进行处理;
所述密钥生成单元,用于生成与子计算任务数据相对应的解密密钥和其它用于加密、解密、验证等操作的密钥,并将生成的解密密钥和其它密钥提供给外包计算结果验证程序;
所述加密单元,用于保护外包计算的原始数据、计算结果和信息的机密性和完整性,防止未经授权的访问、泄露和篡改。
所述计算程序保护模块包括:程序合并单元、对抗逆向分析单元,
所述程序合并单元,通过连接程序的输入和输出端口,将目标计算程序、密钥计算程序和计算结果处理程序合并为一个计算程序,并确保它们能够协同工作并正确地传递数据;
所述对抗逆向分析单元,通过代码混淆、自修改代码和虚拟机保护,监控程序的状态和行为,使得攻击者难以理解程序的逻辑和结构,增加逆向分析的难度和成本。
所述结果验证模块包括:时间限制检测单元、解密单元,
所述时间限制检测单元,用于对计算程序执行时间进行限制和检测,处理超时情况,防止计算程序被恶意滥用或无限制地使用;
所述解密单元,用于对加密的计算结果进行解密操作,以还原数据,并确保数据的安全性和完整性。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种基于一次性程序的外包计算结果保护方法,其特征在于,包括:
步骤S1:配置时间生成器和任务拆分器,时间生成器产生一个时间戳,任务拆分器根据时间戳的限制将计算任务拆分为子计算任务数据;
步骤S2:配置密钥计算程序和程序合并器,密钥计算程序使用子计算任务数据和控制参数生成本地解密密钥和数据指纹,程序合并器配置有目标计算程序、密钥计算程序和计算结果处理程序,子计算任务数据输入到目标计算程序并进行更新,本地解密密钥和数据指纹输入密钥计算程序并进行更新,将更新得到的目标计算程序和密钥计算程序输入到计算结果处理程序中进行更新,并输出计算程序;
步骤S3:对计算程序进行对抗逆向分析,根据对抗逆向分析结果,最终计算程序将子计算任务数据和控制参数进行组合和重构,生成最终计算成果;
步骤S4:通过时间验证器对最终计算结果进行时间戳限制检测;
步骤S5:使用本地解密密钥对最终计算结果进行解密,并将解密得到的数据指纹和本地生成的数据指纹进行比较。
2.如权利要求1所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述步骤S1的具体步骤包括:
步骤S101:获取当前时间,将当前时间转换为时间戳并输出;
步骤S102:接收计算任务,分析计算任务的时间要求,并根据时间要求拆分计算任务;
步骤S103:分配子计算任务到计算节点,监控子计算任务的执行情况。
3.如权利要求2所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述步骤S2的具体步骤包括:
步骤S201:接收子计算任务数据,解析与子计算任务相关的控制参数;
步骤S202:根据解析的控制参数,密钥计算程序使用非对称加密算法生成用于解密子计算任务数据的本地解密密钥并计算子计算任务数据的数据指纹;
步骤S203:获取目标计算程序、密钥计算程序和计算结果处理程序;
步骤S204:通过子计算任务数据、控制参数连接程序流,合并程序代码;
步骤S205:对合并的计算程序的逻辑进行检查和调整。
4.如权利要求3所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述步骤S3中对抗逆向分析包括:
步骤S301:利用二进制混淆器对合并的计算程序进行混淆处理;
步骤S302:利用自修改代码生成器对二进制混淆后的计算程序进行自修改代码处理;
步骤S303:通过虚拟机保护打包器对自修改代码计算程序进行打包,并输出最终计算程序;
步骤S304:完成计算程序变形处理,使每个计算任务都生成一个一次性程序。
5.如权利要求4所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述步骤S4的具体步骤包括:
步骤S401:时间验证器获取最终计算程序生成的最终计算结果和对应的时间戳;
步骤S402:时间验证器验证时间戳的合法性,并根据预设的时间戳限制条件对时间戳进行检测;
步骤S403:记录并处理超时时间戳和无效时间戳;
步骤S404:若发出信号仍处理失败,时间验证器记录违规行为,并生成报告以供后续审计和分析。
6.如权利要求5所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述步骤S5中对最终计算结果进行解密的具体步骤包括:
步骤S501:获取步骤S202中的本地解密密钥;
步骤S502:准备解密环境,并将本地解密密钥加载到解密环境,得到加载的本地解密密钥;
步骤S503:接收步骤S401中所述的最终计算结果,并使用加载的本地解密密钥对最终计算结果进行解密操作;
步骤S504:完成解密操作,得到数据指纹信息;
步骤S505:将解密得到的数据指纹和本地生成的数据指纹进行对比。
7.如权利要求6所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,包括:生成模块、保护模块、结果验证模块,
所述生成模块,用于生成解密密钥和数据指纹,对加密的计算结果进行解密和验证;
所述保护模块,用于对目标计算程序进行保护,防止被篡改、窃取或非法使用;
所述结果验证模块,用于对比原始计算任务数据和最终解密结果的差异、检查数据完整性。
8.如权利要求7所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述解密密钥和数据指纹生成模块包括:任务拆分单元、密钥生成单元、加密单元,
所述任务拆分单元,用于将原始的计算任务拆分成独立的子计算任务,并将这些子计算任务分配给不同的计算节点进行处理;
所述密钥生成单元,用于生成与子计算任务数据相对应的解密密钥和其它用于加密、解密、验证等操作的密钥,并将生成的解密密钥和其它密钥提供给外包计算结果验证程序;
所述加密单元,用于保护外包计算的原始数据、计算结果和信息的机密性和完整性,防止未经授权的访问、泄露和篡改。
9.如权利要求8所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述计算程序保护模块包括:程序合并单元、对抗逆向分析单元,
所述程序合并单元,通过连接程序的输入和输出端口,将目标计算程序、密钥计算程序和计算结果处理程序合并为一个计算程序;
所述对抗逆向分析单元,通过代码混淆、自修改代码和虚拟机保护,监控程序的状态和行为。
10.如权利要求9所述的一种基于一次性程序的外包计算结果保护方法,其特征在于,所述结果验证模块包括:时间限制检测单元、解密单元,
所述时间限制检测单元,用于对计算程序执行时间进行限制和检测,处理超时情况,防止计算程序被恶意滥用或无限制地使用;
所述解密单元,用于对加密的计算结果进行解密操作,以还原数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311702847.XA CN117828557A (zh) | 2023-12-12 | 2023-12-12 | 一种基于一次性程序的外包计算结果保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311702847.XA CN117828557A (zh) | 2023-12-12 | 2023-12-12 | 一种基于一次性程序的外包计算结果保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117828557A true CN117828557A (zh) | 2024-04-05 |
Family
ID=90518158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311702847.XA Pending CN117828557A (zh) | 2023-12-12 | 2023-12-12 | 一种基于一次性程序的外包计算结果保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117828557A (zh) |
-
2023
- 2023-12-12 CN CN202311702847.XA patent/CN117828557A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100996784B1 (ko) | 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
KR101067399B1 (ko) | 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
JP6370722B2 (ja) | データセンタへのプラットフォームの内包検証 | |
CN101369889B (zh) | 一种对文档进行电子签名的方法 | |
CN100456200C (zh) | 多令牌密封和解封 | |
CN101039186B (zh) | 系统日志的安全审计方法 | |
EP2019992B1 (en) | Method and system of generating immutable audit logs | |
CN109361668A (zh) | 一种数据可信传输方法 | |
US10650139B2 (en) | Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers | |
CN107766724A (zh) | 一种可信计算机平台软件栈功能架构的构建方法 | |
US20050283826A1 (en) | Systems and methods for performing secure communications between an authorized computing platform and a hardware component | |
CN105745661A (zh) | 对权限管理的内容的基于策略的受信任的检测 | |
CN112507363A (zh) | 基于区块链的数据监管方法、装置、设备及存储介质 | |
Nguyen et al. | Cloud-based secure logger for medical devices | |
CN101241528A (zh) | 终端接入可信pda的方法和接入系统 | |
WO2018162060A1 (en) | Methods and devices for attesting an integrity of a virtual machine | |
WO2019199813A2 (en) | Managed high integrity blockchain and blockchain communications that utilize containers | |
CN105933117A (zh) | 一种基于tpm秘钥安全存储的数据加解密装置和方法 | |
CN112865965A (zh) | 一种基于量子密钥的列车业务数据处理方法及系统 | |
CN115549930B (zh) | 登录操作系统的验证方法 | |
CN116881936A (zh) | 可信计算方法及相关设备 | |
CN116599750A (zh) | 一种利用加密技术确保数据变更可追溯的系统和方法 | |
CN113297563B (zh) | 访问片上系统特权资源的方法、装置及片上系统 | |
CN117828557A (zh) | 一种基于一次性程序的外包计算结果保护方法 | |
Stumpf et al. | Towards secure e-commerce based on virtualization and attestation techniques |
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 |