2012-04-05 68 views
1

如何在我的CloudPageBlob读取和写入数据时静态添加transparent encryption/decryption? HTTPS只是在传输中加密...将静态加密*添加到CloudPageBlob中? (不是传输加密)

假设我在桌面上运行代码,并且仅使用HTTP访问blob存储。

+0

使用HTTPS而不是HTTP? – 2012-04-06 00:05:48

+0

@breischl我认识你!我们都是[Azure Table Encryption]上的委托人(http://azuretableencrypt.codeplex.com/)(我是clamont)。与该项目如何扩展Azure Table SDK类似,我想以类似的方式扩展blob SDK。数据的透明加密解密。 – LamonteCristo 2012-04-06 15:43:47

+0

这很有趣!这是一个小型的云。 :)我做了一些类似于该库的块blob。我找不到像TableServiceContext那样的任何钩子,所以它在同样的意义上不是透明的。我只写了一些方法,而不是我所有的阅读和写作。他们将加密版本存储到blob元数据中,并根据需要将其包装在CryptoStream中。但我不知道这是否适用于Page blobs。 – 2012-04-06 17:22:59

回答

2

那么,从我所了解的,你想添加额外的加密内容,然后将其传输到电线。

要实现这一点,您必须围绕Storage Service REST API创建自己的包装,而不是使用Microsoft提供的Storage Client Library。只有使用您自己的REST调用者,您才能在将内容设置为Request Body之前加密/解密内容。然后当你下载斑点时,你必须从Response Body解密它们。这样你可以实现“透明加密”。在某种程度上透明,因为从应用程序预计你只需调用EncryptedBlobStorageClient.UploadBlob(path_to_local_file)。但是 这不是真正透明的,因为它存在于您的应用程序中,并且您不能在没有您的应用程序的情况下使用加密的blob。

但是,如果您希望此加密/解密位于Blob服务端点上 - 这是不可能的。

0

在Azure blob存储的服务器端透明地执行此操作是不可能的。然而,它是可能的,与亚马逊S3做到这一点:

http://aws.typepad.com/aws/2011/10/new-amazon-s3-server-side-encryption.html

这是一个请求头非常简单地完成,并没有为它收取额外费用:O)

如果你可以移动你的应用程序,或者至少,把它的存储移到S3你可以使用它。