当前位置: 首页 > 专利查询>广西大学专利>正文

嵌入式设备维护密码的生成及其验证方法技术

技术编号:11188025 阅读:81 留言:0更新日期:2015-03-25 16:51
本发明专利技术公开了嵌入式设备维护密码的生成及其验证方法,密码生成方法主要包括分配用户参数、选取密钥、对用户参数进行移位运算和与密钥异或运算、生成密码几个步骤;密码验证方法主要包括输入密码、提取特征码、验证特征码几个步骤。本发明专利技术的方法能限制嵌入式设备的访问权限和使用有效期,避免嵌入式设备在非被授权下的失控,保护嵌入式设备的安全。

【技术实现步骤摘要】
嵌入式设备维护密码的生成及其验证方法
本专利技术属于嵌入式系统加密
,具体涉及嵌入式设备维护密码的生成及其验证方法。
技术介绍
嵌入式设备的硬件电路和控制软件是嵌入式系统开发者或维护者一直在想尽办法保护的对象。然而目前国内外出现了众多的抄板软件及工具,可以轻易地将嵌入式系统硬件PCB板进行复制,并仿制出功能完全一样的硬件电路;同样地,嵌入式设备中的软件也可以通过各种入侵方法被非法读取并进行复制。通常情况下,普通用户对嵌入式设备的访问控制是授权访问,即给用户一个固定的密码,只有密码通过验证才能对嵌入式设备进行访问或控制;当密码被破解,嵌入式设备的保护就完全失控,无法挽回用户的损失。而针对开发者或维护者,更有必要开发更可靠的密码保护方法。
技术实现思路
本专利技术要解决的技术问题是提供一种嵌入式设备维护密码的生成及其验证方法,使用本专利技术的方法,能限制嵌入式设备的访问权限和使用有效期,避免嵌入式设备在非被授权下的使用失控,保护嵌入式设备的安全。为解决上述技术问题,本专利技术采用如下技术方案:嵌入式设备维护密码的生成方法,包括以下步骤:A1、分配用户参数:分配给每个维护者的用户参数包括用户编号、当前日期和有效期;用户编号为4位十进制数,用USER表示;有效期为2位十进制数,用VAL表示;当前日期为日期格式,由2位的月份和2位的日期组成,用DATE表示;A2、选取密钥:从密钥表中选取对应于嵌入式设备的密钥,密钥为一个16位的二进制数;A3、对USER进行运算处理:将USER的4位数字分别转换为ASCII码值,将该4个ASCII码值组成32位二进制数,然后左移16位,右端补入16位二进制0,形成48位二进制数;对所得48位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得48位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共32次,从最后所得的48位二进制数中取低16位,转换为十进制数赋值给Ue;A4、对DATE进行运算处理:将DATE转换为4个ASCII码值,将该4个ASCII码值组成32位二进制数,然后左移16位,右端补入16位二进制0,形成48位二进制数;对所得48位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得48位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共32次,从最后所得的48位二进制数中取低16位,转换为十进制数赋值给De;A5、对VAL进行运算处理:将VAL的2位数字分别转换为ASCII码值,将该2个ASCII码值组成16位二进制数,然后左移16位,右端补入16位二进制0,形成32位二进制数;对所得32位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得32位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共16次,从最后所得的32位二进制数中取低16位,转换为十进制数赋值给Ve;A6、生成密码:按下述公式进行计算:Um=Ue%10000,Dm=De%10000,Vm=Ve%10000;WHM=(Um*10000+Dm)*10000+Vm;其中,Um表示用户编号特征码,Dm表示当前日期特征码,Vm表示有效期特征码,WHM表示生成的密码。所述嵌入式设备维护密码的生成在计算机上进行。所述当前日期为自动读取计算机系统日期而获得。所述有效期为月数,取值范围为1-99。所述嵌入式设备维护密码的生成方法生成的密码的验证方法,包括以下步骤:B1、设置密钥:设置对应于嵌入式设备的密钥;B2、输入待验证用户编号和待验证密码:如果为首次使用嵌入式设备,要求输入待验证用户编号和待验证密码;待验证用户编号为4位的十进制数,用INUSER表示;待验证密码为12位的十进制数,用INWHM表示;如果为已超出有效期,则只要求用户输入INWHM;B3、从INWHM中提取特征码:INWHM中左起的第1~4位数字、第5~8位数字、第9~12位数字分别提取出来作为用户编号特征码、当前日期特征码、有效期特征码,分别用INUm、INDm、INVm表示;B5、验证INUm:如果为首次使用嵌入式设备,则将待验证用户编号作为本机用户编号;读取本机用户编号,按步骤A3的方法进行运算处理,所得十进制数用CUe表示;按公式CUm=CUe%10000计算得到本机用户编号对应的特征码CUm,比较CUm和INUm,如果相同,验证成功,如为首次使用嵌入式设备,则存储该本机用户编号,转步骤B4;如果不相同则转步骤B7;B4、验证INDm:自动读取嵌入式设备的系统日期,用DATE1表示,DATE1含年、月、日,将DATA1的月和日组成本机当前日期,将本机当前日期按步骤A4的方法进行运算处理,所得十进制数用CDe表示;按公式CDm=CDe%10000计算得到本机当前日期所对应的特征码CDm;比较CDm和INDm,如果相同,转步骤B5;如果不相同则转步骤B7;B5、验证INVm:采用穷举法,从1—99的99个数据顺序逐个取出进行如下运算处理:将取出的数按步骤A5所述的方法进行运算处理,所得十进制数用PVe表示,按公式PVm=(PVe%10000)计算得到该数所对应的特征码PVm,比较PVm和INVm,如果相同,则存储该数,用V表示该数,转步骤B6,否则继续运算处理下一个数据直到99个数据全部运算完,转步骤B7;B6:验证成功,结束验证,允许使用嵌入式设备;B7、验证失败,结束验证,禁止使用嵌入式设备。所述嵌入式设备出厂设置有一个密钥。所述本机当前日期与DATE相同。所述验证方法还包括有效期检查,所述有效期检查在步骤B6之后进行,包括以下步骤:将DATE1与V相加得到结束日期;自动读取嵌入式设备的系统日期,用DATE2表示,DATE2含年、月、日,如果DATE2小于DATE1或大于结束日期,则停止使用嵌入式设备,转执行步骤B2,否则为处于有效期,允许继续使用嵌入式设备。本专利技术的优点在于:使用本专利技术的方法,能限制嵌入式设备的访问权限和使用有效期,避免嵌入式设备在非被授权下的失控,保护嵌入式设备的安全。具体实施方式以下对本专利技术的具体实施方式进行详细说明,但不构成对本专利技术保护范围的限定。实施实例1:密码的生成在开发者的PC机上进行,嵌入式设备硬件上包含有一个ARM处理器和一个带触摸输入的液晶显示屏。用户编号为3164的维护者,在2014年11月09日首次申请维护出厂设置密钥为0xA081的嵌入式设备,申请有效期为12个月,计算机按以下步骤计算出分配给用户的密码:A1、用户输入:用户编号USER为3164,有效期VAL为12,自动读取计算机的系统日期为2014年11月09日获得当前日期DATE为1109。A2、选取密钥:从密钥表中读取密钥0xa001;A3、对USER进行运算处理:将USER的4位数字分别转换为ASCII码值,将该4个ASCII码值组成32位二进制数,然后左移16位,右端补入16位二进制0,本文档来自技高网...

