| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 分层身份加密(HIBE)技术原理解析(下) -> 正文阅读 |
|
[区块链]分层身份加密(HIBE)技术原理解析(下) |
上篇内容我们谈到到身份密码加密(IBE)的诞生及演进,那身份分层加密(HIBE)是如何诞生、发展,长安链中又如何集成HIBE的? 从IBE 到HIBEIBE体制把对用户公钥证书的认证问题转化为对PKG公共参数的认证问题。继续上面的例子,比如说为了我向发送加密信息,你们只需要从我所属的PKG那里得到相应的公共参数,而不再需要核实的公钥证书。然而,正如前面的所说的,IBE体制同时存在一个缺陷,当管理的用户过多时,用于私钥生成的计算开销将非常大,如果当私钥更新间隔非常小时,这种计算开销将更加巨大。 解决这个问题的容易想到的方法是设置更多的PKG并保持较大的私钥更新时间间隔,但这样的解决方降低了IBE所拥有的优势,因为如PKG果过多,就需要对更多的公共参数进行认证。在传统的体制中,为了使不至于非常繁忙,通常使用分等级的证书颁发机构,这样用户也无需保存过多的证书,仅需要验证证书的认证链即可。为了拥有这种优势,于是提出了分等级基于身份加密(HIBE)的概念,除了拥有所有的功能外,一个拥有高等级的身份信息私钥的用户,可以为更低等级的身份信息颁发私钥。这样,任何一个用户都可以充当更低等级用户的PKG,从而减轻了主PKG的负担。 HIBE 打破了传统的 IBE 方案,构造了一种层级结构关系,每一层节点/用户用来进行数据解密的解密密钥都由上一层级进行分配,也就是说,只有根节点/用户的密钥由主PKG进行分配,再者主PKG的压力完全可以用集群服务的形式来解决,但是权限管理(解密能力的管理)只能靠HIBE的算法设计来解决。 Horwitz和Lynn在Eurocrypt2002上提出了“分层身份加密”(HIBE)的概念。 论文链接:http://theory.stanford.edu/~horwitz/pubs/hibe.pdf HIBE的形式化定义
HIBE加密流派
HIBE的安全模型 在假设密码分析者已知所用加密算法全部知识的情况下,根据密码分析者对明文、密文等数据资源的掌握程度,可以将针对加密系统的密码分析攻击类型分为以下四种: 惟密文攻击(Ciphtext-only attack),已知明文攻击(Plaintext-known attack),选择明文攻击 (Chosen-plaintext attack),选择密文攻击(Chosen—ciphenext attack)。 在公钥密码学中,IND-CCA (Indistinguishability under chosen-ciphertext attack)直译为选择密文攻击下的不可区分性。IND-CCA安全代表选择明文的不可伪造性。这样的安全方案的思想就是给定一个密文,攻击者不能说出给定密文是什么样的明文加密得到的。 (图片来源:https://www.slideserve.com/pancho/detecting-dangerous-queries) 身份的分层加密方案是IND-ID(Identity)-CCA安全的,当且仅当不存在多项式时间内的敌手能以不可忽略的优势赢得下面的挑战者-敌手交互游戏。
上述相关部分涉及较多密码学数学知识,基于笔者水平有限,还不能很清晰地了解其中的数学及其密码学原理,有兴趣的读者可以自行参考论文和我们长安链层级身份加密方案并学习。 在长安链中集成(HIBE)算法构造如下: 前提假设
算法构造 Setup
此时,我们有
KeyGen 对于某一层级的公钥,私钥生成有两种方式:
Eecrypt 给定:
加密结果:CT=(e(g1,g2)s?M,gs,(h1I1...hkIk?g3)s)∈G1×G2 Decrypt 给定:
解密方案:?A?e(a1,C)/e(B,a0)=M 整体架构 执行流程 更多的背景与系统用例请参考我们的长安链层级身份加密方案。 研究的方向基于笔者的密码学以及数学知识有限,在研究的过程中,我认为以下问题是我们值得思考探究的: 如何构造更为高效的加密方案使HIBE具有隐私保护性,且适应于大型用户群体; HIBE体制下,各类密码方案、协议的高效实现及安全性证明; 结语? 从IBE到HIBE至今己经历了近三十年的发展历程,从概念的提出到具体方案的构造,再到功能和安全性的逐步完善,HIBE密码体制己从一个抽象的密码学概念发展成为具有标准的形式化定义、完善的安全性定义、丰富的实现方案、严格的安全性证明的密码学分支。它无疑有效地简化了传统公钥密码体制中的公钥证书的管理问题,丰富了公钥密码体制的功能,对该类密码体制的设计和分析,是当前密码学研领域中一个重要的研究方向。同时,在区块链中,加密技术占有核心地位,用户信息以及交易数据的安全性是区块链得以推广的必要条件,密码学技术的发展推动并制约着区块链的进一步发展同时。如何将HIBE等隐私保护技术与区块链,乃至我们的长安链技术相结合,也是我们正在研究的方向和期待实现的目标。 Tips 更多长安链开源项目QA,可登陆开源社区、技术文档库查看。 下载源码https://git.chainmaker.org.cn/chainmaker/chainmaker-go 查阅文档https://docs.chainmaker.org.cn/ 更多社区权益申请https://wj.qq.com/s2/8620064/7abd “长安链ChainMaker”是国内首个自主可控区块链软硬件技术体系,由微芯研究院联合头部企业和高校共同研发,具有全自主、高性能、强隐私、广协作的突出特点。长安链面向大规模节点组网、高交易处理性能、强数据安全隐私等下一代区块链技术需求,融合区块链专用加速芯片硬件和可装配底层软件平台,为构建高性能、高可信、高安全的数字基础设施提供新的解决方案,为长安链生态联盟提供强有力的区块链技术支撑。取名“长安链”,喻意“长治久安、再创辉煌、链接世界”。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:52:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |