2011-04-07 1 views
1

나는이 프로세스를 명확히 이해하지 못한다고 생각합니다.외부 복사본에서 실버 라이트 XAP을 방지하는 방법 elses 도메인

큰 SL 응용 프로그램을 만들어 내 웹 페이지에 호스트한다고 가정 해 보겠습니다. 누군가 XAP을 다운로드하면 파일이기 때문에 자신의 웹 페이지에 호스트 할 수 있습니다. 심지어 난독 화 된 경우에도 완벽하게 작동합니다.

나는 그것을 보호하는 방법의 몇 가지 있다고 생각합니다 :

  1. 사용 허가를 내 웹 사이트 (ASP.NET의 인증)에가 적어도 그들은 있도록 SL 응용 프로그램에에서 인증 토큰 통과 은 (어떤 방법으로 번째 인증 토큰을 얻기 위해 내 웹 사이트를 사용해야합니다 비록 경우이 또한 일부 보이지 않는 방식으로 수행 될 수 두번째하지 WebRequest 클래스 또는 사람이 이 일 토큰을 얻기 위해 할 것 모든 것을 할 수 뭔가 같은 & 그러면 은 다른 도메인에서 다시 작동합니다. )이 인증 토큰을 인증하는 WCF 서비스 작업을 사용합니다. 그런 호스팅 경우

  2. 사용하는 일부 WCF 서비스 & 크로스 도메인 제한 확실 XAP 잘 작동하지 않습니다 확인합니다. 두 번째는 유효한 100 % 보호 솔루션 인 경우 웹 사이트에 복잡한 인증을 실버 라이트로 토큰, 그냥 SL 인증이 잘 될 수있는 통과 할 필요가없는 것처럼

보인다.

두 가지 접근 방식에 대한 의견을 듣고 싶습니다.이 상황을 돕는 다른 방법도 있습니다.

XAP을 보호하는 방법이있을 수 있습니다. 특정 도메인에서 다운로드하지 않은 경우 전혀 작동하지 않을 수 있습니다.

답변

0

이유는 해당 문자열을 변경하려면 XAP 파일을 편집 할 수있는 이론 누군가에 어쩌면 Application_Startup

if (Application.Current.Host.Source.Host != "mydomain.com") 
    throw new ApplicationStolenException(); 

,이 같은 일을 할 수 없습니다하지만 당신은 그것을 어렵게 만들 당황하게 할 수있다.

인증 정보가 작동하지 않습니다. 실버 라이트 앱의 인증 토큰은 무엇을 할 것입니까? Silverlight는 세션을 관리하지 않습니다. 누군가가 토큰을 영원히 재사용하지 못하게하려면 어떻게해야합니까?

유일하게 신뢰할 수있는 옵션은 응용 프로그램을 웹 서비스에 의존하는 것입니다. 그리고 의존에 의해 실제로 서버의 로직의 일부를 구현한다는 것을 의미합니다. 그렇지 않으면 당신과 같은 응답을 만들어내는 서비스를 재현하는 것이 쉬울 것입니다.

모든 보안 관련 질문과 마찬가지로 위험과 투자 간의 균형을 유지해야합니다.

+1

그래 잘 .. 문자열을 난독하는 것은 어떤 분명한 확신을 가지고 할 수 있다면 너무 쉬운 것입니다. 우리가 어떤 심각한 기술을 훔치는 시나리오를 고려해 본다면이 보호는별로 가치가 없을 것 같아요? –

+0

나에게 적절한 보호 장치처럼 보입니다 (난독 화가되어 있음).추가 정보로 편집되었습니다. –

+0

예, ofc, 미안 해요, 한 가지 의미와 접근 방식의 차이점은 접근 방식의 차이점은 두 번째 접근 방식입니다. auth는 실제로 필요하지 않습니다. 서비스가 내 웹 사이트가 아닌 다른 다운로드 위치에서 작동하지 않아야합니다. crossdomain policies –