【技术保护点】
嵌入式设备维护密码的生成方法,其特征在于,包括以下步骤:A1、分配用户参数:分配给每个维护者的用户参数包括用户编号、当前日期和有效期;用户编号为4位十进制数,用USER表示;有效期为2位十进制数,用VAL表示;当前日期为日期格式,由2位的月份和2位的日期组成,用DATE表示;A2、选取密钥:从密钥表中选取对应于嵌入式设备的密钥,密钥为一个16位的二进制数;A3、对USER进行运算处理:将USER的4位数字分别转换为ASCII码值,将该4个ASCII码值组成32位二进制数,然后左移16位,右端补入16位二进制0,形成48位二进制数;对所得48位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得48位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共32次,从最后所得的48位二进制数中取低16位,转换为十进制数赋值给Ue;A4、对DATE进行运算处理:将DATE转换为4个ASCII码值,将该4个ASCII码值组成32位二进制数,然后左移16位,右端补入16位二进制0,形成48位二进制数;对所得48位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得48位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共32次,从最后所得的48位二进制数中取低16位,转换为十进制数赋值给De;A5、对VAL进行运算处理:将VAL的2位数字分别转换为ASCII码值,将该2个ASCII码值组成16位二进制数,然后左移16位,右端补入16位二进制0,形成32位二进制数;对所得32位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得32位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共16次,从最后所得的32位二进制数中取低16位,转换为十进制数赋值给Ve;A6、生成密码:按下述公式进行计算:Um=Ue%10000,Dm=De%10000,Vm=Ve%10000;WHM=(Um*10000+Dm)*10000+Vm;其中,Um表示用户编号特征码,Dm表示当前日期特征码,Vm表示有效期特征码,WHM表示生成的密码。...

