티스토리 뷰

 

통신과정에서 다음과 같은 로그와 마주하게 되었다.

 

"unable to determine interface type without an established connection"

"unable to determine fallback status without a connection"

간단히 해석하면 "연결 설정이 되어 있지 않은 경우 인터페이스 타입을 결정할 수 없다."가 될 것 같다.

네트워크 통신과정에서 눈에 띄는 문제는 없었으나 어쨋든 이런 로그가 찍히면 불안하기 때문에 무엇이 문제인지 찾아보았다.

 

서버사이드 문제로 애플에서 요구하는 *TLS(전송계층보안)를 충족하지 못할 경우 위와 같이 로그가 뜨거나 실제 기기에서 네트워크 통신이 안되거나 하는 문제가 발생하는 것 같다. 

 

* TLS: 전송 계층 보안, 암호 프로토콜로 서버와 클라이언트 애플리케이션이 네트워크로 통신하는 과정에서 도청, 간섭, 위조를 방지하기 위해 설계됨 

support.apple.com/en-us/HT210176

 

Requirements for trusted certificates in iOS 13 and macOS 10.15

Learn about new security requirements for TLS server certificates in iOS 13 and macOS 10.15.

support.apple.com

HTTPS의 경우 TLS를 사용해 암호화된 연결을 하는 HTTP프로토콜이다.

HTTPS프로토콜을 사용해도, 다음과 같은 조건을 충족하지 못하면 TLS문제와 마주할 수 있다.

 

1. 서버는 TLS(Transport Layer Security) 프로토콜 버전 1.2 이상을 지원해야 함

2. 적어도 2048비트 이상의 RSA 키 사용해야 함

...

 

해결 방법:

ATS는 App Transport Security의 약자로 민감한 정보가 유출되는 것을 방지하고 인터넷 통신 시 안전한 프로토콜을 사용하도록 보장하는 역할을 한다.  Ex) 보안이 취약한 네트워크의 경우 연결을 차단

그래서 보통 HTTP 서버와 통신을 할 경우 info.plist 파일에서 App Transport Security Settings 추가 후 Allow Arbitrary Loads를 YES로 설정하는데, TLS 문제의 경우도 다음과 같이 설정함으로써 문제를 해결할 수 있다. 

 

 

댓글
링크
최근에 올라온 글
최근에 달린 댓글