本文へ移動

ソフトウェアライセンスのデバイス紐付けと移行

シングルデバイス ライセンスの場合、ソフトウェアとそのキャッシュを別の通常のコンピュータにコピーしても、元のコンピュータの認証は転送されません。

デバイス バインディングとユーザー アカウント ライセンスの比較

アカウントへのサインインにより、顧客とその購入内容が識別されます。デバイス バインディングによって、どのマシンがライセンスを使用できるかが決まります。サインイン後も、SDK はデバイス ID、署名、機能利用権を検証する必要があります。アカウント セッション データまたはキャッシュ ファイルを別のコンピューターにコピーしても、そのコンピューター自体のライセンス検証は置き換えられません。

SDK はどのようにしてコンピュータを識別するのですか?

起動するたびに、SDK は OS マシン ID を読み取り、製品 ID でハッシュします。サーバーの署名にはこのハッシュが含まれており、ローカルでもチェックされます。

Windows は MachineGuid を読み取り、Linux は machine-id を読み取り、macOS は IOPlatformUUID を読み取ります。生のマシン ID はアップロードされず、計算されたハッシュのみがアップロードされます。従来の設定フィールド device_id 実際のローカル ID をオーバーライドしません。

マシン A のファイルをマシン B にコピーするとどうなりますか?

  1. A は、A のデバイス ハッシュにバインドされた署名をアクティブ化して受信します。
  2. B は自身の ID を読み取り、別のハッシュを取得し、A のキャッシュを拒否します。
  3. B はオンラインでアクティベートする必要があります。 1 デバイス制限があり、A がバインドされたままの場合、サーバーは B を拒否します。

顧客はどのようにしてコンピュータを変更できますか?

お客様に古いコンピュータのバインドを解除してから、新しいコンピュータをライセンス認証するよう依頼します。古いものが壊れている場合は、コンソールの [デバイスのアクティベーション] でバインドを解放します。コンピュータを移動しても、ライセンスの有効期限はリセットされません。

オペレーティング システムを再インストールすると、その ID が変更され、新しいデバイスのアクティベーションが必要になる場合があります。 OS の完全なクローン作成、なりすまし ID、または変更されたクライアントは、より強力な攻撃です。このデバイス ハッシュだけでは、それらを確実に停止することはできません。

長期間オフラインで使用すると、A の既存の署名は、それがリリースされたことをすぐには認識できません。その状態を更新するには、サーバー リクエストが成功する必要があります。オフライン期間が長くなると、リモート強制が遅れます。

クロスランゲージデバイスハッシュ
9 つの SDK はすべて同じアルゴリズムを使用します
SHA256(UTF8(
  "LicenovaDevice/v2\n"
  + lower(product_id) + "\n"
  + lower(trim(OS_machine_identity))
))