質問

私は最近、暗号化について少し読み、改ざんからライセンスファイルを保護することに興味がしてきました。今、これは私が提案を開いてよ、その場合には、それを行うための最善の方法ではないかもしれません。しかし、私はそれを守ることを考えていた一つの方法は、単純にそれを暗号化することです。

私は暗号化を使用した場合、

しかし、私は、対称鍵を使用する必要があると思いますが、これは問題を提起します。私は反射鏡などのツールを使用して、ソースコード内のキーを格納した場合、それは本当に価値がありますか?かなり簡単な作業ではinitalizationベクトル、塩、キーなどを得るため、暗号を破るようです。ソース内の鍵を保護する方法はありますか?それとも、これは完全に間違ったアプローチです?

役に立ちましたか?

解決

あなたが改ざんを防止したい場合は、

、あなたは署名/ハッシュではなく、暗号化します。同様の理論 - それはあなたがあなたのサーバー上に保つ(およびライセンスを発行するために使用)、秘密鍵を必要とせずに、アプリ内の公開鍵との検証のファイルできることを意味します。

暗号ハッシュ/署名を検索します。

他のヒント

システムのクライアント側で何が損なわれることができます。

あなたは、ファイルを暗号化する場合は、

あなたも何とかあなたのプログラム内の復号鍵を配置する必要があります。バイナリエディタをお持ちの方は、このキーを検索し、ライセンスファイルを復号化し、また、お使いのシステムのためのキーを作成するためにあなたのコードをステップすることができるようになります。

インターネットの活性化は、行くには良い方法だろうが、彼らはこれらの道路の前にダウンしていただろうとあなたはあなたのためにこれを行うには第三者を見つけることができる場合、私は見るであろう。

傷つけることはできませんいくつかのAES 256暗号化によって、ライセンスファイルを実行していると述べたこと:。)

あなたはMS / .NET環境について話している場合、私はあなたの DPAPIする。 これは、パスワードで保護されたデータを格納するために使用するAPIです。そして、あなたが私に尋ねることができます「しかし、私は同じ問題を抱えている」このシナリオでは、あなたのデータを保護するために、ユーザのパスワードを使用しているので、答えは、ノーです。ですから、あなたのデータにアクセスするために、何をすべきか、特定の資格情報でアプリケーションを実行しています。 MSの環境では、その最善の解決策ます。

ドキュメントから:

DPAPIは、ユーザーのためのデータ保護を提供することに焦点を当てています。それは保護を提供するためにパスワードを必要とするのでDPAPIが途中で、それがないユーザーのログオンパスワードを使用するために、論理的なステップがあります。 DPAPIは、実際にユーザーのログオン資格情報を使用しています。ユーザーがパスワードでログオンに使用される典型的なシステムでは、ログオン資格情報は、単純にユーザーのパスワードのハッシュです。ユーザーがスマートカードでログオンしているシステムでは、しかし、資格は異なるだろう。簡単な問題を保つために、我々は、この資格を参照するために用語のユーザーパスワード、ログオンパスワード、または単にパスワードを使用します。

何をしようとしていることはDRMです。現在のPCのハードウェア上でこれを行うには、100%の方法はありません。あなたがあなたのプログラムの一部を難読化するために取ることができる多くの対策があります。それはあなたがあなたの有料顧客が通過したいどのように多くのハードル難読化したいとどのくらいの間のトレードオフです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top