style="line-height: 31.1111px;">当支付遇到互联网," />
当前位置: 云顶娱乐 > 风俗习惯 > 正文

天天5分钟玩转,职场术语

时间:2019-09-14 04:56来源:风俗习惯
原标题:职场术语:Network Security 一)概述 第9期 什么是互联网支付? style="font-family: 楷体; font-size: 18px; color: #000000; background-color: #ffffff;"> style="line-height: 31.1111px;">当支付遇到互联网,

原标题:职场术语:Network Security

一)概述

云顶娱乐 1

第9期

什么是互联网支付?

style="font-family: 楷体; font-size: 18px; color: #000000; background-color: #ffffff;"> style="line-height: 31.1111px;">当支付遇到互联网,一场革命自然不可避免。成为现实的是传统的现金支付已经“退居二线”,各种在线支付方式成为人们日常消费的主要支付方式。银行推出的网银以及第三方支付公司推出的各种各样的支付平台大大方便了人们的生活,互联网支付终端也从桌面电脑扩展到移动终端和电视等多种形式的终端上,互联网支付变得无处不在。终端是支付工具,互联网是载体,支付终端除了目前常见的POS机,智能手机、智能电视、平板电脑、PC机等都是越来越普遍的支付终端。

本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点

Network Security

什么是密码学?

style="font-family: 楷体; font-size: 18px; color: #000000; background-color: #ffffff;"> style="line-height: 31.1111px;">现代密码学研究信息从发端到收端的安全传输和安全存储,是研究“知己知彼”的一门科学。其核心是密码编码学和密码分析学。前者致力于建立难以被敌方或对手攻破的安全密码体制,即“知己”;后者则力图破译敌方或对手已有的密码体制,即“知彼”。编码密码学主要致力于信息加密、信息认证、数字签名和密钥管理方面的研究。信息加密的目的在于将可读信息转变为无法识别的内容,使得截获这些信息的人无法阅读,同时信息的接收人能够验证接收到的信息是否被敌方篡改或替换过;数字签名就是信息的接收人能够确定接收到的信息是否确实是由所希望的发信人发出的;密钥管理是信息加密中最难的部分,因为信息加密的安全性在于密钥。历史上,各国军事情报机构在猎取别国的密钥管理方法上要比破译加密算法成功得多。

创建虚拟机

上个月,顺风快递、华住酒店被爆出数亿用户信息遭泄露的事情,这让很多人揪心,因为近年来这样的事情年年都有报道。

二)互联网支付的安全隐患

  1. style="font-size: 18px; font-family: 楷体; color: #000000;">网络支付系统的不稳定(中断);
  2. style="font-size: 18px; font-family: 楷体; color: #000000;">隐私支付信息(比如:卡号、有效期、CVV2以及身份信息,比如:身份证号码、手机号码等)在网络传输过程中被窃取或盗用(窃取/截取);
  3. style="font-size: 18px; font-family: 楷体; color: #000000;">支付信息被篡改(篡改);
  4. style="font-size: 18px; font-family: 楷体; color: #000000;">信息假冒:冒充他人身份,发送假冒信息(伪造/捏造);
  5. style="color: #000000; font-family: 楷体; font-size: 18px;"> style="line-height: 25px;">否认已经做过的交易(比如:在A平台或A银行做的交易结果收到的交易确认信息却是B平台或B银行发来的)。

云顶娱乐 2

三)互联网支付的安全需求

style="font-size: 18px; font-family: 楷体; color: #000000;">1、支付的可靠性;

云顶娱乐 3

云顶娱乐, style="font-family: 楷体; font-size: 18px; color: #000000;">2、支付的真实性;

云顶娱乐 4

style="color: #000000; font-size: 18px; font-family: 楷体;">3、支付的机密性;

云顶娱乐 5

style="font-family: 楷体; font-size: 18px;">4、支付的完整性;

云顶娱乐 6

style="font-family: 楷体; font-size: 18px;">5、支付的不可抵赖性。

