이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 보안

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

Windows Phone 은 사용자가 신뢰할 수 있는 안전한 소스의 다양한 앱으로 사용자 지정할 수 있는 강력한 사용자 환경을 제공하도록 설계되었습니다. 최종 사용자가 편안함을 느끼고 최적의 휴대폰 환경이 제공되도록 앱을 개발할 때 보안에 유의해야 합니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Windows Phone 앱 플랫폼 은 Windows Phone 에서 타사 앱을 다운로드하고 사용할 때 최종 사용자의 환경 품질을 유지할 수 있도록 도와주는 여러 기술을 통합합니다. 이러한 기술을 통해 처리되는 문제를 다음 세 가지 광범위한 카테고리로 나눌 수 있습니다.

  • 휴대폰 환경 품질. 최종 사용자는 취득하는 앱으로 인해 휴대폰의 응답 성능 저하, 다른 앱이나 휴대폰 자체에 영향을 주는 변경 작업 등의 부정적인 영향이 휴대폰 환경에서 발생하지 않기를 원합니다. 또한 최종 사용자가 어떤 이유로든 휴대폰에서 특정 앱이 더 이상 필요하지 않다고 결정할 경우 앱이 쉽게 제거되고 완전히 제거되어야 합니다.

  • 사용자 정보에 대한 액세스. 최종 사용자는 취득하는 앱이 사용자도 모르게 특정 정보에 액세스하지 않기를 원합니다. 여기에는 개인 데이터, 연락처, 지리적 위치, 사진 등의 정보가 포함됩니다.

  • 청구 가능 이벤트. 최종 사용자는 앱이 사용자 승인 없이 추가 비용을 발생시키는 작업을 수행하지 않기를 원합니다. 예를 들어 1-900 전화 번호로 전화를 거는 앱이 있습니다.

Windows Phone 앱 플랫폼 에는 이러한 문제를 처리하고 최종 사용자가 앱을 체험할 수 있는 정상적인 에코시스템을 조성하기 위한 여러 조치가 포함되어 있습니다.

Windows Phone 앱 플랫폼 의 목표 중 하나는 설계상 보안이 유지되고 기본적으로 보안이 유지되는 앱을 만들도록 하는 것입니다. 이 목표의 달성 과정에서 중요한 측면은 개발 환경과 수명 주기에 여러 보안 보호 기능을 통합하는 것입니다. 예를 들어 Windows Phone 스토어 에서 판매가 승인된 모든 앱에 대해 디지털 서명을 요구하고 자동화합니다.

최종 사용자를 위해 적용되는 보안 조치를 지원하기 위해 앱 개발자는 다음 단계를 수행해야 합니다.

  1. Windows Phone 개발자로 등록하고 ISV로 자신에 대한 정보를 제공한 다음(확인 과정이 적용됨) 관련 요금을 지불합니다.

  2. 권장되는 개발 환경을 취득합니다(무료 버전을 사용할 수 있음).

  3. Windows Phone 앱 개발에 대해 지정된 표준 사례에 따라 Windows Phone 앱을 개발합니다. 더 쉽게 테스트할 수 있도록 개발자는 하나 이상의 Windows Phone 을 개발 장치로 등록하여 앱 전송 및 인증 프로세스에서 디지털 서명되기 전과 개발 중에 앱을 실행하도록 할 수 있습니다.

  4. Windows Phone 스토어 에 포함되도록 Windows Phone 앱을 제출합니다. Windows Phone을 위한 앱 인증 요구 사항에 설명된 대로 이 프로세스에서 공개적으로 문서화된 다양한 인증 테스트가 앱에 적용됩니다. 앱이 이러한 테스트를 모두 통과하면 개발자 대신 디지털 서명되며 Windows Phone 스토어 에서 판매될 수 있습니다.

이 구조적 개발 환경과 프로세스를 준수함으로써 개발자는 최종 사용자의 신뢰도를 높이는 Windows Phone 용 앱 에코시스템을 만드는 과정에 참여하게 됩니다.

