APP下载

网络身份认证中隐私计算技术应用初探

2022-09-05蒋才平李景华郭小波

信息安全研究 2022年9期
关键词:口令密钥密码

蒋才平 亢 洋 李景华 郭小波 田 青

(公安部第一研究所 北京 100048)

(多维身份识别与可信认证技术国家工程研究中心 北京 100048)

(Jiang_caiping@126.com)

1 隐私计算概述

隐私计算技术起源于图灵奖得主姚期智院士在1982年提出的“百万富翁”问题,姚期智院士据此提出“安全多方计算”(secure multiparty computation, SMPC)概念,并于1986年提出基于混淆电路的安全多方计算解决方案,开启了隐私计算研究的先河.随着研究的广泛和深入,除混淆电路外,秘密共享、同态加密、零知识证明等多种基础安全保护技术也逐步用于隐私计算.2021年,中国信息通信研究院发布《隐私计算白皮书(2021年)》[1],对当前隐私计算的技术体系进行了总结,如图1所示:

图1 隐私计算技术体系

对于什么是隐私计算业界尚无统一定义.联合国全球大数据工作组将隐私计算技术定义为在处理和分析数据的过程中,能保持数据的加密状态、确保数据不会被计算方以及其他非授权方获取的技术[2];中国信息通信研究院发布的《隐私计算白皮书(2021年)》将隐私计算定义为在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一系列信息技术,保障数据在流通与融合过程中的“可用不可见”[1];《腾讯隐私计算白皮书2021》将隐私计算定义为一种由2个或多个参与方联合计算的技术和系统,参与方在不泄露各自数据的前提下通过协作对其数据进行联合机器学习和联合分析[3].

目前隐私计算的应用主要集中在大数据领域.隐私计算不仅可以应用到大数据领域,在特定小数据和特定专业领域同样可以发挥关键作用[4].本文探讨隐私计算技术在网络身份认证中的应用就属于特定专业领域的小数据应用场景.

本文认为隐私计算是一种在有效保护敏感信息的前提下正确实现计算目标的计算范式.大数据也好,小数据也罢,凡能有效实现计算目标、又具备良好隐私保护效果的技术都应属于隐私计算的范畴.本文使用现有基础安全保护技术探讨网络身份认证中的隐私计算问题的同时,也尝试探索实现隐私计算的新路径和新方法.

2 网络身份认证

2.1 关于网络身份认证

身份认证有时也称为身份鉴别、身份验证或身份鉴权,本文以“身份认证”的表达为主.为保持与相关文献的一致性,个别地方也会沿用“身份鉴别”的表达.对于身份认证,大致可以理解为认证方通过一定手段完成对被认证方(通常为系统的用户)身份确认的过程.身份认证的核心目的在于,确认当前声称是某种身份的用户确实是其所声称的用户,即确保用户真实身份与其所声称的身份一致.

常规意义上的身份认证呈现线下与线上2种场景模式.早期主要为线下身份认证,随着信息系统和网络技术的迅猛发展,当前主要指线上身份认证,也称网络身份认证,即客户端与服务端之间通过网络实施身份认证.网络身份认证的认证对象(即被认证方)既可以是人,也可以是设备或物体,甚至是抽象、虚拟的事物(如进程、会话过程、数据等)[5].本文重点聚焦针对人的网络身份认证,其基本原理和主要概念对于线下身份认证及其他网络身份认证也大致适用.

2.2 网络身份认证体系架构与信任关系

2.2.1 网络身份认证体系架构

仅从身份认证的概念出发很容易将网络身份认证理解为仅限于认证方和被认证方之间的互动行为,如图2所示.这种认知很容易忽视很多重要信息,对深入全面地正确理解身份认证形成障碍.

图2 身份认证两方体系架构

为实现可信认证用户身份的目标,需要构建如图3所示的网络身份认证五方体系架构[6].其中,虚线代表实体间的逻辑连接关系,可以是直接通信,也可以是通过第三方间接通信.

图3 网络身份认证五方体系架构

完整的网络身份认证体系通常包含用户、身份签发方、身份认证方、身份依赖方(即业务系统)和监督管理方5个相对独立的相关方[7].其中,监督管理方是相关法律法规、政策制度、标准规范的制定者,也是实施指导、监督管理方的总称,监管范围覆盖其他所有各方.通常将网络身份认证体系划分为身份签发和身份认证2个环节,各方之间关联关系及各环节相关流程如图3所示.

