面向文化资源可信共享的多因子身份认证方案

2023-11-19 06:52王苗苗芮兰兰徐思雅
通信学报 2023年10期
关键词:多因子账本分布式

王苗苗,芮兰兰,徐思雅

(北京邮电大学网络与交换技术国家重点实验室,北京 100876)

0 引言

随着中华民族的不断发展,中国文化越来越丰富多彩,文化资源数据日益庞大。根据现行的团体标准[1],文化资源数据是指对人类文化中传承下来并可以传播利用的文化进行数字化采集后,所得到的用于识别和展现文化的图像、文字、声音、动画、影片、三维全景、三维模型等数据。为保障共享文化资源的安全性,接入方的可信身份认证成为首要解决的问题。

计算机技术的发展日新月异,市场主体变得多元化,越来越多的市场主体构建了系统,其认证方式多种多样,有基于密码的认证、基于个人身份识别码(PIN,personal identification number)的认证、基于证书的认证等。这些认证信息均存储在各系统的服务器中,构成了认证信息孤岛,无法有效进行统一接入认证和信息流通[2]。在弱信任环境下,多元市场主体存量系统接入文化资源数据共享体系成本高,不同市场主体的安全等级不同,主体用户可信度差异大,文化资源数据共享体系难以对不同市场主体不同用户的身份进行安全可信管理,现有的身份认证方案无法基于异构身份进行统一身份认证。另外,对于新接入文化资源数据共享体系的用户,缺乏能够兼容存量系统用户身份的统一身份认证算法。

传统的单因子认证存在较高风险,恶意节点可以通过离线字典攻击获取用户密码等,容易造成数据泄露和身份冒充[3]。近年来,为了加强认证的安全性,有些系统采用了双因子认证方案,例如,银行柜员登录柜面系统时需要输入密码和指纹进行双重验证以确保银行资产的安全性。在欧盟,一些国家的数据保护部门已经建议使用多因子身份认证,作为遵守欧盟数据保护指令中“采取适当的技术和组织措施来保护个人数据”义务的一种手段[4]。身份认证因子可以分为三类:基于记忆的,如口令、安全问题等;基于持有物的,如数字证书、U 盾等;基于生物特征的,如指纹、声纹等。攻击者很难破坏所有认证因素,聚合多种认证因子验证接入者的身份,能够大幅提高身份认证的安全性和可靠性。身份认证方案的演变如图1 所示。

图1 身份认证方案的演变

目前,有些学者研究了基于多因子的身份认证方案。文献[5]研究了基于属性的多授权中心身份认证方案,采用基于属性的加密算法可以抵抗t-1个授权中心的合谋攻击,但该方案采用昂贵的双线性配对运算进行身份认证,降低了认证效率。文献[6]提出了一种用于车联网的轻量级多因子身份认证方案,采用物理不可克隆函数和一次性动态伪身份的组合作为身份验证因素实现身份认证,但该方案需采用防篡改设备,增加了认证成本。文献[7]提出了一种基于多因子认证的数据备份方案,通过组合存储在用户智能卡和笔记本电脑中的分段密钥重建密钥进行身份认证,也能通过密码和生物识别技术找回密钥,但该认证方案需要2 种额外的设备配合,成本较高。文献[8]设计了基于混沌映射的多因子认证密钥协商协议,通过扩展混沌映射算法和动态身份实现用户认证的匿名性,但该方案采用额外的移动存储设备,并且仅能通过密码和生物特征进行认证,成本较高且灵活性差。基于多因子的身份认证方案的研究对于提高接入者身份的安全性具有重要意义。然而,上述多因子认证方案均依赖可信第三方或智能设备等,存在数据集中泄露或智能设备被盗导致身份冒用的风险。并且,对于文化资源可信交互场景,如何复用存量系统的多因子认证信息进行统一接入认证还缺少具体方案。

区块链是一种分布式账本技术,具有去中心化、数据防篡改和交易可追溯等特点,适合解决信任问题[9]。采用分布式账本存储加密身份因子信息能够避免数据集中泄露和智能设备身份冒用的风险,同时,能降低采用智能设备产生的额外成本。考虑到不同存量系统的认证方式不同和单因子认证安全性差的问题,本文设计了基于区块链的多因子身份认证方案,利用分布式账本的分布性和不可篡改性存储多因子身份信息,解决存量系统多因子身份数据孤岛问题,保证身份信息的分布式可用性,结合轻量级的异或运算和非对称加密算法,聚合多因子身份信息认证文化资源系统接入方的身份,能够提升文化资源可信共享的安全性和效率。

