17、GAA部署指南:从访问控制到网络集成

GAA部署指南:从访问控制到网络集成

在当今数字化时代,移动和互联网服务的安全性至关重要。GAA(Generic Authentication Architecture)作为一种通用认证架构,为移动和互联网服务的认证提供了有效的解决方案。本文将深入探讨GAA的部署相关内容,包括访问控制、与身份管理系统的集成以及与移动网络的集成等方面。

1. GAA访问控制

在GAA的部署中,访问控制是保障系统安全的重要环节。

1.1 基本访问控制

在图5.3所示的架构中,接口2的访问控制由GAA服务器进行管理。NAF客户端若要访问特定于NAF的机密信息,至少需要具备Read - DeviceData能力。对于一些更关键的NAF特定密钥,如3GPP MBMS和OMA BCAST智能卡配置文件密钥,GAA服务器可能会要求比ReadDeviceData更高的能力,如NetworkControl能力,该能力通常只有设备制造商才能授予。

此外,如果NAF客户端指定要从BSF进行引导的地址,则还需要WriteDeviceData能力。大多数NAF客户端通常还需要NetworkAccess能力来打开与NAF的网络连接。

1.2 扩展访问控制设计选项

为了实现更精细的访问控制,可以采用以下方法:
- 安全标识符(SID)和供应商标识符(VID) :每个Symbian OS应用程序由安全标识符(SID)标识,SID是本地唯一的标识符。如果SID处于受保护范围(低于0x7FFFFFFF),则可以对应用程序进行身份验证,因为处于该范围的应用程序必须由可信签名者签名。供应商标识符(VID)用于识别应用程序的供应商,非零VID的应用程序也必须由可信签名者签名。SID和VID可用于细粒度访问控制,将应用程序映射到特定策略,决定其是否可以访问特定于NAF的密钥。
- 访问控制列表(ACL) :为了让UE制造商或运营商能够在UE中配置细粒度访问控制,限制对敏感NAF标识符的访问,GAA服务器必须包含访问控制列表(ACL)。ACL保护的资源是特定于NAF的密钥,可使用正则表达式在NAF标识符上进行识别。ACL中的主体是应用程序标识符,在Symbian OS中可以是SID或VID。设备管理(DM)系统,如OMA DM,可用于配置和更新GAA服务器的ACL。
- 用户授权查询 :用户查询类似于个人防火墙功能,用户会被提示是否允许某个应用程序打开或接受网络连接。在基于Symbian OS的UE上,用户授权查询可用于约束已经具备ReadUserData能力的应用程序。在其他平台上,可用于允许原本不可信的应用程序访问选定的特定于NAF的会话密钥。用户提示应显示请求访问GAA服务器的应用程序名称和请求GAA会话密钥的NAF地址,用户可以选择授予或拒绝访问,还可以选择是否记住该决定,以便下次相同应用程序请求相同NAF的GAA会话密钥时自动授予访问权限,这可以在GAA服务器中实现为特定于用户的ACL。

以下是一个简单的表格总结访问控制所需的能力:
| 操作 | 所需能力 |
| — | — |
| 访问NAF特定机密信息 | Read - DeviceData |
| 指定BSF引导地址 | WriteDeviceData |
| 打开与NAF的网络连接 | NetworkAccess |
| 3GPP MBMS和OMA BCAST智能卡配置文件密钥 | NetworkControl |

2. 其他平台的访问控制实现

除了Symbian OS平台,其他平台也可以实现类似的访问控制。实现访问控制通常需要平台支持软件模块的身份验证和授权,主要包括两个方面:
- 软件模块的识别和身份验证 :软件平台需要能够在软件模块安装或加载执行时(或两者都有)对其进行识别和身份验证,通常通过软件签名来实现。流行的操作系统平台通常包含软件签名和验证的支持,但实际使用程度差异很大。
- 软件模块的权限授予和验证 :需要有一种方法为执行的软件模块分配权限,并在软件模块请求访问资源(如特定于NAF的密钥)时检查权限。权限授予通常基于软件模块的身份验证。不同的操作系统在权限管理上有不同的粒度,例如Symbian OS支持按单个进程进行权限授予和验证,Security Enhanced Linux(SELinux)支持类似功能,Java安全架构则在对象级别提供更细粒度的支持。

