加密安全以及CA(修改版1.0)

本文介绍了加密技术的基础概念,包括对称加密与非对称加密的特点及应用,详细讲解了DES、3DES、AES等对称加密算法,以及RSA、DSA等非对称加密算法,并探讨了数字签名的实现方式。此外还涵盖了HASH算法的应用场景及其如何确保数据完整性。

加密算法

对称加密:加密和解密使用同一个密钥key,有如下算法:

DES(Data Encryption Standard)(56bits)

3DES(128bits)

AES(Advanced Encryption Standard)(128,192,256bits)

特征:效率高,但是无法确认数据的来源

 

非对称加密:成对出现的公钥(public key)、密钥(secret key)

公钥:公开给所有人

密钥:自身留存,保证隐私性

每对公私钥都只可以相互解锁

主要算法有:RSA(加密,数字签名)、DSA(数字签名)

数字签名的实现:  

发送者生成公钥、密钥:P、S

将公钥公开,并对信息M进行密钥加密S(M)

接收者使用收到的公钥P来解密S(M),成功即可验证数字签名

特征:数据可确认来源

 

HASH算法:HASH FILE = DIGEST

通过不同的Hash算法可以给指定文件生成一连串的字符号,简称摘要,文件内容不变,摘要一定不变,可用来检查数据的完整性。

HASH -c FILE  检查文件是否变化

常用的HASH算法工具有:

md5sum(128bits)

sha{1|224|256|384|512}sum(其中1表示160bits)


上述三种算法结合的使用模式:

a传输者

Key{ Sa{ HASH(data)}+data } + Pb(Key)

b接收者

Sb得到Key---àKey得到Sa{ HASH(data)}+data---àPa得到HASH(data)

另外进行HASH(data)作比较,相同则data成功传输


另外还有DH算法加密,网址如下:

https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange



实现加密的命令和举例

A主机:传输数据   B主机:接收数据

对称加密:

gpg的方法:

A: gpg -c FILE          对文件加密生成 FILE.gpg,然后将FILE.gpg传送给B

B: gpg -o FILE_NAME -d FILE.gpg    解密文件至指定文件名

openssl的方法:

A: openssl enc -e [-加密算法] -a -salt -in FILE -out FILE_NAME

    FILE_NAME传送给B

B: openssl enc –d [-加密算法] -a -salt -in FILE_NAME -out FILE

(其中-salt称为盐,对密钥起到保护作用,使密钥不被轻易解读)

 

非对称加密:

gpg的方法:

A: gpg --gen-key            A上生成公私钥

gpg -a --export -o PAkey_NAME    A上公钥导出到文件

PAkey_NAME传输给B

B:(为演示选择pubkey解密,B也生成公、私钥)

gpg --gen-key         B上生成公私钥

gpg --import PAkey_NAME      B导入A的公钥:

gpg -e -r PAkey_NAME FILE B使用A的公钥对文件FILE进行加密,生成FILE.gpg

然后将FILE.gpg传输给A

A:解密

gpg -o FILE_NAME -d FILE.gpg 解密文件至指定文件名


gpg命令生成公、私钥存放在 /root/.gnupg/目录下

gpg --list-keys      可查看本机上的公、私钥

最后删除公私钥:(必须先删除私钥)

gpg --delete-secret-keys KEY_NAME

gpg --delete-keys KEY_NAME



CA证书

专门的第三方CA机构充当中间人的角色

HTTPS协议的基于CA认证的工作原理:

Client(客户端)   发送请求 ->           Service(服务端)

Client(客户端)   <- 发送Sca(Pserver) Service(服务端)

Client(客户端)  Pca验证Sca(Pserver)确定Pserver真实性

Client(客户端)   验证成功,生成随机数字作为key,用Pserver加密后发送 ->      Service(服务端)

Client(客户端)   <-通过key互相加密传输文件 -> Service(服务端)


CA建立基于openssl命令工具的使用

Openssl命令建立公、私钥:

私钥: openssl genrsa -out FILE.key [-des] 2048 

       (其中 [ ]内算法可变以及不使用,2048是私钥长度位数,可变)

若对加密后的私钥解密,则执行如下:

        openssl rsa -in FILE.key -out NEW_NAME.key

从私钥中提取公钥:

        openssl rsa -in FILE.key -pubout -out FILE.key.pub

(其中公、私钥的路劲可自己指定存放目录)


CA的搭建和认证:

假设A主机充当CA机构     B主机申请CA证书

A:

创建私有CA:(具体要求在/etc/pki/tls/openssl.cnf配置文件中)

第一步:生成密钥

密钥的路径和名字固定:/etc/pki/CA/private/cakey.pem

为了保证密钥的安全,可以对其进行权限设定和算法加密:

(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 1024)

第二步:生成自签名证书文件

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 100 -out /etc/pki/CA/cacert.pem

其中“-x509”就是在自签名证书时使用

B:

申请CA证书:

第一步:在需要申请证书的主机上生成密钥

(umask 066;openssl genrsa -out test.key -des3 1024)

第二步:生成证书申请文件(申请文件一般以.csr结尾)

openssl req -new -key test.key -out test.csr

第三步:将申请文件test.csr发送给A

A:

签署申请后颁发给B

第一步:需要在 /etc/pki/CA/目录下生成两个文件

touch index.txt  索引数据库文件

echo “序号”> serial  指定第一个颁发证书的序号

第二步:签署颁发

openssl ca -in test.csr -out /etc/pki/CA/certs/test.crt -days 600

注意:申请证书中默认国家、省、公司三项必须和CA一致。若需要变动,则可以在/etc/pki/tls/openssl.cnf配置文件中修改相关选项



 

一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×4801280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值