云顶娱乐 7

四)互联网支付数据机密性技术

style="font-size: 18px; font-family: 楷体;">1、对称加密算法:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。

云顶娱乐 8

style="font-size: 18px; font-family: 楷体;">典型的对称加密算法如下:

style="font-size: 18px; font-family: 楷体; color: #000000;">1.1、AES:(Advanced Encryption Standard)高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准;

style="font-size: 18px; line-height: 30px;">一个用.NET实现的AES加密代码:

 1         /// <summary>
 2         /// 有密码的AES加密 
 3         /// </summary>
 4         internal static string AesEncrypt(string toEncrypt)
 5         {
 6             var keyArray = ConvertBinaryToByte(ConvertStringToBinary(Md5Hex(Configs.PartnerKey)));
 7             var toEncryptArray = Encoding.GetEncoding(Consts.Charset).GetBytes(toEncrypt);
 8             using (var acsp = new AesCryptoServiceProvider {KeySize = 128, BlockSize = 128})
 9             {
10                 acsp.GenerateIV();
11                 using (var aes = new AesCryptoServiceProvider {Key = keyArray, IV = acsp.IV, Mode = CipherMode.ECB, Padding = PaddingMode.PKCS7})
12                 {
13                     byte[] resultArray;
14                     using (var cTransform = aes.CreateEncryptor())
15                     {
16                         resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
17                     }
18                     return Convert.ToBase64String(resultArray);
19                 }
20             }
21         }

style="font-size: 18px; font-family: 楷体; color: #000000;">1.2、DES:(Data Encryption Standard),是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。

style="font-size: 18px; font-family: 楷体; color: #000000;">一个用.NET实现的DES加密代码:

 1         public static byte[] DesEncryptToByte(string plain, string key, PaddingMode padding = PaddingMode.PKCS7, CipherMode mode = CipherMode.CBC, string codeName = "utf-8")
 2         {
 3             if (string.IsNullOrWhiteSpace(key)) throw new Exception("密钥不能为空");
 4             if (key.Length != 8) throw new Exception("密钥长度必须是8位");
 5             var encoding = Encoding.GetEncoding(codeName);
 6             byte[] bk = encoding.GetBytes(key);
 7             using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
 8             {
 9                 des.IV = bk;
10                 des.Key = bk;
11                 des.Padding = padding;
12                 des.Mode = mode;
13 
14                 byte[] pk = encoding.GetBytes(plain);
15                 using (MemoryStream ms = new MemoryStream())
16                 {
17                     using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
18                     {
19                         cs.Write(pk, 0, pk.Length);
20                         cs.FlushFinalBlock();
21                         byte[] result = ms.ToArray();
22                         ms.Close();
23                         return result;
24                     }
25                 }
26             }
27         }

 

style="font-size: 18px; font-family: 楷体; color: #000000;">1.3、3DES(TrippleDES):是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法(一般是:加密 解密 加密)。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。

style="font-size: 18px; line-height: 30px;">一个用.NET实现的3DES代码:

 1         public static byte[] TripleDesEncrypt(byte[] plain, byte[] key, byte[] iv, PaddingMode padding = PaddingMode.PKCS7, CipherMode mode = CipherMode.CBC)
 2         {
 3             using (TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider())
 4             {
 5                 if (iv != null) des.IV = iv;
 6                 des.Key = key;
 7                 des.Padding = padding;
 8                 des.Mode = mode;
 9 
10                 using (MemoryStream ms = new MemoryStream())
11                 {
12                     using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, iv), CryptoStreamMode.Write))
13                     {
14                         cs.Write(plain, 0, plain.Length);
15                         cs.FlushFinalBlock();
16                         byte[] result = ms.ToArray();
17                         ms.Close();
18                         return result;
19                     }
20                 }
21             }
22         }

style="font-size: 18px; font-family: 楷体;">2、非对称加密算法:非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。目前最为著名的公钥算法为:RSA。非对称加密可以解决数据的否认与抵赖以及身份认证等问题。

 云顶娱乐 9

