C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: アプリケーション内の秘密にしたい文字列


(過去ログ 111 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■65901 / inTopicNo.1)  アプリケーション内の秘密にしたい文字列
  
□投稿者/ のぶ (5回)-(2013/03/22(Fri) 09:52:36)

分類:[C#] 

いつもお世話になっています。

現在メール送信プログラムを作成中です。
送信に関してはSystem.Net.Mail.SmtpClientクラスを用いて送信しています。
その際にHostを指定するのですが、コンパイルされたものをIL逆アセンブラーで見てみると
しっかりとHostを確認することができます。

そこで質問なのですが、このようにアプリケーション内の秘密にしたい文字列の実装方法として
どの様な方法が定石なのでしょうか?
また、Hostは隠すべき情報にあたるのでしょうか?
引用返信 編集キー/
■65903 / inTopicNo.2)  Re[1]: アプリケーション内の秘密にしたい文字列
□投稿者/ kiku (4回)-(2013/03/22(Fri) 10:12:01)
私見ですが、IL逆アセンブラを使えば見えてしまいますが、
仮に見えないように細工をしたとしても
ネットワーク上のパケットをキャプチャしてしまえば
簡単にホストのIPアドレスはわかってしまいます。
IL逆アセンブラの知識を思っている人が本気で知りたいと
思ったら防げないのではと考えます。
よって、気にしない感じでいいんじゃないでしょうか?

要件としてどうしても防ぐ必要があるのであるならば
ネットワーク構成などシステム全体を考慮する必要が
あると思います。
引用返信 編集キー/
■65906 / inTopicNo.3)  Re[2]: アプリケーション内の秘密にしたい文字列
□投稿者/ のぶ (6回)-(2013/03/22(Fri) 10:48:22)
No65903 (kiku さん) に返信

ご返信ありがとうございます。


> IL逆アセンブラの知識を思っている人が本気で知りたいと
> 思ったら防げないのではと考えます。
> よって、気にしない感じでいいんじゃないでしょうか?

やはりそうですよね。
ILなんて普通のユーザーなら知る由もないものですし、
知っていたらそれ以上の事も知り得ているかもしれませんよね。


私の質問ではHostですが、何かのパスワード等のように確実に隠したいという時は
どのような方法があるのでしょうか?
調べてみたところ隠したい部分をC++で実装し、それをC#側から利用するという方法が目に付いたのですが、
このようにされているのでしょうか?
引用返信 編集キー/
■65907 / inTopicNo.4)  Re[3]: アプリケーション内の秘密にしたい文字列
□投稿者/ 774RR (69回)-(2013/03/22(Fri) 11:23:45)
パスワードは「平文で持たない」のが鉄則 (C/C++/C#/VB/PHP なんであれ)
パスワード+ salt を暗号論的不可逆ハッシュ変換する、などが基本。

# まあそのパスワードをどこで使うかで話は違うが・・・

引用返信 編集キー/
■65908 / inTopicNo.5)  Re[3]: アプリケーション内の秘密にしたい文字列
□投稿者/ とっちゃん (62回)-(2013/03/22(Fri) 12:31:50)
とっちゃん さんの Web サイト
No65906 (のぶ さん) に返信
> 私の質問ではHostですが、何かのパスワード等のように確実に隠したいという時は
> どのような方法があるのでしょうか?
> 調べてみたところ隠したい部分をC++で実装し、それをC#側から利用するという方法が目に付いたのですが、
> このようにされているのでしょうか?

暗号化でMSDNを見てみると結構いろんな情報が書かれてます。
System.Security 名前空間にある、System.Security.SecureString を使えばオンメモリであっても暗号化して保持してくれます。
#ただし、長時間保持するのは好ましくないので、短期間の保持がよい
System.Security.Cryptography 名前空間には、暗号化サービスの様々なクラスが用意されています。

情報を隠すためにそこだけC++で。。。というのは聞いたことがありません。

