EAに認証機能を追加する

自作のEAを利用者の方々に使ってほしいと思った場合、大きな課題になるのがソフトウェアの不正利用・転売のリスクです。

せっかく自分のアイデアを製品化したにも関わらず、そのプログラムを著作者の許可なく不正利用されてしまうと
同一商品が他の販売者から世の中に出回り、自身の知恵と努力が無駄になってしまうだけでなく、その販売機会を失ってしまいます。

今回は、上記のような不正流用への対策をご紹介したいと思います。

スポンサーリンク

EAに認証機能を追加する

Webサーバーを建て、EAの認証を行う

認証用のデータベースを構築する方式です。

EA起動時(場合によっては起動後も定期的に)に、インターネット上にあるWebサーバーへ認証を行うことによって、
利用を許可されたユーザーのみが利用する事ができるようになります。

この方式の場合、指定した口座番号でしかEAを動作できなくするような強固な認証が可能です。

また、Webサーバー側で許可対象の口座を追加/削除することによって、

・新規に利用してほしいユーザーの口座番号を登録することで、EA配布後に利用を許可することができる
・既存のユーザーの利用を停止することで、EA配布後に利用を禁止することができる

といった操作も可能になり、柔軟な運用が可能になります。

この方式の難点は、インターネット上に公開するWebサーバーとDBサーバーの構築、運用管理の手間がついて回ることです。

パスワード認証

入力パラメータにパスワード入力欄を設け、EA起動時にパスワードの一致をチェックさせる方法です。
簡単に実装できるのがメリットですが、 セキュリティ強度はかなり低く、あまり意味の無い対応です。

EA本体とパスワードを同時に転用されてしまった場合、後からそれの起動を禁止することができなくなります。

パスワードを書き換えたEAを再配布したところで、過去に出回ったEAのパスワードが変わるわけでもなく、転用された時点で手遅れとなりますので、
この方式はセキュリティ対策の体を成していません。

Web認証を気軽に利用したい場合

現在、Web認証機能を有償サービスとしてご提供しており、現在数百名規模の認証管理を行っております。

構築済のインフラがあるため、新規開発コストが不要になるだけでなく、運用管理も当方で対応しておりますので、気軽に利用頂くことができます。

ご興味がありましたら、こちらからお問い合わせ下さい

MT4/MT5ともに対応が可能です。

 

スポンサーリンク

その他の対策

デコンパイル対策も検討が必要です。

デコンパイルとは、ソフトウェアの実行ファイルからソースコード(人間が目で見て処理しようが分かる形式のファイル)を取り出す手法のことです。

これはソースコードの著作権を無断利用する違法行為に当たるのですが、
私のところにも「定期的に」と言っても良いくらい 「デコンパイルできますか?」 という趣旨のお問い合わせが届きます。

ご自身がソースコードの著作権も保有していた上で、何らかの理由でソースコードを紛失し復元したい
というケースもあるのかもしれませんが、こちらから見た場合にその真偽を確かめる明確な手段があるわけでもなく、
多くの場合は他人の著作物を再利用し、商材化することを目的として依頼されているケースがほとんどです。

非常に腹立たしいお問い合わせなので即座にお断りしています(場合によっては通報しています)が、
世の中にはこういったことを平気でやろうとする方がいるということは十分理解しておく必要があります。

デコンパイル対策

MT5を利用することをお勧めします。

MT5は、MT4にはリリースされていないクラウドプロテクターという新機能が実装されています。

プログラムをコンパイルする際に、更に追加の保護を実施するための機能があり、 MT4と比較した場合、より安全にEAを配布することが出来ます。

今後、MT4へ同機能が実装されるかは不明ですが、MT4は既に開発終了している製品のため機能追加がされる可能性は低いのではないかと思われるため、
新規の開発であればできるだけMT5をベースに考えた方が良いのではないでしょうか。

 

まとめ

個人的に、Web認証はお手軽かつ強力な認証方法だと思いますのでぜひ活用してみて下さい。

スポンサーリンク
おすすめの記事