iOS 앱의 TLS 보안 연결 강제 실행

iOS 9부터는 모든 앱에서 TLS(Transport Layer Security) 프로토콜 버전 1.2를 적용해야 합니다. 개발 환경에서는 이 프로토콜을 사용 안함으로 설정하고 iOS 9 요구사항을 무시할 수 있습니다.

이 태스크 정보

Apple ATS(App Transport Security)는 앱과 서버 간 연결에 대한 우수 사례를 적용하는 iOS 9의 새 기능입니다. 기본적으로 이 기능은 보안을 개선하는 일부 연결 요구사항을 강제 실행합니다. 이는 클라이언트 측 HTTPS 요청 및 서버 측 인증서와 다음 비밀 유지를 통해 TLS(Transport Layer Security) 버전 1.2를 준수하는 연결 암호를 포함합니다.

개발용으로 사용할 경우, 앱 전송 보안 기술 노트에 설명된 대로 앱에서 info.plist 파일에 예외를 지정하여 기본 작동을 대체할 수 있습니다. 그러나 전체 프로덕션 환경에서 모든 iOS 앱이 적절히 작동하도록 TLS 보안 연결을 강제 실행해야 합니다.

비TLS 연결을 사용으로 설정하려면 다음 예외가 <project>\Resources 폴더의 <projectname>info.plist 파일에 나타나야 합니다.
<key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
    
  <!--Include to allow insecure HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
    </dict>
  </dict>

프로시저

  1. 프로덕션을 준비하려면 이 페이지에서 이전에 나타나는 코드를 제거하거나 주석 처리하십시오.
  2. 다음 항목을 사용하여 HTTPS 요청을 사전에 보내도록 클라이언트를 설정하십시오.
    <key>protocol</key>
    <string>https</string>
    
    <key>port</key>
    <string>10443</string>

    SSL 포트 번호는 httpEndpoint 정의에서 server.xml의 서버에 정의됩니다.

  3. TLS 1.2 프로토콜에 대해 사용으로 설정된 서버를 구성하십시오.

    자세한 정보는 TLS V1.2를 사용으로 설정하도록 MobileFirst 서버 구성을 참조하십시오.

  4. 설정에 적용되므로 암호 및 인증서를 설정하십시오.

    자세한 정보는 앱 전송 보안 기술 노트, WebSphere® Application Server Network Deployment에 대해 SSL(Secure Sockets Layer)를 통한 보안 통신Liberty 프로파일에 대해 SSL 통신 사용 설정을 참조하십시오.