Beyond the Hype: On Using Blockchains in Trust Management for Authentication(部分)

本文主要是介绍Beyond the Hype: On Using Blockchains in Trust Management for Authentication(部分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

补充:

信任管理是指采用一种统一的方法描述和解释安全策略(security policy)、安全凭证(security credential)以及用于直接授权关键性安全操作的信任关系(trust relationship)。

1、  背景

随着计算机网络和一些分布式系统支撑技术的飞速发展和普遍应用,人们开发了越来越多的大规模的分布式系统。从而信息和数据的安全变得原来越重要,资源共享将会是现在及未来的网络生活的主流;同时也带来了一些未知的风险,在各式各样的资源面前,如何进行有效的真伪(安全)鉴别,即防止恶意节点的伪装带来安全问题;发现之后又该怎样处理相应的问题。解决这些问题在很大的程度上需要有一套相应的标准。

2、  内容

制定安全策略、获取安全凭证、判断安全凭证集是否满足相关的安全策略等。信任管理要回答的问题可表述为“安全凭证集C是否能够证明请求r满足本地策略集P?”

摘要:

用于认证的信任管理(TM)系统对于在我们日常生活中无处不在的在线交互的安全至关重要。各种系统,如Web PKI(X.509)和PGP的信任网都用于管理此设置中的信任。近年来,区块链技术作为解决我们安全问题的灵丹妙药,包括身份验证技术,没有充分的推理,就其优点而言。

在这项工作中,我们调查了使用开放分布式总账(ODL)的优点,例如区块链技术实施的开放分布式总账(ODL),以保卫TM系统的身份验证。我们对这些系统进行正式建模,并探讨区块链如何帮助减轻对他们的攻击。经过正式论证后,我们在信任管理身份验证的背景下得出结论,一般情况下区块链技术和ODL,与以前的方法相比,可以提供相当大的优势。据我们所知,我们的分析是第一个基于区块链技术正式建模并讨论TM系统身份验证的安全性。为了达到这个结果,我们首先为TM系统提供一个抽象模型进行认证。然后,我们展示了如何将这个模型在区块链中进行概念编码,将其表示为一系列状态转换。作为下一步,我们研究了对TM系统的五种普遍攻击,并通过减轻或完全否定这些攻击来提供证据表明,基于区块链的解决方案可以有益于此类系统的安全性。

1、 介绍

我们生活在一个日益互联的世界中,在线互动是大多数人日常生活中常见的现象。 数十亿次互动,可能是敏感的性质,每天都在世界各地发生。 这些互动的安全性对于组织的有序运作以及人们的福利至关重要。

身份验证是Internet上安全性的主要推动者。 在这种情况下,身份验证对应于验证交互实体的身份的机制。 这是几乎所有安全在线交互的要求,从电子邮件交换到银行交易。例如,每次用户通过https [2]浏览网站时,都会使用身份验证机制作为TLS / SSL协议的一部分[1]。通过使用公钥密码术,实体的认证等同于验证公钥和身份之间的绑定的正确性,在我们的上下文中还包括实体的相关属性(参见2部分)。 对于本文的其余部分,这将被称为public-key-to-id绑定

信任是认证系统的重要组成部分。在线交互的电子特性意味着使用物理标识是不可能的,甚至不适用,例如国家颁发的身份证和护照。而且,在许多情况下,识别不仅包括姓名验证,在在线市场场景中,客户需要知道交互方是否实际上是具有其声称的相应物理地址的商店,可能还有其他相关属性,例如商店质量证明。因此,那些对他们想要识别的公钥持有者没有直接物理经验的实体,需要依靠其他人来验证public-key-to-id绑定。实体相信其他实体熟悉身份识别过程并且对第三方的身份验证过程是诚实的。这种信任然后通过加密凭证表达的信任链在网络中传播,从而使得可以在没有物理交互的情况下对实体进行认证。实现此目标的两个最广泛使用的系统是Web X.509 PKI([3],[4])和PGP的信任网[5]。前者遵循集中式分层方法,由指定的根证书颁发机构(CA)通过浏览器和操作系统进行先验信任。这些可以反过来将这种信任委托给其他CA等,以形成链。后者基于分散的方法,并允许用户通过在现实世界中通过其社会关系形成信任链来认证其他用户。

真实世界的问题[6],[7],[8]强调了对更安全和透明的认证系统的需求。最近,根据对分散和安全认证的需求,已经提出了使用区块链技术的初步解决方案来解决问题的某些方面([9],[10],[11],[12],[13],[14])取得了不同程度的成功。例如,Namecoin [9]提供了一个由专用加密货币支持的分散名称空间。在[12]中,作者提出在比特币区块链上存储PGP密钥和签名,而[13]引入了分布式命名和存储服务,可以在任何合适的区块链之上实现。正如第II部分所解释的这个问题,区块链和开放分布式总帐(ODL)通常可以通过设计可能地提供安全性和透明度,从而提高认证基础架构的安全性。然而,与传统方案相比,上述解决方案提供了特别的优势,这些方案通常没有正式研究。

在本文中,我们调查围绕区块链技术的宣传作为解决安全问题的方法是否有具体的支持。我们将调查范围限制在信任管理(TM)系统进行身份验证,并询问以下问题:使用区块链技术提高TM系统身份验证的安全性是否有好处? - 如果是的话:哪些?

为了回答这个问题,我们基于图论开发了TM系统认证的抽象模型。与以前的工作相比,我们的模型的优势在于其通用性和简单性。它使我们能够以统一的方式讨论TM系统,并且表达不属于任何一个系统的特性。我们还提供了一种方法来解释区块链技术在这种情况下的使用,通过将我们的模型编码到状态机,对应于安全区块链。然后,我们提出了一套针对认证系统的五种普遍攻击,并说明区块链技术可以在很大程度上提高这些系统针对这些攻击的安全性。因此,作为正式论证的结果,我们认为上述问题的答案是肯定的。因为该领域过去一直没有以通用的方式进行调查,我们的工作在这方面具有新颖性和重要意义,并且是理解使用这种普及技术发挥其全部潜力的重要性的重要一步。

(1)      我们的结论

我们在本文中讨论的主要问题是,区块链技术是否可以增强用于认证的信任管理系统的安全性。 在对上述问题进行肯定回答的道路上,我们做出了一系列贡献。 即我们提出:

•用于认证的信任网络的图形理论模型以及如何在区块链中对其进行编码。

•分析针对信任网络的选定攻击,并通过区块链技术实现相应的防御。

•深入了解安全和分散式TM的未来发展方向。

(2)      论文组织结构

我们在第二部分以翻阅符号开始,并需要初步知识。然后,我们在第三部分展示我们的模型,然后在第四部分分析攻击和防御。最后,我们在第五部分讨论我们在这个领域的未来工作的愿景,并在第六部分总结。

2、 符号和preliminaries

在介绍我们的模型之前,我们介绍整个论文中使用的符号以及一些重要的背景信息。

符号 用于认证的TM系统是一个管理社会信任的数字表示的系统,以实现关于public-key-to-id绑定的决定。实体是参与系统的公钥。链是(多)图的有向边的路径。而且,a:= b表示a被定义为b对手用A表示

公钥密码学 公钥密码学是处理非对称密码系统的密码学领域。 它基于这样的概念,即每个实体都有一对密钥,一个公钥和一个私钥。实体的公钥可以用来加密只有相应密钥的拥有者才能解密的消息。此外,密钥的拥有者可以通过数字签名来验证消息,所有其他实体可以在了解公钥的情况下验证签名。

身份 牛津词典将身份(id)定义为“确定某人或某物是谁的特征”。 在数字世界中,与公钥相关的身份可以被认为是相应私钥持有者拥有的一组属性[16]。换句话说,密钥的持有者是谁或是什么。例如,在浏览网页的情况下,身份对应于绑定到公钥的域名和组织,而在电子邮件交换的情况下,身份对应于绑定到公钥的电子邮件地址和个人名称。身份可以与多个公钥相关联,因为一个人可能想要为不同的目的使用不同的密钥

区块链 区块链技术在[17]中与比特币一起引入,提供了一个开放,安全和分布式的交易总账(ODL)。随着技术的实现专注于实施货币系统并基于密码学原语,它们被称为加密货币。设计背后的基本思想是促进分散式共识,即使未知参与者网络也能够共同决定全球视图和交易订购。交易按块进行分组,并且在每一轮中,参与者被选择提出有效的块。选举机制在大多数情况下基于解决计算难题(工作证明),但其他方法如POS[18]已经提出。然后每个参与者检查提议的区块,如果该区块有效,则将其包含在区块链中。我们将不熟悉区块链技术的读者推荐给[19]以了解比特币和加密货币的概述。区块链的安全性在明确的假设下得到保证,涉及诚实和恶意用户的比例以及难题的难度。具体而言,假设比特币的安全性被多数诚实参与保证,另外还有足够的难度,以便解决它的平均时间比消息在网络中传播所需的时间少得多。有兴趣的读者可以参考[20]进一步阅读。在本文中,我们将区块链视为一个概率状态机,它在经过若干时间步后收敛,类似于[21]和[22]中的描述。所有实体都将区块链视为状态转换的追加历史记录

3、 用于身份验证的TM系统的模型

解决认证TM系统的常见安全问题需要采取一般方法。 先前尝试在其他背景下使用图论[23]或数学逻辑[24],[25]为TM系统建模。在本文中,我们选择使用图论这些系统的安全性进行建模和论证,因为这种表示是直观的并且可以支持关于节点的网络连接的参数。我们的表示与Maurer [26]的开创性工作及其扩展[27]兼容。我们首先定义模型的基本概念,然后考虑可能的对手的能力,最后通过使用OpenPGP和X.509实例化我们的模型来举例说明它的一般性。

(1)      模型

我们为认证建立一个TM系统,作为一个有向图顶点代表参与系统的实体,边代表信任关系实体被视为参与系统的公钥。 信任关系是任何TM系统的核心基本概念,并表达了委托人对受托人的信任。

定义 1 (信任关系):信任关系(TR)是一个序列(元组),<A,B,c,v,α,t>其中:

A是委托人,即表示对另一实体的信任的实体。

B是受托人,即由A表示的信托主体的实体。

c是关系的上下文,即关系所属类别的标识符以及相关信息。

v∈[0,1]是实际的信任值(由A分配给B)。在某些密码系统中,如X.509PKI,它隐含地假定为1或0,即完全信任或无信任。它可以采用多个离散值,例如OpenPGP的图2,一般情况下,它可以取任意连续或离散的值,在我们的模型中在区间[0,1]中被归一化。

α是一组密码伪像,通常是数字签名,用于确保关系的完整性和真实性。

t是一个逻辑时间组件,标记关系上次更新的时间。我们假设分布式系统中事件的部分排序[28],即时间t + i,i> 0的事件被认为发生在时间t的事件之后。

关于信任关系的上下文c,为了认证,两个上下文类通常是相关的。 首先,有效性的上下文类。 在该上下文类中,c包括一个身份,即一组属性,并且该信任关系表达A关于c中的身份与B的绑定的信念。 第二个相关的上下文类,认证者信任上下文类,表示B作为未知实体的认证者的可信度。 有可能A在有效性的情况下信任B,即她知道B的身份,但是她不信任B来认证其他实体。 因此,区分不同的信任环境是必要的。 信任关系还可以表示负信任信息,例如撤销密钥,例如, 秘密密钥丢失或实体的身份发生变化。 撤销信息由设置v = 0表示。 完全不确定性可以通过设置v = 0.5来模拟。

这篇关于Beyond the Hype: On Using Blockchains in Trust Management for Authentication(部分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/303208

相关文章

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

安装SQL2005后SQL Server Management Studio 没有出来的解决方案

一种情况,在安装 sqlServer2005 时 居然出现两个警告: 1 Com+ 目录要求 2 Edition change check 郁闷!网上说出现两个警告,是肯定装不成功的!我抱着侥幸的态度试了下,成功了。 安装成功后,正准备 “ 仅工具、联机丛书和示例(T)” 但是安装不了,他提示我“工作站组件”安装过了对现有组件无法更新或升级。 解决办法: 1 打开“控

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

VB和51单片机串口通信讲解(只针对VB部分)

标记:该篇文章全部搬自如下网址:http://www.crystalradio.cn/thread-321839-1-1.html,谢谢啦            里面关于中文接收的部分,大家可以好好学习下,题主也在研究中................... Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

node快速复制文件或文件夹,排除部分文件(node_modules)

const fs = require('fs')const path = require('path')/*** @description: 获取完整的文件路径* @param {*} url 路径* @return {*} 返回完整的文件路径*/const getPath = (url) => {return path.join(__dirname, url)}/*** @descr