style="font-family: 楷体; font-size: 18px; color: #000000;"> 2.1、常见的RSA公私钥文件格式:

Format     

Name

Description

PKCS #7

Cryptographic Message Syntax Standard

A PKCS #7 file can be used to store certificates, which is a SignedData structure without data (just the certificates). The file name extension is usually .p7b, .p7c

PKCS #8

Private-Key Information Syntax Standard.

Used to carry private certificate keypairs (encrypted or unencrypted).

PKCS #12

Personal Information Exchange Syntax Standard.

Defines a file format commonly used to store private keys with accompanying public key certificates, protected with a password-based symmetric key. It is the successor to PFX from Microsoft.

DER

Distinguished Encoding Rules

A binary format for keys or certificates. It is a message transfer syntax specified by the ITU in X.690.

PEM

Privacy Enhanced Mail

Base64 encoded DER certificates or keys, with additional header and footer lines. 

The PEM private key format uses the header and footer lines: 
-----BEGIN RSA PRIVATE KEY----- 
-----END RSA PRIVATE KEY----- 

The PEM public key format uses the header and footer lines: 
-----BEGIN PUBLIC KEY----- 
-----END PUBLIC KEY----- 

The PEM certificate uses the header and footer lines: 
-----BEGIN CERTIFICATE----- 
-----END CERTIFICATE----- 

style="font-size: 18px; font-family: 楷体; color: #000000;"> 2.2、常用的生成RSA公私钥文件的工具 

    ①OpenSSL

    ②Java自带的KeyTool工具。

style="color: #000000; font-family: 楷体; font-size: 16px;"> style="line-height: 30px;">    OpenSSL生成相关证书文件(公私钥文件)的操作方法,请见我的其它文章:

四)互联网支付数据完整性技术

style="font-family: 楷体; font-size: 18px; color: #000000;">1、数字摘要技术(Message Digest):

style="font-family: 楷体; font-size: 16px; color: #000000;">数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。数字摘要就是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。数字摘要是不可逆的。

style="color: #000000; font-family: 楷体; font-size: 16px;"> style="line-height: 30px;">通过比对摘要后的数据来判断原始支付报文数据在网络传输过程中是否有被篡改、是否完整和一致。

style="font-family: 楷体; font-size: 18px;">云顶娱乐 10

style="font-size: 18px; font-family: 楷体; color: #000000;">2、常用的数字摘要算法

style="font-size: 16px; font-family: 楷体; color: #000000;"> 2.1、MD5(Message Digest Algorithm),为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护;

style="font-size: 16px; line-height: 26.6667px;">一个用.NET实现的MD5摘要算法:

1         public static string Md5HexString(string plain, Encoding encoding)
2         {
3             using (MD5 md5 = new MD5CryptoServiceProvider())
4             {
5                 var bysHash = md5.ComputeHash(encoding.GetBytes(plain));
6                 var md5HexString = BitConverter.ToString(bysHash);
7                 return md5HexString.Replace("-", string.Empty).ToLower();
8             }
9         }

style="font-size: 16px; font-family: 楷体; color: #000000;"> 2.2、SHA(Secure Hash Algorithm)家族的五个算法:分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,后四者有时并称为SHA-2.SHA-1在许多安全协议中广泛使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec.在2005年,密码学家就证明SHA-1的破解速度比预期提高了2000倍,虽然破解仍然是极其困难和昂贵的,但随着计算机变得越来越快和越来越廉价,SHA-1算法的安全性也逐年降低,已被密码学家严重质疑,希望由安全强度更高的SHA-2替代它。

style="font-size: 16px; line-height: 26.6667px;">一个用.NET实现的SHA-1摘要算法:

1         public static byte[] Sha1Encrypt(string plain, Encoding encoding)
2         {
3             byte[] data = encoding.GetBytes(plain);
4             using (SHA1 sha1 = new SHA1CryptoServiceProvider())
5             {
6                 return sha1.ComputeHash(data, 0, data.Length);
7             }
8         }

