我理解的国密知识与加密过程

编程入门 行业动态 更新时间:2024-10-21 15:54:18

 

基本概念

入门说明见:https://wenku.baidu/view/68fe53966c175f0e7cd137fe.html?from=search。

理解与收获:

公钥只能用私钥去解,私钥只能用公钥去解;

证书机构,建立公钥和个人对应关系的数据库;这个关系,作为个人身份证,是证书,关系形成的字符串是证书里的签名;其它人根据目的人找到其证书中的公钥,然后加密信息发给该人;

 

公钥与私钥的加密解密作用:https://www.zhihu/question/25912483

既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。

 

国密算法

SM1指的是国家密码管理局编制的一种商用密码分组标准对称算法。该算法是国家密码管理部门审批的 SM1 分组密码算法 , 分组长度和密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,该算法不公开,仅以 IP 核的形式存在于芯片中。

在金融领域目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。

SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。

SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。

SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。

理解:SM1用于密钥分发的数据加密;SM2是签名;SM3是防篡改;SM4是普通数据加密。

更丰富的算法理解:

和上面有所重复,是另一个时期自己的学习记录。

SM1-SM4算法简介:https://wwwblogs/zhangshitong/p/8057845.html。https://wwwblogs/wangpin336/p/11049536.html

对称加密与非对称加密的对比:https://blog.csdn/qq_41718455/article/details/81162983

对称加密和非对称加密区别: 1、对称加密速度快,安全性没有非对称加密安全

                                   2、非对称加密安全性更高,但是效率没有对称加密快

                                   3、非对称加密加密程度有限制,(密钥长度是1024,值能加密117个字符,需要分段

                                          加密,分段解密)

SM1对称密码

SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以IP核的形式存在于芯片中。

采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

SM2椭圆曲线公钥密码算法

SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位的曲线作为标准曲线。SM2算法在很多方面都优于RSA算法。

要求“自2011年3月1日期,在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用SM2算法。

SM3杂凑算法

SM3密码杂凑(哈希、散列)算法给出了杂凑函数算法的计算方法和计算步骤,并给出了运算示例。此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

SM4对称算法

此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

不同算法特性,是这些算法的应用不同,如:非对称加解密算法的效率要比对称加解密要低的多。所以SSL在握手过程中使用非对称密码算法来协商密钥,实际使用对称加解密的方法对http内容加密传输。

对称加密算法有DES,RC5,密钥交换算法有RSA和DH,摘要算法有MD5和SHA。

加密的实现

国密SM4算法Verilog实现:https://www.iteye/resource/qq_25426903-10906897

国密算法芯片用户手册:http://www.termsun/chip.html#_Toc414547702

SM4加密:https://blog.csdn/omfalio1101/article/details/80384986?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 

加解密的过程

可以参照阿里的云数据保护:

https://developer.aliyun/article/672622?spm=a2c6h.13813017.0.dArticle738638.53877df64zI3J0

从上面文档可以看到:传输加密采用VPN和HTTPS;文件加密,是另一层的事;密钥管理是一个事;登录、鉴权又是一个事情。

阿里云的全链路加密能力。全链路加密顾名思义是指针对数据加密在传输链路,以及计算和存储节点提供对应的业界高级别加密能力。传输加密主要依赖SSL/TLS加密并提供AES256强度的加密保护。计算节点中阿里云在2017年即开始提供芯片级SGX加密计算环境(在提供SGX能力的云厂商中,阿里云为亚洲第一、世界第二提供此能力的厂商)。在存储加密环节,阿里云不但能提供高强度(AES256)的数据落盘加密能力,更通过密钥管理服务(KMS)提供用户自带密钥(BYOK)功能。联合KMS密钥管理,阿里云可以为用户提供全链路的数据加密保护。

加密流程学习:

加密流程:https://blog.csdn/qq_36261535/article/details/100882271

S32G的硬加速支持:AES(MAX 256)\SHA-1SHA-2;RSA(MAX 4096);

