Microsoft の LicenseProvider を使用して、しっかりしたライセンス スキームを見つけようとしています。私の考えは、RSA(2048ビットキーのRSACryptoServiceProvider)による非同期暗号化を使用することです。これは非常に簡単であることがわかりましたが、メカニズムが実際にどれほど安全かはわかりません. これは楽しみのためではなく、米国内の多くの製品 (約 100 のインストールについて話している) をコピー プロテクトする必要があります。有効期限は不要です。
ここで、秘密キーを使用してライセンス ファイル (.lic) を暗号化します。顧客のコンピューターでは、ライセンス マネージャーがコンピューターの一意の ID を実行時に .lic ファイルに格納されている一意の ID と照合します。製品には対応する公開鍵があるため、ファイルを復号化できます。ID が一致すると、ライセンスは有効になり、プログラムが開始されます。
(ところで、コンピュータ ID は、MAC アドレス + CPU シリアル + ハード ドライブ シリアルの組み合わせです。したがって、これらのいずれかが変更された場合、ライセンスを更新する必要があります)。
それはとても簡単ですか?.lic ファイルを復号化できたとしても、必要な秘密鍵がないため、再度暗号化することはできません。
さて、高価なサード パーティ ソリューションを購入し、ライセンス DLL をクラッキングして回避する以外に、RSA+computerID を使用するこのアイデアはどの程度安全だと思いますか?
(はい、これを改善するためにコードを難読化することを検討しています)
フィードバックをお寄せいただきありがとうございます!