网络身份认证体系架构也称为身份认证的基础设施,意在突出强调体系架构之于身份认证的重要性和必要性.身份认证虽然发生在认证方和被认证方之间,但仅依赖这两方无法实现正确、可靠、符合预期的身份认证结果,因为用户、身份签发方、身份认证方和身份依赖方之间存在复杂的依赖和信任关系.

2.2.2 网络身份认证信任关系

网络身份认证体系正常运转需满足以下信任假设:第一,身份依赖方无条件信任身份认证方所作出的认证断言;第二,用户、身份认证方和身份依赖方均高度信任身份签发方,认为身份签发方在身份签发环节的相关操作是诚信、严谨和权威的,从而在身份认证环节认可身份签发方确定的认证方法,依赖和使用身份签发方在身份签发环节采集和留存的相关数据;第三,通常所说的身份认证是身份认证方对用户的单向认证,在认证成功前身份认证方和身份依赖方对用户持怀疑态度,认证通过后转化为信任.因用户和身份认证方采取双向认证模式的场景较少,这里不作重点讨论.

从上述信任假设可以看出,整个体系中,身份签发方和身份认证方不同程度承担其他方的信任依赖,因此通常由具备较高权威性的机构承担,最好具备主管部门的认可和授权并依规接受监督管理.

2.3 网络身份认证中隐私计算分级方法

本文从隐私计算视角探讨网络身份认证系统中用户核心敏感信息的保护问题.网络身份认证系统中的用户核心敏感信息主要指用户赖以证明自身身份的关键数据,如口令、生物特征信息、密钥等.身份签发方通常具备较高的权威性、可信度和安全保障能力,适度留存必要的涉隐私数据和核心敏感信息的风险相对较低.与身份签发方相比,身份依赖方和身份认证方的权威性、可信度和安全保障能力较低,如钓鱼网站就属于非法、恶意的身份依赖方和身份认证方.由此可见,身份认证环节存在的侵害隐私风险要高于身份签发环节,关注和强化身份认证环节的隐私保护问题更为必要和迫切.

如表1所示,网络身份认证中的隐私计算可划分为2个等级:一是按照隐私计算思想和原则设计身份认证机制,在不分享和泄露用户核心敏感信息的前提下实现身份认证计算目标,将此定义为基本型隐私计算身份认证机制;二是在实现基本型隐私计算身份认证机制的前提下,同时满足不在身份签发环节留存用户身份认证核心敏感信息的要求,将此定义为增强型隐私计算身份认证机制.除此之外,无法在不分享和泄露用户身份认证核心敏感信息前提下实现身份认证计算目标的情形,统一定义为非隐私计算身份认证机制.

表1 网络身份认证中隐私计算分级方法

3 隐私计算在网络身份认证中的应用

根据认证对象的不同,网络身份认证可以采用多种不同的认证方法实现.以人为对象的网络身份认证主要通过以下3种途径实现:1)核实个人所知晓或掌握的知识(what you know),即通常所说的口令认证.这里主要指静态口令认证,动态口令的认证逻辑相对复杂,本文不作重点讨论.2)核实个人所拥有的特定物品(what you have).这里所说的特定物品可以是身份证、护照等传统身份凭证,也可以是U盾和智能IC卡形态的智能密码钥匙等.3)核实个人生物特征(what you are).个人生物特征包括人脸、指纹、掌纹、声纹、DNA、视网膜等.对于一般业务场景,只需1种认证手段即可较高可信度地确认对方身份,如单独使用口令(常用于登录网站)、人脸/指纹(常用于登录电脑和门禁设备)、U盾(常用于网络金融业务)等,这类认证称为单因子认证.对于安全性要求较高的特殊应用领域,如涉及资金交易时还可能要求同时通过多种认证手段,如使用口令的同时刷脸或使用U盾,这类认证称为多因子认证.

本文根据上述3种实现途径,从基于智能密码钥匙的身份认证、基于静态口令的身份认证和基于生物特征的身份认证3个方面,探讨如何将隐私计算思想和技术应用于网络身份认证.

