ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
moks

ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

#1

投稿記事 by moks » 11年前

現在、C#でアプリケーションを開発しており、そのアプリを何かしらの方法を用いてダウンロード販売したいと思っています

しかし、いざ売ってからそのアプリケーションが無料のアップローダに上げられて、ぼかぼかみんなに使われてしまうのではないか?と、とても危惧しています

windowsやMS officeのように、ライセンスを買った人のみが使えるようにしたいのですが、どのようにすればよいでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

#2

投稿記事 by softya(ソフト屋) » 11年前

まずC#の問題は難読化しないと非常にリバースエンジニアリングされやすいと言うことです。
つまり、ソースの復元が容易に出来ますので、有料化するには、まずこの問題を片付ける必要があります。

さて、では有料化する場合はどうすれば良いでしょう。
1つはvectorなどで公開できるシェアウェアと言う考え方です。
この場合はライセンス解除キーをユーザーに提供する必要があります。
「ライセンスキーの種類」
http://www.vector.co.jp/swauth/man/help/ps_key1.html
個人ではプロレジは利用できません。

作者生成テキストキータイプ などを利用すると良いと思います。
このライセンスキー自体はハッシュなどで生成する必要があります。
ココら辺はバレると困るのでみなさん方法を詳しくは公開しておりませんね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
shiro4ao
記事: 224
登録日時: 13年前
住所: 広島

Re: ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

#3

投稿記事 by shiro4ao » 11年前

やっぱり購入者の個人情報と紐づいた一意のパスフレーズを一人一人に配るのが安全なのかもしれません
そうなると管理するのも大変ですしオンラインで四六時中認証できるようにするならサーバが必要になり
少し大変そうです。

ベクターとかソフト配布しているところがライセンスのやりとりを仲介してくれるかもしれません
(正確なことはよくわからないので、すみません)
最後に編集したユーザー shiro4ao on 2013年2月28日(木) 21:25 [ 編集 1 回目 ]

moks

Re: ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

#4

投稿記事 by moks » 11年前

softya(ソフト屋) さんが書きました:このライセンスキー自体はハッシュなどで生成する必要があります。
ココら辺はバレると困るのでみなさん方法を詳しくは公開しておりませんね。
そりゃそうですよね。ネットの海を探しまわっても情報がありませんでしたし‥‥
ハッシュで生成するというやり方をもう少し詳しく教えていただけませんか?

softya(ソフト屋) さんが書きました:まずC#の問題は難読化しないと非常にリバースエンジニアリングされやすいと言うことです。
つまり、ソースの復元が容易に出来ますので、有料化するには、まずこの問題を片付ける必要があります。
盲点でした。言われてみればこれはまずい。
言われてみれば、C#にしろ、javaにしろ、簡単に元のソースが見れてしまいますしね。
難読化用のツールなどでおすすめのものはございますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

#5

投稿記事 by softya(ソフト屋) » 11年前

moks さんが書きました:
softya(ソフト屋) さんが書きました:このライセンスキー自体はハッシュなどで生成する必要があります。
ココら辺はバレると困るのでみなさん方法を詳しくは公開しておりませんね。
そりゃそうですよね。ネットの海を探しまわっても情報がありませんでしたし‥‥
ハッシュで生成するというやり方をもう少し詳しく教えていただけませんか?
あくまで例ですよ。
ハッシュ関数はSHA-1あたりを使うとして、シリアルナンバー+ランダム値+ソフトごとの隠しキーワードでハッシュを生成します。
あとは、このハッシュ+シリアルナンバー+ランダム値をライセンスキーとして発行します。

ソフト側では、ハッシュとシリアルナンバー+ランダム値を分離して、ソフトごとの隠しキーワードを元にシリアルナンバー+ランダム値+ソフトごとの隠しキーワードのハッシュを生成します。この生成ハッシュとライセンスキーのハッシュが一致すればライセンス認証がOKと言うことです。
ただし、この場合ソフトに埋め込まれたソフトごとの隠しキーワードとハッシュ関数がバレるとライセンスキーが破られることになります。
moks さんが書きました:
softya(ソフト屋) さんが書きました:まずC#の問題は難読化しないと非常にリバースエンジニアリングされやすいと言うことです。
つまり、ソースの復元が容易に出来ますので、有料化するには、まずこの問題を片付ける必要があります。
盲点でした。言われてみればこれはまずい。
言われてみれば、C#にしろ、javaにしろ、簡単に元のソースが見れてしまいますしね。
難読化用のツールなどでおすすめのものはございますか?
サイトを貼っておきますね。
「.NET アセンブリの難読化ツール - さよならストレス」
http://d.hatena.ne.jp/wwwcfe/20100513/obfuscator
実は難読化の必要性が生じた事がないので、評価しておりません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

moks

Re: ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

#6

投稿記事 by moks » 11年前

返事遅れて申し訳ありません。


いろいろ考えました結果、サーバーを借りて毎回認証しようかと思います。


ただ、まだ勉強不足な気がするので、もう少しこの手のことに詳しくなってから手を出します。


回答してくださった皆さん、ありがとうございました。解決にさせていただきます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: ソフトウェアを有料で売るにあたって、ライセンス認証(?)を実装したい

#7

投稿記事 by softya(ソフト屋) » 11年前

サーバ認証は考えたことがありますが、次のような問題点があります。
・ラインセンス購入した証明をどうやって得るか。
・ライセンス紛失の後日サポートをどうするか。
・認証サーバーを何年も続けられるだけの自信はあるか。
・毎日のサーバーのバックアップなども十分の出来るのか。
・メール認証やアクティベーションなどの技術的な問題。
・メール認証やアクティベーション出来なかった時の技術サポート体制。
・耐クラック性のあるソフトを作れるのか(高度な耐タンパー性の確保)。
で、結局、それほど売れるソフトで耐クラックの技術や認証技術やサポート体制を導入するほどの価値のものなのか。
ここまで考えて導入すべきだと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る