style="font-size: 18px; font-family: 楷体;"> 3、数字摘要算法的总结

style="font-size: 18px; font-family: 楷体;">  style="font-size: 16px; font-family: 楷体;">3.1、哈希算法是一个单向不可逆的数学算法;

style="font-size: 16px; font-family: 楷体;">  3.2、对任何长度的信息报文,HASH能生成固定长度的信息摘要;

style="font-size: 16px; font-family: 楷体;">  3.3、同样的信息报文,其生成的摘要必定一致。

style="font-size: 16px; font-family: 楷体;">云顶娱乐 11

 

五)互联网支付数据真实性技术

style="font-size: 18px; font-family: 楷体;">1、数字签名:身份互信的解决方案

style="font-family: 楷体; font-size: 16px; color: #000000;">公开密钥加密算法 数字摘要技术,数字签名技术最重要的应用领域是身份认证,身份认证的作用是对用户的身份进行鉴权,是网络安全管理的重要基础。身份认证可以单向的(服务端对客户的端进行身份识别和认证),也可以是双向的(客户端和服务器端互相认证)。

style="font-family: 楷体; font-size: 18px; color: #000000;">云顶娱乐 12

 

style="font-family: 楷体; font-size: 18px;">2、数字证书:数字签名付诸实践的强有力的保障手段

style="font-size: 16px; line-height: 26.6667px;">数字证书,一般又会称为:CA证书,它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份,保证对方身份的真实性。

云顶娱乐 13

style="font-size: 16px; font-family: 楷体; color: #000000;">CA证书的生成过程:

云顶娱乐 14

style="font-size: 16px; font-family: 楷体; color: #000000;">通过HTTPS访问网站时,CA颁发的公钥证书可以让主流的浏览器获取信任并采用预定的算法进行加密和签名。证书公钥文件在Client与Server通过TSL/SSL协议进行握手时由Sever端下发给Client,接下来Client会通过证书公钥对证书进行验签同时也会校验证书其它的相关信息:是否可信任、是否与当前域名匹配、是否在有效期内,是否被吊销等。

云顶娱乐 15云顶娱乐 16

 

style="font-size: 18px; font-family: 楷体;"> 3、SSL协议都做了写什么?

   3.1、机密性:交易双方在定了会话密钥后,所有的消息都将会被加密;

   3.2、完整性:通过数字签名、数字摘要等技术保证了传输信息的完整性;

   3.3、认证性:在SSL握手层,双方交换数字证书,验证和保证对方身份的合法性。

总结:互联网支付,安全是基石。

 

帮助到您了吗?

打赏作者(支付宝):

云顶娱乐 17

 

按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机

这些其实都是网络安全的一部分,网络安全的英文很简单,就是 network security,同样的,国家安全是 national security,个人安全是 personal security

安装操作系统

安装 Ubuntu 14.04,并配置 eth0 的 IP devstack-controller  192.168.104.10 devstak-compute    192.168.104.11

网络安全很重要,它跟我们每个人息息相关,因为:

下载代码

下载 devstack 代码,并切换到 stable/liberty 分支

apt-get install git -y
git clone -b stable/liberty

Without network security, we're just like a naked guy in the network feeling insecure day and night.

style="font-size: 16px;">如果没有网络安全,我们就会日夜没有安全感、好像把自己裸露了一样。

配置 stack 用户

创建 stack 用户

style="font-size: 16px; font-family: 'Microsoft YaHei';">devstack/tools/create-stack-user.sh

为方便起见,将devstack目录放到/opt/stack下,并设置权限

mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack

切换到 stack 用户

su – stack
cd devstack

再看个例句,

编写运行配置文件

在 /opt/stack/devstack 目录下,创建 local.conf。

The identity authentication is one of the important foundation of network security.

style="font-size: 16px;">身份认证是互联网安全的重要基础之一。

devstack-controller

style="font-size: 16px; font-family: 'Microsoft YaHei';">[[local|localrc]]

style="font-size: 16px; font-family: 'Microsoft YaHei';">MULTI_HOST=true
style="font-size: 16px; font-family: 'Microsoft YaHei';">HOST_IP=192.168.104.10 # management & api network
LOGFILE=/opt/stack/logs/stack.sh.log

# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# enable neutron-ml2-vlan
disable_service n-net
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default

style="font-size: 16px; font-family: 'Microsoft YaHei';">LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen

devstack-compute

style="font-size: 16px; font-family: 'Microsoft YaHei';">[[local|localrc]]

style="font-size: 16px; font-family: 'Microsoft YaHei';">MULTI_HOST=true
HOST_IP=192.168.104.11 # management & api network

# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# Service information
SERVICE_HOST=192.168.104.10
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST

style="font-size: 16px; font-family: 'Microsoft YaHei';">CEILOMETER_BACKEND=mongodb
DATABASE_TYPE=mysql

style="font-size: 16px; font-family: 'Microsoft YaHei';">ENABLED_SERVICES=n-cpu,q-agt,neutron
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default

# vnc config
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL=""
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

style="font-size: 16px; font-family: 'Microsoft YaHei';">LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen

另外,为了加快安装速度,还可以加上下面的配置使用国内的 devstack 镜像站点

# use TryStack git mirror
GIT_BASE=
NOVNC_REPO=
SPICE_REPO=

▽返回搜狐,查看更多

开始部署

分别在 devstack-controller 和 devstak-compute 上执行命令

style="font-size: 16px; font-family: 'Microsoft YaHei';">./stack.sh

会输出各项操作的结果。 日志会写到 stack.sh.log 文件。
整个过程需要连接Internet,网速慢可能会花较长时间,成功后最后会打印出相关信息。

devstack-controlle 上的输出

云顶娱乐 18

devstack-compute 上的输出

云顶娱乐 19

责任编辑:

验证 OpenStack

下面验证 OpenStack 已经正常运行 浏览器访问 的 IP) admin/admin 登录

云顶娱乐 20

点击 System->System Information,确保各个服务的状态正常

云顶娱乐 21

云顶娱乐 22

云顶娱乐 23

这里 cinder-volume 的状态是 “Down”,这是因为我们还没有配置 cinder,后面会让它 Up 起来。

云顶娱乐 24

启动 OpenStack

如果重启了系统,OpenStack 不会自动启动,可以运行下面命令

cd devstack ./rejoin-stack.sh

运行成功后,OpenStack 的每个服务都在一个 screen 中以进程方式运行。 使用 screen 有几个好处:

  1. 可以方便的在不同服务之间切换和查看日志。 因为OpenStack的服务很多,每个服务都有自己的日志文件。 查找日志是一件非常麻烦的事情,screen可以帮我们提高效率。

  2. 当我们修改了某个服务的配置文件需要重启服务时,只需在该服务的 screen 窗口 Ctrl C,然后在命令行中找到上一个命令(Up键)执行就行,这个命令就是启动服务的命令。

云顶娱乐 25

下面是 screen 常用命令
在 screen 中执行
Ctrl a n 切换到下一个窗口
Ctrl a p 切换到前一个窗口(与 Ctrl a n 相对)
Ctrl a 0..9 切换到窗口 0..9
Ctrl a d 暂时断开(detach)当前 screen 会话,但不中断 screen 窗口中程序的运行

在 shell 中执行
screen -ls  列出当前所有的 session
screen -r stack  回到 devstack 这个 session

删除自动创建的网络

Devstack 在部署时可能会创建几个测试网络,为了得到一个干净的环境需将其删除

删除 Router Admin->System->Routers

云顶娱乐 26

删除 Network Admin->System->Networks

云顶娱乐 27

至此,我们得到了一个干净的 OpenStack 环境。 后面会在这个环境中实践各个模块。

云顶娱乐 28

编辑:风俗习惯 本文来源:天天5分钟玩转,职场术语

关键词: 云顶娱乐