一种传输密钥的方法、系统和装置的制作方法

文档序号:7761988阅读:365来源:国知局
专利名称:一种传输密钥的方法、系统和装置的制作方法
技术领域
本发明涉及多媒体通信领域,特别涉及一种传输密钥的方法、系统和装置。
背景技术
随着数字化和网络化步伐的加快,视频监控系统已经逐步从单纯的闭路监控系 统转移到分布式的网络化视频监控系统(IP Video Surveillance :IPVS)。IPVS以标准 Internet(因特网)为传输媒介,基于国际标准的传输控制协议(Transmission Control Protocol =TCP)/网际协议(Internet Protocol :IP),覆盖范围广,适应目前视频监控系统 针对远程、实时、集中的控制需求,且在多媒体应用中数字化、网络化、智能化、系统化及超 大规模组网能力等方面,优势也相当突出。由于Internet是一个高度开放的网络,也是一个不安全的网络,任何个人或组织 都可以接入到该网络中,这使得视频监控数据面临非法截获和非法访问的危险,对视频监 控数据的安全传输提出了严峻的挑战。为了提高视频监控数据的安全性,人们想到对视频 监控数据进行加密后再传输。对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信 方将明文(原始数据)和加密的密钥一起经过特殊加密算法处理后,使其变成复杂的密文 发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的 逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有 一个,即发信方使用这个密钥对数据进行加密,收信方使用这个密钥对数据进行解密,这就 要求解密方事先必须知道加密的密钥。对称加密算法的特点是算法公开、计算量小、加密 速度快、加密效率高。不足之处是,交易双方都使用同样密钥,安全性不是很高。此外,用户 每次使用对称加密算法时,都需要使用其他人不知道的惟一密钥,这会使得发收信双方所 拥有的密钥数量成几何级数增长,密钥管理成为视频监控系统的负担。对称加密算法在分 布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系 统中广泛使用的对称加密算法有数据加密算法(Data Encryption Algorithm, DEA)、国际 数据加密算法(International Data Encryption Algorithm, IDEA)和高级加密标准算法 (Advanced Encryption Standard, AES)。目前,在网络化视频监控系统中,一种传输视频监控数据的方法是由视频监控前 端(发信方)将视频监控数据采用对称加密算法加密后,将加密后的视频监控数据和密钥 一起传给视频监控客户端(收信方),这种传输方法的不足在于虽然传输的视频监控数据 进行了加密,却忽略了对密钥的安全传输,即采用明文传输密钥,一旦密钥被截获,则视频 监控数据的加密变得毫无意义。综上所述,在网络化视频监控系统中,密钥传输的安全性比较低,从而降低了视频 监控数据的安全性。