https://blog.csdn/shw372029857/article/details/52687906,ssl加解密过程,https用的,必看。

根据blog文档,加密流程:

图1、数据加密传输、数据完整性及签名认证流程

  1. 传输信道中的数据都采用SM4分组加密算法,保证数据传输时数据的机密性;
  2. 使用散列算法SM3保证数据的完整性,以防止数据在传输的过程中被篡改;
  3. 使用非对称算法SM2的私钥签名来保证数据的不可抵赖性,确保数据是从某一个确定的车载用户端发出;
  4. 具体流程如下:
  1. 用户数据使用SM3进行散列运算得到数据摘要,再使用非对称算法SM2进行摘要签名;
  2. 同时使用对称算法SM4的密钥对数据摘要进行加密并传输给安全模块;
  3. 使用同一个对称算法SM4密钥对用户数据进行加密,并将加密后的密文传输给监控端;
  4. 监控端收到数据密文后,使用对应的密钥进行对称算法SM4解密,并使用散列算法对解密后的数据进行运算得到数据摘要1;
  5. 监控端对收到的摘要签名进行对称算法SM4解密,再经过非对称算法解密得到最初的数据摘要2;
  6. 对比数据摘要1和数据摘要2,若两者相等则认为传输数据具备完整性;否则认为数据出错;

从上面流程,可以看到数据加密以及防篡改的机制;同时,理解SM2还提供了密钥管理、以及用户签名。

HTTPS加密

https加密原理:https://www.jianshu/p/cf2f86bc597a

SSL/TLS协议提供的服务主要有:

1、认证用户和服务器,确保数据发送到正确的客户机和服务器;

2、加密数据以防止数据中途被窃取;

3、维护数据的完整性,确保数据在传输过程中不被改变。

SSL安全机制

1、身份验证机制

基于证书利用数字签名方法对服务器和客户端进行身份验证,其中客户端的身份验证是可选的。

2、数据传输的机密性

利用对称密钥算法对传输的数据进行加密。

3、消息完整性验证

消息传输过程中使用MAC算法来检验消息的完整性。

我理解https,由软件协议栈处理,硬件不需要参与,并且针对https进行硬件加密是另外一种分支应用了https://easy.zhetao/easy-https-lets-encrypt-html-CPU。

https与vpn的关系

VPN加密

https://www.jiamisoft/blog/565-vpnjiami.html

什么是ssl vpn:

https://www.solves/it/wl/zs/2019-11-08/7571.html

就是通过https会话,里面再封装一个ip帧,通过服务器转发。不需要专用

iPSec VPN与SSL VPN具体有什么区别?

https://blog.csdn/Tianlujunr/article/details/82384303,加密比较的

自己整理的表(未完成):

加密方式

数据加密

防篡改

签名

密钥

 

https

   

SSL握手协议与变化协议;

服务器发送证书,含签名与公钥;客户端向ca服务器认证该证书。

双方发送随机数,产生Master Secret

 

ssl vpn

     

ipsec vpn

     

U盾的工作原理

百度有解释,比较简单和清楚:https://zhidao.baidu/question/568512992.html。

更详细的U盾介绍,在:https://www.sohu/a/226373290_384968,全面,可以了解。

市场上见到U盾按照硬件芯片不同可以分为使用智能卡芯片的和不使用智能卡芯片两种,按照CPU是否内置加密算法又可以分为带算法和不带算法的U盾。一般我们把不带加密算法的称为存储型U盾,带加密算法的称为加密型U盾。存储型的U盾由于其硬件功能的限制,仅能实现简单的数据摘要算法,对于PKI中广泛使用的对称和非对称加密算法只能通过运行在PC上的中间件来实现,这样在加密和签名运算中用户的密钥就会出现在内存中,有可能被技术高超的黑客获取。

 

 

信息加密,最牛的一家公司:https://cn.mellanox/solutions/security。

 

 

 

更多推荐

我理解的国密知识与加密过程

本文发布于:2023-06-13 10:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1379642.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:过程   知识

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!