iOS10기준 ATS(App Transport Security) 정리

2016-12-27
34 Views

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

You may be interested

Gif 애니메이션으로 로딩 구현하기
Swift 3.0
shares5 views
Swift 3.0
shares5 views

Gif 애니메이션으로 로딩 구현하기

MJ Kim - 5월 24, 2017

이번에는 MBProgressHUD 라이브러리와 FLAAnimatedImage 라이브러리를 사용하여 gif 애니메이션을 사용하는 방법을 정리해본다. Cocoapods를 사용하여 라이브러리를 추가해도 되고 Carthage를 사용해서 추가해도 된다.…

Bluetooth기반 iOS기기로 통신하기
Swift 3.0
shares5 views
Swift 3.0
shares5 views

Bluetooth기반 iOS기기로 통신하기

MJ Kim - 5월 23, 2017

제 블로그에 관심이 있는 분이 블루투스를 사용한 방법을 알려달라고 하셔서 좀더 이해하기 쉬운 방법을 고민해서 한가지 팁을 공유합니다. 블루투스(Bluetooth)로 1대1로…

Apple지도 및 구글지도 앱을 여는 방법
Swift 3.0
shares7 views
Swift 3.0
shares7 views

Apple지도 및 구글지도 앱을 여는 방법

MJ Kim - 5월 16, 2017

지도 중심에 핀을 넣기 특정 지점에서 특정지점 루트를 표시하기  Apple 지도 앱 지도 중심에 핀세워서 위치 표시 [crayon-59264a692bc1d210133083/] 경로 표시…