3.1 基于智能密码钥匙的身份认证

3.1.1 基于智能密码钥匙的身份认证机制的隐私计算等级分析

智能密码钥匙的功能是安全存储用户私有密钥和进行密码运算,因此,基于智能密码钥匙的身份认证本质上就是基于密码的身份认证[8].当前业界存在的基于密码的身份认证机制种类和数量繁多,很难通过统一而简单的方式阐述.国家标准GB/T 15843《信息技术 安全技术 实体鉴别》对20余种主流常用的基于密码的身份认证机制进行了标准化.表2所列的6种鉴别/认证机制采用“挑战-响应”认证方法,是常用和典型的认证方法且符合本文设定的认证场景,本文以此6种认证机制为例讨论隐私计算分级.

表2 GB/T 15843中6种常用的基于密码的身份认证机制

采用“挑战-响应”认证方法的单向身份认证机制中,被认证方使用仅受其控制的认证密钥对挑战数实施正确的密码运算,以表明其真实拥有该认证密钥的控制权,从而向认证方间接证明其身份.单次传递鉴别与两次传递鉴别的主要差别在于,前者约定以时间戳或特定序列号作为挑战数,后者强调必须用认证方产生的随机数充当挑战数.

从隐私计算视角看,基于密码的身份认证重点保护的核心敏感信息就是用来证明被认证方身份的认证密钥.根据GB/T 15843,基于密码的身份认证机制要求认证方与被认证方预先共享1个秘密认证密钥,但未对密钥产生和分发方式作出具体规定.为便于分析,本文作出如下合理假设:1)对称密钥均由身份签发方产生,并通过安全方式分发给身份认证方和用户;2)非对称密钥均由用户产生,私钥仅由用户私密控制,公钥提交给身份签发方,再由身份签发方发布/分发给身份认证方.

结合上述条件,根据2.3节进行分析不难发现,采用对称加密算法、不涉及可信第三方的单次/两次传递单向认证机制和采用密码校验函数的单次/两次传递单向认证机制均需要在身份签发环节留存身份认证核心敏感信息,且需要分享给身份认证方,显然属于非隐私计算身份认证机制;采用数字签名技术、不涉及可信第三方的单次/两次传递单向认证机制则属于增强型隐私计算机制.具体如表3所示:

表3 6种常用基于密码的身份认证机制的隐私计算分级

3.1.2 基于智能密码钥匙的身份认证机制的改进

对于“密钥持有”的一般泛化理解是默认密钥持有者拥有该密钥的全部控制权,即可以使用该密钥执行各种可能的运算和操作,这里称之为“全权持有密钥”.由3.1.1节可知,采用对称加密算法和密码校验函数的身份认证机制中,身份认证方、被认证方与用户共享秘密认证密钥,成为秘密认证密钥的共同持有者,“密钥持有”即 “全权持有密钥”的条件下,默认身份认证方、被认证方与用户共同拥有该认证密钥的控制权.现实场景中,“全权持有密钥”并非普遍存在,通常仅限于密码体系最顶层的密钥管理者或管理机构,其他密钥应用层虽然也持有和使用密码设备,但实际都受到不同程度的限制.例如,很多人持有的智能芯片银行卡、社保卡、U盾等均载有各自业务相关的密钥,这些密钥载体逻辑上归持有者保管和控制,持有者原则上确实拥有相应密钥的控制权,但他们很少关注密钥的存在,更不用提对密钥的管理和运算了.现实中密钥持有者对密钥的控制支配能力是受诸多规则和条件限制的,这里称之为“限权持有密钥”.

基于对“限权持有密钥”的理解,针对特定系统可以制定“定制化限权持有密钥”方案,以在达成计算目标的同时满足隐私计算的要求.以采用对称加密算法、不涉及可信第三方的两次传递单向认证机制为例,通过对身份认证方持有的密码设备及密钥使用权限进行恰当的限制性设计,可以在满足身份认证功能需求的同时,确保密钥不被身份认证方用于除验证被认证方身份之外的其他目的.该机制关键核心要点包括:1)认证基础协议遵循GB/T 15843.2 6.2.2要求;2)身份认证使用的密钥统一由身份签发方生成和管理,其他参与方均信任身份签发方的权威性;3)智能密码钥匙作为用户认证密钥存储和计算载体,所承载的认证密钥由身份签发方在身份签发环节写入,仅对外开放和接受挑战数请求、返回响应有关的接口和指令;4)身份认证方部署专用密码硬件设备,密钥必须在身份签发方控制下导入,仅面向认证方提供挑战生成和响应验证功能,禁止任何直接或间接的加解密调用.

