2017-12-29 65 views
2

として生SSLデータを使用してデコードし、私は一例で、それを記述する場合、それは良くなると思う:私は将来的に何かを証明するために、生のSSL/TLSデータをデコードして保存したい証明

1)SSLを介してアクセス可能なリモートRESTエンドポイントがあり、いくつかの有用なデータを提供します。このエンドポイントはあるサードパーティによって制御されており、私はそれを制御できません。

2)私は、さらに私は、このエンドポイントのSSL証明書を保存する)このエンドポイントへのGETリクエストを発行し、別のファイル

3で1つのファイルに応答の生のSSLトラフィック、その後、復号化されたSSLトラフィックを保存します別のファイルで(私はこの操作は一度だけ行う必要があると思います)

上記の手順のすべてのデータを持っていて、別の第三者がその証拠を求めたら過去のある時点でリモートサーバー上に特定のデータがありました:

1)Pres証明書を保存しておいてください(手順3)。この証明書は、よく知られた機関によって署名されているので、私はそれを

2を偽造できることをほぼゼロ可能性がある)

3上に証明書を使用してそれを復号化する方法と共にRAW SSLデータとそれらを提示)デコードされたREST応答ヘッダには、リモートサーバ時間も存在するはずです。

したがって、私は間違いなく、リモートサーバー自体がもはや存在しなくても、リモートパーティのサーバー上にある特定のデータが過去に存在していたことをほとんど疑うことなく証明することができます操作可能。

したがって、私は生のSSLデータを使用して、過去にリモートサーバー上に何かが存在したことを証明できます。また、応答データやヘッダーを偽造すると、SSL暗号化を破ることができたため、誰かがこの訴訟を起こす可能性はほとんどありません。

このようなシナリオを自動化する方法はありますか?つまり、生のSSLデータを簡単に後でデコードできる形式で記録する方法はありますか?

私はfirefox/chromeブラウザを使ってsslkeylogファイルとwiresharkを使ってトラフィックを盗もうとしました。実際には動作しますが、firefoxを使用してSSLキーを記録して以来、何らかの種類のRESTライブラリを使って自動化する方法があります時間が厄介になる可能性があります - 時間ごとにこれらの要求の何千ものを格納する必要があるかもしれませんし、手動で行うことはフルタイムの仕事になりますさらに、ssskeylogファイルに格納されたこれらのキーが実際に一致することを証明する方法リモートサーバーの証明書...

+2

あなたが探している技術は、デジタル署名と呼ばれています。あなたの現在のアプローチは適切でも実行可能でもありません。 – EJP

答えて

1

いいえ、サーバーがデータを送信したことを証明できません。たとえば、暗号スイートとしてTLS_RSA_WITH_AES_256_CBC_SHA256を使用すると、サーバーに接続しなくても、TLSセッション全体のすべてのデータを両側から偽造できます。そして、サーバー側もこのような偽造を生成する可能性があります。 EJPが指摘するように、偽造できない唯一のものは、のデータで、と署名されています。 RSA暗号スイートでは、証明書だけが署名されますが、変更されず、TLSセッションに暗号的にバインドされません。

他の暗号スイートには署名付きハンドシェイクデータが含まれている可能性がありますが、TLSは否認防止機能を提供するようには設計されていません。

+0

あなたは正しいです、私は私の答えを削除しました。偽のアプリケーションデータを作成するために必要なのは、クライアントが知っているマスターの秘密です。したがって、クライアントは任意のデータを偽造し、サーバーがこれらを送信したと主張することができます。 –

+0

ステファンありがとう、私はあなたがあなたの答えを削除するか、私が間違っていた理由を教えてくれたことを知っていました。 –

+0

ありがとうございました。したがって、データに署名せずにTLSのみを使用する場合、データが特定のサーバーから取得されたことを証明する方法はないと仮定します。 – Pma

関連する問題