网络摄像机授权访问的方法与流程

文档序号:14942858发布日期:2018-07-13 21:29阅读:3824来源:国知局

本发明涉及网络摄像机技术领域,具体为一种网络摄像机授权访问的方法。



背景技术:

随着家庭化网络的普及,网络摄像机目前已经越来越广泛的应用到我们的日常生活中,在带给我们便利的同时,也将安全隐患带到我们的身边,广泛应用于视频监控领域的rtsp(realtimestreamingprotocol,实时流传输协议)经常被不法分子利用,他们通常使用端口扫描方式,批量扫描开启554端口的网络设备,并通过弱口令或暴力破解的方法获取登录密码,一旦密码泄露,该设备则完全暴露在公共环境中,任何客户端都可通过地址和登录密码查看该监控设备。而家庭用的网络摄像机往往有以下特点:1.在线用户少,一般只有自己家庭成员;2.网络环境安全性较差,容易成为攻击目标;3.私密性强,不允许自己期望之外的人查看;4.用户群体安全意识不高,对密码的设置往往忽略或使用弱口令。

现有解决方案及隐患:设置登录密码,有密码泄露的风险,一旦密码泄露,服务端将无法判断客户端的合法性。现有的rtsp摘要认证方式,无法验证服务端的合法性,易遭受服务器伪装攻击,攻击者通过伪装服务器达到窃取用户登录密码的目的。



技术实现要素:

本发明为了弥补现有技术的不足,提供了一种结构简单、使用方便的网络摄像机授权访问的方法,可以有效防止密码泄露和非法窃听导致的网络摄像机安全问题。

本发明是通过如下技术方案实现的:

本发明的网络摄像机授权访问的方法,其特征在于:用户在使用之前生成一对密钥,即公钥和私钥,保存有私钥的客户端作为授权终端,是当前唯一能够访问该监控设备的终端。

具体包括以下步骤:

(1)用户登录网络摄像机(从客户端登录),使用网络摄像机提供的密钥生成服务,生成一对密钥对(public-key,private-key),public-key(公钥)将以文件的形式保存到网络摄像机端,将private-key(私钥)保存到本地(本地即客户端);

(2)当客户端试图通过rtsp协议请求服务端的视频数据时,客户端首先向服务器发起option(选择,rtsp协议标准请求之一,目的是得到服务器提供什么方法。rtsp提供的方法一般包括options、describe、setup、teardown、play、pause、scale、get_parameter)和describe(描述,rtsp协议标准请求之一,目的是为了从服务器那里得到会话描述信息(sdp))请求,服务端回复200ok;

(3).rtsp客户端向rtsp服务器发起setup请求;

(4).服务端返回401unauthorized(未经授权的,rtsp协议定义的一种错误类型)错误,并在回复报文中添加一个随机生成的值nonce_s;

(5).客户端收到该回复消息,使用private-key加密nonce_s得到加密值[nonce_s],并再次发起setup请求,在该次请求中附加[nonce_s],同时附加一个随机生成的值nonce_c;

(6).服务端收到请求后,取出报文附加的[nonce_s],并用public-key解密,将得到的值与nonce_s比较,如果相同则表示对客户端的认证通过。然后,服务端生成一个随机值nonce_key,并用public-key加密nonce_c,nonce_key得到加密值[nonce_c,nonce_key],并回复200ok,将[nonce_c,nonce_key]附加到报文中;

(7).客户端收到回复后,使用private-key解密[nonce_c,nonce_key],将得到的值与nonce_c比较,如果相同则表示对服务端的认证也通过。至此,双方已经完成了对彼此的认证。客户端同时将解密的nonce_key值保存;

(8).客户端发起play请求,用nonce_key做因子对本次url做单向加密,将散列值附加到请求报文中;

(9).服务端同样使用nonce_key做因子对客户端请求的url做单向加密,并与客户端附加的值对比,相同则验证通过。

本发明的有益效果是,可以有效防止密码泄露和非法窃听导致的网络摄像机安全问题。本方法,需要用户在使用之前增加生成密钥的工作,之后,保存有私钥的客户端即可作为授权终端,是当前唯一可以访问该监控设备的终端。由于终端和监控设备的相互认证依赖于公私密钥对,使用该客户端访问监控设备,用户无需输入密码,即可安全的获取监控视频,即使处于不安全的网络环境(wifi),也不存在密码泄露、恶意监听等风险,可以有效防范中间人攻击和服务器伪装攻击。

附图说明

图1为本发明的客户端与服务端交互的流程图示意图。

具体实施方式

附图为本发明的一种具体实施例。

本发明的网络摄像机授权访问的方法,用户在使用之前生成一对密钥,即公钥和私钥,保存有私钥的客户端作为授权终端,是当前唯一能够访问该监控设备的终端。

使用授权终端访问网络摄像机的方法,具体包括以下步骤。

1.用户登录网络摄像机,使用网络摄像机提供的密钥生成服务,生成一对密钥对(public-key,private-key),public-key将以文件的形式保存到网络摄像机端,将private-key保存到本地;

2.当客户端试图通过rtsp协议请求服务端的视频数据时,客户端首先向服务器发起option和describe请求,服务端回复200ok;

3.rtsp客户端向rtsp服务器发起setup请求。

4.服务端返回401unauthorized错误,并在回复报文中添加一个随机生成的值nonce_s。

5.客户端收到该回复消息,使用private-key加密nonce_s得到加密值[nonce_s],并再次发起setup请求,在该次请求中附加[nonce_s],同时附加一个随机生成的值nonce_c。

6.服务端收到请求后,取出报文附加的[nonce_s],并用public-key解密,将得到的值与nonce_s比较,如果相同则表示对客户端的认证通过。然后,服务端生成一个随机值nonce_key,并用public-key加密nonce_c,nonce_key得到加密值[nonce_c,nonce_key],并回复200ok,将[nonce_c,nonce_key]附加到报文中。

7.客户端收到回复后,使用private-key解密[nonce_c,nonce_key],将得到的值与nonce_c比较,如果相同则表示对服务端的认证也通过。至此,双方已经完成了对彼此的认证。客户端同时将解密的nonce_key值保存。

8.客户端发起play请求,用nonce_key做因子对本次url做单向加密,将散列值附加到请求报文中。

9.服务端同样使用nonce_key做因子对客户端请求的url做单向加密,并与客户端附加的值对比,相同则验证通过。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1