私が達成した主な機能:
- 高速ダウンロード
- パスワードを指定すると、情報はブラウザで直接暗号化され、サーバーには何も保存されません。 データを表示するには、サーバーからではなく受信したデータをブラウザーで復号化するためにパスワードを入力する必要があります。
- 高いCPU使用率
- サイトがないため、検索エンジンはサイトのコンテンツのインデックス作成を禁止されていません
- どこでもHttps
ブラウザーのデータ暗号化は、標準ブラウザーライブラリによって提供されます。 データはPepeカエルの形のアルゴリズムで暗号化されます。 ソースコードはgithubで入手できます。 サーバー側は記述されていません。
暗号化アルゴリズムについて少し。
これらのサービスの多くは暗号化にAESアルゴリズムを使用しており、キヤノンから離れないことにしましたが、元の文字列を次の順序で数回暗号化することで再保険をかけました。
上から下、左から右に移動して、画像内の各文字を特定の関数として解釈し、毎回新しい関数で文字列を暗号化して確認しました:
- 文字O:AES-CTR
- 文字M:AES-CBC
- 文字z:AES-GCM
カエルのペペの画像は、これらの目的に最も適しているように見えました。
結果はこのサイトです:
少し待ってから、メッセージのリンクとパスワードを受け取りました。
ご覧のとおり、スクリーンショットが可能であることを想定しましたが、この場合、攻撃者はリンクまたはパスワード全体を見ることができず、メッセージを解読できなくなります。 また、パスワードはソーシャルエンジニアリングから保護され(ユーザーのパスワードが既存のパスワードと一致しないことが判明しないため)、パスワードはギャングの暗号解読(一般的には直腸)から保護されます。 。
ユーザーのリンクをクリックしてパスワードを入力した後、メッセージを読んだ直後に閉じる必要があります。
繰り返しますが、サーバーにデータを送信しないため、サーバーがハッキングされた場合にデータを盗むことはできません。 これについて考えた後、私たちは人々のためにコードをできる限り明確にすることを決定し、これらの目的のためにVanillaJSフレームワークを使用しました (Webサイトでその主な機能に慣れることができます)。 わかりやすくコンパクトにするために、すべてのコードをindex.html内に配置します。
図書館についてのコメントとレビューを歓迎します。 また、改善のためのアイデアがある場合は、それらを表明してください。