CN114239012B - 一种适用于caa二次开发软件的rsa离线加密技术 - Google Patents

一种适用于caa二次开发软件的rsa离线加密技术 Download PDF

Info

Publication number
CN114239012B
CN114239012B CN202111534372.9A CN202111534372A CN114239012B CN 114239012 B CN114239012 B CN 114239012B CN 202111534372 A CN202111534372 A CN 202111534372A CN 114239012 B CN114239012 B CN 114239012B
Authority
CN
China
Prior art keywords
secondary development
development software
caa
rsa
authorization
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
CN202111534372.9A
Other languages
English (en)
Other versions
CN114239012A (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.)
Chengdu Aircraft Industrial Group Co Ltd
Original Assignee
Chengdu Aircraft Industrial Group 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 Chengdu Aircraft Industrial Group Co Ltd filed Critical Chengdu Aircraft Industrial Group Co Ltd
Priority to CN202111534372.9A priority Critical patent/CN114239012B/zh
Publication of CN114239012A publication Critical patent/CN114239012A/zh
Application granted granted Critical
Publication of CN114239012B publication Critical patent/CN114239012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种适用于CAA二次开发软件的RSA离线加密技术,涉及信息安全技术领域。包括:通过授权方在所述CAA二次开发软件的Addin模块和Command模块写入授权验证函数模块,并在所述CAA二次开发软件的文件目录下添加相应的授权码清单文件;用户对用户计算机硬件信息进行加密,所述授权方解密后将所述用户计算机硬件信息写入所述授权清单文件,并再次加密,完成所述CAA二次开发软件的加密封装,再将加密封装后的所述CAA二次开发软件离线发布给所述用户,实现了对CAA二次开发软件的多点位加密,提高了反编译破解的难度,并且信息离线传递过程中的信息经过RSA算法严格加密,具有加解密运行速度快、加密授权流程简单、破解难度高、安全可靠的特点。

Description

