CN117633817A - 安全保护方法、装置、终端设备以及存储介质 - Google Patents

安全保护方法、装置、终端设备以及存储介质 Download PDF

Info

Publication number
CN117633817A
CN117633817A CN202311833076.8A CN202311833076A CN117633817A CN 117633817 A CN117633817 A CN 117633817A CN 202311833076 A CN202311833076 A CN 202311833076A CN 117633817 A CN117633817 A CN 117633817A
Authority
CN
China
Prior art keywords
encrypted data
data
encryption algorithm
security protection
networking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311833076.8A
Other languages
English (en)
Inventor
陈杰
黄坤
张知
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Skyworth Digital Technology Co Ltd
Original Assignee
Shenzhen Skyworth Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Skyworth Digital Technology Co Ltd filed Critical Shenzhen Skyworth Digital Technology Co Ltd
Priority to CN202311833076.8A priority Critical patent/CN117633817A/zh
Publication of CN117633817A publication Critical patent/CN117633817A/zh
Pending legal-status Critical Current

Links

Abstract

本申请公开了一种安全保护方法、装置、终端设备以及存储介质,涉及信息安全技术领域,方法包括:在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。采用本申请技术方案能够提高嵌入式设备在引导加载环节的信息安全保护,提高了嵌入式设备的安全性。

Description