【技术特征摘要】
1.嵌入式设备维护密码的生成方法,其特征在于,包括以下步骤:A1、分配用户参数:分配给每个维护者的用户参数包括用户编号、当前日期和有效期;用户编号为4位十进制数,用USER表示;有效期为2位十进制数,用VAL表示;DATE为日期格式,由2位的月份和2位的日期组成;A2、选取密钥:从密钥表中选取对应于嵌入式设备的密钥,密钥为一个16位的二进制数;A3、对USER进行运算处理:将USER的4位数字分别转换为ASCII码值,将该4个ASCII码值组成32位二进制数,然后左移16位,右端补入16位二进制0,形成48位二进制数;对所得48位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得48位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共32次,从最后所得的48位二进制数中取低16位,转换为十进制数赋值给Ue;A4、对DATE进行运算处理:将DATE转换为4个ASCII码值,将该4个ASCII码值组成32位二进制数,然后左移16位,右端补入16位二进制0,形成48位二进制数;对所得48位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得48位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共32次,从最后所得的48位二进制数中取低16位,转换为十进制数赋值给De;A5、对VAL进行运算处理:将VAL的2位数字分别转换为ASCII码值,将该2个ASCII码值组成16位二进制数,然后左移16位,右端补入16位二进制0,形成32位二进制数;对所得32位二进制数进行以下判断运算:如果低位开始的第16位为1,则将所得32位二进制数的低16位与密钥进行异或运算,然后右移一位,左端补入1位二进制0;如果低位开始的第16位为0,则右移一位,左端补入1位二进制0;循环执行上述判断运算共16次,从最后所得的32位二进制数中取低16位,转换为十进制数赋值给Ve;A6、生成密码:按下述公式进行计算:Um=Ue%10000,Dm=De%10000,Vm=Ve%10000;WHM=(Um*10000+Dm)*10000+Vm;其中,Um表示用户编号特征码,Dm表示当前日期特征码,Vm表示有效期特征码,WHM表示生成的密码。2.根据权利要求1所述的嵌入式设备维护密码的生成方法,其特征在于,所述嵌入式设备维护密码的生成在授权方的计算机上进行。3.根据权利要求2所述的嵌入式设备维护密码的生成方法,其特征在于,所述当前日期为自动读取计算机系统的当前日期而获得。4.根据权利要求1所述的嵌入式设备维护密码的生成方法,其特征在于,所述有效期为月...

【专利技术属性】
技术研发人员:聂雄邓新平黄斌全韦文杰蓝琤杰
申请(专利权)人:广西大学
类型:发明
国别省市:广西;45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1