首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CA数字签名由来

CA数字签名由来 上一次内容我们介绍了TLS加密原理,为什么要加密通信呢?是因为我们不希望我们个人信息被明文传播,任何一个人只要截断我们物理线路或者入侵到我们网络中,就能获取所有的信息。...这就要引入CA数字签名了。 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 ? 鲍勃把公钥送给他朋友们----帕蒂、道格、苏珊----每人一把。 ?...然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 ? 鲍勃将这个签名,附在信件下面,一起发给苏珊。 ? 苏珊收信后,取下数字签名,用鲍勃公钥解密,得到信件摘要。...以后再给苏珊写信,只要在签名同时,再附上数字证书就行了。 ? 苏珊收信后,用CA公钥解开数字证书,就可以拿到鲍勃真实公钥了,然后就能证明"数字签名"是否真的是鲍勃签。 ?...认证加密后公钥,即是证书,又称为CA证书,证书中包含了很多信息,最重要是申请者公钥。 CA机构在给公钥加密时,用是一个统一密钥对,在加密公钥时,用是其中私钥。

1.4K10

什么是数字签名?-- 【图解数字签名

它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。...这里要强调是,只要鲍勃私钥不泄露,这封信就是安全,即使落在别人手里,也无法解密。 5、 ? 鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件摘要(digest)。...苏珊收信后,取下数字签名,用鲍勃公钥解密,得到信件摘要。由此证明,这封信确实是鲍勃发出。 9、 ? 苏珊再对信件本身使用Hash函数,将得到结果,与上一步得到摘要进行对比。...因此,道格就可以冒充鲍勃,用自己私钥做成"数字签名",写信给苏珊,让苏珊用假鲍勃公钥进行解密。 11、 ? 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...以后再给苏珊写信,只要在签名同时,再附上数字证书就行了。 13、 ? 苏珊收信后,用CA公钥解开数字证书,就可以拿到鲍勃真实公钥了,然后就能证明"数字签名"是否真的是鲍勃签

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【计算机网络】网络安全 : 数字签名 ( 数字签名简介 | 数字签名实现 | 数字签名功能 | 保密数字签名 )

    文章目录 一、数字签名简介 二、基于公钥数字签名实现 三、数字签名 功能 四、保密数字签名 一、数字签名简介 ---- 数字签名 : 证明 数据 或 身份 真实性 ; 需要有以下功能 : ① 报文鉴别...防止 接收者 伪造 发送者 签名 ; 二、基于公钥数字签名实现 ---- 数字签名实现方式 : 数字签名算法很多 , 公钥算法 是最简单算法 , 即 发送者 使用 私钥加密数据 , 接收者 使用...对应公钥 解密数据 ; ( 接收者 持有着大量公钥 ) 三、数字签名 功能 ---- 数字签名 功能 : 以 发送者 使用 私钥 加密密文 , 接收者 使用 公钥 解密密文 为例 ; ① 报文鉴别...: 接收者 伪造了 密文 , 如果 接收者 将 伪造 密文 , 公钥 , 明文 , 提供给第三方 , 使用 公钥 , 无法将密文解密成明文 , 证明该签名是伪造 ; 四、保密数字签名 ---- 数字签名弊端...: ① 数据窃取 : A 公钥可能有很多人持有 , 如果一个持有 A 公钥一方截获了上述签名数据 , 就会被窃取数据 ; ② 解决方案 签名 + 公钥加密 : 在 A 数字签名基础上

    1.4K00

    数字签名

    概述 还记得之前在介绍HTTPS时候提到过数字签名吗? 忘了?? 来, 复习一下....这么神奇么? 让我不得不想着看看它到底是个什么东东... 简单看了看之后发现, 数学果然是个神奇东西. 让我们尝试还原数字签名发展. 人工签名时代 提到了签名, 首先想到就是每个人签名了....而每个人锁只有自己能锁上, 说明箱子里欠条必然是小王放进去. 数字化时代 终于来到了数字化时代. 也要引出数字签名了, 数字签名和上面上锁思路基本一致....这个钟大小实际上选是一个很大数字, 要比传递信息大....对于一个较大文件, 做签名是不现实, 因为几十 mb 文件, 其二进制表示数字大到离谱, 所以一般会通过 hash 函数将其转换到信息息摘要, 然后对信息摘要做数字签名.

    77450

    数字签名

    我们需要数字签名 之前文章我们讲了MAC(Message Authentication Code)消息认证码,MAC是认证消息完整性技术。...在数字签名过程中,消息发送者A和消息接受者B使用不同密钥来进行签名和验证。这里使用不同密钥就是公钥和私钥。...数字签名其实就是公钥密码反向应用,下面我们看看两种不同: 名称 私钥 公钥 公钥密码 接受者解密时使用 发送者加密时使用 数字签名 签名者生成签名时使用 验证者验证签名时使用 谁持有密钥?...个人持有 主要需要,任何人都可以持有 数字签名方法 通常来说数字签名一般有两种方式: 直接对消息进行签名 对消息hash值进行签名 下面我们分别来介绍两种方式。...那么这个签名软件是否值得信任,就是我们需要关注问题。 数字签名无法解决问题 使用数字签名我们可以防止伪造和篡改,也无法防止否认。但是还需要一个大前提就是验证签名公钥必须是真正属于发送者。

    90420

    浅谈程序数字签名

    数字签名(又称公钥数字签名)是只有信息发送者才能产生别人无法伪造一段数字串,这段数字串同时也是对信息发送者发送信息真实性一个有效证明。...常见对抗二次打包方案: 1、签名校验 原理:二次打包会篡改签名,通过签名前后变化可以检测是否被二次打包;但是这种很容易被hook掉。...2、文件校验 原理:二次打包前后apk关键文件hash值比较,判断是否被修改;但是这种很容易被hook掉。...3、核心函数转为jni层实现 原理:java层代码转为jni层实现,jni层代码相对而言篡改难度更大;写大量反射代码降低了开发效率。...window数字签名 Window数字签名是微软一种安全保障机制。 Window数字签名签名证书用于验证开发者身份真实性、保护代码完整性。

    1.6K31

    聊聊数字签名(下)

    案例分析 阅读了支付宝、微信支付、腾讯云、阿里云开放文档,发现他们签名方式几乎一致,在不同场景分别使用MD5和数字证书签名,甚至在不同时间节点进行相同类型升级,下面是我各大平台开放文档中找到作为案例分析...3)拼接:将排序后参数与其对应值,组合成“参数=参数值”格式,并且把这些参数用&字符连接起来,此时生成字符串为待签名字符串。...,在并发情况如果很有可能同一时间有两个相同参数请求都是有效,但服务会错误认为是重放攻击从而仅处理第一个。...(还记得12306那个安全提示吗,就是因为之前12306使用也是自签名),因此申请了第三方可信机构证书,然后使用这个证书为每个商户签发证书; 2)自签名有安全隐患;只要理解了签名原理,任何人都可以按照教程生成证书...但是还记得上篇中讲到数字证书出现原因吗,是为了解决中间人攻击问题,它能够解决中间人攻击原因正是因为证书颁发机构是可信,但是如果使用了自签名,签名机构是没有经过认证,也就是不可信,一切又回到了原点

    94920

    图说“数字签名

    近日找图片素材看到Peggy_Marco大神众多人物形象图时,有了用图解说数字签名想法,于是决定借用大神的人物形象图,尝试用图解释一下说什么是数字签名。...小明苦思冥想了半天,终于想起曾经跟陈教授学过对称加密,刚好可以用上。 image.png 于是,小明加上了加密了签名信息后,把下面的第3版借条发给了王老板,并解析了其中原理。...1.6、完成数字签名 小明拿到CA大佬签名证书后,加上之前借条,终于解决了王老板所有顾虑,和达成了最终借贷协议。...image.png 2、数字签名小结 2.1、法律意义上数字签名 《 中华人民共和国电子签名法 》第二条本法所称电子签名,是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容数据...2.2、数字签名要解决问题 从电子签名法所描述可靠电子签名来看,数字签名要解决问题可归纳为两个: (1)对签名人身份的确认,且签名人身份不可抵赖 (2)签名人对签名内容认可,且签名内容不可篡改

    1.9K62

    数字签名-ECDSA

    【Java小工匠聊密码学】--数字签名--ECDSA 1、EC相关知识 1.1 什么是ECC  Elliptic Curves Cryptography,椭圆曲线密码编码学。...1.3 什么是ECDSA   用于数字签名,是ECC与DSA结合,整个签名过程与DSA类似,所不一样是签名中采取算法为ECC,最后签名出来值也是分为R,S。...在使用ECC进行数字签名时候,需要构造一条曲线,也可以选择标准曲线,例如:prime256v1、secp256r1、nistp256、secp256k1(比特币中使用了该曲线)等等 1.4、ECDSA...优点 (1)安全性高 有研究表示160位椭圆密钥与1024位RSA密钥安全性相同。...SHA1withECDSA 160 JDK/BC SHA224withECDSA 224 BC SHA384withECDSA 384 JDK/BC SHA512withECDSA 512 JDK/BC 2、ECDSA数字签名实现

    3K30

    数字签名技术

    介绍数字签名数字签名是一种用于确认数据完整性、确认发送者身份技术。签名主要包含两个过程:做摘要、进行非对称加密。...考虑到加解密运算速度是相对缓慢数字签名算法建议对消息摘要值进行签名,因为摘要值长度是固定,并且一般消息摘要值长度要比消息长度短,加解密运算速度会比较快。...RSA2 签名算法强制要求 RSA 密钥长度至少为 2048 位。数字签名作用数字签名技术本质不是为了加密。...如果数字签名进行是对称加密的话,那么数字签名将不能防止签名者抵赖。原因就在于消息发送者 和 消息接收者拥有同样密钥(公钥),所以消息发送方可以抵赖,否认消息是他发送。参考资料数字签名是什么?...- 阮一峰网络日志 (ruanyifeng.com)《深入浅出 HTTPS 从原理到实战》

    1.2K20

    密码技术之数字签名

    甲发送信息时候用自己私钥进行签名,乙接收信息时候用甲公钥进行验证,这就是数字签名。...数字签名可以随意复制吗? 数字签名可以随意复制。签名可以复制并不意味着签名就没有意义,因为签名表达意义是特定签名者对特定消息进行签名,即使被复制也并不会改变签名者和消息内容。...的确,删除了带有数字签名借据也无法保证确实已经作废,因为你不知道是否还保留有副本,那么要作废带有数字签名借据,可以重新创建一份相当于收据文书,并让对方在这份文书上数字签名。...对数字签名攻击 除了之前介绍利用数字签名攻击公钥密码之外,对单向散列函数攻击,以及中间人攻击。...潜在伪造:在用RSA来解密数字签名算法中,潜在伪造时可能,用随机比特序列S用RSA公钥进行加密生成密文M,那么S就是M合法数字签名,由于攻击者是可以获取公钥,因此对数字签名进行潜在伪造就可以实现了

    1.3K20

    五、数字签名及存在问题

    当我们用私钥加密时候,我们会把这个操作称为数字签名,利用公钥解密时候,这个操作称为验证签名。 数字签名方法流程是怎样? 我看到了这样一张图,觉得太香了,能够很好说明这个过程。...防止假冒   中间人X假冒A给B发消息,由于X没有A私钥,无法生成正确数字签名。即使X不签名直接发过去,B也会直接丢弃,所以X无法假冒。...防止篡改 1.A给B发文档,先把文档进行哈希,生成摘要,然后用自己私钥对摘要加密生成数字签名,发送出去是 {明文文档,数字签名} 2.如果中间人X去修改明文,不改数字签名,发送给B。...(因为没A私钥,X如果改了签名,B用A公钥就无法解密数字签名) 3.B用A公钥去解密数字签名得到摘要1,再用同样哈希算法把发来明文进行哈希,得到一段摘要2 4.摘要1一定是A亲手给,因为公钥能解出来...数字签名漏洞 中间人攻击 A给B发消息会使用非对称加密,为了接下来对话,先要把公钥发送给B,结果被X中间人攻击了。

    55300

    安卓数字签名

    安装APP失败 猜想是没有数字签名问题,一个ApK如果要安装到手机上,必须要一个数字签名,不过你是debug也好,release也好,这个数字签名来源一个叫做证书东西,在我们debug时候,开发工具已经帮我们生成了一个叫做...debug.keystore 证书,默认在C:Users【user name】.android之下,但是如果我们apk要发布到应用市场上,那就得用release证书了,这个时候我们就要去用我们自己证书了...Android Studio安装数字证书 A. build->构建带有签名APK 构建带有签名APK B. 选择数字证书存放位置 选择数字证书存放位置 C. 创建数字签名证书 创建证书 D....选择需要发布模型 选择需要发布模型 E. 选择发布版本,然后完成 选择发布版本 F. 寻找发布APP位置 寻找APP位置1 寻找APP位置2 寻找APP位置3 G....安卓6.0以上都支持啦,终于可以安心安装自己APP啦

    66041

    聊聊数字签名(上)

    ,内容是可以公开; 2:分部给你写信是汇报工作,内容是需要保密。...于是坏人就用自己私钥解密分部信件偷看内容,并用自己私钥给你分部发送假命令。...(这其实也就是https基本原理) 小结:通过非对称密钥传递对称密钥,保证安全性同时兼顾了性能。...,这就要求提供一条安全渠道使通讯双方在首次通讯时协商一个共同密钥,而这在开放互联网中是不现实;密钥分发是一件潜在危险事情,并且其安全前提是平台和商户均能够妥善保管密钥。...2)为保证安全平台方需要对于每一个合作者都使用不同密钥,需要管理大量密钥; 3)对称加密算法不能防抵赖,能够实现加密但无法验证发送者身份; 非对称加密 非对称加密算法典型应用是数字签名,需要公开密钥和私有密钥两个密钥

    42020

    加密与数字签名

    具体作法是将数字签名和 数据加密结合起来。发送方在发送数据时必须加上数据签名,做法是用自己私钥加密一段与发送数据相关数据作为数字签名,然后与发送数据一起用接收方密钥 加密。...当这些密文被接收方收到后,接收方用自己私钥将密文解密得到发送数据和发送方数字签名,然后,用发布方公布公钥对数字签名进行解密,如果成 功,则确定是由发送方发出。...在早期常规密钥密码体制中,典型有代替密码,其原理可以用一个例子来说明:   将字母a,b,c,d,…,w,x,y,z自然顺序保持不变,但使之与D,E,F,G,…,Z,A,B,C分别对应(即相差...它已被ISO/TC97数据加密技术分委员会SC20推荐为公开密钥数据加密标准。 二、数字签名   数字签名技术是实现交易安全核心技术之一,它实现基础就是加密技术。...在这里,我们介绍数字签名基本原理。   以往书信或文件是根据亲笔签名或印章来证明其真实性。但在计算机网络中传送报文又如何盖章呢?这就是数字签名所要解决问题。

    13610

    数字签名是什么?

    这里要强调是,只要鲍勃私钥不泄露,这封信就是安全,即使落在别人手里,也无法解密。 5. 鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件摘要(digest)。 6....然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 7. 鲍勃将这个签名,附在信件下面,一起发给苏珊。 8. 苏珊收信后,取下数字签名,用鲍勃公钥解密,得到信件摘要。...道格想欺骗苏珊,他偷偷使用了苏珊电脑,用自己公钥换走了鲍勃公钥。此时,苏珊实际拥有的是道格公钥,但是还以为这是鲍勃公钥。...因此,道格就可以冒充鲍勃,用自己私钥做成"数字签名",写信给苏珊,让苏珊用假鲍勃公钥进行解密。 11. 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...以后再给苏珊写信,只要在签名同时,再附上数字证书就行了。 13. 苏珊收信后,用CA公钥解开数字证书,就可以拿到鲍勃真实公钥了,然后就能证明"数字签名"是否真的是鲍勃签。 14.

    76250

    数字签名是什么?

    ==================================================== 数字签名是什么?...这里要强调是,只要鲍勃私钥不泄露,这封信就是安全,即使落在别人手里,也无法解密。 5. ? 鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件摘要(digest)。...苏珊收信后,取下数字签名,用鲍勃公钥解密,得到信件摘要。由此证明,这封信确实是鲍勃发出。 9. ? 苏珊再对信件本身使用Hash函数,将得到结果,与上一步得到摘要进行对比。...因此,道格就可以冒充鲍勃,用自己私钥做成"数字签名",写信给苏珊,让苏珊用假鲍勃公钥进行解密。 11. ? 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。...以后再给苏珊写信,只要在签名同时,再附上数字证书就行了。 13. ? 苏珊收信后,用CA公钥解开数字证书,就可以拿到鲍勃真实公钥了,然后就能证明"数字签名"是否真的是鲍勃签。 14. ?

    96650

    消息摘要与数字签名

    原理 消息摘要,其实就是将需要摘要数据作为参数,经过哈希函数(Hash)计算,得到散列值。...,是数字签名算法核心算法。...也就是说,数字签名算法是非对称加密算法和消息摘要算法结合体。 特点 数字签名算法要求能够验证数据完整性、认证数据来源,并起到抗否认作用。...原理 数字签名算法包含签名和验证两项操作,遵循私钥签名,公钥验证方式。 签名时要使用私钥和待签名数据,验证时则需要公钥、签名值和待签名数据,其核心算法主要是消息摘要算法。 ​ ?...常用算法 RSA、DSA、ECDSA 算法实现 DSA范例 数字签名有两个流程:签名和验证。 它们前提都是要有一个公钥、密钥对。

    1.1K80

    【翻译】数字签名是什么?

    前情提要 在写上一篇《Android Keystore漫谈》时对数字证书和数字签名区别感觉模棱两可,于是网上找了找资料发现了一篇简单易懂文章,对证书和签名有了一个较清晰概念: 数字签名: 信息实体经...数字签名相当于Bob私人印章,是独一无二、不可以仿冒,可以检查信内容有没有被篡改。 ? 那么这个数字签名是怎么签名呢?...Bob使用HASH算法对信内容进行打乱,打乱后内容称之为消息摘要(这一打乱过程是不可逆)。 ? 消息摘要经过Bob私钥加密就变成了数字签名。 ?...最后Bob将这个数字签名和信内容放到了一起,然后发给了Susan。那么Susan怎么验证Bob回信有没有被篡改过呢?...关于数字证书有一个非常好实例,便是https协议,在《数字签名与数字证书区别》一文中有非常清晰讲述。 参考 What is a Digital Signature? 数字签名与数字证书区别

    56940

    支付宝接口数字签名

    支付宝签名步骤是: 拼接 “待签名字符串”; 调用签名方法 sign(); 拼接完整请求 URL。 技术是为了解决问题而生,进行数字签名目的是: 确保信息是由签名者发送。...对需要签名参数进行字典排序:字典排序是按照参数第一个字符 ASCII 码递增排序(字母升序排序)。如果参数第一个字符相同,则按照参数第二个字符 ASCII 码递增排序,以此类推。...拼接完整请求 URL:将编码后请求数据发送至商户系统指定 URL。 验签 验签全称是:验证指定内容签名是否正确。...获取签名参数:在通知返回参数列表中,除去 sign、sign_type 两个参数外,凡是通知返回参数都是签名参数。...如果参数第一个字符相同,则按照参数第二个字符 ASCII 码递增排序,以此类推。

    58030
    领券