カテゴリ: セキュリティ

エッジデバイスにおける保護とライセンシング

SaaS(Software as a Service)の登場により、私たちがよく知るソフトウェアライセンシングは終わりを告げるのでしょうか?いいえ、そのようなことはありません。SaaSは、エッジコンピューティングにおけるコンテナ化をより複雑にする側面ももっているため、SaaSに適していないソリューションも存在します。

エッジコンピューティングとは

データが処理され、ソフトウェアがローカルのハードウェアのみで実行される時代は終わりました。SaaSの台頭により、企業のあり方が変わったと言ってもよいでしょう。予知保全やCRMシステムは、以前までローカルサーバーでホストされていましたが、今ではクラウドに保管され、エンドユーザーはインターネット経由でアクセスすることが一般的となりました。

但しクラウドには、帯域幅や可用性、遅延やデータセキュリティなど、特有の課題があることも事実です。また、IoTデバイスの急激な増加により、データ漏洩の問題は深刻さを増しています。こうしたことから、クラウドとオンプレミス、双方のメリットを併せ持つソリューションが注目されています。それがエッジコンピューティングです。

エッジコンピューティングは、双方の中間的存在と言えます。アプリケーションは、クラウドの代わりにエンドユーザーのデバイス上で実行され、クラウドに送信されるデータは必要最低限にとどまります。データ処理の一部を現場で行うことで、待ち時間の短縮、データの仮想的なリアルタイム処理が可能になります。また、機密性の高いデータやアルゴリズムも、エンドユーザーのセキュアな管理下に置くことができるため、データセキュリティの向上、データ保護規制への対応が期待できます。

つまり、エッジコンピューティングは、企業がクラウドの欠点を避けつつも、クラウドの利点から恩恵を受けることを可能にするソフトウェアプロビジョニングオプションなのです。

ソフトウェアライセンシングに関する課題

ソフトウェア開発者にとって、製品の配布方法の管理は非常に重要です。不正使用は、ビジネスモデル全体を脅かすことになりかねません。技術の進歩とともに増すソフトウェアの不正コピーによる脅威は、ソフトウェア開発者に対し、ソフトウェアの保護・ライセンシングを常に進化させる必要性を迫っています。

エッジコンピューティングにおいても同様です。多くの場合において、システムがコンテナとセットで実行されるとしても、使用されるハードウェアやシステムアーキテクチャーまでは分かりません。コンテナ化は、実行するアプリケーションの監視を容易にします。

しかし、エッジ・コンピューティングは多様な場面で使われているために、課題もあります。例えば、一部のシステムがオフライン上にある場合もあり得ます。このような場合に備え、オフラインでもライセンスを安全に実行できる方法を編み出す必要があります。

エッジデバイス上で動作するアプリケーションのプロダクトマネージャー、ソフトウェアアーキテクト、開発者が一堂に会し、知的財産(IP)とライセンスの保護方法を検討しなければなりません。

しかし、発想を変えてみると別の方法もあります。それは、保護とライセンシングをそれぞれ別で行うというやり方です。アプリケーションは、CodeMeter Protection Suite内にあるAxProtectorのIP保護モードで保護することができます。つまり、正規ライセンスが見つからないとしても、しばらくの間であればアプリケーションの実行を許可することができます。但し、この方法は、計画や開発などの初期段階でしか採用することができません。

ソリューション

Wibu-Systemsが提供するCodeMeterの大きな強みは、異なるタイプのCmContainerであっても、ライセンスへのアクセスと暗号化の方法が同じであるという点です。つまり、ライセンスの展開方法を、個々のニーズに合わせてカスタマイズすることができます。エンドユーザーにライセンスを提供する方法や場所に関係なく、初期段階でのアプリケーションの暗号化・保護が可能です。

CmDongle(USB等のハードウェアドングル)

