基于u盘载体的程序签名和升级错误恢复方法及装置的制作方法

文档序号:6336525阅读:198来源:国知局
专利名称:基于u盘载体的程序签名和升级错误恢复方法及装置的制作方法
技术领域
本发明涉及信息技术领域,特别涉及基于U盘载体的程序签名和升级错误恢复方法。
背景技术
随着U盘的广泛使用,使得很多的应用程序开始使用U盘为载体。这种以U盘为 载体的应用方式,虽然能够方便应用程序的使用,但由于U盘内数据的可复制性,无法保证 产品授权的唯一性。即使厂家通过授权文件可以控制产品的授权,能够保证程序在非授权 下不可运行,但是却无法限制同一份授权文件应用在多个程序上,只要获得了正确的产品 授权文件,则可以在任何载体上使用产品,因此会出现同一产品供多人使用的问题。同时, 对于现有U盘载体的程序产品,在升级的过程中,通常要求不能中断,如果意外情况导致程 序升级中断,将有可能破坏程序段完整性,导致升级后的程序不可用的情况。

发明内容
本发明提供了一种基于U盘载体的程序签名和升级错误恢复方法,解决了基于U 盘载体的程序产品载体不唯一,以及升级后程序不可用的问题。一种基于U盘载体的程序签名方法,包括如下步骤
a.读取当前U盘固有识别ID和原始固有识别ID;
b.对比当前U盘固有识别ID与原始固有识别ID是否相同,如果相同,则读取签名序 列,否则结束;
c.读取签名序列后,判断签名序列是否正确,如果正确,则执行程序签名之后的流程, 否则结束。所述的方法中,将所述的U盘载体分为程序存储分区和隐藏存储分区。所述的方法中,所述的隐藏存储分区对使用U盘载体的装置不可见。所述的方法中,在程序继续运行的空闲时间,执行所述步骤a到C。所述的方法中,在执行步骤a前,将原始固有识别ID与签名序列存储在隐藏存储 分区中。一种基于U盘载体的程序签名装置,包括第一读取单元、对比单元、第二读取单 元、判断单元和处理单元;
第一读取单元,用于读取当前U盘固有识别ID和原始固有识别ID ; 对比单元,用于对比当前U盘固有识别ID与原始固有识别ID是否相同; 第二读取单元,用于在对比单元确定当前U盘固有识别ID与原始固有识别ID相同时, 则读取签名序列;
判断单元,用于在第二读取单元读取签名序列后,判断签名序列是否正确; 处理单元,用于在判断单元确定签名序列正确时,进行程序签名之后的处理,否则结束 处理,并且,在对比单元确定当前U盘固有识别ID与原始固有识别ID不相同时,结束处理。
一种基于U盘载体的升级错误恢复方法,包括如下步骤
d.获取并存储升级文件的MD5值;
e.获取并存储升级文件,计算升级文件的MD5值;
f.校验获取的MD5值和计算得到的升级文件的MD5值是否相同,如果相同,则读取存储 的升级文件,对程序进行升级,否则返回步骤d ;
在读取存储的升级文件、对程序进行升级的过程中,如果读取存储的升级文件发生错 误,则重新读取存储的升级文件;
在读取存储的升级文件、对程序进行升级的过程中,如果确定程序能够正常运行,则升 级完成,否则,读取原始程序。所述的方法中,将所述的U盘载体分为程序存储分区和隐藏存储分区。所述的方法中,所述的隐藏存储分区对使用U盘载体的装置不可见。所述的方法中,所述的升级文件的MD5值、升级文件和原始程序存储在隐藏存储 分区内。一种基于U盘载体的升级错误恢复装置,所述的装置包括第一读取及存储单元、 对比单元、第二读取单元、判断单元和处理单元;
第一读取及存储单元,用于读取及存储升级文件的MD5值和升级文件,并计算升级文 件的MD5值;
对比单元,用于对比读取的MD5值和计算得到的升级文件的MD5值是否相同; 第二读取单元,用于在对比单元确定读取的MD5值和计算得到的升级文件的MD5值相 同时,读取存储的升级文件;
判断单元,用于在第二读取单元读取存储的升级文件时,判断升级是否发生错误,如果 读取存储的升级文件发生错误,则第二读取单元重新读取存储的升级文件;
处理单元,用于在第二读取单元读取存储的升级文件、对程序进行升级的过程中,确定 程序是否能够正常运行,如果是,则升级完成,否则,读取原始程序。本发明提供了一种基于U盘载体的程序签名和升级错误恢复方法,所述程序签名 方法中,将U盘载体分为了程序存储分区和隐藏存储分区,所述的方法包括读取当前U盘 固有识别ID和原始固有识别ID,并进行对比,如果相同则读取签名序列,继续判断签名序 列是否正确,如果正确则程序继续执行,如果错误则结束。所述升级错误恢复方法中,在U 盘载体的隐藏存储分区中存储原始程序,通过升级文件的MD5值,确定升级文件是否完整, 如果MD5值相同,则将升级文件写入程序存储分区,当升级后的程序无法正常运行时,将隐 藏存储分区中的原始程序写入到程序存储分区内。通过本发明提供的方法,能够解决基于 U盘载体的程序产品载体不唯一,以及升级后程序不可用的问题。


