• 数字签名算法类别及用途


    0x01 数字签名算法的类别

    数字签名(digital signature)是一种电子签名,也可以表示为一种数学算法,通常用于验证消息(例如,电子邮件、信用卡交易或数字文档)的真实性和完整性。

    在“数字签名论述及生成与优点分析”终将输了数字签名算法的生成及数字签名算法的优点,这节讲一下数字签名算法的分类及用途。

    存在三种不同类别的数字签名证书 (DSC):

    • 第一类:不能用于合法的商业文件,因为它们仅根据电子邮件 ID 和用户名进行验证。
      签名提供基本级别的安全性,用于数据泄露风险较低的环境。
    • 第二类:通常用于税务文件的电子归档 ( e-filing ),包括所得税申报表和商品及服务税 (GST) 申报表。
      数字签名根据预先验证的数据库验证签名者的身份。
    • 第三类:最高级别的数字签名,签名要求个人或组织在签名前出现在认证机构面前以证明其身份。
      用于电子拍卖、电子招标、电子票务、法庭文件以及其他对数据的威胁或安全故障后果较高的环境。

    0x02 数字签名用途

    使用数字签名的行业包括:

    • 政府:全球政府出于多种原因使用数字签名,包括处理纳税申报表、验证企业对政府 (B2G) 交易、批准法律和管理合同。

    大多数政府实体在使用数字签名时必须遵守严格的法律、法规和标准。许多政府和公司也使用智能卡来识别其公民和雇员。这些是带有数字签名的实体卡,可用于让持卡人访问机构的系统或实体建筑物。

    • 卫生保健:用于医疗行业,数字签名可以提高治疗和管理流程的效率,加强数据安全。在医疗保健中使用数字签名必须符合 1996 年的《健康保险流通与责任法案》(HIPAA)。

    • 制造业:制造业企业使用数字签名来加快流程,包括产品设计、质量保证 (QA)、制造改进、营销和销售。

    制造中数字签名的使用受国际标准化组织 (ISO) 和美国国家标准与技术研究院 (NIST) 数字制造证书 (DMC) 的约束。

    • 金融服务:美国金融部门将数字签名用于合同、无纸化银行业务、贷款处理、保险文件、抵押贷款等。
    • 加密货币:数字签名也用于比特币和其他加密货币来验证区块链,它们还用于管理与加密货币相关的交易数据,并作为用户显示货币所有权或他们参与交易的一种方式。

    0x03 数字签名细节

    数字签名可以为信息的传输提供安全性,减少了传输公钥带来的潜在安全问题。当签名者对文档进行电子签名时,签名是使用签名者的私钥进行的,数学算法像密码一样工作,生成与签名文档匹配的哈希数据并对其进行加密。

    数字签名不能与电子签名对等,因为电子签名是表示接受协议或记录的任何电子过程的广义术语。
    数字签名是指使用数字证书生成并使用公钥基础设施 (PKI) 加密绑定到文档的更安全的电子签名。

    数字签名算法中用的术语

    • 散列函数:
      Hash算法可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系。Hash算法还具有一个特点,就是很难找到逆向规律。任意大小的文件,输出为固定长度的数字或字符串。

    • 公钥加密
      公钥加密技术也称为非对称加密,是一种使用密钥对系统加密的方法。一个称为公钥的密钥对数据进行加密。另一个密钥称为私钥,用于解密数据。
      公钥密码学可以使用多种方式来确保机密性、完整性和真实性。通过这样做,对消息的一点更改,都会重新生成差异很大的哈希值。
      通过使用收件人的公钥加密整个消息来确保机密性。这意味着只有拥有相应私钥的接收者才能阅读该消息。

    • 公钥基础设施 (PKI)
      PKI 由政策、标准、人员和系统组成,这些政策、标准、人员和系统支持公钥分发以及具有数字证书和证书颁发机构的个人或实体的身份验证。

     

    • 证书颁发机构 (CA)
      CA 是受信任的第三方,它验证一个人的身份,并代表他们生成一个公钥/私钥对,或者将该人提供的现有公钥与该人相关联。一旦 CA 验证了某人的身份,他们就会颁发由 CA 进行数字签名的数字证书。

    • 数字证书
      数字证书包含个人或组织的公钥,并由 CA 进行数字签名,有关组织、个人和 CA 的其他信息也可以包含在证书中。

    References:
    https://informerguru.com/concept-of-digital-signature/
    cisa.gov/uscert/ncas/tips/ST04-018
    https://en.wikipedia.org/
  • 相关阅读:
    正则表达式的一些高级用法
    23种设计模式之建造者模式
    开启AI绘画新纪元:让创意在指尖绽放
    乐高式扩展:在Seal软件供应链防火墙中轻松集成代码规范工具
    前后台同一个端口部署项目
    解决:Loading class `com.mysql.jdbc.Driver‘. This is deprecated.
    Visual Studio Code (VSCode) 提高开发效率
    Java代码基础算法练习-判断学生成绩等级-2024.06.28
    java通过kerberos认证并通过GSS-API获取kerberos服务票证
    项目沟通和干系人管理
  • 原文地址:https://blog.csdn.net/weixin_43211186/article/details/125421371