• ベストアンサー

パスワードに円記号を使った場合について

WikipediaにASCIIの0x5C番地には円記号とバックスラッシュが割り当てられていると書いてあり、その事でお聞きしたいことがあります。 日本語版ASCIIでパスワードに円記号を設定した場合、米国版ASCIIではバックスラッシュで解除できるのでしょうか? 表記は異なりますが番地が一緒なので気になりました。

質問者が選んだベストアンサー

  • ベストアンサー
  • 0909union
  • ベストアンサー率39% (325/818)
回答No.2

質問内容: >米国版ASCIIではバックスラッシュで解除できるのでしょうか? お礼内容: >セキュリティ対策のサイトで円記号をパスワードに混ぜるとその国特有の文字だから有効と書いてありましたが、間違いだったみたいですね。 質問内容と、「お礼」の回答と、とんでもなく違うのに違和感を感じました。 また、回答者の回答とも、とんでもなく見当違いの「お礼」の回答内容ですね。 人の話を聞けない方なのかもしれませんね。 きっと質問と言うより、違う意図があるのでしょう。 まず、よっぽどの素人の方が、それもよっぽどの馬鹿コーダーの方が作ったサイトで無い限り、通常ユーザー、パスワード入力アルゴリズムには、 入力チェック 機能が盛りこまれいます。この機能の役目は2つ。入力制限文字コード(文字種)の洗い出しと、入力文字数制限チェックです。 いま、ほとんどの日本の銀行オンラインサイトでは、日本語入力用に次のように入力制限となっています 半角数字 半角アルファベット のみ使用可能。片方だけの場合もあります。この場合、日本語全角はもちろん¥マークのようにキャラクター文字、中国漢文、ハングルなど他の国の文字種がはいると、上記の機能ではじかれ XXXXは使用できません。半角数字を使用してください。 なんて言うエラーページが表示されるようになっています。 つまり、ほとんどのサイトで¥は使用できません。通常組み合わせとは、 半角数字 半角アルファベット キャラクター文字 で、前述のように「キャラクター文字」は使用される事はすくなくなってきています。 ここが肝心で、もしキャラクター文字(ASCIIの0x5C番地)が使用できるサイトだと、それは 入力チェック 機能を通過したことになり、入力された文字コードのまま保存されます。つまり表示されている文字で記録されてるわけでなく、認識した文字コードで保存されていることになります。 これは外字といって、機種依存コードなどでも全く同じで、文字種ではなく 文字コードでの認識と思ってください。 >円記号を設定した場合、米国版ASCIIではバックスラッシュ 円記号はバックスラッシュではありません。その辺、誤解ない様に。円記号の文字コードはアスキコードではバックスラッシュの文字コードに当たる。と言うことです。 さらに逆に言うと、アメリカなどではバックスラッシュはディレクトリー構造を表すコードと一緒になるので、使えない場合が多いです。制限文字コードと言う事ですね。 そのため銀行など、一般の方が使用するサイトではキャラクター文字の制限が入るのです。 使用できる場合は * - _ なんて制限されています。これ以外の文字だと、プログラムの予約文字と同じため5年以上前のサイトだとよく誤動作していました。これはサニタジ(略語)の技術が一般的に普及していなかったためです。 つまり、言いたかった事は、もし対象の文字が使えるサイトなら、 >サイトで円記号をパスワードに混ぜるとその国特有の文字だから有効 と言うのは、プログラミングからすると意味が無い事だが、外国の方からすると、パスワードに ¥ を使う習慣はほとんど無いので、数パーセントでもクラックされる確率を下げてくれる効果はあるよ。 と言う事を、言いたかったのだと思います。ですので、 >有効と書いてありましたが、間違いだったみたいですね。 と言う認識は間違いです。 総じて、キャラクター文字を2個以上いれると格段にクラックされる確立は下がります。 例えば今では、一般の方でも誕生日や子供の名前を入れるような事は危険だ。と言う認識は浸透したかと思いますが、 そこに *01091-1 なんてすると、ほぼクラックされる事はありません(誕生日2001-09-11として)。

kokonami
質問者

お礼

回答ありがとうございます。 >質問内容と、「お礼」の回答と、とんでもなく違うのに違和感を感じました。 同じものだったらその国特有の文字じゃないので意味がないのかと思っていました。 不快にさせてしまったのなら申し訳ありません。 >つまり表示されている文字で記録されてるわけでなく、認識した文字コードで保存されていることになります。 そうだったのですね! 文字コードで保存されているなら、例えば表示では「PASS」という覚えやすい文字でも 実は文字コード上では「4JBV」として保存する様な事もできるのでしょうか? できるのならランダムな長文パスワードを覚えられそうです。 もし自分しか知らない自作の文字コードを作って設定した場合、 解析されにくいような気がするのですが可能なのでしょうか? >これ以外の文字だと、プログラムの予約文字と同じため5年以上前のサイトだとよく誤動作していまし>た。これはサニタジ(略語)の技術が一般的に普及していなかったためです。 誤作動を回避するために使用できる文字を制限していたのですね。 gooがアンダーバーの記号しか使えない理由はこういう理由かもしれませんね。

その他の回答 (4)

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.5

[ANo.3] のお礼への補足ね。 「日本語はJIS X 0201だったのですね。」 符号化文字集合という意味では、Yes。 「色々な国で使っていたら、他の国では使ってないので安心とはい かないですよね。」 そういう意味じゃないよ。 「ハッシュ関数を用いて表示されたパスワードを変換できるので ね。 」 ×表示 ○入力 「辞書攻撃に対して強そうな印象です。」 辞書攻撃に対する耐性とはまったく関係ないよ。 「パスワードの破られ難さを重視するよりも使いやすさを優先した 為なのですね。」 パスワードの破られ難さを重視する事はとは関係ないよ。 なるほど! [ANo.2] さんの言っているいみが、ようやくわかったよ。

kokonami
質問者

お礼

再び補足回答ありがとうございます。 所々、完全に理解出来ていないので申し訳ありません。 一旦この質問は締切り、再度個別に質問させて頂きます。 皆様ありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>WikipediaにASCIIの0x5C番地には円記号とバックスラッシュが割り当てられていると書いてあり、その事でお聞きしたいことがあります。 勘違いがあるようです。 8bitの文字コードで0x5Cが日本語版OSでは円記号で表示され、英語版のOSではバックスラッシュで表示されるということです。 両方を割り当てられている訳ではありません。 >日本語版ASCIIでパスワードに円記号を設定した場合、米国版ASCIIではバックスラッシュで解除できるのでしょうか? 「日本語版ASCII」、「米国版ASCII」と言う表現は正しくありません。 あなたの言っている「ASCII」の部分を「フォント」と言い換えて頂ければ正しい判断になると思います。 英語用キーボードでは円記号が無く代わりにバックスラッシュがあります。 パスワードは半角英数文字で設定されていると思いますので、8bitの文字コードが一致すればフォントの表示に関係なくパスワードが一致したことになります。

kokonami
質問者

お礼

回答ありがとうございます。 >両方を割り当てられている訳ではありません。 OSによってどちらか片方なのですね。 >「日本語版ASCII」、「米国版ASCII」と言う表現は正しくありません。 >あなたの言っている「ASCII」の部分を「フォント」と言い換えて頂ければ正しい判断になると思います。 一緒にしてしまい申し訳ありませんでした。 別物ですよね!

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.3

