Microsoft의 LicenseProvider를 사용하여 견고한 라이선스 구성표를 찾으려고합니다. 내 생각은 RSA (2048bit 키를 가진 RSACryptoServiceProvider) 방식으로 비동기 암호화를 사용하는 것이다. 이 방법은 매우 간단하지만이 메커니즘이 실제로 얼마나 안전하지 않은지 확신 할 수 없습니다. 이것은 재미있는 것이 아니며 미국에서 수많은 제품 (100 개 설치)을 복사 방지해야합니다. 만료일은 필요하지 않습니다.제품 라이선스를 보호하기 위해 RSA 암호화를 사용하는 .NET의 LicenseProvider
이제 개인 키를 사용하여 라이센스 파일 (.lic)을 암호화합니다. 고객의 컴퓨터에서 라이센스 관리자는 런타임시 .lic 파일에 저장된 고유 ID와 비교하여 컴퓨터의 고유 ID를 확인합니다. 제품에는 해당 공개 키가 있으므로 파일을 해독 할 수 있습니다. ID가 일치하면 라이센스가 유효하고 프로그램이 시작됩니다.
(BTW 컴퓨터 ID가의 조합이다. MAC 주소 + CPU의 시리얼 + 하드 드라이브 일련 그 변화 중 하나 그래서 만약, 라이센스가 갱신 될 필요가 줘야)
그것은 그렇게 간단입니까? 내가 본 것처럼, .lic 파일을 해독 할 수 있더라도 개인 키가 필요 없기 때문에 .lic 파일을 다시 암호화 할 수 없습니다.
값 비싼 타사 솔루션을 구입하고 라이센스 DLL을 우회하여 RSA + computerID 사용에 대한 아이디어를 얼마나 안전하게 찾을 수 있습니까?
피드백에 대한
감사합니다 (예, 우리는이 더 잘 만들기 위해 코드를 난독 조사 중)!
여기에 잘못되었을 수 있습니다. 개인 키를 사용하여 암호화하는 것을 언급합니다. 사용자와 공유 할 수있는 공개 키를 사용하여 데이터를 암호화한다고 생각합니다. 자신에게 알려진 개인 키로 만 데이터의 암호를 해독합니다. 공개 키가있는 사용자는 데이터를 해독 할 수 없습니다. 개인 키를 사용하여 서명 한 다음 다른 사람이 공용 키만 사용했는지 확인할 수 있다고 생각합니다. –