一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

终端设备的安全加固方法与流程

2022-07-30 12:40:04 来源:中国专利 TAG:


1.本说明书一般涉及信息安全技术领域,尤其涉及一种终端设备的安全加固方法。


背景技术:

2.互联网使得人们能够通过通信上联网的节点或元件获得和传递信息,所述节点或元件能够与另一节点或元件通信并且通过建立网络连接将数据从一个节点发送至另一个节点。节点间基于各自存储的密钥,采用非对称摘要算法对一段登录信息报文进行摘要加签,并验证签名的一致性和合法性,是目前行业内采取的主流验证方式。例如,可以在a节点和b节点各自存储一份相同数据作为密钥,a节点基于该密钥使用摘要算法,对一段登录文本进行加签,将登录文本、数字签名结果传输至b节点。b节点获得数字签名后,采用相同密钥对登录文本进行摘要算法,如果获得相同数字签名,则认为其身份有效。此段密钥数据并不会被显示的传输在网络上,应当被良好的保存在本地加密区域,通常以烧录方式或者固定写入方式写入终端设备硬件中,防止被其他非法人员以非常规手段获取。
3.目前互联网技术普遍且计算力高度发达,许多通用技术手段为人所熟知,包括上述摘要加签的登录过程和密钥存储方式,sha1等算法已经无法相对有效防止信息安全问题。
4.黑客和入侵者可能通过各种方式,包括不仅限于终端破解,暴力碰撞等方式,猜测嗅探出用户的真实密钥,从而获取用户账号与密钥的使用权限,并运用于其他账号场合。在互联网、物联网等系统的商业场景下,通常账号具备时间唯一性,即用户账号在完成登录验证后处于正常使用期间,如果再次被用于其他设备进行登录,原账号会话将会被清理下线。
5.因此,如果用户在正常使用过程中遭遇账号盗用,将会影响用户的使用体验。通常,用户可以采用更换密钥的方式,防止该情况的发生,但是在物联网终端设备的商业场景中,终端设备中的密钥通常以固定烧录的方式录入硬件,部分厂商更换密钥的过程十分麻烦。并且,终端设备生产厂商与实际用户通常是两个实体,用户可能不具备直接修改终端密钥存储区域内容的手段和方式,或者代价极其高昂,在无法直接修改终端密钥存储区域内容的情况下,用户服务可能持续受到影响,因此实际终端用户通常无法感知到密钥的存在或者完成更换密钥操作,操作成本极高,条件严苛。


技术实现要素:

