首页
社区
课程
招聘
[旧帖] [讨论]软件加密狗互联网远程升级系统解决方案 0.00雪花
发表于: 2010-10-27 16:55 1112

[旧帖] [讨论]软件加密狗互联网远程升级系统解决方案 0.00雪花

2010-10-27 16:55
1112
随着互联网的广泛普及和迅猛发展,生活中越来越多的应用都在网上完成,带给人们更多更好的便捷服务。那么软件升级是否也可以在互联网完成呢?回答是肯定的,软件开发商可以通过互联网,完成软件功能升级、延长使用时间、增加使用次数等操作。当然,通过互联网进行升级,除了功能需求外,最主要的还是安全需求,即要在一种即方便快捷,又安全的过程中完成软件升级。下面就是坚石诚信ET199软件加密狗为例详细的介绍一下使用ET199加密狗如何帮助软件开发商在互联网上如何实现软件远程升级功能。
首先可以将整个系统分为三个模块:登录验证模块、产生升级文件模块、升级文件下载升级模块。完成远程升级前,ET199锁内要先预制用于升级的C51可执行文件和一个RSA私钥。
登录验证模块:
(1)页面通过ActiveX控件取得用户插在计算机上的ET199的硬件序列号(以下简称SN),并将序列号传给服务器,服务器通过这个序列号查看该用户是否已经交纳升级费。如果已经交费,进入下面的第二步。
(2)服务器端产生一个随机数,发给客户端,客户端通过ET199内的RSA私钥把这个随机数加密后传给服务器端,服务器端通过与存在ET199中的RSA私钥对应的RSA公钥解密,然后将解密后的结果与产生的随机数进行比对,一致允许进入升级页面,否则返回错误页面。
产生升级文件模块:
服务器端将客户端传来的SN、新的锁内的BIN文件和数据文件使用RSA公钥加密,将密文结果产给客户端,或者产生一个升级密文文件供升级用户下载。
升级下载模块:
客户端得到升级的密文后,可以通过网页或者专有工具将密文下载到锁内,在锁内由预先内置好的,专门用来完成升级功能的C51可执行文件进行升级。该文件使用锁内RSA私钥将密文解密,比较解密结果中的SN与ET199实际的SN是否一致,不一致则退出升级过程。然后升级文件将解密后的数据写入到锁内,替换要升级的可执行文件或者数据文件。
使用坚石诚信ET199加密狗来进行软件互联网远程升级系统具有以下特点:
特点一:升级前验证身份
用户在升级前,需要将硬件的SN传给服务器端,由服务器端从数据库信息中查看该用户是否交费。如果有交费记录,服务器与客户端进行了一个身份认证的过程。这个过程通过RSA加解密来完成,由于只有ET199内才有RSA私钥,且锁内的私钥不可导出,那么只有锁内有这个RSA私钥的ET199的用户才能登录到升级系统中,没有这个私钥的用户,即不是这个软件的用户是无法登录到系统中的。
特点二:安全远程升级
整个升级过程中,是将要升级的数据通过RSA公钥加密后在互联网上传输,只有对应的RSA私钥才可以解密,而RSA私钥只能在ET199硬件中,且不能导出,那么只有拥有正确的RSA私钥的ET199用户才能升级。同时,升级密文的解密过程也是在ET199硬件内部完成,不存在任何安全隐患。
特点三:升级文件针对特定的用户
ET199的硬件序列号SN每把锁都是不同的,根据这个特性,为每把锁产生不同的升级包,这个升级包这能针对相同SN的ET199。
特点四:防止没有交费的用户进行升级
升级包在ET199内部解密后,完成升级功能的C51可执行程序将解密后的SN与通过锁内接口得到的实际的ET199的SN进行对比,来判断这个包是不是给这个ET199使用的。只有SN验证正确才能继续升级,防止升级包被用来共享。这个设计的安全在于,升级包是密文,即使泄漏出去或者被修改,那么将导致升级失败,其次验证SN是在锁内进行,与外界隔离,不受任何安全攻击的影响。
特点五:升级包只能升级一次
当客户交纳费用,在网上正确升级后,ET199锁内记录版本信息的文件内容已经更新为新的版本号,如果用户再次使用升级包进行升级,负责升级的C51可执行文件会去比对升级包解密结果中的软件版本是不是比锁内的软件版本高,这时由于已经升级过,那么只能是相同或者是更低,从而不能继续升级。

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习学习
2010-10-27 17:10
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
很好的建议。
2010-10-27 19:33
0
游客
登录 | 注册 方可回帖
返回
//