发明内容
本发明实施例提供一种传输密钥的方法、系统和装置,用以解决现有技术中存在 的在网络化视频监控系统中,密钥传输的安全性比较低,从而降低了视频监控数据的安全 性的问题。本发明实施提供的一种传输密钥的方法,包括视频监控前端接收来自视频监控客户端的公钥(publickey),其中所述公钥是视 频监控客户端根据不对称加密算法生成的;所述视频监控前端使用公钥对用于加密视频监控数据的对称密钥进行加密,得到 密钥密文,并将密钥密文发送给所述视频监控客户端。所述视频监控前端将密钥密文发送给视频监控客户端之前,还包括所述视频监控前端通过Digest (摘要)认证确定所述视频监控客户端是合法视频 监控客户端。所述视频监控前端接收来自视频监控客户端的公钥的同时,对所述视频监控客户 端进行Digest认证;其中,在所述Digest认证过程中用于计算Response (响应)值的认证密码是根据 所述视频监控客户端的用户登录密码和所述公钥生成的。本发明实施例提供的另一种传输密钥的方法,包括视频监控客户端根据不对称加密算法生成公钥和私钥,将所述公钥发送给视频监 控前端;所述视频监控客户端接收来自所述视频监控前端的密钥密文,用与公钥对应的私 钥解密密钥密文,得到对称密钥;其中,所述密钥密文是所述视频监控前端对用于加密视频监控数据的对称密钥进 行加密后得到的。所述视频监控客户端接收所述密钥密文之前,还包括所述视频监控客户端与所述视频监控前端进行Digest认证。 所述视频监控客户端向所述视频监控前端发送公钥的同时,与视频监控前端进行 Digest 认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述视 频监控客户端的用户登录密码和所述公钥生成的。本发明实施提供的一种传输密钥的系统,包括视频监控前端,用于使用接收的公钥对用于加密视频监控数据的对称密钥进行加 密,得到密钥密文,并发送所述密钥密文;视频监控客户端,用于根据不对称加密算法产生公钥和私钥,将所述公钥发送给 所述视频监控前端,在收到来自所述视频监控前端的密钥密文后,用与所述公钥对应的私 钥解密密钥密文,得到对称密钥。所述视频监控前端还用于对所述视频监控客户端进行Digest认证,并且在所述视频监控客户端通过 Digest认证后,确定所述视频监控客户端为合法视频监控客户端,发送所述密钥密文;所述视频监控客户端还用于
与所述视频监控前端进行Digest认证。所述视频监控前端具体用于在接收所述公钥的同时,对所述视频监控客户端进行Digest认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述视 频监控客户端的用户登录密码和所述公钥生成的。本发明实施提供的第一种传输密钥的装置,所述装置包括公钥接收模块,用于接收来自视频监控客户端的公钥,其中所述公钥是视频监控 客户端根据不对称加密算法产生的;公钥加密模块,用于使用公钥对用于加密视频监控数据的对称密钥进行加密,得 到密钥密文;发送模块,用于将所述密钥密文发送给视频监控客户端。所述装置还包括第一认证模块,用于对所述视频监控客户端进行Digest认证,并且在所述视频监 控客户端通过Digest认证后,确定所述视频监控客户端为合法视频监控客户端,触发所述 发送模块将所述密钥密文发送给视频监控客户端。所述第一认证模块具体用于在接收来自视频监控客户端的公钥的同时,对所述视频监控客户端进行Digest 认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述视 频监控客户端的用户登录密码和所述公钥生成的。本发明实施提供的第二种传输密钥的装置,所述装置包括公钥发送模块,用于根据不对称加密算法生成公钥和私钥,将所述公钥发送给视 频监控前端;接收模块,用于接收来自所述视频监控前端的密钥密文,用与公钥对应的私钥解 密密钥密文得到对称密钥;其中,密钥密文是所述视频监控前端对用于加密视频监控数据的对称密钥进行加 密后得到的。所述装置还包括第二认证模块,用于与所述视频监控前端进行Digest认证。所述第二认证模块具体用于在公钥发送模块将公钥发送给所述视频监控前端的同时,与所述视频监控前端进 行Digest认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述装 置的用户登录密码和所述公钥生成的。本发明实施例提供的一种视频监控前端,包括上述第一种传输密钥的装置。本发明实施例提供的一种视频监控客户端,包括上述第二种传输密钥的装置。本发明的有益效果如下由于视频监控前端使用视频监控客户端提供的公钥,对用于加密视频监控数据的 对称密钥进行加密后得到密钥密文,并将密钥密文发送给视频监控客户端,视频监控客户
6端收到密钥密文后,采用唯有自己知道的公钥对应的私钥解密密钥密文,获取对称密钥。非 法用户即使在传输过程中截获密钥密文,也很难解密得到对称密钥。因此能够提高传输密 钥的安全性,也就提高了在网络化视频监控系统中传输视频监控数据的安全性。此外,由于视频监控客户端通过私钥解密密钥密文可以获取对称密钥,所以不用事 先知道对称密钥,因此视频监控系统可以不用管理对称密钥,减轻了视频监控系统的负担。


