流媒体传输 - RTSP 协议认证过程

news2025/1/12 12:30:19

Rtsp 认证 主要分为两种:

基本认证 (Basic authentication)和 摘要认证 (Digest authentication)

基本认证是 HTTP 1.0 提出的认证方案,其消息传输不经过加密转换因此存在严重的安全隐患。

摘要认证是 HTTP 1.1 提出的基本认证的替代方案,其消息经过 MD5 哈希转换因此具有更高的安全性。

基本认证

  1. 客户端发送 DESCRIBE 请求到服务端

    DESCRIBE rtsp://192.168.199.242:554/ch1/main/av_stream RTSP/1.0
    CSeq: 3
    User-Agent: LibVLC/3.0.8 (LIVE555 Streaming Media v2016.11.28)
    Accept: application/sdp
  2. RTSP 服务端认为没有通过认证,发出 WWW-Authenticate 认证响应

     WWW-Authenticate 中应携带有 Basic 字样、realm 字段
    
    RTSP/1.0 401 Unauthorized
    CSeq: 3
    WWW-Authenticate: Basic realm="IP Camera(D1846)"
    Date:  Thu, Oct 15 2020 23:30:55 GMT
  3. 客户端携带 Authorization 串再次发出 DESCRIBE 请求

    Authorization 串计算方法:
     Authorization = base64(username:password)
    ​
     * 用户名:admin * 密码:Abc12345
     Authorization = base64(admin:Abc12345)
                   = YWRtaW46QWJjMTIzNDU=
    
    
    DESCRIBE rtsp://192.168.199.242:554/ch1/main/av_stream RTSP/1.0
    CSeq: 4
    Authorization: Basic YWRtaW46QWJjMTIzNDU=
    User-Agent: LibVLC/3.0.8 (LIVE555 Streaming Media v2016.11.28)
    Accept: application/sdp
  4. 服务器对客户端反馈的 Authorization 进行校验,通过则返回 200 OK

    RTSP/1.0 200 OK
    CSeq: 4
    Content-Type: application/sdp
    Content-Base: rtsp://192.168.199.242:554/ch1/main/av_stream/
    Content-Length: 594

摘要认证

【学习地址】:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
【文章福利】:免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

  

  1. 客户端发送 DESCRIBE 请求到服务端

    DESCRIBE rtsp://192.168.199.242:554/ch1/main/av_stream RTSP/1.0
    CSeq: 3
    User-Agent: LibVLC/3.0.8 (LIVE555 Streaming Media v2016.11.28)
    Accept: application/sdp
  2. RTSP 服务端认为没有通过认证,发出 WWW-Authenticate 认证响应

     WWW-Authenticate 中应携带有 Digest 字样、realm 字段、nonce 字段
    RTSP/1.0 401 Unauthorized
    CSeq: 3
    WWW-Authenticate: Digest realm="IP Camera(D1846)", nonce="61f92652b25e740d73887108b419e8b6", stale="FALSE"
    Date:  Thu, Oct 15 2020 23:30:55 GMT
  3. 客户端以 用户名、密码、nonce、RTSP 方法、请求的 URI 等信息为基础产生 response 信息进行反馈

     response 计算方法:
     RTSP 客户端应该使用 username + password 并计算 response 如下:
     如果 password 为 MD5 编码, 则
         response = md5(password:nonce:md5(public_method:url));
     如果 password 为 ANSI 字符串, 则
         response = md5(md5(username:realm:password):nonce:md5(public_method:url));
    ​
     * 用户名:admin * 密码:Abc12345
     response = md5(md5(admin:IP Camera(D1846):Abc12345):61f92652b25e740d73887108b419e8b6:md5(DESCRIBE:rtsp://192.168.199.242:554/ch1/main/av_stream));
              = md5(e03ca5323610c45d55574699008d1c34:61f92652b25e740d73887108b419e8b6:034c626594db40bb96121247d4492461)
              = 58ad47d8436ca5db7356e6a084abcbf9
    
    
    DESCRIBE rtsp://192.168.199.242:554/ch1/main/av_stream RTSP/1.0
    CSeq: 4
    Authorization: Digest username="admin", realm="IP Camera(D1846)", nonce="61f92652b25e740d73887108b419e8b6", uri="rtsp://192.168.199.242:554/ch1/main/av_stream", response="58ad47d8436ca5db7356e6a084abcbf9"
    User-Agent: LibVLC/3.0.8 (LIVE555 Streaming Media v2016.11.28)
    Accept: application/sdp
  4. 服务器对客户端反馈的 response 进行校验,通过则返回 200 OK

    RTSP/1.0 200 OK
    CSeq: 4
    Content-Type: application/sdp
    Content-Base: rtsp://192.168.199.242:554/ch1/main/av_stream/
    Content-Length: 594

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计springboot房屋租赁信息系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Spring Boot 实现万能文件在线预览-开源学习一

Spring Boot 实现万能文件在线预览-开源学习一 1. 项目特性 支持word excel ppt,pdf等办公文档支持txt,java,php,py,md,js,css等所有纯文本支持zip,rar,jar,tar,gzip等压缩包支持jpg,jpeg,png,gif等图片预览(翻转&am…

Linux信号基础

目录 一,信号的产生 1,终端按键 2,调用系统函数向进程发送信号 (1)、kill:给指定的进程发送指定的命令 (2)、raise:自己给自己发信号 ​(3)、abort:让当前进程收到信号异常终止 3,由硬件产生 (1)、比如除零错误&#xff0c…

Shiro框架

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。 很多人常将“用户身份认证”、“密码加密”、“系统管理”等概念与权限管理概念混…

Vue2 中使用“全局事件总线“实现任意组件间通信

前言: vue 中组件间通信的方式有很多 ------ 父传子propos,全局事件总线,消息订阅,vuex......等等,这篇文章带大家学习一下通过全局事件总线来实现任意组件间的通信。 文章目录: 一:什么是全局…

细节决定成败,Qlik数据洞察如何助力SEB化身“鹰眼”?

“随业务版图扩张,目前公司需要处理的数据集海量增长, SEB 的数据分析面临着越来越大的挑战,光是等待数据集计算的时间,都需要等待半天,效率低下导致我们很多工作都无法开展,我们需要一款更高效的 BI 工具”…

普元中间件Primeton AppServer6.5安装(Windows)

本文在Windows环境下安装普元中间件Primeton AppServer6.5(以下简称PAS) 一、安装前准备 1.1使用软件版本 Primeton_AppServer_6.5_Enterprise_Editio(Windows) 1.2安装前注意注意的点 1.需要提前安装JDK,并配置J…

神经网络和深度学习-加载数据集DataLoader

加载数据集DataLoader Dataloader的概念 dataloader的主要目标是拿出Mini-Batch这一组数据来进行训练 在处理多维特征输入这一文章中,使用diabetes这一数据集,在训练时我们使用的是所有的输入x,在梯度计算采用的是随机梯度下降&#xff08…

本地启动springboot项目失败端口问题

异常关键字: Cannot assign requested address: bind 排查结果 配置了环境变量【SERVER_ADDRESS】 网上搜了有的回答是端口占用,是不对的,端口占用的异常是这个【Web server failed to start. Port 8282 was already in use.】 排查结果…

麦芽糖-聚乙二醇-阿霉素maltose-Doxorubicin

麦芽糖-聚乙二醇-阿霉素maltose-Doxorubicin 中文名称:麦芽糖-阿霉素 英文名称:maltose-Doxorubicin 别称:阿霉素修饰麦芽糖,阿霉素-麦芽糖 还可以提供PEG接枝修饰麦芽糖,麦芽糖-聚乙二醇-阿霉素,Doxorubicin-PEG-…

无线传感器网络:定位、安全与同步

文章目录LocalizationRanging TechniquesReceived Signal Strength (RSS)Time of Arrival (ToA)Time Difference of Arrival (TDoA)Angle of Arrival (AoA)Range-Based Localization ProtocolsTriangulationTrilaterationIterative and Collaborative MultilaterationSecurityC…

sipp: bind_local;watchdog timer trip

文章目录作为服务端时,source ip 随机的问题命令示例bind_localwatchdog_minor_maxtriggers作为服务端时,source ip 随机的问题 https://sipp.sourceforge.net/doc/reference.html https://github.com/SIPp/sipp/issues/83 https://github.com/SIPp/sip…

GC2是什么工具

GC2是一款功能强大的命令控制应用工具,该工具将允许广大安全研究人员或渗透测试人员使用Google Sheet来在目标设备上执行远程控制命令,并使用Google Drive来提取目标设备中的敏感数据。 值得一提的是,该工具可以直接提供命令控制服务&#x…

[附源码]计算机毕业设计springboot高校社团管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

功率放大器的类型和特点是什么(功率放大器使用注意事项有哪些)

放大器一般泛指放大某物的装置,应用在音频、电子等领域。在包括音频功率放大器在内的电路里,各种信号都可以是电信号来进行交换。功率放大器主要是放大电路中流动信号,可以放大输入的电压或者电流。它的作用是放大各种传感器输出电信号&#…

架设好传奇登录器显示无法连接服务器,完美登录器使用常见问题解决办法

中国传奇网已经更新好了完美登陆器,已经可以下载了,完美登陆器是一款完全免费无限制的登陆器。在这里站长也推荐大家使用这个传奇登陆器。毕竟是免费的。 一.登录器域名绑定,生成登录器等问题解决办法! 问1.完美登录器绑定域名还是绑定服务器等&#xf…

数字孪生技术栈的应用场景的优点

技术栈是一个IT术语,本意是指某项工作需要掌握的一系列技能组合的统称。那么对于如今炙手可热的数字孪生技术而言,数字孪生技术栈都会包括哪些底层技能?它又是如何构成和运行的呢? 北京智汇云舟科技有限公司成立于2012年&#xff…

太卷了,这份Java性能调优手册仅上线1小时,竟被恶意封杀下架

在各大厂的面试中,性能优化的问题肯定不会缺席,这足以说明其重要性。今天给大家带来的便是由资深程序员葛一鸣老师写的《Java程序性能优化实战》,同样是没有开源版本,我会将领取方式放在文末 Java程序性能优化实战 我看过几篇讲…

[附源码]Python计算机毕业设计Django仓库管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Rockwell EDI 855 采购订单确认报文详解

罗克韦尔自动化与国内12 家授权分销商,124 家认可的系统集成商,30多家亚太区的Encompass战略合作伙伴和全球战略联盟,共同为制造业企业提供广泛的世界一流的产品、解决方案与服务支持。 近期我们帮助客户成功与罗克韦尔Rockwell建立EDI连接&a…