一种适用于CAA二次开发软件的RSA离线加密技术
技术领域
本发明涉及信息安全技术领域,特备涉及一种适用于CAA二次开发软件的RSA离线加密技术。
背景技术
CATIA是由法国达索公司推出的一套功能强大的三维CAD/CAM/CAE软件系统,广泛应用于航空航天、汽车和工程机械等诸多领域。二次开发是实现对软件的用户化和专业化的有效手段,对充分发挥CATIA软件的使用效率具有十分重要的作用。随着计算机集成制造技术的应用,利用二次开发技术,以CATIA为平台,开发专用的设计模块,实现软件客户化定制,将有效提高设计的自动化程度,从而提高工作效率。
组件应用框架(CAA)是CATIA的一整套C++函数库,为用户对CATIA进行二次开发提供了强有力的工具。基于CAA进行二次开发的软件通常由FrameWork(框架)、Command(指令)、Addin(插件)三部分模块组成。其中FrameWork模块负责定义CAA软件引用的库函数及整体框架,Addin模块负责CAA软件的通信(将CAA软件工具条加入CATIA特定的工作台),Command模块负责具体实现各项功能。
CAA软件的发布方法有两种:一种是将CAA软件文件目录的intel_a文件夹放在要发布的机器上的某一路径下,通过CATIA的环境编辑器添加intel_a文件夹所在的路径,同时发布运行快捷方式;另一种是直接将CAA软件的intel_a文件夹与CATIA安装路径下的intel_a文件夹合并,即可在运行CATIA时自动加载CAA软件。两种方法都没有提供相应的授权验证环节,不利于保护CAA软件的知识产权和软件发布者的权利。此外,虽然CAA提供的函数库包含了几乎可以实现CATIA所有功能的函数,但并未提供软件授权验证类的功能函数,因此,需要开发一项适用于CAA软件的加密技术。
目前,通常对软件的加密授权方法是在软件安装时设置授权验证环节,例如输入唯一的产品安装序列号,但使用这种方法进行加密,需要事先在软件代码中写入大量序列号信息,并且为了保护序列号的唯一性还需要软件在线验证序列号,不适用于定制化程度高、应用范围小的CAA软件,而且一般是用于企业内网。另外一种方法是在软件运行前的入口设置授权验证环节,将当前计算机某些硬件指纹信息与附带的授权清单文件进行匹配从而获得授权验证,但这种方法虽然授权验证速度快,但是加密点位单一,容易被反编译破解,此外该方法对授权清单文件中信息的加密要求极高。
发明内容
本发明的目的在于克服现有技术中所存在的上述对软件的加密授权方法不适用于定制化程度高、应用范围小的CAA软件,并且加密点位单一,容易被反编译破解的不足,提供一种适用于CAA二次开发软件的RSA离线加密技术。
为了实现上述发明目的,本发明提供了以下技术方案:
一种适用于CAA二次开发软件的RSA离线加密技术,包括:
S1:授权方在所述CAA二次开发软件的Command模块和Addin模块写入授权验证函数模块,并在所述CAA二次开发软件的文件目录下添加相应的授权码清单文件;
S2:用户使用计算机识别码生成程序提取用户计算机硬件信息,并将所述用户计算机硬件信息使用RSA公钥一进行加密,所述用户将加密信息离线传递给所述授权方;
S3:所述授权方收到所述加密信息后,使用授权管理平台程序,通过RSA私钥一进行解密,从而获得所述用户计算机硬件信息;
S4:所述授权方使用所述授权管理平台程序,将获得的所述用户计算机硬件信息,通过RSA公钥二进行加密并写入所述授权码清单文件,完成所述CAA二次开发软件的加密封装。
采用上述技术方案,实现了对CAA二次开发软件的多点位加密,提高了反编译破解的难度,并且信息离线传递过程中的信息经过RSA算法严格加密,具有加解密运行速度快、加密授权流程简单、破解难度高、安全可靠的特点。
作为本发明的优选方案,所述步骤S1,所述授权验证函数模块包含RSA私钥二解密算法和计算机硬件信息提取算法。
作为本发明的优选方案,所述步骤S2还包括,所述用户计算机硬件信息加密后,显示在计算机识别码生成程序界面。
作为本发明的优选方案,所述用户计算机硬件信息包括:硬盘物理序列号和CPUID。
作为本发明的优选方案,还包括以下步骤:所述授权方将加密封装后的所述CAA二次开发软件离线发布给所述用户。
作为本发明的优选方案,所述CAA二次开发软件离线发布给所述用户后,还包括以下步骤:
S01:所述用户安装所述CAA二次开发软件;
S02:在所述CAA二次开发软件首次运行前,所述Addin模块进行授权验证;
S03:在所述CAA二次开发软件首次运行期间,启动所述Command模块中不同的功能模块之前,所述Command模块进行授权验证。
作为本发明的优选方案,所述步骤S02和所述步骤S03中的所述授权验证的步骤包括以下流程:
所述Addin模块和所述Command模块分别检查所述授权码清单文件是否缺失,若缺失则所述CAA二次开发软件授权不通过;若所述授权码清单文件存在,则所述CAA二次开发软件开始遍历所述授权码清单文件,并通过所述授权验证函数模块进行解密,同时与提取的当前计算机硬件信息进行匹配,匹配成功则所述CAA二次开发软件通过授权。
采用上述技术方案,实现了所述CAA二次开发软件运行全周期的授权验证,提高了反编译难度。
与现有技术相比,本发明的有益效果在于:通过授权方在所述CAA二次开发软件的Addin模块和Command模块写入授权验证函数模块,并在所述CAA二次开发软件的文件目录下添加相应的授权码清单文件;用户对用户计算机硬件信息进行加密,授权方对所述用户硬件信息进行解密后将所述用户计算机硬件信息写入所述授权清单文件,并再次加密,完成所述CAA二次开发软件的加密封装;再将加密封装后的所述CAA二次开发软件离线发布给所述用户,并通过所述Addin模块和所述Command模块进行授权验证,实现了对所述CAA二次开发软件的多点位加密以及所述CAA二次开发软件运行全周期的授权验证,提高了反编译破解的难度,并且信息离线传递过程中的信息经过RSA算法严格加密,具有加解密运行速度快、加密授权流程简单、破解难度高、安全可靠的特点。
附图说明
图1为本发明实施例1所述的一种适用于CAA二次开发软件的RSA离线加密技术的框架图;
图2为本发明实施例1所述的一种适用于CAA二次开发软件的RSA离线加密技术的CAA二次开发软件的RSA多点位加密示意图。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
实施例1
本实施例公开了一种适用于CAA二次开发软件的RSA离线加密技术,如图1和图2所示,结合计算机硬件信息提取技术,实现了对“焊接夹具快速设计”CAA软件的多点加密,其中RSA的密钥位数为1024bit。具体包括以下步骤:
S1:首先授权方在所述CAA二次开发软件的Command模块的BuildGraph()函数模块,以及Addin模块的CreateToolbars()函数模块中,写入包含了RSA私钥二解密算法和计算机硬件信息提取算法的授权验证函数模块AuthorizationVerify(),完成对所述CAA二次开发软件的多点加密,并在所述CAA软件的文件目录下添加相应的授权码清单文件KeyList.dat;
所述授权验证函数模块返回值为1为授权验证成功,返回值为0为未授权,返回值为-1为CATIA运行程序所在路径下丢失KeyList.dat文件。
S2:用户(待授权方)使用计算机识别码生成程序提取用户计算机硬件信息(硬盘物理序列号和CPUID),并将所述用户计算机硬件信息使用RSA公钥一进行加密,所述用户计算机硬件信息经过RSA公钥一加密后,显示在计算机识别码生成程序界面,所述用户将加密信息离线传递给所述授权方;
S3:所述授权方收到所述加密信息后,使用授权管理平台程序,通过RSA私钥一进行解密,从而获得所述用户计算机硬件信息;
S4:所述授权方使用所述授权管理平台程序,将获得的所述用户计算机硬件信息,通过RSA公钥二进行加密并写入所述授权码清单文件,完成所述CAA二次开发软件的加密封装;
具体的,还包括以下步骤:所述授权方将加密封装后的所述CAA二次开发软件离线发布给所述用户。
具体的,所述CAA二次开发软件离线发布给所述用户后,还包括以下步骤:
S01:所述用户安装所述CAA二次开发软件;
S02:在所述CAA二次开发软件首次运行前,所述Addin模块进行授权验证;
S03:在所述CAA二次开发软件首次运行期间,启动所述Command模块中不同的功能模块之前,所述Command模块进行授权验证。
具体的,所述步骤S02和所述步骤S03中的所述授权验证的步骤包括以下流程:
所述Addin模块和所述Command模块分别检查所述授权码清单文件是否缺失,若缺失则所述CAA二次开发软件授权不通过;若所述授权码清单文件存在,则所述CAA二次开发软件开始遍历所述授权码清单文件,并通过所述授权验证函数模块进行解密,同时与提取的当前计算机硬件信息进行匹配,匹配成功则所述CAA二次开发软件通过授权。
采用上述技术方案,实现了对所述CAA二次开发软件的多点位加密以及所述CAA二次开发软件运行全周期的授权验证,提高了反编译破解的难度,并且信息离线传递过程中的信息经过RSA算法严格加密,具有加解密运行速度快、加密授权流程简单、破解难度高、安全可靠的特点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种适用于CAA二次开发软件的RSA离线加密技术,其特征在于,包括以下步骤:
S1:授权方在所述CAA二次开发软件的Command模块和Addin模块写入授权验证函数模块,并在所述CAA二次开发软件的文件目录下添加相应的授权码清单文件;
具体的,写入授权验证函数模块操作包括以下流程:在所述CAA二次开发软件的Command模块的BuildGraph()函数模块,以及Addin模块的CreateToolbars()函数模块中,写入包含RSA私钥二解密算法和计算机硬件信息提取算法的授权验证函数模块AuthorizationVerify(),完成对所述CAA二次开发软件的多点加密;
S2:用户使用计算机识别码生成程序提取用户计算机硬件信息,并将所述用户计算机硬件信息使用RSA公钥一进行加密,所述用户将加密信息离线传递给所述授权方;
S3:所述授权方收到所述加密信息后,使用授权管理平台程序,通过RSA私钥一进行解密,从而获得所述用户计算机硬件信息;
S4:所述授权方使用所述授权管理平台程序,将获得的所述用户计算机硬件信息,通过RSA公钥二进行加密并写入所述授权码清单文件,完成所述CAA二次开发软件的加密封装。
2.根据权利要求1所述的一种适用于CAA二次开发软件的RSA离线加密技术,其特征在于,所述步骤S1,所述授权验证函数模块包含RSA私钥二解密算法和计算机硬件信息提取算法。
3.根据权利要求1所述的一种适用于CAA二次开发软件的RSA离线加密技术,其特征在于,所述步骤S2还包括,所述用户计算机硬件信息加密后,显示在计算机识别码生成程序界面。
4.根据权利要求1所述的一种适用于CAA二次开发软件的RSA离线加密技术,其特征在于,所述用户计算机硬件信息包括:硬盘物理序列号和CPUID。
5.根据权利要求1所述的一种适用于CAA二次开发软件的RSA离线加密技术,其特征在于,还包括以下步骤:所述授权方将加密封装后的所述CAA二次开发软件离线发布给所述用户。
6.根据权利要求5所述的一种适用于CAA二次开发软件的RSA离线加密技术,其特征在于,所述CAA二次开发软件离线发布给所述用户后,还包括以下步骤:
S01:所述用户安装所述CAA二次开发软件;
S02:在所述CAA二次开发软件每次运行前,所述Addin模块进行授权验证;
S03:在所述CAA二次开发软件每次运行期间,启动所述Command模块中不同的功能模块之前,所述Command模块进行授权验证。
7.根据权利要求6所述的一种适用于CAA二次开发软件的RSA离线加密技术,其特征在于,所述步骤S02和所述步骤S03中的所述授权验证的步骤包括以下流程:
所述Addin模块和所述Command模块分别检查所述授权码清单文件是否缺失,若缺失则所述CAA二次开发软件授权不通过;若所述授权码清单文件存在,则所述CAA二次开发软件开始遍历所述授权码清单文件,并通过所述授权验证函数模块进行解密,同时与提取的当前计算机硬件信息进行匹配,匹配成功则所述CAA二次开发软件通过授权。
CN202111534372.9A 2021-12-15 2021-12-15 一种适用于caa二次开发软件的rsa离线加密技术 Active CN114239012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111534372.9A CN114239012B (zh) 2021-12-15 2021-12-15 一种适用于caa二次开发软件的rsa离线加密技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111534372.9A CN114239012B (zh) 2021-12-15 2021-12-15 一种适用于caa二次开发软件的rsa离线加密技术