引用返信 編集キー/
■65909 / inTopicNo.6)  Re[1]: アプリケーション内の秘密にしたい文字列
□投稿者/ shu (243回)-(2013/03/22(Fri) 13:42:09)
No65901 (のぶ さん) に返信
> また、Hostは隠すべき情報にあたるのでしょうか?
認証情報は隠した方が良いと思いますが、Host名は特に隠さなくても
大丈夫だと思います。
引用返信 編集キー/
■65911 / inTopicNo.7)  Re[4]: アプリケーション内の秘密にしたい文字列
□投稿者/ のぶ (7回)-(2013/03/22(Fri) 15:00:49)
No65907 (774RR さん) に返信

ご返信ありがとうございます。

> パスワードは「平文で持たない」のが鉄則 (C/C++/C#/VB/PHP なんであれ)
> パスワード+ salt を暗号論的不可逆ハッシュ変換する、などが基本。

やっぱりPass+Saltが基本ですよね。
WEB関連ではユーザー認証等でよく見かけるのですが
それ以外では見かけた事がなく疑問に思ったので質問した次第でした。

> パスワードは「平文で持たない」
これは今一度肝に銘じておきたいと思います。
引用返信 編集キー/
■65912 / inTopicNo.8)  Re[4]: アプリケーション内の秘密にしたい文字列
□投稿者/ のぶ (8回)-(2013/03/22(Fri) 15:06:49)
No65908 (とっちゃん さん) に返信

ご返信ありがとうございます。

>
> 暗号化でMSDNを見てみると結構いろんな情報が書かれてます。
> System.Security 名前空間にある、System.Security.SecureString を使えばオンメモリであっても暗号化して保持してくれます。
> #ただし、長時間保持するのは好ましくないので、短期間の保持がよい
> System.Security.Cryptography 名前空間には、暗号化サービスの様々なクラスが用意されています。

情報ありがとうございます。
System.Security 名前空間、System.Security.Cryptography 名前空間はいつかどこかで見たような気がしました(^^;
この辺り、後学の事も含めて探ってみたいと思います。


> 情報を隠すためにそこだけC++で。。。というのは聞いたことがありません。
あれ・・・そうですか・・・
といっても自分で検索した際にどこかのブログ?掲示板?でそのような記述を見かけたので
「えらく大変な(面倒な)実装をとるんだな・・・・」とちょっと引き気味になりました。
とりえず間違いが正せてよかったです!
引用返信 編集キー/
■65913 / inTopicNo.9)  Re[2]: アプリケーション内の秘密にしたい文字列
□投稿者/ のぶ (9回)-(2013/03/22(Fri) 15:08:18)
No65909 (shu さん) に返信

ご返信ありがとうございます。

>>また、Hostは隠すべき情報にあたるのでしょうか?
> 認証情報は隠した方が良いと思いますが、Host名は特に隠さなくても
> 大丈夫だと思います。
なるほど。隠さなくてもいい情報なのですね。
お教え頂きありがとうございます。
引用返信 編集キー/
■65914 / inTopicNo.10)  Re[5]: アプリケーション内の秘密にしたい文字列
□投稿者/ kiku (5回)-(2013/03/22(Fri) 15:10:01)

下記にパスワード+ソルト+ストレッチングの説明がありましたので
貼っておきます。
ttp://www.atmarkit.co.jp/fsecurity/special/165pswd/01.html

引用返信 編集キー/
■65915 / inTopicNo.11)  Re[6]: アプリケーション内の秘密にしたい文字列
□投稿者/ のぶ (10回)-(2013/03/22(Fri) 15:15:57)
No65914 (kiku さん) に返信

何度もご返信ありがとうございます。

> 下記にパスワード+ソルト+ストレッチングの説明がありましたので
> 貼っておきます。
> ttp://www.atmarkit.co.jp/fsecurity/special/165pswd/01.html

雰囲気としてはソルトについて理解はしていますが、ストレッチングは初耳だったので
改めて勉強のつもりで一読させて頂きます。
引用返信 編集キー/
■65916 / inTopicNo.12)  Re[3]: アプリケーション内の秘密にしたい文字列
□投稿者/ のぶ (11回)-(2013/03/22(Fri) 15:18:13)
お教え頂いた情報を基にもう一度勉強してきたいとおもいます。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -