我是谁?我从哪里来?我要到哪里去?这三大人生哲学问题,历经千年,答案纷纭。
从唯物主义来看,“我”是客观存在的一种物质;从唯心主义来看,“我”决定一切。
个人崇尚对所拥有物品(包括实体的、虚拟的)具有生杀予夺的无限权力。
但在数字世界,一旦与外界发生联系,你所绝对拥有的东西便具有了一定的社会属性。任何与网络发生了关系的事物,都脱离了纯粹的“专属”。原本完完全全属于个人的,发生了彻底的改变。准确的说,原本完完全全属于那时那地的那个你,至于未来某时、某地,现在时候的你并不一定拥有原来的权限。以个人照片为例,个人照片通常存储于个人手机中,当手机与云空间同步后,照片的增删改就不再那么的绝对。
那再回到“我是谁”的问题,我究竟是谁?
翻看照片,回首往事,感慨变化之大之余,我们是不是也会有些疑问。现在的我究竟是不是原来的我?我究竟是谁?当生命的时间有了多个维度,并且能够在过去与未来自由反复时,“我”也只会成为时间维度上的一个点。
数字世界,我们的行为更方便的被记录下来,时间过去维度得到了无限充实,现实中的照片记忆点逐渐变成视频时间段、操作时间段。“我”的过去逐渐被完整定义。“我”的未来将由“我”的过去以及”我“的现在来决定。这种决定过程,几乎能抹杀一切非线性。这意味着,打通任督二脉的事情在数字世界不可能发生,偶然发现九阳真经的事情也不可能发生;当然猛然中风、精神失常在数字世界也不会存在。在数字世界,一切的一切都是有征兆的、有理由的、有依据的。
一、零信任
2010年,Forrester的首席分析师John Kindervag提出了零信任框架模型,这一模型在Google的BeyondCorp项目中得到应用。Google是第一个将零信任架构模型落地的公司。
零信任是将网络防御的边界缩小到单个资源。其核心思想是系统不应自动信任任何人,不管是内部的还是外部的,不根据物理或网络位置对用户授予完全可信的权限。系统在授权前对任何试图接入系统的主体进行验证。其本质是以身份为中心进行访问控制。
简而言之,零信任的策略就是不相信任何人。除非确认接入者现在的身份,否则谁都无法接入,即便接入也无法实现对资源的访问。
与传统的安全策略不同,零信任框架中用户的访问权限不受地理位置的影响。零信任在访问主体与客体之间构建以身份为基石的动态可信访问控制体系,基于网络所有参与实体的数字身份,对默认不可信的所有访问请求进行加密、认证和强制授权,汇聚关联各种数据源进行持续信任评估,并根据信任程度动态对权限进行调整,最终在访问主体和访问客体之间建立动态信任关系。
零信任以尽可能接近于人的真实身份来定义数据访问,定义某个人或者某个身份可以访问的特定的数据,或者定义特定的数据可以被特定的身份访问。
零信任的用户认证模型是通过“我”的过去实现第一重认证,允许“我”的接入,通过“我”的现在实现第二重认证,允许“我”对资源的访问,通过两重认证,来综合决定“我”我的未来,即资源的访问权限。
二、我的过去
我的过去通过我所拥有的、我所知道的以及我的本质特性来定义,依据这些信息生成网络世界中的数字凭证。
(1)凭证的初始化
现实中每个人都有身份证。在网络中,身份就是用户所对应的数字个体标识。数字个体标识并非唯一,不同场景有不同的数字个体标识。非正式身份标识,如昵称等,常用于小团体中,个体之间的信任程度相对较高,或者安全要求低,价值数字资产少的场景。存在如下问题:用户可以创建虚假身份;用户可以假冒他人身份;单个用户可以创建多个身份;多个用户可以共享同一身份。权威身份用于系统需要安全性更高的身份时的场景,相关机构为个体创建权威身份凭证。
现实世界中,个人使用政府颁发的ID(如驾照)作为身份凭证。风险较高场景下,需要根据政府数据库交叉核验身份凭证,进一步增强安全保障。计算机系统也需要一个权威中心负责用户身份管理,如同现实世界,授予用户不同强度的身份凭证。依据风险等级的不同,可能还需要根据数据库信息交叉核验。
用户身份的认证很重要。数字化身份的产生以及身份与人的初始关联都是非常敏感的操作。对实体人的验证机制必须足够强,以防攻击者伪装成新员工获取系统身份。当用户无法提供身份凭证时,账号恢复程序同样需要足够强的认证控制来确保实体人身份的合法性。初始认证,应该首选政府颁发的身份凭证。通常,创建数字身份之前需要繁杂的人工认证流程,信任的建立是基于一个已知的可信人员对待开通身份的人员的信息了解,这种间接的信任关系是后续人工认证和身份创建的基础。在零信任网络中,人工认证的可信度很高,但不是唯一的认证机制。在创建数字身份之前,有许多信息可以获取。这些信息是认证数字身份的关键要素。这些信息可以是用户使用的语言、家庭住址等等其他信息。
(2)凭证的存储
用户凭证产生后,通过用户目录记录用户相关信息。用户目录是后续所有认证的基础。包括用户名、电话号码、组织角色,还包括扩展信息,如用户地址或X.509证书公钥。用户信息极其敏感,一般用几个相互隔离的数据库代替单一数据库来存储所有用户信息。数据库仅能通过受限的API接口访问,从而限制信息的暴露范围。用户目录的准确性对于零信任网络的安全至关重要。新老用户交替,需要及时更新用户目录。专业的身份源系统(如LDAP或本地用户账号)可以与企业的人员信息系统打通,从而在企业人员变动时,及时更新相关信息。分离的身份源系统,需要选定一个权威身份原系统记录身份,其他身份源系统从该系统获取所需的权威数据。
记录系统只需要存储可以识别个人身份的关键性信息,比如只存储用户名或其他简单的个人信息,以便用户忘记凭证时恢复身份。
(3)身份认证
认证在零信任网络中是强制行为,需要同时兼顾安全性和便捷性。当安全性以便捷性为代价,用户很可能会想方设法削弱甚至破坏安全机制。认证用户是通过系统验证用户是否为声称的那个人。不同等级的服务有不同等级的认证。比如登录音乐订阅服务仅需要密码,但是登录投资账户不仅需要密码,还需要额外的验证码。用户可以通过额外的认证方式提高信任等级。如果一个用户的信任评分低于当前访问请求的最低信任评分,此时需要进行额外的认证,如果通过认证,用户的信任等级将提升至请求要求的水平。认证的目的是获取信任,应根据期望的信任等级设定认证需求机制。通过设置信任评分阈值来驱动认证流程和需求。系统可以选取任意的认证方式进行组合以满足信任评分要求,掌握每种认证方式的可信度及可访问信息的敏感度,有助于设计对攻击更免疫的系统,自适应的按需认证和授权。
传统认证模式基于边界安全的思想,分出一个高度敏感的数据区域,对其进行尽可能高的强认证,即便用户之前已经做过一定的认证并且积累了足够的信任度。这种认证模式下,一旦用户取得了数据区域的授权,就能不受任何限制的操作,不再有其他安全机制进行保护。
(4)凭证的遗失
现实世界中,凭证可能丢失或者被盗。如果遗失了政府颁发的身份凭证,政府机构通常需要个人提供其他相关身份信息(如出生证明或指纹),以重新颁发身份凭证。计算机系统处理机制类似,通过其他验证方式为用户颁发身份凭证。但是验证方式和验证材料的选取不当可能会诱发安全隐患。
三、我的现在
- 如何判断操作某台计算机的用户一定是预期中的合法用户?
- 如果合法用户忘记锁屏或者个人疏忽导致他人滥用怎么办?
对于保护数据,正常的访问数据行为是可以被定义和穷尽的。因此,可以限定安全访问的行为范围,任何限定范围之外的行为都是不合规、不安全的。此外,通过对历史访问行为的学习,可以对正常访问进行特征画像,不符合正常访问特征的访问行为都是不合规的。
四、我的未来
针对对数字资产(包括数据、应用等)的访问权限,NIST提出了三个逻辑组件来动态授权和认证:
- 策略引擎(Plolicy Engine,PE),负责确定授权
- 策略管理员(Policy Administrator,PA),根据策略引擎的结果建立或管理通往资源的通信路径。
- 策略执行点(Policy Enforcement Point,PEP),位于请求主体和目标资源之间,启用、监测和终止连接。
访问主体在PEP进行认证和授权,策略决策点(Policy Decision Point)对认证后的身份执行相应的策略,身份认证和授权均在访问之前执行。数据平面的PEP在运行时对系统进行持续监测,以确保持续的合规性和治理控制。
五、零信任的用户信任案例
在腾讯安全发布的《零信任接近方案白皮书》中详细描述了腾讯零信任解决方案的用户信任的建立方式。
首先,有多种认证方式来确保用户可信:如企业微信扫码、Token双因子认证、生物认证等。用户身份与企业本地身份、域身份以及自定义账号体系灵活适配。在用户体验上,通过应用系统单点登录(SSO),让应用使用更加便捷。
其次,访问主体的信任评估持续进行,并伴随整个访问过程。一旦评估异常,访问权限动态自动调整,保证业务访问的最小权限。受控终端访问策略直接控制终端发起的应用进程,访问网关根据访问控制策略对访问流量进行二次校验,确保人-应用-访问目标合法,确保访问主体行为合法。
用户可信识别提供用户全生命周期的身份管理和多因素身份认证能力。针对用户/用户组制定网络访问权限策略。在设备接入前,对用户进行业务权限授权,非授权的业务资源完全不可见,做到最小特权。在设备接入后,持续验证所有用户的身份,提供包括企业微信扫码、LDAP认证、域认证、Token双因子认证在内的多种身份验证方式。通过身份可信识别能力实现合法的用户使用合法的终端,使合法的应用对保护资产进行合法的访问。
六、小结
零信任对网络安全进行了重构,无边界的网络、基于可信的身份、动态授权、持续信任评估成为新的安全理念。在零信任网络中,每个访问主体都有自己的身份。访问主体的访问权限,由数字凭证和主体行为动态确定。换句话说,现在的我才是真的我。