微服务实战系列之签名Sign

前言

昨日恰逢“小雪”节气,今日寒风如约而至。清晨的马路上,除了洋洋洒洒的落叶,就是熙熙攘攘的上班族。眼看着,暖冬愈明显了,叶子来不及泛黄就告别了树。变化总是在不经意中发生,容不得半刻糊涂。

上集博主对微服务中常用的加密算法RSA做了基本的介绍,相信各位盆友已经具备了如何使用的能力或者经验。也正因为“数据安全”已贯穿于微服务的全生命周期,所以容不得我们有片刻大意。
那除了加密措施以外,还有什么法宝呢?博主带着大家继续揭秘。

此刻,“微服务实战系列”中,博主已完成了以下组件的介绍:

  • 微服务实战系列之Sentinel
  • 微服务实战系列之Token
  • 微服务实战系列之Nacos
  • 微服务实战系列之Gateway
  • 微服务实战系列之加密RSA

今天,我们接着谈谈数字签名


Q:什么是数字签名

看到签名两字,是不是眼熟? 明星艺人大腕小生,爱之捧之,被视为一种验真的手段。在互联网世界,如何保障验真呢?
首先看看什么是数字签名:

数字签名是利用密码学原理,将数字文件原文信息利用私钥进行加密,以确保信息的真实性、完整性和不可抵赖性。
数字签名是一种数字化的身份认证手段,是为我们提供安全的电子交易服务的重要工具。

说白了,就是防伪标识。那它有哪些特点?

  1. 报文鉴别:通过签名,可以对发送者“验真”
  2. 防止抵赖:通过签名,可以对发送者防抵赖
  3. 防止伪造:通过签名,可以对接收者防伪造

剧情到这一步,各位盆友应该想了解如何实现数字签名了吧。接下来,我们一一道来。
在这里插入图片描述

工作原理

首先我们看看数字签名是如何完成的。

简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。

在这里插入图片描述通过上图,我们可以用一句话表达:
“私钥加签,公钥验签”,即发送者通过私钥生成消息摘要(数字签名),接收者通过公钥验证签名,通过比较得知是否是“合法”的发送者,反之亦然。

实践应用

在实际业务场景中,我们又该如何实现呢?通常有两类方式:

  • 公钥密码体制,通俗讲基于类似RSA算法的数字签名;
  • 普通数字签名,只通过一般加密算法完成签名认证,比如AES等;

那么,博主今天主要介绍第一类签名方式。其他方式可以自学,相对简单。

1. 密钥管理

既然提到公钥密码体制,首先需要一组密钥,即公钥和私钥。
密钥对怎么产生的?通常是由CA机构管理,以证书的形式颁发,有付费有免费,各取所需,当然付费更佳。
在这里插入图片描述
我们来看看,实际证书怎么看?
首先找一个带“锁”的网址,轻轻点一下锁,即可看到此网址相应的证书,大致长这样:

在这里插入图片描述
通过查看,我们可以看到,此证书包含了证书的颁发机构、有效期、证书公钥等。
如果对密钥对不甚理解,可以参考博主上一篇文章- 微服务实战系列之加密RSA。

2. 加签验签

有了密钥,我们就可以完成对传输的数据签名了。通常需要经过3个核心步骤:

  • 排序:对要签名的数据,进行按规律排序,可以选择升序降序
  • 签名:使用私钥完成签名。
  • 验签:使用公钥完成验签。
3. 增强措施

通过以上两步,一般我们能够满足基本的数字签名了。但是如果要保障数据传输的“万无一失”,还为时尚早。
其中,还需加入其他手段,比如使用https协议、加入时间戳、签名标识等等,博主在此不再详细展开。


结语

通过本文,是否对数字签名以及如何完成签名有了初步的认识?当然“码上百遍,其益自现”。有了基本的思路后,可以尝试自我实践了。
好了,今天到此为止,我们后会有期!
在这里插入图片描述

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

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

相关文章

实现HTTP服务监听,快来试试springboot服务端接口公网远程调试

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 二. 内网穿透2.1 安装…

SSM大学生社团信息管理系统-99953,(免费领取源码)计算机毕业设计选题开题+程序定制+论文书写+答辩ppt书写 包售后 全流程

SSM大学生社团信息管理系统APP 摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,高校当然也不能排除在外。大学生社团信息管理系统APP是以实际运用为开发背景&#xff0c…

友思特分享 | Neuro-T:零代码自动深度学习训练平台

来源:友思特 智能感知 友思特分享 | Neuro-T:零代码自动深度学习训练平台 欢迎关注虹科,为您提供最新资讯! 工业自动化、智能化浪潮涌进,视觉技术在其中扮演了至关重要的角色。在汽车、制造业、医药、芯片、食品等行业…

HDX读卡器牛羊管理RFID设备品牌

半双工HDX(Half Duplex)技术是ISO11784/5中规定的另一种标签与读写器之间的通讯方式,与全双工工(FDX)相比,HDX通常识别能力更强,有更大的识别距离。在HDX读写器的射频场与HDX标签响应期间关闭&a…

Linux:文件系统初步理解

文章目录 文件的初步理解C语言中对文件的接口系统调用的接口位图的理解open调用接口 文件和进程的关系进程和文件的低耦合 如何理解一切皆文件? 本篇总结的是关于Linux中文件的各种知识 文件的初步理解 在前面的文章中有两个观点,1. 文件 内容 属性&…

软著项目推荐 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

Presto+Alluxio数据平台实战

数新网络,让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 一、Presto & Alluxio简介 Presto Presto是由Facebook开发的开源大数据分布式高性能 SQL查询引擎。 起初,Facebook使用Hive来进行交互式查询…

基于51单片机电子钟闹钟LCD1602显示proteus仿真设计

基于51单片机的LCD1602电子钟闹钟proteus仿真设计 基于51单片机的LCD1602电子钟闹钟proteus仿真设计功能介绍:仿真图:原理图:设计报告:程序:器件清单:资料清单&&下载链接: 基于51单片机…

用 VirtualBox 安装 OpenWrt 等 Linux 系统,无法启动的解决办法

用 VirtualBox 安装 OpenWrt 等 Linux 系统,无法启动的解决办法 最近新买了台联想小新 Pro 14 2023 锐龙版,因为有 32GB 的运行内存,所以想安装虚拟机以充分发挥。一开始使用 Hyper-V 来安装可以正常使用,但是后面想使用 Virtual…

c语言:模拟实现各种字符串函数

strlen函数: 功能:获取到\0之前的的字符个数。 代码模拟实现函数: //strlen //这里用了递归法, //如abc,1bc,然后11c,接着111,最后读取到\0,1110,得到结果3…

Apollo接入配置中心 -- 源码分析之如何获取配置

全文参考:https://mp.weixin.qq.com/s/G5BV5BIdOtB3LlxNsr4ZDQ https://blog.csdn.net/crystonesc/article/details/106630412 https://www.cnblogs.com/deepSleeping/p/14565774.html 背景:近期在接入行内配置中心,因此对配置的加载接入有了…

亚马逊Listing怎么写!亲身经验分享

亚马逊运营的重要环节之一,listing的攥写,可以决定了产品的搜索排名,用户的点击率和转化率,那么如果你的产品排名或者转化不理想的情况,可以考虑对listing进行优化,在关键词过多和语句流程通顺的情况下&…