首页> 中国专利> 一种基于身份信息的非对称密钥分发及消息加密方法

一种基于身份信息的非对称密钥分发及消息加密方法

摘要

本发明涉及信息安全领域,旨在提供一种基于身份信息的非对称密钥分发及消息加密方法。该基于身份信息的非对称密钥分发及消息加密方法包括:企业管理员初始化以及用户注册过程、用户点对点进行通信过程、用户多对多进行通信过程。本发明能够更安全得分发用户个人密钥;能够分企业,分情况去构建密钥管理体系;能减少用户公钥管理数量,简便用户端的公钥体验;降低私钥被拦截,窃取的几率;增加了整个公钥系统的速度和操作可行性;增加了公钥系统对移动端或其他端的适配性;将对称加密体系和非对称加密体系结合使用在了认证与数据传输阶段。

著录项

  • 公开/公告号CN105812349A

    专利类型发明专利

  • 公开/公告日2016-07-27

    原文格式PDF

  • 申请/专利权人 杭州安恒信息技术有限公司;

    申请/专利号CN201610036006.3

  • 发明设计人 范渊;张小孟;吴卓群;

    申请日2016-01-20

  • 分类号H04L29/06(20060101);H04L9/08(20060101);

  • 代理机构33212 杭州中成专利事务所有限公司;

  • 代理人周世骏

  • 地址 310051 浙江省杭州市滨江区通和路浙江中财大厦15层

  • 入库时间 2023-06-19 00:13:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-22

    授权

    授权

  • 2019-01-22

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20160120

    著录事项变更

  • 2016-08-24

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20160120

    实质审查的生效

  • 2016-07-27

    公开

    公开

说明书

技术领域

本发明是关于信息安全领域,特别涉及一种基于身份信息的非对称密钥分发及消息 加密方法。

背景技术

在当代的信息传输过程中,越来越多的第三方通讯工具出现在市面上,也有越来越 多的贩卖情报人员,境外恶势力人员等(以下简称黑客)着手信息截获工作。但在这个 过程中,我们发现黑客们不仅能攻陷客户端,截获传输数据,他们更倾向于攻坚第三 方通讯工具的服务器,甚至有第三方通讯工具厂家无意识备份用户数据。而传统的对 称加密方案容易爆破,且密钥储存量巨大,不适合复杂的网络环境。

在信息传输过程中,敏感信息使用明文直接传输是一个大忌。通过信息截取,黑客 可迅速获得数据。

而现在通用的做法是对传输的信息进行一些加密处理。

其中极小部分敏感信息传输是使用单一的对称加密算法,而密钥是保存在客户端本 地的。此时获取这些密钥非常简单,因为在这个单一的体系中,密钥通道非常脆弱。 即使再安全的措施都无法保障双方能在通讯过程中将对称密钥保护好。而对称密钥还 有一些弊端,例如密钥长度非常短,短到能通过强力手段暴力破解(在成本盈利的情况 下),虽然高级加密标准(英语:AdvancedEncryptionStandard,缩写:AES)已经 远远好于当年的DES,但是诸如储存密钥数量庞大等对称密码加密方案的先天性缺陷都 使它无法满足互联网的多样化。现有的对称密钥交换机制无法做到百分百私密,有大 量无法抗重放攻击的缺点。

大部分通用的加密流程是通过非对称加密算法对对称密钥进行加密,尔后用对称密 钥将敏感信息加密,进行传输,这样的情况下有两个好处:

首先,对称密钥的密钥信道是加密且安全的,密钥的交换过程很保密,解决了对称 加密最大的难点。

其次,由于每次的对称密钥皆是非常快捷得进行交换,那么每次协商的密钥便可以 变换,这样的好处是不需要记住特定的密钥,做到一定意义上的一次一密(一次一密是 被证明无条件安全的)。

但这样的流程下,我们发现有一些问题:

一是,我们仍然需要储存大量的公钥(即使我们也许不需要储存,但是仍然需要从 固定的地方获取对应的人的公钥,这在通讯上具显出一种轻微延时的效果)。

