• ベストアンサー

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

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/8248)
回答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

  • バックスラッシュと円記号の同居

    ■ 質問にいたるいきさつ バックスラッシュと円記号を同一ページ内に同居させるばあい、IE であれば <head/> の <meta/> に charset=UTF-8 とかき、<body/> に <p>&#x5c; &#xa5;</p> とすれば、表示上バックスラッシュと円記号がならんでみえます。 Netscape と Opera は <p lang="en">&#x5c; &#xa5;</p> でもだめでした。 Netscape は表示メニューの文字コードを ISO-8859-1 にすれば、バックスラッシュが表示されます。 Opera はどうやってもバックスラッシュが表示されません。 ■ 質問 Netscape や Opera をつかってページをみるひとにもバックスラッシュをみせるにはどうすればいいでしょう。 できれば、ページをみているひとに「文字のエンコードをかえてみてください」とはいいたくありません。 できれば、全角のバックスラッシュはつかいたくありません。 できれば、画像はつかいたくありません。 このようなわがままを実現する方法があればおしえてください。 ■ 実験してみた環境 OS: Win XP IE 6 Opera 7.20 Netscape 7.1 いずれも日本語版

  • 英語版で円記号の表示法

    英語版の(日本語を知らない米国人が所有する)Windows2000で、円記号を表示する方法がありますか? 以下のような操作をすると、自分のコンピュータでは「\」が半角表示されます。しかし、相手のコンピュータではback slash(\)に変換されてしまいます。 [Word]―[ツールMenu]―[オプション]―[互換性Tab]―[オプション]―[バックスラッシュを円記号に換える:チェック] よろしくおねがいします。

  • 円記号を表示させるには?

    メモ帳やこういったサイトでキーボードの円記号を押せば円記号は表示されるのですが 投稿するとバックスラッシュになってしまいます \\←円記号を投稿したつもり 投稿後も円マークを表示させるにはどうすればいいのでしょうか? ここで見えている\は私にはバックスラッシュに見えているだけでWindowsのみなさんには円マークとして見えているのでしょうか?

    • 締切済み
    • Mac
  • macのvimで円記号を使いたい

    今までPerlをWindows環境で書いていました。 エディターはずっとVimです。 最近になって、Macを手に入れたのでMacで開発したいのですが Macでは円記号ではなくバックスラッシュでないと変数が認識されないことに気づきました。 バックスラッシュでも書けないことはないのですが、optionキーを押さないといけないことと Windows環境に慣れていたため、バックスラッシュだと変数が見づらいということもあり、macのVimでも円記号をそのまま使えないかと思っていますが、Vimの設定がいまいちよくわかりません。 もしお分かりになる方がいたら教えて頂けないでしょうか?

    • ベストアンサー
    • Perl
  • Word2007 バックスラッシュをマクロで表示

    XPsp3 で Word2007 Pro を使用しています。 バックスラッシュ(アスキーコード&h5C)を "\"に変えずに、バックスラッシュのまま、 表示させる処理について教えてください。 人がオペレーションするには Wordのオプション中の 「バックスラッシュを円記号に変換する」 をアンチェックにすればOKですが、 これをマクロから設定する方法、 あるいはここがCheckedでも ASCII &h5CをASCII &h5Cのフォントのままに表示させる方法は あるでしょうか? よろしくお願いします。 (マクロ記録とOptions Objectメンバのブラウズ  はしてみましたがわかりませんでした)

  • 「円」記号と「バックスラッシュ」記号

    Winで入力したメール文章に「円」記号があったのですが(フォルダを表すため)Macでメールを受け取ったら「バックスラッシュ」に見えます。これはアンクのコード自体も違うということでしょうか? なぜ、アンク記号までも、コードが違うのでしょうか? 漢字コードが違うのはいままで気づいていましたが。 WinとMacのコードの違いについて御教えください。

    • ベストアンサー
    • Mac
  • アップロードするとバックスラッシュが円記号になる

    タイトルの文字制限で上手くかけませんでしたが、PHPファイルをサーバーにアップロードすると、半角バックスラッシュが半角円記号に置き換わってしまいます。 元のファイルはUTF-8で保存、ちゃんと半角バックスラッシュで表示されていますが、サーバーにアップロードしたものを開くと半角円記号に置き換わっています。 このせいでPHPエラーが出てプログラムが機能しません。 アップロードしたファイルを編集すれば機能するのですが、HP作成ソフトのプラグインの中のファイルなので、アップロードする度に修正するのが非常に手間です。 回避策があればよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • VS2012での\(円マーク)とバックスラッシュ

    VS2012のVBでコードを書きはじめました。OSはWin7(x32) 日本語です。 ファイルを呼び出そうと思っても呼べずに困っています。 FileName = "c:\textfile.txt" ret = LoadFile(FileName) としたときに、”textfile.txt“にアクセスできないのは、デバッグモードで実行したときに”\”がバックスラッシュとして扱われているからではないかと疑っています。 原因を探っていくうちに下記を疑い始めました。 Dim FileName As String FileName = "\" として、デバッグモードでFileNameの値を見ると円マークではなくバックスラッシュになっています。 しかし、FileNameの値をテキストボックスに出力させると円マークです。 (1)このような状態でもパス名に問題は無いのでしょうか ⇒どちらも同じASCIIコード92だから、内部で92を渡すだけだから問題ない? (2)Visual studio内でキーボードを選択する部分があるのでしょうか?

  • 円記号の文字化け

    HTMLを出力するPerlを新しくアカウントを取得したレンタルサーバにアップロードしたら、これまで正常に表示できていた円記号が半角バックスラッシュになりました。 IEのメニューでSJISにチェックがあるからSJISで解釈しているようですが、セリフが付いていていつもの文字とは違うように見えます。 IEで表示ページをローカルにダウンロードするとなぜかちゃんと円記号として見れますし、セリフも無いです。 文字化けではなく文字コードの違いかもしれませんが、どうやったら直りますか?

    • ベストアンサー
    • Perl
  • 記号論理の証明について

    カテゴリ違いでしたら申し訳ありません。 記号論理に関しての証明について伺いたいのですが BIRDとANIMALを述語記号とし、cを定数記号とすると ∃x ANIMAL(x)がBIRD(c)と∀x(BIRD(x)→ANIMAL(x))の論理的帰結であると伺ったのですがこれを証明するならばどうすれば良いのでしょう? BIRD(c) ∀x(BIRD(x)→ANIMAL(x)) ∃x ANIMAL(x) BIRDを鳥である、ANIMALを動物であるとするならば cは鳥である。 任意のxが鳥ならばxは動物である。 よって、あるxは動物である。 と、日本語表記だと論理的に帰結しているような印象を私個人は受けているのですが、 論理的帰結だと示すにはどうしていいものかと行き詰っています・・・ このような問題の証明方法を教えていただければ幸いです、よろしくお願いします。