iOS10기준 ATS(App Transport Security) 정리

2016-12-27
22 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

모바일 앱 아키텍처
Swift
shares4 views
Swift
shares4 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…

시간차를 얻는 Date Extension
Swift 3.0
shares6 views
Swift 3.0
shares6 views

시간차를 얻는 Date Extension

MJ Kim - 4월 12, 2017

사용자가 남길 내용에 대한 시간표시를 할 때 일정한 시간차를 표현해주는 경우가 있어 이에 대한 Date Extention을 정리해 보았다. [crayon-58fb20615c8e4238207237/]  

Swift 3.1에서 없어진 문법 정리
Swift 3.0
shares34 views
Swift 3.0
shares34 views

Swift 3.1에서 없어진 문법 정리

MJ Kim - 3월 31, 2017

Swift언어는 무엇인가 나올때마다 없어지는 것들이 있어, Swift 3.1에서 컴파일할 수 없게 된 문법내용을 정리했다. switch문을 사용하여 enum에서 protocol을 여러가지 패턴으로…