iOS10기준 ATS(App Transport Security) 정리

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

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares111 views
Swift 3.0
shares111 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares7 views
IoT by Raspberry Pi
shares7 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…