为了更清楚地说明本发明或现有技术中的技术方案, 下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中 记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。图1为本发明提供的一种基于U盘载体的程序签名方法;图2为本发明提供的一种基于U盘载体的程序签名装置; 图3为本发明提供的一种基于U盘载体的升级错误恢复方法;图4为本发明提供的一种基于U盘载体的升级错误恢复装置。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详 细的说明。本发明提供了一种基于U盘载体的程序签名和升级错误恢复方法,解决了基于U盘载体的程序产品载体不唯一,以及升级后程序不可用的问题。本发明首先提供了一种基于U盘载体的程序签名方法,如图1所示,包括如下步 骤
5101读取当前U盘固有识别ID和原始固有识别ID ;
5102对比当前U盘固有识别ID与原始固有识别ID是否相同,如果相同,则执行S103, 否则结束程序运行;
5103读取签名序列;
5104判断签名序列是否正确,如果正确,则执行S105,否则,退出程序;
5105执行程序签名之后的流程。所述的方法中,将所述的U盘载体分为了程序存储分区和隐藏存储分区。所述的方法中,所述的隐藏存储分区对使用U盘载体的装置不可见。所述的方法中,在程序继续运行空闲时间,执行所述的步骤a到C,以实时监测U盘 的状态,一旦U盘被移出,则程序终止运行。所述的方法中,在执行所述步骤a前,将原始固有识别ID与签名序列存储在隐藏 存储分区中。本发明提供了一种基于U盘载体的程序签名装置,如图2所示,所述的装置包括第 一读取单元201、对比单元202、第二读取单元203、判断单元204和处理单元205 ;
第一读取单元201,用于读取当前U盘固有识别ID和原始固有识别ID ; 对比单元202,用于对比当前U盘固有识别ID与原始固有识别ID是否相同; 第二读取单元203,用于在对比单元202确定当前U盘固有识别ID与原始固有识别ID 相同时,则读取签名序列;
判断单元204,用于在第二读取单元203读取签名序列后,判断签名序列是否正确; 处理单元205,用于在判断单元204确定签名序列正确时,进行后续处理,否则结束处 理,并且,在对比单元202确定当前U盘固有识别ID与原始固有识别ID不相同时,结束处 理。本发明还提供了一种基于U盘载体的升级错误恢复方法,如图3所示,包括如下步 骤
5301获取并存储升级文件的MD5值;
5302获取并存储升级文件,计算升级文件的MD5值;
5303校验获取的MD5值和计算得到的升级文件的MD5值是否相同,如果相同,则执行S304,否则返回S301 ;
5304读取存储的升级文件,对程序进行升级,并判断读取存储的升级文件是否正确, 程序是否能够正常运行,如果是,则升级完成,否则执行步骤S305 ;
5305读取原始程序。所述的方法中,将所述的U盘载体分为程序存储分区和隐藏存储分区。所述的方法中,所述的隐藏存储分区对使用U盘载体的装置不可见。所述的方法中,所述的升级文件的MD5值、升级文件和原始程序存储在隐藏存储 分区内。本发明提供了一种基于U盘载体的升级错误恢复装置,如图4所示,所述的装置 包括第一读取及存储单元401、对比单元402、第二读取单元403、判断单元404和处理单元 405 ;
第一读取及存储单元401,用于读取及存储升级文件的MD5值和升级文件,并计算升级 文件的MD5值;
对比单元402,用于对比读取的MD5值和计算得到的升级文件的MD5值是否相同; 第二读取单元403,用于在对比单元402确定读取的MD5值和计算得到的升级文件的 MD5值相同时,读取存储的升级文件;
判断单元404,用于在第二读取单元403读取存储的升级文件时,判断升级是否发生错 误,如果读取存储的升级文件发生错误,则第二读取单元403重新读取存储的升级文件;
处理单元405,用于在第二读取单元403读取存储的升级文件、对程序进行升级的过程 中,确定程序是否能够正常运行,如果是,则升级完成,否则,读取原始程序。本发明提供了一种基于U盘载体的程序签名和升级错误恢复方法,将U盘载体分 为了程序存储分区和隐藏存储分区,程序存储分区中的程序读取当前U盘固有识别ID和隐 藏存储分区内的原始固有识别ID,并进行对比,如果相同,则读取签名序列;如果判 断签名 序列正确则程序继续运行,如果错误则程序结束运行。所述升级错误恢复方法中,在U盘载 体的隐藏存储分区中存储原始程序,通过升级文件的MD5值,确定升级文件是否完整,如果 MD5值相同,则将升级文件写入程序存储分区,当升级后的程序无法正常运行时,将隐藏存 储分区中的原始程序写入到程序存储分区内。通过本发明提供的方法,能够解决基于U盘 载体的程序产品载体不唯一,以及升级后程序不可用的问题。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和 变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的 精神。
权利要求
一种基于U盘载体的程序签名方法,其特征在于,所述的方法包括如下步骤a.读取当前U盘固有识别ID和原始固有识别ID;b.对比当前U盘固有识别ID与原始固有识别ID是否相同,如果相同,则读取签名序列,否则结束;c.读取签名序列后,判断签名序列是否正确,如果正确,则执行程序签名之后的流程,否则结束。
2.如权利要求1所述的方法,其特征在于,将所述的U盘载体分为程序存储分区和隐藏 存储分区。
3.如权利要求2所述的方法,其特征在于,所述的隐藏存储分区对使用U盘载体的装置 不可见。
4.如权利要求1所述的方法,其特征在于,在程序继续运行的空闲时间,执行所述步骤a到C0
5.如权利要求2所述的方法,其特征在于,在执行步骤a前,将原始固有识别ID与签名 序列存储在隐藏存储分区中。
6.一种基于U盘载体的程序签名装置,其特征在于,所述的装置包括第一读取单元、对 比单元、第二读取单元、判断单元和处理单元;第一读取单元,用于读取当前U盘固有识别ID和原始固有识别ID ;对比单元,用于对比当前U盘固有识别ID与原始固有识别ID是否相同;第二读取单元,用于在对比单元确定当前U盘固有识别ID与原始固有识别ID相同时, 则读取签名序列;判断单元,用于在第二读取单元读取签名序列后,判断签名序列是否正确;处理单元,用于在判断单元确定签名序列正确时,进行程序签名之后的处理,否则结束 处理,并且,在对比单元确定当前U盘固有识别ID与原始固有识别ID不相同时,结束处理。
7.一种基于U盘载体的升级错误恢复方法,其特征在于,所述的方法包括如下步骤d.获取并存储升级文件的MD5值;e.获取并存储升级文件,计算升级文件的MD5值;f.校验获取的MD5值和计算得到的升级文件的MD5值是否相同,如果相同,则读取存储 的升级文件,对程序进行升级,否则返回步骤d ;在读取存储的升级文件、对程序进行升级的过程中,如果读取存储的升级文件发生错 误,则重新读取存储的升级文件;在读取存储的升级文件、对程序进行升级的过程中,如果确定程序能够正常运行,则升 级完成,否则,读取原始程序。
8.如权利要求7所述的方法,其特征在于,将所述的U盘载体分为程序存储分区和隐藏 存储分区。
9.如权利要求8所述的方法,其特征在于,所述的隐藏存储分区对使用U盘载体的装置 不可见。
10.如权利要求8所述的方法,其特征在于,所述的升级文件的MD5值、升级文件和原始 程序存储在隐藏存储分区内。
11.一种基于U盘载体的升级错误恢复装置,其特征在于,所述的装置包括第一读取及存储单元、对比单元、第二读取单元、判断单元和处理单元;第一读取及存储单元,用于读取及存储升级文件的MD5值和升级文件,并计算升级文件的MD5值;对比单元,用于对比读取的MD5值和计算得到的升级文件的MD5值是否相同; 第二读取单元,用于在对比单元确定读取的MD5值和计算得到的升级文件的MD5值相 同时,读取存储的升级文件;判断单元,用于在第二读取单元读取存储的升级文件时,判断升级是否发生错误,如果读取存储的升级文件发生错误,则第二读取单元重新读取存储的升级文件;处理单元,用于在第二读取单元读取存储的升级文件、对程序进行升级的过程中,确定程序是否能够正常运行,如果是,则升级完成,否则,读取原始程序。
全文摘要
本发明提供了基于U盘载体的程序签名和升级错误恢复方法,所述程序签名方法通过程序读取当前U盘固有识别ID和隐藏存储分区内的原始固有识别ID,并进行对比,如果相同则继续读取签名序列,并判断签名序列是否正确,如果正确则执行程序签名之后的流程,如果错误则程序结束运行。所述升级错误恢复方法,在U盘载体的隐藏存储分区中存储原始程序,如果升级后的程序无法正常运行,则将隐藏存储分区中的原始程序写入到程序存储分区内。
文档编号G06F9/445GK101989323SQ20101055487
公开日2011年3月23日 申请日期2010年11月23日 优先权日2010年11月23日
发明者桑胜田, 黄显澍 申请人:北京安天电子设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1