2015-01-16 2 views
3

저는 C# 및 xaml 기술을 사용하는 Windows 전화 개발자입니다.
현재 클라이언트 용 뱅킹 응용 프로그램을 만들고 있는데 Windows 전화 8.1 OS 버전을 대상으로합니다.내 Windows 전화 8.1 응용 프로그램을 보호하는 방법?

그리고 Windows Phone xaml app 템플릿을 사용하여 만들고 있습니다.

은행 업무 응용 프로그램이므로 최대한 안전하게 처리해야합니다. Appx 파일을 은행 기술팀에 보내면 앱 보안에 대해 우려를 나타 냈습니다. 그리고 그들은 리버스 엔지니어링 과정을 통해 제가 작성한 코드를 저에게 보냈습니다.

내가해야 할 사항은 무엇입니까? 어떤 방법으로 이러한 유형의 취약점을 피할 수 있습니까? 이것을 피하기 위해 최선의 방법을 제안하십시오.

감사

+0

'.appx' 파일의 보안을 설정하겠습니까? – Kulasangar

+0

아이디어의 부부 : 당신은 [코드 난독 화] (http://en.wikipedia.org/wiki/Obfuscation_ (소프트웨어))를 생각해 볼 수 있습니다. C++에서 몇 가지 중요한 방법을 쓰십시오. (뒤집기가 더 어려워야합니다.) 민감한 데이터 (strigns 등등), 일부 데이터를 암호화하려면 PasswordVault를 사용하십시오. – Romasz

답변

3

은행 응용 프로그램의 보안은 클라이언트 코드가 비밀이 아니어야합니다. 공격자로부터 비밀을 지키는 것은 불가능하기 때문에 클라이언트에 비밀을 저장하면 안됩니다.

암호화 된 통신 (https)을 사용하여 서버와 통신합니다. 사용 된 인증서의 유효성을 검사하고, 사용자를 인증하고, 서버에 제한된 시간 동안 액세스 토큰을 발행하도록합니다. 이것들은 업계 최고의 모범 사례입니다. 자신의 보안 조치를 고안하지 마십시오.

+0

예! 권리. 저장 폴더에 저장된 파일에서 문자열을 암호화해야합니다. 우리는 서버와의 통신에 https를 사용하고 있습니다. – asitis

+0

누군가 내 코드에 액세스하여 내 API 및 암호화 코드 세부 정보에 액세스하면 어떻게됩니까? – asitis

+0

누군가 코드에 침투하여 토큰을 도용하면 해당 특정 사용자에 대해 애플리케이션과 동일한 액세스 권한을 갖게됩니다. 유효한 애플리케이션과 악성 애플리케이션을 확실하게 구분할 수있는 방법은 없습니다. 따라서 사용자가 실제로 필요로하는 권한 만 가지고 있고 더 많은 권한은 가지고 있지 않은지 확인하십시오. – MvdD

2

패키지가 가게에 제출되었다되면, 암호화하고 원됩니다

내가 ... 은둔 보안은 더 이상 정말 예술의 상태가 아니다라고 말하고 싶지만 ' 더 이상 리버스 엔지니어링하기가 쉽지 않습니다. 저장소에서 다운로드 한 패키지를 역 컴파일하도록 요청할 수 있습니다. 당신이 할 수있는

다른 점은 리버스 엔지니어링에 코드를 어렵게 자신에 의해 난독을 사용하고 있습니다.

당신은 그러한합니다 (PasswordVault를 사용하여 예를 들어) 로컬에 저장된 날짜를 암호화 할 수 있는지 확인해야합니다.

그러나 결국

, 당신은 여전히 ​​전화 자체가 정말의 그것을 통해 작업 할 사람이 있다면, 그는 항상 그렇게 할 수에 코드를 제공해야합니다. 당신은 단지 그것을 더 어렵게 할 수 있습니다.

업데이트 : 방금 ​​체크했는데 설치 파일의 저장소 암호화는 XAP (Silverlight) 파일에 대해서만 유효합니다. 아직 appx 파일에 대한 공식적인 상태는 없지만 확실히 올 것입니다.

자세한 here를 참조하십시오.

+0

상점에서 암호화 한이 패키지에 대한 참조 사항이 있습니까? – Romasz

+1

사실 ... 누군가가 소스 코드를 가지고 있어도 보안이 유지되는 방식으로 앱을 디자인해야합니다 ...이 방법을 사용하는 것이 유일한 방법입니다 ... –

+0

@Romasz : 그냥 확인했습니다. XAP에서만, 아직 appx에서는 슬프게도 안됩니다. :(업데이트 된 답변 –

관련 문제