基本認證是http 1.0提出的認證方案,其訊息傳輸不經過加密轉換因此存在嚴重的安全隱患。
1.1 客戶端傳送describe請求到前端裝置,url中攜帶請求的url位址
describe rtsp://
192.168
.1.55
:554
/live/
1/video.sdp?token=a00453fr805a54c8
rtsp/
1.0\r\n
cseq:
1\r\n
user-agent: realplayer\r\n\r\n
2、裝置認證通過,傳送 www-authenticate認證請求
rtsp/
1.0401 unauthorized\r\n
cseq:
1\r\n
www-authenticate: basic realm=
"rtspd"\r\n\r\n
此時客戶端程式會彈出使用者名稱名密碼認證視窗,輸入認證資訊後,
describe rtsp://
192.168
.1.55
:554
/live/
1/video.sdp?token=a00453fr805a54c8
rtsp/
1.0\r\n
cseq:
2\r\n
user-agent: realmedia player helixdnaclient/
12.0
.1.647
(win32)\r\n
authorization: basic ywrtaw46ywrtaw4=\r\n\r\n
其中「ywrtaw46ywrtaw4=」為前端裝置訪問username:password明文的base64編碼
摘要認證是http 1.1提出的基本認證的替代方案,其訊息經過md5雜湊轉換因此具有更高的安全性。
1、 客戶端第一次建立連線,傳送options request報文,詢問服務端有哪些方法可用
options rtsp://
10.67
.193
.76:
554/streaming/channels/
1?transportmode=unicast&profile=profile_1 rtsp/
1.0cseq:
2user-agent: libvlc/
3.0.5
(live555 streaming media v2016.
11.28
)
此時服務端(即裝置)在回應資訊中提供所有的可用方法
rtsp/
1.0200 ok
cseq:
2public: options, describe, play, pause, setup, teardown, set_parameter, get_parameter
date: wed, jun 03
202010:
54:30 gmt
2、客戶端傳送describe request報文,得到服務端的**初始化描述資訊
describe rtsp://
10.67
.193
.76:
554/streaming/channels/
1?transportmode=unicast&profile=profile_1 rtsp/
1.0cseq:
3user-agent: libvlc/
3.0.5
(live555 streaming media v2016.
11.28
)
此時裝置返回相應401報文,提示使用者需要認證
rtsp/
1.0401 unauthorized
cseq:
3www-authenticate: digest realm=
"ip camera(23435)"
, nonce=
"8fd7c44874480bd643d970149224da11"
, stale=
"false"
date: wed, jun 03
202010:
54:30 gmt
3.通過上一步rtsp server 返回的 realm 和 nonce 計算出 authorization,然後重新獲取請求,在請求中加上 authorization
describe rtsp://
10.67
.193
.76:
554/streaming/channels/
1?transportmode=unicast&profile=profile_1 rtsp/
1.0cseq:
4authorization: digest username=
"", realm=
"ip camera(23435)"
, nonce=
"8fd7c44874480bd643d970149224da11"
, uri=
"rtsp:"
, response=
"ca29ba3297f50b32425e46e23723ef7b"
user-agent: libvlc/
3.0.5
(live555 streaming media v2016.
11.28
)
服務端校驗是否通過認證,通過的話,回應**初始化描述資訊,主要是sdp
rtsp/
1.0200 ok
cseq:
7content-base: rtsp://
10.67
.193
.76:
554/streaming/channels/1/
content-length:
895
4.客戶端傳送play request請求
play rtsp://
10.67
.193
.76:
554/streaming/channels/1/
?transportmode=unicast&profile=profile_1 rtsp/
1.0cseq:
10authorization: digest username=
"admin"
, realm=
"ip camera(23435)"
, nonce=
"18de8ae133a1703bae94cb37ce8bf08d"
, uri=
"rtsp:"
, response=
"fe32b85aeae647879fb384ad60f6a711"
user-agent: libvlc/
3.0.5
(live555 streaming media v2016.
11.28
)session:
427807408
range: npt=
0.000
-
rtsp/
1.0200 ok
cseq:
10session:
427807408
rtp-info: url=rtsp://
10.67
.193
.76:
554/streaming/channels/
1/trackid=
1?transportmode=unicast&profile=profile_1;seq=
40721
;rtptime=
4036421714
,url=rtsp://
10.67
.193
.76:
554/streaming/channels/
1/trackid=
2?transportmode=unicast&profile=profile_1;seq=
35759
;rtptime=
740568584
date: wed, jun 03
202010:
54:37 gmt
1.
2.
RTSP 摘要認證
說明 1.請求頭欄位說明 例如 options rtsp 字段依次包含 public method,uri位址,協議版本 response欄位的計算 rtsp客戶端應該使用username password並計算response如下 1 當password為md5編碼,則 response md5 ...
RTSP鑑權認證之基礎認證和摘要認證
基本認證 basic authentication http 1.0提出的認證方案,其訊息傳輸不經過加密轉換因此存在嚴重的安全隱患 摘要認證 digest authentication http 1.1提出的基本認證的替代方案,其訊息經過md5雜湊轉換因此具有更高的安全性。1.客戶端傳送descri...
HTTP認證方式
http請求報頭 authorization http響應報頭 www authenticate http認證 基於 質詢 回應 challenge response 的認證模式。基本認證 basic authentication http1.0提出的認證方法 客戶端對於每乙個realm,通過提供使...