SSL Pining Mode 设置iOS SSL 连接安全
2023-09-11 14:15:06 时间
一:SSL Ping Mode
使用SSL来进行网络通信成为了很多mobile app的默认选择。最近一些文章发现:一些app并没有采用“额外的措施”来保证窃听不可以发生:这个“额外的步骤“就是SSL Pinning。
iOS上SSL连接默认是这样的,client 和server建立一个连接,server返回其 SSL证书。如果这个证书是被OS信任的证书机构签发,那么这个连接就正常进行下去。随后交换session key进行通信。这个关键点就在于“信任“。如果攻击者进行中间人攻击,mobile device很可能也会信任攻击者的证书。一般来说,攻击者不太可能有受信任的证书,所以通常情况下这个问题也不大。
使用SSL Pinning可以消除这个可能。也可能用户本身故意作为攻击者来探查加密的网络流量。可能使用 Charles 或者mitmproxy来安装一个受信任的证书。你的app需要有能力通过SSL Pinning来阻止这种嗅探攻击。
SSL Pinning就是client能够把server的证书和一个已知的server的证书的拷贝做对比,通过把server的SSL 证书捆绑到程序中就可以达到目的。在iOS中可以使用NSURLConnectionDelegate 协议中的connection:willSendRequestForAuthenticationChallenge: 来检查。
二:AFNetworking
AFURLConnectionOperationSSLPinningMode
typedef enum { AFSSLPinningModeNone, AFSSLPinningModePublicKey, AFSSLPinningModeCertificate, } AFURLConnectionOperationSSLPinningMode;
相关文章
- pip install fails with “connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)”
- pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail
- iOS SEL类型和创建
- 《iOS 6核心开发手册(第4版)》——1.8节秘诀:在屏幕上绘制触摸
- iOS开发系列- 视频MPMoviePlayerController
- iOS开发UI篇—ios应用数据存储方式(归档)
- iOS上文本绘制的几种方法
- ios蓝牙开发(四)BabyBluetooth蓝牙库
- SwiftUI iOS 精品项目之每天收集的故事卡片(教程含源码)
- SwiftUI 2021年最流行的5种iOS库
- iOS异常捕获
- iOS开发网络篇—NSURLConnection基本使用
- IOS_ios逆向工程-静态分析
- iOS 静态库制作(Xcode9.0 版本)(注:亲测.a静态文件放在Unity Plugins/IOS 也可用)
- iOS开发 - 柱状图动态展现动画
- iOS - 使用MPMoviePlayerController播放在线视频
- IOS设计模式-备忘录模式
- 信息安全调查:iOS App 宕机率是 Android 的 2.5 倍
- 14. 成功解决:ssl_client_socket_impl.cc(992) handshake failed;returned -1,SSL error code 1,net_error -103