图1为本发明实施例中Digest认证的方法示意图;图2为本发明实施例中传输密钥的系统示意图;图3为本发明实施例中第一种传输密钥的装置示意图;图4为本发明实施例中第二种传输密钥的装置示意图;图5为本发明实施例中第一种传输密钥的方法示意图;图6为本发明实施例中第二种传输密钥的方法示意图;图7为本发明实施例中第三种传输密钥的方法示意图;图8为本发明实施例中第四种传输密钥的方法示意图;图9为本发明实施例中第五种传输密钥的方法示意图。
具体实施例方式本发明实施例中视频监控客户端根据不对称加密算法生成公钥和私钥,将公钥发 送给视频监控前端,视频监控前端使用公钥,对用于加密视频监控数据的对称密钥进行加 密,得到密钥密文,并发送给视频监控客户端。视频监控客户端收到密钥密文后,采用唯有 自己知道的与公钥对应的私钥解密密钥密文,得到对称密钥。非法用户即使在传输过程中 截获密钥密文,也很难解密得到对称密钥。因此能够提高了传输密钥的安全性,也就提高了 在网络化视频监控系统中传输视频监控数据的安全性。其中,不对称加密算法可以生成两把完全不同但又完全匹配的一对密钥(公钥和 私钥),其中公钥用于加密数据,私钥用于解密密文,只有使用匹配的一对公钥和私钥,才能 完成对数据的加密和解密过程。而且发信方(加密者)只知道收信方的公钥,而唯一知道 私钥的人就是收信方(解密者)。采用不对称加密算法,收发信双方在通信之前,收信方必 须将自己早已生成的公钥发送给发信方,而自己保存私钥。由于不对称加密算法拥有两个密钥,因而适用于分布式系统中的数据加密。目前 广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA (Digital Signature Algorithm,数字签名算法)。相比对称加密算法,不对称加密算法更加复杂,因而解密更难,加密后的数据安全 性更高。因此本发明实施例中用不对称加密算法加密密钥,能够提高密钥的安全性。其中,视频监控数据可以是视频数据、音频数据或音视频数据。下面先介绍一下Digest认证的原理,以便在本发明实施例中用到。如图1所示,Digest认证过程如下步骤101、客户端Client向服务器Server发送一个请求,请求中没有携带认证信
肩、ο
步骤102、Server收到该请求,发现该请求中未携带认证信息,返回401错误消息 (表示Client未进行会话前Digest认证),其中携带了 realm和nonce等值,向Client发 起挑战。步骤103、Client收到401错误消息,解析其中的realm和nonce等值,如果用户 未登录,Client提示用户输入用户名(username)和用户登录密码(password,文中出现的 小写password均表示用户登录密码),如果用户已经登录,由于Client已保存了用户的 username 禾口 password,贝Ij Client 自动匹配 realm 对应的 username 禾口 password,并牛艮据十办 议规则产生Digest认证需要的第一 Response值,然后重新向Server发起请求,在该请求 中携带认证信息,包括计算出的第一Response值,以及nonce、realm、username禾口password寸。步骤104、Server收到携带认证信息的请求,计算第二 Response值,如果Server 计算的第二 Response值和Client计算的第一 Response值相同,则确认Client符合认证 条件,向Client返回2000K(表示通过Digest认证),同时,在该返回中携带可供Client下 一次请求使用白勺nonce值,该值用nextnonce表示。步骤105、Client再次向Server发起请求时,携带由nextnonce计算出来的第一 Response 值。其中,步骤101-步骤104是一次请求过程,步骤105是另一次请求的开始(类似步 骤103),如果在后续过程中,Server确定Client通过验证,返回2000K时携带可供Client 下一次请求使用的nextnonce,如此循环下去,避免所有Digest认证请求都要多做一次消
息交互。具体的,Digest认证过程中Client计算第一 Response值的方法如下一、如果Server的挑战中携带了 qop字段,则第一 Response 值=MD5 (HAl :nonce :nonceCount :ClientNonce :qop :HA2)。其中,HAl的计算方法为HAl = MD5 (Al) = MD5 (username :realm =PASSffORD);其中,认证密码PASSWORD (文中出现的大写PASSWORD均表示认证密码)在计算时 使用 password。HA2的计算方法为(1)如果qop选项的值为auth,那么HA2为HA2 = MD5 (A2) = MD5 (method :digestURI)(2)如果qop选项的值为auth-int,那么HA2为HA2 = MD5 (A2) = MD5 (method :digestURI :H(entity—body))。H(entity-body) = MD5 (entity—body)。二、如果Server的挑战中没有qop字段,则默认qop选项的值为auth 第一 Response 值=MD5 (HAl :nonce :HA2)。其中,HAl = MD5 (username :realm =PASSffORD);其中,PASSWORD在计算时使用password。HA2 = MD5(method :digestURI)。在上述计算中,MD5 (Message-Digest Algorithm 5,信息-摘要算法第五版)表示对字符串进行MD5计算后的结果。Server计算第二 Response值的方法与Client计算第一 Response值的方法相同。 第一 Response值和第二 Response值可以统称为Response值。本发明实施例中,可以在每次信令交互时先进行Digest认证,以确保公钥的完整 性和正确性,然后再从信令中获取公钥或其它信息。下面结合说明书附图对本发明实施例作进一步详细介绍。参见图2,本发明实施例提供的一种传输密钥的系统,包括视频监控前端10和视 频监控客户端20。视频监控前端10,用于使用接收的公钥对用于加密视频监控数据的对称密钥进行 加密,得到密钥密文,并将密钥密文发送给视频监控客户端20。视频监控客户端20,用于根据不对称加密算法产生公钥和私钥,将公钥发送给视 频监控前端10,在收到来自视频监控前端10的密钥密文后,用与公钥对应的私钥解密密钥 密文,得到对称密钥。较佳的,为了避免非法用户伪造公钥和私钥骗取实际的视频监控数据,在视频监 控前端10向视频监控客户端20传输数据之前,先对视频监控客户端20进行Digest认证, 视频监控客户端20只有通过视频监控前端10的Digest认证之后,视频监控前端10才能 向视频监控客户端20传输数据。相应的,视频监控前端10还用于对视频监控客户端20进行Digest认证,并且在 视频监控客户端20通过Digest认证后,确定视频监控客户端20为合法视频监控客户端, 将密钥密文发送给视频监控客户端20。视频监控客户端20还用于与所述视频监控前端进行Digest认证。具体实施中,视频监控客户端20执行图1中Client执行的步骤(下同),视频监 控前端10执行图1中Server执行的步骤(下同)。视频监控客户端20与视频监控前端 10之间的Digest认证过程具体参见图1中Digest认证的相关内容,在此不再赘述。较佳的,为了进一步提高密钥传输的安全性,在Digest认证过程中,用于计算 Response值的PASSWORD不是单独使用password,而是根据password和公钥生成,较佳的, 视频监控前端10在接收视频监控客户端20发送的公钥的同时,对视频监控客户端20进行 Digest 认证。需要说明的是,视频监控前端10接收视频监控客户端发送的公钥,与视频监控前 端10对视频监控客户端20进行Digest认证这两个过程可以同时进行,但是在Digest认 证过程中,视频监控前端10需要用到公钥的时候,如果已经成功接收到视频监控客户端20 发送公钥,则可以马上用该公钥,如果没有成功接收到视频监控客户端20发送公钥,比如 处于正在接收过程,则需要等到公钥成功接收后用该公钥。具体的,password和公钥可以经过MD5算法后得到PASSWORD,也可以通过其它算 法得到PASSWORD,比如MD2和MD4算法。具体使用何种算法得到PASSWORD,可以由视频监 控前端10和视频监控客户端20事先约定。用于计算Response值的PASSWORD根据password和公钥生成,可以防范窃密者 (非法客户端)在路由设备上通过修改数据包的方式直接在RTSP(Real Time Streaming Protocol,实时流协议)信令中使用自己产生的公钥替换合法客户端携带的公钥,从而获得对称密钥的风险。原因在于非法客户端不知道本次Digest认证计算Response值的 PASSWORD根据password和公钥生成,仍然直接用password计算第一 Response值,这样与 视频监控前端用password和公钥计算出来的第二 Response值肯定不同,所以视频监控前 端就能马上发现这是一个非法客户端。进一步地,视频监控前端10还用于根据对称加密算法生成对称密钥,用对称密钥 加密视频监控数据得到数据密文,将数据密文发送给视频监控客户端20。视频监控客户端20还用于在接收数据密文之后,使用对称密钥解密数据密文得 到视频监控数据。参见图3,本发明实施例提供的第一种传输密钥的装置,包括公钥接收模块301,用于接收来自视频监控客户端的公钥,其中所述公钥是视频监 控客户端根据不对称加密算法产生的。公钥加密模块302,用于使用公钥接收模块301接收的公钥对用于加密视频监控 数据的对称密钥进行加密,得到密钥密文。发送模块303,用于将公钥加密模块302得到的密钥密文发送给视频监控客户端。较佳的,为了避免非法用户伪造公钥和私钥骗取实际的视频监控数据,在发送模 块303向视频监控客户端传输数据之前,本发明实施例传输密钥的装置先对视频监控客户 端进行Digest认证,视频监控客户端只有通过Digest认证之后,发送模块303才能向视频 监控客户端传输数据。相应的,本发明实施例传输密钥的装置还包括第一认证模块304,用于对视频监控客户端进行Digest认证,并且在视频监控客 户端通过Digest认证后,确定视频监控客户端为合法视频监控客户端,触发发送模块303 将密钥密文发送给视频监控客户端。具体实施中,视频监控客户端执行图1中的Client执行的步骤,本发明实施例传 输密钥的装置执行图1中的Server执行的步骤。本发明实施例传输密钥的装置中的第一 认证模块304对视频监控客户端进行Digest认证的过程具体参见图1中Digest认证的相 关内容,在此不再赘述。较佳的,为了进一步提高密钥传输的安全性,在Digest认证过程中,用于计算 Response值的PASSWORD不是单独使用password,而是根据password和公钥生成,较佳的, 在公钥接收模块301接收视频监控客户端发送的公钥的同时,触发第一认证模块304对视 频监控客户端进行Digest认证。具体的,password和公钥可以经过MD5算法后得到PASSWORD,也可以通过其它算 法得到PASSWORD,比如MD2和MD4算法。具体使用何种算法得到PASSWORD,可以由本发明 实施例传输密钥的装置和视频监控客户端事先约定。进一步的,本发明实施例传输密钥的装置还包括对称加密模块,用于根据对称加密算法产生对称密钥,以及使用对称密钥加密视 频监控数据得到数据密文。本发明实施例还提供了一种视频监控前端,其中本发明实施例的视频监控前端包 括图3中传输密钥的装置,其中视频监控前端中的各模块可以以硬件形式实现。参见图4,本发明实施例提供的第二种传输密钥的装置,包括
公钥发送模块401,用于根据不对称加密算法成生公钥和私钥,并将公钥发送给视 频监控前端。接收模块402,用于接收来自视频监控前端的密钥密文,用公钥发送模块401生成 的与公钥对应的私钥解密密钥密文得到对称密钥。其中,密钥密文是视频监控前端对用于加密视频监控数据的对称密钥进行加密后 得到的。本发明实施例传输密钥的装置还包括第二认证模块403,用于与视频监控前端进行Digest认证。具体实施中,本发明实施例传输密钥的装置执行图1中的Client执行的步骤,视 频监控前端执行图1中的Server执行的步骤。本发明实施例传输密钥的装置的第二认证模 块403与视频监控前端之间的Digest认证过程具体参见图1中Digest认证的相关内容, 在此不再赘述。相应的,本发明实施例传输密钥的装置在通过视频监控前端的Digest认证之后, 接收模块402会接收到来自视频监控前端传输的数据,使用对称密钥解密数据密文得到视 频监控数据。较佳的,为了进一步提高密钥传输的安全性,在Digest认证过程中,用于计算 Response值的PASSWORD不是单独使用password,而是根据password和公钥生成,较佳的, 在公钥发送模块401向视频监控前端发送公钥的同时,第二认证模块403与视频监控前端 进行Digest认证。具体的,password和公钥可以经过MD5算法后得到PASSWORD,也可以通过其它算 法得到PASSWORD,比如MD2和MD4算法。具体使用何种算法得到PASSWORD,可以由视频监 控前端和本发明实施例的传输密钥的装置事先约定。本发明实施例还提供了一种视频监控客户端,其中本发明实施例的视频监控客户 端包括图4中传输密钥的装置,其中视频监控客户端中的各模块可以以硬件形式实现。参见图5,本发明实施例提供的第一种传输密钥的方法,包括如下步骤步骤501、视频监控前端接收来自视频监控客户端的公钥。其中,公钥是视频监控客户端根据不对称加密算法生成的。步骤502、视频监控前端使用公钥对用于加密视频监控数据的对称密钥进行加密, 得到密钥密文,并将密钥密文发送给视频监控客户端。较佳的,为了避免非法用户伪造公钥和私钥骗取实际的视频监控数据,步骤502 之前还可以包括视频监控前端确定所述视频监控客户端通过Digest认证,为合法的视频 监控客户端。较佳的,在步骤501之后,步骤502之前,视频监控前端对视频监控客户端进行 Digest认证,确定视频监控客户端通过Digest认证。具体实施中,在视频监控前端接收来自视频监控客户端的携带公钥的请求,发现 请求中没有Digest认证信息,返回401错误消息给视频监控客户端,要求视频监控客户端 进行Digest认证。具体认证过程参见图1中的相关内容,在此不再赘述。较佳的,在Digest认证过程中,用于计算Response值的PASSWORD不是单独使用 password,而是根据password禾口公钥生成。
具体的,password和公钥可以经过MD5算法后得到PASSWORD,也可以通过其它算 法得到PASSWORD,比如MD2和MD4算法。具体使用何种算法得到PASSWORD,可以由视频监 控前端和视频监控客户端事先约定。参见图6,本发明实施例提供的第二种传输密钥的方法,包括如下步骤步骤601、视频监控客户端根据不对称加密算法生成公钥和私钥,将公钥发送给视 频监控前端。步骤602、视频监控客户端接收来自视频监控前端的密钥密文,用与公钥对应的私 钥解密密钥密文,得到对称密钥;其中,密钥密文是视频监控前端对用于加密视频监控数据的对称密钥进行加密后 得到的。步骤602之前还可以包括视频监控客户端与视频监控前端进行Digest认证。较佳的,在步骤601之后,步骤602之前,视频监控客户端与视频监控前端进行 Digest 认证。具体实施中,视频监控客户端将携带公钥的请求发送给视频监控前端,在接到视 频监控前端返回的401错误消息之后,视频监控客户端与视频监控前端进行Digest认证。 具体认证过程参见图1中的相关内容,在此不再赘述。较佳的,在Digest认证过程中,用于计算Response值的PASSWORD不是单独使用 password,而是根据password禾口公钥生成。具体的,password和公钥可以经过MD5算法后得到PASSWORD,也可以通过其它算 法得到PASSWORD,比如MD2和MD4算法。具体使用何种算法得到PASSWORD,可以由视频监 控前端和视频监控客户端事先约定。参见图7,本发明实施例提供的第三种传输密钥的方法,包括如下步骤步骤700、视频监控客户端根据不对称加密算法生成公钥和私钥,并将公钥发送给 视频监控前端。步骤701、视频监控前端根据对称加密算法产生对称密钥。其中,对称密钥用于加密视频监控数据得到数据密文,也用于解密数据密文得到 视频监控数据。步骤702、视频监控前端使用公钥加密对称密钥得到密钥密文。步骤703、视频监控前端将密钥密文发送给视频监控客户端。步骤704、视频监控客户端收到密钥密文后,用与公钥对应的私钥解密密钥密文得 到对称密钥。步骤705、视频监控客户端发送请求给视频监控前端,请求提供视频监控数据。步骤705是一个可选的步骤,在具体实施中也可以不执行步骤705。步骤706、视频监控前端用对称密钥加密视频监控数据得到数据密文,并将数据密 文发送给视频监控客户端。步骤706之后,还可以包括步骤707、视频监控客户端收到数据密文,用对称密钥解密数据密文,得到视频监 控数据。参见图8,本发明实施例提供的第四种传输密钥的方法中,将图6中的方法与
12Digest认证过程结合,在视频监控前端向视频监控客户端传输密钥之前,需确定视频监控 客户端通过Digest认证,以避免非法用户伪造公钥和私钥骗取实际的视频监控数据,提高 密钥传输的安全性。本实施例中该方法包括如下步骤步骤801、视频监控客户端根据不对称加密算法产生公钥和私钥。步骤802、视频监控客户端向视频监控前端发送请求,要求提供视频监控数据。较佳的,在请求中携带公钥。较佳的,视频监控客户端和视频监控前端可以事先约定,如果请求中携带公钥, 则视频监控客户端计算第一 Response值和视频监控前端计算第二 Response值时都根据 password和公钥生成PASSWORD,如果请求中没有携带公钥,则视频监控客户端计算第一 Response值和视频监控前端计算第二 Response值时只使用password作为PASSWORD。步骤803、视频监控前端收到请求后,发现请求中没有携带认证信息,返回401错 误消息,要求视频监控客户端进行Digest认证。步骤804、视频监控客户端计算第一 Response值后,向视频监控前端发送认证请 求,其中携带第一 Response值和公钥。具体视频监控客户端计算第一 Response值的方法参见图1中相关内容,在此不再 赘述。如果步骤802的请求中携带公钥,视频监控客户端计算第一 Response值时, PASSWORD不是单独使用password,而是根据password和公钥生成。步骤805、视频监控前端从请求中提取第一 Response值和公钥,计算第二 Response 值。视频监控前端计算第二 Response值的方法与视频监控客户端计算第一 Response 值的方法相同。如果步骤802的请求中携带公钥,视频监控前端计算第二 Response值根据 password禾口公钥生成。比如如果视频监控客户端计算第一 Response值时,采用的PASSWORD = MD5 (password :publickey),则视频监控前端计算第二 Response 值,也采用 PASSWORD = MD5 (password :publickey)。这样的话,若明文传输的公钥被伪造,则无法通过Digest认 证。步骤806、视频监控前端确定第二 Response值与第一 Response值相同,确定视频 监控客户端通过Digest认证。其中,视频监控前端确定视频监控客户端通过Digest认证后,向视频监控客户端 返回2000K,并携带可供视频监控客户端下一次认证请求的nextnonce。步骤807、视频监控前端根据对称加密算法产生对称密钥。步骤808、视频监控前端用公钥加密对称密钥得到密钥密文,并发送给视频监控客 户端。步骤809、视频监控客户端收到密钥密文后,用与公钥对应的私钥解密密钥密文得 到对称密钥。步骤810、视频监控客户端再次发送请求给视频监控前端,请求提供视频监控数 据。
步骤810是一个可选的步骤,在具体实施中也可以不执行步骤810。如果执行步骤810,在视频监控客户端发起请求的同时,与视频监控前端进行一 次Digest认证,其中计算Response值时采用视频监控前端上一次返回2000K时携带的 nextnonce.如果视频监控客户端通过此次Digest认证,视频监控前端在返回2000K时也 携带 nextnonce。步骤811、视频监控前端用对称密钥加密视频监控数据得到数据密文,并将数据密 文发送给视频监控客户端。步骤812、视频监控客户端收到数据密文之后,用对称密钥解密数据密文得到视频 监控数据。参见图9,本发明实施例以具体的应用场景说明第五种传输密钥的方法。在本实施 例中,以实时流协议RTSP和实时传送协议(Real-time Transport Protocol :RTP)作为音 视频数据控制、传输标准协议。且RTSP/RTP支持Digest认证。在本实施例中,视频监控客户端向视频监控前端发送RTSP请求,在RTSP请求头中 增加一个字段,该字段填入视频监控客户端产生的公钥,视频监控前端返回RTSP响应,响 应中增加WffW-Authenticate头,携带服务器生成的nonce值和realm值。本实施例的方法包括如下步骤步骤901、视频监控客户端根据不对称加密算法生成公钥和私钥。其中,不对称加密算法可以是RSA算法或DSA算法。本实施例中,使用RSA算法。步骤902、视频监控客户端发送Describe (描述)请求消息给视频监控前端,请求 中携带公钥。其中,Describe请求是RTSP协议中的一种请求消息。RTSP协议中的其他请求消 息也同样适用于本发明实施例。步骤903、视频监控前端收到Describe请求消息,返回401错误消息 (401UnAuthorized),并在返回字段中增加WffW-Authenticate头,携带视频监控前端生成 的nonce值禾口 realm值。步骤904、视频监控客户端收到401UnAuthorized,解析Wffff-Authenticate头,获 取nonce值和realm值,按照Digest认证的协议规则计算第一 Response值,在计算的时候, 使用 MD5 (password :publickey)作为 PASSWORD。步骤905、视频监控客户端重新向视频监控前端发送Describe请求消息,在请求 中携带第一 Response值和公钥,请求Digest认证。步骤906、视频监控前端接收到Describe请求消息,获取公钥,按照规则计算第二 Response值。其中,第二 Response值的计算方法与第一 Response值计算方法相同。步骤907、视频监控前端确定第二 Response值和第一 Response值相同,确定视频 监控客户端通过Digest认证,返回2000K消息。步骤908、视频监控前端根据对称加密算法产生对称密钥,并使用视频监控客户端 提供的公钥,根据RSA算法加密对称密钥得到密钥密文。步骤909、视频监控前端在Describe的响应消息中携带密钥密文发送给视频监控
客户端。步骤910、视频监控客户端收到密钥密文,用公钥对应的私钥解密密钥密文,得到对称密钥。步骤911、视频监控前端和视频监控客户端按照正常的RTSP流程,进行Setup请 求、响应和Play请求、响应。步骤912、视频监控前端使用对称密钥加密视频监控数据得到数据密文,并发送给 视频监控客户端。步骤913、视频监控客户端收到数据密文,使用对称密钥解密数据密文得到视频监 控数据。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。从上述实施例可以看出由于视频监控前端使用视频监控客户端提供的公钥,对 用于加密视频监控数据的对称密钥进行加密后得到密钥密文,并将密钥密文发送给视频监 控客户端,视频监控客户端收到密钥密文后,采用唯有自己知道的公钥对应的私钥解密密 钥密文,获取对称密钥。非法用户即使在传输过程中截获密钥密文,也很难解密得到对称密 钥。因此能够提高了传输密钥的安全性,也就提高了在网络化视频监控系统中传输视频监 控数据的安全性。进一步的,由于视频监控客户端通过私钥解密密钥密文可以获取对称密 钥,所以不用事先知道对称密钥,因此视频监控系统可以不用管理对称密钥,减轻了视频监 控系统的负担。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种传输密钥的方法,其特征在于,该方法包括视频监控前端接收来自视频监控客户端的公钥,其中所述公钥是视频监控客户端根据不对称加密算法生成的;所述视频监控前端使用公钥对用于加密视频监控数据的对称密钥进行加密,得到密钥密文,并将密钥密文发送给所述视频监控客户端。
2.如权利要求1所述的方法,其特征在于,所述视频监控前端将密钥密文发送给视频 监控客户端之前,还包括所述视频监控前端通过摘要Digest认证确定所述视频监控客户端是合法视频监控客 户端。
3.如权利要求2所述的方法,其特征在于,所述视频监控前端接收来自视频监控客户 端的公钥的同时,对所述视频监控客户端进行Digest认证;其中,在所述Digest认证过程中用于计算响应Response值的认证密码是根据所述视 频监控客户端的用户登录密码和所述公钥生成的。
4.一种传输密钥的方法,其特征在于,该方法包括视频监控客户端根据不对称加密算法生成公钥和私钥,将所述公钥发送给视频监控前端;所述视频监控客户端接收来自所述视频监控前端的密钥密文,用与公钥对应的私钥解 密密钥密文,得到对称密钥;其中,所述密钥密文是所述视频监控前端对用于加密视频监控数据的对称密钥进行加 密后得到的。
5.如权利要求4所示的方法,其特征在于,所述视频监控客户端接收所述密钥密文之 前,还包括所述视频监控客户端与所述视频监控前端进行Digest认证。
6.如权利要求5所示的方法,其特征在于,所述视频监控客户端向所述视频监控前端 发送公钥的同时,与视频监控前端进行Digest认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述视频监 控客户端的用户登录密码和所述公钥生成的。
7.一种传输密钥的系统,其特征在于,该系统包括视频监控前端,用于使用接收的公钥对用于加密视频监控数据的对称密钥进行加密, 得到密钥密文,并发送所述密钥密文;视频监控客户端,用于根据不对称加密算法产生公钥和私钥,将所述公钥发送给所述 视频监控前端,在收到来自所述视频监控前端的密钥密文后,用与所述公钥对应的私钥解 密密钥密文,得到对称密钥。
8.如权利要求7所述的系统,其特征在于,所述视频监控前端还用于对所述视频监控客户端进行Digest认证,并且在所述视频监控客户端通过Digest认 证后,确定所述视频监控客户端为合法视频监控客户端,发送所述密钥密文;所述视频监控客户端还用于与所述视频监控前端进行Digest认证。
9.如权利要求8所述的系统,其特征在于,所述视频监控前端具体用于在接收所述公钥的同时,对所述视频监控客户端进行Digest认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述视频监 控客户端的用户登录密码和所述公钥生成的。
10.一种传输密钥的装置,其特征在于,所述装置包括公钥接收模块,用于接收来自视频监控客户端的公钥,其中所述公钥是视频监控客户 端根据不对称加密算法产生的;公钥加密模块,用于使用公钥对用于加密视频监控数据的对称密钥进行加密,得到密 钥密文;发送模块,用于将所述密钥密文发送给视频监控客户端。
11.如权利要求10所述的装置,其特征在于,所述装置还包括第一认证模块,用于对所述视频监控客户端进行Digest认证,并且在所述视频监控客 户端通过Digest认证后,确定所述视频监控客户端为合法视频监控客户端,触发所述发送 模块将所述密钥密文发送给视频监控客户端。
12.如权利要求11所述的装置,其特征在于,所述第一认证模块具体用于在接收来自视频监控客户端的公钥的同时,对所述视频监控客户端进行Digest认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述视频监 控客户端的用户登录密码和所述公钥生成的。
13.一种传输密钥的装置,其特征在于,所述装置包括公钥发送模块,用于根据不对称加密算法生成公钥和私钥,将所述公钥发送给视频监 控前端;接收模块,用于接收来自所述视频监控前端的密钥密文,用与公钥对应的私钥解密密 钥密文得到对称密钥;其中,密钥密文是所述视频监控前端对用于加密视频监控数据的对称密钥进行加密后 得到的。
14.如权利要求13所述的装置,其特征在于,所述装置还包括第二认证模块,用于与所述视频监控前端进行Digest认证。
15.如权利要求14所述的装置,其特征在于,所述第二认证模块具体用于在公钥发送模块将公钥发送给所述视频监控前端的同时,与所述视频监控前端进行 Digest 认证;其中,在所述Digest认证过程中用于计算Response值的认证密码是根据所述装置的 用户登录密码和所述公钥生成的。
16.一种视频监控前端,其特征在于,包括如权利要求10 12中的装置。
17.—种视频监控客户端,其特征在于,包括如权利要求13 15中的装置。
全文摘要
本发明实施例公开了一种传输密钥的方法、系统和装置,用以解决现有技术中存在的在网络化视频监控系统中,密钥传输的安全性比较低,从而降低了视频监控数据的安全性的问题。该方法包括视频监控前端接收来自视频监控客户端的公钥,其中公钥是视频监控客户端根据不对称加密算法生成的;视频监控前端使用公钥对用于加密视频监控数据的对称密钥进行加密,得到密钥密文,并将密钥密文发送给视频监控客户端。采用本发明实施例的方法,非法用户即使在传输过程中截获密钥密文,也很难解密得到对称密钥。因此能够提高了传输密钥的安全性,也就提高了在网络化视频监控系统中传输视频监控数据的安全性。
文档编号H04L29/06GK101958907SQ201010505589
公开日2011年1月26日 申请日期2010年9月30日 优先权日2010年9月30日
发明者徐凯波 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1