安全保护方法、装置、终端设备以及存储介质
技术领域
本申请涉及信息安全技术领域,尤其涉及一种安全保护方法、装置、终端设备以及存储介质。
背景技术
随着信息技术的不断发展,信息安全越来越受到人们的重视,而数据的完整性验证和身份验证是确保系统安全和用户信息安全的重要保障手段。
嵌入式设备的启动流程包括硬件上电、引导加载(bootloader/uboot)、操作系统内核启动和APP(Application应用程序)启动环节,目前,各商家为保障嵌入式设备的系统安全,通常是在操作系统内核和APP应用层方面来对系统安全进行保护,但对于引导加载环节的信息安全不够重视,实际上,引导加载环节在受到非法用户的安全攻击时,会导致嵌入式设备中的系统环境变量、用户信息泄漏的风险,还会导致运营商的锁网管控、监控功能等受到影响,给用户和商家都造成损失。
综上,如何完善嵌入式设备在引导加载环节的信息安全保护,以提高嵌入式设备的安全性,俨然已经成为本领域亟待解决的技术问题。
发明内容
本申请的主要目的在于提供一种安全保护方法、装置、终端设备以及存储介质,旨在提高嵌入式设备的安全性。
为实现上述目的,本申请提供一种安全保护方法,所述安全保护方法包括:
在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;
基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;
将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;
若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
可选地,所述加密数据包括第一加密数据,所述基于预设的加密算法对所述账号数据进行加密,得到加密数据的步骤,包括:
检测嵌入式设备的网络状态,其中,所述网络状态包括通信状态和未通信状态;
若所述网络状态为所述未通信状态,则基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据,其中,所述未联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法。
可选地,所述基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据的步骤,包括:
按照所述未联网加密算法对应的数据长度对所述账号数据进行填充,并记录填充后的所述账号数据的数据长度;
对预设的标准幻数进行数组化,得到多个初始计算因子数组;
基于所述数据长度对各个所述初始计算因子数组进行循环位移,得到顺序随机的各个目标计算因子数组;
对所述账号数据和各个所述目标计算因子数组采用所述未联网加密算法进行加密计算,得到所述第一加密数据。
可选地,所述加密数据还包括第二加密数据,在所述检测嵌入式设备的网络状态的步骤之后,所述方法还包括:
若所述网络状态为所述通信状态,则基于所述联网加密算法对所述账号数据进行加密计算,得到第二初始加密数据,其中,所述联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法;
根据数字签名的私钥对所述第二初始加密数据进行签名,得到签名文件;
将所述第二初始加密数据和所述签名文件进行组合,得到所述第二加密数据。
可选地,在所述根据数字签名的私钥对所述第二初始加密数据进行签名的步骤之前,所述方法还包括:
向预设的数字签名系统提交密钥对申请请求;
接收所述数字签名系统针对所述密钥对申请请求反馈的密钥对数据,并将所述密钥对数据保存至预设的数字签名数据库中,其中,所述密钥对数据包括数字签名的私钥和公钥。
可选地,所述将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果的步骤,包括:
根据数字签名的公钥对所述签名文件进行签名验证,得到验证结果;
若所述验证结果为验证通过,则将所述第二加密数据与预设的标准加密数据进行数据比对,得到比对结果。
可选地,在所述将所述加密数据与预设的标准加密数据进行数据比对的步骤之前,所述方法还包括:
从预设的存储区域中查询标准加密数据,其中,所述标准加密数据为基于产品序列号和所述加密算法生成的唯一数据。
此外,为实现上述目的,本申请还提供一种安全保护装置,所述安全保护装置包括:
账号数据获取模块,用于在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;
加密模块,用于基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;
比对模块,用于将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;
命令模式开启模块,用于若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
其中,本申请安全保护装置的各个功能模块在运行时实现如上所述的安全保护方法的步骤。
此外,为实现上述目的,本申请还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全保护程序,所述安全保护程序被所述处理器执行时实现如上所述的安全保护方法的步骤。
此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有安全保护程序,所述安全保护程序被处理器执行时实现如上所述的安全保护方法的步骤。
本申请提供的一种安全保护方法、装置、终端设备以及存储介质,其中,安全保护方法包括:在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
如此,本申请通过在接收到用户输入的引导加载命令模式的启动指令之后,将用户输入的账号数据进行加密得到加密数据,再将加密数据和标准加密数据进行数据比对,并在数据比对一致时才开启引导加载命令模式,从而,通过在嵌入式设备的启动流程中,针对其引导加载阶段时的账号数据进行加密保护,提高了嵌入式设备在引导加载环节的信息安全保护,提高了嵌入式设备的安全性。
附图说明
图1为本申请实施例方案涉及的终端设备硬件运行环境的设备结构示意图;
图2为本申请安全保护方法一实施例的实施流程示意图;
图3为本申请安全保护方法另一实施例所涉及的实施流程示意图;
图4为本申请安全保护方法一实施例所涉及的流程示意图;
图5为本申请安全保护装置一实施例的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
在本申请中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
另外,在本申请中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请实施例提供一种终端设备。
需要说明的是,本申请实施例终端设备可以是电脑、智能手机、数字电视机等嵌入式设备。
如图1所示,图1是本申请实施例方案涉及的终端设备硬件运行环境的设备结构示意图。在终端设备的硬件运行环境中,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及安全保护程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的安全保护程序,并执行以下操作:
在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;
基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;
将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;
若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
可选地,所述加密数据包括第一加密数据;
处理器1001还可以用于调用存储器1005中存储的安全保护程序,并执行以下操作:
检测嵌入式设备的网络状态,其中,所述网络状态包括通信状态和未通信状态;
若所述网络状态为所述未通信状态,则基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据,其中,所述未联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法。
可选地,处理器1001还可以用于调用存储器1005中存储的安全保护程序,并执行以下操作:
按照所述未联网加密算法对应的数据长度对所述账号数据进行填充,并记录填充后的所述账号数据的数据长度;
对预设的标准幻数进行数组化,得到多个初始计算因子数组;
基于所述数据长度对各个所述初始计算因子数组进行循环位移,得到顺序随机的各个目标计算因子数组;
对所述账号数据和各个所述目标计算因子数组采用所述未联网加密算法进行加密计算,得到所述第一加密数据。
可选地,所述加密数据还包括第二加密数据,处理器1001还可以用于调用存储器1005中存储的安全保护程序,并执行以下操作:
若所述网络状态为所述通信状态,则基于所述联网加密算法对所述账号数据进行加密计算,得到第二初始加密数据,其中,所述联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法;
根据数字签名的私钥对所述第二初始加密数据进行签名,得到签名文件;
将所述第二初始加密数据和所述签名文件进行组合,得到所述第二加密数据。
可选地,处理器1001还可以用于调用存储器1005中存储的安全保护程序,并执行以下操作:
向预设的数字签名系统提交密钥对申请请求;
接收所述数字签名系统针对所述密钥对申请请求反馈的密钥对数据,并将所述密钥对数据保存至预设的数字签名数据库中,其中,所述密钥对数据包括数字签名的私钥和公钥。
可选地,处理器1001还可以用于调用存储器1005中存储的安全保护程序,并执行以下操作:
根据数字签名的公钥对所述签名文件进行签名验证,得到验证结果;
若所述验证结果为验证通过,则将所述第二加密数据与预设的标准加密数据进行数据比对,得到比对结果。
可选地,处理器1001还可以用于调用存储器1005中存储的安全保护程序,并执行以下操作:
从预设的存储区域中查询标准加密数据,其中,所述标准加密数据为基于产品序列号和所述加密算法生成的唯一数据。
基于上述的硬件结构,提出本申请安全保护方法的各个实施例的整体构思。
在本申请实施例中,随着信息技术的不断发展,信息安全越来越受到人们的重视,而数据的完整性验证和身份验证是确保系统安全和用户信息安全的重要保障手段。
嵌入式设备的启动流程包括硬件上电、引导加载(bootloader/uboot)、操作系统内核启动和APP启动环节,目前,各商家为保障嵌入式设备的系统安全,通常是在操作系统内核和APP应用层方面来对系统安全进行保护,但对于引导加载环节的信息安全不够重视,实际上,引导加载环节在受到非法用户的安全攻击时,会导致嵌入式设备中的系统环境变量、用户信息泄漏的风险,还会导致运营商的锁网管控、监控功能等受到影响,给用户和商家都造成损失。
综上,如何完善嵌入式设备在引导加载环节的信息安全保护,以提高嵌入式设备的安全性,俨然已经成为本领域亟待解决的技术问题。
针对上述问题,本申请实施例提出一种安全保护方法,该安全保护方法包括:在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
如此,本申请通过在接收到用户输入的引导加载命令模式的启动指令之后,将用户输入的账号数据进行加密得到加密数据,再将加密数据和标准加密数据进行数据比对,并在数据比对一致时才开启引导加载命令模式,从而,通过在嵌入式设备的启动流程中,针对其引导加载阶段时的账号数据进行加密保护,提高了嵌入式设备在引导加载环节的信息安全保护,提高了嵌入式设备的安全性。
基于上述本申请安全保护方法的总体构思,提出本申请安全保护方法的各个实施例。
请参照图2,图2为本申请安全保护方法第一实施例的流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中,为便于理解和阐述,在本实施例中均以嵌入式设备作为直接的执行主体,以针对本申请安全保护方法进行阐述。
如图2所示,在本实施例中,本申请安全保护方法可以包括:
步骤S10:在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;
需要说明的是,在本实施例中,嵌入式设备的启动流程通常包括硬件上电、引导加载(bootloader/uboot)、操作系统内核启动和APP启动四个环节,其中,引导加载指启动嵌入式设备时加载操作系统的过程,当嵌入式设备启动时,其自动运行bootloader(引导加载程序)软件,用于初始化设备的硬件并加载操作系统到设备内存中,从而使操作系统可以运行,而uboot是bootLoader的一个具象化的表现,通常的嵌入式设备中使用的bootLoader均为uboot。
在本实施例中,嵌入式设备在硬件上电后立即开始启动uboot,此时,用户可通过预设的触控操作对嵌入式设备发出引导加载命令模式的启动指令,嵌入式设备在接收到该启动指令后,响应于该启动指令在自身的交互界面中生成提示账号登陆的界面,并获取用户在界面中输入的账号数据。
还需要说明的是,在本实施例中,引导加载命令模式指进入bootloader/uboot的命令行所在界面,bootloader/uboot的命令行所在界面可用于对嵌入式设备进行配置修改和数据查询,例如,通过bootloader/uboot的命令行对嵌入式设备进行升级、刷机等,或者查询设备的环境变量和用户信息;账号数据包括用户的登陆账号和密码。
步骤S20:基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;
在本实施例中,嵌入式设备基于用户在提示账号登陆的界面中输入的账号和密码,将该账号和密码作为账号数据,并通过预设的加密算法对该账号数据进行加密,得到加密数据。
需要说明的是,在本实施例中,加密算法优选为哈希算法,嵌入式设备基于哈希算法将账号数据转换为固定长度的哈希值(Hash Value),且转换后的哈希值无法逆向推导出原本的账号数据,从而有利于保护用户的账号数据不被泄漏,完善了设备的安全保护和用户隐私保护。
步骤S30:将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;
在本实施例中,嵌入式设备基于加密算法对账号数据进行加密后,将加密得到的加密数据和预设的标准加密数据进行数据比对,得到比对结果。
进一步地,在一种可行的实施例中,在上述步骤S30之前,本申请安全包括方法还可以包括:
从预设的存储区域中查询标准加密数据,其中,所述标准加密数据为基于产品序列号和加密算法生成的唯一数据。
在本实施例中,嵌入式设备从自身预设的存储区域中查询标准加密数据,该标准加密数据为在嵌入式设备的生成阶段,基于该嵌入式设备的产品序列号和加密算法所生成的唯一数据,其中,生成标准加密数据时所采用的加密算法与对账号数据进行加密的加密算法一致,为同一种加密算法。
具体地,在本实施例中,在嵌入式设备的生产阶段,生产产商可基于生产的嵌入式设备的序列号确定该设备的唯一账号,例如,将序列号后八位作为对应设备的账号,并为该设备随机分配一个保密性强的密码,密码的随机分配可通过调用密码设备或底层密码库来实现,在本实施例中对此不作具体限定,在确定嵌入式设备对应的账号和密码后,通过加密算法对其进行加密计算,得到该嵌入式设备的标准加密数据。
步骤S40:若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
在本实施例中,嵌入式设备将加密计算后得到的加密数据和存储区域中预存的标准加密数据进行数据比对,若比对得到的比对结果为加密数据和标准加密数据完全相同,则确定用户输入的账号密码无误,则按照引导加载命令模式的启动指令开启引导加载命令模式。
需要说明的是,在本实施例中相较于常规的嵌入式设备中针对引导加载环节设置登陆命令模式的用户账号和密码,本实施例中通过随机生成账号数据,并对账号数据进行加密存储和加密验证,避免了非法用户通过烧录器等方式直接读出设备数据以破解账号密码,进一步提高了嵌入式设备的安全性,使得非用户外的其他人员,即使是该嵌入式设备的研发人员,也无法在不获得用户许可的情况下对嵌入式设备的bootloader/uboot命令行进行操作。
在本实施例中,本申请实施例通过在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
如此,本申请实施例通过在接收到用户输入的引导加载命令模式的启动指令之后,将用户输入的账号数据进行加密得到加密数据,再将加密数据和标准加密数据进行数据比对,并在数据比对一致时才开启引导加载命令模式,从而,通过在嵌入式设备的启动流程中,针对其引导加载阶段时的账号数据进行加密保护,提高了嵌入式设备在引导加载环节的信息安全保护,提高了嵌入式设备的安全性。
进一步地,基于上述本申请安全保护方法的第一实施例,提出本申请安全保护方法的第二实施例。
在本实施例中,如图3所示,所述加密数据包括第一加密数据,上述步骤S20:基于预设的加密算法对所述账号数据进行加密,得到加密数据,包括:
步骤S201:检测嵌入式设备的网络状态,其中,所述网络状态包括通信状态和未通信状态;
在本实施例中,嵌入式设备在接收到针对嵌入式设备的引导加载命令模式的启动指令后,立即检测自身当前的网络状态,即检测自身当前的boot状态是否进行网络通信,网络状态包括通信状态和未通信状态。
步骤S202:若所述网络状态为所述未通信状态,则基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据,其中,所述未联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法。在本实施例中,嵌入式设备确定当前的网络状态为未通信状态,则基于未联网加密算法对获取到的账号数据进行加密计算,得到第一加密数据,其中,202:基于指定信息摘要算法生成针对密码信息的摘要信息。其中,该未联网加密算法可以包括信息摘要算法(Message-Digest Algorithm5,MD5)、哈希算法或者循环冗余校验算法(Cyclic Redundancy Check,CRC)等等,也可以包括其他信息摘要算法,本申请对此不作具体限定。
在一种可行的实施例中,以未联网加密算法为MD5为例,嵌入式设备基于MD5算法对输入任意长度的账号数据进行运行,产生一个128位的消息摘要,该消息摘要即为第一加密数据。
在另一种可行的实施例中,以未联网加密算法为SHA-1(Secure Hash Algorithm1安全散列算法1)为例,嵌入式设备基于SHA-1算法对输入任意长度的账号数据进行运行,产生一个160位的消息摘要,该消息摘要即为第一加密数据。
进一步地,在一种可行的实施例中,所述未联网加密算法为MD5或者SHA-1,上述步骤S202中“基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据,其中,所述未联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法”的步骤,包括:
步骤S2021:按照所述未联网加密算法对应的数据长度对所述账号数据进行填充,并记录填充后的所述账号数据的数据长度;
在本实施例中,以未联网加密算法为MD5为例,首先按照未联网加密算法对应的数据长度对账号数据进行填充,使其位长对512求余的结果等于448,因此,账号数据的位长将被扩展至N*512+448,N为一个非负整数,N可以是零,具体的填充方法如下:在账号数据的后面填充一个1和无数个0,直到满足上面的条件时停止;在扩充数据后面再附加一个64位二进制表示填充前信息长度(单位为Bit),如果二进制表示的填充前信息长度超过64位,则取低64位。得到账号数据填充后的长度M=N*512+448+64=(N+1)*512,即账号数据填充后的长度恰好是512的整数倍。
步骤S2022:对预设的标准幻数进行数组化,得到多个初始计算因子数组;
在本实施例中,MD5加密算法的实现需要每512个字节进行一次处理,后一次处理的输入为前一次处理的输出,因此,在循环处理开始之前,需要拿4个标准数作为输入,也即标准幻数包括四个标准数,分别为:unsigned int a=0x67452301,b=0xefcdab89,c=0x98badcfe,d=0x10325476,然后,将标准幻数数组化,V={0x67452301,0xefcdab89,0x98badcfe,0x10325476},得到多个初始计算因子数组,分别是标准幻数数组V,常量数组Kj和位移量数组S,其中,标准幻数数组V包含4项,常量数组Kj包含64项,位移量数组S包含4项。
步骤S2023:基于所述数据长度对各个所述初始计算因子数组进行循环位移,得到顺序随机的各个目标计算因子数组;
在本实施例中,账号数据填充后,数据长度将是(N+1)/512,将每512位(64字节)作为一块来运算,总共要主循环N+1次,每块细分为16个小组,每组的长度为32位(4字节),这16个小组即为一轮,总共得循环4轮,即64次子循环。总的来说需要(N+1)个主循环,每个主循环包含了64次子循环,通过不断的改变标准幻数a,b,c,d才能最终得到数据的账号数据的MD5值,计算次数为(N+1)*64。
步骤S2024:对所述账号数据和各个所述目标计算因子数组采用所述未联网加密算法进行加密计算,得到所述第一加密数据。
在本实施例中,各个目标计算因子数组包括:目标幻数数组、目标常量数组和目标位移量数组,通过采用预设算法对目标常量数组进行随机性处理,得到随机常量数组,然后,对账号数据、目标幻数数组、目标位移量数组和随机常量数组采用未联网加密算法,得到目标加密数据。
如此,在本实施例中,通过存储用户账号数据的加密值,将用户实际输入的账号数据对应的第一加密数据和存储的标准加密数据进行比对,用于确定用户输入的账号和密码是否正确,即使非法用户得到存储区域中的账号数据的标准加密数据,也无法得到实际的用户账号和密码,如此,嵌入式设备的控制系统可在不知道用户账号密码的情况下确定用户登陆的合法性,既可以避免用户的账号数据被拥有系统管理权限的研发人员知道,且提高了引导加载命令模式的安全性。
进一步地,基于上述本申请安全保护方法的第一实施例和/或者第二实施例,提出本申请安全保护方法的第三实施例。
在本实施例中,所述加密数据还包括第二加密数据,在上述步骤S201:检测嵌入式设备的网络状态,其中,所述网络状态包括通信状态和未通信状态之后,本申请安全保护方法还包括:
步骤S203:若所述网络状态为所述通信状态,则基于所述联网加密算法对所述账号数据进行加密计算,得到第二初始加密数据,其中,所述联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法;
在本实施例中,嵌入式设备确定当前网络状态为通信状态时,则基于联网加密算法对账号数据进行加密,得到第二初始加密数据,其中,所述其中,所述联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法,其中,联网加密算法可以包括信息摘要算法、哈希算法或者循环冗余校验算法等等,也可以包括其他加密算法,联网加密算法可以与未联网加密算法为同一算法,本申请对此不作具体限定。
步骤S204:根据数字签名的私钥对所述第二初始加密数据进行签名,得到签名文件;
步骤S205:将所述第二初始加密数据和所述签名文件进行组合,得到所述第二加密数据。
在本实施例中,嵌入式设备根据数字签名的私钥对第二初始加密数据进行签名,得到签名文件,并将第二初始加密数据和该签名文件进行组合,得到第二加密数据。
进一步地,在一种可行的实施例中,在上述步骤S204之前,本申请安全保护方法还包括:
步骤A10:向预设的数字签名系统提交密钥对申请请求;
步骤A20:接收所述数字签名系统针对所述密钥对申请请求反馈的密钥对数据,并将所述密钥对数据保存至预设的数字签名数据库中,其中,所述密钥对数据包括数字签名的私钥和公钥。
在本实施例中,嵌入式设备向预设的外部数字签名系统提交密钥对申请请求,以使数字签名系统根据该请求生成新的密钥对,嵌入式设备接收数字签名系统针对该密钥对申请请求反馈回来的密钥对数据,该密钥对数据具体包括数字签名的私钥和公钥,并将该密钥对数据存储至自身的数字签名数据库中。
在此基础上,当嵌入式设备的网络状态为通信状态时,基于联网加密算法对账号数据进行加密计算得到第二初始加密数据,然后,从数字签名数据库中提取出数字签名的私钥对第二初始加密数据进行签名,得到签名文件,将第二初始加密数据和签名文件进行组合,得到第二加密数据,然后在解密时,通过数字签名的公钥来对签名文件进行签名验证,并在验证通过时将第二加密数据与标准加密数据进行数据比对。
进一步地,在一种可行的实施例中,上述步骤S30:将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果,包括:
步骤S301:根据数字签名的公钥对所述签名文件进行签名验证,得到验证结果;
步骤S302:若所述验证结果为验证通过,则将所述第二加密数据与预设的标准加密数据进行数据比对,得到比对结果。
在本实施例中,嵌入式设备根据数字签名的公钥对该签名文件进行签名验证,具体可以通过RSA(一种加密算法)和椭圆曲线加密算法(ECC)进行签名验证,从而得到验证结果,在验证结果为验证通过时,则将第二加密数据和预存的标准加密数据进行数据比对,得到比对结果。在另一种可行的实施例中,若验证结果为验证未通过,则直接输出提示信息以提示用户账号/密码错误。
示例性地,如图4所示,在嵌入式设备的生产阶段即基于其生成序列号生成账号密码(user/password),并基于加密算法对user/password进行加密,基于实际的应用需求,既可以选择加密账号和密码,也可以选择只加密密码,将加密后的账号密码作为标准账号数据Data2存储于指定的存储区域中,然后,当嵌入式设备接收到用户进入bootloader命令行的动作时,即响应引导加载命令模式的启动指令,提示用户输入账号和密码,并获取用户输入的账号和密码作为账号数据,按照加密算法对该账号数据进行加密,得到加密数据Data1,然后,嵌入式设备从指定存储区域中读取存储的Data2,比较Data1和Data2是否相同,若Data1和Data2相同,则允许用户进入bootloader命令行,若Data1和Data2不相同,则不允许用户进入bootloader命令行。
如此,在本实施例中,通过存储用户账号数据的加密值,将用户实际输入的账号数据对应的第二加密数据和存储的标准加密数据进行比对,用于确定用户输入的账号和密码是否正确,即使非法用户得到存储区域中的账号数据的标准加密数据,也无法得到实际的用户账号和密码,如此,嵌入式设备的控制系统可在不知道用户账号密码的情况下确定用户登陆的合法性,既可以避免用户的账号数据被拥有系统管理权限的研发人员知道,且提高了引导加载命令模式的安全性。
此外,本申请实施例还提出一种安全保护装置。
请参照图5,本申请安全保护装置包括:
账号数据获取模块10,用于在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;
加密模块20,用于基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;
比对模块30,用于将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;
命令模式开启模块40,用于若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
可选地,所述加密数据包括第一加密数据;所述加密模块20,包括:
网络检测单元,用于检测嵌入式设备的网络状态,其中,所述网络状态包括通信状态和未通信状态;
第一加密单元,用于若所述网络状态为所述未通信状态,则基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据,其中,所述未联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法。
可选地,所述第一加密单元,还用于按照所述未联网加密算法对应的数据长度对所述账号数据进行填充,并记录填充后的所述账号数据的数据长度;对预设的标准幻数进行数组化,得到多个初始计算因子数组;基于所述数据长度对各个所述初始计算因子数组进行循环位移,得到顺序随机的各个目标计算因子数组;对所述账号数据和各个所述目标计算因子数组采用所述未联网加密算法进行加密计算,得到所述第一加密数据。
可选地,所述加密数据还包括第二加密数据;所述加密模块20,还包括:
第二加密单元,用于若所述网络状态为所述通信状态,则基于所述联网加密算法对所述账号数据进行加密计算,得到第二初始加密数据,其中,所述联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法;根据数字签名的私钥对所述第二初始加密数据进行签名,得到签名文件;将所述第二初始加密数据和所述签名文件进行组合,得到所述第二加密数据。
可选地,本申请安全保护装置还可以包括:
数字签名模块,用于向预设的数字签名系统提交密钥对申请请求;接收所述数字签名系统针对所述密钥对申请请求反馈的密钥对数据,并将所述密钥对数据保存至预设的数字签名数据库中,其中,所述密钥对数据包括数字签名的私钥和公钥。
可选地,所述比对模块30,还用于根据数字签名的公钥对所述签名文件进行签名验证,得到验证结果;若所述验证结果为验证通过,则将所述第二加密数据与预设的标准加密数据进行数据比对,得到比对结果。
可选地,本申请安全保护装置还可以包括:
数据查询模块,用于从预设的存储区域中查询标准加密数据,其中,所述标准加密数据为基于产品序列号和所述加密算法生成的唯一数据。
其中,上述安全保护装置中各个模块的功能实现与上述安全保护方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本申请还提出一种存储介质,该存储介质为计算机可读存储介质,该存储介质上存储有安全保护的程序,该安全保护程序被处理器执行时实现如上所述本申请安全保护方法的步骤。
本申请存储介质的具体实施例与上述安全保护方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种安全保护方法,其特征在于,所述方法包括:
在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;
基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;
将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;
若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
2.如权利要求1所述的安全保护方法,其特征在于,所述加密数据包括第一加密数据;
所述基于预设的加密算法对所述账号数据进行加密,得到加密数据的步骤,包括:
检测嵌入式设备的网络状态,其中,所述网络状态包括通信状态和未通信状态;
若所述网络状态为所述未通信状态,则基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据,其中,所述未联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法。
3.如权利要求2所述的安全保护方法,其特征在于,所述基于所述未联网加密算法对所述账号数据进行加密计算,得到所述第一加密数据的步骤,包括:
按照所述未联网加密算法对应的数据长度对所述账号数据进行填充,并记录填充后的所述账号数据的数据长度;
对预设的标准幻数进行数组化,得到多个初始计算因子数组;
基于所述数据长度对各个所述初始计算因子数组进行循环位移,得到顺序随机的各个目标计算因子数组;
对所述账号数据和各个所述目标计算因子数组采用所述未联网加密算法进行加密,得到所述第一加密数据。
4.如权利要求2所述的安全保护方法,其特征在于,所述加密数据还包括第二加密数据;
在所述检测嵌入式设备的网络状态的步骤之后,所述方法还包括:
若所述网络状态为所述通信状态,则基于所述联网加密算法对所述账号数据进行加密计算,得到第二初始加密数据,其中,所述联网加密算法包括信息摘要算法、哈希算法或者循环冗余校验算法;
根据数字签名的私钥对所述第二初始加密数据进行签名,得到签名文件;
将所述第二初始加密数据和所述签名文件进行组合,得到所述第二加密数据。
5.如权利要求4所述的安全保护方法,其特征在于,在所述根据数字签名的私钥对所述第二初始加密数据进行签名的步骤之前,所述方法还包括:
向预设的数字签名系统提交密钥对申请请求;
接收所述数字签名系统针对所述密钥对申请请求反馈的密钥对数据,并将所述密钥对数据保存至预设的数字签名数据库中,其中,所述密钥对数据包括数字签名的私钥和公钥。
6.如权利要求5所述的安全保护方法,其特征在于,所述将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果的步骤,包括:
根据数字签名的公钥对所述签名文件进行签名验证,得到验证结果;
若所述验证结果为验证通过,则将所述第二加密数据与预设的标准加密数据进行数据比对,得到比对结果。
7.如权利要求1至6中任一项所述的安全保护方法,其特征在于,在所述将所述加密数据与预设的标准加密数据进行数据比对的步骤之前,所述方法还包括:
从预设的存储区域中查询标准加密数据,其中,所述标准加密数据为基于产品序列号和所述加密算法生成的唯一数据。
8.一种安全保护装置,其特征在于,所述安全保护装置包括:
账号数据获取模块,用于在接收到针对嵌入式设备的引导加载命令模式的启动指令后,获取输入的账号数据;
加密模块,用于基于预设的加密算法对所述账号数据进行加密,得到加密数据,其中,所述加密算法包括联网加密算法和未联网加密算法;
比对模块,用于将所述加密数据与预设的标准加密数据进行数据比对,得到比对结果;
命令模式开启模块,用于若所述比对结果为所述加密数据与所述标准加密数据一致,则按照所述启动指令开启引导加载命令模式。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全保护程序,所述安全保护程序被所述处理器执行时实现如权利要求1至7中任一项所述的安全保护方法的步骤。
10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有安全保护程序,所述安全保护程序被处理器执行时实现如权利要求1至7中任一项所述的安全保护方法的步骤。
CN202311833076.8A 2023-12-27 2023-12-27 安全保护方法、装置、终端设备以及存储介质 Pending CN117633817A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311833076.8A CN117633817A (zh) 2023-12-27 2023-12-27 安全保护方法、装置、终端设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311833076.8A CN117633817A (zh) 2023-12-27 2023-12-27 安全保护方法、装置、终端设备以及存储介质

