数据存储与数据交换的安全性
数据存储-数据传输-数据交换-数据共享
保障数据的完整性、保密性和可用性,
防范数据丢失、篡改、假冒和泄露等安全风险
技术手段:
流程制度:安全保护措施
详细地记录并保存数据共享的所有操作和行为,为数据共享安全事件的处置、应急响应和事后调查提供帮助。
审批授权-数据共享-审计及溯源
法律法规:
具体措施: 外发数据加密和签名
流程记录-时间、地点、相关参与方
认证和校验 彩虹表破解(RainbowCrack) --渗透测试以及攻防安全
下载的计算机工具--安装包等的安全
签名文件以及校验文件
校验和签名
签名文件 +加密 +认证 +验证
01.校验文件: Linux 校验命令 md5sum sha1sum
01.判断两个文件是否相同,可以使用校验和(checksum),检验和一样,则两个文件相同。
02.加密文件
使用gpg命令加密文
gpg -c plainfile.txt
解密
gpg plainfile.txt.gpg
03.签名文件 --PGP签名技巧 PGP(Pretty Good Privacy)是一种用于保护个人通信内容的安全协议。PGP使用一种混合加密系统
PGP数字签名使用私钥/公钥对,
发送者可以使用自己的私钥对通信内容进行数字签名,
接收者使用发送者公钥进行验证,以确保通信信息来自发送者并未被篡改
步骤
1.生成密钥对的命令如下:
gpg –gen-key #在输入命令后,系统会提示输入生成密钥所需的信息,如名称、邮箱、密码等等。
2.使用命令行工具gpg来进行PGP签名
gpg –sign filename #其中,filename是待签名的文件名 执行命令后,系统会提示输入密钥密码,输入正确的密码后,签名就会生成
3.使用命令行工具gpg来验证PGP签名。
gpg –verify filename.sig filename
验证签名的命令如下:执行命令后,系统会提示签名的真实性 filename.sig是签名文件的文件名
4.导入PGP公钥 使用PGP加密通信 使用PGP解密通信
gpg –import
gpg –encrypt -r
gpg –decrypt
Git免密拉取代码
1.ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
创建一个公钥(id_rsa.pub)和私钥(id_rsa)
2.公约 添加SSH Key到GitHub/GitLab等服务器:登录到你的Git服务商网站,找到“Settings”-> “SSH and GPG keys”
3.测试联通性 git@github.com git对应的网站
ssh -T git@github.com (如果你使用的是GitHub),或者ssh -T gitlab.com
4.拉取代码
软件包密钥--数据存储与数据交换的安全性
GPG就是用来加密数据与制作证书的一套工具,它是一个完全免费、源代码公开,并且与PGP完全兼容的软件产品
gpg –gen-key
查看公钥# gpg –list-keys
GPG是使用OpenPGP标准提供数字加密和签名服务的命令行工具。您可以使用它的–gen-random选项来生成一个强PSK,并通过base64编码对其进行过滤
ssh-keygen
是 OpenSSH 身份验证密钥实用工具。 ssh-keygen 用于OpenSSH身份验证密钥的生成、管理和转换,它支持 RSA 和 DSA 两种认证密钥
apt-key
用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥
本地trusted数据库中,使用描述性名称,以gpg或asc作为文件扩展名
/etc/apt/sources.list指定的源更新软件列表
Release文件和签名文件[.gpg]分离的
Release 文件
Release文件包含分发元数据和索引文件的校验值
apt 要求随 Release 文件一起发布一个 Relesase.gpg 的签名文件,用来验证安装包提供者的信息
之前:官方保存 /etc/apt/trusted.gpg文件中。
第三方软件密钥需要通过apt-key add [.gpg] 安装到/etc/apt/sources.list.d/目录下
说明:新的密钥将存在 /etc/apt/trusted.gpg.d/ 目录下, 而不是/etc/apt/trusted.gpg文件中
rpm数据库文件目录为/var/lib/rpm,
rpm数字签名验证功能主要是向系统管理员提供一种有用的管理机制,其使用/var/lib/rpm目录下的数据库内容,来比较当前linux系统环境的所有组件
$rpm -Va #验证系统所有RPM包
--sign参数来加上数字签名。
$rpmbuild -ba --sign xxx.spec
Maven仓库
java包--公开自己 Jar 包,
类文件(.class) test-java-1.0-SNAPSHOT.jar 使用 maven 打包生成即可
文档包(API) test-java-1.0-SNAPSHOT-javadoc.jar 使用 maven-javadoc-plugin 插件生成javadoc.jar
资源包(code) test-java-1.0-SNAPSHOT-sources.jar 使用 maven-source-plugin 插件生成sources.ja
其他文件:
打包文件配置-.pom
签名文件xx.jar.asc ,使用 maven-gpg-plugin jar包对应的签名文件(.asc)会自动生成来验证jar包是否确实是官方发布的包
校验文件文件经过网络传输等原因对源项目包造成损坏时方便排查,一般做法是在maven工程打包时自动 自动生成MD5和SHA-1校验文件