2

Windows Mobile 6 Professional PDA デバイスで実行するアプリケーションがあります。アプリケーションは、デバイスから URL を参照し、cab をダウンロードすることによってインストールされます。

ユーザーはアプリケーションで情報を取得し、マージ レプリケーションと IIS v6 を使用して SQL 2005 サーバーにレプリケートします。

ユーザーはデバイスでアプリケーションにログインする必要がありますが、URL を知っている人なら誰でもダウンロードしてインストールできます。また、ユーザーのパスワードを知っている場合、デバイスを持っている人なら誰でもそのユーザー情報を更新できます。

インストール段階またはレプリケーション段階 (またはその両方) でデバイスを認証したいと考えています。

シリアル番号やIMEI(携帯電話ID)番号で端末を認証することはできますか?証明書をデバイスにロードして、認証されたデバイスのみが接続できるようにする方法はありますか?

実装とサポートが難しくないシステムが必要です。ユーザーは自分のデバイスを更新できる必要があり、複雑な手順やパスワードを覚えるのが苦手です。

4

3 に答える 3

5

考えられる解決策の 1 つは、認証の一部として一意のデバイス ID を送信することです。Windows Mobile チーム ブログGetDeviceUniqueIDに使用に関する投稿があります。

ユーザーが最初にサーバーに接続するときにこの一意の ID を保存し、各マージの前に確認できます。

このアプローチは、ユーザーが自分の電話からログインしていることを確認するのに役立ちます。リモートの侵入者があなたのプログラムを自分の電話にダウンロードし、正当なユーザー アカウントにログインするという問題を解決します。もちろん、そのような侵入者がユーザーの電話とパスワードにアクセスできる場合、すべての賭けは無効になります。

于 2009-01-17T21:00:34.560 に答える
3

相反する要件があります:

ユーザーは自分のデバイスを更新できる必要があり、複雑な手順やパスワードを覚えるのが苦手です。

と:

また、ユーザーのパスワードを知っている場合、デバイスを持っている人なら誰でもそのユーザー情報を更新できます。

ユーザーがパスワードを使用することしか (かろうじて) 期待できる場合、パスワードを知っている他の誰かから保護できるとは期待できません。

特定のユーザーまたはデバイスが、提供したものを超えて正当であることを示す「魔法の」認証はありません。

ダウンロードをパスワードで保護したり、証明書をロードしたり、PDA 情報 (さらにはセルラー情報) を取得したりできますが、別の認証メカニズムを追加しない限り、結局のところパスワードしかありません。

パスワードはあなたの最も弱いリンクであり、より厳密なアクセスを提供できないことを示しているようですが、どういうわけかそれが必要ですか?

別の認証チャネル (電話、電子メール、SMS) がある場合は、より堅牢で意味のある認証を提供できます。

たとえば、サーバーが使用するために必要なユーザーごとの公開鍵を含む「public.key」ファイルにプログラム操作を依存させることができます。ユーザーが Web サイトにログインしたら、電話番号を教えてもらい (これで電話番号とパスワードがわかります)、キーの一時ダウンロードへのリンクを含む SMS を送信します。ユーザーごとに新しい鍵を作成し、秘密鍵をサーバーに保持し、この鍵ペアを使用してデバイスとサーバー間のすべてのトランザクションを暗号化 (または少なくとも認証) します。

他の誰かが自分のユーザーになりたい場合は、次の 3 つの方法のいずれかでそのファイルを取得する必要があります。

  • 彼らはそれをPDAから直接取り出します(公開鍵はユーザーパスワードで保護する必要があるため、パスワードも必要です)
  • ユーザーに新しい SMS リンクを要求してもらい、電話を持たずに何らかの方法でリンクを取得します。
  • 彼らは電話番号を変更し、新しい SMS リンクを要求します

いずれにせよ、パスワードだけでなく、関連する電話番号も検証しています。ユーザーが電話番号を変更しにくくすることができます (電話番号の変更を要求したり、電話をかけたりするときに、電子メールに対しても検証します)。

もちろん、他の通信チャネルでも同じことができますが、ユーザーは SMS 認証とダウンロードにますます慣れてきているため、それほど面倒なことではありません。

-アダム

于 2009-01-29T14:36:08.240 に答える
0

ダウンロードごとにわずかに異なるcabファイルを生成できます。唯一の違いは、アプリケーションがユーザー/パスワードのアナログとして使用するセキュリティトークンです。これは、実際のセキュリティのための公開鍵である必要があります。

彼らがあなたのアプリケーションにアクセスするたびに、あなたは彼らにコード付きのSMSを送ることができます。

于 2009-01-30T10:51:07.787 に答える