이 구조적 개발 플랫폼과 실행 환경에는 개발자의 지적 재산을 보호하기 위한 보호 기능도 포함되어 있습니다. 앱이 Windows Phone 에서 실행되려면 Windows Phone 스토어 에서 발급된 유효한 라이선스가 휴대폰에 있어야 합니다. 즉, 기술이 뛰어난 최종 사용자가 Windows Phone 스토어 를 우회하고 다른 방식으로 앱을 휴대폰에 로드하는 방법을 찾았다 해도 라이선스를 사용할 수 없으면 Windows Phone 에서 앱 실행을 허용하지 않으므로 오랜 노력을 통한 개발자의 결과물을 보호할 수 있습니다.

Windows Phone 앱 플랫폼 은 불필요한 특정 동작을 하는 앱으로부터 Windows Phone 최종 사용자를 보호하기 위한 다양한 기술을 사용합니다.

  • 구조적 앱 전송 및 인증 프로세스에는 문제와 연결될 수 있는 특정 동작을 식별하고 이러한 앱이 Windows Phone 스토어 에서 제공되지 않도록 하는 인증 테스트 제품군이 포함되어 있습니다.

  • Windows Phone 스토어 는 앱 취득, 필수 코드 서명 및 앱 라이선스의 적법한 유일한 소스입니다. 이 방법은 Windows Phone 앱에 대해 일관성 있는 표준 집합을 유지하는 데 도움이 됩니다.

  • Windows Phone 앱은 샌드박스 프로세스에서 실행됩니다. 즉, 앱이 서로 격리되며 엄격하게 구조적 방식으로 휴대폰 기능과 상호 작용합니다. 앱이 데이터 또는 구성 정보를 저장해야 하는 경우 다른 앱의 액세스로부터 보호되는 격리된 저장소를 사용합니다. 앱은 제어된 메커니즘을 통해서만 서로 통신할 수 있습니다. 격리된 저장소에 대한 자세한 내용은 Windows Phone의 데이터를 참조하세요.

  • Windows Phone 앱은 실행 관리자의 감독 하에 실행됩니다. 실행 관리자는 앱이 정의된 특정 규칙에 따라 동작하는지 여부를 측정합니다. 예를 들어 실행 관리자는 포그라운드에 없는 앱의 리소스 사용을 모니터링하고 필요한 경우 포그라운드가 아닌 앱을 종료하여 포그라운드 앱이 보다 빨리 사용자에게 응답하도록 합니다.

  • 특정 앱이 실행되는 샌드박스 프로세스에는 사용자 지정 보안 기능 집합이 있습니다. Windows Phone 앱 플랫폼 은 실행하는 데 필요한 기능만 각 앱에 부여하여 공격을 받을 수 있는 앱 영역을 최소화하도록 설계되었습니다. 예를 들어 앱에서 미디어 라이브러리를 사용할 필요가 없는 경우 Windows Phone 앱 플랫폼 은 미디어 라이브러리에 대한 액세스 권한이 없는 샌드박스 프로세스에서 이 앱을 실행합니다.

    앱에 필요할 수 있는 특정 기능은 정보 액세스나 비용에 직접적인 영향을 줍니다. 이 경우 Windows Phone 스토어 는 앱을 구입하기 전에 이 정보를 최종 사용자에게 공개합니다. 미리 설치된 앱도 앱을 처음 사용할 때 이 정보를 최종 사용자에게 공개해야 합니다.

SDL은 소프트웨어 개발에 집중하는 보안 보장 프로세스입니다. 기존 소프트웨어 개발 수명 주기의 단계별로 그룹화된 필수 보안 활동의 컬렉션입니다. 독립 실행형 기반으로 구현될 경우 이러한 보안 활동은 대부분 어느 정도의 보안 이점이 있습니다. 하지만 Microsoft의 실제 경험에 따르면 반복 가능한 프로세스의 일부로 순차적으로 실행된 보안 활동이 임시 구현에 비해 보안상 이점이 더 클 수 있습니다. 전체적 방법과 실용적 방법을 결합함으로써 SDL은 최종 사용자 보호를 목표로 개발 프로세스의 모든 단계에 보안과 개인 정보 보호를 도입합니다. SDL에 대한 자세한 내용은 SDL 프로세스 지침을 참조하세요.

