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

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

新規登録して質問してみよう
ただいま回答率
85.44%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

意見交換

クローズ

4回答

358閲覧

Flutterとfirebase間データ送受信のセキュリティ

akirayoshimura

総合スコア46

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

0グッド

0クリップ

投稿2023/11/28 02:09

編集2023/11/28 02:13

0

0

前書き
Flutterとfirebase間でのデータ送受信のセキュリティについて皆さんの見解を教えて頂きたいです。

現状
私は今flutterとfirebaseを使用してwebアプリを作成しています。
ログイン処理の際に

  1. ユーザー名を入力してもらう
  2. firebaseからユーザー名と同じ名前のドキュメントを取得(ここにパスワードも含まれる、ハッシュ化などはされていない)
  3. ユーザーがパスワードを入力し、取得したドキュメント内のパスワードと合う場合はログイン

と言う処理をしているのですが(2)で取得した情報の安全性が分からないのです。

お教えいただきたい事
悪意のあるユーザーがこの情報を取得する方法はあるのでしょうか?また安全性に欠ける場合どのような処理が考えられるでしょうか?
後々firebaseからバックエンドを変更する可能性があるためfirebaseauthではなくこのような処理にしています。

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

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

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

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

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

回答4

#1

hoshi-takanori

総合スコア7895

投稿2023/11/28 02:57

firebaseからユーザー名と同じ名前のドキュメントを取得(ここにパスワードも含まれる、ハッシュ化などはされていない)

パスワードを平文で保存し、それを誰でも取得できるようになってるわけで、セキュリティ 0 というか、実質的にはパスワード収集・公開のためのツールになってしまうと思います。

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

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

#2

akirayoshimura

総合スコア46

投稿2023/11/28 06:34

#1 解答いただきありがとうございます!
セキュリティ向上の為にパスワードのハッシュ化くらいしか思いついていないのですが、hoshiさんであればどのような方法をお考えになられますか?

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

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

#3

hoshi-takanori

総合スコア7895

投稿2023/11/28 07:08

クライアント側でユーザー認証を行うという方針が良くないというか、そもそも認証になってないと思います。また、ハッシュ化されたパスワードを誰でも取得できる状態は、平文よりはマシですが、解読される可能性はあり、安全とは言えないでしょうね。

そもそも、Firebase のアクセス制御は Firebase Auth が前提なので、素直に Firebase Auth を使うべきかと。バックエンドの移行が必要になった場合、Firebase Auth が持っているパスワードハッシュを取り出す方法はある (https://mythosil.hatenablog.com/entry/2018/07/16/103343) ようですし。

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

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

#4

akirayoshimura

総合スコア46

投稿2023/11/28 07:12

#3 たびたびありがとうございます!
Authのパスワードに関する認識が誤っていました、お教えいただきありがとうございます!
今後は変に複雑化せずauthを使用していこうと思います。

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

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

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問