DB接続文字列を暗号化してファイルに保存して利用しようと考えているのですがどんな感じにすればよいでしょうか。
プログラムはWindows端末からDBを参照・更新する.Net Frameworkのプログラムです。
ツールの画面に設定ボタンでもつけて、そこから接続文字列を設定できるようにして、それで暗号化して保存がシンプルですが、実際のツール使用者に接続文字列を上書きされて接続できなくなってしまうなど考えると、嫌だなぁと思った次第です。
こういうことを勉強できる参考書やサイトなどあれば教えて頂けると幸いです。
知恵袋では、期限がある為やり取りが十分に出来なかったのでこちらで質問させていただこうと考えました。
すでに回答が付いているのですが、やり取りの途中だと考えています。
デコンパイルして云々という話が出てますが、プログラムの前提条件の認識が違うためか
私の認識では違和感があります。
暗号化の仕方で考えているのは
ProtectedData.Protect(Byte[], Byte[], DataProtectionScope) メソッド
です。
これでスコープを、CurrentUserにしようと考えています。
こうすることで、windows認証でログインしたユーザーのみが暗号を複合化できる事になる為
windows認証するだけよりもセキュリティー的には強固になると考えています。
まぁ。こういう暗号化ではなくても、テキストベースよりは良いと思うのですが
この暗号化はした方がいいのではないでしょうか。
>なんか、利用形態に前提があるっぽいのですが、ちゃんと書かないと伝わりません。
プログラムの利用者は、ウィンドウズにログインしてプログラムを起動し、ファイルを指定してボタンを押すとファイルのデータをDBに取り込むだけのプログラムです。
>その Windows 端末はどこで誰が使うものですか?
システム構築者(SEとか)、システム管理者(ユーザ企業の管理者)、一般ユーザ(ユーザ企業の一般ユーザ)という立場があるとすれば
システム管理者(ユーザ企業の管理者)がDBのデータ更新を行うための外部ツールになります。
DBに接続できる端末にリモートデスクトップか、直接ログインして使うことを想定しています。