根据2.3节,上述改进后的采用对称加密算法、不涉及可信第三方的两次传递单向认证机制提升为基本型隐私计算身份认证机制.基于类似原理,采用对称加密算法、不涉及可信第三方的单次传递单向认证机制,以及采用密码校验函数的单次/两次传递单向认证机制,均可提升为基本型隐私计算身份认证机制.

3.2 基于静态口令的身份认证

3.2.1 基于静态口令的身份认证机制的隐私计算等级分析

静态口令存在易受字典攻击、重放攻击等弱点,但因其不依赖任何外部设备,简单、便捷、易用,成为使用最早、应用最广泛的身份认证手段.针对图3所示的网络身份认证五方体系架构,基于静态口令的身份认证基本原理[12]如下:用户在身份签发环节预留口令或必要时通过身份签发方更新口令,身份签发方为每个用户维护1组二元数据[用户ID、口令认证数据],口令认证数据根据所采用的认证方案可以是口令本身,也可能是口令的某种特定映射;身份签发方及时以安全方式把包含二元数据的用户信息表同步给身份认证方;在身份认证环节,用户通过出示用户ID及口令证明自身身份,认证方通过核验认证现时从用户处获取的口令认证数据与之前从身份签发方获得的口令认证数据是否匹配完成用户身份认证.

主流基于静态口令的身份认证方案有口令匹配认证、哈希值匹配认证和加密时间戳认证:1)口令匹配认证.口令认证数据为用户口令明文,认证时用户输入口令提交认证方,认证方根据用户ID在用户信息表中查找预存的认证数据(口令明文),一致则认证成功,否则认证失败.2)哈希值匹配认证.口令认证数据为用户口令的哈希值,认证时用户输入口令,客户端对口令作哈希变换并将哈希值提交认证方,认证方根据用户ID在用户信息表中查找预存的认证数据(口令哈希值),一致则认证成功,否则认证失败.3)加密时间戳认证.口令认证数据为以用户口令为种子生成的1个对称密钥,认证时用户输入口令,客户端以相同规则生成对称密钥,并用该密钥对当前时间戳加密,将密文提交认证方,认证方根据用户ID在用户信息表中查找预存的认证数据(以用户口令为种子生成的对称密钥),以此密钥解密接收到的密文,解密结果与当前时间误差如果小于规定范围,则认证成功,否则认证失败.

从上述3种基于静态口令的身份认证方案的认证过程和认证原理可知,口令明文、口令哈希值、以口令为种子生成的对称密钥在各自认证方案中属于重点保护的敏感数据,直接关系认证安全.表4给出了3种基于静态口令的身份认证方案及各环节涉及的敏感数据:

表4 基于静态口令的不同身份认证方案及各环节涉及的敏感数据

根据2.3节,口令匹配认证、哈希值匹配认证和加密时间戳认证均需要在身份签发环节留存身份认证核心敏感信息,且无法在不分享和泄露身份认证核心敏感信息前提下实现身份认证计算目标,显然,这3类认证均可归类为非隐私计算身份认证机制.

3.2.2 基于静态口令的身份认证机制的改进

根据表3,基于数字签名技术的单向认证可实现增强型隐私计算身份认证机制.这里对静态口令进行适当处理,如以口令的哈希值为私钥构造基于离散对数或椭圆曲线的公钥密码.设离散对数公钥密码基本根为g,口令为PW, 则私钥sK=hash(PW),公钥pK=gsK.设椭圆曲线公钥密码基点为G, 则私钥sK=hash(PW),公钥pK=sK·G.在此基础上,基于GB/T 15843.3,可将基于静态口令的身份认证机制转化为采用数字签名技术的单次/两次传递单向认证机制.

