【技术实现步骤摘要】
密钥生成和分发方法、密钥生成装置、密钥管理系统
[0001]本专利技术涉及信息安全领域,更具体地,本专利技术涉及密钥生成和分发方法、密钥生成装置、密钥管理系统、加密解密装置、文件安全系统和信息安全传递系统。
技术介绍
[0002]计算机和通讯技术的快速发展,以及随之而来的物联网、云计算、云存储的普及应用,给信息安全提出了新的挑战,也提供了新的发展机遇。信息的安全传递和存储是信息安全的核心,信息加密是实现信息安全的重要手段。
[0003]通过事先保存或共享一个密钥进行持续的加密解密给用户提供了一个很大的便利,也是密码学中常用的手段。但重复使用同一密钥会带来很多安全隐患,由此衍生出了很多针对特定加密算法的攻击策略。使用一次性密钥对文件进行加密可以有效避免大多数针对加密算法的密码学攻击,但大量一次性密钥的产生和交换通常是困难和繁琐的。当前,设计一个可证明安全的便捷通用的加密方案仍然是一个挑战。另外,由于通讯主体针对不同的通讯对象需要不同的密钥,密钥管理通常也是个问题,所述问题在需要管理大量密钥的机构和组织中尤为严重,在这些组织中,所涉及密钥的数量正比于成员数量的平方。
[0004]由于加密时明文信息量通常大于密钥信息量,通过密文可以安全传递大于密钥信息量的信息,因此可以将共享密钥设计为动态密钥,将需要更新的密钥信息伴随通讯信息通过密文传递给对方,在双方通讯过程中动态更新共享密钥,实现实用一次性密钥加密,从而避免相应的攻击。所述动态密钥方案比较适合实时通讯,在信息存储和密钥管理方面缺乏优势。
[000 ...
【技术保护点】
【技术特征摘要】
1.一种密钥生成和分发方法,包括:获取或/和生成密钥生成装置的系统信息,所述系统信息至少包括一主密钥和至少一种单向数据转换算法,所述主密钥由未公开随机信息组成,所述单向数据转换算法根据输入信息,生成由所述输入信息确定的输出信息,并且由所述输出信息推测或/和推导所述输入信息是不可行的;根据所述主密钥,依靠由不重复的任意信息组成的时间戳,通过至少采用一种所述单向数据转换算法,生成由所述时间戳和所述主密钥中信息共同确定的密钥,将所述密钥与所述时间戳信息相关联;以及将所述时间戳发送给配对的密钥生成装置,其中所述配对的密钥生成装置存储有与所述系统信息相对应的第二系统信息。2.如权利要求1所述的方法,其中,采用以下流程生成密钥:通过所述密钥生成装置生成所述时间戳;对所述时间戳与所述主密钥进行运算生成中间密钥;将所述中间密钥作为输入信息,通过所述单向数据转换算法对所述中间密钥执行转换以生成次生信息;从所述次生信息中提取信息生成密钥;以及将所述密钥和所述密钥对应的时间戳相关联。3.如权利要求2所述的方法,其中,对所述时间戳与所述主密钥进行运算生成中间密钥包括:对所述时间戳与所述主密钥使用非退化性组合来生成所述中间密钥。4.如权利要求2所述的方法,其中,对所述时间戳与所述主密钥进行运算生成中间密钥包括:使用所述时间戳和所述主密钥作为输入信息,通过第二单向数据转换算法生成所述中间密钥,所述第二单向数据转换算法与所述单向数据转换算法相同或者不同。5.如权利要求1所述的方法,其中,所述单向数据转换算法使用输入信息作为控制信息执行数据转换以生成输出信息,所述系统信息还包括一个公共数据库,配置为存储公共数据,所述公共数据包含的比特数远大于主密钥所包含的比特数,以及所述单向数据转换算法使用所述输入信息作为控制信息,对所述公共数据执行数据转换以生成次生信息。6.如权利要求5所述的方法,其中,所述数据转换采用组合模运算,所述公共数据配置为由N个长度相同的数列组成,每个所述数列包含相同的比特数,用一个相同比特数的指示0到N
‑
1的编号标识,并称为种子;所述输入信息配置为由M个所述编号顺序组成的数列,顺序指向M个由所述编号标识的种子;所述单向数据转换算法配置为:将所述输入信息作为控制信息,从所述公共数据中顺序提取所述输入信息中的所述编号指向的M个种子;将所述M个种子进行模运算,生成一个与所述种子格式相同的次生信息,其中N,M为正
整数。7.如权利要求6所述的方法,其中所述公共数据配置为包含N*M个元素的首尾相接的环状数列,所述环状数列分割成N个长度为M的单元,每个所述单元用一个0到N
‑
1的编号标识;种子配置为从一个所述单元开始,沿同一方向延伸跨越整个所述环状数列,形成一个长度为N*M的数列,用所述起始单元编号作为所述种子编号。8.如权利要求5所述的方法,其中,采用如下流程生成密钥,包括:将所述主密钥作为控制信息,在所述主密钥控制下,通过第三单向数据转换算法将公共数据转换为私密数据;将所述时间戳作为控制信息,在所述时间戳的控制下,通过第四单向数据转换算法从所述私密数据中生成中间密钥;将所述中间密钥作为控制信息,在所述中间密钥的控制下,通过所述单向数据转换算法将所述公共数据转换为次生信息;从所述次生信息中提取信息生成密钥;以及将所述密钥与对应的时间戳相关联,其中,所述单向数据转换算法、所述第三单向数据转换算法和所述第四单向数据转换算法使用相同的或者不同的单向算法。9.如权利要求1所述的方法,还包括:接收从配对的密钥生成设备发送的第二时间戳;根据所述主密钥,依靠所述第二时间戳,通过所述单向数据转换算法生成由所述主密钥和所述第二时间戳中信息共同确定的第二密钥,作为与所述第二时间戳对应的第二密钥。10.一种密钥生成装置,包括:系统信息模块,配置为存储或/和生成所述密钥生成装置的系统信息,所述系统信息至少包括一主密钥和至少一种单向数据转换算法,所述主密钥由未公开随机信息组成,所述单向数据转换算法根据输入信息,生成由所述输入信息确定的输出信息,并且由所述输出信息推测或/和推导所述输入信息是不可行的;密钥生成模块,配置为根据所述主密钥,依靠由不重复的任意信息组成的时间戳,通过至少采用一种所述单向数据转换算法,生成由所述时间戳和所述主密钥中信息共同确定的密钥,将所述密钥与所述时间戳信息相关联;以及传输模块,配置为将所述时间戳发送给配对的密钥生成装置,其中所述配对的密钥生成装置存储有与所述系统信息相对应的第二系统信息。11.如权利要求10所述的装置,其中,所述密钥生成模块进一步配置为:生成所述时间戳;对所述时间戳与所述主密钥进行运算生成中间密钥;将所述中间密钥作为输入信息,通过所述单向数据转换算法对所述中间密钥执行转换以生成次生信息;从所述次生信息中提取信息生成密钥;以及将所述密钥和所述密钥对应的时间戳相关联。12.如权利要求11所述的装置,其中,所述密钥生成模块进一步配置为:
使用所述时间戳和所述主密钥作为输入信息,通过第二单向数据转换算法生成所述中间密钥,所述第二单向数据转换算法与所述单向数据转换算法相同或者不同。13.如权利要求10所述的装置,其中,所述系统信息还包括一个公共数据库,配置为存储公共数据,所述公共数据包含的比特数远大于主密钥所包含的比特数,其中,所述单向数据转换算法使用输入信息作为控制信息执行数据转换以生成输出信息,所述密钥生成模块进一步配置为:使用所述输入信息作为控制信息,通过所述单向数据转换算法对所述公共数据执行数据转换以生成次生信息。14.如权利要求13所述的装置,其中,所述数据转换采用组合模运算,所述公共数据配置为由N个长度相同的数列组成,每个所述数列包含相同的比特数,用一个相同比特数的指示0到N
‑
1的编号标识,并称为种子;所述输入信息配置为由M个所述编号顺序组成的数列,顺序指向M个由所述编号标识的种子;所述单向数据转换算法配置为:将所述输入信息作为控制信息,从所述公共数据中顺序提取所述输入信息中的所述编号指向的M个种子;将所述M个种子进行模运算,生成一个与所述种子格式相同的次生信息,其中N,M为正整数。15.如权利要求14所述的装置,其中,其中所述公共数据配置为包含N*M个元素的首尾相接的环状数列,所述环状数列分割成N个长度为M的单元,每个所述单元用一个0到N
‑
1的编号标识;种子配置为从一个所述单元开始,沿同一方向延伸跨越整个所述环状数列,形成一个长度为N*M的数列,用所述起始单元编号作为所述种子编号。16.如权利要求13所述的装置,其中,所述密钥生成模块进一步配置为:将所述主密钥作为控制信息,在所述主密钥控制下,通过第三单向数据转换算法将公共数据转换为私密数据;将所述时间戳作为控制信息,在所述时间戳的控制下,通过第四单向数据转换算法从所述私密数据中生成中间密钥;将所述中间密钥作为控制信息,在所述中间密钥的控制下,通过所述单向数据转换算法将所述公共数据转换为次生信息;从所述次生信息中提取信息生成密钥;以及将所述密钥与对应的时间戳相关联,其中,所述单向数据转换算法、所述第三单向数据转换算法和所述第四单向数据转换算法使用相同的或者不同的单向算法。17.如权利要求10所述的装置,其中,所述传输单元进一步配置为接收从配对的密钥生成设备发送的第二时间戳;所述密钥生成单元进一步配置为根据所述主密钥,依靠所述第二时间戳,通过所述单向数据转换算法生成由所述主密钥和所述第二时间戳中信息共同...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。