Publications (1)

Publication Number Publication Date
CN117633817A true CN117633817A (zh) 2024-03-01

Family

ID=90030617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311833076.8A Pending CN117633817A (zh) 2023-12-27 2023-12-27 安全保护方法、装置、终端设备以及存储介质

Country Status (1)

Country Link
CN (1) CN117633817A (zh)

Similar Documents

Publication Publication Date Title
KR101795457B1 (ko) 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법
US8627086B2 (en) Secure loading and storing of data in a data processing device
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
US8041957B2 (en) Associating software with hardware using cryptography
US8250373B2 (en) Authenticating and verifying an authenticable and verifiable module
CN102426640B (zh) 用于产品验证和激活的安全软件产品标识符
CN111264044B (zh) 芯片、生成私钥的方法和可信证明的方法
US7693286B2 (en) Method of delivering direct proof private keys in signed groups to devices using a distribution CD
EP1846830B1 (en) Access keys
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
EP1645931A1 (en) Secure loading and storing of data in a data processing device
US20060107065A1 (en) System that generates access keys
EP3641219A1 (en) Puf based securing of device update
KR20200020627A (ko) 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 부트 방법
CN115859267A (zh) 一种应用程序安全启动的方法、存储控制芯片和电子设备
CN112966254B (zh) 用于主机与可信密码模块的安全通信方法及系统
JP2020071880A (ja) デバイス証明技術
CN104899524A (zh) 中央处理器和验证主机板数据的方法
KR101328167B1 (ko) 차량의 소프트웨어 플랫폼 검증 방법 및 그 시스템
JP2023542099A (ja) 無線端末、及び無線端末のUbootモードにおけるインタフェースアクセス認証方法
US20220209946A1 (en) Key revocation for edge devices
WO2006039967A1 (en) Secure loading and storing of data in a data processing device
CN117633817A (zh) 安全保护方法、装置、终端设备以及存储介质
CN115001864A (zh) 智能家具的通信认证方法、装置、计算机设备和存储介质
CN107026729B (zh) 用于传输软件的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination