2011-07-22 11 views
0

私は、いくつかの追加のアプリケーションを計画して、ユーザーのために特定のデータを保存しているiOSアプリケーションを持っています。私はApache Webサーバーの下にPHP同期サーバーを作成し、ユーザーがアカウントを作成して複数のデバイス間でデータを同期できるようにする計画に取り組んでいます。 WebホストでSSLを設定していないので、同期中にデータを暗号化/復号化する組み込みの方法を探しています。iOSとPHPによる暗号化と復号化

PHPエンドでの暗号化/復号化は、mcryptのおかげでかなり簡単になります。しかし、私はまだiOS側で暗号化/復号化を行う最善の方法を見つけていません。私はオープンソースやカスタムの暗号化方式を使っている人がいますが、データを暗号化/復号化する簡単な方法を提供するAppleのAPIがありますか?

+0

私はCommonCryptoライブラリで必要なものを見つけました:http://developer.apple.com/library/ios/#codinghowtos/Security/_index.html –

答えて

0

私はどこから始めたらいいか分からないので、多くの問題があります。

デバイスA(同期する変更を有する) Webサーバ(すでにこれを持っている) デバイスB(Aからの変更を必要とする) デバイスC(Aからの変更を必要とする)

[1]暗号化の変更が依存送信しているコンテンツ

[2]デバイスAからデバイスBおよびCにデータを暗号化しますか?または、データがAからWebサーバーに暗号化されていれば十分ですか?

暗号化されたエンドツーエンド(AからB、C)に暗号化が必要な場合は、キーがWebサーバーではなく3つのデバイスすべてで共有されている場合、対称暗号化を使用する必要があります。データをWebサーバーのポイントまで暗号化するだけの場合は、SSLを使用する必要があります(それはずっと高速です)。

[3]これらの暗号鍵を(SSLを使用していないと仮定して)どのように管理しますか?

全体的にこれは遠隔からは安全ではない、暗号化は単に「オン」または「プラグイン」して安全な環境に終わるものではありません。たぶんあなたは私たちにあなたの全体的な目標が何であるかを教えてくれるかもしれません。

+0

私は全体的な暗号化計画を立てました。暗号化のためにiOSで利用可能です。私の戦略。サーバー側のコードは問題にはなりません。 iOS側のコードは、私が助けが必要なものです。具体的には、メソッド/クラス/ライブラリへのポインタが必要です。これにより、iOS側の実装をコーディングできるようになります。 –

+0

戦略については、私はエンドツーエンドの暗号化を検討しています。私はすでに、クライアントとサーバーの間の一意の暗号化キーをどのように扱うかについての計画を持っています。実装には、きわめて緊密なセキュリティは必要ありません。同期されるデータは特に敏感ではありません(財務データ、パスワードなどはなく、ユーザーメモやアプリの機能に関連するその他のデータ)。私は誰も詮索しようとするのは難しいです。私が心に留めていることは、物事を十分に安全に保つべきです。 SSL暗号化が最善の解決策になりますが、上記のように、私はそれを持っていないし、私のニーズが基本的であるときにはそれは価値がありません。 –

+0

共有サーバーでは、SSLは月に5ドルを超えることはできません。 SSL証明書を取得するよりもセキュリティが重要な場合。セキュリティが月額5ドルの価値がない場合、データは重要ではなく、暗号化は必要ありません。これは、人々に間違った信頼をもたらし、データ侵害につながる、壊れた暗号化システムのようなものです。 – Daisetsu