一种获取密钥的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及密钥领域,尤其涉及一种获取密钥的方法和装置。
【背景技术】
[0002] 近年来,我国汽车保有量迅速提高,车联网日渐普及,车载网络的安全性问题变得 越来越重要。
[0003] 车辆的车载电子控制模块在编程、配置和学习时,均需要正确的密钥验证才能进 行,所以密钥的安全性非常重要;由于不同的车辆的种子和密钥均不相同,所以种子和密钥 的容量也不能太小。
[0004] 现有技术中,一般采用2字节去保存种子和密钥,导致密钥的容量很小,会出现不 同的车辆具有相同密钥的情况发生,另外根据种子计算密钥时,一般只根据种子通过一次 查表或者计算进而得到密钥,导致密钥容易破解,车辆不安全。
[0005] 因此,有必要克服上述缺陷。
【发明内容】
[0006] 基于以上问题,本发明提出一种获取密钥的方法,通过在第一对照表中查找种子 对应的第一中间值,在第二对照表中查找第一中间值对应的第二中间值,第二中间值即为 密钥,增加种子产生密钥过程中的随机性的方式,使企图根据车辆的种子去破解车辆密钥 的难度增大,使车辆密钥不容易被破解,从而使车辆也更加的安全;而且通过查表的方式使 密钥的生成速度变快。本发明还提出一种获取密钥的装置。
[0007] 本发明提出一种获取密钥的方法,包括:
[0008] 步骤S001,包括:接收生成密钥指令;
[0009] 步骤S002,包括:获取种子;
[0010] 步骤S003,包括:在第一对照表中查找所述种子对应的第一中间值,所述第一对照 表包括具有顺序关系的多个所述种子和无顺序关系的多个第一中间值,每一个所述种子对 应一个所述第一中间值;
[0011] 步骤S004,包括:在第二对照表中查找所述第一中间值对应的第二中间值,所述第 二中间值为所述种子对应的密钥,所述第二对照表包括无顺序关系的多个所述第一中间值 和无顺序关系的多个所述第二中间值,每一个所述第一中间值对应一个所述第二中间值。
[0012] 优选地,所述步骤S001还包括,接收输入的区别标识号,所述步骤S003还包括,根 据所述区别标识号找到与之对应的所述第一对照表,不同的所述区别标识号对应不同的所 述第一对照表。
[0013] 优选地,所述步骤S001还包括,接收输入的区别标识号,所述步骤S004还包括,根 据所述区别标识号找到与之对应的所述第二对照表,不同的所述区别标识号对应不同的所 述第二对照表。
[0014] 优选地,所述步骤S001还包括,接收输入的操作码;
[0015] 所述步骤S003还包括,依据所述操作码对所述第一中间值进行逻辑运算得到逻辑 运算中间值;
[0016] 所述步骤S004具体包括,在所述第二对照表中查找所述逻辑运算中间值对应的第 二中间值,所述第二中间值为所述种子对应的密钥,所述第二对照表包括无顺序关系的多 个所述逻辑运算中间值和无顺序关系的多个所述第二中间值,每一个所述逻辑运算中间值 对应一个所述第二中间值。
[0017] 优选地,所述步骤S004中所述第二中间值为将所述逻辑运算中间值与所述操作码 进行异或操作得到。
[0018] 优选地,所述步骤S002中的所述种子为5字节的种子。
[0019] 本发明还提出一种获取密钥的装置,包括:
[0020] 接收指令模块,用于:接收生成密钥指令;
[0021 ]获取种子模块,用于:获取种子;
[0022] 查找第一对照表模块,用于:在第一对照表中查找所述种子对应的第一中间值,所 述第一对照表包括具有顺序关系的多个所述种子和无顺序关系的多个第一中间值,每一个 所述种子对应一个所述第一中间值;
[0023] 查找第二对照表模块,用于:在第二对照表中查找所述第一中间值对应的第二中 间值,所述第二中间值为所述种子对应的密钥,所述第二对照表包括无顺序关系的多个所 述第一中间值和无顺序关系的多个所述第二中间值,每一个所述第一中间值对应一个所述 第二中间值。
[0024] 优选地,所述接收指令模块还包括,接收输入的区别标识号,所述查找第一对照表 模块还包括,根据所述区别标识号找到与之对应的所述第一对照表,不同的所述区别标识 号对应不同的所述第一对照表。
[0025] 优选地,所述接收指令模块还包括,接收输入的区别标识号,所述查找第二对照表 模块还包括,根据所述区别标识号找到与之对应的所述第二对照表,不同的所述区别标识 号对应不同的所述第二对照表。
[0026] 优选地,所述接收指令模块还包括,接收输入的操作码;
[0027] 所述查找第一对照表模块还包括,依据所述操作码对所述第一中间值进行逻辑运 算得到逻辑运算中间值;
[0028] 所述查找第二对照表模块具体包括,在所述第二对照表中查找所述逻辑运算中间 值对应的第二中间值,所述第二中间值为所述种子对应的密钥,所述第二对照表包括无顺 序关系的多个所述逻辑运算中间值和无顺序关系的多个所述第二中间值,每一个所述逻辑 运算中间值对应一个所述第二中间值。
[0029]优选地,所述查找第二对照表模块中所述第二中间值为将所述逻辑运算中间值与 所述操作码进行异或操作得到。
[0030]优选地,所述获取种子模块中的所述种子为5字节的种子。
[0031]通过采用上述技术方案,具有如下有益效果:
[0032] 通过在第一对照表中查找种子对应的第一中间值,在第二对照表中查找第一中间 值对应的第二中间值,第二中间值即为密钥,增加种子产生密钥过程中的随机性的方式,使 企图根据车辆的种子去破解车辆密钥的难度增大,使车辆密钥不容易被破解,从而使车辆 也更加的安全;而且通过查表的方式使密钥的生成速度变快。
【附图说明】
[0033] 图1是根据本发明一个实施例的获取密钥的方法的流程图;
[0034] 图2是根据本发明一个实施例的获取密钥的方法的流程图;
[0035]图3是根据本发明一个实施例的获取密钥的装置的框图。
【具体实施方式】
[0036] 以下结合具体实施方案和附图对本发明进行进一步的详细描述。其只意在详细阐 述本发明的具体实施方案,并不对本发明产生任何限制,本发明的保护范围以权利要求书 为准。
[0037] 参照图1,本发明提出一种获取密钥的方法,包括:
[0038] 步骤S001,包括:接收生成密钥指令;步骤S002,包括:获取种子;步骤S003,包括: 在第一对照表中查找种子对应的第一中间值,第一对照表包括具有顺序关系的多个种子和 无顺序关系的多个第一中间值,每一个种子对应一个第一中间值;步骤S004,包括:在第二 对照表中查找第一中间值对应的第二中间值,第二中间值为种子对应的密钥,第二对照表 包括无顺序关系的多个第一中间值和无顺序关系的多个第二中间值,每一个第一中间值对 应一个第二中间值。
[0039] 当汽车在生产时,会向服务器云端获取该汽车的种子和密钥写入车辆的电子控制 单元EQJ(Electronic Control Unit)中,EQJ又称"行车电脑"、"车载电脑"等。
[0040] 云端在获取种子并根据种子计算密钥的过程中,首先执行步骤S001,接收到汽车 发来的生成密钥指令。
[0041] 在步骤S002中,云端从种子库中随机获取种子,或者根据种子生成规则随机生成 种子。
[0042] 在步骤S003中,第一对照表中存储了多个具有顺序关系的种子和多个无顺序关系 的第一中间值,每一个种子对应一个第一中间值,所以先在第一对照表中找到种子,然后找 到与种子对应存储的第一中间值,第一中间值的用处是作为一个中间量