本文主要的贡献如下。

1) 提出基于区块链的多因子认证架构,该架构能够兼容存量系统的多因子认证信息,降低存量系统的接入成本。分布式账本的不可篡改性和分布性能够保障多因子身份信息的真实性和可用性,为文化资源可信共享提供异构数字身份认证基础。

2) 设计轻量级的多因子身份认证方案,利用非对称加密算法和异或运算聚合多因子身份信息实现快速的身份认证,不局限于某一个或几个特定的身份因子,提高了身份认证的灵活性、安全性和效率。

3) 对所提方案进行BAN 逻辑安全分析和仿真实验,结果表明该方案具有良好的安全性和较高的认证效率。

1 预备知识

1.1 区块链

2008 年,Nakamoto[10]提出了点到点(P2P,peer-to-peer)网络解决方案,即区块链技术。区块链是一种分布式账本技术,用于转移所有权、保存交易记录、跟踪资产等,通过共识算法确保各类交易的透明度、信任度和安全性[11]。智能合约是一种执行合约条款的计算机交易协议,它是区块链2.0的代表性技术,允许无第三方的可信交易,交易可追溯且不可逆。区块链分为公有链、私有链和联盟链,公有链是指任何个人或组织都能发送交易或参与交易共识的区块链;私有链是指其写入权利由个人或组织独享的区块链,具有更快的交易速度和更高的隐私性;联盟链是介于公有链和私有链之间的一种区块链,针对某些特定成员,区块的生成由预选节点共同决定。

区块链已广泛用于众多领域,可提供更高的安全保障[12]。

1.2 模糊提取器

2004 年,Dodis、Reyzin 和Smith[13]首次提出了模糊提取器(FE,fuzzy extractor),用于提取随机源中均匀分布的随机字符串。模糊提取器能够将有噪声的随机源转化成均匀随机的字符串,并且精确再生,这使其可以应用于人类生物特征提取中。人类的生物特征包括指纹、声纹、虹膜、人脸等,每次读取的生物特征会有一些偏差,通过模糊提取器还原生物特征,能够将生物特征用于身份认证。

模糊提取器包括生成算法Gen 和再生算法Rep,可表示为FE=(Gen,Rep),如图2 所示。Gen输入生物特征的一次采样字符串w,输出一个字符串R和一个帮助字符串P。Rep 输入生物特征的另一次采样字符串w' 和Gen 的帮助字符串P,输出一个字符串R' 。FE 的正确性要求是如果两次采样w和w'的距离足够近,那么R=R',安全性要求是如果生物特征有足够多的熵,那么R是均匀随机的。

图2 模糊提取器

2 系统概况

2.1 系统模型

当用户需要访问文化资源服务时,必须先进行身份认证。基于区块链的多因子身份认证架构如图3所示,主要由四部分组成,分别为注册中心(RA,registration authority)服务器、区块链、存量系统和用户。

图3 基于区块链的多因子身份认证架构

1) RA 服务器。RA 服务器作为认证系统的核心角色,是完全可信的,负责系统初始化、用户身份注册、用户身份认证等功能。RA 服务器仅负责身份认证相关的计算工作,不存储用户的密钥和身份信息。

2) 区块链。该方案采用联盟区块链,由文化资源数据中心、监管机构等权威机构节点维护。分布式账本用来存储系统参数、用户分布式身份标识(DID,distributed identifier)、用户公钥和用户多因子身份信息的哈希值等,这些信息不会暴露用户的隐私。分布式账本的不可篡改性能够保证身份信息的真实性,其分布性也提高了身份信息的可用性。

3) 存量系统。存量系统是指多元市场主体已构建的系统,它们拥有自己的用户,在认证系统初始化时可以将存量系统中的用户身份信息导入分布式账本,以方便存量系统用户访问文化资源服务。