静态口令熵值偏低,易受字典攻击,用其构造的私钥在强度和安全性方面都无法与基于智能密码钥匙产生的密钥相提并论.但可以看到,改进方案的用户口令明文仅在输入时出现在客户端,未超出用户自身控制的范围/环境,留存给身份签发方和身份认证方的认证数据均为基于离散对数或椭圆曲线产生的公钥,可以确保实现身份认证的同时不泄露用户口令及私钥.显然,改进后的基于静态口令的身份认证机制已提升为增强型隐私计算身份认证机制.

3.3 基于生物特征的身份认证

3.3.1 基于生物特征的身份认证机制的隐私计算等级分析

生物特征识别技术是指利用人体本身特有的生理特征和(或)行为特征,采用模式识别和图像处理的方法进行身份识别.常用于身份识别的生物特征包括指纹、人脸、声纹、掌纹、DNA、视网膜等.针对图3所示的网络身份认证五方体系架构,基于生物特征的身份认证要点[13]如下:1)在身份签发环节,用户采集并预留生物特征标样,身份签发方为每个用户维护1组二元数据[用户ID、生物特征标样],生物特征标样可以是生物特征原始数据(标样原图),也可以是根据原始数据提取的特征模板(标样模板);2)在认证数据同步环节,身份签发方及时以安全方式把包含二元数据的用户信息表同步给身份认证方;3)在身份认证环节,用户出示用户ID和现场采集的生物特征试样数据以证明自身身份,认证方通过计算认证时采集的试样数据(试样原图或试样模板)与之前从身份签发方获得的标样数据的相似度来判定用户身份,如果相似度大于设定阈值,则认证成功,否则认证失败.

根据2.3节,在基于生物特征的身份认证机制中,无论是标样模板与试样模板的比对,还是标样原图与试样原图的比对,均需要在身份签发环节留存身份认证核心敏感信息,且无法在不分享和泄露身份认证核心敏感信息前提下实现身份认证计算目标,显然,这种认证机制属于非隐私计算身份认证机制.

3.3.2 基于生物特征的身份认证机制的改进

图4为引入公钥密码加解密技术的基于生物特征的身份认证机制改进方案.方案将身份签发方定义为可信参与方,由其产生和管理密钥;身份认证方为非可信方,部署具备特定逻辑计算功能的身份认证密码机,密码机私钥在身份签发方控制下导入并仅限内部解密调用.标样密文和试样密文须在身份认证密码机内先解密再特征比对,向认证服务器返回比对结果“是”或“否”.

图4 基于公钥密码的生物特征身份认证改进方案

上述改进方案中,身份签发方拥有密钥管理控制权,因此对身份签发方而言,标样密文等同明文,是可见的;对身份认证方而言,标样原图/模板、试样原图/模板均以密文形式存在,且认证过程中不会暴露明文数据,显然是不可见的.根据2.3节,上述改进方案属于基本型隐私计算身份认证机制.

4 结束语

本文基于网络身份认证五方体系架构模型,运用隐私计算的思想、方法和原则,探讨了身份签发和身份认证环节中用户认证密钥、静态口令、生物特征信息等核心敏感信息的保护问题,并对不满足隐私计算条件的认证机制提出了改进方案,对强化网络身份认证系统的隐私保护具有一定的参考价值和意义.

本文对网络身份认证中隐私计算技术的应用研究仍处于初级阶段,诸多内容的讨论并不深入和全面,主要局限在:1)本文讨论主要针对图3所示的网络身份认证五方体系架构模型,并假设参与方都是独立的主体.实际应用中的网络身份认证并不一定采用理想的五方标准模型,多数情况下都以其变形衍生形态出现[14].2)真实网络身份认证系统涉及的核心数据很多,目前应用普遍的动态口令认证本文未讨论.3)随着大数据、人工智能等技术的发展和进步,身份认证的手段和方法越来越丰富和完善[15],基于大数据的行为追溯、基于风控的风险预测、基于社会工程学的行为分析等逐步用作身份认证的辅助措施,本文均未涵盖到.未来将在突破上述局限方面作出进一步的探索和尝试.

猜你喜欢

口令密钥密码
密码里的爱
幻中邂逅之金色密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
高矮胖瘦
口 令
密码抗倭立奇功
Android密钥库简析
好玩的“反口令”游戏
密码藏在何处