To top
Resources Resources

MATLABスタンドアロンアプリケーションの保護

エンジニア、科学者、経済学者、そして数学に興味のある人なら,誰もがMATLABを愛用していることでしょう。Mathworks社のMATLABは、何百万人ものユーザーを抱える数値計算ソリューションです。1960年代に研究プロジェクトとして生まれたMATLAB(MATrix LABoratoryの略)は、瞬く間に理工系学生の間で確固たる人気を獲得し、1980年代半ばには商業化されました。数十年経った今でも尚、MATLABは、その性質上、通常のコンピューター代数の記号計算では扱いにくい科学計算でよく用いられるような数値計算を行うための最適なソリューションとなっています。航空エンジニアから株式市場の専門家に至るまで、多くの産業界のプロフェッショナルが使用するアルゴリズムの多くは、MATLABによって実現されています。

MATLABの世界

MATLABは、当初目立たない存在でしたが,独自のプログラミング言語とライブラリを中心に幅広いツールへと発展していきました。そのツールボックスは、金融数学からロケット工学に至るまで、幅広いアプリケーションをカバーしています。独自のプログラミング言語による汎用性は、MATLABで実現できる数学的処理や ユースケースに事実上制限がないことを意味します。MATLAB Compilerでこれらをスタンドアロンアプリケーションに変換できるMATLABは、知的財産(以下IP)の生成過程を示す卓越した表現であると言えます。数値計算やデータ処理の課題に挑む有能な開発者は、MATLABを用いてその解決策を考案し、それを既製のアプリケーションに変換することで、数学的プログラミングに関する専門知識をもたない人々に販売することができます。特に、MATLABはSTEM分野の学生や研究者の間で根強い人気があるため、起業家精神と才能に満ち溢れたエンジニアにとって絶好のチャンスです。また、金融工学のようにMATLABが得意とするAIや機械学習の利用が増えているため、この分野でのMATLABの存在感もますます大きくなっています。

しかし、攻撃の目も、MATLABのツールやアプリケーションへ多く向けられています。IPの盗用や不正操作の脅威は常に懸念され、リスクは非常に高くなっています。多くのMATLABの応用技術には、貴重かつ非常に高価な知的リソースが投入されており、盗用のリスクに晒されています。さらに最悪の場合、アルゴリズム取引・宇宙飛行・送電網の管理などを可能にする数学的ソフトウェアが攻撃者によって破壊され、甚大な経済的/物質的損害が発生する恐れがあります。

これこそが、CodeMeterの真のミッションです。私たちの大切にしているものだけでなく、プロフェッショナル・企業・コミュニティ全体として、私たちを前進させてくれるものを保護します。Wibu-SystemsのITセキュリティ・保護・ライセンシングに関する専門知識と、通常のCodeMeterワークフローにちょっとした調整を加えたることで、MATLAB Compilerで作成されたスタンドアロンアプリケーションの保護し、さらに、CodeMeterの持つ能力と快適さをフルに活かした収益化が容易に実現可能です。

シンプルなユースケース:MATLABアプリケーションの保護

CodeMeterによる保護機能をMATLABスタンドアロンアプリケーションに適用する方法は、非常にシンプルです。必要なものは、AxProtectorのバージョン、ファームコード、プロダクトコード、そして数分の開発時間のみです。ファームコードとは、AxProtectorのユーザーと開発者のマスタードングルであるファームセキュリティボックスにWibu-Systemsが割り当てる7桁のコードです。CodeMeterで一意のライセンスを作成する際に必要となります。ハードウェアのCmDongleやソフトウェアのCmActLicenseで使用するために特別に発行された100000以上の古いファームコード、またすべてのタイプのライセンスコンテナに対応する6000000から始まる新しいユニバーサルファームコードであっても、目的に違いはありません。すべてのファームコードは、MATLABスタンドアロンアプリケーションの保護とライセンシングを行うという共通の目的をもっています。

プロダクトコードは、単純な整数形式であり、保護するアイテムごとに開発者が選択します。これは、アプリケーション全体、または個々の関数や機能ごとである必要があります。ファームセキュリティボックスでは、40億のオプションを扱うことができます。従って、保護・ライセンシングされたアプリケーションのポートフォリオを、さまざまなビジネスモデルに合わせて自由に構成することが可能です。

アプリケーションを暗号化する際、AxProtectorはまずソースファイルと保護ファイルの保存先を尋ねます。続いて、ライセンスシステムタブに、ライセンスオプションに含まれる、開発者のファームコードとプロダクトコードを入力します。これらのコードは、MATLABアプリケーションのライセンスの暗号化基盤を作成するために使用されます。

CodeMeterによる保護プロセスの最後のステップとして、システムがMATLABで動作するよう、動的コード修正をオフにします。動的コード修正では、通常ランタイム中に保護アプリケーションのソースコードを修正しています。これは、MATLAB Compilerと互換性がないため、セキュリティオプションタブでオフにする必要があります。一度アプリケーションが保護されると、保護時に使用されたものと同じプロダクトコードを使用し、正しいライセンスなしで、動的コード修正をオフにすることは不可能になります。

またCodeMeterには、さらに多くの仕掛けと機能があるため、開発者はあらゆるビジネスモデルとユースケースに対応した保護とライセンシングを自由に設計することができます。しかし、こちらで紹介した簡単な手順を踏むだけで、MATLABスタンドアロンアプリケーションを暗号化で保護し、ライセンスの作成、アプリケーションの配布まで安心して行うことができます。

そしてCodeMeterは、その優れた自動化と統合機能により、開発者の負担を減らします。ライセンスの作成および管理プロセスは、多くのセルフサービスオプション、または既存のCRMやeコマースシステムとの統合によって促進することができます。これにより、洗練されたIPの強力な保護を必要とする、限られたユーザーグループ向けの特化型ソリューションから、通常の大規模ソフトウェア配布システムを通じて販売されるエンジニアリングユーザー向けの商用アプリケーションに至るまで、あらゆる種類と規模のMATLABアプリケーションに十分な選択肢を与えることができます。

CodeMeterとMATLAB、理想的な組み合わせ

CodeMeterとMATLABは、理想的な組み合わせであり、仮に、最も複雑な数学的ソリューションを最も強力で洗練された暗号化テクノロジーで保護した場合にであっても、保護、ライセンシング、そして収益化が複雑になることはありません。AxProtectorの暗号化とCodeMeterのライセンシングを追加するだけで、あらゆるMATLABアプリケーションを、それがエンジニアリングラボ、ウォール街、さらには月へ向かう途中であっても、ハッカーや泥棒から安全に保護することができるのです。

関連する製品

 

KEYnote 43 – Edition Spring/Summer 2022