ソフトウェアライセンスのデバイス紐付けと移行
シングルデバイス ライセンスの場合、ソフトウェアとそのキャッシュを別の通常のコンピュータにコピーしても、元のコンピュータの認証は転送されません。
デバイス バインディングとユーザー アカウント ライセンスの比較
アカウントへのサインインにより、顧客とその購入内容が識別されます。デバイス バインディングによって、どのマシンがライセンスを使用できるかが決まります。サインイン後も、SDK はデバイス ID、署名、機能利用権を検証する必要があります。アカウント セッション データまたはキャッシュ ファイルを別のコンピューターにコピーしても、そのコンピューター自体のライセンス検証は置き換えられません。
SDK はどのようにしてコンピュータを識別するのですか?
起動するたびに、SDK は OS マシン ID を読み取り、製品 ID でハッシュします。サーバーの署名にはこのハッシュが含まれており、ローカルでもチェックされます。
Windows は MachineGuid を読み取り、Linux は machine-id を読み取り、macOS は IOPlatformUUID を読み取ります。生のマシン ID はアップロードされず、計算されたハッシュのみがアップロードされます。従来の設定フィールド device_id 実際のローカル ID をオーバーライドしません。
マシン A のファイルをマシン B にコピーするとどうなりますか?
- A は、A のデバイス ハッシュにバインドされた署名をアクティブ化して受信します。
- B は自身の ID を読み取り、別のハッシュを取得し、A のキャッシュを拒否します。
- B はオンラインでアクティベートする必要があります。 1 デバイス制限があり、A がバインドされたままの場合、サーバーは B を拒否します。
顧客はどのようにしてコンピュータを変更できますか?
お客様に古いコンピュータのバインドを解除してから、新しいコンピュータをライセンス認証するよう依頼します。古いものが壊れている場合は、コンソールの [デバイスのアクティベーション] でバインドを解放します。コンピュータを移動しても、ライセンスの有効期限はリセットされません。
オペレーティング システムを再インストールすると、その ID が変更され、新しいデバイスのアクティベーションが必要になる場合があります。 OS の完全なクローン作成、なりすまし ID、または変更されたクライアントは、より強力な攻撃です。このデバイス ハッシュだけでは、それらを確実に停止することはできません。
長期間オフラインで使用すると、A の既存の署名は、それがリリースされたことをすぐには認識できません。その状態を更新するには、サーバー リクエストが成功する必要があります。オフライン期間が長くなると、リモート強制が遅れます。
クロスランゲージデバイスハッシュ
SHA256(UTF8(
"LicenovaDevice/v2\n"
+ lower(product_id) + "\n"
+ lower(trim(OS_machine_identity))
))