- 在线时间
- 51 小时
- 最后登录
- 2016-8-15
- 威望
- 6
- 金钱
- 7913
- 贡献
- 752
- 注册时间
- 2015-1-29
- 阅读权限
- 200
- 主题
- 747
- 帖子
- 774
- 分享
- 0
- 精华
- 1
- 积分
- 9456
- 相册
- 3
|
目 录
1 范围 5
2 引用标准 5
3 相关术语与缩略语解释 5
4 网络结构 6
4.1 网元功能描述 6
4.1.1 AS 6
4.1.2 NAF(AP)/BSF 6
4.1.3 网管系统 6
4.1.4 BOSS系统 7
4.1.5 CSCF 7
4.1.6 MRF 7
4.1.7 HSS 7
4.2 接口描述 7
4.2.1 AS与CSCF的接口 7
4.2.2 AS与MRF的接口 7
4.2.3 AS与BOSS系统的接口 7
4.2.4 AS与网管系统的接口 8
4.2.5 AS与终端的接口 8
4.2.6 NAF(AP)/BSF与HSS的接口 8
4.2.7 AS与HSS的接口 8
5 UT接口定义 8
5.1 接口概述 8
5.1.1 协议总体结构 8
5.2 接口定义 12
5.2.1 鉴权接口 12
5.2.2 补充业务接口 20
6 编制历史 46
附录A (标准性附录)接口要求 47
部分内容如下:
5.2.2 鉴权接口
5.2.2.1. 接口流程
1. 终端用户打开补充业务配置界面,选中需要进行配置的业务。
2. UE根据用户选择的业务,发送访问业务AS的HTTP GET消息,其中Host消息头携带UE上配置或者从推导的XCAP ROOT URI中获取XCAP服务器地址(XCAP ROOT URI去掉http://),端口选择80或8080,如果采用TLS,则使用443端口,XCAP ROOT URI推导过程见3GPP TS 23.003,User-Agent消息头中包含“3gpp-gba”标识。
3. UE发送的请求经DNS域名解析后转发到NAF,NAF根据User-Agent消息头中的“3gpp-gba”或是“3gpp-gba-uicc”判断出UE使用GBA-ME鉴权方式或GBA-U模式,如果没有,则取默认配置,若UE指示的鉴权模式不支持则返回501响应。因为消息中不包含Authorization,于是向UE发送401 Unauthorized响应消息,携带WWW-Authenticate消息头指示UE发起GBA Bootstrapping流程。 UE收到携带WWW-Authenticate的HTTP响应,检查其参数有效性,参数有效标准为:携带realm,如果为GBA-ME,则为3GPP-bootstrapping@NAF域名形式,如果为GBA-U,则为3GPP-bootstrapping-uicc@NAF域名形式,携带algorithm必须为MD5,携带qop为auth|auth-int,携带nonce。
4. 如果UE本地不存在有效的B-TID(Bootstrapping Transaction Identifier)和共享密钥Ks信息,向BSF发送HTTP GET消息,Host消息头携带UE推导出的归属BSF地址,BSF地址推导过程见3GPP TS 23.003,username携带IMPI。
5. BSF向IMS-HSS发送MAR(Multimedia Authorization Request)消息,请求获取用户鉴权五元组(RAND、XRES、CK、IK、AUTN)及GUSS(GBA User Security Settings)签约信息。
6. IMS-HSS将鉴权向量和签约的用户GUSS签约信息通过MAA(Multimedia Authentication Answer)消息发送给BSF。
7. BSF向UE发送401 Unauthorized消息,消息中包含WWW-Authenticate消息头,RAND和AUTN值以密文形式包含在nonce中。
8. UE根据AUTN计算XMAC,判断是否与AUTN中的MAC值一致,同时判断AUTN中的序列号SQN是否在可接受范围内(AUTN中的SQN大于终端中的SQN)。
• MAC值一致且SQN在可接受范围内:UE计算生成并保存RES、IK、CK等。
• MAC值一致但SQN不在可接受范围内:UE重新从BSF获取新的AUTN值。
• MAC值不一致:GBA鉴权失败,流程结束。
9. UE再次发送HTTP GET消息给BSF,消息中的Authorization消息头携带RES值。
10. BSF收到HTTP GET消息,通过比较本地保存的XRES和消息中收到的RES完成对终端的鉴权认证。
• 相同,BSF计算生成B-TID和共享密钥Ks信息。
• 不同,GBA鉴权失败,流程结束。
11. BSF返回200 OK响应消息给UE,消息中包含B-TID及Ks有效周期信息,消息示例如下:
HTTP/1.1 200 OK
Content-Length: 202
Date: Fri, 19 Apr 2013 09:07:10 GMT
Content-Type: application/vnd.3gpp.bsf+xml
Expires: Fri, 19 Apr 2013 21:07:10 GMT
Server: bsf.mnc000.mcc460.pub.3gppnetwork.org
Authentication-Info: nonce="i6jfn1Ldj/HrFgTxfx6+Jhh4ZlGwqHJM1zr4ckVfc34PAAAAlQAAAA==",qop=auth,cnonce="i6jfn1Ldj/HrFgTxfx6+Jhh4ZlGwqHJM1zr4ckVfc34PACIIlAAAAA==",rspauth="5c844429a88b906c59cd11bb2ef4f411",nc=00000001
Content-Length: (...)
<?xml version="1.0" encoding="UTF-8"?>
<BootstrappingInfo xmlns="uri:3gpp-gba">
<btid>i6jfn1Ldj/HrFgTxfx6+Jr55cVEPAAAASQAAAA==@ ims.mnc000.mcc460.pub.3gppnetwork.org
</btid>
<lifetime>
2014-03-19T21:07:10Z
</lifetime>
</BootstrappingInfo>
12. UE生成Ks,和BSF发送的B-TID及Ks有效周期信息一起保存。
5.2.2.2. 接口消息定义
1. HTTP Initial Request(UE->NAF)样例
GET HTTP/1.1
Host:xcap.ims.mnc000.mcc460.pub.3gppnetwork.org
User-Agent: NAF1 Application Agent; Release-6 3gpp-gba
Date: Thu, 08 Jan 2013 10:50:35 GMT
2. 401 Unauthorized response (NAF->UE) 样例
HTTP/1.1 401 Unauthorized
Server: Apache/1.3.22 (Unix) mod_perl/1.27
Date: Thu, 08 Jan 2013 10:50:35 GMT
WWW-Authenticate: Digest realm="3GPP-bootstrapping@xcap.ims.mnc000.mcc460.pub.3gppnetwork.org", nonce="6629fae49393a05397450978507c4ef1", algorithm=MD5, qop="auth,auth-int", opaque="5ccc069c403ebaf9f0171e9517f30e41"
3. HTTP Initial Request(UE->BSF)样例
GET / HTTP/1.1
Host: bsf.ims.mnc000.mcc460.pub.3gppnetwork.org:1234
User-Agent: Bootstrapping Client Agent; Release-6 3gpp-gba-tmpi
Date: Thu, 08 Jan 2013 10:13:17 GMT
Authorization: Digest
username="460001234567890@ims.mnc000.mcc460.3gppnetwork.org",
realm="bsf.mnc000.mcc460.pub.3gppnetwork.org",
nonce="",
uri="/",
response=""
4. 401 Unauthorized response (BSF->UE) 样例
HTTP/1.1 401 Unauthorized
Server: Bootstrapping Server; Release-6
Date: Thu, 08 Jan 2013 10:13:17 GMT
WWW-Authenticate: Digest
realm="bsf.mnc000.mcc460.pub.3gppnetwork.org",
nonce= base64(RAND + AUTN + server specific data),
algorithm=AKAv1-MD5,
qop="auth",
opaque="5ccc069c403ebaf9f0171e9517f30e41"
5. GET request (UE -> BSF) 样例
GET / HTTP/1.1
Host: bsf.mnc000.mcc460.pub.3gppnetwork.org
User-Agent: Bootstrapping Client Agent 3gpp-gba
Date: Thu, 08 Jan 2013 10:13:18 GMT
Accept: */*
Authorization: Digest
username="460001234567890@ims.mnc000.mcc460.3gppnetwork.org",
realm="bsf.mnc000.mcc460.pub.3gppnetwork.org",
nonce="base64(RAND + AUTN + server specific data)",
uri="/", qop=auth,
nc=00000001,
cnonce="6629fae49393a05397450978507c4ef1",
response="6629fae49393a05397450978507c4ef1",
opaque="5ccc069c403ebaf9f0171e9517f30e41",
algorithm=AKAv1-MD5
6. 200 OK Response (BSF -> UE) 样例
HTTP/1.1 200 OK
Server: bsf.mnc00.mcc460.pub.3gppnetwork.org
Authentication-Info: qop=auth,
rspauth="6629fae49394a05397450978507c4ef1",
cnonce="6629fae49393a05397450978507c4ef1",
nc=00000001,
opaque="5ccc069c403ebaf9f0171e9517f30e41",
nonce="base64(RAND + AUTN + server specific data)",
qop="auth"
Date: Thu, 08 Jan 2013 10:13:18 GMT
Expires: Thu, 08 Jan 2014 10:23:17 GMT
Content-Type: application/vnd.3gpp.bsf+xml
Content-Length: (...)
<?xml version="1.0" encoding="UTF-8"?>
<BootstrappingInfo xmlns="uri:3gpp-gba">
<btid>user@ims.mnc000.mcc460.pub.3gppnetwork.org </btid>
<lifetime>2014-05-28T13:20:00Z</lifetime>
</BootstrappingInfo>
5.2.2.3. 参数定义
BSF认证采用HTTP Digest AKA,鉴权参数填写应符合RFC3310要求。
1. HTTP Initial Request(UE->NAF)
参数名称 说明 必备/可选 数据类型 备注
User-Agent 用户代理 M string 携带字符串信息,填写终端支持3GPP_GBA鉴权算法。
3gpp-gba标识支持GBA-ME
3gpp-gba-uicc标志支持GBA-U
2. 401 Unauthorized response (NAF->UE)
参数名称 说明 必备/可选 数据类型 备注
WWW-Authenticate: Digest
realm 用户域 M string 告知用户使用哪个域,使用何种鉴权算法
对于GBA-ME,填写的信息为:3GPP-bootstrapping@ NAF域名(naf.mnc00.mcc460.pub.3gppnetwork.org)
对于GBA-U,填写信息为:3GPP-bootstrapping-uicc@ NAF域名(naf.mnc00.mcc460.pub.3gppnetwork.org)
qop 保护质量 M string auth:鉴权,不对消息体做完整性验证。
auth-int:鉴权并需要对消息体做摘要,保证消息完整性。
填写值为:auth,auth-int
nonce 摘要质询参数 M string 401响应中唯一生成的字符串数据。采用十六进制数据。
opaque 会话标识 M string 由服务器指定,客户端须在下一个请求中返回该数据。采用十六进制数据。
algorithm 算法 M string 填写为MD5
3. HTTP Initial Request(UE->BSF)
参数名称 说明 必备/可选 数据类型 备注
Host 主机名 M String BSF的主机地址
Authorization字段
username 用户名 M string private user identity标识
realm 用户域 M string BSF的域名,遵循23.003定义的导出规则,填写形式为:bsf.mnc<mnc>.mcc<mcc>.pub.3gppnetwork.org
nonce 初始随机值 M string 置为空,值为""
uri 访问路径 M string 请求的URI,初始置为"/"
response 初始值 M string 置为空,值为""
4. 401 Unauthorized response (BSF->UE)
参数名称 说明 必备/可选 数据类型 备注
WWW-Authenticate: Digest
realm 用户域 M string 请求消息携带的realm,遵循23.003定义的导出规则,填写形式为:bsf.mnc<mnc>.mcc<mcc>.pub.3gppnetwork.org
nonce 挑战随机值 M string 计算方式为base64(RAND ,AUTN ,server specific data),其中server specific data为可选
qop 保护质量 M string auth:鉴权,不对消息体做完整性验证。
auth-int:鉴权并需要对消息体做摘要,保证消息完整性。
固定为auth。
algorithm 鉴权算法 M String 固定值为AKAv1-MD5
opaque 会话标识 M string 由服务器指定,客户端须在下一个请求中返回该数据。采用十六进制数据。
5. GET request (UE -> BSF)
参数名称 说明 必备/可选 数据类型 备注
username 用户名 M string private user identity标识
realm 用户域 M string BSF的域名,遵循23.003定义的导出规则,填写形式为:bsf.mnc<mnc>.mcc<mcc>.pub.3gppnetwork.org
nonce 摘要质询参数 M string 返回上一个请求响应中的参数nonce
uri 访问路径 M string 请求的URI,填写”/”
qop 保护质量 M string auth:鉴权,不对消息体做完整性验证。
auth-int:鉴权并需要对消息体做摘要,保证消息完整性。
注册过程使用auth
nc nonce计数参数 M string 客户端请求的十六进制计数,以00000001开始,每次请求加1,目的是防止重放攻击。
cnonce 客户端nonce值 M string 客户端用来鉴定服务器的摘要质询参数
response 响应值 M string 对上一个请求中401响应的参数采用AKA算法计算的结果
opaque 会话标识 M string 返回服务器原值
algorithm 鉴权算法 M String 固定值为AKAv1-MD5
auts 重同步信息 O String 终端检测重同步失败,返回的重同步值
6. 200 OK Response (BSF -> UE)
参数名称 说明 必备/可选 数据类型 备注
Content-Type 消息体类型 M string 填写为application/vnd.3gpp.bsf+xml
Authentication-Info
qop 保护质量 M string auth:鉴权,不对消息体做完整性验证。
auth-int:鉴权并需要对消息体做摘要,保证消息完整性。
注册过程使用auth
rspauth 响应值 M string 对终端给的随机数采用MD5算法做摘要计算的结果
nc nonce计数参数 O string 客户端给的计数器进行返回,
cnonce 客户端nonce值 M string 客户端用来鉴定服务器的摘要质询参数
nextnonce 摘要质询参数 M string 下一组认证的随机参数,该方式无需挑战过程。
opaque 会话标识 M string 返回服务器原值
说明:成功响应的XML体中XML schema符合3GPP TS 24.109 Annex C
5.2.3 补充业务接口
5.2.3.1. 补充业务的XCAP URI说明
补充业务使用的XCAP URI说明如下:
XCAP_URI = “ XCAP ROOT URI /simservs.ngn.etsi.org /users/” XUI “/simservs.xml”
。。。。。。
|
|