播放器视频数据如果不想为其他客户端窥视,必须进行视频加密和解密。其中的加密原理如下文所示: 加密原理
加密方式依然为证书加对称加密相结合。这种方式同时保证了时间和效率。过度加密不可取。 播放器自己编写,否则无法解密。流程:
1.1 网络方式:客户端的网络方式为异步读取,一个线程读取所有线路通道的包,送往解密线程队列, 协议为标准rtsp信令,进行rtp over tcp over rtsp 播放方式。一个客户端一个session会话。RTP 方式使用tcp时,有利于接收方使用字节数进行内存池安排,进行零拷贝方式使用内存帧。
1.2 解密流程:a) 解密时取队列数据,根据等级保护级别判断是否该帧是否被加密, b) 解密后解码 c) 根据seqnum 和时间戳进行播放。 d) 录制直接写入文件,写入等级保护级别,后可以根据等级保护级别读取播放
2、 解密视频解密必须由服务器端配合。两种方式: 1 客户端可以正常接收,在接收之前的握手协议必须加密。
2 客户端正常接收的是加密数据,必须使用密钥解密才能正常播放,其他播放器链接时会正常交互,但是视频不可以解码。如vlc 链接密加服务器时,正常连接,但无法播放,数据可以正常保存,但无法观看,而我们制作的客户端可以正常观看。
3 水印 正常的明水印,在图片上刻上水印,至于暗水印,考虑在每个关键帧的地方加入水印,很多企业使用的方式是在增强帧里面加暗水印,这个做法不安全。
rtsp客户端分几个等级保护 1 AES 对称级别 保护sps pps 信息 AES 加密 2 AES 对称级别 保护关键帧信息 AES 加密 3 证书加密级别 保护 sps pps 使用 证书加密 4 证书加密级别 保护sps pps 关键帧 使用证书加密 5 证书加密级别 保护所有信息 包含关键帧 非关键帧 6 AB 协议级别 使用私有AB协议 传输
rtsp 客户端里的sdp 信息等等不加密,关键信息加密,具体参看我前面一片文章,使用增强帧通知和使用证书加密。
rtsp 客户端完全自己编写,使用vlc 等客户端播放时可以正常接收数据,无法播放。
具体代码等我放出,
2022-10-10 日修改
4 签名和国密认证1 前端密码安全模块 2 加密卡 4 服务器密码机 5 签名验签服务器 6 KMC密钥管理系统、CA数字证书认证系统 商用密码产品,形成从硬件密码模块、硬件密码设备到密码应用管理软件平台的密码应用闭环解决方案。
针对公共视频监控联网安全,结合GB35114-2017国家标准, 1 开发用于IPC等智能前端设备的安全TF密码卡、 2 用于视频访问用户身份验证的智能密码钥匙、 3 用于媒体服务器提供设备身份认证 4 视频加解密功能的视频加密卡 5 用于视频密钥管理服务 6 证书制发/查询/验证等功能的视频密钥管理系统和CA数字证书认证系统。 为公共安全视频监控联网系统提供以下安全服务
设备身份认证 视频访问用户身份认证 视频数据签名认证 视频加解密