5

インターネットで販売する予定のこの Java Swing アプリケーションがあります。現時点では、Java webstart を使用してアプリケーションをデプロイする方向に傾いています。製品は、ユーザーが一度に 1 台のコンピューターでのみプログラムを使用するためにライセンスされます。このモデルの著作権侵害が心配です。ライセンス モデルを適用するために、いくつかのセキュリティ機能をインストールしたいと考えています。目標は、ライセンスを取得したユーザーがライセンス キーを含むインストール済みの製品をライセンスを取得していないユーザーにコピーすることを少なくとも困難にすることです。ここに私が今見ているオプションがあります:

  1. プログラムが起動されるたびに、ユーザーにユーザー名/パスワードを使用して母船への認証を強制します。

  2. ユーザーが登録して支払いを済ませた後、ライセンス キーをユーザーの PC のどこかに (隠して?) インストールするだけです。実行時に、有効なライセンス キーがインストールされていることを確認します。

  3. ユーザーのコンピューターのハードウェア フィンガープリントに基づくセキュリティ パッケージを使用/構築します。このフィンガープリントは、アプリが起動されるたびに計算され、何らかのハッシュを使用してローカルにインストールされたライセンス キーと比較されます。このライセンス キーは、このハードウェア フィンガープリントでのみ有効です。

ここでの問題の 1 つは、このアプリケーションがインストールされると、Java webstart を使用してアプリケーションの更新を確認する以外に、アプリケーションが母船に接続するためのランタイムの必要がないことです。アプリが行うことはすべてローカルで行い、swing を使用して結果をユーザーに表示します。したがって、母船が関与するソリューションは基本的に、ライセンス認証のみを目的としてサーバー インフラストラクチャを構築することを意味します。

私が探しているのは、少なくともある程度安全で、展開が簡単で、ユーザーにとって苦痛ではないJavaベースのものだと思います。どのようなセキュリティ/ライセンス アプローチを使用していますか?

編集: 誰もが絶対にセキュリティを破ることを防ぐための特効薬を探しているわけではないことを付け加えておきます。それを成し遂げる方法を見つけるのに十分な時間がある人は常にいます。私はこれらの人たちにあまり関心がありません。私は基本的に、カジュアルなユーザーがライセンス キーを単純にコピーして友人に送信することを困難にしようとしています。正しく実装されたソリューションは、カジュアルなユーザーに、購入する方が簡単であると納得させるはずです.

4

8 に答える 8

9

(2)がベストだと思います。あなたはすでに (1) について自分自身で話し合っており、(3) は、ユーザーが新しいマザーボードを購入した場合に問題を引き起こす可能性があります。(2) かなりコンピュータに精通したユーザーに対する保護にはなりませんが、それほど多くの問題を引き起こすこともありません。

しかし、最終的には、断固たるユーザーがあなたのソフトウェアを海賊版にするのを止めることはできません。

実際、最も効果的な著作権侵害対策ソフトウェア開発戦略は、最も単純なものです。

  1. 素晴らしいおかしな製品を持っています。
  2. それに対して正当な価格を請求します。

--ジェフ・アトウッド

于 2009-02-17T17:41:13.523 に答える
3

私の最善の策は、時折の著作権侵害を思いとどまらせるために、あまり負担をかけず、顧客を怒らせない簡単な解決策を実装することです. もっと複雑になれば、軍拡競争になるでしょう。勝つのが難しすぎるもの。

于 2009-02-17T17:41:27.970 に答える
2

3つのソリューションのうち:

1つ目は、何かを行うためにネット接続が必要です。オフラインで使用できない場合、ユーザーは満足しません。グーグルはオフィスソフトウェアのためにそれに対処しなければなりませんでした。

2つ目は、場所が隠されていない限り、コピー防止ではありません。隠された場所には独自の問題があり(たとえば、さまざまな場所に物を隠すのが好きなアプリをインストールするのが嫌いな人もいます)、とにかく安全ではありません。

3つ目は、ユーザーが指紋を変更するコンピューターに何かを行うか(何をチェックするのかわかりません)、またはアプリを1台のコンピューターから別のコンピューターに移動するまで機能する可能性があります。次に、潜在的に怒りっぽいユーザーがいます。(「ハードドライブを交換した/別のLAN接続に移動した/システム障害が発生した/何でも、[完全に削除された]ものが機能しなくなった!」)

したがって、2番はユーザーの問題を引き起こす可能性は低いですが、コピー防止スキームの多くでは機能しません。1番と3番はユーザーを不幸にし、ある程度の問題を引き起こし、とにかく決心した人々がそれをコピーするのを止めません。

于 2009-02-17T17:34:16.223 に答える
1

ライセンス要件を真剣に再考したいと思います。なぜなら、ライセンス要件を強制すると正当な顧客を失うからです。大企業なら余裕がありますが、スタートアップや個人の場合は無理です。

解決策の 1 つは、個人用ライセンスを提供することです。これは、個人が使用するすべてのマシンに有効です。これは、良くも悪くも、ソフトウェアが「販売されるべき」と人々が考える方法です。彼らが使用するマシンごとに料金を支払わせれば、彼らはあなたが利用しているように感じ、他人のライセンス キーを求めて Web を荒らし始めます。

必要に応じて、法人向けライセンスや 10 パックのライセンスなどを個別に購入するよりも割引価格で提供することもできます。これにより、個人と組織の両方がソフトウェアを合法的に使用できるようになり、不当に圧迫されていると感じることはありません。

于 2009-02-17T18:06:45.803 に答える
0

JNLP を使用して、アプリケーションに時間制限のあるコンポーネント (ライセンス モジュール) を含めることを検討してください。- インターネット経由で定期的に更新する必要があります。更新されたバージョンにアクセスするには、登録が必要です。しましょう

機能を無効にする前に、一定期間、ユーザーがオフライン (またはアップグレードを希望しない) になることを許可する長い猶予期間を設けます。

于 2009-07-12T10:41:23.617 に答える
0

アプリケーションが実際の作業を行うためにネットに接続する必要がない限り、家に電話をかけることは簡単にスパイウェアとして分類される可能性があります。

また、これが Java Web Start に当てはまるかどうかはわかりませんが、ファイアウォールがあなたのアプリケーションをホームへの電話からブロックする可能性があるため、有料の顧客にはアプリケーションがブロックされているように見えるかもしれません.

だから:時々家に電話するものは使いません。

(ライセンスキーについて: キーが特定の登録名でのみ機能し、その名前が [バージョン情報] ダイアログに表示される場合、ハードウェアに依存することを心配する必要はありません。確かに、いくつかの登録名とそのキーは私の Mac が機能しなくなった場合、新しいハードウェアで 1 クリックの Time Machine 復元を行ったためにアプリケーションが起動しなくなるのを見て、私は面白くありません。)

于 2009-07-12T11:12:05.130 に答える