公共安全视频密码算法检测工具的设计与实现
2022/8/29 09:22   公安部检测中心      关键字:公共安全 视频密码 算法检测      浏览量:
GB 35114-2017《公共安全视频监控联网信息安全技术要求》的技术核心是利用国产密码算法解决视频监控联网系统信令及视频传输、存储的信息安全问题。
  GB 35114-2017《公共安全视频监控联网信息安全技术要求》的技术核心是利用国产密码算法解决视频监控联网系统信令及视频传输、存储的信息安全问题。本文参照国密算法验证的相关方法,结合GB 35114-2017中的国密算法实际应用方式,设计检测工具及方法,满足了视频监控系统中所涉及的国密算法正确性、证书正确性、随机数随机性正确性等检测要求。
  1、标准修订背景
  随着平安城市、雪亮工程等项目的建设和实施,我国已经建成全世界最大规模的视频监控联网系统。公共安全视频监控系统成为新形势下维护国家安全和社会稳定、预防和打击犯罪的重要手段。
  视频图像信息大规模的联网共享应用,为社会治理现代化带来便利的同时也使得其信息安全面临着严峻考验。摄像头的入侵劫持、非法控制、恶意访问和视频数据泄露等安全事件日渐增多,视频监控系统的安全状况引发了大众的关注与焦虑。
  GB 35114-2017《公共安全视频监控联网信息安全技术要求》的制订与实施,正是为了应对公共安全视频监控联网系统中日益严重的信息安全挑战。标准的技术核心,是在基于原有GB 28181-2016《公共安全视频监控联网系统信息传输交换控制技术要求》所构建的视频监控联网系统之上,采用国产加密算法,对视频监控联网系统传输信令、视频传输与存储进行保护,从而解决视频监控系统的设备接入、控制调用、视频传输等环节中所面临的信息安全问题。由此可见,确保视频监控系统所使用的密码算法符合国产密码算法要求,是视频监控系统符合GB 35114-2017的前提保证。
  2、检测内容与方法
  参照国密算法验证的相关方法,结合GB 35114-2017中国密算法实际应用方式,我们设计了视频监控系统密码算法检测内容及方法,并实现了检测工具。
  检测内容主要包括四大项,具体分别为: 算法正确性检测、证书正确性检测、随机数随机性检测、FDWSF密码模块检测。
  2.1 算法正确性检测
  GB 35114-2017中涉及使用的国密密码算法为SM2/SM3/SM4三类,密码算法的检测将围绕这三类算法进行检测方法与工具设计。
  2.1.1 SM2算法检测
  SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2数字签名算法、SM2密钥交换协议、SM2公钥加密算法,分别用于实现数字签名、密钥协商和数据加密功能。
  在GB 35114-2017中规定,FDWSF应具备基于数字证书与管理平台双向身份认证的能力。这一要求的实现涉及SM2签名和验证签名,签名及验签流程如图1所示。
  1)签名时,签名方对消息进行杂凑运算得到摘要e;使用私钥及随机数K对摘要值进行椭圆曲线运算得到签名值,并将签名值及消息发送接收方;
  2)验签时,验签方接收到消息后,拆分出消息和消息签名值,使用公钥对消息进行运算得到摘要值,经椭圆曲线运算得到签名R,与接收到的消息签名进行对比验签。
  根据上述签名、验签流程, 对视频监控系统中SM2算法的应用正确性验证。涉及SM2加密、SM2解密、SM2密钥对协商、带ID的SM2签名、带ID的SM2签名验签等方面。
  检测方法设计上,针对多组不同长度的明文、相应密文及公钥、私钥、签名ID等相关数据,进行运算比对,验证结果是否一致。
  2.1.2 SM3算法检测
  SM3算法是一种杂凑算法,任意长度的数据经过SM3哈希运算后会生成长度固定为256bit的杂凑值。SM3算法的逆运算在数学上是不可实现的,即通过256bit的摘要无法反推出原数据的内容,因此,在信息安全领域内常应用SM3算法进行信息的完整性度量。
  GB 35114-2017中应用带密钥的杂凑算法SM3对重要控制信令进行认证。
  根据上述SM3哈希流程,我们通过对多组不同字节长度的消息及杂凑值进行运算及比对,验证系统中所使用的杂凑算法是否符合SM3算法要求。
  2.1.3 SM4算法检测
  SM4算法是一种对称分组密码算法,128bit为一组进行加解密。密钥也固定为128bit,使用某一密钥加密后的密文只能用该密钥解密出明文,故而称为对称加密。SM4算法采用32轮非线性迭代实现,解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序,SM4算法加解密速度较快,常应用于大数据量的加密,加解密流程如图3所示。
  GB 35114-2017中采用SM4-OFB进行视频流的加解密,用于视频数据的加密保护;采用SM4-ECB用于密钥协商数据的加密保护。
  根据SM4加解密流程,我们设计检测工具,对16-160字节的消息明文、密钥、初始向量、消息密文进行运算及比对,实现SM4-CBC、SM4-ECB、SM4-OFB等模式的加密算法正确性验证。
  2.2证书检测
  GB 35114-2017中要求支持基于数字证书的用户身份认证。
  参照GM/T 0009-2012 《SM2密码算法使用规范》和GM/T 0015-2012《基于SM2密码算法的数字证书格式规范》,X.509 V3数字证书结构规定,如图4所示。
  因此,证书的检测涉及以下项目:
  1)是否符合国密X.509证书格式;
  2)是否符合国密公钥椭圆曲线(1.2.156.10197.1.301);
  3)是否是SM3 with SM2签名证书(1.2.156.10197.1.501);
  4)是否包含SM2公钥信息;
  5)是否包含证书主题;
  6)是否包括证书序列号;
  7)时间有效性是否正确;
  8)签名数据是否正确;
  9)是否包含证书扩展/增强扩展项;
  10)是否包含颁发者/使用者标识。
  若检测工具检测到用户X.509证书包含以上各信息, 则判定数字证书格式符合GM/T 0015-2012规范要求。
  图5为检测的证书文件及检测结果。
  2.3随机数检测
  随机数生成是密码算法的关键。按照GM/T 0005-2012《随机性检测规范》,我们设计采集随机生成的1000*128kB(个/大小)随机数文件, 进行随机数检测;
  检测工具按照GM/T 0005-2012中定义的以下15项随机性要求进行检测:
  1)单比特频数检测;
  2)块内频数检测;
  3)扑克检测;
  4)重叠子序列检测;
  5)游程总数检测;
  6)游程分布检测;
  7)块内最大“1”游程检测;
  8)二元推导检测;
  9)自相关测试;
  10)矩阵秩检测;
  11)累加和检测;
  12)近似熵检测;
  13)线性复杂度检测;
  14)通用统计检测;
  15)离散傅立叶检测。
  若检测结果的整体随机性高于90%,则视为符合随机性的要求。
  图6为1000组随机数及检测结果。
  2.4 FDWSF密码模块检测
  FDWSF密码模块模拟终端视频设备,对SIP服务器视频服务器设备进行注册认证,控制信令,以及视频加解密检测,如图7所示。
  2.4.1注册认证检测
  按照GB 35114-2017要求,检测工具模拟FDWSF终端视频设备,与受测SIP服务器进行双向身份认证检测,验证前端设备应基于数字证书与管理平台双向身份认证的能力是否满足。
  2.4.2视频签名检测
  按照GB 35114-2017的要求,检测工具模拟FDWSF终端视频设备,与受测SIP服务器进行双向认证注册成功后,基于RTP over TCP协议向受测视频服务器发送带签名的符合GB/T 25724-2017 《公共安全视频监控数字视音频编解码技术要求》要求的视频数据,验证系统是否满足视频验签的要求。
  3、检测效果
  通过对国密SM2非对称算法、SM4对称算法和SM3摘要算法离线密钥文件的正确性检测, 检测工具可以有效验证系统中所使用国密算法是否正确, 是否遵循国密GM/T 0002-2012、GM/T 0003-2012和GM/T 0004-2012算法实现标准的要求。
  通过对国密X.509证书, CRL证书撤销列表和P7B证书链格式的离线验证, 可以有效验证受测系统所使用国密证书格式是否规范, 是否完全遵循GM/T 0015-2012证书格式规范。
  通过对1000个128kB大小的随机数文件进行离线检测, 可以详尽且充分的解析随机数随机性和随机分布的概率, 可以有效验证受测随机数是否完全遵循GM/T 0005-2012随机数生成规范。
  通过与使用国密算法加密的SIP信令和视频数据的在线对接检测, 可以实时验证受测系统是否满足双向身份认证、视频数据验签与解密的要求。
  4、结语
  GB 35114-2017《公共安全视频监控联网信息安全技术要求》通过国产密码算法对原有视频监控系统进行升级完善,从而构建具有安全功能的公共视频监控联网系统,保障视频数据及控制信令信息真实性、完整性、保密性。
  本文设计实现的国密算法检测方法及检测工具,对视频系统中所使用的密码算法、证书、随机数是否符合国产密码算法相关要求进行验证,是公共安全视频监控系统、产品的GB 35114-2017标准符合性检测的技术补充,为GB 35114-2017的全面实施与应用提供了有力保证。

微信扫描二维码,关注公众号。