固定のパスワードでは、シリアル番号がネット上に掲載されてしまう危険があります。
このリスクを出来るだけ最小に抑える
方法を教えてください。
なおInstall Shieldのネット認証などが使えると思いますが、高いので検討からはずしています。
教えていただきたくよろしくお願いします。
個別パスワードの発行ですね。
発行するには まずメールを送ってもらい そのメールのメールアドレスを元にパスワードを作成し、ソフト側で メールアドレスとパスワードで認証させる形式がいいと思います。
http://www3.big.or.jp/~schaft/urabanashi/SafeMelt.html
昔は ニフテイの送金番号を利用するという手もあったようです。
今も 秀丸は その送金番号を登録する仕組みになっています。
(が、送金番号を発行する仕組みは もうないと思いますが)
URLはダミーです
プログラムを実行しているユーザのPCの情報から固有の文字列を生成してプログラム上で表示
↓
その文字列を送ってもらう
↓
その文字列に対応したパスワードを送り返す
↓
ユーザがそのパスワードをプログラムに登録すると登録完了
というのはいかがでしょう。
・固有の文字列やパスワードの生成方法を決める必要がある
・ユーザが大人数だとやりとりが面倒
・PCが変わったらどうするのか
というデメリットや要検討事項はありますが・・・
回答ありがとうございます。
>>プログラムを実行しているユーザのPCの情報から固有の文字列を生成してプログラム上で表示
確かに・・・でも何を元にすれば
いいのかな?98以降のバージョンで必ず存在する固有文字列とかありますか?
>・PCが変わったらどうするのか
そこが問題なんですよね。
個別パスワードの発行ですね。
発行するには まずメールを送ってもらい そのメールのメールアドレスを元にパスワードを作成し、ソフト側で メールアドレスとパスワードで認証させる形式がいいと思います。
http://www3.big.or.jp/~schaft/urabanashi/SafeMelt.html
昔は ニフテイの送金番号を利用するという手もあったようです。
今も 秀丸は その送金番号を登録する仕組みになっています。
(が、送金番号を発行する仕組みは もうないと思いますが)
メールアドレスはいいかもしれません。
ユーザが、ユーザIDとパスワードの一対を知るためパスワードが掲載されてしまう危険もありますが、自分のメールアドレスを掲載する度胸のある人は少ないと思います。
フリーメールの捨てアドレスを用い掲載する可能性を考えれば、まだ十分ではないのですが、
選択肢の一つとして検討させていただきます。
ネット認証や、デバイス認証等があるということは、それだけ、シリアル番号が漏洩しやすいということなのでしょうが、お金をかけずにやるとなると、どうしても固定に頼るしかないと思います。
ユーザー登録を必須(フリーメールアドレスの登録は不可)にすれば、ある程度の漏洩は人間の心理的に防げるとも思います。プログラム上で、MACアドレスなどの固定情報を参照し、パスワードと整合性チェックを行うということもありますが、現実的には大変だと思いますし。
vectorサイト
回答ありがとうございます。
メールアドレスは前の回答者(takntさん)に
教えていただき検討中です。
MACアドレスによる判定はユーザにMACアドレスを調べて教えてもらう必要があるのでそこが難しそうですね。
OSのシリアルでパスワードを生成するというのはいかがでしょう?
マイコンピュータのプロパティに
76000-OEM-000000000-00000
みたいな数字が出ますよね。それで生成。
基本的に数字ですから、このうち○桁目と○桁目と○桁目と・・と適当に抜き出して、それを何倍かしたり足したり引いたりしてパスワードを生成すればOKでしょう。
アカウント&パスワードで認証する形式にして、アカウントはシリアル全てにする。そうすれば、それをネットに自ら晒す人はいないと思います。
利用規約には最初にインストールしたパソコンにのみ有効であることを記載。ただしサービスとして、申し出があれば他のパソコンにインストールすることを許可する場合がありますと明記。
これの意味は、クレームをつけられたときに、あくでもサービスであることを盾にして逃げられるというものですw
回答ありがとうございます。
パスワードの材料に
シリアルを用いるのも良いかもしれませんね。
プログラムの一部をインターネット上のサーバで処理するようにするのはいかがでしょう。
毎回、特定の処理を行う際には特定のユーザIDとパスワードで排他的な接続をしてサーバに処理を依頼するようにすれば、複数箇所で同時起動しづらくなります。
ただし、サーバに接続する際にはその旨を明示し、ユーザの挙動を監視しているかのような誤解は避けるようにしたほうがいいでしょう。
URLはダミーです。
回答ありがとうございます。自分の能力では
サーバマシン用意やサーバ処理の作成がかなり難しいのですが、そういう方法もいずれは挑戦してみたいと思います。
単なるアイデアですが、、、
登録情報(住所氏名等)を送ってもらう
↓
名前から特定のアルゴリズム(暗号化、ハッシュ等)で固有バイナリを生成し、照合ファイルとする
↓
照合ファイルを送り返す
↓
パスワードとして名前を入力してもらう
↓
入力された名前で固有バイナリを生成し、照合ファイルと一致すれば登録完了。
名前とかなら心理的にばら撒きたいと思う人は少ないでしょう。
偽名を使って登録、、、と言うのもないとは言えないですが。
名前以外でも心理的な抑止効果があるものなら良いかもしれません。
ただこの場合は【ユーザー登録】であって【パスワード】とは呼べないかもしれません。
URLはダミー
回答ありがとうございます。
ardarimさんに教えていただいた方法ですが、名前は振込み人名義で確認できるのでごまかしずらそうですし、良いかもしれませんね。
メールアドレスはいいかもしれません。
ユーザが、ユーザIDとパスワードの一対を知るためパスワードが掲載されてしまう危険もありますが、自分のメールアドレスを掲載する度胸のある人は少ないと思います。
フリーメールの捨てアドレスを用い掲載する可能性を考えれば、まだ十分ではないのですが、
選択肢の一つとして検討させていただきます。