一种解决信息安全设备远程升级重放性的方法和系统的制作方法

文档序号:7746383阅读:195来源:国知局
专利名称:一种解决信息安全设备远程升级重放性的方法和系统的制作方法
技术领域
本发明涉及信息安全设备升级技术,特别是一种解决信息安全设备远程升级重放性的方法和系统。
背景技术
一般来说,软件的升级可以通过Internet的方式进行,方便用户使用。但是硬件 的升级通常使用邮寄的方式,受地理的限制,用户拿到新硬件就需要几天的时间,同时比较 麻烦。并且,软件保护产品和其他信息安全设备作为软件产品的一部分,通过邮寄的方式更 新用户的产品,严重影响了用户的正常使用。因此,很多信息安全设备都提供了远程升级的功能。信息安全设备的远程升级一 般包括如下过程1、升级包生成端将升级数据A,如数据、代码、授权信息、固件程序等内容进行加密 和签名操作之后得到升级信息B(如升级数据没有保密和防伪造需求,也可不进行加密和 签名等处理),将得到的升级信息B传输至用户升级端。2、在用户升级端调用信息安全设备的升级接口,将处理后的升级信息B还原为升 级数据A,并实现对信息安全设备数据、代码、授权信息、固件程序等内容的升级。在以上过程中不需要专业人员到信息安全设备所在的现场进行任何升级操作,也 不需要将信息安全设备寄回,而是由升级包生成端来更新,大大节省了物流、人力成本和管 理成本。在步骤1前,用户升级端可能需要告知升级包生成端自身信息安全设备的特征 码,以便生成的升级包对应唯一用户升级端的信息安全设备,即升级包仅用于其对应的用 户升级端,而不能用在其他用户升级端。很多情况下,远程升级中的升级包并不存在重放性问题,即可多次重复升级。比如 对路由器等设备,他们进行远程升级的内容基本上是路由器的新版本固件代码,这种升级 包可以多次重复升级。但是对于一些升级数据只希望用户升级端升级一次,再次进行升级时则不能升级 成功。比如对于提供授权管理功能的信息安全设备,这种设备中保存了软件可用次数授权。 每次客户使用与该信息安全设备绑定的软件时,该软件需要检查信息安全设备中的软件可 用次数是否仍然有效,如果有效,则将软件可用次数授权减1,然后才能开始运行。当软件可 用次数授权用完之后,软件无法使用,这时软件用户可以向软件开发商再购买软件可用次 数授权。类似的只希望升级一次的升级包还有软件剩余天数授权。我们称这种升级包为一 次有效的升级包。对于一次有效的升级包就不能重复升级,就存在重放性问题。目前解决信息安全设备重放性的方法如下A、升级包生成端和用户升级端约定一个相同的数值N,数值N同时存放在升级包 生成端和用户升级端。B、升级包生成端每次生成升级包时,将数值N加1,并放在远程升级包中,加上签名操作,发给用户升级。C、用户升级端拿到远程升级包后,验证签名,提取出数值内容,与原来保存的数值 进行比较,如果远程升级包中的数值比较大,则将用户升级端保存的数值更新,并更新待升 级内容。该方法有一个很大的弱点,即升级包生成端必须记住每一个用户升级端的当前数 值,当用户升级端数量很多的时候,会造成升级包生成端的工作量急剧增加。

