第六章数字签名算法 内容提要 61数字签字概述 ●62基于公钥加密的签名RSA数字签名体制 63基于离散对数的数字签名 64基于大数分解的数字签名 65基于身份的数字签名 ≥66特殊用途的签名 ≥67数字签名标准 历忠毛孑技*字
内容提要 6.1 数字签字概述 6.2 基于公钥加密的签名-RSA数字签名体制 6.3 基于离散对数的数字签名 6.4 基于大数分解的数字签名 6.5 基于身份的数字签名 6.6 特殊用途的签名 6.7 数字签名标准 2/ 第六章 数字签名算法
第六章数字签名算法:6.1数字签名概述 611数字签名的基本概念 ●签名是证明当事人身份和数据真实性的一种信息,具有法 律意义 数字签名由公钥密码发展而来,它在网络安全方面具有重 要的应用,包括 ●身份认证、数据完整性、数据源认证、不可否认性等 在网络应用当中,在收发双方未建立起完全的信任关系且存在利 害冲突的情况下,通信双方存在互相欺骗和伪造的可能,单纯的 消息认证就显得不够。 因为消息认证码等技术收方双方共享密钥,无法解决这一问题, 需要数字签名技术来解决 抗抵赖业务中,有数据源发证明的抗抵赖和有交付证明的抗抵赖 的实现都需要数字签名技术 历忠毛孑技*字
6.1.1 数字签名的基本概念 签名是证明当事人身份和数据真实性的一种信息,具有法 律意义 数字签名由公钥密码发展而来,它在网络安全方面具有重 要的应用,包括 ⚫ 身份认证、数据完整性、数据源认证、不可否认性等 ⚫ 在网络应用当中,在收发双方未建立起完全的信任关系且存在利 害冲突的情况下,通信双方存在互相欺骗和伪造的可能,单纯的 消息认证就显得不够。 ⚫ 因为消息认证码等技术收方双方共享密钥,无法解决这一问题, 需要数字签名技术来解决 ⚫ 抗抵赖业务中,有数据源发证明的抗抵赖和有交付证明的抗抵赖 的实现都需要数字签名技术 3/ 第六章 数字签名算法:6.1 数字签名概述
第六章数字签名算法:6.1数字签名概述 611数字签名的基本概念 类似于手书签名,数字签名应具有以下性质: ①能够验证签名产生者的身份,以及产生签名的日期 和时间 ②能用于证实被签消息的内容,其它人无法伪造 ③数字签名可由第三方验证,从而能够解决通信双方 的争议 由此可见,数字签名具有认证功能 历忠毛孑技*字
6.1.1 数字签名的基本概念 类似于手书签名,数字签名应具有以下性质: ⚫ ① 能够验证签名产生者的身份,以及产生签名的日期 和时间 ⚫ ② 能用于证实被签消息的内容,其它人无法伪造 ⚫ ③ 数字签名可由第三方验证,从而能够解决通信双方 的争议 ⚫ 由此可见,数字签名具有认证功能 4/ 第六章 数字签名算法:6.1 数字签名概述
第六章数字签名算法:6.1数字签名概述 611数字签名的基本概念 为实现上述3条性质,数字签名应满足以下要求: ①签名的产生必须使用发方独有的一些信息以防伪造和否认 ②签名的产生应较为容易,在多项式时间内完成 ③签名的识别和验证应较为容易,在多项式时间内完成 ④对已知的数字签名构造一新的消息或对已知的消息构造一 假冒的数字签名在计算上都是不可行的 数字签名有很多种类 普通数字签名:用于消息的认证和不可否认 特殊目的签名:盲签名、群签名、环签名、代理签名、签密、 属性签名等等 历忠毛孑技*字
6.1.1 数字签名的基本概念 为实现上述3条性质,数字签名应满足以下要求: ⚫ ① 签名的产生必须使用发方独有的一些信息以防伪造和否认 ⚫ ② 签名的产生应较为容易,在多项式时间内完成 ⚫ ③ 签名的识别和验证应较为容易,在多项式时间内完成 ⚫ ④ 对已知的数字签名构造一新的消息或对已知的消息构造一 假冒的数字签名在计算上都是不可行的 数字签名有很多种类 ⚫ 普通数字签名:用于消息的认证和不可否认 ⚫ 特殊目的签名:盲签名、群签名、环签名、代理签名、签密、 属性签名等等 5/ 第六章 数字签名算法:6.1 数字签名概述
第六章数字签名算法:6.1数字签名概述 612数字签名的产生方式 ●数字签名的产生可用加密算法或特定的签名算法 1.由加密算法产生数字签名 是指将消息或消息的摘要加密后的密文作为对该消息的数字签名 其用法又根据是单钥加密还是公钥加密而有所不同 (1)单钥加密,不具备抗抵赖功能 如图:基于共享密钥加解密,密文即为签名 如果加密的是消息摘要或有消息冗余,则可提供消息源认证和完 整性认证 发送方 一一接收方 EKM (a)单钥加密:保密性和认证性 历忠毛孑技*字
6.1.2 数字签名的产生方式 数字签名的产生可用加密算法或特定的签名算法 1. 由加密算法产生数字签名 ⚫ 是指将消息或消息的摘要加密后的密文作为对该消息的数字签名 ⚫ 其用法又根据是单钥加密还是公钥加密而有所不同 (1) 单钥加密,不具备抗抵赖功能 ⚫ 如图:基于共享密钥加解密,密文即为签名 ⚫ 如果加密的是消息摘要或有消息冗余,则可提供消息源认证和完 整性认证 6/ 第六章 数字签名算法:6.1 数字签名概述
第六章数字签名算法:6.1数字签名概述 612数字签名的产生方式 ●(2)公钥加密 发送方A使用自己的秘密钥SKA对消息M加密后的密文作为对M的 数字签名, B使用A的公开钥PKA对消息解密,由于只有A才拥有加密密钥SKA, 因此可使B相信自己收到的消息的确来自A。 然而由于任何人都可使用A的公开钥解密密文,所以这种方案不提 供保密性 加密的消息应该是消息摘要或有消息冗余 为提供保密性,A可用B的公开钥再一次加密,如图1(c所示 SKA ESK, (M PKA (b)公钥加密:认证性和签字 M (E) M ESK, (M EpKRLESK(MI EsK,(M SK PK SKB PKA (c)公钥加密:保密性、认证性和签字
6.1.2 数字签名的产生方式 (2) 公钥加密 ⚫ 发送方A使用自己的秘密钥SKA对消息M加密后的密文作为对M的 数字签名, ⚫ B使用A的公开钥PKA对消息解密,由于只有A才拥有加密密钥SKA, 因此可使B相信自己收到的消息的确来自A。 ⚫ 然而由于任何人都可使用A的公开钥解密密文,所以这种方案不提 供保密性 ⚫ 加密的消息应该是消息摘要或有消息冗余 ⚫ 为提供保密性,A可用B的公开钥再一次加密,如图1(c)所示 7/ 第六章 数字签名算法:6.1 数字签名概述
第六章数字签名算法:6.1数字签名概述 612数字签名的产生方式 ●由加密算法产生数字签名在实现上一般采用外部保密方式, 即先签名后加密,反之则称为内部保密方式 外部保密方式便于解决争议,因为第3方在处理争议时, 需得到明文消息及其签名 先签名后加密,可防止签名替换攻击 有时签名消息中还要包含收方的身份 ●这样可以抵抗假冒攻击,比如消息收方B获得发方A 对消息的签名后,再用用户c的公钥加密并发给C, 而谎称是A发给c的 历忠毛孑技*字
6.1.2 数字签名的产生方式 由加密算法产生数字签名在实现上一般采用外部保密方式, 即先签名后加密,反之则称为内部保密方式 ⚫ 外部保密方式便于解决争议,因为第3方在处理争议时, 需得到明文消息及其签名 ⚫ 先签名后加密,可防止签名替换攻击 ⚫ 有时签名消息中还要包含收方的身份 ⚫ 这样可以抵抗假冒攻击,比如消息收方B获得发方A 对消息的签名后,再用用户C的公钥加密并发给C, 而谎称是A发给C的 8/ 第六章 数字签名算法:6.1 数字签名概述
第六章数字签名算法:6.1数字签名概述 612数字签名的产生方式 2.由签名算法产生数字签名 签名算法的输入是明文消息M和密钥x, 输出是对M的数字签名,表示为S=Sig:M 相应于签名算法,有一验证算法,表示为Ver(S,M,其 取值为 ure Vers, M) False s≠Sgx(M) 算法的安全性在于从M和S难以推出密钥x或伪造一个消 息M,使M和S可被验证为真。 历忠毛孑技*字
6.1.2 数字签名的产生方式 2. 由签名算法产生数字签名 ⚫ 签名算法的输入是明文消息M和密钥x, ⚫ 输出是对M的数字签名,表示为S=Sigx (M) ⚫ 相应于签名算法,有一验证算法,表示为Ver(S,M),其 取值为 ⚫ Ver(S,M)= ⚫ 算法的安全性在于从M和S难以推出密钥x或伪造一个消 息M ,使M和S可被验证为真。 9/ 第六章 数字签名算法:6.1 数字签名概述 = ( ) ( ) False S Sig M Ture S Sig M x x
第六章数字签名算法:6.1数字签名概述 613数字签名的执行方式 数字签名的执行方式有两类:直接方式和具有仲裁的方式 ≥1.直接方式(缺少监督的方式) 直接方式是指数字签名的执行过程只有通信双方参与,并假定双方 有共享的秘密钥或接收一方知道发方的公钥 直接方式的数字签名有一公共弱点,即方案的有效性取决于发方秘 密钥的安全性 发方可以声称自己秘密钥被窃取,而否认发过的消息 可在消息中增加时间戳,并在丢失时向管理机构报告 发方也有秘密钥真的被偷的危险,这时敌手可伪造一消息,用偷 得的秘密钥为其签名并加上任意合理的时刻作为时戳 历忠毛孑技*字 10
6.1.3 数字签名的执行方式 数字签名的执行方式有两类: 直接方式和具有仲裁的方式 1. 直接方式(缺少监督的方式) ⚫ 直接方式是指数字签名的执行过程只有通信双方参与,并假定双方 有共享的秘密钥或接收一方知道发方的公钥 ⚫ 直接方式的数字签名有一公共弱点,即方案的有效性取决于发方秘 密钥的安全性 ⚫ 发方可以声称自己秘密钥被窃取,而否认发过的消息 ▪ 可在消息中增加时间戳,并在丢失时向管理机构报告 ⚫ 发方也有秘密钥真的被偷的危险,这时敌手可伪造一消息,用偷 得的秘密钥为其签名并加上任意合理的时刻作为时戳 10/ 第六章 数字签名算法:6.1 数字签名概述
第六章数字签名算法:6.1数字签名概述 613数字签名的执行方式 2.具有仲裁方式的数字签名 可解决直接方式的缺陷 具有仲裁方式的数字签名也有很多实现方案,这些方案 都按以下方式运行: ①发方X对发往收方Y的消息签名后,将消息及其签名先发 给仲裁者A ②A对消息及其签名验证完后,再连同一个表示已通过验 证的指令一起发往收方Y ●此时由于A的存在,X无法对自己发出的消息予以否认。在 这种方式中,仲裁者起着重要的作用,并应取得所有用户 的信任 历忠毛孑技*字
6.1.3 数字签名的执行方式 2. 具有仲裁方式的数字签名 ⚫ 可解决直接方式的缺陷 ⚫ 具有仲裁方式的数字签名也有很多实现方案,这些方案 都按以下方式运行: ⚫ ①发方X对发往收方Y的消息签名后,将消息及其签名先发 给仲裁者A ⚫ ②A对消息及其签名验证完后,再连同一个表示已通过验 证的指令一起发往收方Y ⚫ 此时由于A的存在,X无法对自己发出的消息予以否认。在 这种方式中,仲裁者起着重要的作用,并应取得所有用户 的信任 11/ 第六章 数字签名算法:6.1 数字签名概述