4) 用户。用户是指需要访问文化资源服务的实体,分为存量系统用户和普通用户。经过系统初始化后,存量系统用户可以直接使用原有的身份信息进行身份认证,普通用户在身份认证前需要先进行身份注册。用户客户端程序具有身份注册和生成可验证凭证(VP,verifiable presentation)功能。注册身份信息并通过身份认证的用户才能访问文化资源服务。

2.2 数据模型

多因子身份数据模型是实现多因子身份认证的基础,利用身份管理智能合约在链上聚合异构数字身份,构建具有兼容性的身份统一管理模型,能够降低认证系统改造迁移的建设成本[14]。身份数据模型如图4 所示,其中,DID 是用户信息的身份标识,由标识(如“did”)、组织(如“bupt”)、标识字符串(如“2020010123”)组成,该身份标识具有全球唯一性。公钥为用户的公钥信息,身份信息表示用户的多种身份因子,如口令、指纹、证书等。为兼容存量系统的多种身份因子信息,并确保身份因子的机密性,以JSON(JavaScript object notation)格式存储身份因子的类型及其哈希值。身份数据模型以DID 为账本ID,公钥和身份信息为账本值,通过智能合约发布到分布式账本中。

图4 身份数据模型

2.3 威胁模型

考虑到所提方案的安全性,本文使用了著名的Dolev Yao 对手模型[15],威胁模型描述如下,本文将在第4 节对其进行分析。

1) 对手可以在网络中重复传输与身份验证相关的数据。

2) 对手可以窃取与身份验证相关的数据。

3) 对手可以篡改与身份验证相关的数据。

2.4 设计目标

面向文化资源可信共享需求,身份认证方案应该满足以下设计目标。

1) 身份认证方案应兼容存量系统,复用已有的身份因子信息,降低存量系统用户接入成本。

2) 身份认证方案应实现多因子认证,避免单因子认证造成的数据泄露和身份冒用,提高身份认证的安全性。

3) 身份认证方案应具备灵活性,不局限于某一个或几个特定的身份认证因子。

4) 身份认证方案应能够抵御常见的攻击,具备较高的安全性。

5) 身份认证方案应具备高效性,通过轻量级的计算开销和通信开销提高身份认证效率。

3 多因子身份认证方案

多因子身份认证方案共分为5 个阶段,分别为系统初始化、身份注册、身份认证、身份因子更新、身份因子撤销,方案涉及的符号如表1 所示。

表1 方案涉及的符号

3.1 系统初始化

在身份注册和身份认证之前需要先进行系统初始化,初始化工作由RA 服务器负责。方案中的加解密操作采用RSA 算法,首先,RA 服务器任意选择2 个不同的大素数p和q,计算得到n=pq,φ(n)=(p-1)(q-1),选择一个大整数e满足gcd(e,φ(n))=1。然后,计算解密密钥d,满足demodφ(n)=1,确定 RA 服务器的私钥为SKRA={n,d},公钥为PKRA={n,e}。接下来,选择安全的哈希函数H0:{0,1}*。最后,将公开初始化参数 Params={{n,e},H0}发布到分布式账本,SKRA由RA 服务器保存在本地,模糊提取器由RA服务器参照文献[16]实现。

系统参数初始化之后还需要将存量系统中的身份认证信息同步到分布式账本,以复用存量多因子认证信息。多因子身份认证平台仅对存量系统做出整体要求,存量系统中用户的选择由存量系统决定,可以是申请访问文化资源平台的用户,也可以是信誉值高且申请访问文化资源平台的用户。根据存量系统的安全等级的不同,多因子身份认证平台要求其同步不同种类和数量的身份因子信息,例如,在初始化时,安全等级高的存量系统仅需同步用户的一种基于记忆的身份因子和一种基于生物特征的身份因子到分布式账本中,而安全等级低的存量系统同步用户的一种基于记忆的身份因子、一种基于生物特征的身份因子和一种基于持有物的身份因子到分布式账本中。存量系统首先构建用户DID,并将数据库中用户的身份信息和公钥以文件的形式安全地发送给RA 服务器。RA 服务器收到用户批量身份数据信息后,首先,将生物特征信息采用模糊提取器提取生物特征,保存用户DID 和帮助字符串P的关联信息,并对全部身份信息进行哈希运算,构建身份数据模型;最后,将其发布到分布式账本,完成存量系统用户身份信息的初始化。

