本实用新型专利技术涉及软件安全应用装置,公开了一种利用芯片标识符的软件安全应用装置,包含SHA运算器,一次性编程OTP寄存器,读控制器,第一比较器,处理器,计时器,第二比较器和写控制器。SHA运算器将芯片标识符进行SHA运算加密;写控制器将加密的芯片标识符写入OTP寄存器;读控制器读取OTP寄存器中芯片标识符的部分字段,第一比较器将此部分字段的值与预设值比较,若该值大于等于预设值,处理器命令软件运行,同时启动计时器计量软件运行的时间或次数,当运行的时间或次数达到预设值,处理器就会命令加写上述部分字段的值,加写后的值重新写入到OTP寄存器,如此反复。与现有技术相比,本实用新型专利技术可以控制软件运行的时间或次数,且芯片标识符不可逆推破解。(*该技术在2023年保护过期,可自由使用*)
【技术实现步骤摘要】
利用芯片标识符的软件安全应用装置
本技术涉及软件安全应用装置,特别涉及利用利用芯片标识符的软件安全应田悲晉/Tl 目.ο
技术介绍
常规的软件版权保护,或者是使用安装时输入序列号并加以校验,或者是每次使用时把当前软件版本和对应硬件平台加以比较(此时硬件平台特征码不会改变),安装序列号容易流传,易于通过反汇编,改掉对应的几个判断跳转,而被破解,所以容易被非法安装使用,难以控制运行次数或时间。对于嵌入式系统,对于相同配置的平台,有很多开发商会在这个平台上投入大量资源来研发各自的软件系统,芯片设计公司要保护每位开发商,使得各自的软件只有和各自的硬件实现捆绑才能工作,这样的平台差异化成本巨大,也很难实现统一管理。随着嵌入式应用的越来越广泛,产品的安全显得越来越重要。一方面是为了保护硬件设计,另外一方面也是为了产品本身的安全,防止被黑客攻击(HACKED)。为了保护芯片中的数据,越来越多的厂商在芯片内部提供了一种特殊的寄存器=OTP寄存器(One TimeProgrammable,一次性编程寄存器)。OTP寄存器的特点是每组OTP寄存器包括多个比特位,对每一比特位而言,信息都是一次性写入,不可重写,但是不同比特位可以分多次写入。掉电不丢失数据,可以反复读出数据。芯片标识符Chip ID具有唯一性和不可更改的要求,所以目前通常都使用OTP寄存器来实现,把芯片标识符写入到OTP寄存器是使用电子熔丝e-Fuse实现的,由于e-Fuse对芯片的物理影响比较大,如果把这颗芯片解剖分析,就很容易发现改写的位,用光学显微镜就能很容易逆向分析破解这些Chip ID。当然也可以把未写入设定的Chip ID的芯片(对应ID为0x0)改写为0x1,实现复制拷贝。这样就对产品本身的安全性造成很大的威胁。
技术实现思路
本技术的目的在于提供一种利用芯片标识符的软件安全应用装置,使得软件使用次数或时间可以得到有效的保护,实现一机一密码,方便统一管理,而且芯片标识符也难以被逆向破解和非法复制。为解决上述技术问题,本技术提供了一种利用芯片标识符的软件安全应用装置,包含SHA运算器,一次性编程OTP寄存器,读控制器,第一比较器,处理器,计时器,第二比较器和写控制器;所述SHA运算器的输入端输入待写入到OTP寄存器的芯片标识符Chip ID,输出端与所述写控制器相连,所述Chip ID经所述SHA运算器运算加密后输出给所述写控制器,所述写控制器的输出端与OTP寄存器相连,所述写控制器将加密后的Chip ID写入所述OTP寄存器;所述OTP寄存器保存设定的Chip ID,并与所述读控制器相连,所述读控制器的输出端与所述第一比较器的输入端相连,所述第一比较器的输出端与所述处理器的输入端相连;所述读控制器读出所述OTP寄存器中Chip ID包含的部分字段的值,并输出给所述第一比较器;所述第一比较器将所述部分字段的值与预设值作比较,并将所述第一比较器比较的结果输入处理器,所述处理器根据所述第一比较器比较的结果输出控制软件运行的控制命令,并同时触发所述计时器计算所述软件运行的时间或次数;所述计时器与所述第二比较器的输入端相连,所述第二比较器的输出端与所述处理器相连;所述第二比较器将所述软件运行的时间或次数与预设时间或次数进行比较,并将所述第二比较器比较的结果输入处理器,所述处理器根据所述第二比较器比较的结果输出执行改写操作的控制命令,所述写控制器的输出端与所述OTP寄存器相连,将改写的值写入所述OTP寄存器。与现有技术相比,本技术引进SHA运算器,经过SHA运算器对本技术中的Chip ID的运算,写入到OTP寄存器中的Chip ID跟待写入到OTP寄存器中的Chip ID是不同的Chip ID,而且此SHA的运算过程是单向不可逆的,所以即使是黑客也很难根据最终显示给用户的芯片标识符来逆向推断出OTP寄存器里面真实的芯片标识符。另外,SHA是把不定长度的一串消息,加以特定的算法处理,得到固定长度的数据,这个数据在理论上破解很困难,工程实现也是不可能的,所以本技术中的芯片标识符也是唯一的,不可复制的。另外,本技术还引进计时器、第一比较器和第二比较器,经过计时器和第一比较器、第二比较器的配合使用,能够有效地对软件运行的时间或次数进行控制,使开发商可以自定义某个软件只能在某段时间运行,或只能运行几次,或只能在某段时间运行几次,或只能一次运行多长时间等等,这样就有效地保护了软件的使用权限。另外,本技术中所述的Chip ID包含:出厂ID、芯片设计者自定义的ID、软件开发者自定义的ID、供用户使用的ID以及可执行代码ID,还可以包含其他的ID。使用这种方法,只要保护好上述任一个ID,即使是知晓全部设计细节的研发人员,缺了任意一个ID,都不能破解上述芯片标识符,也不能把空白芯片,改写为有特定Chip ID的芯片,比单有一个ID安全系数更高。并且在很多情况下,机器平台本身可以上网,安装软件先读出出厂ID,结合芯片设计者自定义的ID (由芯片平台开发商控制)得到唯一标识符以后,通过网络自动返回给软件开发商。软件开发商根据用户注册信息得到注册码,根据软件开发者自定义的ID (由软件开发商控制)和最终用户输入注册码结合得到序号写入供用户使用的ID,就能过实现一机一密码。另外,本技术中部分字段的值是供用户使用的ID的值,系统就是通过这个值与预设值进行比较,达到预设条件就会执行软件的运行,未达到预设条件就会退出软件运行,由于这个ID也是经过SHA运算加密的,也有单一不可复制性,而且不会被逆向推断并破解,所以由这个值来控制软件的运行与否安全性非常高。另外,本技术还包含合并器,该合并器用于对用户设定的值和厂商设定的值进行合并,并将合并后的数据扩展为512位比特的数据。由于合并器是现有的成熟器件,保证了本技术实施方式的可行性。另外,本技术还包含系统接口,该系统接口用于接收用户设定的值和厂商设定的值,并可以向用户输出读取数据。由于系统接口是现有的成熟器件,保证了本技术实施方式的可行性。此外,本技术中的OTP寄存器可以为烧断laser型OTP寄存器、熔断fuse型OTP寄存器或电子熔丝efuse型OTP寄存器。这些类型的OTP寄存器的特点就是一次性写入,不可改写,如果有需要,芯片厂商也可以根据客户的需要写入特定的序列号,这样,每个芯片都会有一个不一样的ID号,避免被复制,符合芯片标识符Chip ID具有唯一'丨生和不可更改的要求。【附图说明】图1是根据本技术第一实施方式中的利用芯片标识符的软件安全应用装置示意图;图2是根据本技术第一实施方式中的写入OTP寄存器的芯片标识符的数据通道; 图3是根据本技术第一实施方式的SHA运算器的结构示意图;图4是根据本技术第一实施方式中供用户使用的ID的Ctrl位示意图;图5是根据本技术第二实施方式中的利用芯片标识符的软件安全应用装置示意图;图6是根据本技术第三实施方式中的利用芯片标识符的软件安全应用装置示意图。【具体实施方式】为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理本文档来自技高网...
【技术保护点】
一种利用芯片标识符的软件安全应用装置,其特征在于,包含SHA运算器,一次性编程OTP寄存器,读控制器,第一比较器,处理器,计时器,第二比较器和写控制器; 所述SHA运算器的输入端输入待写入到OTP寄存器的芯片标识符Chip ID,输出端与所述写控制器相连,所述Chip ID经所述SHA运算器运算加密后输出给所述写控制器,所述写控制器的输出端与OTP寄存器相连,所述写控制器将加密后的Chip ID写入所述OTP寄存器; 所述OTP寄存器保存设定的Chip ID,并与所述读控制器相连,所述读控制器的输出端与所述第一比较器的输入端相连,所述第一比较器的输出端与所述处理器的输入端相连; 所述读控制器将从所述OTP寄存器中读出的所述Chip ID包含的部分字段的值输出给所述第一比较器; 所述第一比较器将所述部分字段的值与预设值比较的结果输入处理器,所述处理器根据所述第一比较器比较的结果输出控制软件运行的控制命令,所述处理器的输出端与所述计时器的输入端相连,所述计时器在所述处理器输出所述控制软件运行的控制命令时,计量所述软件运行的时间或次数; 所述计时器与所述第二比较器的输入端相连,所述第二比较器的输出端与所述处理器相连; 所述计时器将计量出的所述软件运行的时间或次数输出给所述第二比较器,所述第二比较器将所述软件运行的时间或次数与预设时间或次数比较的结果输入处理器,所述处理器根据所述第二比较器比较的结果将执行改写操作的控制命令输出给写控制器,所述写控制器将改写的值写入所述OTP寄存器。...
【技术特征摘要】
1.一种利用芯片标识符的软件安全应用装置,其特征在于,包含SHA运算器,一次性编程OTP寄存器,读控制器,第一比较器,处理器,计时器,第二比较器和写控制器; 所述SHA运算器的输入端输入待写入到OTP寄存器的芯片标识符Chip ID,输出端与所述写控制器相连,所述Chip ID经所述SHA运算器运算加密后输出给所述写控制器,所述写控制器的输出端与OTP寄存器相连,所述写控制器将加密后的Chip ID写入所述OTP寄存器; 所述OTP寄存器保存设定的Chip ID,并与所述读控制器相连,所述读控制器的输出端与所述第一比较器的输入端相连,所述第一比较器的输出端与所述处理器的输入端相连; 所述读控制器将从所述OTP寄存器中读出的所述Chip ID包含的部分字段的值输出给所述第一比较器; 所述第一比较器将所述部分字段的值与预设值比较的结果输入处理器,所述处理器根据所述第一比较器比较的结果输出控制软件运行的控制命令,所述处理器的输出端与所述计时器的输入端相连,所述计时器在所述处理器输出所述控制软件运行的控制命令时,计量所述软件运行的时间或次数; 所述计时器与所述第二比较器的输入端相连,所述第二比较器的输出端与所述处理器相连; 所述计时器将计量出的所述软件运行的时间或次数输出给所述第二比较器,所述第二比较器将所述软件运行的时间或次数与预设时间或次数比较的结果输入处理器,所述处理器根据所述第二比较器比较的结果将执行改写操作的控制命令输出给写控制器,所述写控制器将改写的值写入所述 OTP寄存器。2.根据权利要求1所述的利用芯片标识符的软件安全应用装置,其特征在于,所述C...
【专利技术属性】
技术研发人员:李林,胡旭,夏建明,
申请(专利权)人:上海华力创通半导体有限公司,
类型:新型
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。