• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データ暗号化のパスワードをネットに置いていいのか)

データ暗号化のパスワードをネットに置いていいのか

このQ&Aのポイント
  • データ暗号化に4096bitの鍵をネット上に置いておくことは安全ではないと言えます。通信経路などを含めて全体として4096bitの強度が落ちるため、実質的に意味がありません。
  • 256bitなら覚えやすい39文字であるため、ネット上に置くことができます。しかし、4096bitとなると624文字となり、覚えるのが困難です。
  • 全てのパスワードをネット上に置きたい場合、4096bitの鍵は無理であると言えます。安全性を保つためには、他の方法を検討する必要があります。

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

  • ベストアンサー
回答No.1

鍵をネット上においても、データがネット上などにないのなら問題ありませんが、データの外部流出事故・不正アクセス事件の際に、復号化される可能性が低くはありません。 たとえるなら、私はあなたの銀行口座の暗証番号を知っている。しかし、キャッシュカードは持っていない。という状況で、事故によって私がキャッシュカードを手にしたら何が起きるのか?ということです。(もちろん私は交番に届けますよ(^^;) それは、ようするに、事故の保険をかけないということです。 とりあえず、現在のところは 256 bit の AES で十分な暗号強度は得られますので 4096 bit で暗号化する必要はないのではないでしょうか。 それから、パスワードは印刷して安全なところに保管しておかないと分からなくなりますよ。 >これはやはりどうにもならないでしょうか。 暗号化の原則には、データを保護する問題を暗号鍵を保護する問題に換える以上のことは出来ないとあります。(というか自明ですが) というわけで、よい意味であきらめて、暗号鍵を印刷して安全に保管するのがよろしいのではないでしょうか。 セキュリティは最高水準よりも、現実的脅威に対する防護でなければ、セキュリティが足かせになって身動きが取れなくなってしまいますから。たとえるなら、1ドア2ロックなら現実的防護ですが1ドア20ロックは悲劇か喜劇になります(^^;)

base64sha2crypt
質問者

お礼

回答ありがとうございました。

base64sha2crypt
質問者

補足

SHA256種パスワード方式が精一杯ということになりますね・・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 暗号学的ハッシュ関数でbit長が適切って作れますか

    SHA256が(224かもですが)最小bit長で、 入力に1bitでも、また2bit以上入力値全体まで、異なれば、 出力のうちほぼ半数のbitが反転する、かつその 反転するbit位置は複数の入力値に対して法則性はなく、 ほぼランダムである。 という暗号学的ハッシュ関数であるのは、正しいですか? また、データの暗号化に使われるパスワードは4096bitを推奨との 事ですが、 SHA4096などその時に合った暗号学的ハッシュ関数を 作るのは難しいのですか? 素人考えでは、今256bitで衝突が見つかってないなら 4096bitならbit長大きいのだから作れそうな気もしますが やはりそういう問題ではないのでしょうか? もし作れるとしたら、データの暗号化に使うパスワードを SHAなんとか・・・の出力そのまま使っては、危険でしょうか? というかデータに限らず認証のパスワードでも SHAなんとかの出力そのままを使うのは何かまずいのでしょうか? もしできたらパスワードを覚えなくてよいのでいいかと思ったのですが。 パスワードは「IDのパスワード」をSHAなんとかに通した値ということで。 IDは「種パスワード+なんとかのサイト」をSHAなんとかに通した値ということで。 種パスワードはしょうがないからネットをパスワードの決め方とかで検索して 出てきた方法を見て理解して自分なりにアレンジして、最後にちゃんと頭に記憶して。 とりあえずここまで、どうでしょうか。

  • 暗号化の強度について

    bunokaと申します。 暗号化の強度について質問をさせていただきます。 例えば、128bitとかの暗号化強度があるとよく表示してありますが、どういう意味なのでしょうか? 暗号化の理論は数学の理論だと聞いておりますが、当方数学が弱く、どうも理解できません。 よろしければご教授お願いいたします。 参考になるURLでもかまいません。 お願いいたします。m(_ _)m

  • RSA暗号化の方法(具体的に)

    C++で、あるファイルを暗号化するプログラムを作成しようと思っています。 暗号はRSAで、と思っていますが、どのようにすればいいのか分かりません。 暗号自体のアルゴリズムは理解しているのですが、 「具体的に」どうすればいいのか教えて欲しいのです。 「文字」とか、そういう単位がなくて、単なるディスクファイル、またはメモリ上の bit列があったときに、それをどうやって暗号化するか、また復号するか。 鍵が分かったとして、bit列のどこからどこまでを1つの単位として計算するのか。 その暗号化単位は、公開鍵だけで判断できるのか。 素数で割った余りなので、1つの数字としてみたときに素数より小さい数でないと だめなことは分かります。 もしかしたら、このようなデータの暗号化は、他のアルゴリズムを 使用した方がいいのかもしれませんが、暗号について あまり詳しくないので、どうしたらいいのか分かりません。 ネットで調べた内容では、アルゴリズムは理解できても、 対象としているデータで、実際どうやるのか分かりませんでした。 よろしくお願いします。

  • 暗号化・復号化のアルゴリズムにはどんなものがありますか?

    Cでプログラミングを勉強しており、20文字ほどの文字列を暗号化・復号化するプログラムを考えていますが、ネットを検索しても暗号化アルゴリズムでなかなかいいものが見つかりません。 私のリクエストとしては ・暗号化対象は半角英数字、半角記号のみ。 ・単に文字コードを1つずつずらしたような簡単な暗号ではなく、複雑なアルゴリズムを使用したい。 ・アルゴリズムは複雑でもプログラムは簡潔にできるものがいい。(長くても数百行程度)。 ・アルゴリズム自体の仕様が公開されている。 ・アルゴリズムは数学式で表せるものがいい。 ・スーパーコンピュータを使わなければ解けないほど時間がかかる暗号化アルゴリズムでなくてもいい。 ・暗号化のライブラリファイルは使わず、自前で全部コードを書きたい。 ・公開鍵や秘密鍵を使わなくてもいい。 上記の条件を満たす暗号化アルゴリズムでいいものがありましたら、教えてください。 以上、よろしくお願いします。

  • 一般的なセキュリティ(暗号化)

    こんにちは、Perlを始めて2週間の者です。 只今、認証ページを勉強&作成中です。 IDとPASSに関しては暗号化して認証することを考えていますが、 crypt関数で暗号化すると、8文字以降は切り捨てられるとのことなので、 入力文字列を8文字で区切り、それぞれを暗号化した後に結合して 1つの暗号化された文字列を生成しました。 8文字以上の(文字数が多い)方が安全性が増すという意味合いからです。 また、入力値を暗号化する前に、reverseで逆順にしたりしましたが、 こういった処理には(文字数を増やしたり、逆順にする)意味がありますか? (さほど、セキュリティ強度は変わらないのでしょうか?) また、完全な暗号化は存在しないと承知の上ですが、MD5等も 強度が低いと聞きました。 通常、認証時のデータはどのようなセキュリティを施すべきですか? (○○○をすれば十分というものは?)

  • java(1.4) 暗号化

    暗号化鍵が16byteの文字列ではなく 各byte10進数で表現された鍵を利用してAESの暗号化を実装する場合、 鍵はどう変換させて文字列に変えればいいでしょうか。 また、変える必要はなくそのまま利用するものなのでしょうか。 ネット上のサンプルを拝見しても、 全て鍵の文字列を利用してのサンプルであったため どのような考え方で実装できるのかかご教授宜しくお願いします。 参考URL:http://www.masatom.in/pukiwiki/Java/%B0%C5%B9%E6%B2%BD/

    • ベストアンサー
    • Java
  • Triple-DESでの暗号化について。

    Triple-DESでの暗号化について。 ある仕様書に、 8byte値をTriple-DESで「Ka(8byte)」と「Kb(8byte)」の2つの鍵を使用して暗号化して作成された、8byteのデータをやりとりする。 とあるのですが、調べた所、Treiple-DESは16byteの鍵を1つしか使いません。 さらに、8byteの値を暗号化すると16byteの値が作成されてしまいます。 ------- Q1.普通の解釈で、2つの鍵を使って暗号化とは、以下の内どの意味なのでしょうか? -------  1.KaとKbを繋げて、鍵とする  2.Kaを鍵として暗号化した値を更に、Kbを鍵として暗号化する  3.別の解釈があるのでしょうか? ------- Q2.8byteの値を暗号化した場合、暗号化された値を8byteで取得する事は出来るのでしょうか? ------- ※VB.netやC#.netのソースがありましたら教えて下さい。 ※以下の2サイトの方法は試しましたが、16byteで暗号化されてしまいます。 http://dobon.net/vb/dotnet/string/encryptfile.html http://msdn.microsoft.com/ja-jp/events/dd252965.aspx

  • SSL暗号強度の低い共通かぎを無効にするには

    WindowsServer2003R2 IIS6.0をにてSSLの暗号化強度の低い40bit、56bit共通かぎを無効にする設定を探しています。 デフォルトでは、クライアントがサーバへ古いブラウザ、携帯などでアクセスしたとき40bit、56bitの共通かぎが利用される場合があるようです。 レジストリの値を変更すれば設定できるようなのですがMSの機械翻訳サイトの説明を理解できません。 http://support.microsoft.com/kb/245030/ja どなたかご存じの方ご教授いただけませんでしょうか。 よろしくお願いいたします。

  • VB.netでの暗号化復合化の鍵管理について

    Windows 7 Pro (64bit) VB.net 2010 Pro にてアプリ開発、暗号化複合化処理を実装しているところです。 作成するものは下記で、どちらもVB.netです。  1.暗号化ツール(自作  2.アプリ(自作 暗号化複合化処理は下記サイトを参考に行いました。 http://dobon.net/vb/dotnet/string/encryptfile.html システムの流れ ◆暗号化ツールについて  1.のツールで行います。  あるファイルを対象に暗号化し、そして、その暗号化されたファイルを出力し  2.のアプリに埋め込もうと考えています。  同時に、復号に使用する鍵(以下、「復号鍵」)もファイル出力します。 ◆復号化について  2.のアプリで行います。つまり暗号化と復号化の処理は1.2.で切り離されています。  ファイル内容を復号化(復号化された内容は文字列)し、  システム内部でそのファイル内容を使用したい。 ◆問題  復号化するからには、暗号化された復号鍵がどこかに添えてあげる必要があります。  【復号鍵の管理】に関して、どこに持つのがセキュリティ上最も安全か考えております。    折角暗号化したのにもかかわらず、復号鍵が目の見える場所にあっては、  アプリを解析などされた際などに、意味のないものになってしまいます。   何か良い策などあれば、参考にお聞かせ願えればと考えております。    ◆没案  下記の例では、コンピュータに長けている人であれば解析できそうな気がしたので  今回、私の作るシステムではアウトと考えています。  ・レジストリに格納    ・・・ レジストリエディタを使える人からすれば意味がない?    ・Windows上のローカル奥深くに隠しファイルとして保存    ・・・ そもそもディスクドライブにファイル保存すること自体がアウト?    ・USBなどの外部メディアに保存。システムを起動するときに指してもらう。   ・・・ 外部メディアの管理が必要になる。紛失時の問題にもなる。アウト。  ・サーバ上に、キーを持つ。   ・・・ この方法だと、そのサーバ情報もアプリに持つことになるので結局、そのサーバ情報も暗号化することに→イタチごっこに?アウト。 いろいろ考えて見てはいるのですが、いまいちピンときません。 そもそも解析されたら、などと考えるまでもなくこうすれば 鍵管理は問題ないという過去の事例などありましたら、ご教授願います。 よろしくお願いいたします。

  • パソコン(ネット含む)使うと個人情報ダダ漏れ?

    ネットつなぐ機器って個人情報ダダ漏れですか? ネット切ってるときに個人情報含む文書(メール)作成して 暗号化 (base64→1行1文字→256bit (全部半角で英大文字小文字数字記号使って39文字) のパスワードを行頭につけてSHA256通して(結果も当然39文字にして) 2行目からは同じパスワード+直前行+1文字をSHA通す、以下最終行まで 繰り返し) して、パスワードは送る相手の公開鍵で暗号化して 別途メール作成しておいて ネットつなげてからその2通をメール このとき、個人情報は漏れますか? ネットにつないだ瞬間にスパイウェアが入り込んで HDDのセクタを読むとかされてスパイウェアが ネットつなげてメール送るときにまぎれて自分(スパイウェア配布元など) のとことかに送る とかありませんか? というか、スパイウェアとかウィルスとか 入ってないのはどうやって確認すればいいのですか。 というか、HDDにどういう信号が記録されている時はまちがいなく安全だとか ファイル単位でハッシュ見て全ファイルOKなのでOKとか もっというとHDDのセクタも空にしたセクタの内容を WinHexなどセクタエディタで見ても見えない(復活できない)と 確認できる方法ってないですか パソコンで個人情報を含む文書を作成するのが少し怖くなったのですが。 というかWinHexとか皆さんご存知でしたか? 結局道具としてのパソコンはこんなもんなので 人間の行為として法律で禁止する って対応しかできていないというのが現状なのでしょうか。 それでも使わないわけにはいかないならあとで文句をつけられない ようにするには最低どういう対策をしたらいいのでしょうか。