2012-04-05 45 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你可以使用它。