篇一 SET协议和SSL协议的区别
SET协议和SSL协议的区别
两种都是应用于电子商务用的网络安全协议。都能保证交易数据的安全性、保密性和完整性。
SSL叫安全套接层协议是国际上最早用的 已成工业标准但它的基点是商家对客户信息保密的承诺因此有利于商家而不利于客户。
SET叫安全电子交易协议是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范。因它的对象包括消费者、商家、发卡银行、收单银行、支付网关、认证中心所以对消费者与商家同样有利。它越来越得到众人认同将会成为未来电子商务的规范。
近年来 IT业界与金融行业一起推出不少更有效的安全交易标准。主要有
(1)安全超文本传输协议S-HT TP依靠密钥对的加密保障Web站点间的交易信息传输的安全性。
1
(2)安全套接层协议SSL协议 Secure Socket Layer)是由网景Netscape公司推出的(来自:WwW.xltkwJ.cOm小龙文档网:ssl协议未开启是什么意思)一种安全通信协议是对计算机之间整个会话进行加密的协议提供了加密、认证服务和报文完整性。它能够对信用卡和个人信息提供较强的保护。SSL被用于Netscape Communicator和Microsoft IE浏览器用以完成需要的安全交易操作。在SSL中采用了公开密钥和私有密钥两种加密方法。
(3)安全交易技术协议(STT Secure TransactionTechnology) 由Mic rosoft公司提出 STT将认证和解密在浏览器中分离开用以提高安全控制能力。Microsoft将在Internet Explorer中采用这一技术。
(4)安全电子交易协议 SET Secure ElectronicTra nsactio nSET协议是由VISA和Maste rCa rd两大信用卡公司于1997年5月联合推出的规范。 SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。 SET中的核心技术主要有公开密匙加密、 电子数字签名、 电子信封、 电子安全证书等。
篇二 SSL协议_openssl_附代码
SSL协议
1实验原理
2
1.1 SSL协议
SSL(Secure SocketLayer安全套接字层)在通信双方间建立了一个传输层安全通道它使用对称加密来保证通信保密性使用消息认证码(MAC)来保证数据完整性并且在建立连接时主要使用PKI对通信双方进行身份认证。 NetscapeNavigator和Internet Explorer都支持SSL。
1.2 SSL协议的分层结构
SSL协议基于C/S(client/server)模式位于TCP/IP协议与各种应用层协议之间为数据通信提供安全支持。它可分为两层
1.SSL记录协议(SSLRecordProtocol)
它建立在可靠的传输控制协议(如TCP)之上为高层协议提供数据封装、压缩、加密等基本功能的支持。
2.SSL握手协议(SSL Handshake Protocol)
它建立在SSL记录协议之上用于在实际的数据传输开始前通信双方进行身份认证、协商加密算法、交换加密密钥等。
作为分层的协议在每一层消息可以包含长度、描述和内容字段。 SSL发出消息先把数据分成可管理的块然后压缩、加密并发出加密后的结果。接收消息后进行解密、验证、解压和重组再把结果发往更高一层的客户。
1.3 SSL握手协议
3
SSL握手协议的作用是在正式的秘密通信之前让服务器和客户之间互相鉴别对方的身份并协商一种会话的加密算法和加密密钥,主要可分为以下两个方面
(1)客户端和服务器端之间互相验证身份
C/S主要是通过证书来验证首先通过对方证书中权威发证机构签字的验证
来确定对方拥有的证书是否有效。如果证书有效接着就从这个证书中提取出公钥通过对方的签名验证用户是不是假冒的。如果二者都通过则证明对方的身份是真实可信的。其中服务器对客户端的验证是可选的。
(2)客户端和服务器之间协商安全参数
协商的参数一般包括协议的版本号、密钥交换算法、数据加密算法和Hash算法通过协商达成一致性。其中版本号一般要求一致。关于密钥交换算法和数据加密算法是先由客户端向服务器端发送一个列表其中详细列举了客户端所支持的算法然后由服务器端从中选取自己支持且加密性能优良的算法将其返回给客户端至此完成了算法的协商最后由客户端随机产生一个用于数据加密的对称密钥用一种商议好的密钥交换协议将它传给服务器端。 SSL支持的密钥交换算法有RSA密钥交换和Diffie-He llma n密钥交换两种。
SSL握手协议顺序图
4
2实验内容
2.1实验环境
1、 win72、 VS2005
3、 openSSL函数库
2.2实验代码
2.2.1 server端
//ssl_Server.cpp:定义控制台应用程序的入口点。//
//server
#include stdafx.h
#inc lude<winsock2.h
#inc lude<co nio.h
#inc lude<stdio.h
#include openssl/x509.h
#include openssl/ssl.h
#include openssl/err.h
#define MSGLENGTH1024
#define PORT 8888
#define CACERT./private/ca.crt
#define SVRCERTF./certs/server.crt
#define SVRKEYF ./private/server.key
#pragma comment(lib,wsock32.lib)
5
#pragma comment(lib, libeay32.lib)
#pragma comment(lib, ssleay32.lib)int_tmain(int argc,_TCHAR*argv[])
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);SOCKETsock;
SSL_METHOD*meth;
SSL_CTX*ctx;
SSL*ssl;
//SSL初始化
OpenSSL_add_ssl_algorithms();
//SSL错误信息初始化
SSL_load_erro r_strings();
//创建本次会话所使用的协议meth=(SSL_METHOD*)TLSv1_server_method();//申请SSL会话的环境ctx=SSL_CTX_new(meth);if(NUL L==ctx)exit(1);
//设置会话的握手方式并加载CA证书
SSL_CTX_set_verify(ctx,SSL_VERIFY_PEER,NULL);
6
if (!S SL_C TX_lo ad_ve rify_lo c atio ns(ctx, C ACE RT,NULL)) {} printf(%d \n\n下载CA证书出错 \n,S SL_CTX_lo a d_verify_locatio ns(ctx, CACE RT, exit(-1);NULL));
//加载服务器端的证书if (!S SL_C TX_use_ce rtific ate_file(ctx, S VRC ERTF,SSL_FILETYPE_PEM)) { ERR_print_errors_fp(stderr);exit(1);
}
//加载服务器端的私钥if (!S SL_C TX_use_P rivateKey_file(ctx, SVRKE YF,SSL_FILETYPE_PEM)) { ERR_print_errors_fp(stderr);exit(1);
}
//检查服务器端的证书和私钥是否匹配if(!SSL_C TX_check_private_key(ctx)) {p rintf(\n\n私钥与证书公钥不匹配 \n);exit(1);
}
//加密方式
SSL_CTX_set_ciphe r_list(ctx,RC4-MD5);
//处理握手多次
7
SSL_C TX_set_mode(ctx,SSL_MODE_AUTO_RETRY);
/*以下是正常的TCP socket建立过程..............................
*/sock=socket(AF_INET,SOCK_STREAM,0);if(sock==INVALID_SOCKET) {printf(\n\nSOCKE T有问题.\n);return 0;
}sockaddr_in addr;memset(&addr,'\0',sizeof(addr));addr.sin_fa mily=AF_INE T;addr.sin_port=htons(PORT); /*Server Port number*/addr.sin_addr.s_addr=INADDR_ANY;
//绑定sockint nResult = bind(sock, (sockaddr *)&addr,sizeof(addr));if(nResult==S OCKE T_ERROR) {printf(\n\n绑定SOCKET有问题.\n);return 0;
}
/*接受TCP链接*/sockaddr_in sa_cli;
8
int e rr=liste n(sock,5);if(-1==e rr)exit(1);int c lient_len=sizeof(sa_cli);int ss = accept(sock, (struct sockaddr *)&sa_cli,&a mp;c lie nt_le n);if(s s==-1) {exit(1);
}closesocket(sock);printf(\n连接端口%d,po rt%d\n, sa_cli.sin_addr.s_a ddr,sa_cli.sin_po rt);/* TCP链接已建立.开始S SL握手过程..........................*/
//绑定套接字ssl=SSL_new(ctx);if(NUL L==ss l)exit(1);if(!SSL_set_fd(ssl,ss)) {p rintf(\n连接失败 \n);exit(1);
}
//SSL握手
9
特网云官網特网云服务器在硬件级别上实现云主机之间的完全隔离;采用高端服务器进行部署,同时采用集中的管理与监控,确保业务稳定可靠,搭建纯SSD架构的高性能企业级云服务器,同时采用Intel Haswell CPU、高频DDR4内存、高速Sas3 SSD闪存作为底层硬件配置,分钟级响应速度,特网云采用自带硬防节点,部分节点享免费20G防御,可实现300G防御峰值,有效防御DDoS、CC等恶意攻击,保障...
官方网站:点击访问青云互联活动官网优惠码:终身88折扣优惠码:WN789-2021香港测试IP:154.196.254美国测试IP:243.164.1活动方案:用户购买任意全区域云服务器月付以上享受免费更换IP服务;限美国区域云服务器凡是购买均可以提交工单定制天机防火墙高防御保护端口以及保护模式;香港区域购买季度、半年付、年付周期均可免费申请额外1IP;使用优惠码购买后续费周期终身同活动价,价格不...
无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点...