2017-01-10 12 views
0

Appceleratorを使用してアプリケーションを作成しています。ここで、ユーザーはログインするためにユーザー名とパスワードを入力する必要があります。ログインすると、ユーザーは認証のためにTouchIDを有効にすることができます。ログアウト後、ユーザーは認証にTouchIDを使用してアプリケーションを使用できます。Appcelerator - Design Approachを使用してクライアント側でパスワードを保存する

私の流れは、ユーザ名とパスワードが提供されると、次のモジュールiOS Keychain Moduleを使ってキーチェーンに2つの情報を保存することです。次に、ti.touchidを使って指紋を認証します。成功した場合は、キーチェーンからユーザー名とパスワードを取得し、HTTPS Webサービスコール経由で送信し、ユーザーをアプリケーションにログインさせます。

私の質問は、これが許容されるアプローチであるかどうかです。

答えて

2

私はiOSデベロッパーではないし、ティやキーチェーンの用語も全く意味がない。それは、私が得るかもしれない投票の数を減らすためのものです。

セキュリティの観点からは、認証資格情報が保存されていることがわかっている特定のユーザーの電話機を入手することを想像してください。私はあなたのアプリのユーザーで、既にログインしていて、自分の資格情報を自分のデバイスのどこかに保存しておいて、この電話を私から盗んで入手するとしましょう。

とにかく私のアカウントにアクセスできるようになりますか?物理的な電話にアクセスできるハッカーは、あなたのキーチェーンストレージに保存されている情報を取得できますか?

もしそうなら、とにかく考えることができるなら、あなたのアプローチは有効でない

私は、あなたがいつも指紋でログインできるようにしてユーザーを保存したいと思っていますが、それはそのようなアプローチを考える正当な理由ですが、リバースエンジニアリングの点ですべてを考える必要があります。

追加の推奨事項は、オンザフライハッシュを使用してキーチェーンに情報を格納し、それを復元する前に確認することです。たとえば、「家庭用無線LAN」に保存されたユーザーの資格情報は、別のネットワーク上で無効になる同じ無線LANネットワーク上の「自宅で」のみ指紋で確認できます。

すなわち) (keychainItem.x = y)がtrueの場合にのみ、他のこの(何か)は、デバイスへのアクセス権を持っている場合でも、キーチェーンにアクセスするハッカーを防ぐことができます何かがある他の(何か)

自体。

保存されたクッキーを使用してWebアプリケーションをプログラミングするときは、これを自分で行います。私は例えば保存された同じIPからアクセスされている場合にのみ、保存されたクッキーを使用します。 IPアドレスが変更されると、Cookieの値が正しい場合でもユーザーは再認証する必要があります。

これが役に立ちます。

+0

私はあなたのアプローチが好きです。このようなアプローチを設計する際には、あなたが言及しているポインタがあります。しかし、私は答えをマークする前にいくつかの考えを得るために質問を開いたままにします。 – Soumya

+0

確かに@Soumya、あなたの努力の助けと幸運。 –

関連する問題