.Net Core分布式部署中的DataProtection密钥安全性

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

640?wx_fmt=jpeg

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

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

微软说明如下

640?wx_fmt=png

640?wx_fmt=png

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

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

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

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

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

加密后的密钥如下

640?wx_fmt=png

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

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

 github  https://github.com/saber-wang/DataProtection

原文地址:https://www.cnblogs.com/nasha/p/10260158.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317845.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

scanf(“%s“)真的只开读入字符串大小就可以了吗??

文章目录前言还原过程计算机程序背后的故事总结瞎逼逼前言 艹艹艹艹艹艹!!!!!!!老子没想到没想到,靠! 本人刚刚在做树链剖分“染色”一题的代码重构,上午打…

P5299-[PKUWC2018]Slay the Spire【dp】

前言 正题 题目链接:https://www.luogu.com.cn/problem/P5299 题目大意 有2n2n2n张牌, nnn张强化牌,每张上有一个正整数x(x>1)x(x>1)x(x>1),如果使用后之后的每一张攻击牌伤害都会乘上xxx。nnn张攻击牌,每张上有一个正…

asp.net core2.2 多用户验证和授权

asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇:cookie身份验证基于角色的授权我的项目有两类用户:微信公众号用户,用户名为公众号的openid企业微信的用户,用户名为企业微信的userid每…

P1494 [国家集训队]小Z的袜子

P1494 [国家集训队]小Z的袜子 题意: 有一个长度为 n 的序列c[i] 。现在给出 m个询问,每次给出两个数l,r ,从编号在 l 到 r 之间的数中随机选出两个不同的数,求两个数相等的概率。 题解: 很明显,莫队算法…

一文带你快速读懂.NET CLI

dotnet cli 是 .Net Core 功能中最有用的特性之一。在这篇文章里,我们将介绍几个.Net OSS 工具是如何使用 dotnet cli,并介绍如何在日常开发中使用新的 cli 工具。正文关键要点dotnet cli 使得基于. Net 项目的自动化和脚本编写变得非常简单,…

[POJ 3164]Command Network(最小树形图,朱刘算法)

文章目录titlesolutioncodetitle solution 读完翻译后,很明显就是个朱刘算法的板子题 最小树形图,就是给出一个带权有向图 从中指定一个特殊的结点 root 求一棵以 root 为根的有向生成树 T,且使得 T 中所有边权值最小 简单来说&#xff0c…

ASP.NET Core 3.0:将会拥有更少的依赖

在ASP.NET Core项目中,我们使用一个叫做Microsoft.AspNetCore.App的综合包。它也被称为ASP.NET Core Shared Framework,在ASP.NET Core Shared Framework之中包含了很多依赖项,它能满足一般应用的需求。但是如果你查看它的依赖项,…

CSP2021NOIP2021游记

CSP Day -? 初赛 初赛考前没怎么复习,反倒是理直气壮的翘了一周晚修(虽然后面就一直翘了)。 开考之后才发现要拿那几张纸,监考让我考完再出去拿。 选择题很简单,没有啥犹豫的写完了,第一道读程序写结果好…

微软上线Try .NET,支持在浏览器运行C#代码

微软Try .NET项目近期上线,这一项目允许用户通过浏览器运行和编写C#代码,同时还支持完整的代码提示。用户可以通过访问这一项目官网(点此进入)对Try .NET这一项目进行简单了解。该项目允许开发人员在浏览器中运行和编辑C#代码片段…

[LOJ]体育成绩统计 / Score (无脑模拟,没有脑子,就是上!)

题目 好久没敲过恶心的模拟题了,莫名有点怀念是什么鬼,我还记得我的zamjena 没啥想说的,这道题就是没智商有码力的 纯粹是纪念一下今天上午直接肝了的两个半小时,真的一点思维都不需要有,直接上!&#xff0…

程序员修仙之路--设计一个实用的线程池