Microsoft는 개발자가 앱에서 사용할 수 있는 많은 SDL 도구를 제공합니다. Windows Phone 개발자에게 유용한 여러 도구가 있습니다.

SDL 도구

정보

Microsoft SDL Threat Modeling Tool

SDL Threat Modeling Tool을 사용하면 비보안 주제 전문가가 시스템의 보안 설계에 대해 통신하고, 입증된 방법론을 사용하여 이러한 설계의 잠재적 보안 문제를 분석하고, 보안 문제의 완화 방법을 제안 및 관리하여 위협 모델을 만들고 분석할 수 있습니다.

FxCop

FxCop은 정적 분석기입니다. 관리 코드 어셈블리를 분석하고 가능한 설계, 지역화, 성능 및 보안 향상 기능과 같은 어셈블리 정보를 보고합니다.

BinScope

BinScope Binary Analyzer는 이진 파일을 분석하여 SDL 요구 사항 및 권장 사항에 따라 작성되었는지 확인하는 확인 도구입니다. BinScope는 SDL에 필요한 컴파일러/링커 플래그가 설정되고 있는지, 강력한 이름의 어셈블리가 사용되고 있는지, 최신 빌드 도구가 구현되었는지, 양호한 최신 ATL 헤더가 사용되고 있는지 확인합니다. 또한 BinScope는 SDL에서 금지된 위험한 구문을 보고합니다.

MiniFuzz

MiniFuzz File Fuzzer는 파일 처리 코드에서 보안 취약점을 노출할 수 있는 문제 검색을 도와주는 기본 테스트 도구입니다. 이 도구는 응용프로그램에서 파일을 구문 분석하는 Windows Phone 개발자에게 유용할 수 있습니다.

Banned.h

banned.h 헤더 파일은 코드에서 금지된 함수를 제거하기 위한 SDL 요구 사항을 지원하는 삭제 리소스입니다. 이 파일은 금지된 API를 모두 표시하고 개발자가 코드에서 해당 API를 찾을 수 있게 합니다. 이 도구는 웹 서비스를 빌드 중인 개발자에게 유용할 수 있습니다.

서버 SSL 인증서가 대상 웹 사이트에 유효하고 신뢰할 수 있는 인증 기관에서 발급된 경우 SSL 연결을 사용하여 웹 서비스에 연결할 수 있습니다. 앱에서 SSL 연결을 테스트하기 전에 Windows Phone Internet Explorer를 사용하여 웹 사이트를 탐색할 수 있습니다. 브라우저를 사용하는 동안 인증서에서 경고 또는 오류가 발생하면 앱에서도 연결이 실패할 가능성이 큽니다.

Windows Phone 에 포함된 SSL 루트 인증서의 목록을 보려면 Windows Phone OS 7.1용 SSL 루트 인증서를 참조하세요.

신뢰할 수 있는 인증 기관 목록에 인증 기관을 추가할 수 있지만 클라이언트 SSL 인증서는 추가할 수 없습니다.

ProtectedData 클래스를 사용하면 DPAPI(데이터 보호 API)를 통해 데이터를 쉽게 암호화하고 해독할 수 있습니다. 자세한 내용은 Windows Phone 앱에서 데이터를 암호화하는 방법를 참조하세요.

웹 서비스를 사용하여 보안을 처리하는 방법에 대한 자세한 내용은 Windows Phone의 웹 서비스 보안을 참조하세요.

Windows Phone 의 기능에 대한 자세한 내용은 Windows Phone의 앱 기능 및 하드웨어 요구 사항을 참조하세요.

Windows Phone 에서는 다음과 같은 암호화 알고리즘을 지원합니다.

  • AES

  • HMACSHA1

  • HMACSHA256

  • Rfc2898DeriveBytes

  • RSA

  • SHA1

  • SHA256

표시:
© 2015 Microsoft