Publications (2)

Publication Number Publication Date
CN114239012A CN114239012A (zh) 2022-03-25
CN114239012B true CN114239012B (zh) 2024-07-12

Family

ID=80756354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111534372.9A Active CN114239012B (zh) 2021-12-15 2021-12-15 一种适用于caa二次开发软件的rsa离线加密技术

Country Status (1)

Country Link
CN (1) CN114239012B (zh)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IES20010666A2 (en) * 2001-07-17 2002-11-13 Aircraft Man Technologies Ltd An electronic operations and maintenance log and system for an aircraft
CN103024734B (zh) * 2012-12-31 2015-08-19 广东欧珀移动通信有限公司 防止Apk被非授权手机安装的加密、解密方法及装置
CN103107992B (zh) * 2013-02-04 2015-06-17 杭州师范大学 面向云存储加密数据共享的多级权限管理方法
CN103488949B (zh) * 2013-09-17 2016-08-17 上海颐东网络信息有限公司 一种电子文档安全保护系统
CN103491097B (zh) * 2013-09-30 2016-07-13 华中师范大学 基于公钥密码体制的软件授权系统
EP3180768B1 (en) * 2014-08-12 2020-04-22 Eingot LLC A zero-knowledge environment based social networking engine
RU2750706C2 (ru) * 2016-06-07 2021-07-01 Иллюмина, Инк. Биоинформационные системы,устройства и способы выполнения вторичной и/или третичной обработки
CA3005598C (en) * 2017-05-22 2022-05-24 Hussein Talaat Mouftah Methods and systems for conjugated authentication and authorization
CN107370761B (zh) * 2017-08-31 2020-12-01 中国航空工业集团公司沈阳飞机设计研究所 一种lca系统安全保密管理方法
CN109766708B (zh) * 2017-11-09 2021-04-30 北京京东尚科信息技术有限公司 数据资源的访问方法、系统、计算机系统及存储介质
CN111767606A (zh) * 2020-05-15 2020-10-13 成都飞机工业(集团)有限责任公司 一种飞机装配工艺文件快速编制方法
CN112182699B (zh) * 2020-09-17 2022-11-18 中北大学 一种基于revit图元模型的信息提取方法
CN112417380B (zh) * 2020-11-24 2024-05-17 广州华资软件技术有限公司 一种基于编译技术的Licence管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于CATIA CAA二次开发的MBD数模信息对称技术研究与应用;张乐等;《现代制造工程》;20220618(第6期);第49-55页 *