技術的に可能であれば、CmDongleを使用し、暗号化チップを内蔵した専用ハードウェアを利用することも可能です。CmDongleは、単一のCodeMeterコンポーネントとしか接続することができません。従って、複数のコンテナを使用する場合は通常、CmDongleとリンクするCodeMeterライセンスサーバーを備えたコンテナを使用します。これにより、他のすべてのコンテナでライセンスが利用可能となります。

CmActLicense(デバイスに紐づけるソフトライセンス)

ソフトウェアベースのCmActLicenseでは、システム上のフィンガープリントにライセンスをバインドすることができます。ライセンスを安全性の高いアンカーにバインドすることで、セキュリティが確保されます。通常、SmartBind技術(特許取得済み)を用いたハードウェアのプロパティなどのシステム特性一式を選択することで、一意でありながらも十分堅牢なフィンガープリントを作成することが可能です。

コンテナは、すべてを可能な限り抽象化し、ホストや他のコンテナへのデータフローを必要最小限に抑えるよう設計されているので、システムの特長に紐づけたライセンスを強制することは、コンテナ環境ではより困難になります。副次的な影響としては、システムのプロパティセットが通常読みだすことができず、ライセンスデータを長期にわたり持続させることができません。 

このようなコンテナの欠点を補うため、Wibu-Systemsでは、特にDocker環境を対象として、CmActLicenseのバインド技術を予め改良しています。例えば、必要なデータはネイムドボリュームに保存され、その保存されたデータはボリュームへバインドされます。これにより、ライセンスのコピーや移動を簡単にすることができなくなります。しかし、これには、ライセンスにアクセスするコンテナに対し多くの権限を与える必要があるという難点もあります。またCmActLicenseをコンテナにインストールするには、ライセンス提供者側でこのオプションを有効にしなければなりません。

CmCloudContainer(ユーザーに紐づいたクラウドライセンス)

CmCloudContainerは、クラウドベースのライセンシングシステムです。ライセンスのキーは、Wibu-Systemsが管理するプライベートクラウドに保管され、暗号化処理も全てそのクラウド内で実行されます。またCmCloudContainerには、オンライン環境が不可欠であるとともに、ライセンシングシステムの機能正常化を図るうえで、永続的に安定していなければなりません。但し、IP保護とライセンシングを切り離し、ライセンシングを強化させるオプションを付けることで、持続したオンライン環境が無い場合でもCmCloudContainerを使用することができます。

その他(間接的な利用)

上述したオプションに加え、CodeMeterのライセンスを間接的に使用するという方法もあります。この場合、CodeMeterライセンスサーバーを搭載したエッジデバイスまたはコンテナを、ネットワーク上の任意のCodeMeterライセンスサーバーに接続します。これにより、ライセンス取得が可能になります(CmDongle、CmActLicense、CmCloudContainerいずれかのタイプを使用)。

さらに、USB-over-Ethernetセットアップを介し、間接的にCmDongleを使用するという方法も考えられます。管理の容易さ、CmDongleと他社製ドングルを一箇所に置くことのできる便利さから、特に管理者からの支持を集めています。

ベストなソリューション

上記を受けて、結局どのソリューションがベストであるか悩む方もいるでしょう。しかし、悩む必要はありません。なぜなら、ユースケースによって、ベストなソリューションは異なるからです。また判断に迷った場合、専門家に相談するという手もあります。どのソリューションがどのユースケースに最適であるか正解はありません。しかし、これだけは断言できます。CodeMeterがもつ汎用性は、多くのユースケースとの高い親和性をもたらし、エッジコンピューティング環境におけるライセンシングの複雑さを何とかしたいと願うソフトウェアメーカーにとって理想的なソリューションになり得るだろうということです。

 

KEYnote 46 – Edition Fall/Winter 2023

貴社の課題をCodeMeterで解決しませんか?
お気軽にお問合せください。製品説明および最適な使い方をご提案します。

お問合せ

To top