質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

1219閲覧

C# コードのセキュリティについて

.......

総合スコア23

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

2クリップ

投稿2021/11/05 06:30

編集2021/11/05 15:46

C#でコードを書いてるときにふと疑問に思いました。
例えば、
MySqlなどで、データベースにアクセスするときなどに
mysqlのpasswordを書かなければなりません。となると、
.exeを逆アセンブリしてそのpasswordを見ることが可能だと思うんです。
mysqlのパスワードが分かったとしても、害はないと思いますが
もし、害のある個人情報をコードに書かなければならないときに、
逆アセンブリなどで、そのコードを見ることは可能でしょうか?また、
そのコードを暗号化または、安全性を向上させる方法はありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2021/11/05 11:14

どういう構成なのでしょうか。エンドユーザに配るクライアントアプリにパスワードを保存する?ということはデータベースをインターネットからアクセス可能にする? 前提がなければパスワードを見られて害がないなんて断定できないです。
.......

2021/11/05 15:41

どういう構成なのでしょうか? は何の事いっているんですか?仮にそれがMySQL だとしたら、“例え”を書かなかった私も悪いのですが、一応それは例えです。私が質問した内容は、絶対害のある個人情報をコードに書いた際に、逆アセンブリで個人情報を見ることは可能なのか?また、そのコードを暗号化することはできるのか?です。
guest

回答2

0

ベストアンサー

そのコードを見ることは可能でしょうか?また、そのコードを暗号化する方法はありますか?

両方とも答えは Yes ですが、暗号化しても暗号キー等を含めて全てバレてしまえば復号できてしまいます。

クライアントが直接 DB に接続できるというのがそもそもセキュリティ的に問題ではないのですか? 以下のような構成を考えてはいかがでしょう?

クライアント ⇔ Web API ⇔ DB サーバ ⇔ MySQL

投稿2021/11/05 07:26

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

.......

2021/11/05 09:20

MySQLに接続するということは、php等を呼び出せばいいんですよね?
退会済みユーザー

退会済みユーザー

2021/11/05 09:49

php 等を呼び出す? どういうことですか? 質問の意味が分かりません。
.......

2021/11/05 15:20

すいません。間違えて、Web APIを違う意味で解釈して回答してしまいました。 “簡単に言うと、PHPやruby on railsなどのwebアプリケーション開発用プログラミング言語とC#でWeb APIを使ってデータをやり取りすればいいんですよね。”ということです。
退会済みユーザー

退会済みユーザー

2021/11/05 22:52

例としては以下のように書いた方が分かりやすいでしょうか。 クライアント(HttpClient アプリ) ⇔ Web サーバ(ASP.NET Web API) ⇔ DB サーバ(MySQL) 真ん中は ASP.NET である必要はありませんが、ASP.NET であれば言語は全部 C# で書けます。
.......

2021/11/06 00:05

ようやく分かりました。丁寧なご説明ありがとうございます。 つまり、HttpClientでWebAPIにレクエストしてWebAPIがMySQL に接続し、その内容をレスポンスし、httpclientで受け取る ということでしょうか?
退会済みユーザー

退会済みユーザー

2021/11/06 00:07

その通りです。
.......

2021/11/06 00:12

ベストアンサーにしたいと思いますが、もっといい案が来るかもしれないので、後三日程待ち今の現状のままなら、ベストアンサーにさせてもらいます。
guest

0

見ることは可能です
暗号化するってのも可能ですが、それをしたところで無駄です。
同じコードに複号するコードが載ってますんで解析されます

そもそもそういう情報をコードの中に含めないようにするしか無いかと思いますが

投稿2021/11/05 06:37

y_waiwai

総合スコア87800

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

.......

2021/11/05 09:07

1つだけ質問させてもらいます。 C#から直接Mysqlに接続することはセキュリティ上、悪いんですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問