ゼファーネットのロゴ

DigitalWorksのブロックチェーンの信頼の根

日付:

特定のユーザーのデバイスのみをアクティブ化するようにデジタル権利を強制することは、まったく別のセキュリティ上の課題でしたが、ソフトウェア資産管理(SAM)を自動化するために不可欠でした。 各Activateトークンは、一度にXNUMXつのデバイス(ラップトップ、タブレット、電話など)でXNUMXつの製品のみを承認することが一般的な要望です。 デバイス識別子以外にアクティベーションをロックする方法は他にもあります。これらについては説明しませんが、同じ方法で統合できます。 各デバイスが不変のハードウェア識別子を持っているため、これらのXNUMXつ以上をアクティベーション識別子として使用することができました。 デバイスのオペレーティングシステムごとに異なりますが、Linuxのdbus / machine-idを一意のハードウェア識別子として使用する例を次に示します。 Windowsの場合、SMB / BIOSインターフェイスを使用してレジストリ内の読み取り専用のMachineGuidにアクセスすることを除いて、プロセスは同様です。

ハードウェアIDを直接使用すると、同じデバイス上の異なる製品間で明らかな競合が発生し、プライバシーの問題が発生しました。 スケーラブルなデバイスの関連付けでは、製品間の一意性を確保するために、製品固有の情報を識別子に追加する必要がありました。 また、プライバシー保護のため、パブリックブロックチェーンに保存する前に情報を匿名化することが重要でした。 さらに、アクティベーションルックアップチェックを効率的に操作するには、一意のXNUMX対XNUMXルックアップを使用することが最も重要です。

これらの要件は、一意の結果(SHA 256など)も保証できる一方向ハッシュが必要であることを意味しました。 SHA 256計算への入力の一部として一意のデバイス識別子を持つ製品情報を含めることで、同じデバイス上の異なる製品間で結果のアクティブ化IDの一意性が保証されます。 そして、設計上、一方向ハッシュはまさにそれです—一方向です。 元のハードウェア識別子に関する情報の漏洩はありません。

一意で不変のハードウェア識別子を、結果も一意である一方向ハッシュ関数へのデータ入力のベースとして使用することが、このシステムのコアセキュリティです。 製品がアクティブ化されていることを確認するためのチェックは、アプリケーションが認識している一意のハードウェアIDと製品情報に対して一方向ハッシュ計算を実行します(を参照)。 AutoLM 詳細については)。 同一のアクティベーション識別子に関連付けられたActivateNFTが見つかり、関連付けられたActivateトークンが有効な場合(正しい製品、期限切れではないなど)、検証チェックは成功したと見なされ、デジタル製品はこのデバイスでアクティブ化されたと見なされます(アプリケーション機能の有効化、ビデオの再生、アートの表示など)。

コードに簡単にステップインするには、 Solidity 以下の機能とコメントは、製品のアクティベーションのステータスを確認するためのインターフェイスについて説明しています。 組織(エンティティ)と製品識別子はアプリケーションに認識されており、静的にコンパイルできますが、 licenseHash は、ハードウェア識別子と一方向ハッシュアルゴリズムを通過する製品の詳細の一意の結果です。

セキュリティの弱点を特定してみましょう。 明らかな攻撃ベクトルのXNUMXつは、偽のクレデンシャルを作成するか、トークンをアクティブ化することです。 ただし、偽の製品名であっても拒否されます。 スマートコントラクト(を参照) activateStatus() 上記)は、アクティベーションが一致するアクティベートトークンが別の組織から作成されたかどうかを検出します(entityIndex NFTトークンID内は異なります)。 作成者のウォレットのみが、直接またはオファーを通じて、一意の組織IDを含むNFTを作成できます(entityIndex)。 このソリューションの強みと単純さの両方の基礎を形成する、一意性と不変性のもうXNUMXつの活用。

スマートコントラクトのライセンスアクティベーションチェックで正しい製品と組織の識別子が存在することを確認すると、その製品の所有者によって登録されたイーサリアムウォレットがこれらのトークンをミント(つまり作成)する唯一の実行可能な手段です。 ただし、スマートコントラクトはオープンソースであり、サードパーティのセキュリティ監査とプライベートブロックチェーンの展開を可能にするため、同じIDを持つ偽のクレデンシャル/ NFTをテストEthereumネットワークで作成できます。 非公式のImmutableEcosystemがあなたになりすますのを防ぐために、ブロックチェーン(Infuraなど)への読み取り要求を保証するソフトウェアがEthereumMainnetと公式のEcosystem契約アドレスを使用することが重要です。 ブロックチェーンへのアクセスを構成するときにオプションを許可すると、ブロックチェーンのクレデンシャルを検証するときに使用されるパスが制御不能になる可能性があります。 この設計が必要なのは、ETHガスコストを回避するためにエコシステムをプライベートイーサリアムネットワークに展開できるようにするためです。

最新のブロックの実施も必要です。 古いブロック時間を許可すると、過去のライセンスを使用できるようになります(再販前または新しいデバイスへの移動前)。 テストネットの設定と保​​守に必要な時間と専門知識により、これが詐欺に使用されるリスクが軽減されます。 アクティベーションチェックに使用される構成パラメーターがアプリケーション内で静的であり、ユーザーが構成できないようにすることで、これを緩和します(デフォルトは AutoLM).

アクティベーションチェックを完全に削除しようとする可能性のあるリバースエンジニアリング攻撃から防御することも重要です。 このため、製品内のセキュリティを絡み合わせることが重要です。 たとえば、状態を維持するだけでなく(確保 アクティベーションがチェックされました)が、このチェックを実行するコードが改ざんされていないことを確認してください(ファイル認証に関する今後の記事は近日公開予定)。 リバースエンジニアリングに対する厳格なライセンス契約ルールは、これらの取り組み、特にその公開に対して強力な法的抑止力を提供できるため、製品に推奨されます。

完璧ではありませんが、このソフトウェアライセンスソリューションには、他のライセンスシステムにはない利点がXNUMXつあります。 以前のデバイスロックソリューションには公的な信頼のルートがなかったため、コードに隠された秘密のアルゴリズムに依存して信頼性を計算しました。これは信頼のルートとしての秘密のソースです。 以前は、秘密のソースが公開された場合、誰でも製品のライセンスを作成できました。 これはサーバーアクセステクノロジーによってある程度軽減されましたが、顧客のためにこれらのサーバーの稼働時間を維持および保護するにはコストがかかり、多くの場合、集中化につながります。 信頼のルートとしてのブロックチェーンにより、誰もが秘密のソースと一元化されたサーバーを失うことができます。 信頼のルートとしてブロックチェーンを使用して、デジタルワークスパイプラインを保護します。

コインスマート。 BesteBitcoin-ヨーロッパのBörse
ソース:https://betterprogramming.pub/a-blockchain-root-of-trust-for-digital-works-4726bbeb3c7e?source = rss ——- 8 —————– cryptocurrency

スポット画像

最新のインテリジェンス

スポット画像