发明内容
本发明实施例提出一种解决信息安全设备远程升级重放性的方法,在解决信息安 全设备重放性的同时减少升级包生成端的工作量。本发明实施例还提出一种解决信息安全设备远程升级重放性的系统,在解决信息 安全设备重放性的同时减少升级包生成端的工作量。本发明实施例的技术方案如下一种解决信息安全设备远程升级重放性的方法,该方法包括将升级包和时间戳TSb组合后发送;接收并拆分所述组合,判断TSb比时间戳TSa大时,升级包更新,并用TSb更新TSa。所述升级包和时间戳TSb组合之前进一步包括,利用针对密钥Key’对升级包和时 间戳TSb组合签名处理,得到签名信息Sigdf Sig、升级包和时间戳TSb组合后发送;所述拆分后,所述判断之前进一步包括,由与Key’对应的密钥Key对Sig验签处 理,对验签处理通过的TSb执行所述的判断。设置标志flag,初次发送所述组合时,在所述验签处理通过后,所述执行判断TSb 与TSa之前,进一步包括判断有flag,则升级包更新,并用TSb作为TSa,并清除flag。所述将Sig、升级包和时间戳TSb组合签名后,进一步包括对组合签名的加密处 理;所述拆分Sig、升级包和时间戳TSb组合签名数据之前,进一步包括对组合签名的 解密处理。所述升级包和时间戳TSb组合之后,所述发送之前,进一步包括对升级包和时间戳 TSb进行加密处理,得到升级包和时间戳TSb的加密组合;然后利用针对用户端的密钥Key’对升级包和时间戳TSb的加密组合签名处理,得 到签名信息Sig,将升级包和时间戳TSb的加密组合与Sig组合后发送;所述拆分后,所述判断之前进一步包括,由与Key’对应的密钥Key对Sig验签处 理,验签处理通过后,对升级包和时间戳TSb的加密组合进行解密处理。所述签名处理之前,进一步对升级包进行加密处理,所述签名处理是利用密钥 Key’对加密后升级包和时间戳TSb组合签名处理,得到签名信息SigJf Sig、加密后升级包 和时间戳TSb组合后发送;所述验签后,得到加密后升级包和时间戳TSb,对所述加密后升级包进行解密处理。所述TSb是生成升级包时的时间戳、升级包签名时的时间戳、组合升级包时的时间 戳中的任意一个。
在初次发送所述组合前所述时间戳TSa为操作系统的安装时间、软件系统的安装 时间、初始化时间、其他任何比TSb早的时间中的任意一个。一种解决信息安全设备远程升级重放性的系统,该系统包括服务器和用户端,所述服务器端包括时间单元和组合单元;所述用户端包括控制单元和判断单元;时间单元,产生时间戳TSb,将TSb发送组合单元;组合单元,将升级包和时间戳TSb组合,并发送至用户端的控制单元;控制单元,拆分升级包和时间戳TSb的组合,将TSb输入判断单元;判断单元,判断TSb比用户端时间戳TSa大时,升级包更新,并用TSb更新TSa。所述服务器进一步包括密钥单元,生成针对用户端的密钥对Key和Key’,将Key发送用户端的控制单元, Key’发送组合单元;所述组合单元进一步根据密钥Key’对升级包和时间戳TSb组合签名处理,得到签 名信息Sig,将Sig、升级包和时间戳TSb组合,并发送至用户端的控制单元;所述控制单元,拆分Sig、升级包和时间戳TSb的组合,再由密钥Key对Sig验签处 理,将验签处理后的TSb输入判断单元。所述服务器进一步包括加密单元,所述加密单元对所述组合后的Sig、升级包和时 间戳TSb加密,再发送至用户端的控制单元;所述用户端进一步包括解密单元,对所述Sig、升级包和时间戳TSb组合先进行解 密,再由所述的控制单元进行所述的拆分。所述服务器进一步包括密钥单元,生成针对用户端的密钥对Key和Key’,将Key发送用户端的控制单元, Key’发送组合单元;加密单元,对所述组合后的升级包和时间戳TSb加密;所述组合单元进一步根据密钥Key’对加密后的升级包和时间戳TSb的组合进行 签名处理,得到签名信息Sig,将Sig、加密后的升级包和时间戳TSb组合,并发送至用户端 控制单元;所述控制单元,拆分Sig、加密后的升级包和时间戳TSb的组合,再由密钥Key对 Sig验签处理;所述用户端进一步包括解密单元,对所述加密后的升级包和时间戳TSb的组合进 行解密。所述服务器进一步包括,加密单元,对所述升级包加密,并将所述加密后升级包发送至组合单元;所述用户端进一步包括解密单元,对从所述控制单元拆分得到的所述加密后升级包进行解密。所述组合单元进一步为初次升级的用户端设置标志flag ;所述判断单元在验签处理通过后,进一步判断用户端是否有flag,如果用户端保存有flag,升级包更新,用TSb作为TSa,并清除flag。从上述技术方案中可以看出,在本发明实施例中,服务器将升级包和生成时间戳TSb组合后发送,用户端接收并拆分升级包和时间戳TSb组合数据,判断TSb比用户端时间戳TSa大时,升级包更新,并用TSb更新TSa。由对比时间戳,可以确定对相同的升级包,用户端 只更新一次,避免了信息安全设备重放性问题;对于升级包生成日期比用户端时间戳早的 升级包,用户端并不进行更新。根据用户保存的时间戳就可以在解决信息安全设备重放性 的同时减少升级包生成端的工作量。


