Open yaoki1207 opened 8 years ago
1について言えばAjax部分を自分たちで好きにカスタマイズできますので、別途何らかの認証の仕組みを設けることもできます。が、実用的とは思いません(結局それが漏れたらどうするのかと言う話なので)。
2についてはネイティブでも同じ問題が起こりえます。かつてTwitterアプリでもキーが漏洩したことがあります。
3については自分だけが読み取れるデータと制限することで他のユーザには取得できなくなります。認証を使っている場合、IDとパスワードが漏洩しない限りは権限管理されます。ID/パスワードが漏洩すればなりすましできますが、これはシステムの問題ではありません。
MBaaSへ問い合わせする際のアプリケーションキーとクライアントキーがソースコードを通じて外部に漏れることは避けなくてはなりません。 そこで、以下の質問を目にしました。 ・apiキーが流出した時にpush通知が送り放題になるのでは? https://github.com/NIFTYCloud-mbaas/UserCommunity/issues/268 ・セキュリティ対策方法の相談 https://github.com/NIFTYCloud-mbaas/UserCommunity/issues/29
前者では 1.サーバサイドで認証する方法 2.ソースファイルを暗号化する方法 後者では 3.ACLを利用して、データアクセスを制限する方法 を紹介していますが
1.署名を貰うために必要なデータが無いので、簡単に署名が受け取れるのではないか? また受け取った署名を悪用できるのではないか? 2.リバースエンジニアリングが可能なのではないか? 3.他のユーザデータを取得することをACLで防御できるか? また擬似ユーザを作って、現状のユーザを成りすましがあるのではないか?
と懸念しております。 上記に誤解はございますでしょうか?また、他に解決手段はありますでしょうか?