iOS

ATS(App Transport Security) 설정하기

jangsilverbaby 2021. 11. 22. 11:03

Apple 측에서 앱 자체의 보안성을 위해 ATS(App Trasport Secuirty)라는 정책을 통해 기본적으로 https 통신을 하도록 유도하기 때문에 http 서버로 테스트하기 위해선 Info.plist에서 ATS 부분을 추가해주어야 한다.

 

 

1. Info.plist 파일을 열고 App Transport Security Settings 항목을 추가한다.

2. App Transport Security Settings 하위에 Exception Domains을 추가한다.

3. Exception Domains 하위에 도메인을 설정한다. 도메인 설정 시 맨 앞의 www. 또는 서브 도메인은 제외한다.

4. 도메인 별 설정에 사용할 수 있는 키를 추가한다.

NSExceptionAllowsInsecureHTTPLoads

해당 도메인에 대해 HTTP 접속을 허용할 지 여부를 결정한다. YES로 설정하면 입력된 도메인에 대한 HTTP 통신이 허용된다.

NSIncludesSubdomains

도메인의 서브 도메인까지 설정에 포함할 것인지를 결정한다. YES로 설정하면 입력된 도메인의 ATS 구성이 서브 도메인에도 적용된다. 기본값은 NO

NSExceptionRequiresForwardSecrecy

이 값을 NO로 설정하면 입력된 도메인에 대해 PFS(perfect forword secrecy)라는 비밀키 암호화를 적용하지 않은 상태에서 TLS 보안 암호를 사용할 수 있다. 기본값은 YES

NSExceptionMinimumTLSVersion

입력된 도메인의 네트워크 연결을 위한 TLS 보안 최소 버전을 지정할 수 있다. 다음 값 중 하나를 선택하거나 생략 가능하다.

TLSv1.0

TLSv1.1

TLSv1.2(생략할 경우 기본값)

NSRequiresCertificateTransparency

YES로 설정하면 입력된 도메인의 서버 인증서에 대해 유효하고 서명된 타임 스탬프를 요구한다. 기본값은 NO

 

 

 

참고 : 

꼼꼼한 재은씨의 Swift 실전편

https://www.hahwul.com/2019/03/11/ios-app-http-app-trasport-security/