[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🍎 Apple/Swift

[Swift] ATS (App Transport Security)

inu 2022. 5. 12. 21:44
반응형

iOS - ATS (App Transport Security)

ATS란

  • iOS 9에 도입된 보안기능
  • TLS, AES, SHA-2를 사용하여 구성되어 있습니다.
  • 기본적으로 암호화되지 않은 정보(HTTP)를 허용하지 않습니다. (HTTPS 사용권장)
  • 설정을 수정하면 HTTP 접속을 허용할 수 있지만 앱 심사에 통과되지 못할 가능성이 있기 때문에 일반적으로 권장되지는 않습니다.
  • 이를 수정해야하는 '정당한' 이유가 있어야 합니다.

설정 방법

  • 아래는 ATS 설정을 수정하는 방법입니다.
  • info.plist에서 주로 설정을 관리합니다.

info.plist에서 Add Row를 클릭해 새로운 열을 생성합니다.

App Transport Security Settings을 입력합니다. 여기에 미리정의된 Key와 Value를 입력하여 설정을 변경할 수 있습니다.

오른쪽의 + 버튼을 클릭하면 새로운 Key와 Value를 입력할 수 있습니다. 이를 활용해 Allow Arbitary Loads를 YES로 설정해줍시다.

이렇게하면 모든 연결이 허용됩니다. 하지만 이는 조금위험하기 때문에 앞서말했듯이 일반적으로 권장되지 않습니다.

Exception Domains를 활용해 https 없이 연결이 필요한 도메인을 따로 추가해주는 것이 좋습니다. (NSExceptionAllowInsecureHTTPLoads의 값 역시 YES로 추가해주어야 합니다.)

sub domain까지 예외에 포함시키고싶다면 www를 없애고 추가로 NSIncludesSubdomains를 YES로 설정합니다.

 

이 외에도 사용가능한 여러 Key가 있습니다.

 

이들에 대해서는 공식문서: NSAppTransportSecurity를 참고해주세요.

반응형

'🍎 Apple > Swift' 카테고리의 다른 글

[Swift] CodingKeys / Custom CodingKeys  (0) 2022.05.12
[Swift] JSON Encoding / Decoding  (0) 2022.05.12
[Swift] 순열과 조합 구현  (2) 2022.04.25
[Swift] Queue (Deque) 구현  (0) 2022.04.25
[Swift] Method Swizzling  (0) 2022.04.10