3. GAA与身份管理系统的集成

个人身份管理对于使用多种服务的消费者来说是一个挑战,身份管理解决方案旨在解决这一问题。GAA可以与各种身份管理解决方案结合使用。

3.1 概述

身份管理系统通常允许最终用户向身份提供者(IdP)进行身份验证,然后将身份验证令牌或断言分发给其他需要验证用户身份的服务器(服务提供者SP或依赖方RP)。身份管理规范通常不强制规定单一的身份验证方式,而是提供多种身份验证机制,并允许添加新的机制。因此,GAA可以用于向以下系统的IdP进行用户身份验证:
- Liberty Alliance Project Identity Federation Framework(ID - FF)Version 1.2或Organization for the Advancement of Structured Information Standards(OASIS)Security Assertion Markup Language(SAML)Version 2.0,客户端应用程序通常是浏览器,无需了解身份管理系统。
- Liberty Alliance Project Identity Web Service Framework(ID - WSF)Version 2.0,客户端需要了解身份管理系统。
- OASIS WS - SX(Secure Exchange),客户端也需要了解身份管理系统,例如Microsoft’s CardSpace。
- OpenID 2.0,客户端是浏览器,无需了解身份管理系统。

客户端应用程序需要能够确定使用GAA进行身份验证,从GBA模块获取GAA凭证,并在与IdP的特定应用协议中使用这些凭证。例如,浏览器可以通过在HTTP Digest身份验证实现中添加必要的钩子,使其在IdP请求时自动使用GAA凭证作为用户名和密码。

3.2 GAA与Liberty ID - FF的互操作性

以GAA与Liberty ID - FF的互操作性为例,其工作流程如下:
1. 用户请求服务 :服务用户输入标识服务的URL,该服务由Liberty SP托管,发送正常的HTTP GET请求。SP检查请求和服务策略,若发现用户未认证,则将浏览器重定向到Liberty IdP;若已认证,则跳过后续部分步骤。
2. SP重定向浏览器到IdP :SP使用HTTP响应代码‘302 Found’将浏览器重定向到IdP,响应头中包含IdP的URL和认证完成后返回SP服务的嵌入式URL。
3. 浏览器向IdP发送请求 :浏览器按照指示向IdP发送HTTP GET请求。若IdP发现用户在本次会话中未认证且已配置使用GAA进行身份验证,则发送HTTP响应代码‘401 Unauthorized’的身份验证挑战,并在WWW - Authenticate头中包含特殊参数。
4. 浏览器获取GAA凭证 :浏览器检查身份验证挑战,发现特殊参数后,尝试从本地GBA模块获取特定于IdP的GAA凭证(即作为NAF的IdP的特定于NAF的密钥)。
5. 浏览器请求IdP特定密钥 :浏览器向本地GBA模块请求计算身份验证响应所需的特定于IdP的密钥,并提供IdP的NAF_ID作为输入参数。
6. GAA引导过程 :如果没有有效的GAA引导会话,GBA模块将与USIM、BSF和HSS一起执行GAA引导过程。
7. GBA模块生成IdP特定密钥 :GBA模块使用GAA主会话密钥、NAF_ID和其他参数生成特定于IdP的密钥,并将其与收到的B - TID和密钥生命周期一起提供给浏览器。
8. 浏览器计算身份验证响应并发送请求 :浏览器使用B - TID作为用户名,特定于IdP的密钥(Ks_NAF)作为密码,计算HTTP Digest挑战的身份验证响应,并将包含该响应的HTTP GET请求发送给IdP。
9. IdP请求GAA凭证 :IdP收到身份验证响应后,提取B - TID,并使用B - TID和其NAF_ID向BSF请求特定于IdP的GAA凭证(Ks_NAF),还可能包含额外的GAA服务标识符(GSIDs)。
10. BSF响应IdP :BSF根据B - TID定位GAA引导会话,使用会话的GAA主会话密钥和其他参数生成GAA NAF密钥,并根据本地策略决定是否包含IP多媒体私有身份(IMPI)和请求的USSs。
11. IdP验证响应并重定向浏览器 :IdP使用GAA凭证和B - TID验证浏览器发送的身份验证响应。若验证成功,IdP构造并数字签名AuthnResponse断言,创建Artifact元素并将其映射到该断言,然后使用HTTP响应代码‘302 Found’将浏览器重定向回SP,并包含Artifact元素。
12. 浏览器向SP发送请求 :浏览器按照指示向SP发送HTTP GET请求。
13. SP提取Artifact元素 :SP收到请求后,提取Artifact元素。
14. SP验证用户身份 :SP使用Artifact元素从IdP获取AuthnResponse断言并进行验证。若验证成功,则成功验证最终用户身份,并将经过身份验证和授权的初始请求转发到SP中的实际服务。
15. 服务返回响应 :服务根据执行的服务逻辑返回响应给浏览器。后续请求通过嵌入的会话信息进行识别,SP会检查会话信息的有效性,若用户注销或会话超时,会话将失效。

