CN102957708B - 应用软件加解密方法、服务器和终端 - Google Patents

应用软件加解密方法、服务器和终端 Download PDF

Info

Publication number
CN102957708B
CN102957708B CN201210469809.XA CN201210469809A CN102957708B CN 102957708 B CN102957708 B CN 102957708B CN 201210469809 A CN201210469809 A CN 201210469809A CN 102957708 B CN102957708 B CN 102957708B
Authority
CN
China
Prior art keywords
dynamic password
software
encryption
user terminal
event
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
CN201210469809.XA
Other languages
English (en)
Other versions
CN102957708A (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201210469809.XA priority Critical patent/CN102957708B/zh
Publication of CN102957708A publication Critical patent/CN102957708A/zh
Application granted granted Critical
Publication of CN102957708B publication Critical patent/CN102957708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种应用软件加解密方法、服务器和终端。该加密方法包括:当接收到软件获取请求时,使用与用户终端中相同的动态密码生成算法,生成第一动态密码;根据第一动态密码的特征信息,选择相应的加密算法和加密参数;采用第一动态密码、加密算法和加密参数,对软件进行加密,形成加密软件;为用户终端形成授权文件,授权文件中至少包括第一动态密码的第一动态密码生成事件;采用公钥加密授权文件以形成加密授权文件;将加密软件和加密授权文件发送给用户终端。本发明能够基于动态变化的密码应用软件进行加密保护,能避免静态密码易于破解的缺陷,从而提高应用软件的加密可靠性,改善应用软件的数字版权保护能力。

Description

应用软件加解密方法、服务器和终端
技术领域
本发明涉及数据加解密技术,尤其涉及一种应用软件加解密方法、服务器和终端。
背景技术
目前,随着智能移动终端的高速发展和3G通信技术的迅速普及,丰富多彩的移动终端应用软件为电信运营商吸引来众多的终端应用用户,并带来了快速的数据业务增长,但传统的数字版权管理(Digital RightsManagement,简称:DRM)技术已无法满足人们对提高软件版权保护安全性的新需求,因此产生了各种移动终端应用软件保护方法。
目前常用的移动终端应用软件保护技术是采用对称或非对称加密算法在服务器端对应用软件、授权文件进行加密、封装和打包,在终端通过手动或自动的方式进行软件证书和签名的验证,通过用户私钥或含有用户私钥的证书完成加密软件的解密。其一般流程是用户在终端应用商城购买软件产品时,终端应用商城将购买商品信息(软件商品名称、价格、有效期等)、购买者账户信息(用户证书、用户公钥等)发送给签名服务器,签名服务器根据具体商品和用户信息生成授权信息和软件加密密码并以加密的“授权文件”的形式返回给终端应用商城。
在服务器端,应用软件购买成功并准备下发之前,首先经过服务器端DRM系统加密;然后,DRM系统采用非对称加密算法,例如公钥加密算法RSA、数字签名算法(Digital Signature Algorithm,简称DSA)等,对含有密钥信息的“授权文件”进行加密;最后,加密的“授权文件”和加密的应用软件被一同封装、打包,由应用软件商城服务器端下发到用户的终端。
在终端,当用户需要安装软件时,首先,终端上的软件DRM系统验证该应用软件的签名合法性;然后,用户通过输入用户私钥解密“授权文件”或者由预安装在用户终端上的含有用户私钥信息的证书自动解密“授权文件”;最后,由包含在“授权文件”中的密钥信息解密加密的应用软件,完成软件的安装。
目前的终端应用软件数字版权保护技术,通常都是采用静态的加解密方法保护终端应用软件的版权安全。这种方式虽然可以在一定程度上保证终端应用软件安全,增加终端应用软件破解、复制、线下分发的难度,但因为这些技术采用静态的密码加密软件,软件的加密密码是静态固定的,所以存在着较大的软件密钥信息被窃取或破译的风险,造成软件的非法复制和线下分发,给电信运营商带来巨大的损失,也极大的影响了终端软件开发者的开发积极性。
显然,现有的基于静态密码的软件数字版权保护技术已不能完全满足人们增长的对终端软件安全的需求。
发明内容
本发明提供一种应用软件加解密方法、服务器和终端,以提高应用软件的数字版权保护可靠性。
本发明提供了一种应用软件加密方法,包括:
当接收到用户终端发起的软件获取请求时,使用与所述用户终端中相同的动态密码生成算法,生成第一动态密码;
根据所述第一动态密码的特征信息,选择相应的加密算法和加密参数;
采用所述第一动态密码、加密算法和加密参数,对所述软件获取请求所请求的软件进行加密,形成加密软件;
为发起所述软件获取请求的用户终端形成授权文件,所述授权文件中至少包括所述第一动态密码的第一动态密码生成事件;
采用公钥加密所述授权文件,以形成加密授权文件;
将所述加密软件和加密授权文件发送给发起所述软件获取请求的用户终端。
本发明提供了一种应用软件解密方法,包括:
在发起软件获取请求之后,接收返回给用户终端的加密软件和加密授权文件;
采用私钥解密所述加密授权文件,形成授权文件,并获取所述授权文件中的第一动态密码生成事件;
采用用户终端本机的动态密码生成算法,基于所述第一动态密码生成事件,生成第三动态密码,其中,所述用户终端本机的动态密码生成算法与加密服务器生成所述第一动态密码采用的动态密码生成算法相同;
根据所述第三动态密码的特征信息,选择相应的解密算法和解密参数;
采用所述第三动态密码、解密算法和解密参数,对所述加密软件进行解密,形成解密后的软件。
本发明还提供了一种应用软件加密服务器,包括:
第一密码生成模块,用于当接收到用户终端发起的软件获取请求时,使用与所述用户终端中相同的动态密码生成算法,生成第一动态密码;
加密信息选择模块,用于根据所述第一动态密码的特征信息,选择相应的加密算法和加密参数;
软件加密模块,用于采用所述第一动态密码、加密算法和加密参数,对所述软件获取请求所请求的软件进行加密,形成加密软件;
授权文件形成模块,用于为发起所述软件获取请求的用户终端形成授权文件,所述授权文件中至少包括所述第一动态密码的第一动态密码生成事件;
授权文件加密模块,用于采用公钥加密所述授权文件,以形成加密授权文件;
加密文件发送模块,用于将所述加密软件和加密授权文件发送给发起所述软件获取请求的用户终端。
本发明还提供了一种应用软件解密用户终端,包括:
获取请求发起模块,用于发起软件获取请求;
加密文件接收模块,用于在发起软件获取请求之后,接收返回给用户终端的加密软件和加密授权文件;
授权文件解密模块,用于采用私钥解密所述加密授权文件,形成授权文件,并获取所述授权文件中的第一动态密码生成事件;
第三密码生成模块,用于采用用户终端本机的动态密码生成算法,基于所述第一动态密码生成事件,生成第三动态密码,其中,所述用户终端本机的动态密码生成算法与加密服务器生成所述第一动态密码采用的动态密码生成算法相同;
解密信息选择模块,用于根据所述第三动态密码的特征信息,选择相应的解密算法和解密参数;
软件解密模块,用于采用所述第三动态密码、解密算法和解密参数,对所述加密软件进行解密,形成解密后的软件。
本发明提供的应用软件加解密方案,能够基于动态变化的密码应用软件进行加密保护,能避免静态密码易于破解的缺陷,从而提高应用软件的加密可靠性,改善应用软件的数字版权保护能力。
附图说明
图1为本发明实施例一提供的应用软件加密方法的流程图;
图2为本发明实施例一提供的应用软件加密方法所适用的网络架构示意图;
图3为本发明实施例二提供的应用软件加密方法的流程图;
图4为本发明实施例三提供的应用软件解密方法的流程图;
图5为本发明实施例四提供的应用软件解密方法的流程图;
图6为本发明实施例五提供的应用软件加密服务器的结构示意图;
图7为本发明实施例六提供的应用软件解密用户终端的结构示意图。
具体实施方式
实施例一
图1为本发明实施例一提供的应用软件加密方法的流程图,本发明实施例所提供的应用软件加密方法以及对应的解密方法,由加密服务器和用户终端配合执行,图2为方法所适用的网络架构示意图。如图2所示,网络中分为服务器端侧和用户终端侧两部分网元。服务器端主要包括DRM系统加密服务器230和软件应用商城服务器220,软件应用商城服务器220与软件提供服务器210关联,获取可提供给用户终端的未加密的应用软件,DRM系统加密服务器230对软件进行加密,由软件应用商城服务器220提供给软件应用商城客户端250。用户终端侧包括DRM系统客户端240和软件应用商城客户端250,DRM系统客户端240为用户终端提供解密后的应用软件。其中,软件提供服务器210、软件应用商城服务器220和软件应用商城客户端250可采用已有技术实现,本实施例主要关注于DRM系统加密服务器230和DRM系统客户端240对应用软件的加解密配合操作。
本实施例一提供的应用软件加密方法由DRM系统加密服务器230(以下简称加密服务器)来执行,具体包括如下步骤:
步骤110、当加密服务器接收到用户终端发起的软件获取请求时,使用与所述用户终端中相同的动态密码生成算法,生成第一动态密码;
用户终端通过软件应用商城手机客户端登陆应用商城服务器端,发起软件获取请求以购买感兴趣的应用软件,应用商城服务器端向其DRM系统加密服务器发送软件获取请求,以请求为应用软件进行加密。软件应用商城服务器端接收到来自软件应用商城手机客户端的用户软件获取请求后,可以进一步核对用户信息,例如用户证书、用户终端、用户手机端动态密码生成算法等信息。该软件获取请求可以由用户终端通过软件应用商城的服务器和客户端路径来发起,本发明对此不做限制。
加密服务器采用与用户终端相同的动态密码生成算法生成第一动态密码,以便保证用户终端后续解密时可获取相同的动态密码。其中,加密服务器与所有用户终端可以采用统一的动态密码生成算法,但优选是加密服务器中设置有与不同用户终端对应的不同动态密码生成算法,以进一步提高加密的可靠性。则步骤110优选是根据所述软件获取请求中的用户终端信息,选择与所述用户终端中相同的动态密码生成算法,生成第一动态密码。用户终端信息中可以携带能反映用户终端内采用的动态密码生成算法的标识,以便加密服务器进行选择。
步骤120、加密服务器根据所述第一动态密码的特征信息,选择相应的加密算法和加密参数;
在上述步骤中,加密服务器可根据第一动态密码自适应选择加密算法和加密参数,例如,根据动态密码的数学特征、几何特征等属性进行选择。
步骤130、加密服务器采用所述第一动态密码、加密算法和加密参数,对所述软件获取请求所请求的软件进行加密,形成加密软件;本步骤具体可以是对应用软件的所有可执行代码段进行加密。
步骤140、加密服务器为发起所述软件获取请求的用户终端形成授权文件,所述授权文件中至少包括所述第一动态密码的第一动态密码生成事件;
上述步骤中,授权文件中还可包括用户终端信息和应用软件信息等,但至少包括第一动态密码的第一动态密码生成事件,以便用户终端能根据第一动态密码生成事件复原动态密码。动态密码生成事件是与动态密码相关的动态信息,典型地可以是动态密码的生成时间。
步骤150、加密服务器采用公钥加密所述授权文件,以形成加密授权文件;
加密服务器所使用的公钥是与用户终端侧的私钥配对使用的,此私钥和公钥对可以预先下发和设置,优选是在用户终端注册时分配,例如:在接收到所述用户终端发起的软件获取请求之前,当加密服务器接收到所述用户终端的注册请求时,根据所述注册请求中的用户终端信息创建用户证书;加密服务器指示签名服务器根据所述用户证书为所述用户终端下发私钥,并接收返回给加密服务器的公钥。
步骤160、加密服务器将所述加密软件和加密授权文件发送给发起所述软件获取请求的用户终端。具体可通过软件应用商城服务器端封装、打包软件和授权文件,发送给应用商城客户端,完成用户终端对软件、授权文件的下载。
本实施例的技术方案,能够通过动态密码来保证应用软件的数字版权保护,避免盗用。上述技术具体通过加密服务器和用户终端采用相同的动态密码生成算法和动态密码生成事件来生成相同的动态密码对,以进行加密和解密。此动态密码的加解密过程中,密码生成以及加密所需的算法和参数均是动态生成的,而非固定不变的,并且解密用的动态密码需间接获取,不是直接携带在授权文件中的,难以盗用,所以能有效提高应用软件加解密过程的可靠性。
在上述方案的基础上,还可以进一步结合用户证书验证的方式,即在用户终端进行注册时,产生用户证书并提供给签名服务器,则在接收到用户终端发起的软件获取请求之后,加密服务器还根据所述软件获取请求中携带的用户终端信息查找相应的用户证书;并根据所述用户证书请求签名服务器对所述软件获取请求进行认证。
实施例二
图3为本发明实施例二提供的应用软件加密方法的流程图,本实施例以上述实施例为基础,进一步优选了加密方法,即在将所述加密软件和加密授权文件发送给发起所述软件获取请求的用户终端之后,还包括:
步骤310、当加密服务器接收到用户终端发起的软件安装请求时,基于当前的动态密码生成事件,使用与所述用户终端中相同的动态密码生成算法,生成第二动态密码;
此步骤与生成第一动态密码类似,基于当前的动态密码生成事件,例如当前的时间,生成第二动态密码。
步骤320、加密服务器将当前的动态密码生成事件与所述用户终端中的动态密码生成事件同步,且将所述第二动态密码返回给所述用户终端,以供所述用户终端将自身基于相同动态密码生成事件以及相同的动态密码生成算法生成的第四动态密码与所述第二动态密码进行比较验证。
上述步骤中,加密服务器将当前的动态密码生成事件与所述用户终端中的动态密码生成事件同步的操作可以有多种手段来实现,例如,对于时间,可以通过手机令牌实现时间同步的方式,实现用户终端与加密服务器中的时间同步。手机可以为本机的软件加密系统独立设置一使用的时间,该时间保持与网络侧的加密服务器同步,该加密使用时间与手机其他组件使用的时间保持独立,相互不影响。基于时间同步的手机在每次进行认证时,加密服务器将会检测手机上该时间的时钟偏移量,不断微调时间记录,从而保证手机与加密服务器的时间同步。此同步的时间可以为设定时长的时间段,即对此动态密码的比对有效期进行了限制,若超出此有效时间,则用户终端无法生成正确的动态密码。
本实施例的上述技术方案为应用软件的加解密过程又增加了一重保证,即在解密授权文件之前,还需要进行一次动态密码的比较验证,只有在即时的动态密码一致的前提下,才能自动完成授权文件的解密和应用软件的解密。
实施例三
图4为本发明实施例三提供的应用软件解密方法的流程图,本实施例与应用软件加密方法配合执行,也可以由图2所示的用户终端中的DRM系统客户端来实现,具体包括如下步骤:
步骤410、用户终端在发起软件获取请求之后,接收返回给用户终端的加密软件和加密授权文件;此加密软件和加密授权文件是基于前述的应用软件加密方法由加密服务器产生的。
若加密服务器中设置多种动态密码生成算法,则用户终端需指示自身所采用的动态密码生成算法,即优选是在所述软件获取请求中携带用于指示用户终端使用的动态密码生成算法的用户终端信息;而后发起所述软件获取请求。
步骤420、用户终端采用私钥解密所述加密授权文件,形成授权文件,并获取所述授权文件中的第一动态密码生成事件,例如该第一动态密码的生成时间;
上述步骤中,私钥可以是预先获取到的与加密服务器中公钥配对使用的私钥,例如用户终端可以向加密服务器发送携带有用户终端信息的注册请求,并接收返回的私钥。
步骤430、用户终端采用用户终端本机的动态密码生成算法,基于所述第一动态密码生成事件,生成第三动态密码,其中,所述用户终端本机的动态密码生成算法与加密服务器生成所述第一动态密码采用的动态密码生成算法相同;
上述步骤中,由于用户终端与加密服务器采用相同的算法,以及相同的第一动态密码生成事件,所以生成的第三动态密码与第一动态密码相同。
步骤440、用户终端根据所述第三动态密码的特征信息,选择相应的解密算法和解密参数;
此参数的选择过程与前述加密方法中的选择过程一致,解密算法和解密参数是与前述的加密算法和加密参数对应配合的。
步骤450、用户终端采用所述第三动态密码、解密算法和解密参数,对所述加密软件进行解密,形成解密后的软件。
本实施例的技术方案能够与前述的应用软件加密方法配合,用户终端与加密服务器采用相同的动态密码生成算法和动态密码生成事件来产生一致的动态密码对,进行加解密。由于密码并不能直接从授权文件中获取,且密码的生成参数也是动态变化的,无法预测,所以能显著提高密码保护能力,改善应用软件的版权保护。
实施例四
图5为本发明实施例四提供的应用软件解密方法的流程图,本实施例在前述实施例的基础上,进一步优化了解密方案,即在采用私钥解密所述加密授权文件之前,还包括:
步骤510、用户终端向所述加密服务器发送软件安装请求,与所述加密服务器同步当前的动态密码生成事件,并接收所述加密服务器返回的第二动态密码;
根据动态密码生成事件的不同,可以由不同的同步方式,例如,当动态密码生成事件为密码的生成时间时,可以通过手机令牌方式同步时间。由于用户终端与加密服务器的时间是同步的,也就相当于为用户终端的第四动态密码生成设置了有效期时长。如果用户终端不能在有效期内生成第四动态密码,就无法使得第四动态密码和第三动态密码基于相同的时间信息生成,也就无法保证一致了。例如,动态密码生成时间以分钟为单位,则用户终端就需要在一分钟之内完成第四动态密码的生成,才能与第三动态密码一致。
步骤520、用户终端基于与所述加密服务器相同的当前动态密码生成事件以及动态密码生成算法,生成第四动态密码,并将所述第四动态密码与所述第二动态密码进行比较;
步骤530、当比较结果为第四动态密码与第二动态密码一致时,用户终端触发执行采用私钥解密所述加密授权文件的操作。
上述步骤中,若采用的动态密码生成算法和动态密码生成事件均与加密服务器一致,则用户终端生成的第四动态密码将与第二动态密码一致,可据此验证是否为正确的用户终端在进行软件安装。
本实施例的技术方案,进一步在请求安装软件时对即时产生的动态密码进行比对,比对结果一致才自动触发对授权文件的解密,进一步提高了应用软件版权保护的可靠性。
本发明实施例提出的基于动态密码的软件数字版权保护方案,能够解决如下问题:
1、为解决静态密码容易被窃取和破解的安全性问题,利用动态密码技术,在服务器与终端之间建立软件解密、安装动态密码校验、授权机制,以实现终端软件每次解密、安装前都需要不同的动态的、无法事先预知的授权解密、安装密码。同时,由于动态密码装置产生动态密码是时间相关的随机不可预知数字组合(One-Time-Password),且只有设定分钟的有效期,在很大程度上增加了密码被窃取和破译的难度,从根本上解决了基于静态密码的软件数字版权保护技术安全度相对不高的问题,有效防止了终端软件线下分发、非法安装等问题。
2、为防止授权文件中解密密码被窃取,在授权文件中并不直接存放软件解密密码,而仅存储一个与软件加密时间相关的参数,此参数只有经过终端上软件DRM系统调用其动态密码生成算法处理后,才能转换为软件真正的动态密码,所以使得盗版者即使获得授权文件,破解授权文件,获得的也只是一个时间参数,解密用的动态密码仍不可获得,进一步增加了破解软件的难度,有效防止了加密软件被破译及恶意复制,确保了软件版权的安全。
3、为防止加密软件解密算法被破解,终端软件的加密算法及参数是基于动态密码的特定特征,由服务器端与终端的DRM系统按事先约定的某种特定算法经计算、推导后动态、自适应选择、决定的,避免了所有软件均采用相同的、固定的静态加密算法,有效防止了一个软件加密算法被破解,所有加密软件均受影响的问题。
实施例五
图6为本发明实施例五提供的应用软件加密服务器的结构示意图,该加密服务器可以由硬件实现,也可以由软件实现,形成DRM系统的服务器端,其包括:第一密码生成模块610、加密信息选择模块620、软件加密模块630、授权文件形成模块640、授权文件加密模块650和加密文件发送模块660。其中,第一密码生成模块610用于当接收到用户终端发起的软件获取请求时,使用与所述用户终端中相同的动态密码生成算法,生成第一动态密码;加密信息选择模块620用于根据所述第一动态密码的特征信息,选择相应的加密算法和加密参数;软件加密模块630用于采用所述第一动态密码、加密算法和加密参数,对所述软件获取请求所请求的软件进行加密,形成加密软件;授权文件形成模块640用于为发起所述软件获取请求的用户终端形成授权文件,所述授权文件中至少包括所述第一动态密码的第一动态密码生成事件;授权文件加密模块650用于采用公钥加密所述授权文件,以形成加密授权文件;加密文件发送模块660用于将所述加密软件和加密授权文件发送给发起所述软件获取请求的用户终端。
在上述技术方案的基础上,第一密码生成模块610优选是具体用于:当接收到用户终端发起的软件获取请求时,根据所述软件获取请求中的用户终端信息,选择与所述用户终端中相同的动态密码生成算法,生成第一动态密码。
该应用软件加密服务器还可以包括:第二密码生成模块670和第二密码返回模块680。其中,第二密码生成模块670用于当接收到用户终端发起的软件安装请求时,基于当前的动态密码生成事件,使用与所述用户终端中相同的动态密码生成算法,生成第二动态密码;第二密码返回模块680用于将当前的动态密码生成事件与所述用户终端中的动态密码生成事件同步,且将所述第二动态密码返回给所述用户终端,以供所述用户终端将自身基于相同动态密码生成事件以及相同的动态密码生成算法生成的第四动态密码与所述第二动态密码进行比较验证。
上述动态密码生成事件可以是任何与动态密码生成动作关联的事件,优选是为动态密码的生成时间。
本发明实施例提供的应用软件加密服务器可执行本发明应用软件加密方法的任意实施例,具备相应的功能模块和有效效果。
实施例六
图7为本发明实施例六提供的应用软件解密用户终端的结构示意图,该应用软件解密用户终端可以为硬件,也可以为软件,形成DRM系统的客户端,其包括:获取请求发起模块710、加密文件接收模块720、授权文件解密模块730、第三密码生成模块740、解密信息选择模块750和软件解密模块760。其中,获取请求发起模块710用于发起软件获取请求;加密文件接收模块720,用于在发起软件获取请求之后,接收返回给用户终端的加密软件和加密授权文件;授权文件解密模块730,用于采用私钥解密所述加密授权文件,形成授权文件,并获取所述授权文件中的第一动态密码生成事件;第三密码生成模块740,用于采用用户终端本机的动态密码生成算法,基于所述第一动态密码生成事件,生成第三动态密码,其中,所述用户终端本机的动态密码生成算法与加密服务器生成所述第一动态密码采用的动态密码生成算法相同;解密信息选择模块750,用于根据所述第三动态密码的特征信息,选择相应的解密算法和解密参数;软件解密模块760,用于采用所述第三动态密码、解密算法和解密参数,对所述加密软件进行解密,形成解密后的软件。
其中,获取请求发起模块710可具体包括:信息添加单元和请求发起单元。信息添加单元用于在所述软件获取请求中携带用于指示用户终端使用的动态密码生成算法的用户终端信息;请求发起单元,用于发起所述软件获取请求。
上述方案的基础上,应用软件解密用户终端还可以包括:安装请求发起模块770和第四密码生成模块780。安装请求发起模块770用于向所述加密服务器发送软件安装请求,与所述加密服务器同步当前的动态密码生成事件,并接收所述加密服务器返回的第二动态密码;第四密码生成模块780,用于基于与所述加密服务器相同的当前动态密码生成事件以及动态密码生成算法,生成第四动态密码,并将所述第四动态密码与所述第二动态密码进行比较,且当比较结果为第四动态密码与第二动态密码一致时,触发执行采用私钥解密所述加密授权文件的操作。
上述的动态密码生成事件可以为多种,优选为动态密码的生成时间。
本发明实施例提供的应用软件解密用户终端可执行本发明应用软件解密方法的任意实施例,具备相应的功能模块和有效效果。
本发明各实施例的技术方案,是采用基于动态密码的软件数字版权保护机制。动态密码是根据专门的算法生成一个不可预测的随机数字组合,每个密码只能使用一次,动态密码是一种安全、便捷的账号防盗技术,可以有效保护交易和登录的认证安全,采用动态密码就无需定期更新静态密码,安全省心。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (6)

1.一种应用软件加密方法,其特征在于,包括:
当接收到用户终端发起的软件获取请求时,使用与所述用户终端中相同的动态密码生成算法,生成第一动态密码;
根据所述第一动态密码的特征信息,选择相应的加密算法和加密参数;
采用所述第一动态密码、加密算法和加密参数,对所述软件获取请求所请求的软件进行加密,形成加密软件;
为发起所述软件获取请求的用户终端形成授权文件,所述授权文件中至少包括所述第一动态密码的第一动态密码生成事件;
采用公钥加密所述授权文件,以形成加密授权文件;
将所述加密软件和加密授权文件发送给发起所述软件获取请求的用户终端;
当接收到用户终端发起的软件安装请求时,基于当前的动态密码生成事件,使用与所述用户终端中相同的动态密码生成算法,生成第二动态密码;
将当前的动态密码生成事件与所述用户终端中的动态密码生成事件同步,且将所述第二动态密码返回给所述用户终端,以供所述用户终端将自身基于相同动态密码生成事件以及相同的动态密码生成算法生成的第四动态密码与所述第二动态密码进行比较验证;
其中,所述动态密码生成事件为动态密码的生成时间。
2.根据权利要求1所述的应用软件加密方法,其特征在于,使用与所述用户终端中相同的动态密码生成算法,生成第一动态密码包括:
根据所述软件获取请求中的用户终端信息,选择与所述用户终端中相同的动态密码生成算法,生成第一动态密码。
3.一种应用软件解密方法,其特征在于,包括:
在发起软件获取请求之后,接收返回给用户终端的加密软件和加密授权文件;
向加密服务器发送软件安装请求,与所述加密服务器同步当前的动态密码生成事件,并接收所述加密服务器返回的第二动态密码;
基于与所述加密服务器相同的当前动态密码生成事件以及动态密码生成算法,生成第四动态密码,并将所述第四动态密码与所述第二动态密码进行比较,且当比较结果为第四动态密码与第二动态密码一致时,触发执行采用私钥解密所述加密授权文件的操作;采用私钥解密所述加密授权文件,形成授权文件,并获取所述授权文件中的第一动态密码生成事件;
采用用户终端本机的动态密码生成算法,基于所述第一动态密码生成事件,生成第三动态密码,其中,所述用户终端本机的动态密码生成算法与加密服务器生成所述第一动态密码采用的动态密码生成算法相同;
根据所述第三动态密码的特征信息,选择相应的解密算法和解密参数;
采用所述第三动态密码、解密算法和解密参数,对所述加密软件进行解密,形成解密后的软件;
其中,所述动态密码生成事件为动态密码的生成时间。
4.根据权利要求3所述的应用软件解密方法,其特征在于,发起软件获取请求包括:
在所述软件获取请求中携带用于指示用户终端使用的动态密码生成算法的用户终端信息;
发起所述软件获取请求。
5.一种应用软件加密服务器,其特征在于,包括:
第一密码生成模块,用于当接收到用户终端发起的软件获取请求时,使用与所述用户终端中相同的动态密码生成算法,生成第一动态密码;
加密信息选择模块,用于根据所述第一动态密码的特征信息,选择相应的加密算法和加密参数;
软件加密模块,用于采用所述第一动态密码、加密算法和加密参数,对所述软件获取请求所请求的软件进行加密,形成加密软件;
授权文件形成模块,用于为发起所述软件获取请求的用户终端形成授权文件,所述授权文件中至少包括所述第一动态密码的第一动态密码生成事件;
授权文件加密模块,用于采用公钥加密所述授权文件,以形成加密授权文件;
加密文件发送模块,用于将所述加密软件和加密授权文件发送给发起所述软件获取请求的用户终端;
第二密码生成模块,用于当接收到用户终端发起的软件安装请求时,基于当前的动态密码生成事件,使用与所述用户终端中相同的动态密码生成算法,生成第二动态密码;
第二密码返回模块,用于将当前的动态密码生成事件与所述用户终端中的动态密码生成事件同步,且将所述第二动态密码返回给所述用户终端,以供所述用户终端将自身基于相同动态密码生成事件以及相同的动态密码生成算法生成的第四动态密码与所述第二动态密码进行比较验证;
其中,所述动态密码生成事件为动态密码的生成时间。
6.一种应用软件解密用户终端,其特征在于,包括:
获取请求发起模块,用于发起软件获取请求;
加密文件接收模块,用于在发起软件获取请求之后,接收返回给用户终端的加密软件和加密授权文件;
授权文件解密模块,用于采用私钥解密所述加密授权文件,形成授权文件,并获取所述授权文件中的第一动态密码生成事件;
第三密码生成模块,用于采用用户终端本机的动态密码生成算法,基于所述第一动态密码生成事件,生成第三动态密码,其中,所述用户终端本机的动态密码生成算法与加密服务器生成所述第一动态密码采用的动态密码生成算法相同;
解密信息选择模块,用于根据所述第三动态密码的特征信息,选择相应的解密算法和解密参数;
软件解密模块,用于采用所述第三动态密码、解密算法和解密参数,对所述加密软件进行解密,形成解密后的软件;
安装请求发起模块,用于向所述加密服务器发送软件安装请求,与所述加密服务器同步当前的动态密码生成事件,并接收所述加密服务器返回的第二动态密码;
第四密码生成模块,用于基于与所述加密服务器相同的当前动态密码生成事件以及动态密码生成算法,生成第四动态密码,并将所述第四动态密码与所述第二动态密码进行比较,且当比较结果为第四动态密码与第二动态密码一致时,触发执行采用私钥解密所述加密授权文件的操作;
其中,所述动态密码生成事件为动态密码的生成时间。
CN201210469809.XA 2012-11-19 2012-11-19 应用软件加解密方法、服务器和终端 Active CN102957708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210469809.XA CN102957708B (zh) 2012-11-19 2012-11-19 应用软件加解密方法、服务器和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210469809.XA CN102957708B (zh) 2012-11-19 2012-11-19 应用软件加解密方法、服务器和终端

Publications (2)

Publication Number Publication Date
CN102957708A CN102957708A (zh) 2013-03-06
CN102957708B true CN102957708B (zh) 2015-07-08

Family

ID=47765933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210469809.XA Active CN102957708B (zh) 2012-11-19 2012-11-19 应用软件加解密方法、服务器和终端

Country Status (1)

Country Link
CN (1) CN102957708B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275206B2 (en) * 2013-01-23 2016-03-01 International Business Machines Corporation Managing sensitive information
CN103235904B (zh) * 2013-04-26 2016-02-03 中国联合网络通信集团有限公司 应用软件数字版权保护方法、装置及系统
CN104333544B (zh) * 2014-10-26 2017-11-10 重庆智韬信息技术中心 基于移动终端数据文件的加密方法
CN106304040A (zh) * 2015-05-25 2017-01-04 阿里巴巴集团控股有限公司 管理移动应用的方法、装置
CN109309645A (zh) * 2017-07-26 2019-02-05 中国人民解放军装备学院 一种软件分发安全保护方法
CN107689957B (zh) * 2017-08-31 2021-02-12 云宏信息科技股份有限公司 一种数字证书管理方法、电子设备、存储介质
CN110474909A (zh) * 2019-08-17 2019-11-19 贵州云尚物联科技股份有限公司 驾驶员监管预警方法及其系统
CN111737660B (zh) * 2020-06-28 2023-11-17 浙江大华技术股份有限公司 软件授权的实现方法、系统和存储介质
CN113422832B (zh) * 2021-06-25 2022-11-15 北京百度网讯科技有限公司 文件传输方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442655A (zh) * 2007-11-22 2009-05-27 上海文广互动电视有限公司 数字节目广播系统中的数字版权管理系统
CN101527818A (zh) * 2009-04-23 2009-09-09 天柏宽带网络科技(北京)有限公司 交互式网络电视数字版权管理系统许可证管理方法
CN101763469A (zh) * 2008-12-24 2010-06-30 盛大计算机(上海)有限公司 数字版权管理系统及其实现方法
CN102024127A (zh) * 2010-11-17 2011-04-20 中国联合网络通信集团有限公司 应用软件控制平台、使用者终端、分发系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442655A (zh) * 2007-11-22 2009-05-27 上海文广互动电视有限公司 数字节目广播系统中的数字版权管理系统
CN101763469A (zh) * 2008-12-24 2010-06-30 盛大计算机(上海)有限公司 数字版权管理系统及其实现方法
CN101527818A (zh) * 2009-04-23 2009-09-09 天柏宽带网络科技(北京)有限公司 交互式网络电视数字版权管理系统许可证管理方法
CN102024127A (zh) * 2010-11-17 2011-04-20 中国联合网络通信集团有限公司 应用软件控制平台、使用者终端、分发系统及方法

Also Published As

Publication number Publication date
CN102957708A (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
CN102957708B (zh) 应用软件加解密方法、服务器和终端
US11799656B2 (en) Security authentication method and device
CN109495274B (zh) 一种去中心化智能锁电子钥匙分发方法及系统
CN108513704B (zh) 终端主密钥的远程分发方法及其系统
US11501294B2 (en) Method and device for providing and obtaining graphic code information, and terminal
WO2017097041A1 (zh) 数据传输方法和装置
CN108494811B (zh) 数据传输安全认证方法及装置
RU2584500C2 (ru) Криптографический способ аутентификации и идентификации с шифрованием в реальном времени
CN101640590B (zh) 一种获取标识密码算法私钥的方法和密码中心
WO2006023151A2 (en) Method of delivering direct proof private keys to devices using an on-line service
KR20140126787A (ko) PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법
CN101771699A (zh) 一种提高SaaS应用安全性的方法及系统
CN108323230B (zh) 一种传输密钥的方法、接收终端和分发终端
CN107920052B (zh) 一种加密方法及智能装置
CN104009989A (zh) 一种媒体文件的防盗链方法、系统及服务器
CN108809936B (zh) 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统
CN103560892A (zh) 密钥生成方法和密钥生成装置
CN104393993A (zh) 一种用于售电终端的安全芯片及其实现方法
CN103841469A (zh) 一种数字电影版权保护方法和装置
CN104268447A (zh) 一种嵌入式软件的加密方法
CN112507296B (zh) 一种基于区块链的用户登录验证方法及系统
CN103177225B (zh) 一种数据管理方法和系统
CN112020038A (zh) 一种适用于轨道交通移动应用的国产加密终端
CN104125239A (zh) 一种基于数据链路加密传输的网络认证方法和系统
CN108959962B (zh) 一种动态库的api安全调用方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant