密码学及PKI体系基础知识

密码学及PKI体系基础知识 阿帅 2023-12-11 16:14:51 236

文章目录

相关概念

公钥基础结构 (PKI)

通常用于描述规范或管理证书和公,私钥的法律,政策,标准和软件的术语。在实践中,它是检验和验证与电子事务相关的每一方的数字证书,证书认证和其他注册颁发机构的系统。公钥基础结构也被称为PKI.

证书颁发机构 (CA)

负责建立并保证属于用户(最终实体)或其他证书颁发机构的公钥的真实性的实体。证书颁发机构的活动可能包括通过所签署的证书将公钥绑定到特征名称上,以及管理证书序号和证书吊销。证书颁发机构也被称为CA。

证书

公钥证书,通常简称为证书,是一种数字签名的声明,它将公钥值与拥有对应私钥的个人、设备或服务的身份绑定到一起。用于对在不安全网络(如Internet)上的信息进行身份验证和安全交换的数据集。证书将公钥安全地棒定到持有相应私钥的实体中。证书由颁发证书的机构进行数字签名,并且可被管理以便用于用户,计算机或服务。 被最广泛接受的证书格式由ITU-TX509国际标准定义。

智能卡

信用卡大小的设备,用于安全地存储公钥和私钥,密码以及其他类型的个人信息。要使用智能卡,需要有连接到计算机的智能卡阅读器和智能卡的个人PIN号码。

CryptoAPI

作为Microsoft Windows的一部分提供的应用程序编程接口(API)。CrytpAPI提供了一组函数,这些函数允许应用程序在对用户的敏感私钥数据提供保护时以灵活的方式对数据进行加密或数字签名。实际的加密操作由加密服务提供程序(CSP)的独立模块执行。CrytpAPI也被称为CAPI。

数字签名

数字签名是一种确保数据完整性和原始性的方法。由于数据被签名并确认了对数据签名的人或实体的身份,因此数字签名提供有力的证据。数字签名启用“完整性”和“认可”这两项重要安全功能,这是实施安全电子商务的基本要求。

对称加密算法与非对称加密算法

基于密钥的加密算法可以分为两大类:对称加密算法和非对称加密算法(也叫公钥算法)。

对称加密算法

对称密钥算法就是用加密数据使用的密钥可以计算出用于解密数据的密钥,反之亦然。
绝大多数的对称加密算法加密密钥和解密密钥都是相同的。
对称加密算法要求通讯双方在建立安全信道之前,约定好所使用的密钥。对于好的对称加密算法,其安全性完全决定于密钥的安全,算法本身是可以公开的,因此一旦密钥泄漏就等于泄漏了被加密的信息。

对称算法是传统常用的算法。它最广泛使用的是DES算法。
DES(Data Encryption Standard) 算法是一种常规密码体制的密码算法,该算法输入的是64比特的明文,在64比特密钥的控制下产生64比特的密文;反之输入64比特的密文,输出64比特的明文。64比特的密钥中含有8个比特的奇偶校验位,所以实际有效密钥长度为56比特。随着研究的发展,DES算法在基本不改变加密强度的条件下,发展了许多变形DES。Triple-DES 是DES算法扩展其密钥长度的一种方法,可使加密密钥长度扩展到128比特(112比特有效)或192比特(168比特有效)。其基本原理是将128比特的密钥分为64比特的两组,对明文多次进行普通的DES加解密操作,从而增强加密强度。具体实现方式不在此详细描述。

对称算法最主要的问题是:由于加解密双方都要使用相同的密钥,因此在发送、接收数据之前,必须完成密钥的分发。因而,密钥的分发便成了该加密体系中的最薄弱因而风险最大的环节。各种基本的手段均很难保障安全地完成此项工作。从而,使密钥更新的周期加长,给他人破译密钥提供了机会。实际上这与传统的保密方法差别不大。在对称算法中,尽管由于密钥强度增强,跟踪找出规律破获密钥的机会大大减小了,但密钥分发的困难问题几乎无法解决。如,设有n方参与通信,若 n 方都采用同一个对称密钥,一旦密钥被破解,整个体系就会崩溃;若采用不同的对称密钥则需 n(n-1) 个密钥,密钥数与参与通信人数的平方数成正比。这便使大系统密钥的管理几乎成为不可能。

