本发明专利技术涉及一种设备生产过程中的防盗版方法及固件烧写装置。所述方法包括:第一方给第二方提供固件烧写装置及工具包SDK,第二方完成批量烧写固件程序并返回设备ID的列表数据给第一方,第一方将所述设备ID的列表数据与应用程序APP一起打包发布,用户在终端下载APP,首次下载时进行固件程序合法性验证及设备ID的有效性验证。所述烧写装置包括控制模块、加密存储模块、以太网口和USB口。本发明专利技术通过在烧写过程中采用第一方提供的固件烧写装置、限定生产数量,防止明文固件代码泄密。通过回执设备ID列表数据验证设备的合法性。通过进行固件程序合法性验证杜绝非法代码在设备中运行,从而防止黑客通过篡改代码绕过ID验证。
【技术实现步骤摘要】
本专利技术属于互联网信息安全领域,具体涉及一种电子设备在生产过程中的防盗版方法及固件烧写装置。
技术介绍
互联网技术的飞速发展和广泛应用给人们的生活带来了很大的便利,但互联网信息安全问题也变得日益严重。比如,设备制造商委托加工厂生产一批电子设备,在电子设备的批量生成过程中,加工厂或黑客就可以直接地或通过互联网间接地获取程序执行代码,从而生产出盗版的电子设备。在没有保护措施的情况下,加工厂可以通过芯片的JTAG、SPI接口直接读取设备内部的存储区来获取程序代码,从而轻易地获取制造商提供的固件程序、烧写固件的软件以及制造商提供的电路设计版图。为此,一些制造商开始采用加载器加密下载的方法防止代码被盗,但加工厂仍然可以直接操作这种使用加密方法保护的固件程序,通过解密达到制造盗版设备的目的。
技术实现思路
针对现有技术中存在的上述问题,本专利技术提出一种设备生产过程中的防盗版方法及固件烧写装置。设备制造商(以下称第一方)通过采取提供加工厂(以下称第二方)固件烧写装置,限制烧写数量,并在固件下载后和用户首次下载程序时进行当前设备存储区的合法性验证即固件程序合法性验证的方法,防止设备生产过程中的盗版行为发生。为实现上述目的,本专利技术采取如下技术方案。一种设备生产过程中的防盗版方法,包括以下步骤:步骤1,第一方给第二方提供固件烧写装置及用于烧写的软件开发工具包SDK (Software Development Kit);步骤2,第二方完成批量烧写固件程序并返回设备ID的列表数据给第一方;步骤3,第一方将所述设备ID的列表数据与应用程序APP (Applicat1n) —起打包发布;步骤4,第一方将设备销售给用户后,用户在终端下载所述APP,如果是首次下载,进行固件程序合法性验证及设备ID的有效性验证。进一步地,所述固件烧写装置通过限定烧写数量、加密下载固件程序,使第二方无法通过所述固件烧写装置获取固件程序。进一步地,步骤2所述烧写固件程序的方法包括以下步骤:步骤2.1,所述固件烧写装置检查本次烧写的剩余量,如果有剩余,则为设备分配一个新ID,记为InnerID ;步骤2.2,通过通用烧写通道烧写加载器loader ;步骤2.3,所述设备与固件烧写装置之间协商密钥;步骤2.4,进行固件程序合法性验证;步骤2.5,从通过验证的设备中获取设备ID ;步骤2.6,通过所述loader的加密接口,使用所述密钥烧写主固件程序;步骤2.7,通过所述主固件程序向设备内写入InnerID ;保存设备ID,用于批量生产完后回执给第一方。进一步地,步骤2.2所述loader是一个固件程序,用于加密烧写主固件程序,能够禁止非法读固件程序区域操作,防止密钥泄漏,还能禁止使用除loader以外烧写通道的功能,防止在此期间有其它方式替换loader。进一步地,所述固件程序合法性验证包括以下步骤:APP或SDK发送一组有序随机数到设备,所述设备根据所述随机数获取相应的一组hash (哈希,一类不可逆运算)值,APP或SDK根据随机数组计算得到另一组hash值,APP或SDK对比两组hash值,如果两组hash值相同,设备内的程序合法;否则,设备内的程序非法。进一步地,所述设备ID的有效性验证方法包括:由APP获取设备ID,APP从自己的设备ID库中查询所述设备ID,如果查到所述设备ID,该设备合法;否则,该设备为盗版设备。—种所述方法中使用的固件烧写装置,包括:控制模块,加密存储模块,以太网口,USB 口。所述控制模块分别与所述加密存储模块、以太网口和USB 口连接。进一步地,所述控制模块包括处理器及外围辅助电路,用于实现固件烧写过程的总体控制、通信控制以及基于TCP协议的网络服务。进一步地,所述加密存储模块采用进行了硬件加密处理的存储器,用于安全存储生产批次信息、设备ID列表、生产过程中使用的密钥和固件程序文件。进一步地,所述USB接口用于所述固件烧写装置与被烧写设备之间的通信及传输固件程序。进一步地,所述以太网口为所述固件烧写装置提供网络服务,第一方通过网络远程配置固件烧写装置。与现有技术相比,本专利技术具有以下优点:(I)本专利技术所述防盗版方法,通过在烧写过程中采用制造商(第一方)提供的固件烧写装置,并由制造商通过所述固件烧写装置限定生产数量,防止明文固件代码泄密。通过回执设备ID列表数据,验证设备的合法性。(2)本专利技术所述防盗版方法,通过进行固件程序合法性验证,杜绝非法代码在设备中运行,从而防止黑客通过篡改代码绕过ID验证。(3)本专利技术所述固件烧写装置通过以太网口对固件烧写装置进行远程配置,采用进行过硬件加密处理的存储器,能够有效防止烧写过程中烧写程序被操作人员或黑客盗取,大大提高了烧写过程中的保密性。【附图说明】图1为本专利技术所述防盗版方法的主流程图;图2为烧写固件程序的方法流程图;图3为固件烧写装置的组成框图。【具体实施方式】下面结合附图和实施例对本专利技术做进一步说明。下面实施例中的具体数值只是为了说明本专利技术的实现方法,并不形成对本专利技术保护范围的限制。本专利技术提出一种在设备加工过程中的防盗版方法,适合于设备与专有应用程序一同使用的情况。图1给出了本专利技术所述方法的主流程图,具体包括以下步骤:步骤1:第一方给第二方提供固件烧写装置及烧写SDK。步骤2:第二方批量烧写固件程序。步骤3:第二方返回设备ID列表数据给第一方。步骤4:第一方将ID列表与APP —并打包发布。步骤5:第一方销售设备给用户。步骤6:终端APP首次下载时对设备进行固件程序的合法性验证。步骤7:终端APP首次下载时验证设备ID有效性。验证方法如下:由APP获取设备ID,APP从自己的设备ID库中查询这个ID,如果查到这个ID说明该设备为合法生产的,否则为盗版设备。图2给出了步骤2所述烧写固件程序的方法流程图,具体包括以下步骤:步骤2.1:第二方流水线上发起烧写请求步骤2.2:固件烧写装置检查剩余烧写数量,如有剩余则为本次烧写的设备分配一个InnerlD。如果没有剩余则返回失败。步骤2.3:通过通用烧写通道烧写loader程序。loader用于加密烧写主固件程序,具有禁用非法读固件程序区域的功能,防止密钥泄漏,还具有禁用除loader以外烧写通道的功能,防止在此期间有其余方式替换1ader0步骤2.4:动态协商随机密钥,密钥协商算法采用公共的DH(Diffie - Heilman keyexchange)协议,并使用该密钥保护设备与SDK之间传输的主固件程序。步骤2.5:进行设备固件程序的合法性验证。如果没有合法性验证步骤,黑客可以在此之前上传篡改过的loader,从而能够获得伪造的ID,及至获取密钥,从而解密出主固件程序。本步骤的目的是为了防止设备中出现非法程序。当前第1页1 2 本文档来自技高网...
【技术保护点】
一种设备生产过程中的防盗版方法,其特征在于包括以下步骤:步骤1,第一方给第二方提供固件烧写装置及用于烧写的软件开发工具包SDK;步骤2,第二方完成批量烧写固件程序并返回设备ID的列表数据给第一方;步骤3,第一方将所述设备ID的列表数据与应用程序APP一起打包发布;步骤4,第一方将设备销售给用户后,用户在终端下载所述APP,如果是首次下载,进行固件程序合法性验证及设备ID的有效性验证。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘涛,易啟林,
申请(专利权)人:北京后易科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。