Page 181 - 大数据背景下网络安全问题研究
P. 181
» 第六章 网络数据采集及安全研究
1.数字签名的概念
数字签名是一种认证机制,是公钥密码学发展过程中一个重要的组成部分,是公
钥密码算法的典型应用。在ISO7498-2标准中数字签名定义为:“附加在数据单元上
的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收
者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(如接收者)
进行伪造”。数据的发送方使用自己的私钥对数据校验和其他与数据内容相关的信息
进行处理,完成对数据的合法“签名”,数据接收方则利用发送方的公钥来验证收到
的消息上的“数字签名”,以确认签名的合法性与数据的完整性。
2.数字签名的基本原理
数字签名只涉及通信双方,即签名方使用自己的私钥对整个消息或者对于消息的
散列值进行签名,验证者使用签名者的公钥进行验证。其主要包括三个过程:一是生
成公钥和私钥,其中公钥可以对外公开,接收方用它来解密,而私钥是信息的发送方
用于数据加密使用。数字签名中的私钥只有签名者自己才知道,其他人无法构造出正
确的签名效果。二是签名文件内容,将生成的密钥写入或保存到文件中。三是发送签
名后的数据及公钥,通过网络或其他通信方式发送给用户,用户接收到签名文件和数
据文件后,就可以拿公钥来检验数据文件中的数字签名。在具体的使用过程中,可以
通过DSA算法来实现。
(三)基于 Socket 的数据签名技术的实现
1.Socket网络通信的实现过程
Socket是网络上运行的两个程序间双向通信连接的一个端口。当通信时可以使用
Socket建立套接字对象并连接在一起。Socket通常用于客户/服务器程序。服务器端在
运行许多服务进程时,等待客户程序的服务请求,并处理这些服务请求。
基于Socket的网络数据传输的实现主要包括服务器端和客户端程序实现两部分
构成。
(1)使用Server Socket类建立服务器端Socket
第一,创建基于某个端口的Server Socket对象,绑定监听端口,即服务器端程序
监听指定端口的Socket。
第二,Server Socket对象一直处于监听状态,通过accept( )方法来接收客户端
发送过来的Socket连接请求。
第三,连接建立后,通过输入流读取客户端发送的请求信息。
第四,通过输出流向客户端发送响应信息。
第五,客户端和服务器端通信完毕后,关闭相关资源。
• 169 •

