zoukankan      html  css  js  c++  java
  • SSL Pining Mode 设置iOS SSL 连接安全

    一: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;

      参考:http://wufawei.com/2013/05/SSL-Pining/

  • 相关阅读:
    linux 安装jdk
    linux 安装 Redis
    jvisualvm监控远程jvm的两种连接方式
    list转map(JDK8-Lambda表达式)
    循环删除list中的某一元素的三种方式
    SpringBoot-@ControllerAdvice 拦截异常并统一处理
    Spring-@ControllerAdvice 拦截异常并统一处理
    Tomcat系列
    thinkPHP5.1模型User设计
    uniapp后台api设计(微信user表)
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3482455.html
Copyright © 2011-2022 走看看