图1为本发明实施例解决信息安全设备远程升级重放性的方法流程示意图;图2为本发明实施例解决安全设备远程升级重放性的系统结构示意图;图3为本发明实施例解决安全设备远程升级重放性的流程图示意图。
具体实施例方式为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体 实施例对本发明再作进一步详细的说明。针对现有技术存在的问题,本发明实施例采用对升级包增加时间戳组合,用户端 通过比较时间戳就可以确定是否需要升级,避免了现有技术中升级包生成端必须记住每个 用户升级端的当前可用次数授权数值,另外利用用户端所保存的Key对应的密钥Key’来确 定用户端,密钥对的使用保证了用户端的唯一性,从而在解决信息安全设备重放性的同时 减少升级包生成端的工作量。本发明实施例解决信息安全设备远程升级重放性的方法流程如图1所示,包括如 下步骤步骤101、在服务器处,利用非对称密码学算法或对称密码学算法,计算出针对不 同用户的密钥Key,以及与密钥Key对应的Key’ ;用户端保存Key和用户端时间戳TSa,时间 戳TSa设置为用户端操作系统的安装时间、用户端软件系统的安装时间、服务器的初始化时 间或服务器的生产时间或其他任何比升级数据D生成时间早的时间。用户端在初次升级前,还可以设置一个标志flag,该标志表示该用户端未升级过。步骤102、服务器将升级数据D和时间戳TSb组合在一起,生成D || TSb。时间戳TSb 为生成升级包时的时间戳、升级包签名时的时间戳、组合升级包时的时间戳中的任意一个。 数据组合的方式有很多种,也可以将升级数据D组合在时间戳TSb的后面,数据组合在现有 技术已经非常成熟,本文不再赘述。然后,再利用Key’对D || TSb执行签名处理,得到签名信息Sig。签名处理和步骤 103中的验签处理的方式可以是下列算法中的任意一种信息认证码(MAC)算法、杂凑信息 验证码(HMAC)算法、非对称加密(RSA)算法、椭圆曲线加密(ECC)算法。服务器将D Il Sb与Sig组合,生成D Il TSb || Sig信息,发送该组合信息给用户端。 此时,根据实际情况的需要,在生成D Il TSb Il Sig信息后,对该信息加密处理,以保证信息的 安全。D、TSb和Sig可以以任意形式组合,只要最后能够重新拆分为D、TSb和Sig即可。加密处理和步骤103中的解密处理可以利用以下算法中的任意一种数据加密标 准(DES)算法、三重数据加密标准(TDES)算法、高级加密标准(AES)算法、RSA算法、ECC算 法。
步骤103、用户端收到D Il TSb Il Sig信息。如果该信息经过加密处理,则需要进行 相应的解密处理,才能得到D Il TSbII Sigo D Il TSbII Sig拆分得到D,TSb, Sig三部分信息。 如果D Il TSb Il Sig没有加密,则直接拆分。步骤104、由Key对D,TSb进行验签处理,确保D,TSb没有被篡改。如果验签处理 没有通过,则向服务器返回错误,结束整个远程升级过程;否则执行步骤105。
步骤105、如果用户端保存标志flag,则表明该用户端从未进行过远程升级,此次 升级是该用户端初次远程升级,该用户端的TSa没有实际意义,执行步骤106 ;如果用户端 没有标志flag,则执行步骤107。步骤106、用数据D更新用户端中的原始数据,并用TSb更新TSa,清除flag,表示 已经完成一次远程升级,此时用户升级端的TSa有意义。步骤107、用户端没有标志flag,则代表该用户端的TSa有意义。即将TSb与用户 升级端保存的TSa进行比较,当TSb比TSa大时,执行步骤108 ;否则,即TSb小于或者等于 TSa时,表示本次远程升级包的生成时间比用户端中记录的时间更早或者相同,此时向服务 器返回错误,结束整个远程升级过程。步骤108、当TSb比TSa大时,表示本次远程升级包的生成时间比用户端中记录的 时间戳更晚,此时,本次远程升级可以继续进行,用TSb更新TSa,并用数据D更新用户升级 端中的原始数据。在本发明中,服务器也可以将升级包与时间戳TSb组合后再加密,然后对利用Key, 对加密后的组合做签名处理得到Sigdf Sig与加密后的升级包和时间戳TSb组合再组合; 用户端利用Key对再组合的数据验签处理,验签处理通过后,对升级包和时间戳TSb的加密 组合进行解密处理,得到升级包和时间戳TSb,判断TSb比用户端时间戳TSa大时,升级包更 新,并用TSb更新TSa。另外,服务器端也可以首先对升级包做加密处理,然后利用针对用户端的密钥 Key’对加密后升级包和时间戳TSb组合签名处理,得到签名信息SigJf Sig、加密后升级 包和时间戳TSb组合后发送;用户端接收并拆分组合后数据,由与Key’对应的密钥Key对 Sig验签处理,验签处理通过,判断TSb比用户端时间戳TSa大时,对加密后升级包进行解密 处理,升级包更新,并用TSb更新TSa。图2为本发明实施例解决安全设备远程升级重放性的系统结构示意图。在图2中, 安全设备远程升级的系统包括服务器和用户端。服务器中的密钥单元201针对每个用户端生成密钥对Key和Key’,Key与Key’唯 一对应,将密钥Key发送至用户端的控制单元,密钥Key’发送至组合单元。时间单元202用于产生时间戳TSbJf TSb发送至组合单元。组合单元203将升级数据D以及时间戳TSb组合得到D || TSb ;利用Key’对组合数 据进行签名处理,得到签名信息Sig ;组合单元将D Il TSb与Sig组合,生成D Il TSb Il Sig组 合,然后发送至用户端;组合单元进一步用于在初次升级的用户端设置标志flag。加密单元204,用于加密D Il TSb Il Sig,然后将加密后的D Il TSb Il Sig发送至用户 端。用户端的控制单元205用于拆分D Il TSb || Sig组合,得到D、TSb和Sig三部分数 据,利用Key对Sig验签处理,确保D和TSb没有被篡改。
判断单元206,用于判断用户端是否有flag,如果用户端保存有flag,则TSa没有实际意义,用数据D更新用户端的原始内容以及用TSb更新TSa ;如果用户端没有flag,进一 步判断TSb比TSa大时,用数据D更新用户端的原始内容以及用TSb更新TSa ;TSb比TSa小 或TSb等于TSa时,向服务器返回错误。解密单元207,用于收到加密的D Il TSb Il Sig组合后,解密D Il TSb Il Sig组合,并将 解密后的D Il TSb Il Sig组合发送至控制单元。图3就解决安全设备远程升级重放性的系统的应用举例说明。步骤301、服务器的密钥单元生成一对RSA 1024位公私钥对Key和Key’,作为相 应用户的签名处理和验签处理的密钥对。步骤302、在用户端中保存一个时间戳TSa,该时间戳来源为PC系统时钟或者 internet时钟服务器,如2009年9月1日15时24分13秒。步骤303、将验证签名密钥Key保存在用户端中。用户端的控制单元在初次升级的 用户端设置标志flag。步骤304、在用户端写入其他的软件授权信息,比如软件模块的可用次数授权数值 C设为100次。步骤305、将签名密钥Key’保存在服务器中。步骤306、软件用户使用软件模块100次之后,该授权过期,C变为0。此时服务器 准备发送一个500可用次数授权的远程升级包D至该用户端。步骤307、服务器由时间单元获得当前时间戳TSb,比如当前时间为2009年9月25 日16点16分34秒。步骤308、组合单元将升级数据D和时间戳TSb组合起来,形成一个8字节数据 D Il TSb。步骤309、利用密钥Key’,密钥单元完成对数据D || TSb的签名,得到128字节签名 结果Sig。步骤310、组合单元将D Il TSb和Sig组合在一起,生成的D || TSb || Sig,共136字 节,发送至用户端。如有保密需要,先对D Il TSb Il Sig加密,然后再发送至用户端。步骤311、用户端将数据解密然后拆分为D、TS\ Sig。步骤312、控制单元利用密钥Key,验证签名信息Sig,如果验证不通过,则向服务 器返回错误。步骤313、用户端中保存有flag,则TSa没有实际意义,用数据D更新用户端的原 始内容C和用TSb更新TSa,并清除flag ;发现用户端没有flag,判断单元将TSb和TSa进行 比较。步骤314、如果TSb大于TSa,则说明升级包D生成时间有效,可以进行升级;否则向 服务器报错。步骤315、控制单元将可用次数授权值500保存。步骤316、控制单元用TSb更新TSa,完成全部远程升级过程。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
权利要求
一种解决信息安全设备远程升级重放性的方法,其特征在于,该方法包括将升级包和时间戳TSb组合后发送;接收并拆分所述组合,判断TSb比时间戳TSa大时,升级包更新,并用TSb更新TSa。
2.根据权利要求1所述解决信息安全设备远程升级重放性的方法,其特征在于,所述 升级包和时间戳TSb组合之前进一步包括,利用针对密钥Key’对升级包和时间戳TSb组合 签名处理,得到签名信息SigJf Sig、升级包和时间戳TSb组合后发送;所述拆分后,所述判断之前进一步包括,由与Key’对应的密钥Key对Sig验签处理,对 验签处理通过的TSb执行所述的判断。
3.根据权利要求2所述解决信息安全设备远程升级重放性的方法,其特征在于,设置 标志flag,初次发送所述组合时,在所述验签处理通过后,所述执行判断TSb与TSa之前,进 一步包括判断有flag,则升级包更新,并用TSb作为TS%并清除flag。
4.根据权利要求2所述解决信息安全设备远程升级重放性的方法,其特征在于,所述 将Sig、升级包和时间戳TSb组合签名后,进一步包括对组合签名的加密处理;所述拆分Sig、升级包和时间戳TSb组合签名数据之前,进一步包括对组合签名的解密 处理。
5.根据权利要求1所述解决信息安全设备远程升级重放性的方法,其特征在于,所述 升级包和时间戳TSb组合之后,所述发送之前,进一步包括对升级包和时间戳TSb进行加密 处理,得到升级包和时间戳TSb的加密组合;然后利用针对用户端的密钥Key’对升级包和时间戳TSb的加密组合签名处理,得到签 名信息Sig,将升级包和时间戳TSb的加密组合与Sig组合后发送;所述拆分后,所述判断之前进一步包括,由与Key’对应的密钥Key对Sig验签处理,验 签处理通过后,对升级包和时间戳TSb的加密组合进行解密处理。
6.根据权利要求2所述解决信息安全设备远程升级重放性的方法,其特征在于,所述 签名处理之前,进一步对升级包进行加密处理,所述签名处理是利用密钥Key’对加密后升 级包和时间戳TSb组合签名处理,得到签名信息SigJf Sig、加密后升级包和时间戳TSb组 合后发送;所述验签后,得到加密后升级包和时间戳TSb,对所述加密后升级包进行解密处理。
7.根据权利要求2至6中的任意一项权利要求所述解决信息安全设备远程升级重放性 的方法,其特征在于,所述TSb是生成升级包时的时间戳、升级包签名时的时间戳、组合升级 包时的时间戳中的任意一个。
8.根据权利要求1至6中的任意一项权利要求所述解决信息安全设备远程升级重放性 的方法,其特征在于,在初次发送所述组合前所述时间戳TSa为操作系统的安装时间、软件 系统的安装时间、初始化时间、其他任何比TSb早的时间中的任意一个。
9.一种解决信息安全设备远程升级重放性的系统,其特征在于,该系统包括服务器和 用户端,所述服务器端包括时间单元和组合单元;所述用户端包括控制单元和判断单元;时间单元,产生时间戳TSbJf TSb发送组合单元;组合单元,将升级包和时间戳TSb组合,并发送至用户端的控制单元;控制单元,拆分升级包和时间戳TSb的组合,将TSb输入判断单元;判断单元,判断TSb比用户端时间戳TSa大时,升级包更新,并用TSb更新TSa。
10.根据权利要求9所述解决信息安全设备远程升级重放性的系统,其特征在于,所述 服务器进一步包括密钥单元,生成针对用户端的密钥对Key和Key’,将Key发送用户端的控制单元,Key’ 发送组合单元;所述组合单元进一步根据密钥Key’对升级包和时间戳TSb组合签名处理,得到签名信 息Sig,将Sig、升级包和时间戳TSb组合,并发送至用户端的控制单元;所述控制单元,拆分Sig、升级包和时间戳TSb的组合,再由密钥Key对Sig验签处理, 将验签处理后的TSb输入判断单元。
11.根据权利要求10所述解决信息安全设备远程升级重放性的系统,其特征在于,所述服务器进一步包括加密单元,所述加密单元对所述组合后的Sig、升级包和时间戳 TSb加密,再发送至用户端的控制单元;所述用户端进一步包括解密单元,对所述Sig、升级包和时间戳TSb组合先进行解密,再 由所述的控制单元进行所述的拆分。
12.根据权利要求9所述解决信息安全设备远程升级重放性的系统,其特征在于,所述 服务器进一步包括密钥单元,生成针对用户端的密钥对Key和Key’,将Key发送用户端的控制单元,Key’ 发送组合单元;加密单元,对所述组合后的升级包和时间戳TSb加密;所述组合单元进一步根据密钥Key’对加密后的升级包和时间戳TSb的组合进行签名 处理,得到签名信息Sig,将Sig、加密后的升级包和时间戳TSb组合,并发送至用户端控制 单元;所述控制单元,拆分Sig、加密后的升级包和时间戳TSb的组合,再由密钥Key对Sig验 签处理;所述用户端进一步包括解密单元,对所述加密后的升级包和时间戳TSb的组合进行解密。
13.根据权利要求10所述解决信息安全设备远程升级重放性的系统,其特征在于,所 述服务器进一步包括,加密单元,对所述升级包加密,并将所述加密后升级包发送至组合单元;所述用户端进一步包括解密单元,对从所述控制单元拆分得到的所述加密后升级包进 行解密。
14.根据权利要求10所述解决信息安全设备远程升级重放性的系统,其特征在于,所述组合单元进一步为初次升级的用户端设置标志flag ;所述判断单元在验签处理通过后,进一步判断用户端是否有flag,如果用户端保存有 flag,升级包更新,用TSb作为TSa,并清除flag。
全文摘要
一种解决信息安全设备远程升级重放性的方法,该方法包括服务器将升级包和时间戳TSb组合后发送;用户端接收并拆分所述组合,判断TSb比用户端时间戳TSa大时,升级包更新,并用TSb更新TSa。本文还公开了一种解决信息安全设备远程升级重放性的系统。应用本发明实施例以后,在解决信息安全设备重放性的同时减少升级包生成端的工作量。
文档编号H04L29/06GK101808100SQ20101015020
公开日2010年8月18日 申请日期2010年4月12日 优先权日2010年1月26日
发明者孙吉平, 韩勇 申请人:北京深思洛克软件技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1