加解密与ukey
2024-09-13 16:55:45 0 举报
AI智能生成
加解密与ukey
作者其他创作
大纲/内容
加解密技术主要包括两个核心元素:算法和密钥。算法定义了数据转换的规则,而密钥则是这个转换过程中使用的秘密参数
概述
数据发送方和接收方事先商定并使用同一个密钥
使用56位密钥对64位数据块进行加密的对称加密算法
由于其密钥长度较短,存在被暴力破解的风险,现已被认为不够安全,不适合用于现代安全要求较高的应用
DES
密钥长度可以是128位、192位或256位
高效性和安全性成为了现代密码学中最常用的对称加密算法之一
AES
算法类型
1、数据发送方和接收方事先商定好密钥,如:通过KeyGenerator 生成一个AES的256位数的密钥(nfljZIaHAuViDj3MGWqeJW+NBad5Gh7rp3IK/PhxOJk=)2、发收双方保存该密钥3、数据发送方通过Cipher 使用密钥对加密数据的字节码进行加密4、数据接收方通过Cipher 使用密钥对密文数据解密,将解密的字节码转成字符串
AES CBC等模式下,需要使用IV初始化向量,增加了安全性,此处不详述
使用方式
对称加密
公开密钥、私有的密钥。私有密钥则必须严格保密。公私钥存在联系,但无法推导。配对出现
算法内部,不知其所以然
RSA
椭圆曲线--没看懂
ECC
中国国家密码管理局发布的,椭圆曲线密码算法--也看不懂
SM2
信息加密:发送方使用接收方的公开密钥对数据进行加密,只有接收方才能使用自己的私有密钥进行解密,从而保证了信息的机密性。
数字签名:发送方使用自己的私有密钥对数据的哈希值进行加密生成数字签名,接收方使用发送方的公开密钥进行验证,以确认数据的完整性和发送方的身份
密钥交换:主要的使用场景是在双方系统中实际使用 对称加密的方式进行交易处理,为了保证对称加密所使用的共享密钥传输安全性,进而使用先使用非对称加密对共享密钥进行密钥交换A随机生成一个 共享密钥,使用B的公钥加密B接收到A发过来的信息,使用自己的私钥解密,从而得到A生成的 共享密钥A、B使用共享密钥进行会话通讯
非对称加密
摘要=哈希 这俩是一个事儿,就是将一个变长的数据通过一定算变换,输出一个固定长度的数据,这个数据就是摘要。输出的固定长度可定义,128、256等。相同的数据,通过相同的摘要算法,计算出来的结果 相同。摘要是单向的,数据通过摘要计算,输出的摘要结果是不可逆的,即,无法通过摘要结果推算出原文
MD5
SHA(SHA-1、SHA-256、SHA-512等)
其他--没实际使用过,比如BLAKE2
1、数据传输防篡改或数据完整性,如数据发送方将传输的数据进行MD5摘要,数据接收方在接收到数据后,同样进行MD5摘要,并比对发送方的MD5摘要结果与接收到的数据MD5摘要结果是否匹配,如不匹配,则代表接收到的数据不一致,存在被篡改风险2、密码存储,密码一般都是密文存储,在用户输入密码之后,系统将密码转换为摘要数据,存储到数据库。验证密码时使用同样的摘要方式进行对比验证3、数据签名,---同上
摘要/哈希
国密:中国国家密码管理局发布的。自己的东西,自己掌握的东西多,保密措施也更好非国密:国际通用密码算法标准的。老外的东西,虽然使用广泛,但老外知道的也多,风险更高
本质上就是加密算法的不同,同理解密的算法也不同。市面上大部分的证书浏览器都是老外的,也就是基础算法都是用的国际算法,所以使用这些浏览器无法查看通过国密算法加密的内容,因为它解不开
国密证书、非国密证书
SM1:对称加密算法
SM2:非对称加密算法
SM3:杂凑算法(摘要)
SM4:对称加密算法,不同于SM1,SM4有多种加密模式。SM1密钥不固定,SM4密钥固定128位
算法
国密、非国密区别
通过非对称加密进行交易信息的传输
通过数字签名来确认交易的真实和完整性
区块链中加密算法应用
类型
来源:RSA联合一帮搞安全的人制定的一些标准
最为广泛的一系列标准
提供了一种标准化的方式来封装加密或签名的数据,便于在不同系统间传输
定义了加密消息的语法,包括加密数据的封装、签名数据的封装等
使用ukey对数据签名后,使用P7的消息语法格式将加密或签名后的数据进行封装
PKCS#7
定义了证书请求(CSR)的语法,包括证书请求的格式和内容
用户向证书颁发机构(CA)申请证书时所使用的标准格式
用户向CA机构申请证书时,需要封装一个CSR请求,CSR中包含了用户的公钥信息以及请求证书时所需的其他信息(如组织名称、域名等)
PKCS#10
PKCS#1、PKCS#5等,不详述
PKCS
公钥密码体制标准
加解密技术
为电子签名在商用、金融等行业提供了法律支撑
https://www.gov.cn/flfg/2005-06/27/content_9785.htm
电子签名法
RA(Registration Authority),即注册审批机构,是数字证书注册、审核及管理。接收申请者信息、对申请者信息进行审核、审核通过后向申请者发放数字证书。管理证书的生命周期,包括证书的更新、撤销等
RA机构
CA(Certificate Authority),即认证机构,又叫认证中心。签发证书,根据RA审核通过的信息,为申请者签发数字证书,数字证书中包含证书持有者的公钥、身份信息等。对证书的真实性、有效性进行认证。
CA机构
灌ukey是什么意思?就是登陆到RA系统,填写证书支持有者信息的一个过程,填写完毕后,CFCA的RA系统会将证书写入到某个介质下。介质:承载证书的一个器皿,可以是浏览器、可以是USBKey。
证书颁发
概括的KYC过程:1、通过控件获取到证书信息2、将证书信息发送给CA系统,CA系统识别证书有效性以及查询证书相关信息3、应用系统基于CA反馈的该证书的信息以及当前使用证书进行业务操作的操作者信息进行比对4、一致则通过,不一致则失败
证书认证
RA、CA
衍生一个场景:由于ukey的内存只有一丢丢,所以当签名原文过长的时候,就会导致内存不够、计算不过来,从而导致报错。所以系统拼装的签名原文时,对原文进行了摘要的处理,从而减少签名原文的长度
Ukey,USBKey,是一种介质。内含智能芯片以及一丢丢内存和一丢丢存储还有安全芯片,芯片用于使用证书对数据进行签名计算,存储用于保存密码等信息。Ukey中的安全芯片会负责存储和加密证书私钥数据,确保私钥的安全性
证书,本质上是一串数字。是一种用于验证网络实体身份和确保信息安全传输的电子文件。它包含证书所有者的公钥、私钥、证书所有者的身份信息和数字签名等信息。数字证书由权威的证书颁发机构(CA)签发
为什么必须用ukey?不是所有的场景都必须使用ukey,但在金融行业里,ukey是必不可少的。因为ukey主要有两个作用:1、KYC,身份认证,我们系统需要知道 “你是你”,那谁来证明?ukey可以证明。尤其是银行颁发的ukey,都要客户去现场面签后才能发放,所以银行ukye具有高度的可信度。我们利用银行面签的可信度,来识别 “你是你”2、合规或安全,为了能够进一步确保客户的交易安全,增加外部控制手段3、可追溯、防抵赖,ukey中的证书私钥是唯一的,该证书与证书持有者的信息是进行绑定的。所以当客户通过ukey进行数据或文件加签后,这笔数据或文件就打上了客户身份的烙印,无法去除
依赖驱动程序,即能够管理和控制、使用这个ukey的东西。比如,显卡也有对应的显卡驱动
依赖对接技术和协议,Microsoft提供了包括加密算法、加密服务提供成熟(CSP)和加密API等通用能力,基于这些通用能力,应用可进行数据加密、认证等场景处理
CSP是Microsoft提供的一种软件组件,用于封装加密硬件或软件,并提供一致的接口供应用程序使用。Ukey可以通过自定义CSP与Windows系统集成,以便在应用程序中使用Ukey进行加密和解密操作。
基上所述,ukey与windows有强关联关系,所以在mac或其他非微软原生浏览器下,支持并不好
使用环境
使用场景
融通key和商银key是一回事么?是,底层都是CFCA,我们在RA系统中定义了两个证书颁发机构 融通、商银 (其实就是两个代理商,ukey、证书等完全一样)
银行
非银行
颁发机构类型
CFCA
自建CA体系
强封装了某CA机构内容,对原生能力进行覆盖或阉割
非CFCA
我们经常使用的类型和区别?
建行ukey与融通ukey
我们系统支持哪些ukey
Ukey(硬key)
软证书使用有什么前置条件
什么情况下能够使用客户的软证书加签
软证书签章怎么实现的
单笔和批量场景
企业、平台、合作平台各渠道的章有什么区别
证书(软key)
ukey、证书
主要处理环节
整体使用概述
从前端到后端的整体流程
基本原理
系统实现
签名、验签的原理
企业端、出海在ukey使用上是否有区别
插入ukey之后你前后端的交互逻辑以及加密还有软证书的调用
ukey在系统中的使用,登陆、融资场景的区别
使用流程
系统作业
加解密与ukey
0 条评论
回复 删除
下一页