ソフトウェアを違法な配布からどのように保護しますか?[閉まっている]


90

クラッキング、ハッキングなどからソフトウェアをどのように保護するのか興味があります。

何らかのシリアル番号チェックを採用していますか?ハードウェアキー?

サードパーティのソリューションを使用していますか?

ライセンスの問題をどのように解決しますか?(例:フローティングライセンスの管理)

編集:私はオープンソースではなく、厳密に商用のソフトウェア配布について話している...


77
誰かが私のソフトウェアを海賊版する日を待っています。それは素晴らしいでしょう!

4
問題は、誰かがあなたのソフトウェアを海賊版にしたとき、あなたはおそらくそれについて知らないでしょう:-)
petr k。

7
私の意見では、とにかくパイレーツはあなたのソフトウェアの代金を払うことはありそうもないので、私はそれらについてあまり心配していません。優れたソフトウェアを作成すれば、お金を稼ぐことができます。
マイク

6
犯罪はありませんが、「優れたソフトウェアを作成すれば、お金を稼ぐことができます」というのは、ほんの一部しか正しくありません。MS Officeを検討してください。批判はさておき、それは良いソフトウェアです。しかし、世界平均では、Officeコピーの70%以上が違法です。海賊行為がなければ、MSはもっと多くの収入を得るのではないでしょうか?海賊行為は本当にソフトウェアの品質に直接関係していますか?
petr k。

5
@petr k .:同意しない。海賊行為の1つの重要な副作用は、実際にはMSOffice(さらに言えばMSWindows)の人気です。海賊行為を完全に抑制できれば、MSは負けます。@マイク:それは非常に良い点です。ライセンスサーバーなどを配置することで、有料のお客様に困難を
もたらし

回答:


74

利用可能な保護は数多くあります。キーは次のとおりです。

  • ターゲットオーディエンスの評価、およびターゲットオーディエンスが許容できること
  • 無料でプレイしたいという視聴者の欲望を理解する
  • 誰かがあなたの保護を破るために出して喜んでいる量を評価する
  • ほとんどの人が支払いを回避できないようにするだけの十分な保護を適用し、ソフトウェアを使用する人を困らせません。

壊れないものはないので、これらのことを測定して適切な保護を選択することは、余裕のある最高の(最悪の)保護を単純に叩くよりも重要です。

  • 簡単な登録コード(オンラインで1回確認)。
  • 取り消し可能なキーを使用した簡単な登録。オンラインで頻繁に確認されます。
  • 暗号化されたキーはプログラムアルゴリズムの一部を保持します(チェックをスキップするだけではなく、プログラムが機能するために実行する必要があります)
  • ハードウェアキー(公開/秘密キー暗号化)
  • ハードウェアキー(キーで実行されるプログラムアルゴリズムの一部を含む)
  • Webサービスは重要なコードを実行します(ハッカーはそれを見ることができません)

上記のバリエーション。


使用中のハードウェアキーの例はありますか?
ルカシュルー

2
@Lukasz-ドングルとも呼ばれます-コンピューターに接続する電子デバイス。チェックアウトen.wikipedia.org/wiki/Dongleをこのオプションの詳細については。
アダムデービス

28

どのようなルートを選んでも、適正な価格を請求し、簡単にアクティブ化し、無料のマイナーアップデートを提供し、ソフトウェアを非アクティブ化しないでください。ユーザーを尊重して扱う場合、ユーザーはそれに報いるでしょう。それでも、あなたが何をしても、何人かの人々がそれを著作権侵害することになります。


よく言った。ソフトウェアの保護については、キーとシリアルだけではないことに同意します。技術的な保護はとにかく壊れやすいので、私たちはそれらに過度の負担をかけるべきではありません。
Jaya Wijaya

うん、私がソフトウェアを海賊版にする主な理由(もちろん、私が持っているものではありません; D)は、法外な価格です。もちろん、ユーザーが料金を払わないと、結局はお金が減ります。だから公正な価格に固執すれば、あなたはかなりの金額を稼ぐでしょう。
ポンカドゥードル

24

しないでください。

海賊は海賊になります。どのようなソリューションを考えても、クラックされる可能性があります。

一方、実際の有料顧客はがらくたに不便をかけられている顧客です。


6
それは正確には当てはまりません。単にソフトウェアについて考えないだけでソフトウェアを使用する無知なユーザーがいます。普通の人はそれについて考えなければ盗むでしょう。
Arthur Thomas

9
同意する。私が実際に支払ったDVDのイントロで「車を盗まないだろう」というFBIにいつも腹を立てています。
クリスチャンダベン09/09/21

6
正しく行われると、正当なユーザーにはほとんど見えなくなります。そして、収益に対するカジュアルな海賊行為の影響を過小評価しないでください。「DRM」が収益に大きな違いをもたらすことができるほど需要に柔軟性がない市場はたくさんあります。
smo 2008


4
@MarkJ:実際、顧客を維持したいコード所有者は、顧客の
視点

22

盗むより買うことを簡単にします。もしあなたがコピー保護の山を置くなら、それは本当の取引を所有する価値をかなり低くするだけです。

シンプルなアクティベーションキーを使用し、アクティベーションキーを紛失した場合はいつでもアクティベーションキーを取得するか、ソフトウェアを再ダウンロードできることをお客様に保証します。

コピープロテクション(マルチプレイヤーゲームや銀行に接続するファイナンスソフトウェアなどのオンラインのみのコンポーネントを除く)はすべて無効になると想定できます。少なくとも、ソフトウェアを違法にダウンロードすることは、ソフトウェアを購入するよりも少し難しいでしょう。

コピープロテクトジャンクが非常に多く、実際には偽のバージョンをダウンロードする方が簡単なため、私が開いたことのないPCゲームを持っています。


++「盗むより買うのを簡単にする」。
AlcubierreDrive 2010

+++「盗むより買うのを簡単にするため」!
Denis Shevchenko

15

ソフトウェア保護はお金に見合うものではありません。ソフトウェアが需要があれば、何があってもそれ打ち負かされます。

つまり、ハードウェア保護は適切に機能します。それがうまく機能する方法の例は次のとおりです。ソフトウェアの(かなり)シンプルだが必要なコンポーネントを見つけて、Verilog / VHDLに実装します。公開鍵と秘密鍵のペアを生成し、チャレンジ文字列を取得して秘密鍵で暗号化するWebサービスを作成します。次に、公開鍵を含み、ランダムなチャレンジ文字列を生成するUSB​​ドングルを作成します。ソフトウェアは、USBドングルにチャレンジ文字列を要求し、暗号化のためにサーバーに送信する必要があります。次に、ソフトウェアはそれをドングルに送信します。ドングルは、公開鍵で暗号化されたチャレンジ文字列を検証し、「有効」モードになります。ソフトウェアは、HDLで記述した操作を実行する必要があるときはいつでもドングルを呼び出します。

編集:検証の一部が本来あるべきものから逆になっていることに気づきましたが、アイデアが出くわすと確信しています。


2
それらのほとんどはそのように機能しませんが、アルゴリズムの一部を実装し、公開鍵認証を実行しません。たとえば、AutoCAD(または3dsmaxでしたか?)は、ドングル上で行列を回転させました。ドングルがない場合、回転は/わずかに/オフになり、時間の経過とともに増加します。
Cody Brocious

1
それは巧妙なトリックです。ソフトウェアが正しく登録されていない場合は、ソフトウェアを正しく動作させないでください。完全に間違っているわけではありませんが、最初は気付かない程度の誤りです。
rpetrich 2008

1
また、ソフトウェアの保護にUSBドングルを使用することを決定するときは、最近の多くのソフトウェアが物理ハードウェア(USBポートなど)へのアクセスが制限される仮想環境で実行されることを覚えておいてください。交換用ドングルも含まれます(そう、お客様はドングルを「失う」ことになります)。
PoppaVein

1
また、これらのドングルにも亀裂があります。チャレンジ/レスポンスタイプに表形式のレスポンス(実際のドングルから記録されたもの)を使用する場合と同様に、ドングルは無効です。アルゴリズムでエンコードされたタイプの場合は、逆アセンブルされ、アルゴリズムがアプリのバイナリに再挿入されます。
Chii

