2016-03-29 10 views
-2

大量のテキストベースのデータを持つ開発中のAndroidアプリケーションがあります(基本的に、このアプリケーションは参照/学習ガイドです)。Androidアプリケーションで大量のテキストデータを暗号化する最も良い方法は?

デバイス上のAPKのプログレッシブバージョンがデバイスから取得され、「デコンパイル」された場合、テキストデータが何らかの形で暗号化されていることを確認したいと思います。テキストデータを暗号化して抽出されたテキストを使用できないようにする方法はありますか?

+0

あなたのテキストを暗号化するために使用されたキーがapkから抽出されず、それらのテキストの復号化に使用されたと思いますか? –

+0

この重要な問題は私が質問した理由です。私はすでに鍵となる問題にぶつかりました。あなたの回答から、鍵を確保してデータへのアクセスを許可する方法がないことは少なくとも知っていると仮定しています。私はそれがおそらく実行できないと仮定していますが、依然として尋ねなければなりませんでした。 – user155205

+0

そうです。プロガードのような難読化者は、そのような情報を怠け者の "ハッカー"に対して隠すことはできますが、そのような情報を完全に保護することはできません。そして何かを暗号化したいのであれば、まだ解読鍵がどこか近くにある必要があります。 –

答えて

0

AES暗号化でテキストを暗号化します。 PKCS#7のnéePKCS#5パディングとCBCモードをランダムなIVで使用し、IVを暗号化されたデータの前に追加します。また、暗号化されたデータのハッシュを認証の前に追加する必要があります。

RNCryptor-Specには、データレイアウトのアイデアがあります。 IV、暗号化認証、バージョン管理を含む実装のための ​​。

+0

暗号化メソッドのすべてのリンクに感謝します。私が遭遇した暗号化方法の最大の問題は、暗号化されたデータにアクセスするためにAPKに鍵を公開する必要があることです。どうにかしてキーを公開しないで、コード内のデータを暗号化/暗号化解除する方法について考えてください。 (私はこれが背の高い命令であることを認識していますが、以前にこの問題に直面していた誰かが、巧妙なアイデアや回避策を考えなければならないと思いました)。たとえプロセキュリティーが提供するものを超えてAPKを暗号化できたとしても、それは素晴らしいものです。 – user155205

+0

暗号化キーを秘密にしておくことは、電話で完全な解決策がないという問題です。明らかに、暗号化/復号化のために鍵を使用している間、それは記憶になければならず、熟練したアタッカーによって得ることができる。キーがアプリにコンパイルされている場合、アプリバイナリへのアクセス権を得ることができる誰でもアクセスできます。それをどうにかして難読化し、それを断片化して分割し、そのようなメソッドを検索することができます。実行時にキーが作成され、Androidキーストアに保持されている場合は、そのキーにアクセスできることに注意してください。必要なのはDRMソリューションです。 – zaph

+0

キーを分割する際にヒントがあり、難読化プロセスを使用して、ユーザーがキーを戻すことが事実上不可能になることがあります。私はプロガードの難読化プロセスを掘り下げて、どのように「完全な」私はこのプロセスを作ることができるかを見ていきます。どうもありがとう! – user155205

関連する問題