0

パスワードで暗号化されたファイルにデータを保存したいと考えています。1) データの有効期限 2) データ自体 有効期限は必ずしも暗号化する必要はありませんが、改ざんから保護する必要があります (たとえば、ファイル全体に署名することができます)。

OpenSSL を使用して明確に定義された暗号形式を使用してそれを行う方法はありますか? 私は C でプログラム的にそれを行うことにのみ興味があり (できれば EVP_* などの OpenSSL API を使用して)、プロセス、スクリプト、Java、.NET、Python などを実行することは問題外です。

PS私はOpenSSL APIに非常に精通していますが、どういうわけか、この問題に対する適切な(少なくとも比較的「クリーンな」)解決策を見つけることができませんでした。

4

1 に答える 1

1

あなたはあなた自身の質問に答えたと思います。実際のデータの復号化に使用できるパスワードにアクセスできるユーザーからでも、有効期限の信頼性を保護するために、有効期限を含むファイル全体にデジタル署名する必要があります。

たとえば、暗号化されたファイルの署名に使用する RSA キー ペアを生成します。ファイルを復号化するユーザーには、RSA 公開鍵とパスワードの両方へのアクセス権を付与する必要があります。

このようなスキームには、明らかにいくつかの注意事項があります。たとえば、デジタル署名を追加しても、ユーザーが有効期限、デジタル署名、またはその両方を単純に無視することを防ぐことはできません。

于 2012-02-16T08:27:21.573 に答える