2016-04-18 70 views
1

私が正しく理解している場合:NSUserDefaultsは、一部の設定ファイルがハッキングされ、NSUserDefault値が変更される可能性があるため、機密データを保存する安全でない場所です。NSUserDefaultsのセキュリティ保護されていない点は何ですか?手動暗号化は安全ですか?

正確にハッキングされ、ハッキングされないものは何ですか?ハッカーは自分のアプリのスウィフトコードを見たり、NSUserDefaultsに保存されている変数と値のリストしか見ることはできませんか?

NSUserDefaultの値が意味のない数字のように表示され、「キー」がコード内にあり、コードの中に自分の「暗号化」を作成できますか?これは安全ですか?

注:私はかどうかのレベル/アップグレードのためだけのハイスコアとブール値のロックが解除され、ユーザ名やパスワードなどの深刻な何かを暗号化するにはいきません。私の手動ソリューションが安全であればKeychainsWrappersを習得する必要はありません。

サイド質問(私はまだこの段階に達していないが):どのようにアプリ内購入が処理されますか。アイテムが支払われたかどうか、Boolはどこに保存されているのかを示すブール値がありますか?

答えて

3

正確にハッキングしていないことができますどのようなハッキング?あなたが行うことができます

ほとんどすべてがハッキングすることができます。

は、ハッカーは、彼らが唯一の実行可能なバイナリではなくスウィフト、ソースコードを見ることができる変数

洗練されたハッカーのリストを参照してくださいか、私のアプリのスウィフトコードを見ることができます。

NSUserDefaultsに保存されている値?

NSUserDefaultsの内容を確認するのは簡単です。 iExplorerと他の同様のアプリを参照してください。

私は私のコード

確かに私自身の "暗号化" を作成することができますが、あなた必要がありますか?

"Schneier's Law":「誰よりも、最も無慈悲なアマチュアから最高の暗号化者まで、彼自身が壊すことのできないアルゴリズムを作成できます。」

これは安全ですか?

いいえ安全ではありません。暗号化を使用する場合は、AESなどの標準的な暗号化アルゴリズムが必要ですが、安全なスキームを作成するのは簡単ではありません。 RNCryptorのようなラッパーライブラリーを使用することができます。しかし、これは新しい問題を生み出します。暗号鍵を安全に保存する場所は、次の点を参照してください。

私の手動ソリューションが安全であれば、KeychainsWrappersを習得する必要はありません。

キーと少量のデータを安全に保存したい場合のみ。セキュリティは難しい。

必要なセキュリティのレベルを評価する必要があります。これには、攻撃者のレベルとデータの値が含まれます。攻撃者は好奇心を抱いた学生から国家に向かっています。データ値は、Tic-Tac-Toeの高得点から核兵器の詳細に及ぶ。最初にこれらを決定する必要があります。

0

NSUserDefaultsデバイスファイルシステムに格納されているだけのplistです。その唯一の「セキュリティ」は、人々がデバイスファイルシステムにアクセスして取得する必要があることです。これは特に難しくありません。アプリの購入には約リンゴのドキュメントによると

製品が利用できるようにした後、あなたのアプリケーションは、購入の永続的な記録を作成する必要があります。

source

あなたはより多くの情報のために、あなたの購入を永続化に関するセクションで続きを読むが、それはあなたがそうするように、ユーザーのデフォルト値を使用することができると言う部分を無視することができます。あなたがやっているかわからない場合は

また、私は今まで、独自のセキュアなストレージシステムをロールお勧めすることはできません。

上記は、あなたがアプリの購入で話していることを前提としています。あなたがローカルのものを話している場合、あなたのアプリをハックするかどうかは本当に重要ですか?次のレベルのロックを解除するには、以前のレベルを上回らなければならないシステムがあるとします。誰かが次のレベルのロックを解除するためにデフォルトを編集する場合、本当に気にします。それは彼らがあなたの収入の流れに影響を与えないように支払っていたものではありません。実際に、私はそれは本当に限り、それはあなたの収入や他のプレイヤーには影響を与えないようにやってカンニングしたい人々を許可する方が良いでしょう主張するだろう。

+0

コードを見ることはどうですか、それは正しくありませんか?私は勧告を探していません、私は標準のハッカーができるものを求めています。彼らが私のコードを見ることができないなら、私は高いスコアの改ざんを防ぐのに十分な厄介なものを作り出すことができると確信しています。 – mdamkani

+0

アプリ内購入の改ざんを防止していると思いました。私は本当に地元の高得点を改ざんするのを防ぐ何らかの理由は見ません。 –

+0

「標準ハッカー」とは何ですか?必要なセキュリティのレベルを評価する必要があります。これには、攻撃者のレベルとデータの価値が含まれます。 – zaph

関連する問題