6.为了解决现有技术中的技术问题,本技术提供了一种终端设备的安全加固方法,防止黑客通过破解终端,获取密钥后可以轻易用于其他场景用途。
7.本技术公开了一种终端设备的安全加固方法,包括:
8.平台根据用户请求生成一组设备账号与密钥,所述用户在所述平台存储预留信息并指定信息规则,所述用户将所述设备账号与密钥固定写入所述终端设备;
9.所述终端设备使用所述密钥生成密钥串,并根据所述信息规则将指定信息写入登录文本,采用所述密钥串对所述登录文本进行摘要算法生成数字签名,将所述登录文本格
式和所述数字签名发送到所述平台;
10.所述平台获取所述登录文本,使用所述登录文本中的账号信息获取密钥,采用该密钥对所述登录文本进行摘要算法生成数字签名并将生成的数字签名与接收的数字签名进行对比,如相同,判断所述登录文本中的指定信息是否与所述平台中的所述预留信息匹配,如匹配,所述用户登录成功。
11.在一个优选例中,所述信息规则包括:将指定信息写入设备信息字段中的约定字符后。
12.在一个优选例中,所述指定信息包括以下任意一项或多项:所述终端设备的id,所述终端设备的类型,时间戳,自定义信息。
13.在一个优选例中,还包括:所述用户在所述平台修改所述预留信息和/或重新指定所述信息规则。
14.在一个优选例中,所述登录文本包括以下任意一项或多项:一次性响应特征、时间戳、终端信息、混淆信息、版本信息和账号信息。
15.在一个优选例中,所述预留信息包括以下任意一项或多项:所述终端设备的id,所述终端设备的类型,时间戳,和自定义信息。
16.在一个优选例中,所述终端设备使用所述密钥生成密钥串的步骤,进一步包括:
17.所述终端设备使用所述密钥为种子,使用哈希消息认证码算法或哈希算法对种子生成二进制密钥串。
18.在一个优选例中,所述摘要算法非对称加密算法。
19.在一个优选例中,所述非对称加密算法包括sha1、sha256、sha384。
20.本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
21.相对于现有技术,本技术具有以下有益效果:
22.本发明提供一种终端设备的安全加固方法,通过简单的预留信息验证方法,能够使终端用户通过平台更改自定义预留信息和信息规则的方式,以较低成本重设部分设备登录信息。即使在密钥泄漏的情况下,由于入侵者无法判断登录文本中的有效信息部分,并且无从得知预留信息内容,从而使得入侵者即使拥有密钥,也无法完成正常登录,并将账号与密钥挪于他用。
23.本说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本技术所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本说明书上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征a b c,在另一个例子中公开了特征a b d e,而特征c和d是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征e技术上可以与特征c相组合,则,a b c d的方案因技术不可行而应当不被视为已经记载,而a b c e的方案应当视为已经被记载。
附图说明
24.参考以下附图描述本技术的非限制性和非穷举性实施例,其中除非另有说明,否则相同的附图标记在各个视图中指代相同的部分。
25.图1是根据本说明书第一实施方式中一种终端设备的安全加固方法的流程图。
26.图2是根据本说明书一个实施例中用户、终端设备、平台工作过程的示意图。
具体实施方式
27.在以下的叙述中,为了使读者更好地理解本技术而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。
28.部分术语的解释:
29.终端,也称终端设备:主要用于用户信息的输入以及处理结果的输出
30.摘要算法:又称哈希算法,是一种输入任意长度的数据,输出固定长度的数据,并且相同的输入数据始终得到相同的输出,不同的输入数据尽量得到不同的输出的一种计算方法。摘要算法的主要用于数字签名和加密场景,特征是加密过程不需要密钥,并且经过加密的数据很难被解,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的签名密文。
31.预留信息:用户通过非终端方式,在平台留下的一段非公开文本信息指定信息规则:用户针对预留信息的解析规则
32.本技术实施例的部分创新在于:
33.本发明中,基于摘要算法的加密方式对登录身份进行验证的场景下,当用户的密钥存在潜在的泄露风险时,并且可能无法轻易便捷的变更密钥的情况下,通过用户在平台的预留信息(通常含有终端特征)进行二次加固,防止黑客通过破解终端,获取密钥后可以轻易用于其他场景用途。即使密钥泄漏,由于入侵者无法获得登录文本中的有效信息部分,并且无从得知预留信息内容,从而使得入侵者即使拥有密钥,也无法完成正常登录,而将账号与密钥挪于他用。
34.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
35.本技术公开了一种终端设备的安全加固方法,其流程图参考图1所示,该方法包括如下步骤:
36.步骤101,平台根据用户请求生成一组设备账号与密钥,所述用户在所述平台存储预留信息并指定信息规则,所述用户将所述设备账号与密钥烧录至所述终端设备。
37.在一个实施例中,所述预留信息包括以下任意一项或多项:所述终端设备的id,所述终端设备的类型,时间戳,自定义信息,等等。
38.在一个实施例中,所述信息规则包括:将指定信息写入设备信息字段中的约定字符后。设备信息字段可以指的是用户登录终端设备时登录文本中的某个字段,约定字符可以指的是设备信息字段中的某个字符,可以是其中的任意字符。
39.步骤102,所述终端设备使用所述密钥生成密钥串,并根据所述信息规则将指定信息写入登录文本,采用所述密钥串对所述登录文本进行摘要算法生成数字签名,将所述登
录文本格式和所述数字签名发送到所述平台。
40.在一个实施例中,所述终端设备使用所述密钥生成密钥串的步骤,进一步包括:
41.所述终端设备使用所述密钥为种子,使用哈希消息认证码算法(hmac)或哈希算法对种子生成二进制密钥串。
42.在一个实施例中,所述指定信息包括以下任意一项或多项:所述终端设备的id,所述终端设备的类型,时间戳,自定义信息,等等。
43.在一个实施例中,所述登录文本包括以下任意一项或多项:一次性响应特征(nonce,一次性废弃字符串)、时间戳、终端信息(例如imei,机型)、混淆信息(随机字符串序列)、版本信息(软件版本号)和账号信息(账号名)。应注意,每次登录过程中,登录文本的内容都会发生变化。
44.在一个实施例中,所述摘要算法非对称加密算法。在一个实施例中,所述非对称加密算法包括sha1、sha256、sha384中任意一种。
45.步骤103,所述平台获取所述登录文本,使用所述登录文本中的账号信息获取密钥,采用该密钥对所述登录文本进行摘要算法生成数字签名并将生成的数字签名与接收的数字签名进行对比,如相同,判断所述登录文本中的指定信息是否与所述平台中的所述预留信息匹配,如匹配,所述用户登录成功。
46.在一个实施例中,所述摘要算法非对称加密算法。在一个实施例中,所述非对称加密算法包括sha1、sha256、sha384。应当注意,步骤102和103中的采用的摘要算法可以是相同的算法。
47.本实施例中,首先通过数字签名进行第一次验证,再对指定信息和预留信息是否匹配的二次验证,通过在平台预留信息用于二次加密,即使密钥泄漏,入侵者能够通过数字签名的验证,由于入侵者无法判断登录文本中的有效信息部分(指定信息),并且无从得知预留信息内容,因此无法验证登录,从而使得入侵者即使拥有密钥,也无法完成正常登录。
48.在一个实施例中,该方法还包括:所述用户在所述平台修改所述预留信息和/或重新指定所述信息规则。具体的,用户可以在任意时刻登录平台修改预留信息和指定信息规则,用户可能具备在终端输入修改后的预留信息和指定规则的方式,并执行登录操作,用户修改预留信息后,入侵者无从得知和解析新的预留信息和规则,并且无法干扰用户的正常登录使用。
49.为了能够更好地理解本说明书的技术方案,下面结合一个具体的例子来进行说明,该例子中罗列的细节主要是为了便于理解,不作为对本技术保护范围的限制。
50.下文以平台、终端设备、用户的过程过程为例进行说明。图2示出了平台、终端设备、用户的工作过程。
51.step1:账号准备
52.001,厂商在云端平台使用个人平台账号密码进行登录,申请一组设备账号与设备密钥。
53.002,平台根据用户特征数据,生成一组独立设备账号和设备密钥。
54.step2:预留信息准备
55.003,用户在云端平台存储设备id作为预留信息,并指定信息规则。例如,在deviceinfo字段使用“i”分割符的第二字段为指定设备id(预留信息),用于登录验证。
56.004,平台返回成功。
57.step3:终端账号录入
58.005,用户将账号及密钥烧录至终端设备。
59.step4:登录阶段
60.006,终端设备使用密钥为种子,使用hmac算法对种子生成二进制密钥串,用户通过sdk集成软件方式将预留信息设备id写入指定deviceinfo字段的“i”符号后,隐藏至登录文本,并按照预留规则对该段信息进行摘要签名。
61.007,登录文本每次生成和登录信息内容都会有所变化,其中包括一次性响应nonce和时间戳。由于每次请求的登录文本信息都不相同,其中包括一次性响应凭证和时间戳,因此使用过的数据无法被重放,且具有时效性,不必担心请求被重放拦截。由于时效性和一次性特征,因此入侵者无法根据数据推测预留信息的准确性。
62.008,使用二进制密钥串,对登录信息文本进行摘要算法,获得数字签名。
63.009,将登录文本格式和数字签名发送至服务端。
64.010,服务端接受登录请求,并解析请求体。
65.011,使用登录文本中的账号信息,查询本地密钥,使用密钥对登录文本进行摘要算法,获得数字签名。
66.012,比对数字签名一致性,结果应当一致。
67.013,如果签名一致,则根据本地预留规则,检查登录文本信息指定字段是否特征匹配,此时应当一致,则返回登录成功。
68.一、正常情况
69.001,厂商在云端平台使用个人平台账号密码进行登录,申请一组设备账号与设备密钥。
70.002,平台根据用户特征数据,生成一组独立设备账号和设备密钥。
71.003,用户在云端平台存储设备id作为预留信息,并指定信息规则。例如,在deviceinfo字段使用“i”分割符的第二字段为指定设备id(预留信息),用于登录验证。
72.004,平台返回成功。
73.005,用户将账号及密钥烧录至终端设备。
74.006,终端设备使用密钥为种子,使用hmac算法对种子生成二进制密钥串,将预留信息写入指定deviceinfo字段的“i”符号后,隐藏至登录文本。
75.007,登录文本每次生成和登录信息内容都会有所变化,其中包括一次性响应nonce和时间戳。
76.008,使用二进制密钥串,对登录信息文本进行摘要算法,获得数字签名。
77.009,将登录文本格式和数字签名发送至服务端。
78.010,服务端接受登录请求,并解析请求体。
79.011,使用登录文本中的账号信息,查询本地密钥,使用密钥对登录文本进行摘要算法,获得数字签名。
80.012,比对数字签名一致性,结果应当一致。
81.013,如果签名一致,则根据本地预留规则,检查登录文本信息指定字段是否特征匹配,此时应当一致,则返回登录成功。
82.二、异常情况
83.001,厂商在云端平台使用个人平台账号密码进行登录,申请一组设备账号与设备密钥。
84.002,平台根据用户特征数据,生成一组独立设备账号和设备密钥。
85.003,用户在云端平台存储设备id作为预留信息,并指定信息规则。例如,在deviceinfo字段使用“i”分割符的第二字段为指定设备id(预留信息),用于登录验证。
86.004,平台返回成功。
87.005,用户将账号及密钥烧录至终端设备。
88.006,侵入者通过第三方盗取账号与密钥。入侵者盗取账号密钥的方式,不被限制于第三方信息获取,破解存储区域和复制程序镜像等手段
89.007,侵入者将账号与密钥烧录于自己的终端设备,并复制嵌入程序。
90.008,终端设备使用密钥为种子,使用hmac算法对种子生成二进制密钥串,将预留信息写入指定deviceinfo字段的“i”符号后,隐藏至登录文本。
91.009,登录文本每次生成和登录信息内容都会有所变化,其中包括一次性响应nonce和时间戳。
92.010,使用二进制密钥串,对登录信息文本进行摘要算法,获得数字签名。
93.011,将登录文本格式和数字签名发送至服务端。
94.012,服务端接受登录请求,并解析请求体。
95.013,使用登录文本中的账号信息,查询本地密钥,使用密钥对登录文本进行摘要算法,获得数字签名。
96.014,比对数字签名一致性,结果应当一致。
97.015,如果签名一致,则根据本地预留规则,检查登录文本信息指定字段是否特征匹配,此时发现设备id与预留信息不一致,则返回登录失败。
98.异常情况下,入侵者无从得知用户设定的预留信息和其规则,因此无法验证登录,从而使得入侵者即使拥有密钥,也无法完成正常登录,不会影响用户的正常使用。
99.相应地,本说明书实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
100.需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅
包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
101.在本说明书提及的所有文献都被认为是整体性地包括在本说明书的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
102.在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描述的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献