1

プロダクトキーを生成して検証する必要があり、公開/秘密キーシステムの使用を検討しています。

に基づいてプロダクトキーを生成します

  • クライアント名(可変長の文字列の場合もあります)
  • 6桁のシリアル番号。

プロダクトキーが扱いやすい長さ(16文字程度)であるとよいでしょう

ベースでそれらを暗号化してから、復号化/検証システムを分散させる必要があります。私たちのシステムはマネージコード(.NET)で記述されているため、暗号化システムを配布するのではなく、復号化のみを配布します。公開秘密鍵が必要です。これを行うには良い方法のようです。保持している1つの鍵で暗号化し、復号化/検証に必要なもう1つの鍵を配布します。

上記の要件でこれを行うための適切なメカニズムは何ですか?

注:著作権侵害を止めることではありません。これは、初心者ユーザーが不要な/使用を許可されていないコンポーネントをインストールする可能性を減らすためです。

4

3 に答える 3

1

.NET は、 http://msdn.microsoft.com/en-us/library/ms867080.aspxなど、さまざまな方法で公開キー暗号化をサポートしています。そうは言っても、得られるのは、リリースされたコードに完全にアクセスできる人が自分のプロダクト キーを発行する能力を持っていないという確信だけです。これは、有効なキーとして何かを受け入れるようにクライアントにパッチを適用することを妨げるものではありません。そこに難読化が適しています。

于 2010-06-17T00:40:43.883 に答える
-2

私は非常に似たようなことをしました。しかし、私の場合は単純な電話認証コードでした。ユーザーは電話番号に電話をかけ、会社名と実行中の操作を伝え、コードを取得してアプリケーションに入力すると、先に進むことができます。

私がしたことは、データの一部をバイナリにシリアル化することでした。データには、ハッシュ化された会社名、操作コード/有効期限が含まれており、将来の要件に備えるスペースがありました。次に、配列の周りにビットを散らして混乱させました。次に、バイナリ配列の各 5 ビットを 32 文字の認証コード アルファベット (0 ~ 9、az、電話で読みやすくするために I/O/Q/S を除く) にマッピングしました。

これにより、4x4 ブロック (####-####-####-####) として表示される 16 文字の適切な認証コードが得られました。ユーザーは一度に 4 文字を聞くだけでよいため、電話で簡単に読み上げることができ、SMS で送信することもできました。

あなたの問題と同様に、これはBletchley Parkのコード クラッカーを阻止することを意図したものではありませんでしたが、平均的なオフィス ワーカーが会社の手順に従わずに何かを行うのを阻止するには十分でした。そして、その範囲を考えると、非常に効果的です。

于 2010-06-17T14:00:59.983 に答える
-2

著作権侵害対策に凝ろうとしてもいけません。それはそれだけの価値はありません。私は数え切れないほどのアプリケーション (ハッシュ) をクラックしましたが、.NET のアプリケーションは断然最も簡単です。しかし、実際には、十分な経験があれば、それらはすべて比較的簡単です。信じられない場合は、isohunt をチェックしてみてください。

tl;dr: 負け戦です。それと戦わないでください。本当に勝ちたいのなら、侵害を訴えるが、それでも負ける。

于 2010-06-17T00:56:36.413 に答える