5
このタイプの保護により、Cubase / Nuendo(Windowsの主要なDAWソフトウェア)が数年クラックされるのを防ぎました。ハッキングされる最後のバージョンには、クラッカーから少し注意がありました。彼らはそれが彼らが受けた最も難しい亀裂であると主張しました。また、プログラムルーチンの多くがドングルにぶつかったため、ソフトウェアのパフォーマンスが低下したとも述べています。エミュレートされたドングルははるかに速く機能しました。多くの正当なユーザーは非常に腹を立てており、パフォーマンスを向上させるためにとにかくクラックをインストールしてしまいました。
Alex

15

マイクロソフトソフトウェアライセンススキームは、中小企業にとって非常に高価です。自分で設定する場合、サーバーのコストは約12,000ドルです。心の弱さにはお勧めしません。

実際、Intellilockを製品に実装しただけです。これにより、ライセンスをどの程度厳格にしたいかについてすべての決定を下すことができ、コスト効率も非常に高くなります。さらに、難読化、コンパイラ防止なども行います。

私が中小企業で使用しているのを見た別の良い解決策はSoloServerです。これは、eコマースおよびライセンス管理システムの詳細です。それは非常に構成可能で、少し複雑すぎるかもしれません。しかし、それは私が聞いたことから非常に良い仕事をします。

以前、ドットネットのDesawareライセンスシステムも使用しました。上記の2つに比べてかなり軽量なシステムです。暗号的に健全な点で非常に優れたライセンス管理システムです。ただし、これは非常に低レベルのAPIであり、アプリが実際に使用するほぼすべてのものを実装する必要があります。


9

デジタル「権利」管理は、業界で単一の最大のソフトウェアヘビ油製品です。古典的な暗号化からページを借りるために、典型的なシナリオは、アリスがチャーリーがそれを読むことができない状態でボブにメッセージを取得したいというものです。DRMは機能しません。アプリケーションでは、ボブとチャーリーは同じ人物です。

あなたは逆の質問をする方がよいでしょう。それは「ソフトウェアを盗むのではなく、どうやって人々に購入させるのか」です。そして、それは非常に広範な質問です。しかし、それは一般的に研究を行うことから始まります。販売したい種類のソフトウェアを誰が購入するのかを把握し、それらの人々にアピールするソフトウェアを作成します。

これに対する追加の目的は、更新/アドオンを正当なコピーのみに制限することです。これは、購入トランザクション中に受け取った注文コードと同じくらい簡単なものにすることができます。

Stardockソフトウェア、WindowBlindsのメーカー、Sins of a Solar Empireなどのゲームをチェックしてください。後者にはDRMがなく、$ 2Mの予算からかなりの利益を上げています。


よく言い換えられた逆の質問の+1!
Ilari Kajaste 2009

6

プロセッサIDを使用して「アクティベーションキー」を生成するなど、いくつかの方法があります。

肝心なのは、誰かがそれを十分に望んでいる場合、あなたが持っているあらゆる保護をリバースエンジニアリングするということです。

最もフェイルセーフな方法は、実行時のオンライン検証またはハードウェアハスプを使用することです。

幸運を!


4

少し時間があれば、ソフトウェアは常に解読されます。これを確認するために、よく知られたソフトウェアのクラックされたバージョンを検索できます。しかし、それでもソフトウェアに何らかの保護を追加する価値はあります。

不正直な人々はあなたのソフトウェアにお金を払うことは決してなく、常にクラックされたバージョンを見つけて使用することを忘れないでください。非常に正直な人々は、それが彼らがそういう人であるという理由だけで、ライセンス制度がなくても常に規則を守るでしょう。しかし、大多数の人々はこの2つの両極端の間にいます。

単純な保護スキームを追加することは、中間にいる大多数の人々に正直に行動させる良い方法です。これは、ソフトウェアが無料ではなく、適切な数のライセンスの代金を払うべきであることを思い出させるための方法です。多くの人が実際にこれに応答します。マネージャーは自分のお金を使っていないので、企業は特にルールを守ることに長けています。消費者は自分のお金であるため、規則を守る可能性は低くなります。

