ホームページ >ウェブフロントエンド >jsチュートリアル >独自のセキュア シード フレーズ ジェネレーターを構築する

独自のセキュア シード フレーズ ジェネレーターを構築する

WBOY
WBOYオリジナル
2024-07-30 11:50:51950ブラウズ

言及されたコードは私のGithubで入手可能です
前回の投稿では、シード フレーズ ジェネレーターの NodeJs バージョンを作成しました。ここでは、ブラウザー バージョンを作成します。

開発者として、私たちは基本的なプログラミング概念を超えて考える必要がある課題に直面することがよくあります。今日は、暗号通貨とブロックチェーン技術の世界において重要なツールである、安全なシード フレーズ ジェネレーターを構築した私の経験を共有したいと思います。このプロジェクトは、暗号化、ユーザー インタラクション、セキュリティ アプリケーションにおけるランダム性の重要性についての貴重な教訓を私に教えてくれました。

真のランダム性の重要性

シード フレーズを生成するときは、ランダム性の品質が最も重要です。昔、私は JavaScript の Math.random() を使用していましたが、これは暗号化の目的には十分安全ではないことにすぐに気づきました。ここが私が着陸した場所です:

リーリー

この関数は、window.crypto.getRandomValues() からの暗号的に安全なランダム値と、マウスの動きからユーザーが生成したエントロピーを組み合わせます。 XOR 演算により、両方のソースが最終的なランダム性に寄与することが保証されます。

ユーザーとの対話によるセキュリティの強化

ランダム性の生成プロセスにユーザーを参加させることにしました。マウスの動きを追跡することで、エントロピーを増加させるだけでなく、ユーザーを関与させ、ユーザーをセキュリティ プロセスに積極的に参加させます。

視覚的なフィードバックを提供する

Building your own Secure Seed Phrase Generator

ユーザーに情報を提供し、関心を持ち続けるために、経過時間だけではなく実際のマウスの動きを反映する進行状況バーを実装しました。

リーリー

このアプローチはリアルタイムのフィードバックを提供し、十分なエントロピーが収集されるまでユーザーにマウスを動かすよう促します。

機密データの保護

重要な教訓の 1 つは、機密データを保護することの重要性でした。最初は、マウスの動きのデータをグローバル変数に保存していましたが、悪意のあるスクリプトによってアクセスされる可能性がありました。私はクロージャーを使用してこれを解決しました:

リーリー

このアプローチにより、機密データはカプセル化され、グローバル スコープからアクセスできなくなります。

シード フレーズ ジェネレーターを安全に実行する

シード フレーズ ジェネレーターを使用する際の最も重要な側面の 1 つは、プロセスが完全にオフラインで安全であることを保証することです。このコードを安全に実行する方法についてのステップバイステップのガイドは次のとおりです:

  1. 新しいテキストファイルを作成します: 好みのテキスト エディター (Windows のメモ帳や Mac の TextEdit など) を開きます。
  2. コードをコピーして貼り付けます: シード フレーズ ジェネレーターの HTML コード全体をコピーし、この新しいテキスト ファイルに貼り付けます。
  3. 拡張子 .html を付けてファイルを保存します。 「seed_phrase_generator.html」のような名前でファイルを保存します。ファイル拡張子を .txt から .html に変更してください。ほとんどのテキスト エディターでは、[ファイルの種類] ドロップダウンで [すべてのファイル] を選択し、ファイル名の末尾に .html を追加することでこれを行うことができます。

インターネットから切断します。

続行する前に、コンピューターをインターネットから切断してください。これにより、シード フレーズの生成プロセス中にデータが送信されることがなくなります。
ブラウザでファイルを実行します:
保存した .html ファイルをダブルクリックして、デフォルトの Web ブラウザで開きます。これで、シード フレーズ ジェネレーターがマシン上でローカルに実行されるはずです。
シードフレーズを生成:
画面上の指示に従ってシードフレーズを生成します。
シード フレーズを安全に保存します:
生成したら、シード フレーズを紙に書き留めます。決してデジタル保存しないでください。

Image description

ブラウザを閉じてファイルを削除します。

シード フレーズを安全に記録したら、ブラウザを閉じて .html ファイルを削除します。

オフラインで実行する理由

このコードをオフラインで実行することは、いくつかの理由から非常に重要です:

セキュリティ: シードフレーズがインターネット上に送信される可能性を防ぎます。
プライバシー: サードパーティのスクリプトやトラッカーがプロセスに干渉できないようにします。
整合性: 外部の変更を加えることなく、コードが意図したとおりに正確に実行されることを保証します。

覚えておいてください: シードフレーズはデジタル資産の鍵です。生成および保存するときは、常にセキュリティを優先してください。このジェネレーターをオフラインで実行することは、資産を保護するための重要なステップです。

Mengimbangi Keselamatan dan Pengalaman Pengguna

Membina penjana frasa benih yang selamat adalah lebih daripada sekadar menulis kod. Ini tentang memahami prinsip kriptografi, menghargai interaksi pengguna dan sentiasa mengutamakan keselamatan. Sebagai pembangun, projek seperti ini mendorong kami untuk berfikir secara kritis tentang setiap baris kod yang kami tulis dan potensi implikasinya.

Berikut ialah Pautan ke Github - isi percuma untuk mengklon

以上が独自のセキュア シード フレーズ ジェネレーターを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。