質問者さんが知ろうとしてる内容と回答/お礼が違ってきてしまっているように感じたので軌道修正してみる! ウィキペディアはこのページをみたのかな? http://ja.wikipedia.org/wiki/JIS_X_0201 ---- 引用はじめ ---- ASCIIと比較すると2文字が異なっており、92番の文字にバックスラッシュ('\')の替わりに円記号('¥')が、126番にチルダ('~')の替わりにオーバーライン('‾')が割り当てられている。 ---- 引用おわり ---- 「日本語版ASCIIでパスワードに円記号を設定した場合、米国版ASCIIではバックスラッシュで解除できるのでしょうか?」 まず、質問のなかの言葉を正確な用語に言い換えるね。 「日本語ASCII」→『JIS X 0201』 「米国版ASCII」→『ASCII』 おそらく、質問の意味は 『日本語環境の Windows などで設定した JIS X 0201 の円記号(0x5C)を含んだパスワードを、英語環境の Windows などで ACSII のバックスラッシュ(0x5C)で入力すれば解除できるか?』 と読み取ったんだけど、あってる? これなら『解除できる』が回答。 理由は入力したコードが同じだから。 [ANo.1] のお礼の次の部分だけど、 | セキュリティ対策のサイトで円記号をパスワードに混ぜると | その国特有の文字だから有効 | と書いてありましたが、間違いだったみたいですね。 「その国特有の文字だから有効」なのは、円記号がバックスラッシュとちがうコードを割り当てられている、文字コードを使うシステムのはなしね。 ※ ウィキペディアの『文字コード』内容も理解しておくといいかも。 → http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89 例えば、パスワード入力部分に Unicode を使うシステムなら、 バックスラッシュは U+005C として処理されるけど、 円記号は U+00A5 として処理されるよ。 ※ ウィキペディアの『Unicode一覧 0000-0FFF』 → http://ja.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7_0000-0FFF でも、多くの認証システムは ASCII を使ってるし、 「その国特有の文字だから有効」 とは、一般的にはいえないかな? [ANo.2] のお礼の次のところだけど、 | 文字コードで保存されているなら、例えば表示では「PASS」という | 覚えやすい文字でも実は文字コード上では「4JBV」として保存する様な | 事もできるのでしょうか? 実際にそうして保存してるパスワードもあるよ。 ウィキペディアの『暗号的ハッシュ関数』の項目も重要な内容だね。 http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E9%96%A2%E6%95%B0#.E6.9A.97.E5.8F.B7.E5.AD.A6.E7.9A.84.E3.83.8F.E3.83.83.E3.82.B7.E3.83.A5.E9.96.A2.E6.95.B0 ハッシュ関数で、パスワードを不可逆変換した値を保存しておいて、 認証するときは、入力されたパスワードをハッシュ関数で変換して、 保存していた値と比べて、同じかどうかで認証が成功したり失敗したり する使い方だね。 | 誤作動を回避するために使用できる文字を制限していたのですね。 誤動作を回避するために使用できる文字を制限するのは、 開発者が「誤動作しないようにシステムを作る技術がない」からだよ。 「サニタイズ言うなキャンペーン」私の解釈 http://kmaebashi.com/zakki/zakki0042.html 入力できる文字を制限をするのは、 例えば、ユーザが入力間違いをしたりしないように、 『ユーザの使い勝手を向上するため』だけにするのが 技術力のある開発者といえるね。 ちなみに、これだけど、 | もし自分しか知らない自作の文字コードを作って設定した場合、 | 解析されにくいような気がするのですが可能なのでしょうか? 自分しかしらない文字コードを作っても、誰にも使ってもらえないよね。 日本語とか英語とか言葉はいろいろあるけど、自分で新しく言葉を作っても 自分しか知らないなら、『何かを他人に伝える』という言葉が持つ役割が無いのと 同じぐらい無意味かな?

kokonami
質問者

お礼

回答ありがとうございます。 >おそらく、質問の意味は~と読み取ったんだけど、あってる? はい。その通りです! 日本語はJIS X 0201だったのですね。 >でも、多くの認証システムは ASCII を使ってるし、 >「その国特有の文字だから有効」とは、一般的にはいえないかな? 色々な国で使っていたら、他の国では使ってないので安心とはいかないですよね。 >実際にそうして保存してるパスワードもあるよ。 >ウィキペディアの『暗号的ハッシュ関数』の項目も重要な内容だね。 ハッシュ関数を用いて表示されたパスワードを変換できるのですね。 辞書攻撃に対して強そうな印象です。 >入力できる文字を制限をするのは、 >例えば、ユーザが入力間違いをしたりしないように、 >『ユーザの使い勝手を向上するため』だけにするのが >技術力のある開発者といえるね。 パスワードの破られ難さを重視するよりも使いやすさを優先した為なのですね。 >自分しかしらない文字コードを作っても、誰にも使ってもらえないよね。 私がたぶん色々勘違いしているので上手く伝わらないですよね。 自分専用の文字コードを作れば他に誰も知らないので破られないという考えの発言でした。 良く考えると他にもパスワード破る方法があると思うので意味ないですよね。

noname#231223
noname#231223
回答No.1

¥と\を区別していなければ、問題になりません。 米国版ASCIIでは、¥とは表示せず\と表示しますので。

kokonami
質問者

お礼

パスワードでも同じものとして扱われるのですね。 セキュリティ対策のサイトで円記号をパスワードに混ぜるとその国特有の文字だから有効 と書いてありましたが、間違いだったみたいですね。 回答ありがとうございました。

関連するQ&A