温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
SM9
密钥
中心
用户
身份
隐私
保护
模型
叶帅
年月第 卷第期计算机工程与设计 基于 多密钥中心的用户身份隐私保护模型叶帅,蒋文保,祁亚楠(北京信息科技大学 信息管理学院,北京 )摘要:为解决 算法中密钥生成中心(,)的单点权力过大问题和用户身份的隐私保护问题,提出一种基于 多密钥中心的用户身份隐私保护模型。利用区块链技术构建分布式账本,实现多 密钥生成参数的分布式管理;将动态身份标识技术与 算法相结合,实现匿名传输和匿名验证,兼顾用户身份的隐私性和传输的安全性。通过对用户身份的匿名性证明和对模型的安全性分析,说明模型中用户身份的匿名性以及模型的安全性;通过实验测试,给出模型各部分的相关数据,验证模型的可行性。关键词:算法;多密钥中心;区块链;智能合约;隐私保护;动态身份标识;匿名传输中图法分类号:文献标识号:文章编号:():收稿日期:;修订日期:基金项目:科技 创 新 服 务 能 力 建 设网 络 空 间 安 全 学 科 创 新 平 台 建 设 基 金 项 目();国 家 重 点 研 发 计 划 基 金 项 目()作者简介:叶帅(),男,河南南阳人,硕士研究生,研究方向为可信网络、区块链;通讯作者:蒋文保(),男,湖南永州人,博士,教授,研究方向为可信网络、区块链、网络空间主权;祁亚楠(),女,北京人,硕士研究生,研究方向为区块链、物联网技术、可信网络。:,(,):,:;引言在网络世界中,公钥基础设施(,)扮 演 着 重 要 的 角 色,它 通 过 证 书 授 权 中 心(,)颁 发 证 书 来 解 决 公 钥 信 任 问题。但 是基于中心化的设计,单一的根节点为整个系统的信任锚点,这会带来严重的信任孤岛危机。针对上述问题,已经有学者提出了一些可行的去中心化的身份信 息 管 理 方 案,例 如:、以 及 等,这些方案利用区块链分布式特性直接共享身份数据,以解决 中心化问题。但这些方案仍存在着不足,其中最主要的两个问题是面对海量身份数据响应速度不足和用户身份隐私保护不足。詹泽怡等针对上述方案中面对海量身份数据响应速度不足的问题提出了一种云环境下去中心化跨域身份认证方案,但由于其未摆脱证书体系,仍无法对用户身 份隐私做到有效 保 护。标 识密 码(,)是基于 传统的 体系发展而来,它去除了以 签发数字证书作为凭证的过计算机工程与设计 年程,这更便于保障用户身份隐私。但在 体系中,仍然存在密钥生成中心,它依然拥有过大的权力。算法是我国的商用标识密码,杨亚涛等在其基于 算法可证明安全的区块链隐私保护方案中,提出了一 种 基 于 多 群签名身份认证方案,但群签名的特性使得群内管理员能够掌握全部用户的密钥,群内管理员的权力仍然过大。姚英英等基于区块链提出了一种 去中心化身份认证及密钥管理方案,将密钥更新过程以交易的形式记录在区块链中,利用区块链的特性保障其真实可信。但该方案依旧没有很好解决面对海量身份数据响应速度不足和用户身份隐私泄露等问题。本文针对上述问题提出了 一 种 基 于 多密钥中心的用户身份隐私保护模型。模型中利用区块链技术分布式管理多 的密钥生成参数,并不存储用户海量身份数据,在避免单点权力过大的同时满足用户响应速度。同时本文将动态身份标识技术与 算法相结合,兼顾用户身份的隐私性和通信的安全性。相关工作 算法 算法是一种基于用户身份标识的密码算法,中的密钥生成中心可根据用户身份标识和系统参数产生对应的用户私钥,签名者可根据用户私钥、相关参数和身份标识对消息形成签名。验签者可根据发送方的身份标识和相关参数直接产生对应的公钥从而对签名进行验证,以确认发送方身份的真实性和数据的完整性。标识密码体系与传统公钥密码体系最大的不同就是去除了证书机制,消除了证书的验证和管理过程,提高了整体验证效率。但 标识密码算法依然依赖一个可信的中心 密钥生成中心,其类似于传统公钥密码体系中的,仍然是中心化的,存在单点权力过大的问题。区块链区块链概念被提出以来,引起了全世界广泛关注的。从记账的角度出发,区块链是一种分布式账本技术或账本系统;从协议的角度出发,区块链是一种解决数据信任问题的互联网协议;从经济学的角度出发,区块链是一个提升合作效率的价值互联网。区块链中每个节点均按照区块被添加的顺序来存储区块内的数据内容,所有的区块形成了一个存在全局顺序的链表。与此同时,区块链系统可在不可信的网络中支持数据的一致性以及不可篡改性,即当网络中存在少量恶意节点时,依然可以确保网络中数据的一致性。由于以上特性,整个区块链网络构成了一个去中心化且不可篡改的一致数据存储系统。现在具有代表性的区块 链 系 统 及 框 架 主 要 包 括:、和 。本文选用以太坊进行区块链环境的搭建,在以太坊中,共有外部拥有账户和合约账户两种账户模型,每一个账户都由一对公私钥进行定义,以太坊通过地址来对账户进行索引,其中合约账户是由合约代码控制的账户,可以被外部拥有账户触发从而执行其对应的合约代码,从而进行各种预先定义好的操作,本文正是通过合约账户来构建分布式账本管理各 的密钥生成参数。动态身份标识技术现有网络中,大多数通信基于静态的身份标识,如 地址、电子邮箱地址等,但这类静态的身份标识很容易泄露个人信息,隐私好奇者可通过关联性分析等手段追踪用户行 为,用 户 隐 私 受 到 了 极 大 的 威 胁。针 对 这 种 问 题,等 和 等 提出了两种基于动态身份标识的身份认证方案,它们通过在用户身份信息中添加随机数或时间戳等方式生成动态的身份标识,能够保障用户身份的匿名性和不可追踪性。本文受到上述方案的启发,将动态身份标识技术与 算法相结合,不仅可保障发送方用户身份的匿名性和抗关联性,还可保障数据传输的完整性和真实性,兼顾隐私和安全。模型设计本节主要介绍模型中的符号说明、整体架构、密钥生成参数的分布式管理方法、用户匿名身份标识组和私钥组的生成与分发流程以及匿名验证的具体流程。符号说明本模型主要符号的说明见表。表符号说明符号含义 身份标识消息内容 匿名身份标识 的身份标识 的主私钥 的主公钥 密钥生成参数用户私钥 盐值 私钥生成函数标识符()哈希运算将字符与进行拼接 数字签名的结果 验证签名的结果 整体架构本方案主要由类角色组成,包括:联盟、骨干节点、普 通 节 点(用 户)和 审 计 节 点。整 体 架 构 如 图所示。()联盟 联盟由多个 组成,各 选取不同的系统第 卷第期叶帅,蒋文保,祁亚楠:基于 多密钥中心的用户身份隐私保护模型图整体架构参数和主密钥对,经骨干节点验证通过后,各 可将参数信息写入区块链中供用户查询使用。联盟可根据用户真实身份标识定期为用户生成匿名身份标识以及根据匿名身份标识生成对应的用户私钥。()骨干节点骨干节点是区块链网络中的主要节点,分布在各个域中。它们是区块链网络中共识机制的主要参与者,并在本地记录全部世界状态账本,为普通节点或邻居节点同步区块信息。骨干节点需验证各 的真实性,并将各 的参数信息写入区块链中供用户查询使用。()普通节点普通节点是参与匿名传输的普通用户,它们只需向骨干节点同步区块信息,并不需要参与共识。普通节点需根据自身真实身份标识定期向 联盟申请匿名身份标识组和对应私钥组,在发送消息时,普通节点需基于匿名身份标识进行通信,并根据相应私钥和对应 参数对消息进行签名,匿名身份标识和对应私钥可定时更新,在接收消息时,普 通 节 点 可 根 据 对 应 参 数 对 消 息 进 行 匿名验证。()审计节点审计节点负责审计普通用户和 行为,当有用户举报或监测到非法行为后,审计节点可对有异常行为的数据包进行溯源识别,通过 联盟揭示匿名身份标识对应的真实身份。密钥生成参数的分布式管理方法设本模型 联盟中有个,各 选取不同的系统参数和主密钥对。各域骨干和普通节点利用以太坊智能合约构建分布式账本管理各 的密钥生成参数,合约地址为各 的 。账本内容见表,主要包括各 的 、和 的对应关系,其中 包括群的生成元、群的生成元、曲线阶的素因子、构建曲线的随机数、基域特征、椭圆曲线方程参数、用于计算 对的整数、用于多项式扩展的 、和 。表账本内容编号 身份标识主公钥密钥生成参数 本模型中密钥生成参数管理方法如图所示,具体步骤如下:步骤 联盟中某 向骨干节点发起请求,请求类型主要包括参数首次写入请求、参数更新请求、参数撤销请求。步骤骨干节点对 身份进行审核验证,并判断请求类型。若是参数首次写入请求,骨干节点将创建新的合约账户,将该 的相关参数写入智能合约,并设置对应的更新和查询接口函数,合约地址即为该 的 ;若是参数更新请求,骨干节点将调用对应合约账户的参数更新接口函数更新相关信息;若是参数撤销请求,骨干节点将删除该 对应的合约账户。步骤骨干节点形成共识执行对应请求,将相关信息写入区块链,并同步给普通节点。图密钥生成参数管理方法 具体流程本小节主要介绍匿名传输中 组和对应组的生成原理和申请流程、发送方签名原理和消息发送流程以及接收方匿名验证原理和消息接收流程,设 一次为用户产生个 和对应。发送方为普通节点,接收方为普通节点,传输的消息为。组和对应组的生成原理及申请流程()生成原理 和对应的生成原理如算法所示,其中 为 和对应的生成函数,以真实用户 为输入参数,输出为 和对应,其中 (),为位的随机字符串,第一次哈希使用 算法,第二次哈希使用 算法,对应(,)。算法:和对应生成算法 :、计算机工程与设计 年)()作为参数传入函数)()随机生成盐值)将 和盐值串联)()使 用 算法进行第一次哈希运算)()使 用 算法进行第二次哈希运算得到用户 )(,)使用 主私钥和密钥生成参数为此 生成对应用户私钥)、返 回 用 户 匿 名 身 份 标 识 和 对 应私钥)函数结束()申请流程 组和对应组的申请流程如图所示,组和对应组的申请具体步骤如下:图 组和对应组的申请流程)普通节点向 联盟中某 发起 组和对应组的申请。)对普通节点的身份进行验证,验证成功后产生 (,),并根据普通节点 和每个盐值计算 作为普通节点本次申请的 组。)为每个 (,)生成对应作为本次申请的组。)将 (,)、和自身 签发给普通节点。发送方签名原理和消息发送流程()签名原理发送方消息签名原理如算法所示,其中 为签名函数,以发送方真实身份标识和消息内容为输入,输出为对应的 签名。签名过程中需向区块链查询签名所需的密钥生成参数并定时更新 。算法:签名算法 :、:(,)(,)将参数传入函数)()选择通信的匿名身份标识)()匹 配 到 对 应私钥)()查找对应 身份标识)、()根据 标识查找对应的主公钥和密钥生成参数)(,)计算群中的元素)()产生随机数)()()计算群中的元素)(,)计算出整数)()()计算整数)()执行步骤);否则执行步骤)判断是否等于)()()计算群中元素)(,)返回签名)函数结束()消息发送流程发送方消息发送流程如图所示,具体步骤如下:图发送方消息发送流程)普通节点从 组中选取本次通信的 和对应,其中 组中每个 都有固定的使用时限,当超过时限后需更换新的 进行通信,不可重复使用,当整个 组中的 全部使用完毕后需向 联盟申请新的 组和对应组。)普通节点根据本次通信 对应的 从区块链中查询对应的 和 。)普通节点对进行签名,签名值为 。)普通节点将消息发送给普通节点,最终发送的消息内容包括 、和 。接收方匿名验证原理和消息接收流程()匿名验证原理匿名验证原理如算法所示,其中 为匿名验第 卷第期叶帅,蒋文保,祁亚楠:基于 多密钥中心的用户身份隐私保护模型证函数,以发送方匿名身份标识、身份标识、消息和发送方签名为输入,输出为对应的验证结果,表示验证通过,表示验证失败。验证过程中需向区块链查询所需的密钥生成参数,以验证签名是否合法。算法:匿名验证算法 :、:)(,)传 入参数)():判断 是否存在)、()若存在,根据 查找对应主公钥和密钥生成参数):若不存在,验证失败)!(,)验证签名中是否在合法范围内,若不合法则验证失败)!():验证签名中是否属于,若不属于则验证失败)(,)()计算群中的元素)(,)计算整数)()().()计算群中的元素)(