一种固件的保护方法和保护装置制造方法
【专利摘要】本发明涉及网络设备安全领域,公开了一种固件的保护方法和保护装置。该方法包括:通过哈希算法,对固件进行哈希,得到所述固件的哈希值;利用不对称加密算法的私钥加密所述固件的哈希值,得到所述固件的数字签名;将所述固件和所述数字签名发送到路由器的软件中;通过哈希算法,对所述固件进行哈希,得到所述固件的哈希值;利用不对称加密算法的公钥解密所述数字签名,得到解密后的哈希值;对比所述固件的哈希值和所述解密后的哈希值,若相等,则可以完成路由器升级。通过本发明,可以对固件进行数字签名,确保固件来源的安全性和数据完整性,同时保护数据,防止伪造。
【专利说明】一种固件的保护方法和保护装置
【技术领域】
[0001]本发明涉及网络设备安全领域,特别涉及一种固件保护方法。
【背景技术】
[0002]近年来,计算机网络快速普及,网络时代正式来临,不仅一家一户要安装网络,甚至公共场合,包括电影院、公交车和大型商场等都铺设有无线网络。因此,用于网络互连的路由器显得尤为重要。为防止本地升级或本地刷机的路由器软件被他人构建的软件替代,完成一些非法操作,例如,攻击服务器、非法收集用户信息和重定向用户的URL等,路由器厂商采用数字签名的方式加密固件,防止固件被中途截获伪造。目前,厂商用来进行数字签名的主流技术方案有:
[0003]1、采用特殊格式加密固件;
[0004]2、采用哈希或者其他校验算法;
[0005]3、采用对称加密算法,例如,AES算法,加密,
[0006]使用这些方式加密固件,虽然在一定程度上保证了固件的安全,但这些方式也都很容易被破解,一旦被破解,仍旧无法认证固件的来源,并且无法核实固件是否发生变化,被人篡改,使用这样的固件本地升级或本地刷机,存在极大的网络安全问题,甚至会造成网络瘫痪。
【发明内容】
[0007]针对现有技术的缺陷,本发明所要解决的技术问题是,提供一种固件保护方法,以解决他人篡改固件,路由器无法认证并核实固件来源是否发生变化的问题。
[0008]为解决上述问题,本发明提供了一种固件保护方法,所述的固件保护方法包括步骤:
[0009]S1、对固件进行数字签名;
[0010]S2、验证数字签名。
[0011]优选地,所述步骤SI包括步骤:
[0012]S101、通过哈希算法对所述固件进行哈希,得到所述固件的哈希值;
[0013]S102、使用非对称加密算法的私钥加密所述哈希值,得到所述数字签名;
[0014]S103、将所述数字签名保存在所述固件中。
[0015]优选地,所述步骤S2包括步骤:
[0016]S201、通过所述哈希算法对所述固件进行哈希,得到所述固件的哈希值;
[0017]S202、使用非对称加密算法的公钥解密所述数字签名,得到解密后的哈希值;
[0018]S203、对比所述固件的哈希值和所述解密后的哈希值,并判断所述固件的真实性。
[0019]优选地,所述步骤SI在服务器端完成,所述数字签名和所述固件发送并保存到所述路由器软件中;所述步骤S2在所述路由器软件中完成。
[0020]优选地,在所述步骤S203中,若所述固件的哈希值和所述解密后的哈希值相等,则数字签名验证通过,升级所述固件;若所述固件的哈希值和所述解密后的哈希值不相等,则数字签名验证不通过,丢弃所述固件。
[0021]为了实现上述目的,根据本发明的另一方面,提供了一种固件保护装置,所述的固件保护装置包括:
[0022]数字签名装置,用于对固件进行数字签名;
[0023]验证装置,用于验证所述固件的数字签名;
[0024]优选地,所述数字签名装置包括:
[0025]第一哈希模块,用于对所述固件进行哈希,得到所述固件的哈希值;
[0026]加密模块,用于将所述哈希值用非对称加密算法的私钥加密,得到所述数字签名;
[0027]存储模块,用于将所述数字签名保存在所述固件中。
[0028]优选地,所述验证装置包括:
[0029]第二哈希模块,用于对所述固件进行哈希,得到所述固件的哈希值;
[0030]解密模块,用于将所述数字签名用非对称加密算法的公钥解密,得到解密后的哈希值;
[0031]判断模块,用于对比所述固件的哈希值和所述解密后的哈希值,并判断所述固件的真实性。
[0032]优选地,所述数字签名装置在服务器端运行,将所述数字签名和所述固件发送并保存到所述路由器软件中;所述验证装置在所述路由器软件端运行。
[0033]优选地,所述判断模块判断固件的真实性,若所述固件的哈希值和所述解密后的哈希值相等,则数字签名验证通过,升级所述固件;若不相等,则数字签名验证不通过,丢弃所述固件。
【专利附图】
【附图说明】
[0034]图1为本发明的一个优选实施例中固件保护方法的流程示意图;
[0035]图2为本发明的一个优选实施例中对固件进行数字签名的流程示意图;
[0036]图3为本发明的一个优选实施例中验证数字签名的流程示意图;
[0037]图4为本发明的一个优选实施例中路由器固件升级的流程示意图;
[0038]图5为本发明的一个优选实施例中固件保护装置的框图。
【具体实施方式】
[0039]以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。说明书后续描述为实施本发明的较佳实施方式,然所述描述仍以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
[0040]参见图1,本发明实施例提供了一种固件保护方法,该方法包括步骤:
[0041]S1、对固件进行数字签名;
[0042]S2、验证数字签名。
[0043]在本发明中,通过哈希算法和非对称加密算法对固件进行数字签名,使得路由器软件在接收数字签名后,可以验证数字签名,从而确定固件来源是否发生变化,保护固件数据,以防止他人伪造固件刷掉路由器软件,保障了网络的安全性。
[0044]在本实施例中,哈希算法采用安全哈希算法SM, SHA是一种对输入信息进行摘要的算法,这种算法可以保证不同的输入信息产生的摘要一定不相同;非对称加密算法采用公钥加密算法RSA,RSA算法能够保证只要密钥足够长,就无法破解使用RSA加密的信息,本实施例中,RSA密钥的长度为2048位。
[0045]进一步地,参见图2,步骤SI包括步骤:
[0046]S101、通过SHAl对固件进行哈希,得到固件的哈希值;
[0047]S102、使用RSA私钥加密固件的哈希值,得到数字签名;
[0048]S103、将数字签名保存在固件中;
[0049]步骤SI在服务器端完成;将步骤S103得到的数字签名和固件发送到路由器软件中,并保存。
[0050]更进一步地,参见图3,步骤S2包括步骤:
[0051]S201、通过SHAl对固件进行哈希,得到固件的哈希值;
[0052]S202、使用RSA的公钥解密数字签名,得到解密后的哈希值;
[0053]S203、对比固件的哈希值和解密后的哈希值,并判断固件的真实性;
[0054]步骤S2在路由器中完成;步骤S203判断固件真实性的方法包括:对比步骤S201和步骤S202得到的哈希值,如果相等,则数字签名验证通过,升级路由器;如果不相等,则数字签名验证不通过,固件来源错误或数据不完整,丢弃保存在路由器软件中的固件和数字签名,向服务器端发送消息,请求重新发送固件。
[0055]本发明中,步骤SI和步骤S2实现了对固件进行数字签名并验证的要求,由于SHA的不可逆性和RSA算法的不可破解性,可以核实固件来源的安全性和数据的完整性,完全杜绝固件被人为篡改或替代的可能,保障了用户网络的安全性。
[0056]进一步地,参见图4,公开了一种路由器升级的方法,上电后,按下路由器reset键,从服务器端下载经过数字签名的固件,验证固件的数字签名,若数字签名通过验证,则刷机,正常重新启动路由器完成升级;若数字签名未通过验证,丢弃已下载的固件,按下reset键重新下载固件。由此可知,经过SHA哈希和RSA加密得到的数字签名无法破解,在本地进行路由器刷机和升级时,通过验证数字签名,可以很容易的验证固件来源和数据的真实性和完整性,从而获取到真实完整的固件,完成升级。
[0057]图5是本实施例中固件保护装置的框图,如图5所示,该装置包括:数字签名装置110和验证装置120 ;其中,
[0058]数字签名装置110包括第一哈希模块111、加密模块112和存储模块113 ;
[0059]验证装置120包括第二哈希模块121、解密模块122和判断模块123 ;
[0060]数字签名装置110在服务器端运行,用于对固件进行数字签名;验证装置120在路由器端运行,用于验证固件的数字签名。
[0061]第一哈希模块111用SHA对固件进行哈希,得到固件的哈希值,将哈希值传入加密模块112 ;加密模块112使用RSA的私钥对哈希值进行加密,得到数字签名,数字签名传入并储存在存储模块113中。
[0062]第二哈希模块121用SHA固件进行哈希,得到固件的哈希值,将其传入判断模块123 ;解密模块122使用RSA的公钥对数字签名解密,得到解密后的哈希值,将其传入判断模块 123。
[0063]判断模块123对比固件的哈希值和解密后的哈希值,以此来判断路由器端固件的真实性。若固件的哈希值和解密后的哈希值相等,则数字签名验证通过,升级所述固件;若不相等,则数字签名验证不通过,丢弃所述固件。
[0064]在本实施例中,数字签名装置通过第一哈希模块、加密模块和存储模块配合对固件进行数字签名并保存;将固件和其数字签名发送到路由器端,第二哈希模块和解密模块分别对固件和数字签名进行处理,得到相应哈希值,并在判断模块中比对,以确定固件来源的安全性和数据的完整性,能够起到防止恶意升级或恶意刷机,提高用户上网安全。
[0065]与现有技术相比,本发明提供了一种固件保护方法,在服务器端利用哈希算法和非对称加密算法加密固件得到数字签名,确保了固件数据即使在中途被截获,也无法被他人破解,篡改固件信息;在路由器端验证数字签名,确保了固件信息即使在中途被截获篡改,也可以在路由器端验证其真实性,完全杜绝了使用不安全的固件升级或刷新路由器的可能,保证了固件来源的安全性和数据的完整性,防止本地升级或本地刷机的路由器被轻易破解,从而使用户上网更加安全。
[0066]虽然以上结合优选实施例对本发明进行了描述,但本领域的技术人员应该理解,本发明所述的方法和系统并不限于【具体实施方式】中所述的实施例,在不背离由所附权利要求书限定的本发明精神和范围的情况下,可对本发明作出各种修改、增加、以及替换。
【权利要求】
1.一种固件保护方法,其特征在于,所述的固件保护方法包括步骤: 51、对固件进行数字签名; 52、验证数字签名。
2.如权利要求1所述的固件保护方法,其特征在于,所述步骤SI包括步骤: 5101、通过哈希算法对所述固件进行哈希,得到所述固件的哈希值; 5102、使用非对称加密算法的私钥加密所述哈希值,得到所述数字签名; 5103、将所述数字签名保存在所述固件中。
3.如权利要求1所述的固件保护方法,其特征在于,所述步骤S2包括步骤: 5201、通过所述哈希算法对所述固件进行哈希,得到所述固件的哈希值; 5202、使用非对称加密算法的公钥解密所述数字签名,得到解密后的哈希值; 5203、对比所述固件的哈希值和所述解密后的哈希值,并判断所述固件的真实性。
4.如权利要求1所述的固件保护方法,其特征在于,所述步骤SI在服务器端完成,所述数字签名和所述固件发送并保存到所述路由器软件中;所述步骤S2在所述路由器软件中完成。
5.如权利要求3所述的固件保护方法,其特征在于,在所述步骤S203中,若所述固件的哈希值和所述解密后的哈希值相等,则数字签名验证通过,升级所述固件;若所述固件的哈希值和所述解密后的哈希值不相等,则数字签名验证不通过,丢弃所述固件。
6.一种固件保护装置,其特征在于,所述的固件保护装置包括: 数字签名装置,用于对固件进行数字签名; 验证装置,用于验证所述固件的数字签名。
7.如权利要求6所述的固件保护装置,其特征在于,所述数字签名装置包括: 第一哈希模块,用于对所述固件进行哈希,得到所述固件的哈希值; 加密模块,用于将所述哈希值用非对称加密算法的私钥加密,得到所述数字签名; 存储模块,用于将所述数字签名保存在所述固件中。
8.如权利要求6所述的固件保护装置,其特征在于,所述验证装置包括: 第二哈希模块,用于对所述固件进行哈希,得到所述固件的哈希值; 解密模块,用于将所述数字签名用非对称加密算法的公钥解密,得到解密后的哈希值; 判断模块,用于对比所述固件的哈希值和所述解密后的哈希值,并判断所述固件的真实性。
9.如权利要求6所述的固件保护装置,其特征在于,所述数字签名装置在服务器端运行,将所述数字签名和所述固件发送并保存到所述路由器软件中;所述验证装置在所述路由器软件端运行。
10.如权利要求8所述的固件保护装置,其特征在于,所述判断模块判断固件的真实性,若所述固件的哈希值和所述解密后的哈希值相等,则数字签名验证通过,升级所述固件;若不相等,则数字签名验证不通过,丢弃所述固件。
【文档编号】H04L29/06GK104506515SQ201410789754
【公开日】2015年4月8日 申请日期:2014年12月17日 优先权日:2014年12月17日
【发明者】冷优军 申请人:北京极科极客科技有限公司