3.2 身份注册

对于一般用户来说,身份认证之前需要进行身份注册,注册算法如下。

1) 用户构建DID,并在本地生成公私钥对PKU和SKU,查询RA 服务器公钥,使用其对自己的公钥进行签名得到σk=sign(PKU,PKRA),接着,向RA服务器发送身份注册请求register: {DID,σk,info}。

2) RA 服务器收到注册请求后,首先查询分布式账本以确保该DID 未进行身份注册,并使用自己的私钥解密得到用户公钥 PKU=verify(σk,SKRA);随后,生成随机数N,使用用户公钥签名随机数得到σN=sign(N,PKU),根据DID 的组织类型判断其需要录入的身份因素种类和最小数量,然后将σN和多因子身份认证需求返回给用户。

3) 用户使用自己的私钥验证收到的σN得到N=verify(σN,SKU),并使用自己的私钥对N进行签名得到σN=sign(N,SKU),获取当前的时间戳TS,使用自己的私钥对时间戳签名得到σT=sign(TS,SKU)。然后,根据需求录入多个身份认证因子 {f1,f2,…},使用私钥对多个身份因子签名得到σ1=sign(f1,SKU),σ2=sign(f2,SKU)。最后,将多个签名值 {DID,σN,σT,σ1,σ2,…} 发送给RA 服务器。

4) RA 服务器收到签名后使用用户的公钥分别对其进行验证得到N'、TS'、f1、f2。首先,比较N'与之前自己生成的N是否相等,若相等,则获取当前的时间戳TS,计算并判断TS-TS'≤ΔT是否成立,若成立,则说明该身份信息在有效时间内。然后,查验身份信息是否满足要求。若满足要求,则通过模糊提取器对用户的生物信息进行特征提取作为该身份因子的特征,并保存用户DID 与帮助字符串P的关联信息,计算全部身份因子的哈希值,将 {DID,PKU,H0(f1),H0(f2),…} 发布到分布式账本中,将结果返回给用户。

3.3 身份认证

用户访问文化资源服务时需要先通过身份认证。身份认证流程如图5 所示,算法如下。

1) 用户首先向RA 服务器发送自己的DIDU并请求身份认证。

2) RA 服务器验证用户DIDU存在后从分布式账本查询用户的公钥、身份信息和哈希函数H0,根据DIDU的组织类型确定其需要认证的身份因子种类和数量,并生成随机混淆值S,使用自己的私钥对其签名,再使用用户公钥对签名值加密得到σS=sign(sign(S,SKRA),PKU),并将身份认证因子要求和σS返回给用户。

3) 用户收到上述参数后,首先从分布式账本查询RA 服务器的公钥和哈希函数H0,先使用自己的私钥解密σS,再使用RA 服务器的公钥对其验证,得到混淆值S=verify(verify(σS,SKU),PKRA)。然后,获取当前时间戳TS,并计算时间戳签名σT=sign(TS,SKU)。接着,录入身份信息,如f1、f2,计算 VP={DIDU,f=(f1||f2) ⊕H0(S),σT}。最后,将VP 发送给RA 服务器进行身份认证。

4) RA 服务器收到VP 后,首先使用用户的公钥验证时间戳签名得到TS'=verify(σT,PKU),并获取当前时间戳TS,判断TS-TS'≤ΔT,若成立,则说明认证信息在有效时间内。然后,通过异或运算得到身份信息 (f1||f2)=f⊕H0(S),若f1、f2中存在生物信息,则RA 服务器从本地数据库中查询其帮助字符串PU,通过模糊提取器的再生算法和PU重新生成生物特征,并计算H0(f1)、H0(f2),与查询到的分布式账本中身份信息哈希值进行比较,若相等且符合认证因子要求,则身份认证通过,允许用户访问文化资源服务。

在身份认证过程中,RA 服务器根据用户DID 的组织类型给出用户需要验证的身份因子种类和数量,而不限定于某几个特定的身份因子,例如,一种基于记忆的身份因子和2 种基于生物特征的身份因子。用户可以选择密码或安全问题等基于记忆的身份因子,再选择录入2 个基于生物特征的身份信息,如指纹、人脸、虹膜等。这种认证方式相较于基于智能卡等特定身份因子认证具有一定的灵活性。

3.4 身份因子更新

用户的某个身份因子泄露后可以对其进行更新,以用户更新身份因子f1为例,更新算法如下。

1) 用户首先录入已有的身份因子f1和更新后的身份因子f1'。然后,使用RA 服务器的公钥对2 个身份因子加密,再使用自己的私钥对其签名得到σf=sign(sign(f1||f1',PKRA),SKU)。接着,获取当前的时间戳TS,并计算σT=sign(TS,SKU)。最后,向RA 服务器发送身份因子更新请求 update:{DIDU,σf,σT}。

2) RA 服务器收到请求后,首先验证DIDU存在并获取其公钥。然后,获取当前时间戳TS,并使用其公钥和自己的私钥对收到的签名进行验证,得到 (f1||f1')=verify(verify(σf,PKU),SKRA),使用用户的公钥验证签名得到TS'=verify(σT,PKU)。判断TS-TS'≤ΔT是否成立,若成立,则说明更新请求在有效时间内。若f1中为生物信息,则RA 服务器从本地数据库中查询其帮助字符串PU1,通过模糊提取器的再生算法和PU1重新生成生物特征,并计算H0(f1),将其与分布式账本中的H0(f1)进行比较,若相等,则将分布式账本中H0(f1)的信息更新为H0(),并将更新结果返回给用户。

3.5 身份因子撤销

用户决定不再使用某个身份因子后可以对其进行撤销,以用户撤销身份因子f1为例,撤销算法如下。

1) 用户首先录入身份因子f1。然后,使用RA服务器的公钥对身份因子加密,使用自己的私钥对其签名得到σf=sign(sign(f1,PKRA),SKU)。接着,获取当前的时间戳TS,并计算σT=sign(TS,SKU)。最后,向RA 服务器发送身份因子撤销请求revoke:{DIDU,σf,σT}。

2) RA 服务器收到请求后,首先验证DIDU存在并获取其公钥。接着,获取当前时间戳TS,使用其公钥和自己的私钥对收到的签名进行验证,得到f1=verify(verify(σf,PKU),SKRA),使用用户的公钥验证签名得到TS'=verify(σT,PKU)。计算并判断TS-TS'≤ΔT是否成立,若成立,则说明撤销请求在有效时间内。若f1为生物信息,则RA 服务器从本地数据库中查询其帮助字符串PU1,通过模糊提取器的再生算法和PU1重新生成生物特征f1,计算H0(f1),将其与分布式账本中的H0(f1)进行比较,若相等,则将撤销分布式账本中H0(f1)的信息,并将撤销结果返回给用户。

4 安全分析

4.1 BAN 逻辑安全分析

BAN 逻辑是Burrows、Abadi 和Needham[17]在1989 年提出的一种基于信念的模态逻辑,通常用于分析协议是否能够达到预期目标。BAN 逻辑中使用的符号如表2 所示,逻辑规则如表3 所示。以用户U需要验证身份信息f1、f2为例,本节使用BAN逻辑对所提身份认证方案进行安全分析。

表3 BAN 逻辑规则

表4 方案计算开销

1) 安全目标。所提身份认证方案能够认证身份信息f1、f2是用户的有效身份信息,因此,安全目标为

2) 理想化。所提身份认证方案主要包括用户和RA 服务器进行信息交互、用户和RA 服务器分别向分布式账本查询信息。消息的理想化为

3) 假设。用户和RA 服务器分别拥有自己的私钥,且无法被他人获取。鉴于分布式账本的不可篡改性,本文认为用户和RA 服务器从分布式账本中查询到的信息都是可靠的,即根据消息I2 和I4,有假设A3、A4、A13 和A14。根据所提身份认证方案做出如下假设。

4) 分析。基于上述理想化和假设,对所提身份认证方案分析如下。

从假设A5、A6、A7,可以得到消息I3。

从推演D9 可以看出,安全目标已经实现,完成了RA 服务器对用户U的多因子身份验证。

4.2 非正式安全分析

