iOS10기준 ATS(App Transport Security) 정리

0

ATS란?

ATS는 App Transport Security의 약자로 2015년 iOS9가 출시될때 도입된 보안 사양이다. 자세한 내용은 Apple Developer Library를 참고하자. 아이패드 및 웹서비스간의 연결에서 개인 정보 보호 및 데이터 무결성을 향상하기 위한 목적으로 보안 사양을 준수하지 않으면 연결을 인정하지 않는 것을 말한다.

서버 인증 요구사항

  • 공개 인증기관에서 발행한 것
  • 인증키 길이
  • 서명 알고리즘

웹서버 요구사항

  • HTTPS
  • SSL/TLS 버전
  • Forward Secrecy에 해당하는 암호화 제품군

2017년부터 대응 필수

원칙적으로 대응이 필수가 된다. 신규 앱과 기존앱 구분없이 앱스토어에 제출하기 위해서는 ATS활성화가 필수조건이 됨

대상

  • iOS 9이상
  • WKWebView
  • UIWebView
  • NSURLSession
  • NSURLConnection

NSAllowsArbitrayLoads

  • 기본값: No
  • Yes로 설정시
    • NSExceptionDomains(옵션)에서 설정한 도메인이외의 네트워크 연결이 ATS가 사용할 수 없게 됨
  • 앱스토어에 앱 제출시 이에 대한 설명이 필요함
  • NSAllowsArbitraryLoadsInWebContent가 Yes인 경우 해당 키는 사용할 수 없음

NSAllowsArbitraryLoadsInWebContent

  • 기본값: No
  • Yes로 설정시
    • WKWebView, UIWebView 기반 네트워크 연결이 ATS가 사용할 수 없음
    • NSURLSession, NSURLConnection연결은 ATS가 활성화된 상태에서 WebView만 ATS를 사용할 수 없음
  • iOS10이상인 경우 이 키를 Yes로 한다음 NSAllowsArbitraryLoads도 설정함

 

최종 정리해보면,

iOS10이라면 웹뷰에서 ATS를 무시할 수 있게 되었다는 것이다.

 

Facebook Comments

No more articles