.NetCore分布式部署中的DataProtection密钥安全实例分析

这篇文章将为大家详细讲解有关.Net Core分布式部署中的DataProtection密钥安全实例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联专注于企业全网整合营销推广、网站重做改版、于田网站定制设计、自适应品牌网站建设、H5高端网站建设商城开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为于田等各大城市提供网站开发制作服务。

在.NetCore中默认使用DataProtection来保护数据,例如Cooike等。一般情况下DataProtection生成的密钥会被加密后存储,例如默认的文件存储

.Net Core分布式部署中的DataProtection密钥安全实例分析

可以看到使用了Windows DPAPI加密。

但是如果更改默认设置例如使用的外部存储如redis则此时密钥默认是不加密的

微软说明如下

.Net Core分布式部署中的DataProtection密钥安全实例分析

.Net Core分布式部署中的DataProtection密钥安全实例分析

警告密钥未加密,这个时候如果redis被破解,系统的密钥也就泄漏了。

微软提供了2个接口IXmlEncryptor,IXmlDecryptor来实现密钥的加密解密,下面使用AES来简单现实,也可以替换为任何加密方式

.Net Core分布式部署中的DataProtection密钥安全实例分析

.Net Core分布式部署中的DataProtection密钥安全实例分析

.Net Core分布式部署中的DataProtection密钥安全实例分析

.Net Core分布式部署中的DataProtection密钥安全实例分析

.Net Core分布式部署中的DataProtection密钥安全实例分析

调用也很简单.ProtectKeysWithAES()即可

services.AddDataProtection().SetApplicationName("DataProtection").PersistKeysToStackExchangeRedis(ConnectionMultiplexer.Connect(RedisConnection), "DataProtection-Keys").ProtectKeysWithAES();

加密后的密钥如下

.Net Core分布式部署中的DataProtection密钥安全实例分析

注:在生成密钥之前要删除之前的密钥,不然会使用旧密钥而不生成新的密钥直到密钥过期。 

对于AES所使用密钥也要进行保护,可以使用第三方密钥存储库如Azure 密钥保管库,或者也可以使用X509证书来来加密。

关于.Net Core分布式部署中的DataProtection密钥安全实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网页名称:.NetCore分布式部署中的DataProtection密钥安全实例分析
URL地址:http://bzwzjz.com/article/jedphe.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 手机网站建设 成都响应式网站建设 响应式网站设计方案 定制网站建设 成都网站设计 成都网站制作 高端网站设计推广 网站建设方案 成都网站制作 成都企业网站制作 泸州网站建设 网站建设费用 定制网站制作 重庆网站建设 定制网站建设多少钱 成都商城网站建设 网站建设 网站建设公司 品牌网站建设 重庆网站建设 响应式网站设计 成都网站设计制作公司