App Transport Securityが必須化へ - Webサイトへのアクセスは激減せずともアプリへの影響大か

S 2016 06 16 10 11 33

iOS 9で導入されたアプリのHTTPS通信を推奨するApp Transport Security(ATS)。これまでは設定ファイルによってグローバルまたは個別にドメインを除外してHTTP通信することも可能でしたが、2016年の終わりからこれが基本的に許されなくなることが分かりました(What's New in SecurityAppleInsiderTechCrunch日本版)。

例外指定が基本できなくなる?

S 2016 06 16 10 08 53

ATS必須化が始まると、アプリは基本的にHTTPを使った通信が不可能となります。以下の設定によってこれを回避することもできますが、例外指定には妥当な正当性が必要とのこと。

  • NSAllowsArbitraryLoads
  • NSExceptionAllowsInsecureHTTPLoads
  • NSExceptionMinimumTLSVersion

例として外部で運営されているサーバーに接続する場合があげられています。

WKWebViewでは回避策も

S 2016 06 16 10 09 39

また新たな例外としてAVFoundationを利用したストリーミングメディアや、WKWebViewを使用した場合はiOS 10以降でNSAllowsArbitraryLoadsInWebContentを指定することもできるようです。すなわちWKWebView使用しているWebブラウザ系アプリならばこの指定を行うことで従来通りHTTP通信が行えるのだと思われます。

例外がどのくらい許されるのか不明ですが、NSURLSession/NSURLConnectionやUIWebViewを使ったアプリを作成している開発者の方は今から準備を進めたほうがよさそうです。

参考情報

https://wayohoo.com/ios/news/ios-is-fully-introduced-the-ats.html
http://hitoriblog.com/?p=41624
http://nlogic.jp/?p=479
https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewIniOS/Articles/iOS10.html

The new NSAllowsArbitraryLoadsInWebContent key for your Info.plist file gives you a convenient way to allow arbitrary web page loads to work while retaining ATS protections for the rest of your app.

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

フォローする