セキュリティにはあんまり詳しくなく、曖昧な表現になっているかもしれません…
例えば、アプリ内でアカウントでログインしてデータをアップロードできるようになる、といったものを想定したとき、
ログインするためのIDパスワードとデータを一緒にしてHTTPS通信するとき、
そのアプリが改造されていて、どっか別のサーバーにいったんデータを送っているような場合が無きにしも非ずだと思うのですが…
想定される改造
想定として、Javaアプリケーションだとすると、
lunch4j等でexe化しても、
解析してリソースをデコンパイル
↓
途中でデータが盗めるように改造
↓
ダウンロードページからダウンロードしたものだと言って、
ほかの人に配る。
といった手口で簡単に仲介させられますよね。
これを防ごうと思ったとき、どうすればいいのかなーと。
SSL通信の主な役割として、
- 信頼できるフォームの受信
- 安全なリクエストの送信
だと思っているのですが、
この場合、HTTPSでコネクションを開いても、
前者が改善されないような気がします。
考えられる対策
一応考えてみたのですが、
- リソースの段階で暗号化など
- ダウンロードページから直接ダウンロードするように通告
- PCを判別して、別のPCの場合はIDパスワード以外の質問をする。
- そのPCでのみ使える仮のパスワードをサーバーで生成して、クライアントに送る
4つめに関しては、どちらにせよ一回パスワードを使用してログインしないといけないのであまり意味ないような気がします。
それと、3,4つめのPCの判別はどのようにするのがよいのでしょうか。
IPアドレスなのか、OSやUser-Agent等の判定も加えたほうがいいのか、気になります。
以上のことをいろいろ考えて、結局どういうふうに実装するのがよいのかなというふうに至りました。
追記
lunch4jでexeにして、無料の解析アプリを使ってみたのですが、わりとどうにもできませんでした。
Macの場合、appはすべてファイルが見れたような気がするのですが、どうなのでしょうか。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/19 18:38