热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

手机WAPI功能检测常见问题分析(系列连载二):证书鉴别功能

原文地址:http:www.wapia.orgtopicstandardsdetail_5074.shtml证书鉴别功能测试中常见问题及解决方法问题:

 


 

证书鉴别功能测试中常见问题及解决方法

问题:待测手机在接收到基准AP发出的鉴别激活分组后,未能回复接入鉴别请求分组。

问题分析及解决方法:待测手机接收到基准AP发出的鉴别激活分组数据包之后,应能正确解析该数据包,如果WAPI客户端开发实现不够完善,未能正确解析鉴别激活分组数据包,将无法对该分组数据做出正确的响应。在解析鉴别激活分组数据包过程中,部分待测手机WAPI客户端不能对“本地ASU的身份”字段进行有效判断或者不支持漫游场景,例如当基准AP 配置的“本地ASU的身份”字段值与手机终端数字证书的颁发者身份不匹配时,手机WAPI客户端无法识别,直接丢弃鉴别激活分组等。“本地ASU的身份”字段代表了基准AP信任的鉴别服务器的身份,如果与手机终端数字证书颁发者身份相同则说明基准AP和手机在同一个鉴别服务器下,如果不相同则说明基准AP和手机处在不同鉴别服务器下或者手机处于漫游状态。WAPI技术标准中,证书鉴别流程和重要字段解析参见下文第2部分。

WAPI证书鉴别流程和重要字段解析

如图1 所示,WAPI证书鉴别流程共包含有五个数据分组的消息交互。本节将详细讲解每一个数据分组的结构及其重要字段,以便帮助手机厂商更加清晰了解WAPI标准中的协议流程以及容易被忽视的重要字段。

(图1)

鉴别激活分组数据字段格式(见图2)

(图2)

重要字段:

标识FLAG:比特0为基密钥BK更新标识。当ASUE关联或重新关联至AE时进行证书鉴别过程,比特0的值为0;当证书鉴别功能为BK更新过程时,比特0的值为1。
鉴别标识:如果不是BK更新过程(比特0的值为0),则鉴别标识字段的值由AE 随机生成;如果是BK更新过程(比特0的值为1),则鉴别标识字段的值采用上一次证书鉴别过程所协商的鉴别标识。

本地ASU的身份:AE信任的鉴别服务器ASU 。

接入鉴别请求分组数据字段格式(见图3)

(见图3)

重要字段:

鉴别标识:字段值与鉴别激活分组中的鉴别标识字段值相同。

ASUE询问:ASUE生成的32 个八位位组的随机数。

STAASUE的证书:ASUE的数字证书。

ASUE的签名:对本分组中除本字段之外所有数据字段的签名。

证书鉴别请求分组数据字段格式(见图4)

(见图4)

重要字段:

ADDID:AE和ASUE 的MAC地址串连。

AE询问和ASUE询问:分别为ASUE 在接入鉴别请求分组中生成的随机数和AE生成的随机数。

STAASUE和STAAE的证书:分别为ASUE和AE的数字证书,供ASU进行鉴别。

证书鉴别响应分组数据字段格式(见图5)

(见图5)

重要字段:

证书的验证结果:证书结果定义如下:

0 表示证书有效;

1 表示证书的颁发者不明确;

2 表示证书基于不可信任的根证书;

3 表示证书未到生效期或已过期;

4 表示签名错误;

5 表示证书已吊销;

6 表示证书未按规定用途使用;

7 表示证书吊销状态未知;

8 表示证书错误原因未知;

其他值保留。

ASUE信任的服务器签名:对本分组中证书的验证结果字段的签名。

AE信任的服务器签名:对本分组中除本字段和ADDID字段之外所有数据字段的签名。

注:若ASUE信任的服务器和AE信任的服务器为同一个,则证书鉴别响应分组中ASUE信任的服务器签名字段和AE信任的服务器签名字段只存在一个;若ASUE证书的验证结果为证书的颁发者不明确,则证书鉴别响应分组不包含ASUE信任的服务器签名字段。

接入鉴别响应分组数据字段格式(见图6)

(见图6)

重要字段:

AE询问、ASUE询问、AE密钥数据、ASUE密钥数据:为BK导出的必要输入。

接入结果:具体意义如下:

0 表示接入成功,对应证书验证结果值为0;

1 表示无法验证证书,对应证书验证结果值为1;

2 表示证书错误,对应证书验证结果除0 和1 之外的其他值;

3 表示本地策略禁止;

其他值保留。

复合的证书验证结果:包含鉴别服务器对STAASUE证书和STAAE证书验证的结果。

证书鉴别功能要求及测试方法

功能要求:

移动用户终端应能正确实现完整的WAI鉴别流程,并在成功完成WAI鉴别后与AP建立连接。 (参见手机测试标准 第5.2.2.4章)

测试步骤:

步骤一:AP1上安装AS1颁发的证书,AS1为鉴别服务器。

步骤二:EUT上安装AS1颁发的证书。

步骤三:EUT发起WAI流程,并能成功连接。

步骤四:EUT安装一个已经被AS1吊销的证书。

步骤五:EUT发起WAI流程,不能连接。

证书鉴别功能要求与WAPI技术标准的章节对应关系

手机测试标准中的证书鉴别功能要求与WAPI技术标准中以下章节的内容对应。详细内容可以参阅 WAPI技术标准。

WAPI技术标准第7.3.2.8章: WAPI 信息元素

WAPI技术标准第8.1章: WAI鉴别及密钥管理中支持WAI鉴别及密钥管理的STA四种实现方式中的a)在BSS中基于证书的方式和c)在IBSS中基于证书的方式内容对应

WAPI技术标准第8.1.4.1章: WAI协议分组格式

WAPI技术标准第8.1.4.2章: 证书鉴别过程

 


推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
author-avatar
Zhangjingy2502870421
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有