0

サーバー上のデータベースと、javascript を使用する devExtreme で作成されたモバイル アプリケーションとの間の通信を暗号化しようとしています。彼らのサポート チームは、base_64encode の使用に関する例を示しています。これは安全な方法ですか?DevExtreme の例を次に示します。認証要求の例

これがどれほど安全かを理解するのに苦労しています。私の理解によると、モバイル アプリはデータを暗号化します (そのため、アプリには暗号化のためのキー/復号化方法があります。アプリのソース コードにアクセスできる場合、誰かがこのキーを見つけることができないでしょうか?) この暗号化されたその後、データはサーバーに送信され、復号化されます。認証が失敗したかどうかを通知するメッセージが送信されます。

さらに、SSL 接続を使用すると、アプリ クライアントとサーバーの間にプライベート接続が作成されます。

すみません、いろいろ質問してしまいました!要約させてください:

  1. devextreme で base64_encode を使用することは安全ですか? 私はいくつかの調査を行い、簡単にクラックできるという多くの記事を見てきました。

  2. パスワードとユーザー名は、サーバー側だけでなくアプリケーション側でも暗号化/復号化する必要があるため、アプリ ユーザーがソース コード
    にアクセスできた場合、問題が発生しませんか?

  3. SSL 接続を介してヘッダー/文字列/json ファイルを送信するのは十分ですか? SSL を使用する場合、暗号化を使用する必要がありますか?


  4. 安全なモバイルアプリを構築するために従うべきガイドラインがある場合、それは何ですか? This guideに似たものですが、モバイル
    アプリ用です。

前もって感謝します。

4

2 に答える 2

2
  1. base64は暗号化ではありません。エンコーディングです。(たとえば、符号化と暗号化の違いを参照してください) 符号化されたデータの復号化は簡単です。そのため、プライベート データの交換など、暗号化が必要な場合に単独で使用するのは安全ではありません。base64は視覚的に簡単に認識できるため、誰かがあなたの HTTP パケットを入手した場合、その人はあなたのパスワードを入手しただけです。

  2. 壊れていないアルゴリズムで暗号化を使用していて、攻撃者が秘密鍵を知らない場合は問題ありません。その場合、使用したアルゴリズムの知識は、攻撃者にとってあまり役に立ちません。詳細については、暗号化などを参照してください。

  3. SSL を使用するだけで十分です。たとえば、 SSL の安全性を確認してください。同じものを 2 回暗号化する必要はありません。

  4. DevExtreme は HTML5/JS フレームワークであるため、AJAX などのセキュリティに関する資料を探す必要があります。サーバー側で何を使用するかによっても異なります。要約すると、脆弱なデータ転送と、そこで使用するサーバー側アプリを保護することに尽きると思います。これではあまり役に立ちません。

もう1つ:ptで書いたように。4、DevExtreme は HTML/JS フレームワークです。DevExtreme アプリはそのようにコンパイルされていないため、誰かがアプリをダウンロードするとすぐに、コードが既に含まれています。それらは単なる Web アプリであるため、ユーザーがアクセスできないのはサーバー側のコードだけです。

于 2013-09-25T20:32:54.407 に答える
0

Web サービスにアクセスするために必要な資格情報が各 HTTP Web 要求に渡されるため、このアプローチは安全です。資格情報がネットワーク上で暗号化されるように、HTTPS を使用することが不可欠です。Web サービスは、応答を送信する前に、要求ごとに渡された資格情報を確認する必要があります。このサンプルでは、​​ユーザー名とパスワードを base64 にエンコードして、ランダムに生成されたパスワードに含まれる特殊文字を含むすべての文字がヘッダーで有効であることを確認します (http プロトコル)。

于 2014-10-05T22:34:59.110 に答える