上传前加密 csv

Encryption of csv before Upload

我们有一个 windows 服务,它监视文件夹(使用 C# 的 filewatcher)中的文件并将文件上传到 blob。 Windows 服务通过传递从 ADFS WS-Trust 1.3 检索到的 JWT,从使用 ADFS 2.0 保护的 WebAPI 端点(TLS 1.2)检索只写 SAS 令牌,该令牌用于生成要上传到 blob 的 blob 客户端端点传递用户名和密码。

我在安全领域的经验有限。我有两个问题。

1- 在将数据上传到 blob 之前是否应该进行加密?如果是,我该如何实现。

2- 会从端点检索 SAS 令牌,即使它使用 ADFS 保护并通过 https,也存在任何类型的安全风险

1- Should there be an encryption before I upload the data to blob? If yes, how can I implement it.

据我了解,如果您希望在传输过程中获得额外的安全保障,并且对存储的数据进行加密,您可以利用客户端加密并参考此tutorial .此时,您需要对您的应用程序进行编程更改。

此外,您可以利用 存储服务加密 (SSE),它不提供传输中数据的安全性,但它提供以下好处:

SSE allows the storage service automatically encrypt the data when writing it to Azure Storage. When you read the data from Azure Storage, it will be decrypted by the storage service before being returned. This enables you to secure your data without having to modify code or add code to any applications.

我建议您可以只对传输中的数据使用 HTTPs,并使用 SSE 来加密您的 blob。关于如何开启SSE,可以参考here. Additionally, you could follow here关于Azure Storage的安全指南。

2- Would retrieving the SAS token from an endpoint, even though it is secured with ADFS and is over https, possess any kind of security risk

SAS 为您提供了一种方法,可以将您存储帐户中资源的有限权限授予其他客户端。出于安全考虑,您可以设置 SAS 有效的时间间隔。此外,您可以限制 Azure 存储可以接受 SAS 的 IP 地址。根据我的理解,用于生成 SAS 令牌的端点通过 HTTPs 使用 ADFS 2.0 进行保护,我认为它足够安全。