非对称加密算法

所谓非对称加密算法是指用于加密的密钥与用于解密的密钥是不同的,而且从加密的密钥无法推导出解密的密钥。这类算法之所以被称为公钥算法是因为用于加密的密钥是可以广泛公开的,任何人都可以得到加密密钥并用来加密信息,但是只有拥有对应解密密钥的人才能将信息解密。
在公钥体制中,加密密钥不同于解密密钥,将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。它们分别称为PK公开密钥 (Public key) 和SK秘密密钥 (Secret key)。
迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最广泛的一种。RSA公开密钥密码系统是由R. Rivest、A. Shamir和L. Adleman三位教授于1977年提出的。RSA的取名就是来自于这三位发明者的姓的第一个字母。
RSA算法对数据的加/解密的过程如图所示。
收方B的秘密密钥(私钥)SKB由B自己保存,其相应的公开密钥(公钥)PKB可经公开信道送给发方A等通信伙伴。
RSA算法研制的最初理念与目标是旨在解决利用公开信道传输分发DES算法的秘密密钥的难题。而实际结果不但很好地解决了这个难题,还可利用RSA来完成对电文的数字签名,以防止对电文的否认与抵赖,同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。

公钥基础结构

公钥基础结构 (PKI)是由数字证书、证书颁发机构 (CA) 以及核实和验证通过公钥加密方法进行电子交易的每一方的合法性的其他注册颁发机构所构成的系统。
目前作为电子商务必要组成部分的公钥基础结构 (PKI) 已被广泛应用
PKI是通过使用公开密钥技术和数字证书来确保系统信息安全并负责验证数字证书持有者身份的一种体系。例如,某企业可以建立公钥基础设施(PKI)体系来控制对其计算机网络的访问。在将来,企业还可以通过公钥基础设施(PKI)系统来完成对进入企业大门和建筑物的提货系统的访问控制。
PKI让个人或企业安全地从事其商业行为。企业员工可以在互联网上安全地发送电子邮件而不必担心其发送的信息被非法的第三方(竞争对手等)截获。企业可以建立其内部Web站点,只对其信任的客户发送信息。
PKI采用各参与方都信任一个同一CA(认证中心),由该CA来核对和验证各参与方身份的身份这种信任机制。例如,许多个人和企业都信任合法的驾驶证或护照。
通过公钥基础设施(PKI),交易双方(可能是在线银行与其客户或者是雇主与其雇员)共同信任签发其数字证书的认证中心(CA)。典型的是采用数字证书的应用软件和CA信任的机制。例如,有相同客户端浏览器中根证书列表中包含了它所信任CA的根证书,当浏览器需要验证一个数字证书的合法性(假如说要进行在线安全交易)的时候,此浏览器首先从其根证书列表中查找签发该数字证书的认证中心根证书,如果该认证中心根证书存在于浏览器的根证书列表中并验证通过后,浏览器承认此站点的具有合法身份并显示此站点的网页。如果该认证中心根证书不在信任CA根证书列表中,浏览器会显示警告信息并询问是否要信任这个新的认证中心。通常地,浏览器会弹出提供永久的信任、临时的信任或不相信该认证中心的选项对话框给客户选择,因为作为客户来说,他们有权选择信任哪些认证中心,而信任的处理工作通过应用软件来完成(在这个例子中是通过浏览器完成的)。”公开密钥基础设施”PKI(Public Key Infrastructure)是国际上目前较为成熟的解决开放式互联网络信息安全需求的一套体系,而且还在发展之中。
PKI体系支持:
身份认证
信息传输、存储的完整性
信息传输、存储的机密性
操作的不可否认性
“基础设施”的目的就是:只要遵循必要的原则,不同的实体就可以方便地使用基础设施提供的服务。
PKI公开密钥基础设施就是为整个组织(”组织”适可以被定义的)提供安全的基本框架,可以被组织中任何需要安全的应用和对象使用。安全设施的”接入点”是统一的,便于使用(就像是TCP/IP栈和墙上的电源插座一样)。
PKI这个具有普适性的安全基础设施适用与多种环境的框架。这个框架避免了零碎的、点对点的,特别是没有互操作性的解决犯案,引入了可管理的机制以及跨越多个应用和计算平台的一致安全性。 PKI公开密钥基础设施设施可以实现”应用支撑”的功能。对于”应用支撑”举一个例子来讲,电力系统就是一个应用支撑,它可以让”应用”,如烤炉、电灯正常工作。进一步将,电力基础设施具有通用性和实用性的特点,它能支持新的”应用”(如吹风机),而这些”应用”在电力基础设施设计的时候还没有出现。PKI公开密钥基础设施具有同样的特性。(与PKI安全基础设施对应的应用是指需要安全服务而使用安全基础设施的模块,例如Web浏览器、电子邮件客户端程序、IPSec支撑的设备等等)

证书颁发机构(CA)

证书颁发机构 (CA) 是受委托向个人、计算机或单位颁发证书的机构,它确认属于其他机构的证书的身份及其他属性。CA 接受证书申请,根据 CA 的策略验证申请者的信息,然后使用其私钥将其数字签名应用于证书。然后 CA 将证书颁发给证书的受领人,用作公钥基础结构 (PKI) 内的安全凭证。CA 还负责吊销证书并发布证书吊销列表 (CRL)。
CA 可以是远程的第三方机构,如 VeriSign,也可以是您通过安装 Windows 2000 证书服务而创建的由您的单位使用的 CA。每个 CA 都要求证书申请者有明确的身份证明,如 Windows 2000 域帐户、员工的工作证、驾驶员执照、已确认的申请或物理地址。与此类似的身份检查通常可担保现场 CA,以便单位能够验证其员工或成员的合法身份。
每个 CA 都还有确认自己身份的证书,或者由另一个被信任的 CA 颁发,或者如果是根 CA,则由自己颁发。记住,任何人都可以创建 CA。但实际需要考虑的问题是,作为用户或管理员,您是否信任该 CA,以及该 CA 所拥有的策略和过程是否适合于确认由该 CA 颁发其证书的机构的身份。

证书

证书主要是证明证书持有人的身份颁发机构所颁发的数字声明。证书将公钥与拥有相应私钥的个人、计算机或服务绑在一起。

证书信息

  • 主题标识符信息(如名称和电子邮件地址)
  • 有效期(证书的有效时间)
  • 颁发者标识符信息
  • 颁发者的数字签名,它用来证实主题公钥和主题标识符信息之间绑定关系的有效性

生成加密密钥和证书申请

当您生成新证书申请时,请求中的信息将首先从申请程序传送到 Microsoft 加密应用程序接口,称为 CryptoAPI。CryptoAPI 将正确的数据传递到安装在计算机或计算机可以访问的设备上的称为加密服务提供程序 (CSP) 的程序。如果 CSP 是基于软件的,它将在计算机上生成密钥对:公钥和私钥。如果 CSP 是基于硬件的,例如智能卡 CSP,它将指导硬件生成密钥对。
生成密钥后,软件 CSP 加密并在计算机的注册表中保护私钥智能卡 CSP 将私钥存储在智能卡上,智能卡控制对私钥的访问。公钥连同证书申请者信息被发送到证书颁发机构 (CA)。在 CA 根据其策略验证证书请求后,它将使用自己的私钥在证书中创建数字签名,然后将其颁发给申请者。于是证书申请者将获得来自 CA 的证书,并可以决定将证书安装在相应的计算机或是硬件设备的证书存储区中。

证书的安全机制