再者,非对称的公私钥是从第三方服务端获取的,我们无法相信通讯商是否会帮我 们保守秘密(指的是无意识泄露或者被入侵)。

最重要的是在密钥分发过程中,会出现非常多的信息泄漏安全问题。特别是在公司 集群场景下的密钥分发和管理机制比较混乱,会被中间人攻击等。

发明内容

本发明的主要目的在于克服现有技术中的不足,提供一种能在兼顾对称密码的快速 加密和非对称密码的传播安全这两方面的同时,又能简化密钥分发管理机制,保护数 据流经第三方机构时的安全性的方法。为解决上述技术问题,本发明的解决方案是:

提供一种基于身份信息的非对称密钥分发及消息加密方法,用于实现企业用户之间 的加密通信,所述基于身份信息的非对称密钥分发及消息加密方法包括下述过程:

一、企业管理员初始化以及用户注册过程;

二、用户点对点进行通信过程;

三、用户多对多进行通信过程;

所述过程一具体包括下述步骤:

步骤A:建立CA(CertificateAuthority,即证书授权中心)证书认证的密钥分发 服务器,简称密钥坞,从CA获取(可信的)主公钥和主私钥(可信程度基于CA颁发机 构的正规性),并将主公钥装入所有企业用户的客户端模块,即终端中;

步骤B:企业x向密钥坞发起企业x认证初始化,密钥坞接受认证后,生成企业x 专用分公钥和分私钥,并且从企业x处导入所有企业x的用户的个人特征信息表(名录 或者身份信息列表等);

步骤C:用户a通过终端向密钥坞申请帐号,并发送企业x特征,密钥坞确认企业 特征,并返回企业x分公钥;在确认具体企业x后,终端对用户输入的个人特征信息与 一个随机量(随机量由终端随机生成),通过企业x分公钥进行加密并将消息发送给密 钥坞,密钥坞对用户a发来消息使用企业x分私钥进行解密,然后判断用户a的个人特 征信息是否在企业提交的个人特征信息表中,若不存在,则丢弃,若存在,则继续下一 步骤;

步骤D:密钥坞将步骤C中由终端传到密钥坞的随机量,通过企业x分私钥计算一 个k值(算法为基于身份的非对称算法中一部分),然后通过基于身份的非对称加密算 法中的生成私钥部分,利用参数:企业x的分公钥和分私钥、用户a的ID(类似一串唯 一的数字或字符串,由密钥坞生成),记为IDa,生成一个用户a的私钥d,记为da, 同时将用户a的ID发送给用户a;

步骤E:使用步骤D生成的k值,密钥坞将生成的用户a的个人私钥d加密后发送 给用户a;用户a收到后,通过企业x分公钥和步骤C中生成的随机量进行计算,获得 与步骤D中一样的k值,再利用k值解密个人专属私钥d,并(通过混淆等本地技术) 保存至终端,完成用户私钥分发;

所述过程二中,用户b与用户a一样,通过步骤C、D、E的方法获得个人II)、个人 专属私钥,分别记为IDb、db;用户a与用户b点对点进行通信具体包括下述步骤:

步骤F:用户a取得用户b的IDb、自己的密钥da,通过基于身份的非对称加密算 法(计算IDb与da的双线性映射,为行业公认计算方法),计算出一个临时会话密钥 k`;然后,利用k`计算用户a与用户b之间明文消息m的密文(使用对称加密算法,例 如AES等),再将加密的数据发送给用户b;

步骤G:用户b接受到数据后,通过用户a的IDa、自己的私钥db,通过基于身份 的非对称加密算法(计算IDb与da的双线性映射,为行业公认计算方法)计算出k`, 通过对称解密解出明文消息m,实现用户a与用户b的点对点通信;

所述过程三中,用户a为企业x的用户,需要建立一个成员都是企业x员工的会话 群,并利用会话群进行多对多通信,具体包括下述步骤:

步骤H:用户a(一个终端对应一个用户)要邀请的会话群成员,设定为ID是ID1、 ID2、…、IDi、…、IDn的用户(可通过通讯录,好友导入等方式获得),通过企业x 的分公钥pk、每个用户对应的ID(用户i的ID表示为IDi),由用户a的终端随机生 成的一个k``值(做群共用密钥),输出pk与IDi的集群与k``的异或值(为行业公认 算法);再由用户a的终端利用用户i的ID、企业x分公钥,计算对应用户i的ki, 并将ki只发送给用户i;

其中,i∈{1,2,…,n},n是指大于1的自然数;ki是指群密钥k``生成的分发给用 户i的密文;

步骤I:用户i接收到ki后,通过企业x的分公钥pk、用户i的私钥di、接收到 的加密信息ki,通过基于身份的非对称加密方法(计算IDb与da的双线性映射,为行 业公认计算方法)获得k``,获取k``后,每个用户的消息都通过k``与任意对称加密(如 AES)进行加密,并发送给各个会话群成员,这样便实现了多对多通讯;

步骤J:如果有新的ID为ID’的用户要进入群聊天,那么由拉这位新成员的原会话 群成员(每个成员都可以)将群密钥k``加密发送给ID为ID’的新成员,同步骤H、步 骤II。

在本发明中,所述步骤A中所描述的CA中心是经过可靠认证的证书授权中心,且 主私钥分发途径为可靠途径(通过物理传输等可靠手段),主私钥置于密钥坞需必要的 加密混淆技术;而主公钥置于终端中需进行必要的加密,加密算法需进行混淆。

在本发明中,所述步骤B中,企业x向密钥坞发起认证时,需可信信息(例如企业 注册文件,或法人信息等,以保证初始申请者为可信方);企业提交的个人特征信息表, 必须保证业用户的特异性(例如电话号码,可使用短信验证码机制等,以区分每个用户 信息)。

在本发明中,所述步骤B中,密钥坞通过基于身份的非对称加密算法生成企业专用 分公钥和分私钥,记为pk和sk,具体为:输入安全参数,生成固有族群,选择私钥sk, 并通过sk计算出pk(算法中出现的一些哈希函数可以参照IEEE标准等)。

在本发明中,所述步骤B中还需要生成通过主私钥对企业公钥与企业信息生成一个 证书cert(具体算法可参考非对称加密算法中的签名算法,例如RSA标准签名算法等用 作数据校验)。

在本发明中,所述步骤C中,用户a申请加入企业x,密钥坞发回给用户a一个企 业x对应cert,用户a的终端利用主公钥解密该信息,并且判断是否为请求的企业,确 认后才能进行企业公钥的接收并保存,否则丢弃消息,重新申请(具体算法参考权利要 求5中所述非对称加密算法中的签名算法)。

在本发明中,需要使用到公钥密码体制中的方式,而公钥密码体制根据其所依据的 难题一般分为大整数分解问题类、离散对数问题类、椭圆曲线类(有时也把椭圆曲线类 归为离散对数类;以椭圆曲线为例,首先需要加载椭圆曲线库,有且不局限于pbc库等 椭圆曲线库,以及他们的不同语言变种;我们使用椭圆曲线库,具体步骤为首先登陆官 网,下载类库的一些文件,并且将它们添加到工程lib库中;从官网下载初始化参数文 件,在资源目录下新建任意名称如assets文件夹,将其复制入内,在接下来代码中引 用;关于一些公开库的使用教程为公开公认的)。

在本发明中,所述步骤C、D、E为用户私钥分发过程,用户确认企业x为目标企业 后进行下述步骤:

a)终端获取由用户输入秘密信息s;

b)终端在椭圆曲线族群中任意选择一个数;

c)终端计算对应数的族群,实现方法即调用椭圆曲线库

d)终端利用pk对秘密信息和族群加密,生成密文c;所使用的算法是基于身份的非 对称加密算法,注:其中的默认族群可以预计算,具体查看椭圆曲线库中生成,需要固 定;

e)终端发送c给密钥坞;

f)密钥坞获得c,并用sk进行解密获得明文,核对s,如果无效,则丢弃该数据; 如果有效,则计算对称加密算法密钥k,通过基于身份的非对称加密算法以及参数pk, sk,ID生成个人私钥d,这里ID为目前申请用户的身份信息;

g)密钥坞利用k对d进行加密,这里可以直接运用现有的对称加密算法,例如AES 算法等。获得的密文记为d’,并把该密文发送给终端(如有需要,可以对d’用pk对其进 行签名);

h)终端收到d’后,通过pk和秘密信息x计算族群获得对称密钥k,然后利用之前 使用的对称加密方法,通过k对d’进行解密,获得d。

与现有技术相比,本发明的有益效果是:

本发明能够更安全得分发用户个人密钥;能够分企业,分情况去构建密钥管理体 系;能减少用户公钥管理数量,简便用户端的公钥体验;降低私钥被拦截,窃取的几率; 增加了整个公钥系统的速度和操作可行性;增加了公钥系统对移动端或其他端的适配 性;将对称加密体系和非对称加密体系结合使用在了认证与数据传输阶段。

附图说明

图1为密钥坞进行CA认证流程图。

图2为终端与密钥坞进行密钥交换及密钥坞密钥分发过程示意图。

图3为终端A与终端B进行交流示意图。

图4为终端集群密钥进行分发,并加密交流示意图。

具体实施方式

首先需要说明的是,本发明是计算机技术与现代密码学在信息安全技术领域的一种 应用。在本发明的实现过程中,会涉及到多个软件功能模块的应用。申请人认为,如在 仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术 的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。

下面结合附图与具体实施方式对本发明作进一步详细描述:

如图1至图4所示,一种基于身份信息的非对称密钥分发及消息加密系统,是通过 CA证书认证的密钥分发服务器(简称密钥坞)进行企业注册,员工认证,密钥管理的一 些模块,通过基于身份的非对称加密保证密钥能简单分发,减少管理风险,具体步骤 如下:

a)步骤A:(此步骤开始至下一节点为企业用户初始化以及员工注册过程)建立密 钥坞,从CA(CertificateAuthority,即证书授权中心)获取可信的主公钥和 主私钥,将主公钥固定入所有手机客户端模块(简称终端)。

b)步骤B:企业x向密钥坞发起企业认证初始化。密钥坞接受认证后,生成企业专 用分公钥和分私钥,并且从企业处导入企业员工名录(或代表每位员工的身份 信息列表)。

c)步骤C:员工a通过终端向密钥坞申请帐号,并发送企业x特征,密钥坞返回企 业x特征公钥,向终端请求企业公钥并确认企业特征。在确认具体企业x后, 终端传送员工输入的个人特征信息与一个随机量,通过企业x公钥进行加密, 密钥坞对员工a发来消息使用企业x私钥进行解密,判断员工个人特征信息是 否为企业提交员工名录中一位,如不存在则丢弃。否则进行下一步。

d)步骤D:密钥坞通过上一步的随机量计算一个对称算法的加密密钥,通过基于身 份的非对称加密算法,参数为企业x公私钥,用户ID生成一个用户私钥d,同 时将用户ID发送给用户。

e)步骤E:使用步骤D生成的k,加密用户个人私钥d加密,发送给用户,用户则 通过企业x公钥和生成的随机量进行计算,获得k,解密个人专属私钥d,并 通过混淆等本地技术保存至终端。至此,用户私钥分发结束。

f)步骤F:(此步骤开始至下一节点为用户点对点通过本模块进行通信的过程)用 户a取得用户b的IDb,自己的密钥da,通过基于身份的非对称加密算法,计 算出一个对称加密的k,用k计算m的密文,发送给用户b。

g)步骤G:用户b接受到数据后,通过用户a的IDa,自己的私钥db,通过基于身 份的非对称加密算法计算出k,通过对称解密解出密文。

h)步骤H:(此步骤开始至下一节点为用户一对多通过本模块进行通信的过程)假 设刚建立的时候群成员的信息为ID1,ID2,…,IDn,那么获取参数pk,IDi,k, 通过基于身份的非对称加密计算ki,i∈{1,2,…,n}。(注:ki只发送给 IDi,否则群成员会接收到很多冗余数据)。

i)步骤I:群成员IDi接收到ki后,利用自己的私钥得到k,即通过pk,di,ki以 及基于身份的非对称加密方法获得k。

j)步骤J:如果有新的成员ID’进入群聊天,那么由拉这位新成员ID’的原成员ID 将k发送给新成员ID’。即通过参数pk,ID’,k和基于身份的非对称加密算法进 行计算,获得密文。当新成员ID’接收到该数据后,可以利用自己私钥d’获 得k,同步骤I。

在本发明中,需要使用到一公钥密码体制中的方式。公钥密码体制根据其所依据 的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把 椭圆曲线类归为离散对数类。我们以椭圆曲线为例,首先需要加载椭圆曲线库,有且 不局限于pbc库等椭圆曲线库,以及他们的不同语言变种。我们使用椭圆曲线库,具体 步骤为首先登陆官网,下载类库的一些文件,并且将它们添加到工程库文件夹中。从 官网下载初始化参数文件,在资源目录下新建任意名称如assets文件夹,将其复制入 内,在接下来代码中引用。关于一些公开库的使用教程为公开公认的。

在本发明的步骤A中,所描述的CA中心是经过可靠认证的证书授权中心,且主私 钥分发途径为可靠途径(通过物理传输等可靠手段),主私钥置于密钥坞需必要的加密 混淆技术。而主公钥置于终端中需进行必要的加密,加密算法需进行混淆。

在本发明的步骤B中,企业x向密钥坞发起认证时,需可信信息,例如企业注册文 件,或法人信息等,以保证初始申请者为可信方。其次进行认证后,企业x需向密钥坞 提供企业员工信息,必须保证特异性,以区分每个员工信息,例如电话号码,具体可 使用短信验证码机制等。密钥坞通过基于身份的非对称加密算法产生企业x专用公私钥 pk和sk,详情如下:输入安全参数λ,生成固有族群,选择私钥sk,并通过sk计算出 pk(算法中出现的一些哈希函数可以参照IEEE标准等)。

在本发明的步骤B中,还需要生成通过主私钥对企业公钥与企业信息生成一个证书 cert,具体算法可参考非对称加密算法中的签名算法,例如RSA标准签名算法等用作数 据校验。

在本发明的步骤C中,员工a申请加入企业x,密钥坞发回给员工a一个企业x对 应cert,员工a的终端利用主公钥解密该信息,并且判断是否为请求的企业,确认后 才能进行企业公钥的接收并保存,否则丢弃消息,重新申请。具体算法参考权利要求5 中所述非对称加密算法中的签名算法。

在本发明的步骤C、D、E中,为员工私钥分发过程,员工确认企业x为目标企业后 进行下述步骤:

k)终端获取由员工输入秘密信息s

l)终端在椭圆曲线族群中中任意选择一个数

m)终端计算对应数的族群,实现方法即调用椭圆曲线库

n)终端利用pk对秘密信息和族群加密,生成密文c。所使用的算法是基于身份的 非对称加密算法,注:其中的默认族群可以预计算,具体查看椭圆曲线库中 生成,需要固定

o)终端发送c给密钥坞

p)密钥坞获得c,并用sk进行解密获得明文。核对s。如果无效,则丢弃该数据; 如果有效,则计算对称加密算法密钥k,通过基于身份的非对称加密算法以及 参数pk,sk,ID生成个人私钥d,这里ID为目前申请员工的身份信息。

q)密钥坞利用k对d进行加密,这里可以直接运用现有的对称加密算法,例如AES 算法等。获得的密文记为d’,并把该密文发送给终端。(如有需要,可以对d’ 用pk对其进行签名)

r)终端收到d’后,通过pk和秘密信息xk=e(pk,g)x对称密钥k,然后利用之前使 用的对称加密方法,通过k对d’进行解密,获得d。

本发明的步骤F、G为员工点对点通讯:

s)员工A对员工B发送的消息为m,A通过B的ID,自己的密钥d生成对称加密密 钥k,通过对称加密算法计算密文CT。

t)员工B收到员工A发来的CT,则终端通过A的ID,自己的私钥计算出对称加密 密钥k,然后通过对称加密算法计算出明文m。

其中,步骤H,I,J中的算法与上述步骤算法类同。

最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限 于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中 直接导出或联想到的所有变形,均应认为是本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号