本节从重放攻击、窃听攻击、伪装攻击和分布式拒绝服务(DDoS,distributed denial of service)攻击4 个方面对第2 节提出的威胁模型进行非正式的安全分析。

1) 重放攻击。重放攻击是指对手向目的方发送重复包以欺骗系统。这是第一个威胁模型假设,对手向RA 服务器发送重复的VP,意图通过该VP 进行身份认证以非法访问文化资源服务。在本文认证方案中,用户生成VP 时,首先获取当前时间戳,并使用自己的私钥对其签名。RA 服务器收到VP后,先验证用户的签名,并将收到的时间戳与当前的时间戳进行对比,若发现其无法通过验证或已过期,则拒绝通过该VP 进行身份认证,因此,重放攻击失败。

2) 窃听攻击。窃听攻击是指对手企图在网络交互中窃取隐私信息。这是第二个威胁模型假设,对手窃听用户和RA 服务器之间的交互信息。在本文认证方案中,用户和RA 服务器进行了3 次交互,分别为DIDU、σS和VP,这些信息均为非隐私信息或者需要用户私钥解密才能获取的有效信息,且无法从中推断用户隐私信息。因此,本文认证方案能够抵抗窃听攻击。

3) 伪装攻击。伪装攻击是指对手以虚假的身份获取目标系统的访问权限。这是第三个威胁模型假设,对手采用虚假的VP 向RA 服务器进行身份认证。在本文认证方案中,对手没有用户的私钥,无法对签名σS进行验证从而获取混淆值S,同时,也无法伪造用户对当前时间戳TS 的签名,进而无法生成可用的VP。因此,本文认证方案能够抵抗伪装攻击。

4) DDoS 攻击。DDoS 是指多个攻击者同时攻击一个或多个目标,或者一个攻击者控制多台机器同时攻击受害者[18-19]。区块链具有分布式的特点,节点保存区块链的完整账本。当少于三分之一的节点无法工作时,分布式账本的使用不会受到影响,RA 服务器仍然可以访问账本中的信息进行身份认证。当被攻击的节点恢复正常时,它可以从其他正常节点检索整个账本的信息,并再次成为具有认证功能的正常节点。因此,所提身份认证方案能够抵抗DDoS 攻击。

5 仿真实验与分析

5.1 仿真环境

仿真程序部署在Ubuntu 18.04(64 位)虚拟系统上,其物理机的配置为Intel® Core™ i5-10400 CPU@2.90 GHz 处理器和16 GB RAM。

5.2 性能分析

为了分析所提方案的性能,本节从身份注册、身份认证、身份因子更新和身份因子撤销4 个方面分析其计算开销。每个模块均涉及用户端和RA 服务器端的计算,分析结果如表 4 所示,其中TA≈ 0.003 ms、Th≈ 0.000 3 ms、TB≈ 0.92 ms分别表示非对称加解密运算、哈希运算和生物特征提取算法的运行时间,p为身份因子的个数,q为基于生物特征的身份因子的个数。根据实际的多因子认证场景分析,通常p取值为2 或3,q取值为0、1、2 或3,本文中p取值为2.5,q取值为1。认证方案计算时延如图6所示,各模块的计算时延均在1~1.2 ms,性能较好。

图6 认证方案计算时延

5.3 区块链仿真分析

本文采用Hyperledger Fabric 区块链平台构建异构数字身份模型,在上述仿真环境中搭建了Fabric 2.3 系统,通过智能合约实现数字身份的发布和查询等功能。为全面测试多因子身份认证的效率,本文设置了2 种不同的虚拟机配置,配置1 采用2 核CPU、4 GB 内存,配置2 采用4 核CPU、8 GB 内存,数字身份信息查询时延如图7 所示。同一配置下,不同并发数的数字身份信息查询时延区别较小,而配置2环境下的查询时延明显低于配置1环境下的查询时延,约为2 ms。可见,提高区块链环境配置可以提升数字身份信息的查询效率。本文的仿真实验受到实验环境的限制,在实际的应用中,可以搭建环境配置较高的区块链平台以满足身份认证性能要求。

图7 数字身份信息查询时延

5.4 安全仿真分析