しかし、Electronic ArtsのSporeなどのリリースに関する最近の経験から、ライセンス供与ははるかに進んでいることがわかります。あなたが合法的な人々でさえ、絶えず検証されているので犯罪者のように感じさせると、彼らは反逆し始めます。したがって、人々に不正直であるかどうかを思い出させるためにいくつかの簡単なライセンスを追加しますが、それ以上のものは売上を押し上げる可能性は低いです。


3

World of Warcraft(WoW)のようなオンライン専用ゲームで作成されており、全員が毎回サーバーに接続する必要があるため、アカウントを常に確認できます。Beanには他の方法は機能しません。


1
まあ、これは、たとえばソフトウェアの90%にとって現実的な解決策ではないと思います。私は投稿でもっと明確にすべきだった-私たちが構築しているソフトウェアはオンラインゲームではない。質問は一般的なものでしたが、あなたの答えはもちろんかなり有効です。
petr k。

3
さて、支払いが必要ない利用可能なプライベートサーバーがあります。
Black Lives Matter

確かに、Petrは誰にとっても現実的ではありませんが、それでも真実です。他の方法は機能しません。不便、確かですが、本当です。
ジェフ

3

まさにあなたが探している答えではありませんが、海賊になぜそれをするのか積極的に尋ねたゲーム開発者からの海賊行為に関する素晴らしいリソースです。そして、あなたが選択した答えの最初の部分に関連しています。

トーキングトゥパイレーツで読んでください 。


3

一般に、しばしば混乱する2つのシステムがあります-

  • ライセンスまたはアクティベーションの追跡、合法的な合法的な使用
  • 不正使用を防止するセキュリティ

ライセンスには、商用パッケージFlexLMを使用してください多くの企業がライセンスに莫大な金額を投資し、セキュリティも得られると考えています。これは、これらの商用パッケージの一般的なジェネレーターが豊富にあるためです。

使用に基づいて合法的に支払う企業への販売の場合にのみライセンスをお勧めします。それ以外の場合は、おそらくその価値よりも多くの労力を費やします。

製品が成功するにつれて、すべてのライセンスおよびセキュリティ対策が最終的に違反されることを忘れないでください。それで、それが本当に努力に値するかどうかを今決定します。

私たちは何年も前にFlexLMのクリーンルームクローンを実装しました。また、バイナリ攻撃に対するアプリケーションを強化する必要がありました。その長いプロセスは、リリースごとに再検討する必要があります。それはまた、実際にあなたが販売するグローバル市場、または主要な顧客基盤が何をすべきかについてどこにあるかにも依存します。

DLLのセキュリティ保護に関する私の別の回答を確認してください。


2

指摘したように、ソフトウェア保護が絶対に確実であるとは限りません。何を使用するかは、対象となる視聴者に大きく依存します。たとえば、ゲームは永遠に保護できるものではありません。一方、サーバーソフトウェアは、さまざまな理由から、インターネット上で配布される可能性がはるかに低いものです(製品の浸透と法的責任が頭に浮かびます。大企業は、偽造ソフトウェアに対して責任を問われることを望んでいません。海賊は非常に大きな需要のある事柄に悩まされるだけです)。正直なところ、注目度の高いゲームの場合、最善の解決策は恐らくtorrentを自分で(密かに!)シードし、何らかの方法で変更することです(たとえば、2週間のプレイ後に、正当なコピーを購入して開発者をサポートすることを検討してください)。

保護対策を講じる場合は、2つの点に注意してください。まず、価格を下げると、購入価格を支払う傾向が高まるため、コピー防止機能が補完されます。次に、保護がユーザーの邪魔になってはいけません-最近の例についてはSporeを参照してください。


2

DRM this、DRM that-彼らのプロジェクトにDRMを強制するパブリッシャーはそれが利益を上げているのでそれをやっています。彼らの経済学者は、私たちの誰も見ることのないデータについてこれを結論付けています。「DRM is evil」トロールは少し行き過ぎです。

視認性の低い製品の場合、単純なインターネットのアクティブ化によって、カジュアルなコピーが停止します。他のコピーは、おそらくあなたの利益に無視できます。


2

違法な配布を防ぐことは事実上不可能です。RIAAに聞いてください。デジタルコンテンツは単にコピーできます。アナログコンテンツはデジタル化してからコピーできます。