下面是这个流程的mermaid流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(服务用户输入URL):::process --> B(SP检查请求和策略):::process
    B -->|用户未认证| C(SP重定向到IdP):::process
    C --> D(浏览器向IdP发送请求):::process
    D -->|IdP配置GAA| E(IdP发送身份验证挑战):::process
    E --> F(浏览器获取GAA凭证):::process
    F --> G(浏览器请求IdP特定密钥):::process
    G --> H(GAA引导过程):::process
    H --> I(GBA模块生成IdP特定密钥):::process
    I --> J(浏览器计算响应并发送请求):::process
    J --> K(IdP请求GAA凭证):::process
    K --> L(BSF响应IdP):::process
    L --> M(IdP验证响应并重定向):::process
    M --> N(浏览器向SP发送请求):::process
    N --> O(SP提取Artifact元素):::process
    O --> P(SP验证用户身份):::process
    P --> Q(服务返回响应):::process
    B -->|用户已认证| R(跳过部分步骤):::process
    D -->|用户已认证| R

以上就是GAA部署相关内容的上半部分,主要介绍了GAA的访问控制和与身份管理系统的集成,下半部分将继续探讨GAA与移动网络的集成等内容。

GAA部署指南:从访问控制到网络集成

4. GAA与移动网络的集成

对于移动网络运营商(MNO)而言,在网络中部署GAA会面临一些挑战。其中,将HLR集成到GAA是一个关键问题。

4.1 HLR集成到GAA的情况分析

移动用户数据库是运营商的重要资产,其可用性对于提供各类移动服务(如语音和短信)至关重要。因此,运营商在将用户数据库从HLR更新到HSS时通常比较谨慎。

一个完整的GAA(包括GBA_U)需要具有特定GAA功能且支持基于Diameter的Zh接口的HSS。Zh接口能够携带GUSS(所有USS的集合),GUSS中的字段可指示用户是否拥有支持GBA_U的UICC。这一信息能使BSF更改接收到的认证向量并导出正确的密钥。

但如果仅为GBA_ME生成特定于NAF的密钥,BSF只需从用户数据库获取认证向量。这使得在不使用Zh接口的情况下,也可以使用HLR或HSS,因为可以通过MAP协议请求和接收向量。基于MAP的与HLR/HSS的接口被称为Zh’。由于MAP接口不支持GUSS,且规范中不打算在HLR中存储USS,因此使用Zh’接口的BSF将无法使用依赖于GUSS的GAA功能,如GBA_U支持。

3GPP在各个版本中对网络节点和协议进行标准化。GAA在版本6和7中被规范,2007年也开始了版本8的相关工作。通常,规范和报告仅基于同一版本中的功能和节点构建。在规范创建过程中,会考虑不同版本之间的互操作性,并避免或至少捕捉系统故障以防止系统崩溃。然而,实际的部署和推广计划往往有所不同,这有时也会反映在规范工作中。例如,网络运营商可能希望在不将用户数据库更新为HSS或不向用户发放新智能卡的情况下推出广播移动电视服务。更新用户数据库还可能引发相关节点的“后续”更新,这给新服务带来了风险,因为新服务的推出和成功时间难以准确预测。因此,3GPP在相关文档中规范了版本5或更早版本的HLR以及不支持Diameter的HSS与版本7或版本8的BSF的互操作性。

