私は初心者ですが、MITM 攻撃の対象となるアプリを持っています。
少し調べてみると、SSL ピン接続を行う必要があるようです。つまり、サーバーの公開鍵/証明書のコピーを保持して、応答がそこからのものかどうかを判断できるようにします。
これを行う方法がわかりません。ネットワークを処理するために Swift で AlamoFire を使用しています。
私は初心者ですが、MITM 攻撃の対象となるアプリを持っています。
少し調べてみると、SSL ピン接続を行う必要があるようです。つまり、サーバーの公開鍵/証明書のコピーを保持して、応答がそこからのものかどうかを判断できるようにします。
これを行う方法がわかりません。ネットワークを処理するために Swift で AlamoFire を使用しています。
Alamofire は、証明書のピン留めを実装しました。必要なドキュメントは Readme.md にあります
https://github.com/Alamofire/Alamofire
実装例を参照してください。
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"test.example.com": .PinCertificates(
certificates: ServerTrustPolicy.certificatesInBundle(),
validateCertificateChain: true,
validateHost: true
),
"insecure.expired-apis.com": .DisableEvaluation
]
let manager = Manager(
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
ここに示すように: https://github.com/Alamofire/Alamofire/issues/366
これは確かにコミュニティがサポートしようとしているものですが、まだ明確な時間枠はありません。当分の間、AFNetworking を続行し、Alamofire プロジェクトの新機能に注目してください。