私の会社のクライアントの多くは、データ収集ソフトウェアを研究ベースで使用しています。一般的な研究の性質上、一部のクライアントは、改ざんを防止するためにデータが暗号化されていることを要求しています。データが改ざんされていると重大な結果が生じる可能性があります。Python:データ改ざんを防止する手段としての暗号化
バイナリソフトウェアの一部は、ソースにパスワードが格納されている出力ファイルを暗号化しています。このパスワードはランダムな文字のようです。ソフトウェアレベルでは、読み取り専用操作のために暗号化されたファイルを開くことができます。もし誰か本当には、彼らはデータを変更することができるようにパスワードを探していたが、それは可能かもしれないが、それは多くの作業になります。
私はPythonを使って、別のソフトウェアを素早く開発しようとしています。暗号化の機能を複製してデータの改ざん/落胆を防ぐには、私が今まで考え出した最良のアイデアは、ファイルの読み込み/書き込み操作用のDLLにを使用するだけです。暗号化と復号化の方法が十分に"難読化された。
"uncrackable"メソッドは達成できませんが、同時にPythonソースコードにプレーンテキストで暗号化/復号化を行うことに慣れていないのは明らかです。 「データ改ざんの非常に強い落胆」が十分に良いと私は思う。
Pythonを使用して暗号化やデータの完全性を証明する幸せな媒体を得るにはどうすればよいでしょうか?私はanother postが "不正な改ざんの署名"を生成することを話しましたが、純粋なPythonで署名が生成された場合、任意のデータの署名を生成するのは簡単です。我々はかもしれないデータの整合性を証明するために電話で家に帰ることができるが、それは関係するすべての人にとって大きな不便のようだ。
OTOH、データを変更しないことは最終的にはクライアントの責任であり、改ざんを防止するのは当社の責任です。私はボス/クライアントが、取得したデータに署名するためのユーザーごとの秘密鍵を必要としているかどうかはわかりませんが、少なくともそれを行う方法は十数あります。 –
あなたの会社に、データが改ざんされていないことを保証するソフトウェアの能力について何らかの主張をするのは愚かなことです。 .dllからでも秘密鍵やパスワードを抽出することはそれほど難しくありません。十分に動機づけられたデバッガを持った人であれば、何時間もかかることがあります。 – Christopher
また、パスワードがランダムなデータのように見えるかどうかは関係ありません。実際、それが問題になる可能性があります。 .exeと.dllファイルはランダムではありません。疑わしいランダムなデータのファイルを分析する場合、おそらくあなたの鍵はすぐにわかるでしょう。 – Christopher