티스토리 뷰

iOS

[iOS] App Transport Security (ATS) 톺아보기

국산 앨런 2019. 9. 5. 07:38

ATS

애플리케이션과 웹 서비스 사이에 통신 시 보안 향상을 위한 기능으로 iOS 9.0, macOS 10.11부터 적용 가능합니다.

 

모든 인터넷 통신 시 안전한 프로토콜을 사용하도록 보장하는 것으로 사용자의 민감한 정보가 유출되는 것을 방지합니다.

 

URLSession, CFURL 그리고 NSURLConnection API를 이용해 데이터를 주고받을 때 ATS 기능을 기본적으로 사용하게 됩니다.

 

ATS가 활성화되어있을 때는 HTTP 통신을 할 수 없으며 애플에서 권장하는 아래 요구 사항을 충족하지 않은 네트워크는 연결에 실패할 수 있습니다.

 

예외사항

애플리케이션이 ATS가 요구하는 사항을 충족하기 힘든 경우, ATS 기능을 비활성화할 수 있습니다. 아래는 ATS 기능을 사용하지 않을 수 있는 예외사항입니다.

  • AVFoundation 프레임워크를 통한 스트리밍 서비스
  • WebKit을 통한 콘텐츠 요청
  • 로컬 네트워크 연결
  • 그 외에는 서버가 최신 TLS 버전으로 업그레이드할 때까지 애플리케이션의 유지 보수를 위해 일시적으로 ATS 기능을 사용하지 않는 것이 가능하며, App Store 심사 시 정당한 이유를 설명하는 문서가 필요할 수도 있습니다.
  • ATS 기능 비활성화 방법 : 해당 프로젝트의 info.plist 파일에서 설정합니다.

모든 HTTP 통신 허용 : 암호화 하지 않은 통신이므로 불가피한 때 외에는 사용하지 않는 것이 좋습니다.

 

 

 

 

 

 

참고 : https://www.edwith.org/boostcourse-ios/lecture/20810/

댓글
공지사항