質問: 携帯電話とサーバー間のメッセージを暗号化する(PHPスクリプト) 私はiPhoneとAndroidの両方で動作するアプリを書いています。彼らは私のUbuntuサーバ上のPHPスクリプトに呼び出し(HTTP POSTリクエスト)を行い、MySQLサーバなどからクエリを取得します。 Basically I want to encrypt these messages going back and forth. **I have the additional constraint that I am on shared hosting and so do not have root (or sudoer) access on my server.** これを実装する最良の方法は何ですか?私は証明書のために私が証明書を支払わなければならないものを望んでいません(私はセキュリティに関してほとんど分かりません)。私はそれが何とか公開鍵/秘密鍵のスキームを含むと思っていますが、これにはどのような方法が最適かはわかりません。 何かご意見は?ありがとう。
回答: 共有ホスティングサーバーを使用している場合、他のユーザーからキーを保護することは難しいでしょう(プロバイダーの設定によっては不可能)。さらに、暗号化ホイールの改革は一般的には悪い考えです。だから私はそのルートには行かないでしょう、特にあなたがセキュリティについて知り得ないならば。 最も簡単な解決策は、SSLを使用することです。 Verisign(またはComodoなど)から証明書を取得したくない場合は、プロバイダのデフォルトSSL証明書を使用してください。 SSLサーバーが https://www.YourHostingProvider.com/なら、おそらく少しの宿題でその作業をすることができるはずです。 (MediaTempleはそのように設定されています。自分で所有していない場合は証明書を取得しますが、他のホスティングプロバイダについてはわかりません)。 これを安価で行うことに関与するリスクの上昇について自分自身を教育しようとします。たとえば、設定によっては、共有ホスティングサービスの誰かが、十分に熟練していると判断された場合は、使用しているのと同じSSL秘密鍵にアクセスできる可能性があるため、サイトを偽装する可能性があります。 ゲームのハイスコアや何かを確保しているなら、それはおそらく問題ありません。クレジットカード番号や個人の健康情報を確保している場合、これは間違いなく**行ってはいけません**。あなたはそのような情報を共有ホスティングサービスに保存することは望ましくなく、あなたはSSL証明書を購入することを嫌うほどリソースが枯渇したくないと確信しています。