北斗高精度数据传输安全研究*
2020-09-27张舒黎石元兵帅军军
王 雍,张舒黎,石元兵,帅军军
(成都卫士通信息产业股份有限公司,四川 成都 610041)
0 引言
北斗卫星导航系统是我国自主发展、独立运行的全球卫星导航系统[1],与美国的GPS、俄罗斯的GLONASS 以及欧盟的Galileo 并称全球四大卫星导航系统。北斗卫星导航系统结合分布在地面的连续运行基准站,为用户提供亚米级、厘米级甚至事后毫米级的高精度定位[2]。随着北斗卫星导航系统的逐步全球化,北斗高精度数据应用在民用领域的应用不断扩充,在智能交通领域为车辆提供精确的导航定位,在农业领域进行精准播种,在设施监测领域为桥梁边坡进行变形监测。目前,在民口应用中,北斗高精度数据都是以明文方式进行传输,传输敏感数据时存在安全保护需求。本文从北斗高精度数据在传输中的应用中提炼抽象出共性的安全需求,结合商密算法进行研究,设计出北斗高精度数据分级授权分发的安全防护方案,确保北斗高精度数据得到合理的应用。
1 北斗高精度数据传输安全分析
1.1 北斗高精度数据应用基本情况
北斗高精度数据应用是基于BD/GPS 卫星定位技术、计算机网络技术、数字通信技术等高新科技,通过在一定区域布设若干个GNSS 连续运行参考基准站,对区域GNSS 定位误差进行整体建模,然后通过数据通信网络向用户播发定位信息和增强信息。北斗高精度定位信息相比传统定位信息可以显著提高定位和授时精度,可使终端的定位精度提高到米级以内,且定位精度分布均匀、实时性好、可靠性高。
整个系统由空间卫星、基准站、数据中心、用户终端以及相应的数据传输系统组成[3]。空间卫星定位数据生成并下发。基准站对卫星定位数据跟踪、采集、传输,对系统实施可靠性监测。数据中心包括数据处理中心和传输中心,接收并控制各基准站发回的数据;对数据进行分析、处理、存贮、管理;形成一定格式的数据文件,发送给用户。用户终端包括高精度卫星接收机、手机、车载终端等GNSS信号接收,实时差分解算,事后处理解算。系统组成如图1 所示。
1.2 北斗高精度数据传输安全现状
北斗高精度数据传输包含基准站到数据中心和数据中心到用户端两段数据传输。目前,基准站到数据中心通过专线传输高精度数据时,通常不做任何加密处理。数据中心到用户端的数据传输过程中,只对用户端做了身份验证,未对数据发送方做身份验证,因此用户端无法判断接收的数据是否为真实的基站发出,缺少真实性和有效性。北斗高精度数据属于敏感数据,目前任何用户都可以接收,缺乏对高精度数据的分级分发监管机制。
图1 系统组成
北斗高精度数据传输存在如下的安全隐患[4]。
(1)高精度数据泄露。单个基准站的数据只是敏感数据不涉密,但多个基准站的数据汇聚在一起后形成秘密级数据。北斗高精度数据传输过程中涉及以太网、光纤、无线网络等多种传输方式,数据缺少加密方式,网络协议脆弱,数据易被监听、入侵。秘密数据一旦被不法分子获取策划不法行动,将会对人民生命财产安全造成不可估量的严重后果。
(2)高精度数据完整性破坏。高精度数据协议校验简单,无完善的完整性校验机制,高精度数据在传输过程中存在非法篡改、破坏等风险。
(3)身份仿冒。攻击者可以伪造成基准站,从而实现对运营服务平台的攻击。攻击者也可假冒用户访问应用平台从事破坏行为。用户终端与数据中心间仅通过“用户名+口令”的方式,实现身份认证,认证方式过于简单,一旦口令被泄露或者攻破,将面临着身份冒用的风险。
(4)权限滥用。不同权限的用户越权访问应用平台资源,易造成北斗数据信息的泄漏,情况严重时会危害整个系统。业务服务器、数据库服务器等主机中容易出现安全漏洞,一旦这些漏洞被攻击者掌握,将会造成巨大的破坏。针对数据库进行攻击或者误操作,会给数据库带来极大的危害。北斗高精度亚米级以下的导航软件,高精度北斗系统位置数据采集、处理、存储等流程缺乏监督监测机制,普通用户可轻易获取,而数据传输过程也易被不法分子截获利用,安全风险问题多,风险系数高。
综上所述,目前民用高精度数据应用面临的安全风险主要为数据泄露、数据完整性破坏、身份仿冒和权限滥用等方面的安全风险。
1.3 北斗高精度数据传输安全需求
随着北斗高精度数据应用率越来越高给人们带来更加精准便利的生活,高精度数据的应用变得越来越重要。目前,民用高精度数据传输多采用公网明文传输的方式,使数据面临着一系列安全问题,因此存在如下安全需求[4]。
(1)身份认证安全需求。高精度数据传输为标准的通信协议,当高精度设备被人为更换、替代后,网络不法分子很容易模拟进入软件平台,接入到北斗应用网络,对网络内的其他设备或主机进行攻击。为此可使用基于数字证书的身份认证,保证终端设备身份的合法性与唯一性。
(2)数据机密性安全需求。各行各业对北斗卫星数据的精度需求不同,高精度需求对高精度数据安全防护要求更高,需要做到多重防护。
(3)数据完整性安全需求。高精度数据的明文传输、行业协议的标准化,导致数据和协议很容易被篡改,因此需要对数据完整性进行保护。
(4)分级授权需求。对不同定位精度进行分级授权的安全防护需求,保证在网络上传输的高精度数据机密性。构建普通用户“仅能使用,不可查看”、专业用户“受限查看”、管理部门“敏感数据全生命周期安全及可视化的全程监督管理”的权限。高精度用户使用厘米级的高精度数据,中等精度用户使用亚米级中等精度数据,普通大众用户使用米级精度数据。
2 北斗高精度数据传输安全应用
2.1 总体介绍
北斗高精度数据的传输分两部分:第一部分指从基准站接收到卫星信号后,通过专线或者公网传输到达数据中心;第二部分指数据传输中心负责把数据处理中心做脱密处理后的差分改正数据发送给用户端。此过程中高精度数据传输的模型如图2 所示。
图2 高精度数据传输的模型
基准站:在北斗系统中,基准站按需求分布在全国各地,实时接收北斗导航卫星发送的定位信息,并将信息通过专用网络发送给其对应的数据中心。
数据中心:数据中心接收来自于各个基准站的卫星定位数据,然后做脱密、差分校准等计算工作,并将计算得出的差分校准值等通过互联网发送给有导航定位需求的用户。
用户:用户通过互联网请求接收的方式获取来自数据中心的差分校准值,进而进一步矫正自己直接接收到的来自于北斗卫星的定位数据,以获得精确的导航定位信息。
通过对高精度数据传输过程的研究,把传输过程中的两部分进行安全防护的设计,以确保整个过程中获得的高精度数据的完整性和真实性。
2.2 北斗高精度数据传输安全应用总体框架
系统围绕国产自主可控的商用密码构建安全体系,以PK/CA 码体制、商用密码算法、商用密码协议为基础,结合密码芯片、密码模块、密码设备、密码设施等密码产品,在网络和通信安全、设备和计算安全、数据和应用安全等方面应用密码技术,重点解决基准站与数据中心之间高精度数据的传输安全问题以及数据中心与用户终端之间的高精度数据安全分发问题,同时兼顾基准站、数据中心高精度终端的安全防护,全面保障北斗高精度数据的安全传输与应用,如图3 所示。
2.3 高精度数据传输安全防护方案
2.3.1 基准站到数据中心安全保护方案
如图4 所示,在基准站到数据中心间的通信链路上添加网络加密设备进行安全保护。网络加密设备以商用密码技术为核心,在TCP/IP 体系的网络层提供隧道传输和加密功能,为基准站与数据中心间通信链路采用SM2 算法进行认证、采用SM4 算法进行加密服务、采用SM3 算法实现数据完整性校验[4]。
图3 系统总体框架
图4 基准站到数据中心安全设计
在基准站现有产品的基础上,以密钥、设备证书为安全基础,通过配置密码模块(USBKey 或安全芯片)、密码中间件对密码资源的基础算法进行封装,提供密码服务;配置SecPortal[5]客户端(TLS),实现基准站与数据中心的业务/监控数据的安全传输,保障基准站的合规性和安全性。
逻辑结构如图5 所示。
图5 密码应用逻辑结构
安全模块:配置USBKey 或安全芯片以及相应的驱动程序,提供商用密码支撑。
安全组件:密码中间件对安全模块的API 进行封装,提供密码运算服务,减少业务应用调用复杂度,降低密码应用的门槛。基准站本地存储业务,调用中间件的接口,实现原始观测数据的加密存储。
SecPortal 客户端(TLS):与数据中心的安全网关建立TLS 安全隧道,实现基准站与数据中心的业务/监控数据的安全传输。
CA 系统:负责数字证书的管理,签发安全网关(中心端)的数字证书和SecPortal 客户端(TLS)USBKey 的数字证书。
2.3.2 数据中心到互联网用户端安全方案
根据北斗高精度数据传输系统的用户(终端)类型,数据中心到用户端的场景可分为两种:数据中心到互联网用户端和数据中心到广播用户端。本文主要介绍对互联网用户的安全方案,经过仔细深入的研究,将提供基于不同定位精度需求所采取的分级授权分发安全方案,如图6 所示。
图6 分级授权分发结构
根据不同定位精度需求的应用,互联网用户可进一步划分为高精度需求互联网用户、中等精度需求互联网用户和普通大众互联网用户。对于不同定位精度需求的用户,将分别设计不同的安全方案,以实现北斗高精度导航定位数据的分级授权分发。
(1)高精度需求互联网用户。考虑高精度数据的敏感性,这部分用户对应的安全需求定位为高级别。因此,本方案将对双方的通信内容通过SM4算法进行加密处理、通过SM3 算法进行完整性验证、以及通过SM2 算法实现通信双方的相互身份认证。特别地,高精度需求互联网用户将使用密码卡等安全媒介(如TF 卡、SD 卡等)的方式验证其身份的合法性。密码卡在出厂时存储有密钥管理中心分发的用户公私密钥对信息。
(2)中等精度需求用户。对于北斗导航定位数据的需求一般定位为中等级别的精度。出于中等精度数据的敏感性考虑,这部分用户对应的安全需求定位为中等级别。因此,本方案将对双方的通信内容通过算法SM3 做完整性验证、通过算法SM2实现通信双方的相互身份验证。特别地,中等精度需求互联网用户将使用以用户名+口令登录的方式验证其身份的合法性。用户名和口令需要提前在线注册。
(3)普通大众互联网用户。普通大众互联网用户对于北斗导航定位数据的需求一般定位为低等级别的精度。出于低等精度数据的敏感性考虑,这部分用户对应的安全需求定位为低等级别。因此,本方案中数据中心将不需要对普通大众互联网用户的身份进行安全验证,且此级别的导航定位数据不需要进行加密保护。仅需要大众用户实现对数据中心的身份真实性以及来自数据中心的数据完整性进行验证。
2.3.3 部署实现
部署分为基准站到数据中心和数据中心到用户端两个阶段的场景,详细部署如图7 所示。
图7 高精度数据传输安全防护部署
(1)基准站到数据中心安全保护部署实现
在基准站里配置密码模块(USBKey 或安全芯片)和SecPortal 客户端(TLS)。数据中心CA 负责数字证书的管理,签发安全网关(中心端)的数字证书和SecPortal 客户端(TLS)USBKey 的数字证书。数据中心处部署有密钥管理中心,以实现密钥的生成、存储、分发、更新、撤销等功能,以及用于加解密运算的相关密码模块/密码卡。通过网络层通信加密机制,实现北斗高精度数据的网络传输加密。
(2)数据中心到互联网用户端安全保护部署实现
从数据中心到互联网用户端的数据传输过程中,首先需要在数据中心处部署密钥管理中心,以实现密钥的生成、存储、分发、更新、撤销等功能,以及用于加解密运算的相关密码模块/密码卡。根据实际使用需求,数据中心处可部署自己的代理服务器,模拟数据中心本身的主要功能负责基站数据的差分计算、响应用户请求、数据加解密、身份认证以及密钥接收使用等。互联网用户根据其用户对不同级别数据的要求部署不同的密码模块,如高精度需求用户将部署SD/TF 密码卡等实现身份认证和加解密运算,中等精度需求用户和普通大众用户将部署密码软模块实现加解密运算。
3 实验分析
实验环境搭建,如图8 所示。
图8 北斗高精度加密通信实验环境搭建
室外部署北斗天线和基准站,室内建立数据中心,添加密码设备,模拟基准站和数据中心高精度数据加密传输过程,实现网络传输之间的安全防护。模拟环境设计如图9 所示。
图9 北斗高精度加密通信实验
北斗高精度数据传输过程中的延时通常控制在2 s,不超过5 s。通过测试得出的数据分析如图10 所示。
图10 使用加密机加密前后接收延时对比
可见,使用密码设备后,北斗高精度数据传输的延时时长不超过北斗高精度数据传输延时范围。
4 结语
本文通过对北斗高精度数据应用进行研究,应用现状的安全分析,设计出数据分级授权分发的防护方案,并基于国家密码局发布的商密算法对北斗高精度数据进行加密安全防护设计,最后对方案进行试验验证。本文设计的北斗高精度数据传输安全防护方案通过了交通部的北斗卫星导航系统交通运输行业数据传输加密与应用安全防护课题研究的专家评审。