本文采用AVISPA 工具进行安全仿真,在上述物理机中部署了SPAN1.6 程序。AVISPA 是用于建立安全协议模型和分析安全协议的工具,融合了4 种不同的分析终端:OFMC、ATSE、SATMC 和TA4SP,采用HLPSL(high level protocol specification language)建立安全协议的分析模型,可以通过协议模拟、入侵者模拟和攻击模拟来检测安全协议是否达到预期的安全目标[20]。

本文将所提多因子身份认证方案转换为由HLPSL 建立的分析模型。由于该方案中涉及异或操作,因此,本文采用支持异或操作的OFMC 终端和ATSE 终端进行安全仿真分析,结果如图8 和图9所示。安全仿真分析结果表明,所提多因子身份认证方案是安全的。

图8 基于OFMC 终端的AVISPA 安全仿真分析结果

图9 基于ATSE 终端的AVISPA 安全仿真分析结果

5.5 方案对比分析

为全面分析方案性能,本节从计算时延、通信开销和安全性等方面将所提方案与已有多因子认证方案IoMT 方案[21]、LMAAS-IoT 方案[22]、SELAMAT方案[23]、AV5G 方案[24]、IoD 方案[25]进行对比分析。

身份认证算法的计算时延和通信开销对认证效率具有重大影响,本节将所提方案和上述多因子认证方案进行对比分析,结果如表5 所示。其中,Tecc、Tpuf、Tbp、TS分别表示椭圆曲线标量点乘运算、物理不可克隆算法、双线性配对运算和对称加解密运算的运行时间,在上述实验环境下,Tecc≈ 0.003 ms,Tpuf≈ 0.12 ms,Tbp≈ 4.2 ms,TS≈ 0.016 ms。不同方案的认证计算时延和通信开销对比如图10 和图11所示。在计算时延方面,所提方案与IoMT 方案、LMAAS-IoT 方案、AV5G 方案、IoD 方案的计算时延均为1 ms 左右,明显低于SELAMAT 方案。在通信开销方面,所提方案认证过程中涉及的通信信息为2 次DID、2 个签名和一个身份信息,共512 bit,小于其他几种方案。综合来说,所提方案在计算开销和通信开销方面具有优势。

表5 计算时延和通信开销对比分析

图10 认证方案计算时延对比

图11 认证方案通信开销对比

安全性是身份认证系统中最基本的需求,本节将所提方案与上述多因子身份认证方案进行了安全性对比分析。表6 给出了几种常见的安全性对比分析结果,前5 种方案均基于哈希运算和智能卡等用户设备实现,认证信息加密后存储在智能设备中,一旦设备丢失将无法实现身份认证,而所提方案基于区块链技术实现,存储身份因子的分布式账本具有分布性使其能够抵御分布式拒绝服务攻击。前5 种方案均将全部身份因子联合加密后写入智能设备,身份认证时必须输入全部的身份因子,并且部分方案未能实现身份的更新或撤销。而所提方案的身份因子独立存储在分布式账本中,可以灵活地根据文化资源共享系统接入者的所在组织选择其中的某几种身份因子进行认证。综合来说,所提方案安全性更强。

表6 安全性对比分析

6 结束语

本文提出了面向文化资源可信共享的多因子身份认证方案。该方案能够兼容存量系统中的多种身份因子,解决了多元市场主体存量系统接入成本高的问题。并且该方案基于分布式账本构建异构数字身份数据模型,为多因子身份认证方案提供基础身份数据。多因子认证算法包括系统初始化、身份注册、身份认证、身份因子更新和身份因子撤销,利用非对称加密算法和异或运算实现了快速多因子身份认证,提高了多因子身份认证的灵活性,避免了单因子认证的安全风险。安全分析和仿真结果表明,该方案具有较高的安全性和认证效率。

另外,该方案不仅适用于文化资源可信共享场景,还能扩展应用于智能医疗、工业物联网等领域,实现基于多因子的身份认证,提升敏感信息可信共享的安全性和效率。

猜你喜欢
多因子账本分布式
基于BP神经网络的多因子洪水分类研究
基于打分法的多因子量化选股策略研究
数说:重庆70年“账本”展示
丢失的红色账本
大树爷爷的账本
丢失的红色账本
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于多因子的ZigBee安全认证机制
基于DDS的分布式三维协同仿真研究