数据加密的方法及装置的制造方法

文档序号:10577997阅读:338来源:国知局
数据加密的方法及装置的制造方法
【专利摘要】本申请提供一种数据加密的方法及装置,所述方法包括:设备上电时,逻辑器件读取引导程序进行设备初始化;引导程序基于内置的数据加密算法为待加密数据计算数据密钥;使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计算。在本申请中,由于不再通过软件来实现对数据的加密,因此,可以解决现有技术加密效率低的问题。
【专利说明】
数据加密的方法及装置
技术领域
[0001] 本申请设及网络通信技术领域,尤其设及数据加密的方法及装置。
【背景技术】
[0002] 在嵌入式网络设备中,核屯、数据通常存储在诸如闪存Flash卡W及CF(Compact Flash,紧凑型闪存)卡等存储器中。然而,存储在上述存储器中的数据易被读取和非法拷 贝,从而导致核屯、数据的泄露。
[0003] 现有技术可W通过软件来实现对核屯、数据的编码和解码,从而可W较为安全的实 现对核屯、数据的加密和解密。但是,由于软件编码和解码需要的时间较长,因此,现有技术 的加密效率低。

【发明内容】

[0004] 有鉴于此,本申请提供一种数据加密的方法及装置,来解决现有技术加密效率低 的问题。
[0005] 具体地,本申请是通过如下技术方案实现的:
[0006] 根据本申请实施例的第一方面,提供一种数据加密的方法,所述方法应用于嵌入 式网络设备上,所述嵌入式网络设备包括逻辑器件和引导程序,所述方法包括:
[0007] 设备上电时,逻辑器件读取引导程序进行设备初始化;
[000引引导程序基于内置的数据加密算法为待加密数据计算数据密钥;
[0009] 使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计算。
[0010] 可选的,所述引导程序基于所述逻辑器件默认的加密算法W及加密密钥预先进行 了加密,并且解密算法W及对应的解密密钥预置于所述逻辑器件中;
[0011] 所述读取引导程序进行设备初始化包括:
[0012] 从所述逻辑器件中读取预置的解密算法W及解密密钥;
[0013] 基于所述解密算法W及所述解密密钥解密所述引导程序;
[0014] 读取解密后的所述引导程序。
[0015] 可选的,所述引导程序基于内置的数据加密算法为待加密数据计算数据密钥包 括:
[0016] 获取设备的序列号;
[0017] 使用引导程序内置的数据加密算法基于设备的序列号W及CPU的序列号计算所述 数据密钥。
[0018] 可选的,所述使用引导程序内置的数据加密算法基于设备的序列号W及CPU的序 列号计算所述数据密钥包括:
[0019] 当获取到的设备的序列号合法时,使用引导程序内置的数据加密算法基于设备的 序列号W及CPU的序列号计算所述数据密钥。
[0020] 可选的,所述待加密数据包括引导程序、系统软件W及用户自定义数据。
[0021 ]可选的,所述使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密 计算包括:
[0022] 所述引导程序使用所述数据密钥通过预设的数据加密算法对待加密数据执行加 密计算;
[0023] 或者,所述系统软件使用所述数据密钥通过预设的数据加密算法对待加密数据执 行加密计算。
[0024] 根据本申请实施例的第二方面,提供一种数据加密的装置,其特征在于,所述装置 应用于嵌入式网络设备上,所述嵌入式网络设备包括逻辑器件和引导程序,所述装置包括:
[0025] 读取单元,用于设备上电时,逻辑器件读取引导程序进行设备初始化;
[0026] 计算单元,用于引导程序基于内置的数据加密算法为待加密数据计算数据密钥;
[0027] 加密单元,用于使用所述数据密钥通过预设的数据加密算法对待加密数据执行加 密计算。
[0028] 可选的,所述引导程序基于所述逻辑器件默认的加密算法W及加密密钥预先进行 了加密,并且解密算法W及对应的解密密钥预置于所述逻辑器件中;
[0029] 所述读取单元具体用于:
[0030] 从所述逻辑器件中读取预置的解密算法W及解密密钥;
[0031] 基于所述解密算法W及所述解密密钥解密所述引导程序;
[0032] 读取解密后的所述引导程序。
[0033] 可选的,所述计算单元包括:
[0034] 获取子单元,用于获取设备的序列号;
[0035] 使用子单元,用于使用引导程序内置的数据加密算法基于设备的序列号W及CPU 的序列号计算所述数据密钥。
[0036] 可选的,使用子单元具体用于:
[0037] 当获取到的设备的序列号合法时,使用引导程序内置的数据加密算法基于设备的 序列号W及CPU的序列号计算所述数据密钥。
[0038] 可选的,所述待加密数据包括引导程序、系统软件W及用户自定义数据。
[0039] 可选的,所述计算单元具体用于:
[0040] 所述引导程序使用所述数据密钥通过预设的数据加密算法对待加密数据执行加 密计算;
[0041] 或者,所述系统软件使用所述数据密钥通过预设的数据加密算法对待加密数据执 行加密计算。
[0042] 本申请提供数据加密的方法及装置,读取引导程序进行设备初始化后,嵌入式网 络设备可W通过预设的数据加密算法W及基于所述数据加密算法计算出的数据密钥来完 成对待加密数据的加密,从而可W解决现有技术因使用软件来完成对数据的加密和解密而 造成的加密效率低的问题。
【附图说明】
[0043] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施 例,并与说明书一起用于解释本发明的原理。
[0044] 图I是本申请数据加密的方法的一个实施例流程图;
[0045] 图2是本申请数据加密的装置所在设备的一种硬件结构图;
[0046] 图3是本申请数据加密的装置的一个实施例框图;
[0047] 图4是本申请数据加密的装置的另一个实施例框图。
【具体实施方式】
[0048] 运里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述设及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。W下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0049] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多数 形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指并包 含一个或多个相关联的列出项目的任何或所有可能组合。
[0050] 应当理解,尽管在本申请可能采用术语第一、第二、第=等来描述各种信息,但运 些信息不应限于运些术语。运些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可W被称为第二信息,类似地,第二信息也可W被称为第 一信息。取决于语境,如在此所使用的词语"如果"可W被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0051] 参见图1,为本申请数据加密的方法的一个实施例流程图,所述实施例应用于嵌入 式网络设备上,所述嵌入式网络设备包括逻辑器件和引导程序,所述实施例包括W下步骤:
[0052] 步骤101:设备上电时,逻辑器件读取引导程序进行设备初始化。
[0053] 嵌入式网络设备上电时,可W通过读取引导程序来进行设备的初始化。引导程序 可W基于逻辑器件默认的加密算法W及加密密钥预先进行加密,并将解密算法W及对应的 解密密钥预置于逻辑器件中。
[0054] 在嵌入式网络设备中,逻辑器件可W为CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)或者FPGA(FieId -Programmable Gate Array,现场可编程 口阵列)等。
[0055] 逻辑器件可W预置加密算法和解密算法。其中,加密算法和解密算法可W是现有 的一些加密算法,如DES(Data !Encryption Standard,数据加密标准)、3DES(T;riple Data Enciyption Algorithm,S重数据加密算法)W及AES(Advanced !Encryption Sl:andard,高 级加密标准)等,或者也可W为上述现有加密算法的组合。具体可W根据实际情况,如逻辑 器件的存储资源等,进行合理的选用。
[0056] 值得说明的是,逻辑器件中预置的加密算法和解密算法可W是相同的。
[0057] 当逻辑器件预置了加密算法和解密算法时,嵌入式网络设备可W在该逻辑器件中 设置加密寄存器和密钥寄存器,其中,加密寄存器可W用于控制嵌入式网络设备是否对数 据进行加密或解密操作;密钥寄存器可W用于保存该逻辑器件在加密或解密过程中生成的 密钥。
[0058] 在一个假设的示例中,加密寄存器可W如下表1所示:
[0化9]
[0060] 表1
[0061] 由表1可知,加密寄存器可W为八个字节的寄存器,当嵌入式网络设备上电时,加 密寄存器的第一个字节为默认值1,此时,嵌入式网络设备默认进行加密或解密操作。由表1 同样可知,加密寄存器的第二个至第八个字节可W为保留字节。
[0062] 在一个假设的示例中,密钥寄存器可W如下表2所示:
[0063]
[0064] 表 2
[0065] 由表2可知,密钥寄存器可W为=十二个字节的寄存器,当嵌入式网络设备上电 时,密钥寄存器的所有字节可W为默认值0X5A5A5A5A。值得说明的是,密钥寄存器的默认值 可W是一个随机生成的=十二位的数值。
[0066] 当然,逻辑器件中加密密钥和解密密钥也可W是相同的。
[0067] 当嵌入式网络设备上电时,引导程序处于加密的状态。此时,逻辑器件可W基于内 置的解密算法W及对应的解密密钥对引导程序进行解密。
[0068] 此解密过程具体可W为:
[0069] 上电之后,嵌入式网络设备可W从加密寄存器得知对该引导程序进行加密或解密 操作,由于该引导程序此时处于加密状态,因此,嵌入式网络设备可W基于逻辑器件对该引 导程序进行解密操作。然后,嵌入式网络设备可W从密钥寄存器中获取当前默认的密钥。当 该密钥获取成功时,逻辑器件可W基于该密钥W及内置的解密算法对该引导程序进行解 密。
[0070] 将该引导程序成功解密后,嵌入式网络设备可W将该引导程序读取至内存中运 行,W完成设备的初始化。
[0071] 步骤102:引导程序基于内置的数据加密算法为待加密数据计算数据密钥。
[0072] 引导程序启动后,可W先获取嵌入式网络设备的序列号,并判断该设备序列号是 否合法,如果该设备序列号合法,则可W基于该设备序列号、CPU的序列号W及引导程序内 置的数据加密算法为待加密数据计算数据密钥。
[0073] 由于嵌入式网络设备的序列号是按照一定的规则构成的,例如,一般不包括除数 字W外的其他字符、一般包括厂商类型等等。因此,可W根据一定的规则来判断获取到的嵌 入式网络设备的序列号是否合法。
[0074] 当嵌入式网络设备的序列号合法时,可W获取当前CPU的序列号。此时,当前CPU可 W为读取引导程序的CPU。当前CPU的序列号获取成功后,可W获取引导程序内置的数据加 密算法,此数据加密算法可W为现有的一些加密算法,或者为现有加密算法的组合。需要说 明的是,此数据加密算法可W与逻辑器件内置的加密算法相同,也可W与逻辑加密算法不 同。
[0075] 成功获取嵌入式网络设备的合法序列号、CPU的序列号W及引导程序内置的数据 加密算法后,可W为待加密数据计算出数据密钥。其中,待加密数据可W包括引导程序、系 统软件W及用户自定义数据,数据密钥可W为=十二字节。
[0076] 步骤103:使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计 算。
[0077] 数据密钥计算成功后,可W使用所述数据密钥通过预设的数据加密算法对待加密 数据执行加密计算。其中,引导程序可W使用所述数据密钥通过预设的数据加密算法对待 加密数据执行加密计算,或者系统软件可W使用所述数据密钥通过预设的数据加密算法对 待加密数据执行加密计算。
[0078] 使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计算的具体 过程可W为:
[0079] 当待加密数据为引导程序时,可W基于逻辑器件中密钥寄存器的密钥和引导程序 内置的数据加密算法对引导程序执行加密计算。
[0080] 当待加密数据为系统软件或用户自定义数据时,可W基于数据密钥和引导程序内 置的加密算法对系统软件或用户自定义数据执行加密计算。
[0081] 在本申请中,读取引导程序进行设备初始化后,嵌入式网络设备可W通过预设的 数据加密算法W及基于所述数据加密算法计算出的数据密钥来完成对待加密数据的加密, 从而可W解决现有技术因使用软件来完成对数据的加密和解密而造成的加密效率低的问 题。
[0082] 下面通过具体实施例对W上实施例进行详细说明:
[0083] 嵌入式网络设备可W在逻辑器件中设置加密寄存器,此加密寄存器可W用于控制 嵌入式网络设备是否对数据进行加密或解密操作。当嵌入式网络设备上电时,可W从加密 寄存器中获取当前的操作状态。由上表1可知,此加密寄存器的默认操作为对数据进行加密 或解密操作,因此,此时,嵌入式网络设备可W对引导程序进行加密或解密操作。
[0084] 由于引导程序可W基于逻辑器件默认的加密算法W及加密密钥预先进行加密,因 此,此时引导程序处于加密的状态。所W,嵌入式网络设备可W对该引导程序执行解密操 作。
[0085] 嵌入式网络设备可W通过逻辑器件对该引导程序执行解密操作。逻辑器件可W基 于内置的解密算法和解密密钥对该引导程序执行解密操作。
[0086] 逻辑器件可W内置加密算法和解密算法,其中,加密算法和解密算法可W为现有 的一些加密算法或现有加密算法的组合。值得说明的是,逻辑器件中内置的加密算法和解 密算法可W相同。
[0087] 逻辑器件可W内置加密密钥和解密密钥,其中,加密密钥和解密密钥可W是相同 的。嵌入式网络设备可W在逻辑器件中设置密钥寄存器,该密钥寄存器可W用于保存该逻 辑器件的加密密钥和解密密钥。
[0088] 逻辑器件可W基于内置的解密算法W及从密钥寄存器中获取的解密密钥对引导 程序执行解密操作。
[0089] 将引导程序成功解密后,嵌入式网络设备可W将引导程序读取至内存中运行,W 完成设备的初始化。
[0090] 设备初始化完成后,引导程序可W获取嵌入式网络设备的序列号,并判断该设备 序列号是否合法。
[0091] 由于嵌入式网络设备的序列号是按照一定的规则构成的,因此,可W根据一定的 规则来判断获取到的嵌入式网络设备的序列号是否合法。
[0092] 当获取到的设备序列号合法时,引导程序可W基于该设备序列号、当前CPU的序列 号W及引导程序内置的加密算法为待加密数据计算数据密钥。其中,当前CPU可W为读取引 导程序的CPU,引导程序内置的加密算法可W为现有的一些加密算法或者现有加密算法的 组合。值得说明的是,引导程序内置的加密算法可W与逻辑器件内置的加密算法相同。
[0093] 在一个示例中,待加密数据可W包括引导程序、系统软件W及用户自定义数据。
[0094] 在另一个示例中,当获取到的设备序列号不合法时,可W重新获取设备序列号。
[0095] 成功计算数据密钥后,可W使用该数据密钥通过预设的数据加密算法对待加密数 据执行加密计算。
[0096] 当待加密数据为引导程序时,引导程序或系统软件可W基于逻辑器件中密钥寄存 器的密钥和引导程序内置的数据加密算法对引导程序执行加密计算。
[0097] 当待加密数据为系统软件或用户自定义数据时,引导程序或系统软件可W基于数 据密钥和引导程序内置的加密算法对系统软件或用户自定义数据执行加密计算。
[0098] 在本申请中,读取引导程序进行设备初始化后,嵌入式网络设备可W通过预设的 数据加密算法W及基于所述数据加密算法计算出的数据密钥来完成对待加密数据的加密, 从而可W解决现有技术因使用软件来完成对数据的加密和解密而造成的加密效率低的问 题。
[0099] 与前述数据加密的方法的实施例相对应,本申请还提供了数据加密的装置的实施 例。
[0100] 本申请数据加密的装置的实施例可W应用在嵌入式网络设备上。装置实施例可W 通过软件实现,也可W通过硬件或者软硬件结合的方式实现。W软件实现为例,作为一个逻 辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令 读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请数据加密的装置所在设 备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、W及非易失性存储器之外, 实施例中装置所在的设备通常还可W包括其他硬件,如负责处理报文的转发忍片等等。
[0101] 请参考图3,为本申请数据加密的装置的一个实施例框图:
[0102] 该装置可W包括:读取单元310、计算单元320 W及加密单元330。
[0103] 读取单元310,用于设备上电时,逻辑器件读取引导程序进行设备初始化;
[0104] 计算单元320,用于引导程序基于内置的数据加密算法为待加密数据计算数据密 钥;
[0105] 加密单元330,用于使用所述数据密钥通过预设的数据加密算法对待加密数据执 行加密计算。
[0106] 在一个可选的实现方式中,所述引导程序可W基于所述逻辑器件默认的加密算法 W及加密密钥预先进行了加密,并且解密算法W及对应的解密密钥预置于所述逻辑器件 中,所述读取单元310可W具体用于:
[0107] 从所述逻辑器件中读取预置的解密算法W及解密密钥;
[0108] 基于所述解密算法W及所述解密密钥解密所述引导程序;
[0109] 读取解密后的所述引导程序。
[0110] 在一个可选的实现方式中,所述计算单元320可W包括(如图4所示):
[0111] 获取子单元320A,用于获取设备的序列号;
[0112] 使用子单元320B,用于使用引导程序内置的数据加密算法基于设备的序列号W及 CPU的序列号计算所述数据密钥。
[0113] 在一个可选的实现方式中,所述使用子单元320B可W具体用于:
[0114] 当获取到的设备的序列号合法时,使用引导程序内置的数据加密算法基于设备的 序列号W及CPU的序列号计算所述数据密钥。
[0115] 在一个可选的实现方式中,所述待加密数据可W包括引导程序、系统软件W及用 户自定义数据。
[0116] 在一个可选的实现方式中,所述加密单元330可W具体用于:
[0117] 所述引导程序使用所述数据密钥通过预设的数据加密算法对待加密数据执行加 密计算;
[0118] 或者,所述系统软件使用所述数据密钥通过预设的数据加密算法对待加密数据执 行加密计算。
[0119] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再寶述。
[0120] 对于装置实施例而言,由于其基本对应于方法实施例,所W相关之处参见方法实 施例的部分说明即可。W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W 不是物理单元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可W理解并实施。
[0121 ]本申请提供数据加密的方法及装置,读取引导程序进行设备初始化后,嵌入式网 络设备可W通过预设的数据加密算法W及基于所述数据加密算法计算出的数据密钥来完 成对待加密数据的加密,从而可W解决现有技术因使用软件来完成对数据的加密和解密而 造成的加密效率低的问题。
[0122] W上所述仅为本申请的较佳实施例而已,并不用W限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种数据加密的方法,其特征在于,所述方法应用于嵌入式网络设备上,所述嵌入式 网络设备包括逻辑器件和引导程序,所述方法包括: 设备上电时,逻辑器件读取引导程序进行设备初始化; 引导程序基于所述逻辑器件内置的数据加密算法为待加密数据计算数据密钥; 使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计算。2. 根据权利要求1所述的方法,其特征在于,所述引导程序基于所述逻辑器件默认的加 密算法以及加密密钥预先进行了加密,并且解密算法以及对应的解密密钥预置于所述逻辑 器件中; 所述读取引导程序进行设备初始化包括: 从所述逻辑器件中读取预置的解密算法以及解密密钥; 基于所述解密算法以及所述解密密钥解密所述引导程序; 读取解密后的所述引导程序。3. 根据权利要求1所述的方法,其特征在于,所述引导程序基于内置的数据加密算法为 待加密数据计算数据密钥包括: 获取设备的序列号; 使用引导程序内置的数据加密算法基于设备的序列号以及CPU的序列号计算所述数据 密钥。4. 根据权利要求3所述的方法,其特征在于,所述使用引导程序内置的数据加密算法基 于设备的序列号以及CHJ的序列号计算所述数据密钥包括: 当获取到的设备的序列号合法时,使用引导程序内置的数据加密算法基于设备的序列 号以及CPU的序列号计算所述数据密钥。5. 根据权利要求1所述的方法,其特征在于,所述待加密数据包括引导程序、系统软件 以及用户自定义数据。6. 根据权利要求5所述的方法,其特征在于,所述使用所述数据密钥通过预设的数据加 密算法对待加密数据执行加密计算包括: 所述引导程序使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计 算; 或者,所述系统软件使用所述数据密钥通过预设的数据加密算法对待加密数据执行加 密计算。7. -种数据加密的装置,其特征在于,所述装置应用于嵌入式网络设备上,所述嵌入式 网络设备包括逻辑器件和引导程序,所述装置包括: 读取单元,用于设备上电时,逻辑器件读取引导程序进行设备初始化; 计算单元,用于引导程序基于内置的数据加密算法为待加密数据计算数据密钥; 加密单元,用于使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计 算。8. 根据权利要求7所述的装置,其特征在于,所述引导程序基于所述逻辑器件默认的加 密算法以及加密密钥预先进行了加密,并且解密算法以及对应的解密密钥预置于所述逻辑 器件中; 所述读取单元具体用于: 从所述逻辑器件中读取预置的解密算法以及解密密钥; 基于所述解密算法以及所述解密密钥解密所述引导程序; 读取解密后的所述引导程序。9. 根据权利要求7所述的装置,其特征在于,所述计算单元包括: 获取子单元,用于获取设备的序列号; 使用子单元,用于使用引导程序内置的数据加密算法基于设备的序列号以及CPU的序 列号计算所述数据密钥。10. 根据权利要求9所述的装置,其特征在于,所述使用子单元具体用于: 当获取到的设备的序列号合法时,使用引导程序内置的数据加密算法基于设备的序列 号以及CPU的序列号计算所述数据密钥。11. 根据权利要求7所述的装置,其特征在于,所述待加密数据包括引导程序、系统软件 以及用户自定义数据。12. 根据权利要求11所述的装置,其特征在于,所述计算单元具体用于: 所述引导程序使用所述数据密钥通过预设的数据加密算法对待加密数据执行加密计 算; 或者,所述系统软件使用所述数据密钥通过预设的数据加密算法对待加密数据执行加 密计算。
【文档编号】G06F21/60GK105939192SQ201610113123
【公开日】2016年9月14日
【申请日】2016年2月29日
【发明人】卢阳
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1