CN104077502A - 一种软加密方式的软件保护方法 - Google Patents

一种软加密方式的软件保护方法 Download PDF

Info

Publication number
CN104077502A
CN104077502A CN201310099601.8A CN201310099601A CN104077502A CN 104077502 A CN104077502 A CN 104077502A CN 201310099601 A CN201310099601 A CN 201310099601A CN 104077502 A CN104077502 A CN 104077502A
Authority
CN
China
Prior art keywords
software
client
server
hardware information
hardware
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
Application number
CN201310099601.8A
Other languages
English (en)
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.)
SUZHOU JINGYIHUI INFORMATION TECHNOLOGY Co Ltd
Original Assignee
SUZHOU JINGYIHUI INFORMATION 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 SUZHOU JINGYIHUI INFORMATION TECHNOLOGY Co Ltd filed Critical SUZHOU JINGYIHUI INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310099601.8A priority Critical patent/CN104077502A/zh
Publication of CN104077502A publication Critical patent/CN104077502A/zh
Pending legal-status Critical Current

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提出了一种软加密方式的软件保护方法,该方法包括以下步骤:S1.软件下载:客户端在授权后通过网络向软件提供商的服务器发送软件下载请求,服务器返回软件基本元件A部分至客户端;S2.硬件信息传递:客户端执行软件基本元件A部分程序的安装,同时将自身硬件信息传递给服务器;S3.加密:服务器将客户端硬件信息与软件核心代码A′部分结合,动态编译成dll格式的文件并传递给客户端;S4.检查:客户端调用dll文件,dll文件中的函数检查文件中的硬件信息与当前客户端是否匹配。本发明在加密时增加了动态编译的环节,难破解,可以有效防止盗版;本发明无需额外的硬件,无物流和硬件维护等成本,避免了硬加密成本高的缺陷。

Description

一种软加密方式的软件保护方法
技术领域
本发明涉及信息安全领域,特别涉及一种软加密方式的软件保护方法。
背景技术
软件厂商在研发或销售软件产品的过程中为了保护软件的安全性、保护客户和自身的利益和防止盗版,总会采取尽可能经济而有效的手段对软件进行加密。现有软件保护方式一般分为硬加密和软加密。
所谓硬加密就是通过硬件和软件结合的方式来实现软件加密,加密后软件执行时需要访问相应的硬件,如加密卡、软件狗、智能化软件狗、智能型软件狗等。硬加密加密强度高、加密性能好,加密方式灵活;但是硬加密也存在一定的弊端:硬件的存在带来了生产、物流、安装、维护等成本;无法实现基于互联网的电子化发行;安装驱动和客户端组件以及额外的硬件设备影响了用户的使用体验;难以进行升级、跟踪及售后管理。
与硬加密相对应的方式为软加密,软加密指不需要额外的硬件的软件保护方式,具体来说主要有以下几种:
软件不与机器绑定,用序列号或许可证激活软件,这种方式一般有软件开发者自行设计,技术含量参差不齐,基本起不了保护作用,容易破解。
软件与机器绑定,绑定客户端机器的硬件特征,如CPU型号、BIOS、硬盘序列号、网卡MAC地址,这种保护方式的许可证文件是在获得了机器的硬件特征以后与该机器绑定后发送给客户的,破解难度要大得多。但因为许可证文件是存在本机的,还是可以被破解的。
软件与授权服务器绑定,又称云授权,通过网络给要保护软件实时在线授权的方式。客户的数据信息不是保存在公司内部而是利用云存储保存在互联网,该方式遭到信息保密意识强的客户的抵触特别是传统行业用户的强烈抵触。
发明内容
针对现有的软件保护方式中存在的问题,本发明提出了一种软加密方式的软件保护方法,客户端通过网络下载软件的基本元件A部分,客户端初步安装软件的基本元件A部分并将自身硬件信息传递给服务器,服务器编译客户端硬件信息和软件的核心代码A′部分生成dll文件并传给客户端,客户端调用dll文件检查硬件信息并再次安装软件。
为实现上述发明内容,本发明采用了一种软加密方式的软件保护方法,软件由基本元件A和核心代码A′两部分组成,该方法包括以下步骤:
S1.软件下载:客户端在授权后通过互联网向软件提供商的服务器发送软件下载请求,服务器返回软件基本元件A部分至客户端;
S2.硬件信息传递:客户端执行软件基本元件A部分程序的安装,同时将自身硬件信息传递给服务器;
S3.加密:服务器将客户端硬件信息与软件核心代码A′部分结合,动态编译成dll(动态链接库)格式的文件并传递给客户端;
S4.检查:客户端调用dll文件,dll文件中的函数检查文件中的硬件信息与当前客户端是否匹配,若匹配,调用软件的核心功能程序,安装完成,软件所有功能可用;否则,检查失败,软件部分可用或不可用。
进一步,所述软件基本元件A部分为软件的基础部分,内含软件的大部分功能程序,在客户端可以进行软件初步安装。
进一步,所述软件基本元件A部分还包括硬件读取程序,在客户端初步安装时该程序被触发,读入并向服务器端传递客户端的硬件信息。
进一步,所述软件核心代码A′部分为软件的关键部分,内含软件的核心功能程序。
进一步,所述软件核心代码A′部分还包括检查函数,检查步骤S4中硬件信息的匹配性。
进一步,所述软件提供商的服务器含编译器,动态编译接收到的客户端硬件信息和软件核心代码A′部分为dll文件。
进一步,所述客户端硬件信息包括但不限于CPU型号、BIOS、硬盘序列号、网卡MAC地址。
进一步,所述客户端包括但不限于服务器、台式机、笔记本电脑、平板电脑、智能手机。
与现有技术相比,本发明在加密时增加了动态编译的环节,难破解,实现了增强软件安全性的技术效果,可以有效防止盗版;本发明无需额外的硬件,无物流和硬件维护等成本,避免了硬加密成本高的缺陷;本发明实现了基于互联网的软件和客户端硬件信息传递,安装方便快捷,增强用户使用体验。
附图说明
图1为本发明所提供的一种软加密方式的软件保护方法的网络环境图;
图2a,2b为本发明所提供的一种软加密方式的软件保护方法的方块图;
图3为本发明所提供的一种软加密方式的软件保护方法的流程图。
具体实施方式
为了使本发明所提到的一种软加密方式的软件保护方法及其优点更加清楚明确,以下参照附图对本发明进行更进一步的详细说明。
图1为本发明所提供的一种软加密方式的软件保护方法的网络环境图,如图1所示,该网络环境构成如下:
软件提供商服务器1,该服务器含有软件基本元件A部分和核心代码A′部分,以及用于动态编译加密的编译器。由于软件提供商的差异,该服务器可以是由一台以上的服务器组构成的。需要说明的是本发明要用到的是服务器的功能,服务器的外形是可以变化的。
互联网2,信息的传递是通过互联网2来传递的,只有网络正常,软件提供商服务器1和客户端3才能实现信息传递,这也消除了软件提供商和软件使用者的距离问题。后续软件使用不要求互联网2实时连接。
客户端3,由图1可以看到,客户端可以是台式机、笔记本电脑、平板电脑、智能手机、或者直接是用户服务器,用户可以使用一种或几种类型的客户端,客户端3通过互联网2与软件提供商服务器1实现连接。
图2a,2b为本发明所提供的一种软加密方式的软件保护方法的方块图,图2a为软件提供商服务器1的方块图,由图1知软件提供商服务器1,该服务器中有与本发明相关的两个部分:软件11,即是客户端3要从软件提供商服务器1下载使用的目标软件;编译器12,用来动态编译获得的客户端3的硬件信息和软件11核心代码A′部分,实现软件加密。
图2b为软件11的方块图,软件11由基本元件A部分111和核心代码A′部分112。
基本元件A部分111在软件提供商服务器1接收到客户端3的访问请求后被传递至客户端3。该部分由硬件读取程序1111和大部分功能程序1112两部分构成,大部分功能程序1112是软件的基础部分,可以实现软件的初步安装;硬件读取程序1111在软件初步安装时被触发,自动读入客户端3的硬件信息,并将硬件信息通过互联网2传递至软件提供商服务器1。
核心代码A′部分112在软件提供商服务器1接收到客户端3的硬件信息后,经过编译器12动态编译成dll格式的文件后再传递给客户端3的。该部分由检查函数1121和核心功能程序1122两部分构成,检查函数1121首先检测dll文件中的硬件信息与当前客户端3的硬件信息是否匹配,若匹配,接着安装核心功能程序1122,安装完成,否则,检查失败,软件11部分可用或不可用。
图3为本发明所提供的一种软加密方式的软件保护方法的流程图,该方法的主要流程步骤如下:
步骤41,软件下载:客户端在授权后通过互联网向软件提供商的服务器发送软件下载请求,服务器返回软件基本元件A部分至客户端。
为避免无效或恶意下载,客户端在下载软件前要通过服务器授权,例如:服务器端提供用户注册功能,客户端在注册完成通过授权后执行软件下载请求。更进一步,授权时服务器可以自动设置授权期限,限定客户端的软件使用时间等。
步骤42,硬件信息传递:客户端执行软件基本元件A部分程序的安装,同时将自身硬件信息传递给服务器。
软件基本元件A部分包含软件的大部分基本功能程序和硬件读取程序。在客户端接收到服务器传递的软件基本元件A部分后,开始执行软件的初步安装,同时,硬件读取程序被触发,读取客户端的硬件信息、中的一种或几种,例如:CPU型号、BIOS、硬盘序列号、网卡MAC地址,并将该硬件信息通过互联网传递至服务器端。
步骤43,加密:服务器将客户端硬件信息与软件核心代码A′部分结合,动态编译成dll格式的文件并传递给客户端。
为保证软件信息安全,服务器端还保留有软件核心代码A′部分,另外,服务器端还有编译器,用于动态编译信息。在接收到步骤42传递的客户端硬件信息时,编译器自动将硬件信息和软件核心代码A′部分动态编译成dll格式的文件。dll文件可以用多种编程语言来编写,有助于节省内存,可解决平台差异等优点。
步骤44,检查:客户端调用dll文件,dll文件中的函数检查文件中的硬件信息与当前客户端是否匹配,若匹配,调用软件的核心功能程序,安装完成,软件所有功能可用;否则,检查失败,软件部分可用或不可用。
软件使用者每次使用软件需调用dll文件,检查函数检查dll文件中的硬件信息与当前客户端是否匹配,若匹配则安装核心功能部分,安装顺利完成;若软件使用者把步骤41中的软件基本元件A部分复制到其他客户端安装,使用时,在调用dll文件后检查函数可以很快检查到硬件信息不匹配,软件安装不能全部完成,软件部分可用或不可用。
进一步,在检查函数检测到硬件信息不匹配时,可以做出进一步的扩展,例如弹出信息提示或警告提醒。
进一步,服务器端可以定期或不定期放置软件的更新升级文件,客户端在需要时通过互联网与服务器连接完成更新。
以上所述是对本发明的较佳的具体实施方式,本技术领域人员应当理解,所述实施方式并非限定本发明的保护范围。在不脱离本发明的精神实质和原则下,在细节方面可以进行变化或者修改,均应涵盖在本发明的权利要求范围之内。

Claims (8)

1.一种软加密方式的软件保护方法,软件由基本元件A和核心代码A′两部分组成,其特征在于,该方法包括以下步骤:
S1.软件下载:客户端在授权后通过互联网向软件提供商的服务器发送软件下载请求,服务器返回软件基本元件A部分至客户端;
S2.硬件信息传递:客户端执行软件基本元件A部分程序的安装,同时将自身硬件信息传递给服务器;
S3.加密:服务器将客户端硬件信息与软件核心代码A′部分结合,动态编译成dll(动态链接库)格式的文件并传递给客户端;
S4.检查:客户端调用dll文件,dll文件中的函数检查文件中的硬件信息与当前客户端是否匹配,若匹配,调用软件的核心功能程序,安装完成,软件所有功能可用;否则,检查失败,软件部分可用或不可用。
2.如权利要求1所述的一种软加密方式的软件保护方法,所述软件基本元件A部分为软件的基础部分,内含软件的大部分功能程序,在客户端可以进行软件初步安装。
3.如权利要求1或2所述的一种软加密方式的软件保护方法,所述软件基本元件A部分还包括硬件读取程序,在客户端初步安装时该程序被触发,读入并向服务器端传递客户端的硬件信息。
4.如权利要求1所述的一种软加密方式的软件保护方法,所述软件核心代码A′部分为软件的关键部分,内含软件的核心功能程序。
5.如权利要求1或4所述的一种软加密方式的软件保护方法,所述软件核心代码A′部分还包括检查函数,检查步骤S4中硬件信息的匹配性。
6.如权利要求1所述的一种软加密方式的软件保护方法,所述软件提供商的服务器含编译器,动态编译接收到的客户端硬件信息和软件核心代码A′部分为dll文件。
7.如权利要求1所述的一种软加密方式的软件保护方法,所述客户端硬件信息包括但不限于CPU型号、BIOS、硬盘序列号、网卡MAC地址。
8.如权利要求1所述的一种软加密方式的软件保护方法,所述客户端包括但不限于服务器、台式机、笔记本电脑、平板电脑、智能手机。
CN201310099601.8A 2013-03-27 2013-03-27 一种软加密方式的软件保护方法 Pending CN104077502A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310099601.8A CN104077502A (zh) 2013-03-27 2013-03-27 一种软加密方式的软件保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310099601.8A CN104077502A (zh) 2013-03-27 2013-03-27 一种软加密方式的软件保护方法

Publications (1)

Publication Number Publication Date
CN104077502A true CN104077502A (zh) 2014-10-01

Family

ID=51598753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310099601.8A Pending CN104077502A (zh) 2013-03-27 2013-03-27 一种软加密方式的软件保护方法

Country Status (1)

Country Link
CN (1) CN104077502A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI636375B (zh) * 2016-04-06 2018-09-21 中華電信股份有限公司 Software program authorization method and authorization tool application
CN112417380A (zh) * 2020-11-24 2021-02-26 广州华资软件技术有限公司 一种基于编译技术的Licence管理系统
CN113342356A (zh) * 2021-05-18 2021-09-03 浪潮软件股份有限公司 一种客户端框架运行及管理配置方法
CN115964681A (zh) * 2023-03-16 2023-04-14 北京艾瑞数智科技有限公司 目标应用程序的证书文件的生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1606027A (zh) * 2003-10-10 2005-04-13 深圳市派思数码科技有限公司 利用指纹进行软件版权保护的方法及其应用装置
CN1996335A (zh) * 2006-12-20 2007-07-11 江苏银河电子股份有限公司 终端机中嵌入式软件的远程授权方法
CN101719210A (zh) * 2009-12-25 2010-06-02 武汉大学 基于linux平台数字版权管理的文件使用控制方法
US20100146292A1 (en) * 2008-12-09 2010-06-10 Haixia Shi Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1606027A (zh) * 2003-10-10 2005-04-13 深圳市派思数码科技有限公司 利用指纹进行软件版权保护的方法及其应用装置
CN1996335A (zh) * 2006-12-20 2007-07-11 江苏银河电子股份有限公司 终端机中嵌入式软件的远程授权方法
US20100146292A1 (en) * 2008-12-09 2010-06-10 Haixia Shi Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content
CN101719210A (zh) * 2009-12-25 2010-06-02 武汉大学 基于linux平台数字版权管理的文件使用控制方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI636375B (zh) * 2016-04-06 2018-09-21 中華電信股份有限公司 Software program authorization method and authorization tool application
CN112417380A (zh) * 2020-11-24 2021-02-26 广州华资软件技术有限公司 一种基于编译技术的Licence管理系统
CN112417380B (zh) * 2020-11-24 2024-05-17 广州华资软件技术有限公司 一种基于编译技术的Licence管理系统
CN113342356A (zh) * 2021-05-18 2021-09-03 浪潮软件股份有限公司 一种客户端框架运行及管理配置方法
CN115964681A (zh) * 2023-03-16 2023-04-14 北京艾瑞数智科技有限公司 目标应用程序的证书文件的生成方法

Similar Documents

Publication Publication Date Title
CN105760716B (zh) 电子证书管理
US20210019378A1 (en) Digital Rights Management System and Method
CN102760219B (zh) 一种Android平台软件保护系统、方法及设备
US10503931B2 (en) Method and apparatus for dynamic executable verification
CN101263489A (zh) 安全机器计数
EP3127034A1 (en) Software protection
CN101977183B (zh) 适用多类终端设备的高可信数字内容服务方法
KR20060089632A (ko) 컴퓨팅 장치상에서 다수의 특성을 포함하는 어플리케이션을사용하기 위한 사용 라이센스를 획득하는 방법 및 그러한어플리케이션과 사용 라이센스
CN111475782B (zh) 基于sgx软件扩展指令的api密钥保护方法及系统
KR20200000448A (ko) 소프트웨어 활성화 및 라이센스 추적을 위한 시스템 및 방법
CN101872404A (zh) 一种保护Java软件程序的方法
US20130283396A1 (en) System and method for limiting execution of software to authorized users
KR100755708B1 (ko) 임시 라이센스를 사용하여 컨텐츠를 임시로 사용하는 방법및 장치
Cilardo et al. Secure distribution infrastructure for hardware digital contents
CN104077502A (zh) 一种软加密方式的软件保护方法
CN106326733A (zh) 管理移动终端中应用的方法和装置
WO2008108584A1 (en) Method and apparatus for digital rights management for use in mobile communication terminal
US8516273B2 (en) Porting digital rights management service to multiple computing platforms
KR101604892B1 (ko) 안드로이드 기반 어플리케이션의 부정사용 방지 방법 및 장치
KR100716719B1 (ko) 디.알.엠 기반의 패키지 컨텐츠 제공 방법 및 그 장치
AU2015202830B2 (en) Electronic license management
CN112468544A (zh) 基于中间件的快递数据传输方法和中间件
US8695062B2 (en) Authentication/authorization protocol for media processing components
Gerrits Implementing a DRM-Preserving Digital Content Redistribution System
KR20110111988A (ko) 휴대용 단말기에 설치된 애플리케이션 실행 제어 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141001

WD01 Invention patent application deemed withdrawn after publication