测试手机客户端HTTPS 你应该知道的事

标签: 测试 手机 客户端 | 发表时间:2013-04-16 20:11 | 作者:wirelessqa
出处:http://blog.csdn.net

了解https

HTTPS的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的保护
HTTPS的信任继承基于预先安装在浏览器中的证书颁发机构(意即“我信任证书颁发机构告诉我应该信任的”)。因此,一个到某网站的HTTPS连接可被信任,需要满足下面的条件:

  1. 用户相信他们的浏览器正确实现了HTTPS且安装了正确的证书颁发机构;
  2. 用户相信证书颁发机构仅信任合法的网站;
  3. 被访问的网站提供了一个有效的证书,意即,它是由一个被信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);
  4. 该证书正确地验证了被访问的网站(如,访问https://example时收到了给“Example Inc.”而不是其它组织的证书);
  5. 或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层(TLS或SSL)不能被窃听者破坏。

https的工作过程

(数据加密和身份验证)
1、安全的通道分为两个部分,一个是数据的加密,一个是身份的验证。
2、https使用的是应用层的SSL来加密http的数据的,具体是如何加密的呢?我以登陆银行网页进行在线信用卡查询为例来介绍ssl在加密http上的全部过程。
3、首先是进行身份的验证,因为如果身份都不正确数据还有意义吗?验证身份的方法有很多,最主流的是CA来颁发证书了。CA就是一个双方都信任的第三方机构,等于是由它来担保我就是我,银行就是银行!但是银行对于个人来说使用CA的时候不多,因为CA设置比较麻烦,银行常使用的是另外的一种方法,比如说农业银行的密码卡,交通银行的手机绑定,都是为了确定用户的身份,防止别人冒用你的身份来登陆你的账户。
4、当用户打开IE浏览器输入https://访问银行的网页的时候,首先是用户的IE会把域名解析成为IP地址,以443端口来请求远端服务器的相应,服务器有监听进程在等待用户的访问,它收到请求后会建立连接,用户会发送它可以使用的加密手段和加密算法(这个也是浏览器能够识别的东西,不通的浏览器会发送不同的内容),服务器会从客户端发送的加密方式中挑选它认为合适的加密方式会送给客户端,这样客户端就能知道服务器要用什么算法加密数据了。现在只是一个协商,数据还都是明文的。
5、下一步服务器会发送一个证书,证书就是CA颁发的证明自己身份的身份证,在证书中有服务器的公钥,如果客户端不信任CA就会弹出一个报警信息,提示有一个非信任的CA发送的证书,问你该怎么处理。当用户点击了接收后,证书就会保存在浏览器中。同时服务器会要求客户端也验证自己的身份,比如说输入手机传过来的验证码,或者把密码卡的哪几个数字输入网页中。如果你输入正确了,服务器就验证好了你的身份了。
6、接下来客户端会产生一个随机的密码,这个密码是用来加密数据的,但是这个密码如果让黑客知道了是很不安全的,所以这个密码用服务器端的证书的公钥进行了加密,加密后的密文传输给服务器,因为只有服务器有自己的私钥,所以之后服务器能够解密这个经过公钥加密的密码数据,服务器当然会用私钥解密,这样双方就知道了要用什么密钥来加密了,然后接下来的具体数据就是使用这个密钥和前面第一阶段协商的加密算法来加密数据了。

HTTP工作原理请参考:http://www.guokr.com/post/114121/

浏览器实现

当连接到一个提供无效证书的网站时,较旧的浏览器会使用一对话框询问用户是否继续,而较新的浏览器会在整个窗口中显示警告;较新的浏览器也会在地址栏中凸显网站的安全信息(如,扩展验证证书在Firefox里会使地址栏出现绿锁标志)。

1

 
Internet Explorer、Firefox等浏览器在网站含有由加密和未加密内容组成的混合内容时,会发出警告。

客户端实现

2

为什么HTTPS慢 ?

TCP 只要三次握手就可以了,但建立在基于 TCP 的 SSL/TLS 除了那三次握手之外,还需要经过约十次握手进行密钥交换。基于 SSL 的 HTTPS 则需要在 SSL/TLS 建立连接的基础之上,使用握手产生密钥对数据进行加密处理。
由于 HTTPS 的连接过程及数据传送的过程涉及密钥交换、产生密钥、数据加密等一列的过程,因此打开一个 HTTPS 页面 10 秒左右是很正常的事情。

手机客户端使用HTTPS注意点


1. 手机是否支持CA认证,如果不支持或者没有应该怎么办?
查看手机的安全性,设置信任的CA(Certification Authority,认证中心),CA认证一般手机都支持的,但现如今的android手机泛滥,有些系统属于高度定制的,不敢保证所有的手机都支持CA认证,所以在进行需求评审的时候要做好相关的解决方案,如果手机上不支持CA认证应该怎么? 我们的做法是使用自己的证书进行认证。

2. 请求超时或失败时应该有相应的降级方案
如上所述,https请求会比http慢一些,用户的使用场景也不尽相同,仅靠我们在有限时间有限场景的测试是不够的,所以超时也是很常见的现像,那么当请求超时时应该怎么办呢? 我们的做法是请求超时达到一次的次数,切换为http,另外服务端加控制开关,当观察到请求超时数据过多时,可以关闭开关,切为http;

3. 适配手机网络
WIFI、三大运营商的2G、3G及接入点(cmwap\cmnet\uniwap\uninet\ctwap\ctnet),包括开启一些代理软件,这些适配是一定要做的,因为不同的网络和接入点的代理网关是不一样的,你使用的https是否能够穿透这些网关谁都不好说,所以只能对其进行适配。

4. 做好请求失败的埋点
做好https连接失败的埋点及log收集工作,方便排查问题,给用户带来更好的体验


本文链接: 测试手机客户端HTTPS 你应该知道的事

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源: WirelessQA,谢谢!^^


作者:wirelessqa 发表于2013-4-16 20:11:04 原文链接
阅读:0 评论:0 查看评论

相关 [测试 手机 客户端] 推荐:

测试手机客户端HTTPS 你应该知道的事

- - CSDN博客移动开发推荐文章
手机客户端使用HTTPS注意点. HTTPS的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的保护. HTTPS的信任继承基于预先安装在浏览器中的证书颁发机构(意即“我信任证书颁发机构告诉我应该信任的”). 因此,一个到某网站的HTTPS连接可被信任,需要满足下面的条件:.

谈Android手机客户端的适配测试

- - Taobao QA Team
一、           Android 客户端为什么要进行适配测试. 在正式开始android客户端的适配测试点整理之前,先给大家看几个数据. 下面是随机抽取某个android客户端在2月份的用户使用情况. 【Android不同系统版本下的分布情况】. 【客户端在不同手机分辨率下被使用的分布情况】.

手机客户端UI设计之手机平台之争

- 瑾 - Taobao UED Team
    为了占领移动互联网的制高点,当前的几大IT巨头都以手机平台为基础展开争夺. 占领移动平台就是占领了用户的移动桌面,也就为自身的移动服务争取到了最佳位置.       微软公司推出windows phone 7, 曝光了windows 8;苹果公司也开了iOS 5的发布会;谷歌的Android 3.0的发布,Android 2.4 的若隐若现等等;大家都在努力提升平台体验.

手机客户端交互适配设计之我见

- Shell Wang - 互联网的那点事
简摘:本文从手机平台、机型(触屏和键盘)及屏幕大小三个方面简单的讨论了一下手机客户端的交互及适配特性及一些原则. 手机客户端软件虽只是手机中一个功能,但它却要比设计单款手机更为复杂. 在设计单款、单系列手机时,需要考虑这款手机的软、硬件优势及不足,考虑其特性、其UI Style Guideline ,确定这些内容后,整个平台的UI也找到基础了.

手机客户端是否是敏感信息的避风港?

- 尘世客 - 耗子吴
糗事百科相信很多网友都知道,和它的姊妹站还有个“说秘密”,曾在小众圈子里流行一段时间,因为涉及到一些不河蟹内容,被有关部门审查关闭. 既然是说秘密,必然在现实中不便说出口,也意味着当中有很多违背伦理道德的事,同样,从印度山寨过来的“我受贿了”类型的网站基本也都被关闭. 偶然在app store发现了“秘密”这个应用,糗事百科出品,和原版的网页版说秘密如出一辙,只是把平台搬到了手机客户端上,没有网页版入口.

360发布手机即时聊天客户端“口信”

- kong - cnBeta.COM
360安全中心于近日推出基于手机通讯录的手机即时聊天客户端“口信”. 该客户端融合了普通短信和免费语音消息、图片和文字等功能.

手机客户端交互适配设计之我见

- dali - Taobao UED Team
简摘:本文从手机平台、机型(触屏和键盘)及屏幕大小三个方面简单的讨论了一下手机客户端的交互及适配特性及一些原则. 手机客户端软件虽只是手机中一个功能,但它却要比设计单款手机更为复杂. 在设计单款、单系列手机时,需要考虑这款手机的软、硬件优势及不足,考虑其特性、其UI Style Guideline ,确定这些内容后,整个平台的UI也找到基础了.

客户端UI设计之手机平台之争

- 章明 - 所有文章 - UCD大社区
    为了占领移动互联网的制高点,当前的几大IT巨头都以手机平台为基础展开争夺. 占领移动平台就是占领了用户的移动桌面,也就为自身的移动服务争取到了最佳位置.       微软公司推出windows phone 7, 曝光了windows 8;苹果公司也开了iOS 5的发布会;谷歌的Android 3.0的发布,Android 2.4 的若隐若现等等;大家都在努力提升平台体验.

豆瓣为什么要分开做各个手机客户端?

- Coolxll - 天涯海阁-Web2.0Share
先看看豆瓣官方现在做了哪些手机客户端吧:豆瓣FM、豆瓣电影、豆瓣说、豆瓣活动、豆瓣Bookcart、对角. 在之前豆瓣出手机客户端之前我也一直在期盼有一个豆瓣的手机客户端实现豆瓣Web上所有的功能,但是当豆瓣陆续推出了一系列手机客户端之后,先是觉得有点奇怪,之后理解这是正确的移动互联网的手机应用策略.