网络安全入门之IAM介绍

发布于 2022-11-16 15:08
浏览
0收藏

IAM背景简介


什么是IAM?IAM的全称是Identity and Access Management,身份和访问管理。与很多Cyber Security技术类似,IAM在IT界久负盛名,而随着汽车网联化的发展,IAM也更多地出现在汽车行业的视野里。例如AUTOSAR Adaptive在18年3月的18-03版本中就开始引入了IAM,定义了其需求和规范。


网络安全入门之IAM介绍-汽车开发者社区

图1:IAM概念图


广义的身份和访问管理(IAM)实际上是一门学科,它使正确的用户能够在正确的时间以正确的理由访问正确的资源。IAM解决了关键任务的需要,以确保在日益异质的技术环境中对资源的适当访问,并满足日益严格的合规性要求。


IAM同时是一种网络安全的最佳实践,确保对用户访问的控制。通过识别、验证和授权用户,同时禁止未经授权的用户,IAM安全提高了整个访问管理的效率和效果。


直白一点讲,IAM就是识别身份和管理访问,就像狼人游戏中的上帝,鉴别每个玩家的身份,对应身份才能访问对应资源,以确保预言家能查验身份,狼人能深夜杀人,女巫能使用毒解药。



IT中的IAM


IAM在经典IT场景中的一个典型应用就是企业用户管理,当然这里的企业也包括了众多汽车行业OEM和供应商。随着远程办公的不断普及,设置严谨的 IAM 安全策略既能为员工提供办公所需的访问权限,又能保护企业的资产安全,对企业来说至关重要。当然除了企业内部员工,IAM还能够为供应商和业务伙伴、远程和移动用户以及客户提供安全访问。随着数字化转型,身份也将被分配给物联网(IoT)设备、机器人和代码片断,如API或微服务。多云混合IT环境和软件即服务(SaaS)解决方案进一步增加了IAM方案的复杂性。


那么企业应用IAM又有什么好处呢?


IAM位于用户和关键企业资产之间,是企业安全计划的一个关键组成部分。它有助于保护用户凭证和容易破解的密码不被泄露,这些密码经常被犯罪黑客用作网络入口,以移植勒索软件或窃取数据。同时IAM有助于确保企业生产力和数字系统的顺利运行。员工可以在任何地方无缝工作,而集中管理确保他们只访问他们工作所需的特定资源。此外,向客户和供应商开放系统可以提高效率和降低成本。


当然随着云技术的发展,企业的IT系统与巨头提供的云服务之间也有了更多交互和融合。IAM也在这个云端拓展的过程中频繁亮相。不论是国外巨头AWS和IBM,还是国内的阿里云和华为云等,都无一不将IAM作为其一个重要的安全解决方案和卖点。例如下图便是AWS的IAM架构框图。


网络安全入门之IAM介绍-汽车开发者社区

图2:AWS的IAM架构框图


该IAM的产品工作原理实际上有这几大部分:


  • 验证身份。这就对应我们常用的用户密码登录、指纹解锁和面部解锁等操作。以开头提到的狼人游戏为例,它解决的是鉴定这个玩家是不是女巫的问题。
  • 按安全策略授权。这是IAM的一个决策过程,而决策所依据的策略包括基于身份和资源本身的策略。以狼人游戏为例,它解决的是女巫能不能使用毒药的问题。
  • 实施操作。这是按照第2步的决策结果而实施操作的过程,如果决策允许操作,那么就去访问资源,这时第3步对于用户来说其实不可见。如果决策不允许该操作,则操作中止。以狼人游戏为例,就是实际执行女巫使用毒药毒死某一玩家的过程。
  • 资源访问。这个比较直白,就是请求被允许后对资源进行访问操作。


IAM在汽车上的应用


上面提到的IT界的IAM,众多汽车企业当然也有应用。尤其是随着汽车智能化和网联化的发展,越来越多公司开始建立和管理自己的云平台,打通车端数据采集到云端、大数据优化算法、而后OTA迭代到车端的闭环通道。这种基于数据驱动的优化方法对数据访问管理也提出了要求,而IAM无疑是其中一个重要的解决方案。


但除此之外,IAM在智能汽车,尤其是车端,还有更广泛的用途。需记得,IAM本身解决的是身份和访问控制管理的问题。这些问题,同样会出现在车端ECU之间、进程之间的通讯中。伴随着近年火热的SOA(面向服务的架构)发展,车端的基于服务通讯也变得更加灵活和动态,而这也会带来网络安全隐患。例如智能座舱刚升级了一个酷炫的蹦迪APP,新增了一个服务,但该服务企图访问ACC的纵向控制状态。这时候该不该让酷炫APP控制车辆呢?IAM则可以帮助解决这个问题。


要综合解决身份和访问管理问题,得是广义的IAM,具体反映在车端可以是IP防火墙、SecOC鉴权通讯、TLS、TEE和应用层防火墙等多种手段的结合。因为涉及到车端身份和访问的主体,包括通讯节点、应用Socket、远程自然人用户等。而其涉及的客体,则可能包括通讯服务、内存访问、CPU资源等等。


但AUTOSAR Adaptive Platform中提到的IAM实际上是狭义的IAM,更像是一个面向应用服务的IAM,下面我们来详细看看。


AUTOSAR Adaptive中的IAM


