CN114239012A - 一种适用于caa二次开发软件的rsa离线加密技术 - Google Patents
一种适用于caa二次开发软件的rsa离线加密技术 Download PDFInfo
- Publication number
- CN114239012A CN114239012A CN202111534372.9A CN202111534372A CN114239012A CN 114239012 A CN114239012 A CN 114239012A CN 202111534372 A CN202111534372 A CN 202111534372A CN 114239012 A CN114239012 A CN 114239012A
- Authority
- CN
- China
- Prior art keywords
- secondary development
- development software
- caa
- authorization
- rsa
- 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
- 238000005516 engineering process Methods 0.000 title claims abstract description 13
- 238000013475 authorization Methods 0.000 claims abstract description 70
- 238000012795 verification Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 238000005538 encapsulation Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 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
- 238000012360 testing method Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation 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离线加密技术。
背景技术
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二次开发软件的文件目录下添加相应的授权码清单文件;
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二次开发软件通过授权。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534372.9A CN114239012A (zh) | 2021-12-15 | 2021-12-15 | 一种适用于caa二次开发软件的rsa离线加密技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534372.9A CN114239012A (zh) | 2021-12-15 | 2021-12-15 | 一种适用于caa二次开发软件的rsa离线加密技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239012A true CN114239012A (zh) | 2022-03-25 |
Family
ID=80756354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111534372.9A Pending CN114239012A (zh) | 2021-12-15 | 2021-12-15 | 一种适用于caa二次开发软件的rsa离线加密技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239012A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030109973A1 (en) * | 2001-07-17 | 2003-06-12 | Bernard Hensey | Electronic operations and maintenance log and system for an aircraft |
CN103024734A (zh) * | 2012-12-31 | 2013-04-03 | 广东欧珀移动通信有限公司 | 防止Apk被非授权手机安装的加密、解密方法及装置 |
CN103107992A (zh) * | 2013-02-04 | 2013-05-15 | 杭州师范大学 | 面向云存储加密数据共享的多级权限管理方法 |
CN103488949A (zh) * | 2013-09-17 | 2014-01-01 | 上海颐东网络信息有限公司 | 一种电子文档安全保护*** |
CN103491097A (zh) * | 2013-09-30 | 2014-01-01 | 华中师范大学 | 基于公钥密码体制的软件授权*** |
US20160050272A1 (en) * | 2014-08-12 | 2016-02-18 | Eingot Llc | Zero-knowledge environment based social networking engine |
CN107370761A (zh) * | 2017-08-31 | 2017-11-21 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种lca***安全保密管理方法 |
US20180336551A1 (en) * | 2017-05-22 | 2018-11-22 | Hussein Talaat Mouftah | Methods and systems for conjugated authentication and authorization |
CN109416928A (zh) * | 2016-06-07 | 2019-03-01 | 伊路米纳有限公司 | 用于进行二级和/或三级处理的生物信息学***、设备和方法 |
CN109766708A (zh) * | 2017-11-09 | 2019-05-17 | 北京京东尚科信息技术有限公司 | 数据资源的访问方法、***、计算机***及存储介质 |
CN111767606A (zh) * | 2020-05-15 | 2020-10-13 | 成都飞机工业(集团)有限责任公司 | 一种飞机装配工艺文件快速编制方法 |
CN112182699A (zh) * | 2020-09-17 | 2021-01-05 | 中北大学 | 一种基于revit图元模型的信息提取方法 |
CN112417380A (zh) * | 2020-11-24 | 2021-02-26 | 广州华资软件技术有限公司 | 一种基于编译技术的Licence管理*** |
-
2021
- 2021-12-15 CN CN202111534372.9A patent/CN114239012A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030109973A1 (en) * | 2001-07-17 | 2003-06-12 | Bernard Hensey | Electronic operations and maintenance log and system for an aircraft |
CN103024734A (zh) * | 2012-12-31 | 2013-04-03 | 广东欧珀移动通信有限公司 | 防止Apk被非授权手机安装的加密、解密方法及装置 |
CN103107992A (zh) * | 2013-02-04 | 2013-05-15 | 杭州师范大学 | 面向云存储加密数据共享的多级权限管理方法 |
CN103488949A (zh) * | 2013-09-17 | 2014-01-01 | 上海颐东网络信息有限公司 | 一种电子文档安全保护*** |
CN103491097A (zh) * | 2013-09-30 | 2014-01-01 | 华中师范大学 | 基于公钥密码体制的软件授权*** |
US20160050272A1 (en) * | 2014-08-12 | 2016-02-18 | Eingot Llc | Zero-knowledge environment based social networking engine |
CN109416928A (zh) * | 2016-06-07 | 2019-03-01 | 伊路米纳有限公司 | 用于进行二级和/或三级处理的生物信息学***、设备和方法 |
US20180336551A1 (en) * | 2017-05-22 | 2018-11-22 | Hussein Talaat Mouftah | Methods and systems for conjugated authentication and authorization |
CN107370761A (zh) * | 2017-08-31 | 2017-11-21 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种lca***安全保密管理方法 |
CN109766708A (zh) * | 2017-11-09 | 2019-05-17 | 北京京东尚科信息技术有限公司 | 数据资源的访问方法、***、计算机***及存储介质 |
CN111767606A (zh) * | 2020-05-15 | 2020-10-13 | 成都飞机工业(集团)有限责任公司 | 一种飞机装配工艺文件快速编制方法 |
CN112182699A (zh) * | 2020-09-17 | 2021-01-05 | 中北大学 | 一种基于revit图元模型的信息提取方法 |
CN112417380A (zh) * | 2020-11-24 | 2021-02-26 | 广州华资软件技术有限公司 | 一种基于编译技术的Licence管理*** |
Non-Patent Citations (4)
Title |
---|
Q. SCHEITLE等: "Public Review for A First Look at Certification Authority Authorization (CAA)", pages 1 - 14, Retrieved from the Internet <URL:《网页在线公开:https://dl.acm.org/doi/abs/10.1145/3213232.3213235》> * |
WENGUO ZHANG等: "Research on Encryption Technology of CAA Software Based on RSA Algorithm and Hardware Information Extraction", pages 1 - 5, Retrieved from the Internet <URL:《网页在线公开:http:10.1109/ICSIP55141.2022.9886484》> * |
张乐等: "基于CATIA CAA二次开发的MBD数模信息对称技术研究与应用", 《现代制造工程》, no. 6, 18 June 2022 (2022-06-18), pages 49 - 55 * |
龚本灿, 王少蓉: "用ASP开发Internet数据查询***", 《湖北三峡学院学报》, no. 02, 30 March 2000 (2000-03-30), pages 29 - 30 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100499452C (zh) | 一种用于安全发送授权数据的装置和方法 | |
CN101419652B (zh) | 一种软硬件结合的保护程序的方法 | |
US20100303229A1 (en) | Modified counter mode encryption | |
CN102760103A (zh) | 信息处理装置、安全模块、信息处理方法和计算机产品 | |
EP1025503A2 (en) | Reconfigurable secure hardware apparatus and method of operation | |
CN103218549A (zh) | 一种Java源代码加解密的方法及装置 | |
CN101650693A (zh) | 一种移动硬盘的安全控制方法及安全移动硬盘 | |
CN106341228A (zh) | 一种虚拟机迁移方法、***及虚拟机迁入端和迁出端 | |
CN112528236B (zh) | 基于虚拟机的应用软件授权方法 | |
CN105184181A (zh) | 文件的加密方法、解密方法及装置 | |
CN104732159A (zh) | 一种文件处理方法及装置 | |
CN112100582A (zh) | 一种应用强对称加密保护软件分发安全的方法 | |
CN112486607A (zh) | 一种基于软硬件结合的虚拟桌面授权许可方法 | |
CN110245466A (zh) | 软件完整性保护和验证方法、***、设备及存储介质 | |
CN101730886B (zh) | 安全性存储***及其使用方法 | |
CN107257282A (zh) | 一种基于rc4算法的代码全包加密方法 | |
CN104090772A (zh) | 一种生成安卓安装包apk的方法及装置 | |
CN114239012A (zh) | 一种适用于caa二次开发软件的rsa离线加密技术 | |
CN101167301A (zh) | 机密信息处理用主机及机密信息处理方法 | |
CN104392153A (zh) | 一种软件保护方法及*** | |
CN113542303B (zh) | 秘钥在非可信环境的软件导入***及方法 | |
CN103378966A (zh) | 安全动态片上密钥编程 | |
CN107070658B (zh) | 一种***加密认证机制的改进方法 | |
CN112016058B (zh) | 一种基于协同验证的软件保护机制及数据交换方法 | |
CN102087689B (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 |