[发明专利]一种离线软件合法性的验证方法及系统在审
申请号: | 202110856711.9 | 申请日: | 2021-07-28 |
公开(公告)号: | CN113568832A | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 周逸灵;蒋烁淼 | 申请(专利权)人: | 上海驻云信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京中索知识产权代理有限公司 11640 | 代理人: | 高海涛 |
地址: | 201207 上海市浦东新区中*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 离线 软件 合法性 验证 方法 系统 | ||
本发明提供了一种离线软件合法性的验证方法及系统,所述验证方法包括:被验证的客户端软件部署完成后,将license文件置于指定目录,客户端获取license文件,验证license字符串是否符合ECDSA数字签名;获取所述license文件中的验证信息,计算license文件的hash是否为license文件中自带的hash,判断license文件是否合法、是否有篡改;通过license文件中的日期,判断license文件是否过期。本发明对于一个大型分布式软件而言,只需将软件的核心接入部分接入License验证,有效解耦,无需所有子系统都进行验证,既简化了软件设计,又减少了部署成本。
技术领域
本发明涉及软件验证技术领域,具体而言,涉及一种离线软件合法性的验证方法及系统。
背景技术
对于私有部署软件的一个核心模块,为保证部署软件的合法性和有效性,一般做法是颁发某种形式的软件秘钥,这种秘钥一般需要跟中心进行一定的验证,当软件本身跟中心网络不通时,这种校验就会失效。
发明内容
鉴于此,本发明的目的在于提高软件合法性的验证的健壮性,基于一种椭圆曲线数学模型,通过对软件license的设计,保证软件即使在离线情况下,依然能验证自身的合法性。
本发明提供一种离线软件合法性的验证方法,包括以下步骤;
S1、被验证的客户端软件部署完成后,将license文件置于指定目录,客户端获取license文件,验证license字符串是否符合ECDSA数字签名,即是否是确定的椭圆曲线上的x,y点;
S2、获取所述license文件中的验证信息,计算license文件的hash是否为license文件中自带的hash,判断license文件是否合法、是否有篡改;
具体地,所述验证信息包括:有效期、生效日期、生成日期、颁发者、授予者、版本号、license字符串;
S3、通过license文件中的日期,判断license文件是否过期。
进一步地,在所述S1步骤之前包括以下步骤:
对于即将部署的客户端软件,由中心软件生成License文件,通过指定多个字段确定License的具体归属、有效时间以及License文件携带的自带验证信息,避免License被篡改。
进一步地,所述License文件的生成基于椭圆曲线加密算法ECC,所述椭圆曲线加密算法ECC包括椭圆曲线数字签名算法ECDSA。
进一步地,所述生成License文件的具体方法包括以下步骤:
S21、采用所述椭圆曲线数字签名算法ECDSA生成license字符串;
S22、填充license的几个字段,包括:有效期、生效日期、生成日期、颁发者、授予者、版本号;
S23、通过内置的混淆算法,得到整个license文件的hash,并写入license文件。
进一步地,所述License的具体归属包括:License所有方、颁发日期、截止日期。
本发明还提供一种离线软件合法性的验证系统,使用如上述所述的验证方法,包括:
验证license字符串模块:用于被验证的客户端软件部署完成后,将license文件置于指定目录,客户端获取license文件,验证license字符串是否符合ECDSA数字签名;
验证合法性模块:用于获取所述license文件中的验证信息,计算license文件的hash是否为license文件中自带的hash,判断license文件是否合法、是否有篡改;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海驻云信息科技有限公司,未经上海驻云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110856711.9/2.html,转载请声明来源钻瓜专利网。