AUTOSAR Adaptive(21-11)中的IAM允许限制本地应用程序或远程主体(例如远程ECU)可能要求访问的服务实例和元素。有了访问控制,就可以减少被劫持或篡改的应用程序或ECU可能造成的损失。在进一步探讨前,我们先看几个关键术语:


  • Policy Decision Point (PDP):策略决定点(PDP)代表了做出访问控制决定的逻辑点。它决定了应用程序是否被允许执行请求的任务。
  • Policy Enforcement Point (PEP):策略实施点(PEP)表示执行访问控制决定的逻辑点。它直接与相应的PDP通信以接收访问控制决定。
  • Access Control Policy:访问控制策略,与调用的目标(即服务接口)绑定,用于表达访问这些接口所需的身份信息。
  • Access Control Decision:访问控制决定,是一个布尔值,表明请求的操作是否被允许。它基于调用者的身份和访问控制策略。
  • Intent:意图,是Adaptive应用的一个属性。如果提出请求的应用拥有该特定 AUTOSAR 资源所需的所有公认意图,则允许访问。Intent在应用的Manifest中定义。
  • Adaptive Application Identifier:Adaptive应用ID,有时也缩写为AAID,AUTOSAR模型中进程的唯一标识。


对于 AUTOSAR Adaptive,其IAM概念是直接从模型中获得访问权限。在应用的设计阶段,其Intent就会在部署时被定义和确认好。


而AUTOSAR Adaptive的另一种访问权定义方式,分别从服务接口的主体(Subject)和客体(Object)角度考虑,以访问矩阵的形式表示如下图:


网络安全入门之IAM介绍-汽车开发者社区

图3:访问矩阵


从上图可以看出,服务A能去访问哪些服务,就构成了服务A的Intents。而服务A能被哪些服务所访问,则构成了服务A的访问列表。从网络安全的角度看,由于被攻击劫持的服务不确定,较为完备的网络安全做法,应该是同时将服务A的Intents和访问列表都作为安全策略,用以判断访问是否被允许。当然对攻击影响较小的域,也可以只采用其中一种。这些Intents和访问列表都会通过对应应用的Manifest来定义和部署。当然,出于网络安全考虑,这些Manifest都应该是经由设计者添加签名并存储在安全环境,防止篡改的。


而在AUTOSAR的IAM框架中,至为关键的是PDP和PEP。PDP负责通过应用的身份标识(AAID)来决定访问是否被允许。同样以开头的狼人游戏为例,PDP对应的就是判断女巫是否能使用毒药的逻辑点。而PEP则是负责实施访问,或者拒绝访问的操作者,就像实际执行女巫使用毒药毒死某一玩家的逻辑点。


那么在实际软件运行时,IAM的相关实现逻辑和流程又是怎样的呢?


网络安全入门之IAM介绍-汽车开发者社区

图4:IAM序列示意图


如上图所示,一个IAM例子的序列如下:


  • Adaptive应用发起一个资源访问请求,例如服务接口
  • 应用的EM传输库通过进程间通讯传递上下文,PEP中断控制流
  • PEP通过AUTOSAR的执行管理(EM)识别请求的进程身份。
  • EM返回对应的AAID给PEP。实际上AUTOSAR对这一过程被没有具体的定义和限制。AUTOSAR Adaptive本质上只是中间件,这一步与实际采用的操作系统关系密切。例如Linux可以利用SO_PEERCRED,QNX可以用getpeerid。
  • PEP将请求进程的AAID提供给IAM Manager,再由IAM Manager根据身份标识和Manifest定义来决定该请求是否被允许,并返回该布尔值给PEP。PDP就位于IAM Manager内。


这就是一个ECU/虚拟机内部对于IAM的逻辑过程。而除了针对本地应用,IAM也需要针对远端主体调用或请求(例如远端的另一个ECU)。下图是本地和远端IAM的一个示例图。


网络安全入门之IAM介绍-汽车开发者社区

图5:本地和远端IAM


例如左边节点中的某个应用调用了某个SOME/IP服务的某个Method,客户端的请求将被本地IAM检查,以确保应用根据它的请求发出合法的请求。在成功授权后,该请求将通过SOME/IP被转发到到右边的服务端运行的节点上。右边节点根据通讯中传递的身份信息,进行针对远端的IAM,以验证这样的请求是否来自给定的发送节点。如果通过验证,则再让其访问对应的服务实体。


写在最后


与众多网络信息安全技术类似,IAM作为传统IT已经存在多年的技术,值得智能汽车借鉴和应用。但同时我们也应注意到,由于车端架构和汽车安全本身的特殊要求,IAM在车端的实现并不是简单复制IT中的方案。例如访问控制、PDP和PEP等逻辑概念其实都与IT/云服务的方案相通,但在车端的具体实现都得根据对应的车载计算芯片、操作系统和汽车软件架构做适配设计。同时,车载软件应用范围广泛,环境复杂,这也对IAM提出了更高的要求。相信未来的IAM,尤其是车端,会朝着访问控制策略更加系统化、颗粒度更细化的方向发展。这些技术融合和趋势,也对汽车网络安全工程师提出了更高更复合的要求。本文抛砖引玉,希望能帮助一些读者了解IAM的同时,与各位汽车同仁共勉。


参考来源:

1. Identity and Access Management Framework for Remote Business Scalability,
https://itsecuritywire.com/featured/identity-and-access-management-framework-for-remote-business-scalability/

2. Identity and Access Management (IAM),
https://www.gartner.com/en/information-technology/glossary/identity-and-access-management-iam?msclkid=6ecfd7a2b31511ec848e07618c55acfd

3.https://www.autosar.org/fileadmin/user_upload/standards/adaptive/2111/AUTOSAR_RS_IdentityAndAccessManagement.pdf

4.https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/intro-structure.html



文章转载自公众号:焉知智能汽车

收藏
回复
举报
回复
相关推荐