`

Web Service修炼之六加密签名技术

 
阅读更多

1、为什么要使用加密技术

1、防止假冒

     使用数字签名

2、防止伪劣

     使用文件加密

2、什么是文件加密技术

    文件加密技术是用来阻止以任何非法获取方式夺得文件后进行阅读、修改等操作,主要是确保文件在传输过程中的安全。



 

3典型数据加密算法

3.1.基于“消息摘要”的算法

  “消息摘要”(Message Digest)是一种能产生特殊输出格式的算法。这种加密算法的特点是无论用户输入什么长度的原始数据,经过计算后输出的密文都是同定长度的。这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这种提取就是“摘要”,被“摘要”的数据内容与原数据有密切联系,只要原数据稍有改变,输出的“摘要”便完全不同,因此基于这种原理的算法能对数据完整性提供较为健全的保障。



 
 但是,由于输出的密文是提取原数据经过处理的定长值,所以它已经不能还原为原数据,即消息摘要算法是“不可逆”的,理论上无法通过反向运算取得原数据内容,因此它通常只能被用来做数据完整性验证,而不能作为原数据内容的加密方案使用,否则谁也无法还原。

    由于“摘要”算法加密的数据仅能作为一种完整性和正确性验证的凭据使用,如果要对整个文档数据进行加密,就不能采用这种“不可逆”的算法

3.2.常用摘要算法有MD5, SHA.1

3.2.1.对称密钥

    此类算法通过一个被称为“密钥”的凭据进行数据加密处理,接收方通过加密时使用的“密钥”字符串进行解密,即双办持有的“密钥”相同(对称)。如果接收方不能提供正确的“密钥”,解密出来的就不是原来的数据了。

    通过定期在通信网络的源端和目的端同时改用新的密钥,便能更进一步提高数据的保密性

    常用算法:DESRC2RC4RC5



 
3.2.2.非对称密钥

    非对称密钥密码算法使用两个密钥:公开密钥和私有密钥,分别用于对数据的加密和解密,即如果用公开密钥对数据进行加密,只有用对应的私有密钥才能进行解密;如果用私有密钥对数据进行加密,则只有用对应的公开密钥才能解密。 

    常用算法:RSA



 

 

4如何实现签名和加密

1)信息发送方将要发送的信息通过信息摘要方法产生一个信息摘要,并对信息摘要用自己的私钥进行加密,形成数字签名,然后将其附在要发送信息的后面。

2)信息发送方将文件(信息和数字签名)用随机生成的对称密钥加密

3)信息发送方再用信息接收方的公钥对对称密钥进行加密后通过网络发送给信息接收方。 

4)信息接收方对收到的对称密钥用自己的私钥进行解密。 

5)信息接收方用得到对称密钥对文件(信息和数字签名)进行解密

6)信息接收方用发送方的公钥对数字签名进行解密得到信息摘要,同时对收到的信息再用相同的信息摘要方法产生一个信息摘要。 

7)信息接收方将解密后的信息摘要与重新产生的信息摘要进行比较。如果二者一致,说明信息在传输过程中没有改变;如果不一致,说明该信息在传输过程中已被人篡改过。



 

 

5PKI公钥组织

如何确认公钥的身份即对应的对象

    PKI 是一种新的安全技术,它由公开密钥密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等基本成分共同组成的。

PKI 的核心组成部分CA( Certification Authority),即认证中心,它是数字证书的签发机构。数字证书,有时被称为数字身份证,是一个符合一定格式的电子文件,用来识别电子证书持有者的真实身份。 
    就象公安局发放的身份证一样,认证中心发放一个叫"数字证书"的身份证明。 
    这个数字证书包含了用户身份的部分信息及用户所持有的公钥。象公安局对身份证盖章一样,认证中心利用本身的私钥为数字证书加上数字签名。任何想发放自己公钥的用户,可以去认证中心申请自己的证书。认证中心在鉴定该人的真实身份后,颁发包含用户公钥的数字证书。其他用户只要能验证证书是真实的,并且信任颁发证书的认证中心,就可以确认用户的公钥。

根证书

根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。

    从技术上讲,证书其实包含三部分,用户的信息,用户的公钥,还有CA中心对该证书里面的信息的签名,要验证一份证书的真伪(即验证CA中心对该证书信息的签名是否有效),需要用CA 中心的公钥验证,而CA中心的公钥存在于对这份证书进行签名的证书内,故需要下载该证书,但使用该证书验证又需先验证该证书本身的真伪,故又要用签发该证书的证书来验证,这样一来就构成一条证书链的关系,这条证书链在哪里终结呢?答案就是根证书,根证书是一份特殊的证书,它的签发者是它本身,下载根证书就表明您对该根证书以下所签发的证书都表示信任,而技术上则是建立起一个验证证书信息的链条,证书的验证追溯至根证书即为结束。所以说用户在使用自己的数字证书之前必须先下载根证书。



说明

1、如果需要发送加密的文件,需要使用密钥(对称)公钥(非对称)加密

   这样的结果是只有拥有密钥(对称)或者私钥(非对称)的人才能阅读。

2、如果需要在加密的文件上签名,需要和加密文件同时发送签名文件,并用私钥加密签名

   这样的结果是只要拥有公钥的人都能阅读,但只有拥有私钥的人才能修改

3、如果需要保证文件的完整性和正确性,需要使用信息摘要技术,并把该摘要和文件同时加密发送

    这样的结果是可以保证文件在传输过程中可能发生的信息丢失被发现

4、接收者的文件加密公钥和发送者的签名公钥需要有CA颁发的数字证书来证明真伪

    这样的结果是避免发送方收到伪造的公钥并错误的使用其去加密文件或者接收方收到伪造的公钥并用其错误的验证签名的真伪。

  • 大小: 16.8 KB
  • 大小: 7.4 KB
  • 大小: 17.7 KB
  • 大小: 16.3 KB
  • 大小: 16.2 KB
  • 大小: 12.6 KB
  • 大小: 16 KB
  • 大小: 40.9 KB
分享到:
评论

相关推荐

    C#Web Service C#Web Service C#Web Service

    C# Web Service是一种基于.NET Framework的开发技术,用于创建分布式应用程序,使得不同系统间能够通过互联网进行通信。这种服务提供了一种标准化的方式,允许应用程序通过HTTP协议交换数据,因此,即使它们是由不同...

    数据加密与数字签名系统

    数据加密与数字签名系统是信息安全领域中的核心技术,用于保护数据的隐私性和完整性,以及验证信息来源的可靠性。在本文中,我们将深入探讨这两个概念及其在C++编程中的应用。 首先,我们来理解数据加密。数据加密...

    《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》(

    作者李维精心编撰了一套系统而全面的教程,针对的是Delphi6和Kylix2这两个经典的Visual Basic derivative (VBD) 编程环境,尤其是针对SOAP(Simple Object Access Protocol)和Web Service技术的应用。本书旨在帮助...

    各种加密签名工具合集

    在IT领域,加密和签名是确保数据安全的重要技术。标题提到的“各种加密签名工具合集”涵盖了多种用于数据加密和完整性验证的方法。下面将详细解释这些知识点。 首先,我们来了解一下AES加密。AES,全称为Advanced ...

    web service reference

    - **移动互联网中的应用**:如运营商的SP(Service Provider)接口,这些接口通常基于Web Service技术实现,用于提供短信、彩信等增值服务。 #### 三、Web Service的关键技术 实现Web Service涉及到多个关键技术:...

    XML Web Service开发

    XML Web Service的安全性是关键问题,常见的安全措施包括SSL/TLS加密、WS-Security(Web Services Security)提供消息级安全,以及身份验证和授权机制。 七、Web Service的集成 Web Service常被用于系统集成,例如...

    Web Service编程:用C#开发网络服务

    Web Service编程是现代软件开发中的一个重要领域,尤其是在分布式系统和跨平台通信中。C#作为.NET框架的主要编程语言,提供了强大的工具和库来...理解并掌握上述知识点,将有助于在实际项目中灵活运用Web Service技术。

    PGP加密及签名实验

    PGP 加密及签名实验 PGP 加密及签名实验是使用 PGP 软件对邮件进行加密和签名的实验,通过这个实验我们可以加深对数字签名和公钥密码算法的理解。PGP 加密及签名实验可以帮助我们了解密码体制在实际网络环境中的...

    用vfp编写Web Service

    7. **安全考虑**:Web Service的安全性是至关重要的,VFP可以通过设置访问控制、SSL加密等方式提升Web Service的安全水平。 8. **集成与调用**:了解了如何在VFP中创建Web Service后,还需要知道如何在其他语言或...

    Java+Web Service教程

    教程可能会涵盖HTTPS、WS-Security、数字签名和消息加密等安全机制,以确保Web Service在传输敏感数据时的安全性。 在实际项目中,你可能需要集成Web Service到现有的Java应用中,例如Spring框架提供了对Web ...

    非对称加密算法 数字签名算法

    非对称加密算法和数字签名是信息技术中两个关键的安全概念,尤其在网络安全和数据保护方面起着至关重要的作用。在Java编程环境中,这些技术被广泛应用于实现安全通信、身份验证和数据完整性保护。 非对称加密算法,...

    net传值加密技术 web窗体案例

    在Web应用中,通常使用对称加密进行大量数据的快速加密,而非对称加密用于交换对称密钥或进行数字签名。 在.NET中,我们可以使用System.Security.Cryptography命名空间下的类来实现加密操作。例如,AES(高级加密...

    编写基于.net的WEB SERVICE.rar

    六、调用Web Service 1. 客户端可以使用多种方式调用Web Service,如使用.NET的SoapHttpClientProtocol类,或者使用AJAX技术。 2. 示例代码(C#): ```csharp using System.Web.Services; ... WebService1.Service1...

    delphi 6/Kylik2 soap/Web Service程序设计篇下册+代码,非常好的教程。

    教程可能涉及HTTPS、数字签名和加密等安全措施,以确保Web Service的数据传输安全。 8. **互操作性**: 使用SOAP和标准WSDL的Web Service具有高度的互操作性,这意味着无论使用哪种编程语言或平台,只要支持SOAP,都...

    加密签名与验签

    该代码实现了如下功能 1)密钥对生成与写文件 2)数据与文件加密 3)数据与文件签名 4)数据与文件验签

    安卓APK资源混淆加密重签名工具1.2.0

    安卓APK资源混淆加密重签名工具,可以对安卓APK文件的代码和资源文件进行混淆加密处理,可以对安卓APK文件进行加固,对代码和资源文件进行混淆,重新签名等功能. 可以保护APK,增加破解难度, 防止APK被篡改,重签名...

    数字签名 数字 签名 wod加密 加密

    在IT领域,数字签名和加密技术是网络安全与数据保护的核心组成部分。它们对于确保信息的完整性和验证发送者身份至关重要。让我们深入探讨这两个概念及其在实际应用中的重要性。 首先,我们来理解“数字签名”。数字...

Global site tag (gtag.js) - Google Analytics