菜菜呀,我最近研究技术呢,发现线上一个任务程序线程数有点多呀CEO,CTO,CFO于一身的CXOx总,你学编程呢?菜菜作为公司总负责人,我以后还要管理技术部门呢,怎么能不会技术呢CEO,CTO,CFO于一身的CXO&#xff08…

Code Names

Code Names 题意: 如果一个字符串通过交换两个位置可以得到另一个字符串(也就是两个字符串只有两个位置不一样且为交换关系),我们称这两个字符串为替代关系。 现在给出n个字符串,求一个集合,使得集合内的…

【2020牛客NOIP赛前集训营-提高组(第一场)题解】( 牛牛的方程式,牛牛的猜球游戏,牛牛的凑数游戏,牛牛的RPG游戏)

未完待续...T1:牛牛的方程式titlesolutioncodeT2:牛牛的猜数游戏titlesolutioncodeT3:牛牛的凑数游戏titlesolutioncodeT1:牛牛的方程式 title solution 因为浮点错误炸了70pts 这个三元一次不定方程呢,其实也没有…

程序员修仙之路-数据结构之 CXO让我做一个计算器

菜菜呀,个税最近改革了,我得重新计算你的工资呀,我需要个计算器,你开发一个吧CEO,CTO,CFO于一身的CXOX总,咱不会买一个吗?菜菜那不得花钱吗,一块钱也是钱呀这个计算器支持加减乘除运算就行&…

P5518-[MtOI2019]幽灵乐团【莫比乌斯反演,欧拉反演】

正题 题目链接:https://www.luogu.com.cn/problem/P5518 题目大意 TTT次给出A,B,CA,B,CA,B,C求以下三个式子 ∏i1A∏j1B∏k1Clcm(i,j)gcd(i,k)\prod_{i1}^A\prod_{j1}^B\prod_{k1}^{C}\frac{lcm(i,j)}{gcd(i,k)}i1∏A​j1∏B​k1∏C​gcd(i,k)lcm(i,j)​ ∏i1A∏j1B∏k1C(lcm(…

【2020牛客NOIP赛前集训营-提高组(第二场)】题解(GCD,包含,前缀,移动)

文章目录T1:GCDtitlesolutioncodeT2:包含titlesolutioncode(正解code补充在上面了)T3:前缀titlesolutioncodeT4:移动titlesolutioncodeT1:GCD title solution 非常水,看一眼就知道了 首先我们知道每一个…

.NET Core实战项目之CMS 第十五章 各层联动工作实现增删改查业务

连着两天更新叙述性的文章大家可别以为我转行了!哈哈!今天就继续讲讲我们的.NET Core实战项目之CMS系统的教程吧!这个系列教程拖得太久了,所以今天我就以菜单部分的增删改查为例来讲述下我的项目分层之间的协同工作吧!…

[2020-11-23 contest]图(dfs剪枝),劫富济贫(字典树),小A的树(树形DP),游戏(贪心/斜率优化)

文章目录T1:图solutioncodeT2:劫富济贫solutioncodeT3:小A的树solutioncodeT4:游戏solutioncodeT1:图 【问题描述】 给你一个n个点,m条边的无向图,每个点有一个非负的权值ci,现在你…

P1742 最小圆覆盖

P1742 最小圆覆盖 题意: 给出N个点,让你画一个最小的包含所有点的圆。 题解: 先说结论: 最优解的圆一定是在以某两个点连线为直径的圆 或者 某三个点组成的三角形的外接圆 初始化将某个圆心定为第一个点,R0 枚举第…

Java实现非对称加密【详解】

Java实现非对称加密 1. 简介2. 非对称加密算法--DH(密钥交换)3. 非对称加密算法--RSA非对称加密算法--EIGamal5. 总结6 案例6.1 案例16.2 案例26.3 案例3 1. 简介 公开密钥密码学(英语:Public-key cryptography)也称非…