ASCII に制限されている場合、絵文字や非ラテン文字などのより複雑なものをどのように表現できるでしょうか? XNUMX つの答えは Punycode です。これは Unicode 文字を ASCII で表現する方法です。 ただし、技術的にはUnicodeの生のビットを文字にエンコードできますが、次のように Base64、引っ掛かりがあります。 ドメイン ネーム システム (DNS) では、通常、ホスト名は大文字と小文字を区別しない必要があるため、HACKADAY.com、HackADay.com、または単に hackaday.com と入力しても、すべて同じ場所に移動します。
【A. Costello] は、カリフォルニア大学バークレー校で Punycode のアイデアを提案しました。 RFC 3492 2003 年 XNUMX 月。これは、すべての通常の ASCII 文字を抜き出し、その間に区切り記号 (この場合はハイフン) を付けて片面に貼り付ける単純なアルゴリズムの概要を示しています。 次に、Unicode 文字がエンコードされ、文字列の末尾に貼り付けられます。
最初に、数値のコードポイントと文字列内の位置が乗算されます。 次に、数値は次のようにエンコードされます。 ベース-36 (az および 0-9) 可変長整数。 たとえば、挨拶と感謝のギリシャ語「ねえ、ευχαριστώ」 になるねえ、-mxahn5algcq2」. 同様に、美しい街 ミュンヘン になる mnchen-3ya。
ギリシャ語の例でお気づきかもしれませんが、base-36 文字がどの元の Unicode シンボルに属しているかをデコーダーが認識できるようにするものは何もありません。 可変長整数のおかげで、エンコードできる数値にはしきい値があるため、各有効桁が認識可能です。 有限状態マシンが助けになります。 RFC は、アルゴリズムの概要を示す擬似コードの例を示しています。 デコードが進むにつれて変化するバイアスを利用するのは非常に巧妙です。 常に増加しているため、いくつかの巧妙な特性を持つ単調関数です。
もちろん、通常の URL が Punycode として解釈されるのを防ぐために、URL には特別な小さな接頭辞があります。 ×n-- ブラウザにそれがコードであることを知らせます。 これにはすべての Unicode 文字が含まれるため、絵文字も有効です。 では、なぜあなたは行けないのですか? xn--mnchen-3ya.de? ブラウザに入力するか、リンクをクリックすると、ブラウザが複雑な文字列を美しい URL に変換するのを目にするかもしれません (すべてのブラウザがこれを行うわけではありません)。 最大の問題は Unicode そのものです。
Unicode は、毎日 Web で使用されている数百の言語を可能にするための素晴らしいサポートを提供しますが、あえて言えば、いくらか単純でさえありませんが、いくつかの欠点があります。 キリル文字、ゼロ幅の文字、およびその他の Unicode の奇妙さにより、より悪意のあるユーザーがドメインを設定できるようになり、レンダリングすると、 有名なウェブサイトとして表示されます. SSL 証明書は有効であり、他のすべてがチェックアウトされます。 キリル文字には、視覚的にはラテン語の対応する文字と同じように見えますが、表現が異なる文字が含まれます。 ハッカーやフィッシングの試みが行われる可能性が非常に高く、これまでのところほとんどのドメインで Punycode は許可されていません。
たとえば、これら XNUMX つのドメインの違いがわかりますか?
一部のブラウザーは、ホバー テキストを Punycode としてレンダリングし、一部のブラウザーは、それを UTF-8 に相当するものとして保持します。 「a」(U+0061) はキリル文字の「a」(U+0430) に置き換えられ、ほとんどのコンピューターはまったく同じ文字でレンダリングされます。
これは IDNホモグラフ攻撃、ユーザーがリンクをクリックすることに依存しており、それらのリンクの違いがわかりません。 2001 年に、XNUMX 人のセキュリティ研究者がこのテーマに関する論文を発表し、「microsoft.com」を概念実証としてキリル文字で登録しました。 これに対応して、トップレベル ドメインは、ラテン文字とその国で使用されている言語の文字を含む Unicode 文字のみを受け入れることが推奨されました。 その結果、一般的な米国ベースのトップレベル ドメインの多くは、Unicode ドメイン名をまったく受け入れません。 少なくとも、表示できない文字は ICANN によって明確にバンド化されており、大量のワームを回避できますが、視覚的には同じでもビットごとに異なる文字が存在すると、混乱を招きます。
ただし、これらのタイプの攻撃に対する軽減策は徐々に展開されています。 保護の最初のレイヤーとして、Firefox および Chromium ベースのブラウザーは、すべての文字が同じ言語からのものである場合にのみ、非 Punycode バージョンを表示します。 一部のブラウザーは、すべての Unicode URL を Punycode に変換します。 他の手法では、光学式文字認識 (OCR) を使用して、URL を別の方法で解釈できるかどうかを判断します。 ブラウザーの外では、テキスト メッセージまたは電子メールで送信されたリンクは同じようにスマートではない可能性があり、ブラウザーでそれらを開くまでわかりません。 そして、それでは手遅れです。
課題はさておき、Punycodes は太陽の下で時間を過ごすことができますか? Hackaday は ☠️📅.com を取得しますか? 知るか。 しかし当面は、2003 年に提案された、まだ完全には解決されていないドメイン名の国際化という厄介な問題に対する巧妙な解決策を利用することができます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://hackaday.com/2023/01/18/punycodes-explained/
- 2001
- a
- 同意
- アルゴリズム
- すべて
- 常に
- &
- 回答
- 周りに
- 攻撃
- 試み
- 美しい
- になる
- さ
- の間に
- バイアス
- 最大の
- ブラウザ
- ブラウザ
- カリフォルニア州
- 場合
- 証明書
- 文字
- 文字認識
- 文字
- 小切手
- 市町村
- コード
- COM
- コマンドと
- 複雑な
- コンピューター
- コンセプト
- 紛らわしい
- 混乱
- 変換
- 可能性
- 国
- ここから
- 中
- デコード
- 決定する
- 違い
- 異なります
- 桁
- DNS
- ドメイン
- ドメイン名
- ドメイン名
- ドメイン
- ドント
- 各
- メール
- 楽しみます
- 同等の
- さらに
- EVER
- 毎日
- すべてのもの
- 例
- 説明
- Firefoxの
- 名
- から
- function
- 一般に
- 取得する
- GIF
- 与える
- Go
- ゴエス
- 素晴らしい
- 挨拶
- ハッカー
- 持って
- 助けます
- ホバー
- 認定条件
- しかしながら
- HTTPS
- 何百
- アイデア
- 同一の
- in
- 含ま
- の増加
- 信じられない
- 意図
- IT
- 自体
- キープ
- 知っている
- 言語
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 大
- 遅く
- ラテン
- 層
- リード
- 手紙
- LINK
- リンク
- 少し
- 見て
- 機械
- 作成
- 多くの
- 3月
- その間
- メッセージ
- かもしれない
- 他には?
- 最も
- 掛け
- 名
- 名
- 数
- 番号
- OCR
- 不思議
- オファー
- ONE
- 開かれた
- 機会
- 光学式文字認識
- オリジナル
- その他
- 輪郭
- 外側
- 紙素材
- フィッシング詐欺
- 場所
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 位置
- 可能
- かなり
- 防ぐ
- 問題
- 証明
- 概念実証
- プロパティ
- 提案された
- 保護
- 公表
- Raw
- 認識
- 推奨される
- 登録
- レギュラー
- 置き換え
- 表す
- で表さ
- 必要
- レスキュー用機材
- 研究者
- 応答
- 制限されました
- 結果
- 圧延
- ロール
- 同じ
- セキュリティ
- セキュリティ研究者
- セッションに
- 表示する
- 重要
- 同様に
- 簡単な拡張で
- ゆっくり
- So
- これまでのところ
- 溶液
- 一部
- 幾分
- 特別
- 特に
- SSL
- まだ
- 簡単な
- テーマ
- 日
- サポート
- シンボル
- テクニック
- アプリ環境に合わせて
- 物事
- 時間
- 〜へ
- 一緒に
- あまりに
- トップレベル
- 最適化の適用
- ユニコード
- 大学
- カリフォルニア大学
- URL
- つかいます
- ユーザー
- 活用
- バージョン
- ウェブ
- 周知
- この試験は
- かどうか
- which
- while
- 誰
- Wikipedia
- 意志
- 寄生虫
- あなたの
- ゼファーネット