2016-10-03 34 views
0

私はPhoneGapモバイルアプリケーションを開発しており、localStorage上のトークンがデータベースの行と一致すると、ユーザーは自動ログインできます。ログインまたは更新ごとに、ユーザーは新しい自動ログイントークンを受け取り、ローカルに格納されます。localStorage複数のトークンを使用した自動ログイン

高いレベルの保護として、トークンを4つのトークンに分割したいと思います。トークンの一部を含む3つのトークン、4つ目は「コード」です。バックエンドでは、各「コード」に3つのトークンを連結または解析する方法に関する独自の指示が含まれます。結果の文字列はデータベース行と比較されます。

$token1 = $_POST['token1']; 
$token2 = $_POST['token2']; 
$token3 = $_POST['token3']; 
$token4 = $_POST['token4']; 

if ($token4 === '101') { 
    // Just a quick example 
    $requestToken = $token3 . $token1 . $token2; 
} 

私のアプリケーションのセキュリティを高めるためにこれは愚かな実装ですか?

答えて

0

そうすることにあまり意味はありません。すべてのトークンは同じ方法で保護されるため、攻撃者はすべてを一度に盗むことができます。さらに、特に逆コンパイルが比較的簡単なモバイルアプリの場合(ただし、それが容易ではない場合でも)、攻撃者は合理的なリソースを使って、どのような仕組みができるかを知ることができます。

私にとっては、あなたが達成しようとしていること、またはあなたが守っている脅威に対して、それは少し不明です。 security by obscurityのように見えますが、これは避けるべきです。

+0

ありがとうございました - 私はトークンがすべて同じレベルで保護されているということを同じように考えていました。私は、データに何らかの曖昧さがあるということは確かでありましたが、それは保護のレベルを上げることになりますが、そうでなければ私は確信しています。 – isometrixk

関連する問題