私は、ユーザーがオフライン(遠隔地)で使用できるようにする開発中のアプリを持っています。目標は、ユーザーの認証が必要なログインを行うことです。オンラインの場合、認証はoauthトークンを使用します。しかし、オフラインの場合、トークンの検証は行われません。だから、私はユーザーがローカルに格納された情報を使用して認証することを許可したい。セキュリティ - 有効なオンラインログインが事前に発生したときにのみオフラインログインを許可するAndroidアプリ
提案:
要求正しい資格情報 - >ユーザーがオンラインならば、ユーザー名&パスワード
に入るのOAuthトークンを進め、
。成功した場合、AESで暗号化されたユーザ名/パスワード+塩類を保存する
b。失敗した場合、再要求正しい資格情報オフラインであれば、上記と同じ暗号化を使用して、ユーザー名/パスワードの組み合わせにステップ2aで保存された最近の成功したオンラインログインのリストに対して
テストオフラインで暗号化された資格情報を暗号化します。 a。信用が保存されたバージョンのいずれかと一致する場合、オフラインモードでアプリケーションとローカルデータにアクセスします
b。 credsをが一致しない場合、再要求し、正しいcredsを
質問: がローカルに暗号化されたコンボUNオンラインログインプロセスの+ PW +塩の妥協のセキュリティを保存するのでしょうか?さらなる考え/助言?
ありがとうございます。
2つの言葉で理論的には妥協するつもりですが、良いencアルゴリズムを使用すると実際にそれを解読することは不可能に近くなります。 Windowsドメインとlocalhostアカウントを覚えていますか?ネットワークに接続されていなければ、引き続きあなたを受け入れることができます。すべてのUNIXシステムと同様に、さまざまな認証サービスに対してあなたをチェックできますが、暗号化されたパスワードで/ etc/shadowや/etc/master.passwordを持っています... –
良い暗号化アルゴリズムを取得し、それを行う:))) –