具体来说,BSF与用户数据库的交互有两种方式:
- 使用基于Diameter的Zh接口 :这是与HSS交互的强制接口。
- 使用基于MAP的Zh’接口 :这是与HLR或不支持Zh的HSS交互的可选接口。在Zh’接口中,用于获取认证向量的消息已用于运营商间漫游,或者在某些情况下用于节点内部接口(如果HSS由HLR和HSS附加组件组成)。这些内部接口通常未被标准化。BSF可以通过发送MAP_SEND_AUTHENTICATION_INFO请求从HLR获取认证向量,HLR已经支持该MAP消息用于VLR节点的漫游用户和SGSN节点,不支持Zh或Diameter的HSS也支持该消息。

以下是不同版本的用户数据库向支持GAA的迁移情况表格:
| 原数据库状态\目标数据库状态 | R4 HLR with GAA | R5 HLR with GAA | R5 HSS with GAA | R6 HSS with GAA | R7 HSS with GAA |
| — | — | — | — | — | — |
| R4 HLR without GAA | Add Zh′ | Upgrade to R5 and add Zh′ | Upgrade to R5 HSS and add Zh′ | Upgrade to R6 HSS and add Zh′ or Zh | Upgrade to R7 HSS and add Zh′ or Zh |
| R5 HLR without GAA | X | Add Zh′ | Upgrade to R5 HSS and add Zh′ | Upgrade to R6 HSS and add Zh′ or Zh | Upgrade to R7 HSS and add Zh′ or Zh |
| R5 HSS without GAA | X | X | Add Zh′ | Upgrade to R6 HSS and add Zh′ or Zh | Upgrade to R7 HSS and add Zh′ or Zh |
| R6 HSS without GAA | X | X | X | Add Zh′ or Zh | Upgrade to R7 HSS and add Zh′ or Zh |
| R6 HSS with GAA | X | X | X | X | Upgrade to R7 HSS |
| R7 HSS without GAA | X | X | X | X | Add Zh′ or Zh |

下面是BSF与用户数据库交互的mermaid流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(BSF需要认证向量):::process -->|可选| B(Zh′接口向HLR/HSS请求):::process
    A -->|强制| C(Zh接口向HSS请求):::process
    B --> D(HLR/HSS返回向量):::process
    C --> D
    D --> E(BSF生成特定于NAF的密钥):::process

总结

综上所述,GAA的部署涉及多个方面,包括访问控制、与身份管理系统的集成以及与移动网络的集成。在访问控制方面,通过基本访问控制和扩展访问控制设计选项,能够保障系统的安全性。与身份管理系统的集成,使得GAA可以与多种身份管理解决方案结合使用,为用户提供更便捷的身份验证服务。而在与移动网络的集成中,HLR与GAA的集成情况需要根据实际需求和网络现状进行选择。网络运营商在部署GAA时,需要综合考虑这些因素,以实现安全、高效的网络服务。

【四旋翼无人机】具备螺旋桨倾斜机构的全驱动四旋翼无人机:建模与控制研究(Matlab代码、Simulink仿真实现)内容概要:本文围绕具备螺旋桨倾斜机构的全驱动四旋翼无人机展开研究,重点探讨其系统建模与控制策略,结合Matlab代码与Simulink仿真实现。文章详细分析了无人机的动力学模型,特别是引入螺旋桨倾斜机构后带来的全驱动特性,使其在姿态与位置控制上具备更强的机动性与自由度。研究涵盖了非线性系统建模、控制器设计(如PID、MPC、非线性控制等)、仿真验证及动态响应分析,旨在提升无人机在复杂环境下的稳定性和控制精度。同时,文中提供的Matlab/Simulink资源便于读者复现实验并进一步优化控制算法。; 适合人群:具备一定控制理论基础和Matlab/Simulink仿真经验的研究生、科研人员及无人机控制系统开发工程师,尤其适合从事飞行器建模与先进控制算法研究的专业人员。; 使用场景及目标:①用于全驱动四旋翼无人机的动力学建模与仿真平台搭建;②研究先进控制算法(如模型预测控制、非线性控制)在无人机系统中的应用;③支持科研论文复现、课程设计或毕业课题开发,推动无人机高机动控制技术的研究进展。; 阅读建议:建议读者结合文档提供的Matlab代码与Simulink模型,逐步实现建模与控制算法,重点关注坐标系定义、力矩分配逻辑及控制闭环的设计细节,同时可通过修改参数和添加扰动来验证系统的鲁棒性与适应性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值