需求分析
关联文档
《1、面向垂直行业的N4接口规范(报批稿)v1.0.0》第 6.1.5.3 章节
《2、面向垂直行业的边缘N4解耦UPF设备规范0128》第 6.7 章节
《3、面向垂直行业的边缘N4解耦UPF测试规范v2.0》第 11.9 章节
应用场景描述
UseCase 1: 单纯面向业务的头增强应用场景。对所有 UE 访问指定 URL/SNI/IP 的 HTTP/S 数据报文都进行 “用户特征信息” 增强头插入。
UseCase 2: 需要同时面向用户和业务的头增强应用场景。对指定的 UE 访问指定 URL/SNI/IP 的 HTTP/S 数据报文进行 “用户特征信息” 增添头插入。
HTTP 头增强需求点
UPF 支持接收 SMF 下发的头增强策略。
UPF 支持根据 SMF 下发的头增强策略向指定的 “自有业务/第三方合作业务 HTTP 请求报文” 的 HTTP Header 中插入:手机号、UE ID、UE IP、RAT 等标准增强头字段。
UPF 支持自定义扩展增强头字段,大小至少 4 对(包括:字段名和字段值)。
各增强头字段是否插入可进行配置。
各增强头字段取值需符合中国移动规范,插入的格式需符合 5G 的码号格式定义(e.g. msisdn-8618867101079、imsi-460000000000001、imei-247456789012371)。
UPF 支持手机号(x-up-calling-line-id)插入的防欺诈功能,支持清除原有手机号信息,替换为真实的手机号。
UPF 支持 HTTP 头增强防欺诈功能,包括:
分片完整性的防欺诈要求
分片检测顺序的防欺诈要求
缓存时长的防欺诈要求
分片乱序的防欺诈要求
关键字段被分割的防欺诈要求
注 1:用户面 HTTP 业务类型有两种:1)自有业务;2)第三方合作业务。
注 2:UPF 根据 “URL 头增强白名单” 来判别是否需要对 HTTP 业务进行头增强。
注 3:HTTP 头增强白名单类型有:1)自有业务 HTTP 头增强 URL 白名单;2)第三方合作业务 HTTP 头增强 URL 白名单。
注 4:HTTP 头增强扩展类型分为:
基础类型:该类型的字段名由规范固定,字段值由 UPF 补充。包括:手机号(x-up-calling-line-id)、RAT(x-up-bear-type,映射关系见附录 A)、UE IP(x-forwarded-for)、UE ID(IMSI/SUPI、MSISDN/GPSI、IMEI/EPI)、APN/DNN 等字段。
自定义类型:至少 4 对(包括:字段名和字段值),该类型的字段名和字段值均由用户自定义输入,UPF 仅进行填充。
注 5:增强头字段支持是否插入可配置。MP2 下发预定义规则,N4 下发规则激活。
注 6:字段取值需要符合中国移动规范,例如:5G 码号格式定义。
注 7:HTTP Headers 有可能存在不同的分片中。
HTTPS 头增强需求点
UPF 支持识别 TLS Record 协议中的 client_hello 消息。
UPF 支持根据 client_hello 消息中的 SNI 域名、或数据报文的目的 IP 地址是否存在 “HTTPS 头增强白名单” 中来判别是否进行 HTTPS 头增强插入。若 client_hello 消息被分片了则不进行头增强插入。
如果 HTTPS 头增强白名单被配置为仅根据数据报文的目的 IP 地址来判别是否进行 HTTPS 头增强插入时,即使 client_hello 消息中没有携带 SNI 域名,UPF 也应该能够进行增强头插入。
UPF 支持 SNI 域名防欺诈功能,对 SNI 域名及其对应的业务平台目的 IP 地址进行匹配校验,若不匹配则不插入增强头;
UPF 支持在指定 extension_type 的 extension 中插入 sub extension。
UPF 支持对指定的 sub extension 的内容和密钥进行加密(e.g. RC4 算法)。
UPF 支持灵活配置 extension_type 的值(e.g. 17516)。
UPF 支持灵活配置插入的 sub extension 字段。
UPF 支持灵活配置 sub extension 是否加密、以及采用哪种加密算法。
UPF 支持灵活配置对不同的业务(目的 IP 和 SNI)类型,加密不同的 sub extension 字段;
UPF 应支持对 client_hello 消息进行头增强字段正确性的校验;
对于 client_hello 消息未分片的情况,如果发现源 client_hello 消息中已有 1 个或者多个序号为 17516 的 extension 字段,则使用正确的手机号和格式对全部已有的 17516 字段进行修正,或者阻断当前业务流。
对于 client_hello 消息分片的情况,检测是否有序号为 17516 的字段,如果无此字段,则正常转发;如果有此字段,则阻断当前业务流;如果无法判断各个分片是否有此字段,则阻断当前业务流。
若 HTTPS 增强头字段的采用明文的方式进行插入,则 UPF 应支持分片检测顺序,分片乱序以及关键字被分割等场景的防欺诈要求;
对于插入增强头字段后对 TCP Sequence 的影响,即插入增强头字段可能造成 content length 变化,以及包长超过 MTU 导致的新包增加和序号适配问题,UPF 在 HTTPS 头增强中也应支持此功能。
注 1:若 Web Server 实施了基于 Hostname 的 HTTP Virtual Host,那么 C/S 建立 HTTPS 连接时通常需要指定 SNI 域名;反之,则不需要。
注 2:所以,HTTPS 业务类型除了区分 “1)自有业务;2)第三方合作业务” 之外,还需要区分 “1)目的 IP 地址业务;2)SNI 域名业务”。
注 3:HTTPS 头增强白名单中具有 “仅根据数据报文的目的 IP 地址来进行判别” 标志位。
注 4:HTTPS 头增强白名单中的 SNI 域名字段还应该记录与之对应的 IP 地址,以此完成 SNI 域名防欺诈功能。