法律状态公告日
法律状态信息
法律状态
2014-12-24
授权
授权
2014-12-10
著录事项变更 IPC(主分类):H04L9/32 变更前: 变更后: 申请日:20120607
著录事项变更
2012-12-05
实质审查的生效 IPC(主分类):H04L9/32 申请日:20120607
实质审查的生效
2012-10-10
公开
公开
技术领域
本发明涉及密钥管理技术和隐写术,属于信息安全领域,具体是提出一种基于隐写术的 密钥传输与密钥更新方法,将隐写术用于包括密钥传输、密钥更新在内的密钥管理过程之中。
背景技术
信息作为一种资源,它的普遍性、共享性、增值性、可处理性和多效用性,使其对于人 类具有特别重要的意义。随着科学技术日新月异的发展,互联网络用户日益增多,传输信息 在越发海量的同时更为敏感,信息资源受到威胁、干扰和破坏的可能性将大大提高;除了网 络安全问题,个人电脑数据存储,电子政务系统(涉及国家机密),及各种银行、股票交易场 所等电子商务建设的健康发展都以安全为前提,这些都给信息安全技术的发展带来新的要求 和挑战。
信息安全中的关键技术是密码学,密码学是研究密码编制和密码破译的技术科学,密码 系统的两个基本要素是数据加解密算法及其相应的密钥管理方案。
数据加解密是一些公式和法则,它规定了明文和密文之间的变换方法。数据加密技术分 为两类:对称加密技术(单钥加密)和非对称加密技术(公钥加密),对称加密技术进一步包 括分组密码和序列密码。由于密码系统的反复使用,仅靠加密算法难以保证信息的安全。现 代密码技术的一个特点是密码算法公开,于是在密码系统中,密钥往往是真正的秘密信息。 密钥管理是密码应用领域中最困难也是最关键的一项技术。因为如果密钥本身得不到保护, 整个系统的安全性将受到极大威胁。
密钥管理所要解决的最主要问题是密钥的安全共享,为了达到这一目标,一般采用特定 的密钥传输或密钥更新方案。然而,现有密钥管理方案大多单纯采用加密算法,仅仅隐藏了 传递的信息内容,没有有效保护信息的传递格式。在实际运用中,传递数据的某些特征位信 息可能被攻击者破解,而这些特征位信息恰恰包含关键的内容,如数据长度、密钥的最低比 特等等,方案仍然存在安全性方面的问题。
另一方面,算法可调对于密钥管理方案变的愈发重要,就单个通信方来讲,由于通信情 形和通信对象的不同,会话通信所使用的算法需要灵活变换。比如:对于敏感或私人信息, 通信方可选择安全性能较强的分组加密算法加密;而当会话通信数据量很大时,选择加解密 速率高的序列加密算法会使通信更加快捷。算法可调给密钥传输、密钥更新等过程提出了更 高的要求,但现有方案通常只针对一种加密算法进行处理,很少考虑多种算法的兼容和共用。
在实际运用中,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当加密 大量的数据时,通常采用对称加密算法,提高加解密速度。但用于加密的密钥必须与需要对 消息进行解密的所有人一起共享,对称密码的密钥管理也日益暴露出以下两大缺点:
(1)认证问题:对称密码体制不能实现签名,不能防止消息的发送者对消息进行抵赖的 行为;
(2)应用基于对称密码的中心服务结构,能缓解上述问题。但要求中心服务器必须随时 在线,这就意味着中心服务器是整个通信成败的关键和受攻击的焦点,也将成为一个庞大组 织通信服务的“瓶颈”。
发明内容
为了克服上述密钥管理方案的不足,本发明提出一种基于隐写术的密钥传输与密钥更新 方法。
本发明的涉及6种密钥类型:主密钥、密钥更新密钥、传输密钥、更新隐写密钥、传输 隐写密钥以及会话密钥,具体定义如下:
主密钥:用户自己选择的私有密钥,长度为128比特,采用物理方法存储;
密钥更新密钥:由通信双方约定后保持固定,长度为256比特,用于密钥更新过程中; 可根据需要进行截断使用;采用主密钥加密存储;
传输密钥:由通信双方进行密钥更新操作产生,长度为256比特,用于密钥传输过程中; 可根据需要进行截断使用;采用主密钥加密存储;
上述本地存储的加解密均使用128位密钥长度的AES(Advanced Encryption Standard, 高级加密标准)算法。
更新隐写密钥:为对密钥更新密钥采用SHA-1算法作用后的哈希值,长度为160比特, 用于密钥更新过程中;在每次使用时通过计算生成,不进行存储;SHA为Secure Hash Algorithm的简写,译作安全散列算法;
传输隐写密钥:为对传输密钥采用SHA-1算法作用后的哈希值,长度为160比特,用于 密钥传输过程中;在每次使用时通过计算生成,不进行存储;
会话密钥:在每次数据通信过程中产生,通信结束后销毁,密钥长度根据不同加密算法 可变;会话密钥用于通信中的加解密。
本发明提出的一种基于隐写术的密钥传输与密钥更新方法,所应用的通信双方为A和B, 具体包括以下步骤:
步骤1:由通信方A进行通信初始化,即用主密钥解密传输密钥;
步骤2:通信方A进行系统设置,包括:(1)通信设置;(2)总体设置,包括:选择通 信类型、加密算法和隐写算法;(3)选定隐写载体;(4)对隐写载体进行白噪声处理;(5) 生成5位长度的通信标识符,通信标识符的第1位标识通信类型,第2、3位标识加密算法, 第4、5位标识隐写算法;
步骤3:若A需更新传输密钥,则进行传输密钥的更新环节,转步骤4;如不需更新, 则进行会话密钥的传输环节,转步骤5;
步骤4:通信方A、B对传输密钥进行更新,然后转步骤2执行;
步骤5:通信方A根据加密算法选定会话密钥;
步骤6:通信方A生成本地时戳,单位精确到秒;
步骤7:通信方A用RSA算法对步骤6中产生的时戳进行签名,生成RSA签名信息;
步骤8:通信方A计算传输隐写密钥,产生密钥传输信号,发送给通信方B;
步骤9:通信方B进行通信初始化,用主密钥解密传输密钥;
步骤10:通信方B识别通信标识符,自动配置所选加密算法及隐写算法,使用相应解密 算法和传输密钥解密信息;
步骤11:通信方B对通信方A的签名进行验证。若验证通过,则转步骤12;若不通过, 则返回相应的提示信息给通信方A,并中止通信;
步骤12:通信方B进一步对通信方A的时戳进行验证。若验证通过,则转步骤13;若 不通过,则返回相应的提示信息给通信方A,并中止通信;
步骤13:通信方B计算传输隐写密钥,并使用传输隐写密钥和相应隐写算法对图像进行 解隐写操作,提取出会话密钥的密文;
步骤14:通信方B使用传输密钥和相应解密算法对会话密钥的密文进行解密操作,得到 会话密钥;
步骤15:通信方B计算会话密钥的MD5哈希校验值,作为密钥传输验证信号返回给通 信方A;
步骤16:通信方A接收通信方B发送的密钥传输验证信号后,进行哈希校验,若验证通 过,则通信方A发送传输反馈信号给通信方B;若不通过,则转步骤5,重新进行会话密钥 的选取和传输;
步骤17:通信方B接收来自通信方A的传输反馈信号,密钥传输完成;
步骤18:通信方A和B进行会话通信,通信结束后双方使用主密钥加密并存储传输密钥, 并销毁会话密钥与传输隐写密钥。
所述的步骤2具体包括如下步骤:
步骤2.1:通信方A进行通信设置,输入B的通信地址X,进行通信连接;
步骤2.2:通信方A进行总体设置,选择通信类型、数据加密算法和隐写算法,其中可 选通信类型包括密钥传输和密钥更新;可选加密算法包括AES算法,Camellia算法,ZUC算 法,SNOW 3G算法;可选隐写算法包括OutGuess算法,F5算法,位平面LSB(LeastSignificant Bits,最低有效位)算法;
步骤2.3:通信方A选定隐写载体,所选载体可为任何格式的图片,通过设定传输信息 量,并根据信息所占比例来确定载体大小;
步骤2.4:通信方A对隐写载体进行白噪声处理,得到处理后的隐写载体,同时删除原 载体;
步骤2.5:判断系统设置是否完成,若完成则产生5位长度的通信标识符,若设置出现错 误,设置尚未完成,则由A重新进行系统设置。
所述步骤4包括如下步骤:
步骤4.1:通信方A启动密钥更新,使用主密钥解密密钥更新密钥;
步骤4.2:通信方A选定新的传输密钥KS′;
步骤4.3:通信方A产生本地时戳,单位精确到秒;
步骤4.4:通信方A用RSA算法对步骤4.3中产生的时戳进行签名,生成签名信息;
步骤4.5:通信方A计算更新隐写密钥,生成密钥更新信号,发送给通信方B;
步骤4.6:通信方B进行通信初始化,用主密钥分别解密传输密钥、密钥更新密钥;
步骤4.7:通信方B识别通信标识符,自动配置所选数据加解密算法及隐写算法,使用 相应解密算法和密钥更新密钥解密信息;
步骤4.8:通信方B对通信方A的签名进行验证。若验证通过,则转步骤4.9;若不通过, 则返回给A相应的提示信息,并中止通信;
步骤4.9:通信方B进一步对通信方A的时戳进行验证。若验证通过,则转步骤4.10; 若不通过,则返回给通信方A相应的提示信息,并中止通信;
步骤4.10:通信方B计算更新隐写密钥,并使用更新隐写密钥和相应隐写算法对图像进行 解隐写操作,提取出传输密钥的密文;
步骤4.11:通信方B使用密钥更新密钥和相应解密算法对传输密钥的密文进行解密操作, 得到新的传输密钥KS′;
步骤4.12:通信方B计算新的传输密钥KS′的MD5哈希校验值,作为密钥更新验证信号 返回给A;
步骤4.13:通信方A接收通信方B发送的密钥更新验证信号后,进行哈希校验,若验证 通过,则A发送更新反馈信号给通信方B;若不通过,则转步骤4.2,重新进行传输密钥的选 取和传输;
步骤4.14:通信方B接收来自通信方A的更新反馈信号后,密钥更新过程完成;
步骤4.15:通信双方使用新的传输密钥KS′代替原本的传输密钥,同时销毁更新隐写密钥; 通信方B使用主密钥加密并存储传输密钥以及密钥更新密钥;通信方A使用主密钥加密并存 储密钥更新密钥,并转步骤2。
本发明的有益效果是:
1、本发明方法在密钥传输和密钥更新过程中利用RSA算法进行签名,能够有效验证通 信实体的身份信息,这一方式使时戳和签名两者充分结合,签名结果随时戳变化而不同,从 而认证强度得到了提升;
2、用隐写术将密钥隐藏,避免暴露密钥传输和密钥更新过程中的密文数据格式,信息可 以在开放的环境(不安全信道)中安全地传送,使密钥更安全;将隐写算法与加密算法进行 融合,也同时起到增强数据保密强度的效果;
3、本发明方法为用户提供多种加解密算法与隐写算法的选择,可以根据需要和使用情况 随时更换,其中加解密算法中既有分组密码(AES,Camellia),也有序列密码(ZUC,SNOW 3G),这使得密钥管理具有更好的兼容性和安全性,也增强了使用上的可扩展性和灵活性;
4、不存在任何中心服务结构,进行通信的双方可直接进行密钥传输和密钥更新的操作, 从而消除了中心节点遭到攻击导致整个体系面临瘫痪的问题。
附图说明
图1是本发明的密钥传输与密钥更新方法的整体流程示意图;
图2是本发明的密钥传输与密钥更新方法中步骤2的系统设置过程示意图;
图3是本发明的密钥传输与密钥更新方法中步骤4的密钥更新过程示意图。
具体实施方式
下面将结合附图和具体实施例对本发明作进一步的详细说明。
本发明提供的一种基于隐写术的密钥传输与密钥更新方法,一方面能够实现通信双方会 话密钥的安全传输,另一方面,为保证系统安全,当密钥过期或者有即将泄露的危险时,可 在传输过程中根据需要对传输密钥进行更新。
为方便说明,用A、B表示通信双方;
进一步,用表示使用对称加密算法T进行加密,表示使用对称加密算法T进行 解密,k为加密算法使用的密钥;用表示使用隐写算法U进行隐写,表示使用隐 写算法U进行解隐写,其中k'为隐写算法使用的密钥,用P表示隐写载体,用W表示对隐写 载体进行白噪声处理;用signature表示RSA签名算法,verification表示RSA签名验证算法; time表示时戳产生的函数,check_time表示时戳校验;用hash1、hash2分别表示SHA-1算法 和MD5算法。
KC表示会话密钥,KS表示传输密钥,KS′表示新的传输密钥,KCY表示传输隐写密钥, KGY表示更新隐写密钥,KA,KB分别表示通信方A与B各自的主密钥,KG表示通信方A与通信 法B共享的密钥更新密钥。
此外,传输内容包括三部分:标识符sign、加密处理后的消息message和隐写后的图片 image。用recognise_sign表示标识符识别操作。
本发明方法中涉及的密钥传输过程如下,如图1所示:
步骤1:通信方A启动通信,使用AES算法与主密钥KA解密得到本地存储的传输密钥KS。
步骤2:通信方A进行系统设置,包括通信设置和总体设置,生成通信标识符sign,并产 生隐写载体。
如图2所示,步骤2具体包括如下子步骤:
步骤2.1:通信方A进行通信设置,输入B的通信地址,这里选用IP地址进行通信连接。
步骤2.2:通信连接完成后,通信方A进行总体设置:首先A选择通信类型,可根据需 要选择密钥传输和密钥更新两种通信方式;然后由A选择数据加密算法,可根据通信情形自 由选择,数据加密算法包括分组加密算法AES,Camellia以及序列密码算法ZUC,SNOW 3G 算法(其中AES密钥长度为128比特,Camellia为192比特;ZUC和SNOW 3G为256比特, 其中包括128比特的密钥和128比特的初始向量),下述以Camellia算法为例进行说明;最后 通信方A对隐写算法进行确定,用以对通信过程中的密钥密文格式进行保护,可选隐写算法 包括OutGuess算法,F5算法,位平面LSB算法,下述以F5算法为例进行说明。
步骤2.3:通信方A选定隐写载体P,所选载体可为任何格式的图片文件。本发明实施 例中选定隐写比例为25%,进而使隐写载体的最大不超过128字节(1024比特),在实现有 效隐写的同时简化了通信的规模。若在步骤2.2中通信类型选择为密钥传输,Camellia算法的 会话密钥的长度为192比特,由于所选加密算法均无数据扩张,会话密钥密文仍为192比特, 载体大小选定为密钥长度与隐写比例的比值,从而隐写载体大小为768比特。在密钥更新过 程中,传输密钥长度固定为256比特,则同理有隐写载体大小为1024比特。
步骤2.4:通信方A对步骤2.3中获取的隐写载体P进行白噪声处理,得到处理后的隐写 载体W(P),同时删除原载体P。
步骤2.5:判断系统设置是否完成,若设置出现错误,设置尚未完成,则由通信方A重 新进行系统设置;若设置已完成,则产生5位长度的通信标识符xijuv,其中首位“x”标识 通信类型,取0或1,0标识密钥传输,1标识密钥更新,其后两位“ij”标识数据加密算法, 分别用00,01,10,11标识选择AES,Camellia,ZUC,SNOW3G算法,最后两位“uv”标识隐 写算法,分别用00,01,10标识OutGuess,F5,位平面LSB算法。由上述步骤2.2可知此时标 识符为"x0101"。
步骤3:判断通信标识符的首位,若为0,则进行会话密钥传输环节,转步骤5;若为1, 则进行传输密钥的更新环节,转步骤4。
步骤4:此时,可知标识符为"10101",通信方A、B更新传输密钥KS。
如图3所示,具体步骤4包括如下子步骤:
步骤4.1:通信方A启动密钥更新,使用AES算法以及主密钥KA解密得到本地存储的密 钥更新密钥KG;
步骤4.2:通信方A在本地产生新的传输密钥KS',KS′可以为任意字母、数字或符号的 随机排列组合,也可以在通信方A的本地密钥池中进行随机选取,密钥长度为256比特;
步骤4.3:通信方A产生本地时戳time(T1);T1表示通信方A的当前时间,精确到秒;
步骤4.4:通信方A产生RSA签名信息signature(time(T1));
步骤4.5:通信方A计算更新隐写密钥,即:
KGY=hash1(KG)
将步骤4.3得到的本地时戳time(T1)与步骤4.4得到的RSA签名信息signature(time(T1)), 用数据加密算法加密得到密文message,将步骤4.2得到的新的传输密钥KS′用数据加密算法 加密,再将加密后的密文用隐写算法以及隐写载体W(P)隐写,隐写使用更新隐写密钥,得到 图片image,将sign、message、image三者进行串联,生成密钥更新信号,发送给通信方B。 本发明实施例中,将time(T1)与signature(time(T1))用Camellia加密得到密文message,由于使 用Camellia算法,故加密仅使用密钥KG的前192比特。将KS′用Camellia算法加密,其中密 钥KG也仅使用前192比特,再将加密后的密文用F5算法以及隐写载体W(P)隐写,隐写使用 更新隐写密钥,得到图片image。把标识符"10101"、message、image三者进行串联,生成 密钥更新信号,发送给通信方B,如下式:
A:sign=10101,
步骤4.6:通信方B接收到信号后,进行通信初始化,使用AES算法以及主密钥KB解密 本地存储的传输密钥KS以及密钥更新密钥KG;
步骤4.7:通信方B识别通信标识符"10101",即:
B:recognise_sign(10101)
由首位为1确定通信类型为密钥更新,并由标识符的2、3位和4、5位自动配置所选数 据加解密算法及隐写算法。从而使用算法Camellia和密钥更新密钥KG(仅使用前192比特) 解密信息,得到time(T1)和signature(me(T1));即:
步骤4.8:通信方B对解密得到的数据中的signature(time(T1))进行签名验证,即:
B:verification(signature(me(T1)))
若验证通过,则转步骤4.9;若不通过,则返回给A提示信息“认证失败”,并中止通信;
步骤4.9:通信方B产生本地时戳time(T2),单位精确到秒,与解密得到的时戳time(T1)比 较以进行时戳校验,即:
B:time(T2),check_time(me(T1),time(T2))
考虑到通信传输可能的延迟以及A、B本身的操作需用时间,若两个时戳相差小于5分 钟,则认为时戳新鲜,时戳验证通过,转步骤4.10;若不通过,则返回给通信方A提示信息 “时戳失效”,并中止通信;T2为通信方B的当前本地时间;
步骤4.10:通信方B计算更新隐写密钥,即:
KGY=hash1(KG)
并使用更新隐写密钥与F5算法对图像进行解隐写操作,提取出传输密钥KS′的密文,即:
步骤4.11:通信方B使用密钥更新密钥KG(仅使用前192比特)和Camellia算法对传输密 钥的密文进行解密操作,得到新的传输密钥KS′;即:
步骤4.12:通信方B使用MD5算法计算KS′的哈希值hash2(KS′),作为密钥更新验证信 号返回给通信方A;
步骤4.13:通信方A接收通信方B发送的密钥更新验证信号后,进行哈希校验,具体是: 通信方A使用MD5算法计算KS'的哈希值,然后判断通信方A计算的哈希值和通信方B发 送来的哈希值是否相等。若两个哈希值相等,则验证通过,此时通信方A将128比特的全“1” 信号作为更新反馈信号发送给通信方B;若两个哈希值不相等,则验证不通过,转步骤4.2 执行,重新进行传输密钥的选取和传输;
步骤4.14:通信方B接收来自通信方A的更新反馈信号后,密钥更新过程完成;
步骤4.15:通信双方使用KS′代替原本的传输密钥KS,销毁更新隐写密钥KGY;通信方B 使用AES算法以及主密钥KB加密并存储传输密钥KS′、密钥更新密钥KG;通信方A使用 AES算法以及主密钥KA加密并存储密钥更新密钥KG,并转步骤2。
步骤5:密钥更新后,进行传输,此时,标识符为"00101",通信方A、B传输会话密钥 KC;如图1所示:通信方A根据会话通信的加密算法Camellia选定其会话密钥KC,会话密 钥可以为任意字母、数字或符号的随机排列组合,也可以在通信方A的本地密钥池中进行随 机选取,密钥长度由Camellia算法确定,为192比特。
步骤6:通信方A生成本地时戳time(t1);t1表示通信方A的当前时间,精确到秒。
步骤7:通信方A生成RSA签名信息signature(time(t1));
步骤8:通信方A计算传输隐写密钥KCY,即:
KCY=hash1(KS)
KS表示当前传输密钥。将步骤6得到的本地时戳time(t1)与步骤7得到的RSA签名信息 signature(time(t1)),用数据加密算法加密得到密文message;将会话密钥KC用加密算法加密, 再将加密后的密文用隐写算法以及隐写载体W(P)隐写,隐写使用传输隐写密钥,得到图片 image,将sign、message、image三者进行串联,生成密钥传输信号,发送给通信方B。本发 明实施例中,将time(t1)与sigature(time(t1))用Camellia加密得到密文message,由于使用 Camellia算法,故加密仅使用KS的前192比特。将KC用Camellia算法加密,其中KS也仅使 用前192比特,再将加密后的密文用F5算法以及隐写载体W(P)隐写,隐写使用传输隐写密 钥,得到图片image。把标识符"00101"、message、image三者进行串联,生成密钥传输信 号,发送给通信方B;通信方A发送的密钥传输信号如下:
A:sign=00101,
步骤9:通信方B进行通信初始化,用AES算法以及主密钥KB解密传输密钥KS;
步骤10:通信方B识别通信标识符"00101",即:
B:recognise_sign(00101)
由首位为0确定通信类型为密钥传输,并由标识符的2、3位和4、5位自动配置所选加密算法及 隐写算法,使用算法Camellia和传输密钥KS(仅使用前192比特)解密信息,得到time(t1)和 signature(time(t1));即:
步骤11:通信方B对通信方A的签名signature(time(t1))进行验证。即:
B:verification(signature(time(t1)))
若验证通过,则转步骤12;若不通过,则返回给A提示信息“认证失败”,并中止通信。
步骤12:通信方B进一步对通信方A的时戳进行验证,产生本地时戳time(t2),单位精确 到秒,与time(t1)进行比较,即:
B:time(t2),check_time(time(t1),time(t2))
若两种差值不超过5分钟,则认为时戳新鲜,时戳验证通过,转步骤13;若不通过,则返回给 A提示信息“时戳失效”,并中止通信;t2表示通信方B的当前时间。
步骤13:通信方B计算传输隐写密钥KCY:
KCY=hash1(KS)
并使用传输隐写密钥与F5算法对图像进行解隐写操作,提取出会话密钥KC的密文,即:
步骤14:通信方B使用传输密钥KS(仅使用前192比特)和Camellia算法对会话密钥的密 文进行解密操作,得到会话密钥KC:
步骤15:通信方B使用MD5算法计算会话密钥KC的哈希值hash2(KC),作为密钥传输验 证信号返回给通信方A。
步骤16:通信方A接收通信方B发送的密钥传输验证信号后,进行哈希校验,具体是:通 信方A使用MD5算法计算会话密钥KC的哈希值,判断通信方A计算得到的哈希值与通信方B 发送来的哈希值是否相等。若两个哈希值相等,则验证通过,则通信方A将即128比特的全“0” 信号作为传输反馈信号发送给通信方B;若两个哈希值不相等,则验证不通过,转步骤5执行, 重新进行会话密钥的生成和传输。
步骤17:通信方B接收来自通信方A的传输反馈信号,完成密钥传输过程。
步骤18:通信方A和B进行会话通信,通信结束后双方使用AES算法以及各自主密钥 加密并存储传输密钥KS,并销毁会话密钥KC和传输隐写密钥KCY。
本发明方法用隐写术将密钥隐藏,避免暴露密钥传输和密钥更新过程中的密文数据格式, 实现多种加解密算法会话密钥的安全传输,并可在传输过程中根据需要对传输密钥进行密钥 更新,避免了现有对称密码的密钥管理方案中中心节点遭到攻击导致整个体系面临威胁的问 题。
显而易见地,以上描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有 其他实施例,都属于本发明保护的范围。
机译: 一种用于安全数据传输的基于密码的认证和会话密钥协议的方法,一种用于安全地传输数据的方法以及一种电子数据传输系统
机译: 一种用于安全数据传输的基于密码的认证和会话密钥协议的方法,一种用于安全地传输数据的方法以及一种电子数据传输系统
机译: 基于光传输网(OTN)的密钥更新方法,装置和系统