不正な実行の防止に注力する必要があります。他の誰かのマシンでのコードの実行を完全に防ぐことは決して不可能ですが、ソフトウェアを海賊行為するよりも購入しやすくなるほど十分に高くするために特定の手順を踏むことができます。

ライセンスを考慮してアプリケーションを開発するための最善の方法を説明しているソフトウェア保護とライセンスの開発に関する記事をご覧ください。

義務的な免責事項とプラグイン:私が共同設立した会社は、.NET用のOffByZero Cobaltソフトウェアライセンスソリューションを製造しています


2

海賊がそれを使用するだけでよいというこの考えの問題は、彼らはとにかくそれを購入せず、それを購入する可能性のある友人を2倍に見せることです。

  1. サードパーティのサービスを使用するソフトウェアを使用すると、海賊版のコピーが貴重な帯域幅/リソースを使い果たし、合法的なユーザーに悪い体験を与え、私のソフトウェアの人気をさらに高め、サードパーティのサービスにサービスの追加料金を要求しています。使用されている帯域幅の。

  2. 多くのカジュアルな人たちはsw自体をクラックすることを夢見ていませんが、piratebayのようなサイトに簡単に評価できるクラックがあれば、彼らがそれを購入する可能性がなければ、それを使用します。

一度発見された海賊版ソフトウェアを無効にしないというこの概念も奇妙に思われます。なぜ使用してはならないソフトウェアを誰かに使い続けさせるべきなのか理解できません。これは海賊の見解/希望にすぎないと思います。

また、プログラムを解読しにくくすることは1つのことですが、合法的なコピーが共有されないようにする必要もあります。そうしないと、誰かが1つのコピーを購入
し、急流サイトを介して他の何千もの共有することができます。ライセンスに名前/電子メールアドレスが埋め込まれているという事実は、誰もがこれを行うのを妨げるには十分ではなく、問題が発生するのは本当に1つだけです。

これを防ぐために私が見ることができる唯一の方法は、次のいずれかです。

  1. 毎回プログラムの起動時にサーバーにライセンスをチェックおよびロックさせ、プログラムの終了時にライセンスを解放させます。最初のクライアントがライセンスを持っている間に別のクライアントが同じライセンスで開始した場合、そのクライアントは拒否されます。この方法では、ライセンスが複数のユーザーによって使用されるのを防ぐことはできませんが、ライセンスが複数のユーザーによって同時に使用されるのを防ぐことができます-これで十分です。また、正規のユーザーが自分のコンピューターのいずれかにライセンスを転送して、より優れたエクスペリエンスを提供することもできます。

  2. 最初のクライアントの起動時に、クライアントはライセンスをサーバーに送信し、サーバーはそれを検証して、クライアントソフトウェア内でフラグを設定します。同じライセンスを持つ他のクライアントからのそれ以上の要求は拒否されます。このアプローチの問題点は、元のクライアントがソフトウェアを再インストールしたり、別のコンピューターを使用したりすると問題が発生することです。


2

ある種の生体認証指紋認証を使用したとしても、誰かがそれを解読する方法を見つけるでしょう。それを回避する実際的な方法はありません。ソフトウェアをハックプルーフにしようとするのではなく、コピー保護を追加することによってどれだけの追加収益がもたらされるか、それを実装するのにかかる時間とお金の量を考えてください。ある時点で、厳格性の低いコピー防止スキームを採用する方が安くなります。

それはあなたのソフトウェア製品が何であるかによって異なりますが、1つの可能性は、プログラムの「価値のある」部分をソフトウェアから移動し、それをあなたの排他的な制御下に保つことです。あなたはソフトウェアに適度な料金を請求し(主に印刷および配布コストをカバーするため)、外部コンポーネントから収益を生み出します。たとえば、安価で販売されている(または他の製品と無料でバンドルされている)が、ウイルス定義更新サービスのサブスクリプションを販売しているウイルス対策プログラム。そのモデルでは、更新サービスにサブスクライブする海賊版のコピーは、経済的損失の多くを表すことはありません。「クラウド内」のアプリケーションの人気が高まるにつれ、この方法は実装しやすくなります。クラウドでアプリケーションをホストし、クラウドアクセスのユーザーに課金します。これはしません


1

