More Related Content
More from J-Stream Inc. (9)
Apple iOS9 (ATS)への対応
- 3. ATS(=App Transport Security)とは
▶Apple iOS9以降、Mac OS X v10.11以降で適用される、アプリケー
ション内の通信をセキュアにするためにAppleが導入した仕組み
▶現時点での最適に近いセキュアな接続をデフォルトとして動作させ
る
▶ATS対応が出来ていないと、Appleのアプリケーション審査を今後通
過する事が出来なくなる可能性がある
▶公式Webサイト
▶App Transport Security Technote
▶https://developer.apple.com/library/prerelease/mac/technotes/App-
Transport-Security-Technote/index.html
© 2015 J-Stream Inc. All Rights Reserved. 3
- 5. サーバー側での対応②
まとめ-2
© 2015 J-Stream Inc. All Rights Reserved. 5
パラメータ 必要性
デフォルト カスタマイズ デフォルト カスタマイズ
SSL証明書
署名 SHA256以上 不可 ー ー
公開鍵の鍵長
RSA2048以上、
EC256以上
不可 ー ー
プロトコル
SSLバージョン TLS 1.2 可能 ー ー
Forward Secrecy
(鍵交換アルゴリズム)
ECDHE 不可 必要 可能
- 11. アプリケーション側での対応②
ATS有効化の影響範囲 詳細
▶NSURLConnection, CFURL, NSURLSession
▶iOS 9.0 以降と OS X 10.11 以降向けにビルドされたアプリでは、
NSURLConnection、CFURL、NSURLSession を使用するすべての接続は
ATS デフォルトの挙動(=HTTPs通信)になる
▶WebView
▶HTTPのWebページは表示しない(内部エラーになる)
▶補足:SFSafariViewControllerはATSの影響を受けない
© 2015 J-Stream Inc. All Rights Reserved. 11
- 14. アプリケーション側での対応⑤
Xcodeを使用してATSをオフにする方法
© 2015 J-Stream Inc. All Rights Reserved. 14
▶Projectを選択
▶Supporting Filesを選択
▶Project名-info.plistを選択
▶Information Property List
で+ボタンを押してKeyを増
やす
▶増えたKeyに
NSAppTransportSecurityを
設定し、TypeはDictionaryに。
▶NSAppTransportSecurityで
+ボタンを押してKeyを増や
す。
▶増えたKeyに
NSAllowsArbitraryLoadsを
設定し、TypeはBoolean、
ValueにYESを設定。
- 16. まとめ
Apple iOS9(ATS)への対応
▶Apple iOS9以降、Mac OS X v10.11のアプリケーション内通信は
サーバー側で以下を満たす必要がある
▶HTTPs(TLSv1.2以上)、指定のCipherSuteを利用、SHA256/2048bit 他
▶サーバー側の対応が難しい場合はアプリケーション側で回避策を利
用して対応
▶参考:IPv6対応も忘れずに!
© 2015 J-Stream Inc. All Rights Reserved. 16