PKI证书认证

2024-04-11 22:32
文章标签 认证 证书 pki

本文主要是介绍PKI证书认证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

USBKEY介绍

usbkey的本质就是一个移动存储设备+硬件加密算法实现。自身有一定的安全性。需要登录后才能访问相应权限的文件。其权限分为 anyone(任何人都可见)、pin(需要输入pin码,才可见)、admin(只有管理员可见。)相应的admin可以看见所有信息。pin看不见admin的信息。anyone只能看见一些普通信息。所以pin码是决定账号能否访问Ukey的标志。

每一个Ukey中都有一个GUID。确保唯一。

注:对于1000系统来说,忘记管理员密码,只能返厂修理。所有管理员密码由我们设定。且不能丢失。

Usbkey做身份验证方法:

主要有2

证书认证。可以做2个方向。1身份验证,2文件传输。为了防止证书被修改,需要对证书进行摘要比对。证书认证身份验证,只需要存储公钥。若做文件传输,需要存储私钥。换句话说。文件传输有2对密钥对。由于我们不应用加密,所以不加以说明。

冲击响应认证。也可以理解为证书认证的简要版本。只能用于身份验证。不能用于文件传输。

证书认证基础:非对称加密算法

我们平时都有一个密码对一段信息进行加密和解密。当传输通道本身不安全时,容易让你破解。

为了安全性更好,有人提出了,非对称加密。就是有密钥A加密,只能用密钥B解密。密钥A与密钥B是对等的,用一个密钥加密,就只能用另一个密钥解密。这样即使传输通道不安全,也不会被破解。

此算法基于单向散列函数(HASH函数),加密方与解密方使用同一单向散列函数。

证书认证过程:

1. 验证用户证书是否由指定部门签发的

2. 验证用户证书是否被修改。(此处相当于冲击认证的第二次认证就是对比摘要)

3. 验证用户证书是否过期

4. 验证证书是否在吊销证书列表中。

5. 用私钥对随机字符串签名(此处签名可以理解为加密。)

6. 读取证书文件,并取得公钥。

7. 用公钥认证(此处认证可以理解为解密)

证书认证本质:

1.证书认证的本质就是验证证书的合法性

2.验证对方私钥的正确性。

 

X.509证书格式:

  X.509是一种非常通用的证书格式。所有的证书都符合ITU-T X.509国际标准;因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。在一份证书中,必须证明公钥及其所有者的姓名是一致的。对X.509证书来说,认证者总是 CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式),所有的X.509证书包含以下数据:

   1X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息。目前的版本是3

   2、证书持有人的公钥:包括证书持有人的公钥、算法(指明密钥属于哪种密码系统)的标识符和其他相关的密钥参数。

   3、证书的序列号:由CA给予每一个证书分配的唯一的数字型编号,当证书被取消时,实际上是将此证书序列号放入由CA签发的CRLCertificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号唯一的原因。

   4、主题信息:证书持有人唯一的标识符(或称DN-distinguished name)这个名字在 Internet上应该是唯一的。DN由许多部分组成,看起来象这样:

 

  CN=Bob Allen, OU=Total Network Security Division

  O=Network Associates, Inc.

  C=US

     这些信息指出该科目的通用名、组织单位、组织和国家或者证书持有人的姓名、服务处所等信息。

   5、证书的有效期:证书起始日期和时间以及终止日期和时间;指明证书在这两个时间内有效。

   6、认证机构:证书发布者,是签发该证书的实体唯一的CAX.500名字。使用该证书意味着信任签发证书的实体。(注意:在某些情况下,比如根或顶级CA证书,发布者自己签发证书)

   7、发布者的数字签名:这是使用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改过。

8、签名算法标识符:用来指定CA签署证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法。

这篇关于PKI证书认证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/895358

相关文章

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

一文详解kafka开启kerberos认证的完整步骤

《一文详解kafka开启kerberos认证的完整步骤》这篇文章主要为大家详细介绍了kafka开启kerberos认证的完整步骤,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、kerberos安装部署二、准备机器三、Kerberos Server 安装1、配置krb5.con

nginx生成自签名SSL证书配置HTTPS的实现

《nginx生成自签名SSL证书配置HTTPS的实现》本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可... 目录一、安装nginx二、创建证书三、配置证书并验证四、测试一、安装nginxnginx必须有"-

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文