消費者に販売する予定のソフトウェアの保護に関心がある場合は、さまざまなライセンスキー生成ライブラリ(ライセンスキー生成に関するGoogle検索)のいずれかをお勧めします。通常、ユーザーはメールアドレスや名前などのシードを提供する必要があり、登録コードを返します。

いくつかの企業が、ソフトウェアをホストして配布するか、統合して完全にインストール/購入できるアプリケーションを提供して、おそらく追加費用なしで自動的にこれを実行します。

私はソフトウェアを消費者に販売しましたが、これはコスト/使いやすさ/保護の適切なバランスだと思います。


1

シンプルで最良の解決策は、前もって充電することです。あなたと彼らのために働く価格を設定してください。

支払い済みの顧客に、すでに支払い済みの顧客に支払い済みであることを証明するよう依頼することは、彼らを怒らせるだけです。ソフトウェアを実行しないようにするコードを実装すると、時間とお金が浪費され、正当な顧客にバグと不快感がもたらされます。より良い製品を作るためにその時間を費やすほうがよいでしょう。

多くのゲームなどが最初のバージョンを「保護」し、実際の顧客との互換性の問題により、最初のパッチで保護を解除します。あなたが少しの保護を主張するなら、それは不合理な戦略ではありません。


1

ほとんどすべてのコピー防止機能は無効であり、ユーザビリティの悪夢でもあります。ルートキットを顧客のマシンに配置するなど、その一部はまったく非倫理的です


私は反対票を投じます-あなたは、アンチスキームを持つすべての人がルートキットのような違法な活動を行っていると想定しています。
Jason Short

いいえ、そうは思いません。私は明示的にいくつかを言いました。また、DRMのルートキットの事例が十分に文書化されています。
wnoise 2010年

0

製品の一部を、接続と認証を必要とするオンラインコンポーネントにします。ここではいくつかの例を示します。

  • オンラインゲーム
  • ウイルス防止
  • スパム保護
  • ラップトップ追跡ソフトウェア

ただし、このパラダイムはこれまでのところしか進んでおらず、一部の消費者を止めることができます。


0

熟練したソフトウェアの海賊に対してソフトウェアベースのコピー保護スキームが抑止されないという多くのポスターに同意します。商用の.NETベースのソフトウェアの場合、Microsoftソフトウェアライセンス保護(SLP)は非常に手頃な価格のソリューションです。期間限定のフローティングライセンスをサポートしています。価格は月額10ドル+アクティベーションあたり5ドルからで、保護コンポーネントは宣伝どおりに機能しているようです。ただし、これはかなり新しい製品なので、購入者は注意してください。


また、2011年には、SLPの価格が最小のパッケージで月額145ユーロに上昇しました。
Michael Olesen、2011年

0

私はシンプルなアクティベーションキーを提案します(たとえそれが壊れる可能性があることを知っていても)、あなたのソフトウェアがユーザーの邪魔にならないようにしたい場合、または単にプッシュしてしまう場合があります。

彼らがソフトウェアを再ダウンロードできることを確認してください、私は彼らが支払った後にのみあなたがあなたのソフトウェアをログに記録してダウンロードできるウェブページを提案しますなぜあなたの側に)。

何よりも有料ユーザーを押し込みます。正当なユーザーであるときに犯罪者であると非難されることで、いらいらすることはありません(DVDの海賊版警告はだれにも警告しています)。

オンライン時にサーバーに対してキーをチェックするサービスを追加できます。2つの異なるIPが同じキーを使用している場合は、別のライセンスを購入するように提案がポップアップ表示されます。

しかし、それを非アクティブ化しないでください、それはあなたのソフトウェアを友人に見せて幸せなユーザーかもしれません!!!!


0

ソフトウェア開発者の場合、可能な解決策の1つは、製品に直接メタデータを埋め込むことです。redsunriseのインスタンス破壊セキュリティツールを確認してください。


0

私たちは、独自のライセンスシステムを使用して商用ソフトウェアのライセンスを取得しています。これは、私たちが販売しているものです(ライセンス管理ツール)。通常、サブスクリプションライセンスを販売しますが、必要に応じて使用量に基づいて販売することもできます。これまでのところ安全です:www.agilis-sw.com

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.