2011-06-15 2 views
5

저는 소프트웨어와 함께 제공되는 라이선스 파일을 변조하는 방법을 알아 내려고 노력했습니다. RSA를보고 서명을 사용하여 데이터를 확인했습니다.RSA를 사용하여 라이선스 파일에 서명하십시오.

기본적으로 일부 데이터 (라이센스 파일)가 있고 RSACryptoServiceProvider의 SignData 메서드를 사용하여 ExportParameters (true)를 통해 만든 공개 키와 개인 키가있는 데이터의 서명을 만듭니다.

그렇다면 VerifyData를 사용하여 클라이언트의 데이터 (라이센스)를 확인할 수 있도록 라이센스 파일과 공개 키를 제공 하겠지만 사용자가 자신의 공개/개인 키 쌍을 생성하지 못하게하고 데이터를 저장하고 공개 키와 데이터를 덮어 씁니까?

나는 인터넷 검색을하고 있지만 아직까지이 문제에 봉착하고있다. 암호화와 서명에 새로운 것이지만 이것을 알아야한다.

나는 마치 코드와 같은 코드를 디 컴파일하여 검사를 제거 할 수있는 것처럼 파일과 같은 라이센스를 확보하는 것이 사실상 불가능하다는 것을 알고 있으므로 소프트웨어를 남용하는 것이 더 어려워지고 싶습니다. 라이센스를 자체적으로 만들거나 한 대의 라이센스를 다른 시스템으로 옮길 수 없도록하십시오.

누구나 올바른 방향으로 나를 가르키거나 조언을 해줄 수 있습니까?

감사합니다.

+0

Java 라이센스를 얻으려는 본인 스스로 조사했습니다. 필자의 경우 클라이언트가 정품 인증 서버를 기꺼이 설정하지 않아서 소프트웨어가 라이센스를 확인할 수 있으므로 암호화/암호 해독 방법을 취해야했습니다. 내가 한 것은 라이선스의 복사본을 다른 위치로 보내지 않으려면 라이선스 및 만료일 및 볼륨 제한 등의 고객 세부 정보를 인코딩하는 것이 었습니다. 고객이 자바를 이해했다면 제품 정품 인증을 다루는 클래스를 대체 할 수는 있었지만 쉽게 방지 할 수는 없습니다. –

+0

나는 라이센스 파일을 암호화하고 클라이언트에서 해독하는이 접근법도 살펴 보았습니다. 열쇠는 어디에 보관 했니? 소프트웨어에 포함 시키거나 파일에 넣었습니까? –

+0

정품 인증 서버가 불쾌감을 느낍니다. 특정 소프트웨어를 실행할 수 있으려면 회사 네트워크의 보안과 관련이있을 수있는 취약점을 검사하는 것이 금지 된 비 감사 네트워크 서비스를 지속적으로 실행해야합니다. –

답변

4

아무 것도 멈추지 않을 것입니다. 소프트웨어 라이센싱에 암호화를 적용하는 전체 요점은 법원에서 사용하기위한 더 강력한 증거를 만드는 것입니다.

라이선스 시스템을 우회하는 데 너무 많은 시간을 투자하지 마십시오. (복잡해지면 더 많은 사람들이 도전으로 보게 될 것입니다.) 대신 지불하는 고객이이를 방해하지 않도록하십시오.

+0

그래, 그건 내 고객에게 내 대답이야. 클라이언트의 명시된 요구 사항을 충족하지 못하기 때문에 현재 솔루션이 만족스럽지 않습니다. –

+0

네가 옳다. 나는 모든 것을 쉽게 접근 할 수 없도록하거나 라이센스 파일을 다른 컴퓨터로 옮길 수 없다. 정품 인증 서버에 대한 Simons의 의견에 동의합니다. –

+0

사람들이 다른 컴퓨터로 라이센스를 이동하는 것을 막는 어려움은 종종 라이센스를 새 설치로 옮기는 것을 방해하기 때문입니다. –