将计算机数据安全下载至移动终端的方法及系统
技术领域
本发明涉及加密技术,尤其涉及一种将计算机数据安全下载至移动终端的方法及系统。
背景技术
随着电子技术的成熟与发展,移动终端(又称手机)越来越普及,这给人们的生活带来了很大的方便,并且移动终端符合快节奏、高效率的社会需求,因此深受用户的欢迎。一些移动运营商为了更好地发展客户,有时会以低于成本的价格将移动终端出售给客户,甚至免费赠送给客户。而同时,移动运营商要求这样的移动终端必须锁定该移动运营商的网络,或是锁定该移动运营商的用户识别模块(SIM)卡,即所谓的锁网锁卡。但是,市场上存在一些人员或组织,他们受利益的驱动,利用移动终端的下载通道非法改写移动终端中的数据,对移动终端进行破解,使之丧失锁网或锁卡的功能,从而使移动运营商及移动终端制造商蒙受巨大损失。因此,这就需要对移动终端上的数据进行加密。
目前,对数据进行加密与解密的算法一般分为非对称加密算法和对称加密算法。非对称加密算法例如有RSA算法,对称加密算法例如有数据加密标准(DES,Data Encryption Standard)算法。
RSA算法是根据寻求两个大素数p、q容易,而将它们的乘积分解开则极其困难这一原理设计的。RSA算法的安全性依赖于大数分解,大数分解所花费的代价是巨大的,所以在一定时间内能保证它的安全性。RSA算法从提出到现在已经经过了二十多年,期间经历了各种攻击的考验,被普遍认为是目前最优秀的公钥、私钥方案之一。RSA算法的加密解密过程为:A用私钥(e,n)对明文进行加密(Encrypt)得到密文s,其中私钥(e,n)只有A知道;B收到A的密文s之后,用A的公钥(d,n)对密文s进行解密(Decrypt)得到明文m;若明文m和密文s一起发送给B,则B可以确定信息确实是由A发送的,同时A也不能否认发送过该信息,因为除了A本人之外,其他任何人都无法由明文m产生密文s。
DES算法的设计思想充分体现了香农提出的混淆和扩散原则。DES算法的密码为分组密码,其长度为64位,密钥长度为64位,其中包含8位奇校验位。DES算法的加密过程为:将分组后的明文组和56位密钥按位替代或交换的方法形成密文组。DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有更有效的办法。DED算法被广泛应用于销售终端(POS)机、自动取款机(ATM)、磁卡及智能卡(IC卡)、加油站和高速公路收费站等领域,以此来实现关键数据的保密。
目前,已有一些专利申请,如中国专利申请号为200410018031.6、200410018205.9以及200710074573.9的专利申请,描述了如何将计算机数据安全下载至移动终端的方法。这些专利申请所描述的方法中都使用了RSA算法。但公开的这些技术仍存在以下不足:一、移动终端只对下载的关键数据进行加密,没有加密下载的所有数据,因此依旧存在移动终端的数据被改写的可能;二、可以有效非法改写合法的计算机中待下载的数据,然后将其下载至移动终端中。因此,上述不足仍然给一些人员或组织破解移动终端锁网锁卡的机会。
发明内容
有鉴于此,本发明的主要目的在于提供一种将计算机数据安全下载至移动终端的方法及系统,能够防止利用下载通道破解移动终端的锁网锁卡功能。
为达到上述目的,本发明的技术方案是这样实现的:
一种将计算机数据安全下载至移动终端的方法,包括:
移动终端向计算机发送下载请求,并用预先存储的移动终端制造商公钥解密预先存储的移动终端制造商密钥密文,得到移动终端制造商密钥明文;
计算机收到下载请求后,向移动终端发送预先存储的数据密文;
移动终端用所述移动终端制造商密钥明文解密收到的数据密文,得到数据明文,并存储所述数据明文。
其中,在移动终端向计算机发送下载请求之前,所述方法进一步包括:
用移动终端制造商私钥加密移动终端制造商密钥,得到移动终端制造商密钥密文,并将移动终端制造商密钥密文和移动终端制造商公钥存储在移动终端中。
其中,在移动终端向计算机发送下载请求之前,所述方法进一步包括:
计算机向移动终端发出握手信号;移动终端收到握手信号之后,向计算机发出应答信号以建立通信链接。
其中,所述移动终端制造商公钥和所述移动终端制造商私钥由RSA算法或椭圆曲线算法生成。
其中,所述移动终端制造商密钥为对称密钥或非对称密钥;
所述移动终端制造商密钥为对称密钥时,所述移动终端制造商密钥由数据加密标准算法、高级加密标准算法或三重数据加密标准算法生成;
所述移动终端制造商密钥为非对称密钥时,所述移动终端制造商密钥为由RSA算法或椭圆曲线算法生成的公钥。
其中,所述数据密文由用移动终端制造商密钥对需下载的数据加密得到。
一种将计算机数据安全下载至移动终端的系统,包括:移动终端和计算机;其中,
移动终端,用于向计算机发送下载请求,并用预先存储的移动终端制造商公钥解密预先存储的移动终端制造商密钥密文,得到移动终端制造商密钥明文;
计算机,用于在收到下载请求后,向移动终端发送预先存储的数据密文;
移动终端,用于用所述移动终端制造商密钥明文解密收到的数据密文,得到数据明文,并存储所述数据明文。
其中,所述系统进一步包括:
加密模块,用于用移动终端制造商私钥加密移动终端制造商密钥,得到移动终端制造商密钥密文,并将移动终端制造商密钥密文和移动终端制造商公钥存储在移动终端中。
其中,所述计算机,进一步用于在移动终端向自身发送下载请求之前,向所述移动终端发出握手信号;
所述移动终端,进一步用于在收到握手信号之后,向计算机发出应答信号以建立通信链接。
由以上技术方案可以看出,在现有加密算法基础上,移动终端制造商公钥可以有效保护移动终端制造商密钥密文不被篡改,而移动终端制造商密钥可以有效保护待下载的数据不被篡改,这样,形成完整的信任链,从而实现保护待下载的数据功能,并达到防止利用下载通道破解移动终端的锁网锁卡功能的目的。
附图说明
图1为本发明将计算机数据安全下载至移动终端的方法的流程示意图;
图2为本发明将计算机数据安全下载至移动终端的系统的结构示意图。
具体实施方式
以下结合附图对本发明的技术方案作详细说明。
为了说明方便,这里先定义一些常量:
移动终端制造商公钥设为(d,n);
移动终端制造商私钥设为(e,n);
移动终端制造商密钥设为key;
移动终端制造商密钥明文设为m_key;
移动终端制造商密钥密文设为s_key;
数据明文设为m_data;
数据密文设为s_data。
在将计算机数据安全下载至移动终端之前,先做以下前提工作:
移动终端制造商用移动终端制造商私钥(e,n)加密移动终端制造商密钥key,得到移动终端制造商密钥密文s_key;并将移动终端制造商密钥密文s_key和移动终端制造商公钥(d,n)存储在移动终端中。
其中,移动终端制造商公钥(d,n)和移动终端制造商私钥(e,n)可以由RSA算法或椭圆曲线算法生成。
移动终端制造商密钥key可以为对称密钥,也可以非对称密钥;如果为对称密钥,则移动终端制造商密钥key可以由DES算法、高级加密标准(AES)算法或三重数据加密标准(3DES)算法生成;如果为非对称密钥,则移动终端制造商密钥key可以为由RSA算法生成的公钥,也可以为由椭圆曲线算法生成的公钥。
在将计算机数据安全下载至移动终端之前,将计算机和移动终端建立通信链接,具体过程为:
计算机中的下载工具软件向移动终端发出握手信号;移动终端收到握手信号之后,向计算机发出应答信号,从而建立通信链接。
如图1所示,将计算机数据安全下载至移动终端的方法包括以下步骤:
步骤101,移动终端向计算机发送下载请求,并用移动终端制造商公钥(d,n)解密移动终端制造商密钥密文s_key,得到移动终端制造商密钥明文m_key。
其中,该移动终端制造商密钥明文m_key实际就是移动终端制造商密钥key。
步骤102,计算机收到下载请求后,向移动终端发送预先存储的数据密文s_data。
其中,该数据密文s_data即指待下载的数据,并且,数据密文s_data是由移动终端制造商用移动终端制造商密钥key对需下载的数据加密后得到的,并被存储在计算机上。
步骤103,移动终端用移动终端制造商密钥明文m_key解密收到的数据密文s_data,得到数据明文m_data,并存储数据明文m_data;重复步骤102~103,直至完成所有数据密文s_data的下载。
其中,数据明文m_data即是需下载的数据。
由上述流程可以看出,在现有加密算法基础上,本发明用移动终端制造商密钥key对所有需下载的数据进行加密,并在下载过程中再对其进行解密;并且,移动终端制造商公钥(d,n)可以有效保护移动终端制造商密钥密文s_key不被篡改,而移动终端制造商密钥key可以有效保护待下载的数据不被篡改,从而形成完整的信任链,保护待下载的数据。
下面解释移动终端制造商公钥(d,n)为什么可以有效保护移动终端制造商密钥密文s_key不被篡改,以及移动终端制造商密钥key为什么可以有效保护待下载的数据不被篡改:
假如移动终端制造商密钥密文s_key被篡改,为了描述方便,这里假设:
被篡改后的移动终端制造商密钥密文为Fake_s_key;
使用移动终端制造商公钥(d,n)解密Fake_s_key后得到的移动终端制造商密钥明文为Fake_m_key;
使用Fake_m_key解密数据密文s_data,得到的数据明文为Fake_m_data。
在上述步骤103中“移动终端用移动终端制造商密钥明文m_key解密收到的数据密文s_data,得到数据明文m_data,并存储数据明文m_data”,由于移动终端制造商密钥密文s_key被篡改为Fake_s_key,所以实际得到的移动终端制造商密钥明文并不是预期的m_key,而是错误的Fake_m_key。使用错误的Fake_m_key作为移动终端制造商密钥明文,对数据密文s_data解密,就会得到错误的数据明文Fake_m_data,并将Fake_m_data存储至移动终端中。
由于移动终端存储了错误的数据明文Fake_m_data,当移动终端启动应用程序时,就会出错,例如无法开机、开机死机等,用户根本无法正常使用移动终端。
同理,如果待下载的数据s_data被篡改为Fake_s_data,则使用移动终端制造商密钥明文m_key解密Fake_s_data,就会得到错误的数据明文Fake_m_data,当移动终端启动应用程序时,就会出错,例如无法开机、开机死机等,用户根本无法正常使用移动终端。
所以,篡改移动终端制造商密钥密文,或是篡改待下载的数据,不仅无法破解移动终端的锁网锁卡功能,反而会使移动终端无法正常使用。因此这种破解方法没有意义,不会被人采纳,那么,移动终端制造商密钥密文,或是待下载的数据就不会被篡改。因此,本方法可以有效保护待下载的数据。
为实现上述方法,本发明相应提供一种将计算机数据安全下载至移动终端的系统,如图2所示,该系统包括:移动终端10和计算机20;其中,
移动终端10,用于向计算机20发送下载请求,并用预先存储的移动终端制造商公钥解密预先存储的移动终端制造商密钥密文,得到移动终端制造商密钥明文;
计算机20,用于在收到下载请求后,向移动终端10发送预先存储的数据密文;
移动终端10,用于用所述移动终端制造商密钥明文解密收到的数据密文,得到数据明文,并存储所述数据明文。
该系统进一步包括:
加密模块,用于用移动终端制造商私钥加密移动终端制造商密钥,得到移动终端制造商密钥密文,并将移动终端制造商密钥密文和移动终端制造商公钥存储在移动终端10中。
其中,所述计算机20,进一步用于在移动终端10向自身发送下载请求之前,向所述移动终端10发出握手信号;
所述移动终端10,进一步用于在收到握手信号之后,向计算机20发出应答信号以建立通信链接。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。