AWSラムダを使用して第三者に代わって計算を実行し、意図したとおりに行ったことを証明したいと思います。証明は、関数本体、要求、および応答の暗号で署名されたダイジェストです。理想的には、Amazonは独自の秘密鍵でダイジェストに署名し、その公開鍵を公開して署名の検証を可能にします。このアイデアは、SGX(Software Guard Extensions)を通じて提供される新しいIntelチップが提供する「セキュアエンクレーブ」に似ています。Amazon AWS Lambdaをトラステッド・コンピューティングの安全な領域として使用できますか?
既存のラムダサービスには、必要な要素がいくつかあります。たとえば、GetFunctionレスポンスには、関数の実装を一意に識別するCodeSha256フィールドが含まれています。 Amazon API Gatewayでは、ラムダサービスへのHTTPSリクエストを行うことができます。これにより、リクエスト/レスポンスの内容をTLSNotary形式で証明することができます。しかし、これを行うにはAWS Lambdaが署名を直接提供する必要があると思います。
マイクロソフトのAzureは、そのプロジェクトはBletchleyで信頼ソフトウェア飛び地( "cryptlets")に取り組んでいる: https://github.com/Azure/azure-blockchain-projects/blob/master/bletchley/bletchley-whitepaper.md https://github.com/Azure/azure-blockchain-projects/blob/master/bletchley/CryptletsDeepDive.md
は、現在のAWSラムダと、この可能性のようなものですか?
あなたの答えは重要な問題には対処しません:特定の計算が実行されたことを証明したい、これを行う通常の方法は、信頼できる当事者からの暗号の証明である。インテルSGXの場合、ハードウェアエンクレーブはアテステーションを提供し、トラステッドパーティはインテルです。マイクロソフトは、Cocoの一部としてハイパーバイザー内部で実行される信頼できるソフトウェアエンクレーブに取り組んでいます。私はAmazonがこれらのラインに沿って何かに取り組んでいることを願っている。 –
AWSを使用すると、署名に気を配り、その方法でその情報をすべての当事者が受け入れられるようにする、別のレイヤーを設定できます。その「もの」は、インテル、マイクロソフト、または他の会社によって提供される単なる別の層です。 PKIを信頼する場合は、そのレイヤーを含めてすべて署名し、顧客に完全な情報を提供することができます。 –
またはそれ以外の方法で。あなた自身が提供することができないものはすべて、信頼できる第三者です。すべての情報とともにログを送信することで、この問題に対処することができます。そうすれば、あなたはそれらを騙そうとすることができますが、いつも何が起きたのかを確認することができます。 –