Also Published As

Publication number Publication date
CN114239012A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
US20070179891A1 (en) Security control method for data transmission process of software protection apparatus and apparatus thereof
CN102737202B (zh) 利用迭代加密/解密密钥更新的指令加密/解密设备和方法
CN101650693B (zh) 一种移动硬盘的安全控制方法及安全移动硬盘
US20120278608A1 (en) Information processing apparatus, secure module, information processing method and computer product
CN112486607B (zh) 一种基于软硬件结合的虚拟桌面授权许可方法
CN105184181B (zh) 文件的加密方法、解密方法及装置
CN109033869A (zh) 加密文件系统挂载方法及装置
EP1025503A2 (en) Reconfigurable secure hardware apparatus and method of operation
CN104318135A (zh) 一种基于可信执行环境的Java代码安全动态载入方法
EP2140392A1 (en) System and method for protecting numerical control codes
CN105468940A (zh) 软件保护方法及装置
CN107085676A (zh) 软硬件结合的多维度的软件知识产权保护方法
CN115730339B (zh) 一种基于ide源码保护的插件代码防泄密方法及系统
CN112528236A (zh) 基于虚拟机的应用软件授权方法
CN101777108A (zh) 一种可执行exe文件的加密方法
CN114239012B (zh) 一种适用于caa二次开发软件的rsa离线加密技术
CN107257282A (zh) 一种基于rc4算法的代码全包加密方法
CN102289607A (zh) Usb装置验证系统及方法
CN101167301B (zh) 机密信息处理用主机及机密信息处理方法
CN101739532B (zh) 根据工作流来处理数字内容的方法和系统
CN113542303B (zh) 秘钥在非可信环境的软件导入系统及方法
CN112016058B (zh) 一种基于协同验证的软件保护机制及数据交换方法
CN103377327A (zh) Php程序保护方法及系统
CN107070658B (zh) 一种系统加密认证机制的改进方法
CN111611603B (zh) 一种sata接口的安全量产控制设备

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