证书对许多安全服务都很有用。证书可以用于下列用途:

  • 身份验证。验证某人或某物的身份。
  • 隐私。确保只有特定用户才可使用信息。
  • 加密。掩盖信息,使未授权的用户不能将其解密。
  • 数字签名。认可信息并保证信息的完整性。

    身份验证

    身份验证:用户必须在与另一方通讯时有能力证实双方的身份。网络上的身份验证很复杂,因为通讯各方在通讯时实际上没有接触。这会为不法分子截获消息或冒充另一个人或实体提供了可乘之机。
    数字证书是提供身份验证的常用保密措施。证书使用加密技术解决物理上缺乏联系的通讯问题。使用这些技术限制不法分子截获、篡改或伪造消息的可能性。这些加密技术使证书难以修改。
    证书中的数据包括来自证书主题的公钥和私钥对的公用加密密钥。对于带有发送方私钥签名的消息,消息接收方可以使用发送方公钥确认其真实性。公钥可以在发送方证书的副本上找到。使用证书公钥验证签名可以证实签名是使用证书主题私钥创建的。如果发送方小心并保持私钥机密性,接收方就可以确信消息发送方的身份。

    隐私

    网络(例如,Internet)上的通讯容易受到未知的,可能还是有恶意的用户的监视。公用网络对于未加密的敏感信息来说是危险的,因为任何人都可以访问网络并且对在两点间传输的数据进行分析。即便专用局域网 (LAN) 也容易被有意图的入侵者从物理上进入网络。因此,如果在任何类型的网络上的计算设备间传输敏感信息,用户几乎肯定会使用一些加密方法来保证数据的隐秘性。

    加密

    可以将加密看作是把某些贵重的东西锁到一个有钥匙的保险箱中。相反,解密可以理解为打开保险箱,取出贵重的物品。在计算机上,以电子邮件形式存在的敏感数据、磁盘上的文件和网络上传输的文件都可以使用密钥加密。加密的数据和加密数据的密钥都是很难破解的。
    通常,公钥加密不用于加密大量数据。但是,公钥加密确实提供了有效的方法:向某些用户发送密钥,当大量数据执行了对称加密操作时,这些用户可以使用密钥。
    举一个例子,假设 Bob 要向 Alice 发送大量加密文件。由于操作原因,他将使用对称密钥算法加密数据,例如数据加密标准 (DES)。为了发送加密的数据和安全加密数据所需的 DES 密钥,Bob 将用从 Alice 的证书处获得的公钥加密密钥。因为她的公钥被用来加密密钥,具有私钥的 Alice 就是唯一能够解密 DES 密钥从而解密 DES 加密数据的人。
    数字签名
    数字签名是一种确保数据完整性和原始性的方法。由于数据被签名并确认了对数据签名的人或实体的身份,因此数字签名提供有力的证据。数字签名启用“完整性”和“认可”这两项重要安全功能,这是实施安全电子商务的基本要求。
    当数据以明文或未加密形式分发时,通常使用数字签名。因为在分布式计算环境中,网络上的任何人使用适当的访问都可能读取或改变明文文本而无论是否授权,在这些情况下,当消息本身的敏感度不能保证加密时,将强制数字签名以确保数据保持原始形式并且没有被冒名者发送。

数字签名

数字签名是一种确保数据完整性和原始性的方法。由于数据被签名并确认了对数据签名的人或实体的身份,因此数字签名提供有力的证据。数字签名启用“完整性”和“认可”这两项重要安全功能,这是实施安全电子商务的基本要求。
当数据以明文或未加密形式分发时,通常使用数字签名。因为在分布式计算环境中,网络上的任何人使用适当的访问都可能读取或改变明文文本而无论是否授权,在这些情况下,当消息本身的敏感度不能保证加密时,将强制数字签名以确保数据保持原始形式并且没有被冒名者发送。

智能卡

智能卡内部嵌入有计算机芯片。智能卡含有一个小的计算机,RAM,ROM,EPROM或EEPROM。智能卡有它自己的操作系统,程序和数据。
智能卡中可以有不同的机密算法协议和算法程序。他们可能被配置成一种电子钱包,可以花费和接受数字现金。他们可以执行领知识签别协议,并且可以有自己的加密密钥。他们可以对文件签名或者解锁计算机中的一些应用。
某些智能卡被设置成是防篡改的,这样可以保护发卡机关。银行不希望用户攻击他们的智能卡来获得更多的钱。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
阿帅
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
阿帅
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区