カテゴリ: ライセンシング
ライセンスの喪失?
「愛犬が私のドングルを食べちゃいました!」 悪い冗談に聞こえますが、これは私がここで語りたい話です。もちろん私の愛犬がドングル自体を食べたわけではなく、ドングルのパスワードが書かれた紙を食べてしまったとしましょう。どちらにせよ、この話はふとした拍子に人々がライセンスやライセンスコンテナ、またはライセンスコンテナへのアクセスを失いかねないことを示しています。
CodeMeterでは、ライセンスコンテナはCmContainer(シーエムコンテナ)と呼ばれ、個別のハードウェア(CmDongle)、既知のデバイスにバインドされ暗号化されたライセンスファイル(CmActLicense)、またはクラウド内のユーザーアカウント(CmCloudContainer)の形式で提供されます。独立系ソフトウェア開発会社は、ユーザーに提供するCmContainerの形式を選択できます。CmContainerの形式をその都度組み合わせたり、ユーザーが選んだり、そして地域や環境の制限などの特定のルールを設定することが可能です。
CmContainerによっては、ライセンスがいくつかの方法で失われる可能性があります。これらすべてのシナリオで、開発者は、ユーザを迅速に理想的には自動的に、手動で操作することなく助けたいと思うでしょう。またそれと同時に、失われたライセンスのユーザーまたはその発見者が合法的に所有している数よりも多くのライセンスにアクセスできるという状況を避けたいと思います。
自動置換
CodeMeter License Centralは、このプロセスを自動化する上で重要な役割を持ちます。開発者は、ユーザーが(形式に関係なく)別のCmContainerにライセンスを置き換えることを許可するかどうか、およびユーザーが自分で置き換えることができる頻度を決定します。制限は、ライセンスの数または別の回復を試行する前の強制待機期間で設定できます。通常、ユーザーベースがハードウェアを交換することがわかっている場合(例:3年ごとに)、期間の開始時および2年後に再び置き換えることが、サポートの必要性を抑える妥当な時間枠になります。もちろん、追加のライセンス置換をいつでも手動で許可し、正当な理由で活用することもできます。
CmActLicensesを使用する場合、同じデバイス上の新しいCmActLicenseにライセンスを置き換えるための特定のルールを導入することもできます。 ここでも、最初の数と、別のライセンス置換が許可されるまでの最小保持期間が定義されます。また、ユーザーが同じマシンをまだ使用しているかを示すハードウェアプロパティを選択することもできます。これにより、紛失したとされる古いCmActLicenseの継続的な不正使用のリスクが軽減されます。紛失したライセンスがその代替とともに使用されたとしても、通常は同じコンピューターにバインドされるため、シングルユーザーライセンスにとって脅威にはなりません。これにより、他のCmContainerでライセンスを置き換える場合よりも、制限を自由に設定できます。また、いつでも手動での置換を許可する権限があります。
SOAPを介した手動認証プロセスの自動化は魅力的なオプションです。この場合、自動置換を許可しない代わりに、定義した基準を確認するポータルに連絡するようユーザーに依頼し、ユーザーに自動置換の資格があるかどうかを判断します。その際には、完全に自動化されたワークフローを使用し、SOAPを介して置換を透過的に行うことができます。
ブラックリスト
新しいCmContainerでライセンスの自動置換を使用する場合、既存のCmContainer全体のプロセスを許可するか、特定のライセンスのみを回復させることができます。
古いCmContainerにブラックリストを適用するための以下3つのオプションのうち1つを使用して、影響を受けたCmContainerをブラックリストに追加することもできます。
- CodeMeter License Centralは、ブロックを実行する自動更新(ハニーポットトラップとして)を可能にした場合。ソフトウェアは、自動更新が利用可能かどうかをインターネット経由で定期的にチェックします。ハニーポットの更新がインポートされると、古いCmContainerのすべてのライセンスがロックされます。
- ユーザーが、喪失したという古いCmContainerの別のライセンスをアクティベーションした場合。CodeMeter License Centralは、コンテナがブラックリストに登録されたことを認識し、ライセンスをロックします。
- ブラックリストをエクスポートして、ソフトウェアの次のバージョンに統合した場合。ユーザーが喪失したという古いCmContainerで新しいバージョンを使用しようとすると、ソフトウェアはそのコンテナー内のすべてのライセンスをロックします。
サンプルコードは、オプション(1)および(3)で使用できます。 オプション(3)では、時間遅延ロックを設定することもできます。これにより、バージョン更新とブラックリストのリンクが非表示になり、不正なユーザーがサポートチームに連絡する可能性が高くなります。結局のところ、このようなケースを記録することは、ユーザーに連絡を取り、新しいライセンスを購入するように説得することができるため、利益になります。(1)、(2)の場合は自動的に記録されます。
それほど抜本的でないオプションは、古い置き換えられたライセンスを撤回することです。(1)と(2)の場合と同様に、自動更新はソフトウェアによって作成およびロールアウトされるか、ユーザーのアクションに応じてインポートされます。この場合、新しいCmContainerに置き換えられ、また失われていない古いCmContainerで引き続き使用可能なライセンスのみを削除します。
チェックポイントライセンス
上記のブラックリストの仕掛けでは、情報をユーザーに返送する必要があります。しかし、悪意のあるユーザーが自宅のコンピューターで古いCmContainerを操作し続け、インターネットおよびアップデートから遮断した場合はどうでしょうか。これは、IoT、IIoT、およびクラウドアプリケーションの時代では事実上不可能ですが、CodeMeter License Centralは、これらのまれなケースのための技術的ソリューションも備えています。
ライセンスは、チェックポイントライセンスとして構成されることもできます。これらはユーザーの観点からは永続的なライセンスですが、技術的には開発者によって定義された(最初のアクティベーションからの一定期間である)有効期限があります。ライセンスが有効である限り、期間は定期的に更新されます。これは、チェックポイントが近づくとライセンスを返却し、再アクティベーションすることによって行われます。その後、有効期限タイマーがリセットされ、ライセンスは今まで通りに機能します。
ユーザーが古いCmContainerをオフラインで使い続けると、ライセンスが期限切れになります。CmContainerに組み込まれた安全な仮想クロックにより、元の状態に戻すことができなくなります。これらのチェックポイントライセンスでは、永続的なインターネット接続は必要ありませんが、定期的に簡単なチェックバックが必要です。サンプルコードが再び利用可能です。
CmDongle
CmDongleは壊れる可能性があります。しかしこれは、数百万の稼働時間に及ぶMTBF(Mean Time Between Failures)の場合では考えられません。CmDongleは、特にCmStick/BおよびCmStick/C Basicの堅牢な設計によって壊れるリスクが軽減されたとしても、強制的に破壊することができます。どちらの場合でも、ユーザーが破損した部品を返却した場合、CmDongleを交換するときに心配する必要はほとんどありません。
泥棒がメモリスティックと間違え、CmDongleを盗難または古いコンピューターから誤って処分し、CmDongleが物理的に消えた場合には話が変わってきます。これは非常にまれであり、フラッシュメモリとストレージがかつてないほど安価になった今ではさらにまれになっています。CmDongleが故意に盗まれることは非常に珍しいことです。そのような場合、失われたCmDongleをブラックリストに追加する必要があります。ブラックリストの中でCmDongleが突然再び表示されるといった事もあります。
CmActLicense
ライセンスをCodeMeter License Centralに戻すことで、ライセンスをコンピュータ間で移動できます。コンピューターを再インストールする必要がある場合は、有効なライセンスをクラウド、特にCodeMeter License Centralに保持することもできます。CmActLicenseは、コンピューター自体が無くなった場合、またはコンピューターに保存されているハードドライブが再編成された場合にのみ失われる可能性があります。新しいコンピュータへの移行は複雑なプロセスであり、通常はかなり前もって計画されているため、これが偶然に起こることはほとんどありません。これが万が一発生した場合、自動置換とブラックリストが処理できます。古いコンピューターが実際に破棄されている場合は新しいCmContainerで失われたライセンスを置き換えるか、システムが再インストールのみされた場合は同じコンピューター上のCmContainerを置き換えることができます。
ライセンス自体が壊れることがあります。これは、ユーザーがコンピューターのハードウェアを過度に変えた場合に当てはまります。CmActLicenseに組み込まれたエラーに対する堅牢性と許容度により、誤検知はほとんど発生しません。通常のオフィス設定では、ユーザーがコンピュータの中を開いて改造することは珍しくなっています。現代のコンピューターは低価格で多くの機能を持っているため、カスタマイズはIT関係者やゲーマーの趣味になりつつあります。したがって、ライセンスの破損はほとんど発生しません。
無効なライセンスの場合にも同じことが起こります。これらは、ライセンスファイルとコンピュータに隠されているバリューが一致しない場合に発生する可能性があります(例:ユーザーがファイルを手動で変更したためか、他のソフトウェアがこれらのバリューを上書きした場合)。しかし、再び起こることは非常に低く、隠されたバリューはいくつかの冗長コピーに保管されています。
壊れたライセンスと無効なライセンス両方の最善の解決策は、それらを新しいCmContainerに置き換えることと、ブラックリストのメンションを組み合わせることです。
CmCloudContainer
CmCloudContainerはWibu-Systemsが運用するクラウドに存在し、定義上失われることはありません。CmCloudContainerは、クレデンシャルファイルでアクセスできる既知のユーザーにバインドされています。これらのクレデンシャルファイルが失われたり盗まれたりする可能性があります。どちらの場合でも、ユーザーは新しいクレデンシャルファイルをライセンスポータルからダウンロードでき、古いアクセスの詳細が無効になります。
KEYnote 39 – Edition Spring 2020