ngh鵜 tr詠c tuy院n /Apply Cryptography technology to protect privacy in online conferencing ngh羽 mã hóa vào 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院p"8吋 b違o v羽 thông tin giao ti院p trong h瓜i ngh鵜.. Bên c
Trang 1VT姶云PI"A萎I H窺C BÁCH KHOA
-
VT姶愛PI"PIW[右N DUY KHANG
永NG D影NG CÔNG NGH烏 CRYPTOGRAPHY
A韻 B謂O V烏 VëPJ"TKçPI"V姶
Chuyên ngành: Khoa H 丑c Máy Tính
Mã s嘘: 8.48.01.01
LU一P"X;P"VJ萎C U
TP H唄 CHÍ MINH, tháng 0:"p<o"4243
Trang 2i
EðPI"VTîPJ"A姶営C HOÀN THÀNH T萎I:
VT姶云PI"A萎I H窺C BÁCH KHOA Î AJSI-HCM
Trang 3ngh鵜 tr詠c tuy院n /Apply Cryptography technology to protect privacy in online
conferencing
ngh羽 mã hóa vào 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院p"8吋 b違o v羽 thông tin giao ti院p trong
h瓜i ngh鵜 Ti院n hành th詠c nghi羽o"x "8 pj"ik "ej医v"n逢嬰ng c栄a cu瓜c g丑i
Trang 4iii
L 云I C謂O"愛P
A吋 hoàn thành lu壱p"x<p"vj衣e"u "p {."8亥u tiên tôi xin g穎i l運i c違o"挨p"8院n các th亥y cô épi"e e"8q p"vj吋 thu瓜c khoa Khoa h丑c và K悦 thu壱v"O {"V pj."8員c bi羽t là các th亥y cô
t衣i ngành Khoa h丑e"O {"V pj"8«"v衣q"8k隠u ki羽n t嘘t nh医t cho tôi
V»k"e pi"zkp"n運k"e o"挨p"u¤w"u逸c nh医v"8院n th亥{"A員ng Tr亥p"Mj pj"8«"v壱n tình ch雨
d磯n, gi違k"8 r"j亥u h院t các khúc m逸c c栄a tôi trong su嘘t kì lu壱p"x<p0
Xin g穎i l運i c違o"挨p"u¤w"u逸e"8院n t医t c違 các thành viên trong nhóm c栄a th亥y Khánh 8«"j院t lòng 栄ng h瓜, h厩 tr嬰 trong su嘘t quá trình hoàn thành lu壱n án
Cu嘘i cùng, tôi xin g穎i l運k"e o"挨p"8院p"vt逢運pi"A衣i H丑e"D ej"Mjqc"8«"v衣q"e挨"j瓜i cho tôi ti院p thu nh英ng ki院n th泳c th詠c ti宇p"x "8k隠u ki羽p."o»k"vt逢運ng h丑c t壱p t嘘t nh医t
Trân tr丑ng
Vr0"JEO."pi {"38"vj pi"29"p<o"4243
VT姶愛PI"PIW[右N DUY KHANG
Trang 5iv
TÓM T 溢T LU一P"X;P
Lu壱p"x<p"8逢嬰c xây d詠ng nh茨m m映e"8 ej"pijk‒p"e泳w"x "8逢c"tc"e e"o»"j·pj"v ej"j嬰p công ngh羽 mã hóa hi羽n t衣i vào 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n nh茨m b違o v羽 v pj"tk‒pi"v逢"cho cu瓜c h瓜i tho衣i Bên c衣pj"8„."nw壱p"x<p"e pi"zgo"zfiv."vkpj"ej雨nh và tích h嬰p các rj逢挨pi"rjáp mã hóa phù h嬰p v噂i tính ch医t c栄a 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院p"pj逢pi"x磯n 8違m b違q"8逢嬰c ch医v"n逢嬰ng và hi羽u qu違 h瓜i tho衣i Các công vi羽c th詠c hi羽n trong lu壱p"x<p"pj逢"ucw<"
- Mô ph臼ng 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n theo ki院n trúc thông d映ng
- Áp d映pi"o«"j„c"8亥u cu嘘k"8吋 gi違o"piw{"e挨"t "t雨 thông tin t瑛 máy ch栄 x "e e"8挨p"
v鵜 chuy吋n ti院p ch丑n l丑c (SFU)
- Áp d映ng và tích h嬰p tác v映 xác th詠e"pi逢運i dùng trong h瓜i ngh鵜 tr詠c tuy院n
- A違m b違o ch医v"n逢嬰ng d鵜ch v映 c栄a cu瓜c h瓜i ngh鵜 tr詠c tuy院n sau khi mã hóa
Trang 6v
ABSTRACT
The thesis is designed for the purpose of researching and providing models for integrating current cryptography technology into online conferencing applications to protect the privacy of conversations Besides, the thesis also considers, refines and integrates encryption methods which is suitable to the nature of online conferencing applications but still ensures the quality and efficiency of the conversation The works carried out in this thesis are as follows:
- Simulate online conferencing application according to common architecture
- Apply end-to-end encryption to reduce the risk of information leakage from servers and selective forwarding units (SFUs)
- Apply and integrate user authentication in online conferencing
- Ensure the service quality of the online conference after encryption
Trang 7vi
L 云K"ECO"AQCP
V»k."Vt逢挨pi"Piw{宇p"Fw{"Mjcpi."zkp"eco"8qcp"t茨ng lu壱p" p"e„"vk‒w"8隠 "永ng d映ng công ngh羽 Et{rvqitcrj{"8吋 b違o v羽 v pj"tk‒pi"v逢"vtqpi"j瓜i ngh鵜 tr詠c tuy院n" và công trình 8逢嬰c trình bày trong bài lu壱n là c栄c"tk‒pi"v»k0"V»k"eco"8qcp"t茨ng:
‚ Toàn b瓜 công vi羽e"p {"8逢嬰c th詠c hi羽p"mjk"v»k"8cpi"vjgq"j丑c th衣e"u "j逢噂ng 泳ng
d映ng t衣k"vt逢運pi"A衣i h丑c Bách Khoa H欝 Chí Minh
‚ Các ph亥n s穎 d映ng trong bài lu壱p"8«"8逢嬰c n瓜r"8吋 l医y b茨ng c医p ho員c b医t k x<p"
b茨pi"p q"mj e"8隠w"8逢嬰c nêu rõ
‚ Luôn ghi nh壱n rõ ràng các công trình nghiên c泳u c栄a nh英pi"pi逢運i khác khi tôi tham kh違q"8吋 hoàn thành lu壱n án này
‚ Luôn cung c医p ngu欝n cho nh英ng trích d磯n t瑛 công vi羽c c栄c"pi逢運i khác Ngo衣i
tr瑛 nh英ng trích d磯p"8«"8逢嬰c nêu rõ, các công vi羽c khác hoàn toàn là công vi羽c
c栄a riêng tôi
‚ Th瑛a nh壱n t医t c違 các ngu欝n tr嬰 giúp chính t瑛 ik q"xk‒p"j逢噂ng d磯n và các thành viên trong nhóm th衣e"u 0
Thành phぐ Hげ Ej "Okpj."pi {"38"vj pi"29"p<o"4243
Vt逢挨pi"Piw{宇n Duy Khang
Trang 8vii
M 影C L影C
L云I C謂O"愛P iii
TÓM T溢T LU一P"X;P iv
ABSTRACT v
L云K"ECO"AQCP vi
M影C L影C vii
DANH SÁCH HÌNH V淫 x
PH井N LI烏T KÊ CÁC T洩 VI蔭T T溢T xii
GI閏I THI烏U 1
T鰻ng quan nghiên c泳u 1
A員t v医p"8隠 3
Thi院t l壱p m映c tiêu 4
Ph衣m vi nghiên c泳u 5
Nghiên c泳u liên quan 5
E愛"U雲 LÝ THUY蔭T 7
Khái ni羽m v隠 mã hóa 7
O«"j„c"8嘘i x泳ng Î Symetric Encryption 7
Rj⇔¬pi"rj r"o«"j„c"CGU"*Cfxcpeg"Gpet{rvkqp"Uvcpfctf+ 7
Chx 8じ Counter (AES - CTR) 9
J o"d<o"*Jcuj"Hwpevkqpu+ 10
Mã xác thばe"d<o"Jcuj-Based Message Authentication Code (HMAC) 10
M壱t kh育u dùng m瓜t l亥n One-Time Password (OTP) 12
HMAC-based One-Time Password (HOTP) 12
Time-based One-Time Password (TOTP) 13
Trang 9viii
院n trúc h羽 th嘘ng h瓜i tho衣i tr詠c tuy院n 15
Thành phZn hう thぐng 15
Giao thとc hう thぐng 16
Kixn trúc hう thぐng phご bixn 17
Ch医v"n逢嬰ng d鵜ch v映 Quality of Service (QoS) 20
Rj逢挨pi"rj r"nw壱n 21
THI蔭T K蔭 H烏 TH渦NG 23
Thi院t k院 泳ng d映ng 23
Thixt kx とng dつng hじi nghお trばc tuyxn 23
Thixt kx とng dつng xác thばc 26
でng dつpi"o«"j„c"8Zu cuぐi 29
Thi院t k院 tích h嬰p h羽 th嘘ng 31
Thi院t k院 giao ti院p h羽 th嘘ng 34
C医u trúc mã ngu欝n h羽 th嘘ng 37
CXu trúc quVn lý 37
Rj⇔¬pi"vjとc hoTv"8じng 39
Quy trình hoTv"8じng 41
CXu trúc dの liうu 43
Aq"n逢運ng ch医v"n逢嬰ng ch医v"n逢嬰ng d鵜ch v映 44
TH衛C NGHI烏M VÀ K蔭T QU謂 46
Gi違 8鵜pj"x "8員c t違 th詠c nghi羽m 46
Apc tV phZn mzm 46
Apc tV o»k"vt⇔ぜng thばc nghiうm 46
GiV 8おnh thばc nghiうm 47
Trang 10ix
院n hành th詠c nghi羽m 47
Khぞi tTo và tham gia hじi nghお trばc tuyxn 47
Can thiうp vào hじi nghお không giV danh 50
Can thiうp vào hじi nghお có giV danh 50
Phân tích ch医v"n逢嬰ng gi違i pháp 52
Th違o lu壱p"x "8 pj"ik 53
EJ姶愛PI"7<"M蔭T LU一N Î KI蔭N NGH卯 55
5.1 K院t lu壱n 55
5.2 姶w"x "pj逢嬰e"8k吋m c栄a lu壱p"x<p 55
5.2.1 ⇒w"8kあm 55
5.2.2 Pj⇔ぢe"8kあm 55
5.3 Ki院n ngh鵜 56
DANH M影C CÁC CÔNG TRÌNH KHOA H窺C 57
TÀI LI烏U THAM KH謂O 76
LÝ L卯CH TRÍCH NGANG 79
Trang 11x
淫
Hình 2.1 Quy trình ho衣v"8瓜ng c栄a mã hóa AES 8
J·pj"4040"U挨"8欝 ho衣v"8瓜ng c栄a AES-CTR 9
Hình 2.3 U挨"8欝 ho衣v"8瓜ng c栄a HMAC 12
J·pj"4060"U挨"8欝 ho衣v"8瓜ng c栄a HOTP 13
J·pj"4070"U挨"8欝 ho衣v"8瓜ng c栄a TOTP 14
J·pj"4080"U挨"8欝 ho衣v"8瓜ng c栄a ki院n trúc Mesh 18
J·pj"4090"U挨"8欝 ho衣v"8瓜ng c栄a ki院n trúc MCU 19
J·pj"40:0"U挨"8欝 ho衣v"8瓜ng c栄a ki院n trúc SFU 19
Hình 2.9 Tiêu chu育n ch医v"n逢嬰ng d鵜ch v映 c栄a h瓜i ngh鵜 tr詠c tuy院n 21
J·pj"40320"U挨"8欝 rj逢挨pi"rj r"nw壱n 22
Hình 3.1 Thi院t k院 khái ni羽m 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n 23
J·pj"5040"U挨"8欝 trình t詠 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n 24
Hình 3.3 Thi院t k院 khái ni羽m 泳ng d映ng xác th詠c 27
J·pj"5060"U挨"8欝 trình t詠 泳ng d映ng xác th詠c 29
J·pj"5070"Rj逢挨pi"rj r"o«"j„c"KpugrtableStream 30
Hình 3.6 Thi院t k院 khái ni羽m tích h嬰p h羽 th嘘ng 31
J·pj"5090"U挨"8欝 trình t詠 h羽 th嘘ng h瓜i ngh鵜 tr詠c tuy院n 32
Hình 3.8 Giao ti院p Client-Server c栄a 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n 35
Hình 3.9 Giao ti院p Client-Server c栄a 泳ng d映ng xác th詠c 36
Hình 3.10 C医u trúc qu違n lý mã ngu欝n 38
J·pj"50330"Rj逢挨pi"vj泳c ho衣v"8瓜ng c栄a mã ngu欝n 39
J·pj"50340"Rj逢挨pi"vj泳c ho衣v"8瓜ng c栄a mã ngu欝n 42
Hình 3.13 C医u trúc d英 li羽u h羽 th嘘ng 43
Trang 12xi
J·pj"50360"U挨"8欝 ho衣v"8瓜ng CallStats.io 45
Hình 3.15 CallStats.io Dashboard 45
Hình 4.1 Giao di羽p"8<pi"pj壱p 泳ng d映ng 47
Hình 4.2 Giao di羽n chính 48
Hình 4.3 Giao di羽n phòng h丑p 49
Hình 4.4 Giao di羽p"pi逢運i xâm nh壱p 50
J·pj"6070"Pi逢運i xâm nh壱p gi違 fcpj"pi逢運i tham gia 51
Hình 4.6 Giao di羽p"pi逢運i xâm nh壱p gi違 danh 52
Hình 4.7 Thông s嘘 ch医v"n逢嬰ng d鵜ch v映 52
Hình 4.8 B違ng so sánh ch医v"n逢嬰ng d鵜ch v映 53
Hình 4.9 B違ng So sánh gi違i pháp b違o m壱t trong h瓜i ngh鵜 tr詠c tuy院n 54
Trang 13xii
井N LI烏T KÊ CÁC T洩 VI蔭T T溢T
AES : Advanced Encryption Standard
API : Application Programming Interface
E2EE : End-to-End Encryption
HMAC : Hash-based Message Authentication Code HOTP : HMAC-based One-Time Password
ICE : Interactive Communication Establishment MCU : MultiPoint Control Unit
NAT : Network Address Translators
OTP : One-Time Password
PLR : Packet Loss Rate
QoS : Quality of Service
SFU : Selective Forwarding Unit
STUN : Session Traversal Utilities for NAT TCP : Transmission Control Protocol
TOTP : Time-based One-Time Password
TURN : Traversal Using NAT Relay
UDP : User Datagram Protocol
Trang 141
GI 閏I THI烏U
T鰻ng quan nghiên c泳u
Tình hình COVID-3;"8cpi"fk宇p"tc"x "ej逢c"e„"f医u hi羽u thuyên gi違m, khi院n nhi隠u pi逢運i làm vi羽c t衣k"pj "j挨p"dcq"ik運 h院t, d磯p"8院n các công ty s穎 d映pi"rj逢挨pi"vj泳c giao
ti院p tr詠c tuy院p"n o"rj逢挨pi"vk羽n giao ti院p chính gi英a các nhân viên Và v噂i ph亥n l噂n th院
gi噂k"8cpi"d鵜 cách ly v噂i các bi羽n pháp t衣o kho違ng cách xã h瓜i, ngay c違 vi羽e"vtcq"8鰻i ngoài công vi羽e"pj逢"ikcq"vk院p v噂i b衣p"dfl."ikc"8·pj"ik運 8¤{"rj亥n l噂p"e pi"8逢嬰c gói g丑n trong các cu瓜c g丑k"8k羽n video
T瑛 8„."e e"rj亥n m隠m giao ti院p tr詠c tuy院n ngày càni"8逢嬰c s穎 d映ng r瓜ng rãi và phát tri吋p"8院n m丑k"p挨k"vt‒p"vj院 gi噂k"j挨p"dcq"ik運 h院t Song, v医p"8隠 b違o m壱v"v pj"tk‒pi"v逢"n衣i mj»pi"8逢嬰c chú tr丑pi"8¿pi"o詠c, d磯p"8院n vi羽c thông tin cá nhân b鵜 s穎 d映ng cho m映c
8 ej"vj逢挨pi"o衣i ho員c các m映e"8 ej"mj e"o "mj»pi"e„"u詠 8欝ng ý c栄c"e e"d‒p0"Ak隠u này
s胤 gây ra nhi隠u h羽 l映y v隠 ucw."vtqpi"8„"e„"e e"x医p"8吋 v隠 l瑛c"8違o, vi ph衣m pháp lu壱v."È"làm gi違m uy tín c栄a các doanh nghi羽p xây d詠ng 泳ng d映ng giao ti院p tr詠c tuy院n
Qua nh英pi"n#"fq"8«"8隠 c壱p trên, các nhà nghiên c泳u t壱p trung phát tri吋n các giao
th泳c, 泳ng d映pi"8吋 v<pi"v pj"d違o m壱t khi th詠c hi羽n giao ti院p tr詠c ti院r."vtqpi"8„"e„"vj吋 k吋 8院n các b違o m壱t t亥ng m衣ng Tác gi違 Uchfct"Ujcjggp"e pi"8«"vj吋 hi羽n s詠 quan tâm b違o
m壱v"vt‒p"8逢運ng truy隠n m衣pi"swc"d k"d q<"ÐUgewtkv{"Cpcn{uku"qh"FVNU Structure and Its Crrnkecvkqp"vq"Ugewtg"Ownvkecuv"EqoowpkecvkqpÑ [1] Trong bài báo, tác gi違 8«"rj¤p"tích tính b違o m壱t c栄a c医u trúc DTLS trong vi羽c truy隠n d英 li羽u, t瑛 8„"8逢c"tc"e e"8隠 xu医t
áp d映ng b違o m壱v"vt‒p"8逢運ng truy隠n b茨ng DTLS trong giao ti院r"8c"j逢噂ng Swc"8„."d k"
d q<"ÐCp"gxcnwcvkqp"qh"Ugewtg"Tgcn-Time Transport Protocol (SRTP) performance for XqKRÑ"[2] c栄a tác gi違 Andre L Alexander l衣i m荏 r瓜ng và ch泳ng minh hi羽u qu違 c栄a giao
th泳c SRTP khi s穎 d映ng DTLS, t瑛 8„"8違m b違q"8瓜 b違o m壱t c栄a các 泳ng d映ng th運i gian
th詠c khi d英 li羽w"8cpi"fk"ejw{吋p"x "8鵜nh tuy院p"vt‒p"8逢運ng truy隠n m衣ng
Bên c衣nh các nghiên c泳u b違o m壱v"vt‒p"8逢運ng truy隠n m衣ng, bài báo ÐCrrn{kpi"Encryption Algorithm for Data Security in Cloud SvqtcigÑ"[3] c栄a tác gi違 Zaid Kartit swcp"v¤o"j挨p"vtqpi"xk羽c b違o m壱t các d英 li羽u t瑛 phía máy ch栄 Trong bài báo, tác gi違 8逢c"tc"e e"ik違i thu壱t mã hóa phù h嬰p cho vi羽c mã hóa d英 li羽w"vt‒p"mjk"8逢嬰c chuy吋n ti院p
Trang 15nh英ng nghiên c泳u trên c栄a các tác gi違 piq k"p逢噂c, lu壱p"x<p"e„"vj吋 h丑c h臼i cách h丑 thi院t
l壱p và ti院p c壱n v医p"8隠."e e"rj逢挨pi"rj r"o "j丑 s穎 d映pi"8吋 áp d映ng vào lu壱p"x<p"p {0" Không d瑛ng 荏 e e"rj逢挨pi"rj r"o«"j„c"x "ik違i thu壱t, bài nghiên c泳w"ÐUgewtg"cpf"Decentralized Live Streaming using Bnqemejckp"cpf"KRHUÑ"[5] c栄c"Ujcejkpftc"8逢c"tc"cách th泳c b違o m壱t thông tin d詠a trên vi羽c áp d映pi"e挨"u荏 h衣ng t亥ng c栄a các công ngh羽
m噂k0"O»"j·pj"Dnqemejckp"8逢嬰c tích h嬰p vào vi羽c truy隠n d英 li羽w"8c"j逢噂pi."8違m b違o tính
b違o m壱t và toàn v姻n trên tính ch医t c栄a h衣 t亥ng
V噂i vi羽c thi院t k院 b違o m壱t t瑛 phía máy khách, bài lu壱p"ÐCp"gpf-to-end encryption rnwikp"hqt"xkfgq"ecnn"uqhvyctgÑ"[6] c栄a WangChong Zhou 8«"8逢c"tc"e e"rj逢挨pi"rj r"o«"j„c"8亥u cu嘘i phù h嬰p cho các 泳ng d映ng h瓜i tho衣i tr詠c tuy院p"e pi"pj逢"e e"rj逢挨pi"pháp ti院p c壱n v医p"8隠 khi th詠c hi羽n mã hóa t瑛 máy khách Lu壱p"x<p"e„"vj吋 tham kh違o
và áp d映pi"e e"rj逢挨pi"rj r"vk院p c壱n này khi th詠c hi羽n mã hóa nâng cao tính b違o m壱t cho các cu瓜c h瓜i tho衣i tr詠c tuy院n Ngoài ra, lu壱p"x<p"vjco"mj違q"ÐGxcnwcvkqp"qh"
Fkhhgtgpv"Xkfgq"Gpet{rvkqp"Ogvjqfu"hqt"c"Ugewtg"Ownvkogfkc"Eqphgtgpekpi"Icvgyc{Ñ"[7] c栄a tác gi違 Thomas Kunkelmann, ông bàn lu壱p"x "8逢c"tc"8逢嬰c các gi違i thu壱t phù
h嬰r"e pi"pj逢"8k吋m m衣nh và 8k吋m y院u cho t瑛ng lo衣i khi áp d映ng mã hóa vào các 泳ng
d映ng h瓜i ngh鵜 8c"rj逢挨pi"vk羽n
Tuy nhiên, các bài nghiên c泳w"vt‒p"ej逢c"8逢c"tc"e映 th吋 e e"rj逢挨pi" p" r"f映pi"e pi"pj逢"rj逢挨pi"vj泳c tích h嬰r"o«"j„c"8吋 b違o v羽 v pj"tk‒pi"v逢"ejq"pi逢運i dùng trong 泳ng
d映ng th詠c t院, vì v壱{."8隠 v k<"Ð永NG D影NG CÔNG NGH烏 ET[RVQITCRJ["A韻 B謂O
V烏 VëPJ"TKçPI"V姶"VTQPI"J浦I NGH卯 TR衛C TUY蔭PÑ"8逢嬰c quy院v"8鵜nh th詠c hi羽n Swc"8„."nw壱n án s胤 8逢c"tc"e k"pj·p"vj詠c ti宇p"j挨p."ik¿r" ej"ejq"xk羽e"8 pj"ik "x "vtk吋n khai trong công ty và doanh nghi羽p
Trang 163
A員t v医p"8隠
V噂i b嘘i c違nh có vô s嘘 n隠n t違ng h瓜i ngh鵜 trên trang m衣ng t欝n t衣k."v pj"p<pi"f宇 s穎
d映ng và ch泳e"p<pi"vt詠e"swcp"8«"vt荏 thành m瓜v"o k"pj丑n giúp các doanh nghi羽p c衣nh tranh v噂k"pjcw."vtqpi"8„"e„"vj吋 k吋 8院n các n隠n t違ng r医t ph鰻 bi院n hi羽n t衣k"pj逢"¥qqo."Um{rg."Oggvu0000"Swc"8„."pi逢運i dùng có th吋 g穎i liên k院t cu瓜c h丑r"vj»pi"swc"gockn"8吋
m運k"pi逢運i dùng tham gia các cu瓜c h瓜i ngh鵜 tr詠c tuy院n T瑛 8¤{."j丑 có th吋 nh医p vào liên
k院t và tham gia cu瓜c h丑p t瑛 trình duy羽t ho員c t瑛 泳ng d映ng, vi羽c t鰻 ch泳c và tham m瓜t
cu瓜c h丑p tr荏 p‒p"8挨p"ik違p"j挨p"dcq"ik運 h院v0"Piq k"tc."Pi逢運i dùng có th吋 ghi l衣i cu瓜c
h丑r"x "n逢w"vt英 trên 泳ng d映pi"8吋 s穎 d映ng sau Vì v壱y, các 泳ng d映ng h瓜i ngh鵜 hi羽n t衣i cung c医p s詠 ti羽n nghi và d宇 s穎 d映pi."8逢嬰c nhi隠w"pi逢運k"vkp"v逢荏ng và s穎 d映ng
Vw{"pjk‒p."e pi chính vì s詠 d宇 dàng và ti羽n d映pi"8„"n衣i làm các 泳ng d映ng h瓜i ngh鵜
tr詠c tuy院n tr荏 nên kém b違o m壱t Arvind Narayanan, m瓜v"ik q"u逢"x "ejw{‒p"ikc"d違o m壱t
c栄c"A衣i h丑e"Rtkpegvqp."8«"i丑i 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n là m瓜t "th違m h丑a v隠 quy隠n tk‒pi"v逢$"[8]
Trên th詠c t院, hi羽n t衣i có r医t nhi隠u 泳ng d映ng ch丑n hình th泳c mã hóa d詠a trên FVNU"8吋 b違o v羽 các cu瓜c h瓜i ngh鵜 tr詠c tuy院p"vt‒p"8逢運ng truy隠n c栄a nó thay th院 các rj逢挨pi"rj r"o«"j„c"8亥u cu嘘i, có th吋 th医{"8k吋p"j·pj"pj逢"Vgcou."¥qqo0"V隠 m員t mã hóa, vj逢挨pi"n逢嬰ng SRTP-DTLS x違y ra gi英a m厩i endpoint c栄a các nút ngang hàng (peer) v噂i 8挨p"x鵜 chuy吋n ti院p ch丑n l丑e"*UHW+0"Ak隠w"p {"e„"pij c"n "UHW"e„"sw{隠n truy c壱p vào các rc{nqcf"mj»pi"8逢嬰c mã hóa và có th吋 nghe tr瓜m hay theo dõi các cu瓜c h瓜i tho衣i tr詠c tuy院p0"Ak隠u này là c亥n thi院v"ejq"e e"v pj"p<pi"pj逢"ijk"¤o"ew瓜c h瓜i tho衣i phía máy ch栄 pj逢"e栄c"¥qqo"jc{"8吋 x穎 các lu欝ng c亥p"8逢嬰c chuy吋n mã (ví d映<"8逢嬰c s穎 d映ng trong MCU ho員e"8逢嬰c d鵜ej"ejq"EFP+0"Ak隠w"8„"e„"pij c"n "pi逢運i c亥n ph違k"vkp"v逢荏ng th詠c th吋
SRTP-ch衣{"UHW"8吋 gi英 lu欝pi"8„"荏 ch院 8瓜 tk‒pi"v逢0"Vw{"pjk‒p."vtqpi"mjw»p"mj鰻 b違o m壱t, Không vkp"v逢荏ng (Zero-vtwuv+"nw»p"n "rj逢挨pi"j逢噂ng t嘘t nh医v"8吋 b違o v羽 quy隠p"tk‒pi"v逢0
Th詠c tr衣ng cho th医{."vj»pi"vkp"8逢嬰c t運 Ycujkpivqp"Rquv"8逢c"tc"t茨ng trên các n隠n
t違ng gi違i trí l噂p"pj逢"[qwvwdg"zw医t hi羽p"j pi"pij·p"8q衣n video ghi l衣i các cu瓜c h丑p tr詠c tuy院n [9] Nh英pi"8q衣p"xkfgq"vt‒p"8隠u hi羽n th鵜 t "t pi."8亥{"8栄 khuôn m員v"e pi"pj逢"vj»pi"tin v隠 t医t c違 nh英pi"pi逢運i tham gia vào các cu瓜c h丑p tr詠c tuy院n Không nh英ng v壱y,
Trang 174
nh英pi"8q衣p"xkfgq"v逢挨pi"v詠 e pi"8逢嬰c tìm th医y trên d鵜ch v映 8 o"o¤{"pj逢"Coc|qp"Ygd"Service (AWS)
Bên c衣pj"8„."Ð¥qqo-dqodkpiÑ"n "o瓜t thu壱t ng英 ph鰻 bi院n trong th運i k 8衣i d鵜ch
hi羽p"pc{."vtqpi"8„"e e"vkp"v員c có th吋 t医n công các phòng h丑p tr詠c tuy院p"vj»pi"swc"8逢運ng
d磯n chia s飲 và Id c栄a các cu瓜c h瓜i ngh鵜, t瑛 8„"e„"vj吋 tham gia 育n danh vào nh英ng cu瓜c
h瓜i ngh鵜 tk‒pi"v逢0"M飲 t医n công s穎 d映ng l厩 h鰻pi"p {"8吋 n o"ik p"8q衣n các cu瓜c h丑p ho員c 8吋 l医y c逸p các thông tin b違o m壱t M瓜t s嘘 công c映 t詠 8瓜ng có th吋 z e"8鵜nh phòng h丑p có
l厩 h鰻ng b違o m壱t và tin t員c có th吋 t鰻 ch泳c m瓜t cu瓜c t医n công không quá ph泳c t衣p V医n 8隠 này còn cho th医y r茨ng 泳ng d映ng ch雨 xác th詠e"mjk"pi逢運k"f́pi"8<pi"pj壱p h羽 th嘘ng ch泳 ej逢c"vk院n hành xác th詠e"pi逢運i dùng m瓜v"mjk"pi逢運i dùng tham gia vào các phòng h瓜i ngh鵜 tr詠c tuy院n
Ngoài ra, vi羽c Citizen Lab phát hi羽n ra r茨ng Zoom và m瓜t s嘘 泳ng d映ng h瓜i ngh鵜
tr詠c tuy院p"mj e"Ðmj»pi"ewpi"e医r"e e"v pj"p<pi"o«"j„c"x "sw{隠p"tk‒pi"v逢"o "j丑 8隠 tc0Ñ"[10] khi院n vi羽e"o«"j„c"8亥u cu嘘i t瑛 phía máy khách tr荏 nên c医p thi院v"j挨p"dcq"ik運 h院t
T瑛 nh英ng lu壱p"8k吋m trên, t医t c違 8k隠w"p {"8隠u d磯p"8院n h壱u qu違 gi違m ch医v"n逢嬰ng
d鵜ch v映, khi院n quy隠p"tk‒pi"v逢"e栄c"pi逢運i dùng b鵜 xâm ph衣m, khách hàng không hài lòng
x "swc"8„."違pj"j逢荏pi"8院n uy tín, dòng ti隠n c栄a doanh nghi羽p
Vì nh英pi"n#"fq"p‒w"vt‒p."8隠 tài lu壱p"x<p"p {"sw{院v"8鵜pj"8逢嬰c th詠c hi羽p"8吋 nghiên
c泳w."8隠 xu医t các mô hình tích h嬰p mã hóa phù h嬰p, giúp c違i ti院n ch医v"n逢嬰ng 泳ng d映ng
tr詠c tuy院n trong vi羽c b違o v羽 v pj"tk‒pi"v逢"e栄c"pi逢運i dùng
Thi院t l壱p m映c tiêu
V噂i các v医p"8隠 8«"8逢嬰e"rj¤p"v ej"pj逢"vt‒p."o映c tiêu c栄a lu壱p"x<p"8逢嬰e"8員t ra theo chi隠w"j逢噂ng gi違i quy院t các nút th逸v"8„"pj逢pi"x磯p"8違m b違q"8逢嬰c ch医v"n逢嬰ng h瓜i tho衣i
tr詠c tuy院p"ejq"pi逢運i dùng Vì v壱y, lu壱p"x<p"p {"u胤 thi院t l壱p m映e"vk‒w"8吋 th詠c ti宇n hóa
e e"rj逢挨pi" p"ik違i quy院t nút th逸v"vt‒p"pj逢"ucw<
d映ng
‚ M 映c tiêu 2: Áp d映pi"o«"j„c"8亥u cu嘘k"rj c"o {"mj ej"8吋 gi違o"piw{"e挨"t "t雨
thông tin t瑛 máy ch栄 x "e e"8挨p"x鵜 chuy吋n ti院p ch丑n l丑c (SFU)
Trang 18gi違i thu壱t s印p"e„"8吋 xây d詠ng gi違i pháp cho v医p"8隠
Nghiên c泳u liên quan
Ngoài nh英ng bài nghiên c泳u nêu trên, lu壱p"x<p"e p"vj詠c hi羽n nghiên c泳w"e e"8嘘i th栄 trong th鵜 vt逢運ng h瓜i ngh鵜 tr詠c tuy院n và các gi違k"rj r"8逢嬰c áp d映ng trong vi羽c b違o v羽
v pj"tk‒pi"v逢"e栄c"pi逢運i dùng Các s違n ph育m ph鰻 bi院n hi羽n t衣k"8逢嬰c khai thác bao g欝m: Microsoft Teams, Zoom, Quickom, và Google Meets
V隠 u挨"d瓜."Oketquqhv"Vgcou"x "Oggvu"8隠u t壱p trung vào vi羽c b違o m壱t d英 li羽u trên 8逢運ng truy隠n m衣ng b茨ng cách áp d映pi"UTVR1FVNU"8逢嬰c mã hóa [11] [12] Tuy nhiên,
vi羽c kh荏i t衣o và qu違n lý chìa khóa 荏 Oketquqhv"Vgco"8逢嬰c th詠c hi羽n t瑛 phía máy ch栄, Meets s胤 t衣o lu欝ng h瓜i tho衣i 8挨p"x鵜 chuy吋n ti院p ch丑n l丑c, vì v壱y vi羽e"vkp"v逢荏ng máy ch栄
x "8挨p"x鵜 chuy吋n ti院p ch丑n l丑c v磯n ph違i 8逢嬰c áp d映ng Ngoài ra, Hai 泳ng d映pi"p {"8隠u
áp d映ng vi羽c xác th詠e"pi逢運i dùng thông qua 泳ng d映ng Authenticator, lu壱p"x<p"e„"vj吋 tham kh違q"rj逢挨pi"rj r"vk院p c壱p"p {"8吋 áp d映ng vào 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n A嘘i v噂i 泳ng d映pi"Swkemqo."8¤{"n "u違n ph育o"8k"vkên phong trong gi違i pháp vi宇n thông t壱p trung S違n ph育m công ngh羽 QR trong cu瓜c h丑p tr詠c tuy院n cùng v噂i công ngh羽 Blockchain c栄a Beowulf (BWF) Quickom s穎 d映pi"m‒pj"Rtkxcvg"Dnqemejckp"8吋 b違o m壱t
Trang 19V噂i Zoom, lu壱p"x<p"pj壱n th医y vi羽e"mj»pi"e„"o«"j„c"8亥u cu嘘i, Id cu瓜c h丑r"8逢嬰c
t衣o ra d宇 8q p"mjk院n Zoom tr運 vj pj"8嘘k"v逢嬰ng cho các cu瓜c t医n công c栄a tin t員c vào
n隠n t違ng này Vi羽e"ej逢c"v ej"j嬰r"e e"o«"j„c"8逢運ng truy隠n và ph違i tin và các 8挨p"x鵜 chuy吋n ti院p ch丑n l丑c e pi"mjk院n h羽 th嘘ng có nhi隠u l厩 h鰻ng b鵜 khai thác Tuy nhiên, vi羽c
d宇 s穎 d映ng và ch医v"n逢嬰ng cu瓜c g丑i t嘘v"8«"ik¿r"泳ng d映ng này tr荏 nên ph鰻 bi院n Lu壱p"x<p"
s胤 tham kh違o các thông s嘘 v隠 ch医v"n逢嬰ng cu瓜c g丑i và các khuy院n ngh鵜 c栄c"¥qqo"e pi"pj逢"e栄a các 泳ng d映ng h瓜i ngh鵜 mj e"8吋 8違m b違q"8亥u ra cho sau khi tích h嬰p mã hóa vào các cu瓜c h瓜i ngh鵜 tr詠c tuy院n
Trang 207
E愛"U雲 LÝ THUY蔭T
Khái ni羽m v隠 mã hóa
O«"j„c"n "rj逢挨pi"rj r"8吋 bi院n thông tin (phim 違pj."x<p"d違n, hình 違nh ) t瑛 8鵜nh
d衣pi"d·pj"vj逢運ng sang d衣ng thông tin không th吋 hi吋w"8逢嬰c n院w"mj»pi"e„"rj逢挨pi"vk羽n
̋ O«"j„c"8嘘i x泳ng (Symmetric encryption)
̋ Mã hóa b医v"8嘘i x泳ng (Asymmetric encryption)
̋ J o"d<o"*Jcuj"hwpevkqpu+
̋ Ch英 m#"8k羽n t穎 (Digital signatures)
Trong lu壱n án này, bài nghiên c泳u ch雨 t壱r"vtwpi"x q"rj逢挨pi"rj r"o«"j„c"8嘘i x泳ng
x "j o"d<o0"A¤{"n "jck"rj逢挨pi"rj r"o«"j„c"rj鰻 bi院n phù h嬰p v噂i các 泳ng d映ng truy隠n
d英 li羽u tr詠c tuy院n c亥n b違o m壱t hi羽n t衣i
O«"j„c"8嘘i x泳ng Î Symetric Encryption
O«"j„c"8嘘i x泳ng là là nh英ng h羽 m壱v"8逢嬰c s穎 d映ng chung 1 khóa trong quá trình o«"j„c"x "o«"j„c0"Fq"8„"mj„c"rj違k"8逢嬰c gi英 bí m壱t tuy羽p"8嘘i
Thu壱v"vq p"8嘘i x泳ng có th吋 8逢嬰c chia ra làm hai th吋 lo衣i, m壱t mã lu欝ng (stream ciphers) và m壱t mã kh嘘i (block ciphers) Các thu壱t to p"8嘘i x泳pi"p„k"ejwpi"mj»pi"8 k"
h臼i quá nhi隠u công su医t tính toán Bài lu壱p"x<p"u胤 t壱p trung nghiên c泳u v隠 rj逢挨pi"rj r"
mã hõa kh嘘i v嘘p"8逢嬰c s穎 d映ng r瓜ng rãi trong vi羽c mã hóa d英 li羽u th運i gian th詠c, c映 th吋
n "rj逢挨pi"rj r"o«"j„c"CGU."jc{"e p"8逢嬰c g丑i là Advance Encryption Standard
Rj⇔¬pi"rj r"o«"j„c"CGU"*Cfxcpeg"Gpet{rvkqp"Uvcpfctf+
AES là m瓜t thu壱t toán mã hóa kh嘘k"8嘘i x泳ng v噂k"8瓜 dài khóa là 128 bít (m瓜t ch英
s嘘 nh鵜 phân có giá tr鵜 0 ho員e"3+."3;4"d v"x "478"d v"v逢挨pi"泳ng d丑i là AES-128, AES-192
Trang 21mã hóa ho員c d英 li羽w"8亥u ra c栄a phép gi違k"o«+"8逢嬰c phân tán trong các b違n mã (D英 li羽u 8亥u ra c栄a phép mã hóa ho員c d英 li羽w"8亥u vào c栄a phép gi違k"o«+."Ðo壱p m運Ñ"pij c"n "o嘘i quan h羽 gi英a b違n rõ và b違n mã b鵜 che khu医t M瓜v"e ej"8挨p"ik違p"j挨p"8吋 xem th泳 t詠 hàm AES là: Tr瓜n t瑛ng byte (SubBytes), tr瓜n t瑛ng hàng (ShiftRows), tr瓜n t瑛ng c瓜t (MixColumns) và mã hóa (AddRoundKey) [13]
Vtqpi"CGU."e„"p<o"ej院 8瓜 ho衣v"8瓜pi"ej pj"8逢嬰c chu育n hóa b荏i NIST, có th吋 k吋 8院n:
‚ Ch院 8瓜 Electronic Code Book (ECB)
‚ Ch院 8瓜 Cipher Block Chaining (CBC)
‚ Ch院 8瓜 Cipher Feedback mode (CFB)
‚ Ch院 8瓜 Output Feedback mode (OFB)
Trang 229
‚ Ch院 8瓜 Counter (CTR)
Vtqpi"p<o"ej院 8瓜 này, có th吋 th医y r茨ng AES- EVT"8逢嬰c ch泳ng minh là phù h嬰p
v噂i d英 li羽u truy隠n tr詠c tuy院n nh医t vì ch院 8瓜 này không c亥n có b瓜 8羽m (padding), h羽
th嘘ng có th吋 chu育n b鵜 vt逢噂c nh英ng thành ph亥p"f́pi"8吋 mã hóa và gi違i mã mà không c亥n
ch運 n瓜i dung c亥n mã hóa/ gi違i mã Bên c衣pj"8„."e医w"vt¿e"f́pi"8吋 gi違i mã và mã hóa là
gi嘘ng nhau, rút ng逸n th運i gian tính toán Ngoài ra, ch院 8瓜 h丑c"8瓜ng này h厩 tr嬰 tính toán song song và các kh嘘i d英 li羽u l厩i ch雨 違pj"j逢荏ng kh嘘i hi羽n t衣k"o "mj»pi"i¤{"v e"8瓜ng 8院n nh英ng kh嘘i d英 li羽w"ucw"8„0"X·"x壱y, lu壱p"x<p"u胤 tìm hi吋w"t "j挨p"x隠 ch院 8瓜 AES Î CTR v隠 nguyên t逸c ho衣v"8瓜ng c栄a nó
Chx 8じ Counter (AES - CTR)
CTR là ch院 8瓜 mã hóa s穎 d映ng m瓜t t壱p các kh嘘i ngõ vào, g丑k"n "e e"eqwpvgt."8吋 sinh ra m瓜t t壱p các giá tr鵜 ngõ ra thông qua m瓜t thu壱t toán mã hóa [14]0"Ucw"8„."ik "vt鵜 ngõ ra s胤 8逢嬰c XOR v噂k"rnckpvgzv"8吋 t衣o ra ciphertext trong quá trình mã hóa, ho員c XOR
v噂k"ekrjgtvgzv"8吋 t衣o ra plaintext trong quá trình gi違i mã Hình 2.2 th吋 hi羽p"u挨"8欝 kh嘘i cách th泳c ho衣v"8瓜ng c栄a AES Î CTR
Bi吋u th泳e"8鵜pj"pij c"sw "vt·pj"o«"j„c"e栄a AES-EVT"8逢嬰c th吋 hi羽n có s詠 v逢挨pi"8逢挨pi"x隠 m員t toán h丑e"pj逢"ucw<
Trang 23N院u IV/nonce là ng磯u nhiên, thì chúng có th吋 8逢嬰c k院t h嬰p v噂i nhau v噂i b瓜 8院m
b茨ng cách s穎 d映ng b医t k ho衣v"8瓜pi"8違q"pi逢嬰c nào (n嘘i, c瓜ng ho員e"ZQT+"8吋 t衣o ra kh嘘i
b瓜 8院m duy nh医t th詠c t院 ejq"o«"j„c0"Vtqpi"vt逢運ng h嬰p m瓜t nonce không ng磯u nhiên (ch鰯ng h衣p"pj逢"d瓜 8院m gói), nonce và b瓜 8院o"p‒p"8逢嬰c ghép n嘘i (ví d映<"n逢w"vt英 nonce
荏 64 bit trên và b瓜 8院m 荏 86"dkv"f逢噂i c栄a kh嘘i b瓜 8院m 128 bit) Ch雨 c亥n thêm ho員c XORing nonce và counter thành m瓜t giá tr鵜 duy nh医t s胤 phá v叡 b違o m壱t theo cu瓜c t医n e»pi"8逢嬰c ch丑n-plaintext trong nhi隠w"vt逢運ng h嬰p, vì k飲 t医n công có th吋 8k隠u khi吋n toàn
b瓜 c員p IV-eqwpvgt"8吋 gây ra va ch衣m Khi k飲 t医n công ki吋m soát c員p IV Î counter và
b違n rõ, XOR c栄a b違n mã v噂i b違p"t "8«"dk院t s胤 mang l衣i m瓜t giá tr鵜 mà khi XORed v噂i
b違n mã c栄a kh嘘i khác chia s飲 cùng m瓜t c員p IV Î counter, s胤 gi違i mã kh嘘k"8„0
J o"d<o"*Jcuj"Hwpevkqpu+
Jcujkpi"*d<o+"n "sw "vt·pj"dk院p"8亥u vào là m瓜t n瓜k"fwpi"e„"m ej"vj逢噂e."8瓜 dài b医t
k r欝i s穎 d映ng nh英ng thu壱t toán, công th泳c toán h丑e"8吋 bi院p"vj pj"8亥u ra tiêu chu育n có 8瓜 dài nh医v"8鵜pj0"Sw "vt·pj"8„"u穎 d映ng nh英pi"J o"d<o"*Jcuj"hwpevkqp+0
Trong nhi隠u chu育n và 泳ng d映pi."jck"j o"d<o"vj»pi"f映ng nh医t là MD5 và SHA Tuy nhiên, trong khuôn kh鰻 bài lu壱n án này, lu壱p"x<p"ej雨 8k"u¤w"x q"pijk‒p"e泳u 泳ng
d映ng c栄c"UJC."8„"n "Hash-Based Message Authentication Code (HMAC)
Mã xác thばe"d<o"Jcuj-Based Message Authentication Code (HMAC)
Mã xác th詠c thông báo (Message Authentication Code) là m瓜v"8q衣p"o«"8逢嬰c t衣o
ra nh茨m m映e"8 ej"z e"vj詠c tính toàn v姻n và ngu欝n g嘘c c栄c"vj»pi"d q0"A¤{"n "o瓜v"e挨"
ch院 quan tr丑pi"8吋 duy trì tính toàn v姻n và không th吋 ch嘘i b臼 d英 li羽u
M映e"8 ej"e栄c"j o"OCE"n "8違m b違q"8吋 hai (hay nhi隠u) bên tham gia giao d鵜ch khi
có chung khóa bí m壱t có th吋 giao d鵜ch v噂i nhau, kèm theo kh違 p<pi"e„"vj吋 phát hi羽n 8逢嬰e"vjc{"8鰻i c栄a thông báo trong quá trình v壱n chuy吋n, nh茨m tránh các t医n công làm vjc{"8鰻i thông báo
Trang 24c栄a SHA mà s胤 có các phiên b違n khác nhau c栄a HMAC, có th吋 k吋 8院n HMAC-SHA1, HMAC-SHA2, HMAC-SHA-478."È
Nguyên t逸c ho衣v"8瓜ng trong m瓜t vòng l員p c栄c"JOCE"8逢嬰c bi吋u di宇n theo hình 3, vtqpi"8„"j o"JOCE"8逢嬰c bi吋u di宇p"f逢噂i d衣ng toán h丑e"pj逢"ucw [15]:
殺捌冊察岫皐 仕岻 噺 "殺岫岫皐嫗妓 伺使珊纂岻 殺岫岫皐嫗妓 餐使珊纂岻 仕岻岻 (2.5)
皐旺 噺 " 犯殺岫皐岻"暫酸餐"皐"残怏仔"酸怦仔"暫Þ算酸"嗣酸恊怏算"暫酸怎餐"皐"暫酸餐"仔賛恊恪算"残徊餐 (2.6) Vtqpi"8„<
‚ H là m瓜v"j o"d<o"o壱t mã
‚ m là tin nh逸p"8逢嬰c xác th詠c
‚ K là chìa khóa bí m壱t
‚ K' là m瓜v"mj„c"e„"m ej"vj逢噂c kh嘘i b逸t ngu欝n t瑛 khóa bí m壱t, K
‚ || Bi吋u th鵜 s詠 n嘘i chu厩i
‚ 妓 bi吋u th鵜 bitwise exclusive ho員c (XOR)
‚ opad: ph亥p"8羽o"d‒p"piq k"e„"m ej"vj逢噂c kh嘘i, g欝m các byte l員p có giá tr鵜 0x5c
‚ ipad: ph亥p"8羽o"d‒p"vtqpi"e„"m ej"vj逢噂c kh嘘i, g欝m các byte l員p có giá tr鵜 0x36
Trang 2512
M壱t kh育u dùng m瓜t l亥n One-Time Password (OTP)
M瓜t trong nh英ng 泳ng d映ng ph鰻 bi院n nh医t c栄a HMAC-SHA là 泳ng d映pi"8吋 kh荏i
t衣o m壱t kh育u dùng m瓜t l亥n One-Time Password (OTP) M壱t kh育u dùng m瓜t l亥n (OTP)
là m瓜t chu厩i ký t詠 s嘘 ho員c ch英 và s嘘 8逢嬰c t衣o t詠 8瓜pi"8吋 xác th詠e"pi逢運i dùng cho m瓜t giao d鵜ch ho員e"rjk‒p"8<pi"pj壱p
QVR"cp"vq p"j挨n m壱t kh育w"v pj."8員c bi羽t là m壱t kh育w"fq"pi逢運i dùng t衣o, m壱t kh育u này có th吋 y院u và / ho員e"8逢嬰c s穎 d映ng l衣i trên nhi隠u tài kho違n OTP có th吋 thay th院 vj»pi"vkp"8<pi"pj壱p xác th詠c ho員c có th吋 8逢嬰c s穎 d映ng b鰻 uwpi"ejq"p„"8吋 thêm m瓜t l噂p
b違o m壱t khác Trên 泳ng d映ng th詠c t院."e„"jck"e挨"ej院 ho衣v"8瓜ng th詠c t院 c栄a OTP là:
‚ HMAC-based One-Time Password (HOTP)
‚ Time-based One-Time Password (TOTP)
HMAC-based One-Time Password (HOTP)
HOTP (thu壱t toán OTP d詠c"vt‒p"JOCE+"e pi"vj逢運pi"8逢嬰c g丑i là m壱t kh育u m瓜t
l亥n d詠a trên s詠 ki羽n Xác th詠c HOTP yêu c亥w"jck"8亥w"x q0"A亥u tiên là h衣t gi嘘pi"8逢嬰c chia s飲 b荏i máy ch栄 x "o«"vj»pi"d q"JQVR."8¤{"n "o瓜t h茨ng s嘘 xác th詠c các OTP Cái
th泳 hai là b瓜 8院m, là m瓜t bi院p"8逢嬰e"n逢w"vt英 trên máy ch栄 và mã thông báo (hai cái này,
t詠 pjk‒p."8逢嬰e"8欝ng b瓜 hóa) B瓜 8院m c栄c"o«"vj»pi"d q"v<pi"v益 l羽 m厩i khi nút trên thi院t
b鵜 8逢嬰c nh医p vào, b瓜 8院m c栄a máy ch栄 s胤 v<pi"v益 l羽 v噂i m厩k"QVR"8«"8逢嬰c xác th詠c [16] Rj逢挨pi"vj泳c ho衣v"8瓜ng c栄c"JQVR"8逢嬰c lý gi違i theo hình 2.4
Hình 2.3 U挨"8欝 ho衣v"8瓜ng c栄a HMAC
Trang 2613
JQVR"8逢嬰c tính b茨pi"e ej"8亥u tiên t衣o m瓜t d<o"JOCE"v瑛 h衣t gi嘘ng và b瓜 8院m Tuy nhiên, k院t qu違 8亥w"tc"sw "f k."8„"n "o瓜t chu厩k"f k"382"dkv0"Fq"8„."vk院r"vjgq."p„"8逢嬰c rút ng逸n thành 6 ho員c 8 ch英 s嘘 h嬰r"n#."8„"n "QVR"jk吋n th鵜 trên mã thông báo
HOTP là thu壱v"vq p"QVR"dcp"8亥w0"O«"j„c"JOCE"8逢嬰c s穎 d映ng 荏 8¤{"n o"ejq"
h亥w"pj逢"mj»pi"vj吋 gi違i mã khóa bí m壱t ho員c sao chép m壱t kh育u
Time-based One-Time Password (TOTP)
OTP d詠a trên th運i gian (vi院t t逸t là TOTP), có gi違i thu壱t d詠c"vt‒p"JQVR"pj逢pi"vtqpi"8„"{院u t嘘 di chuy吋p"8逢嬰c thay b茨ng y院u t嘘 th運i gian thay vì b瓜 8院m [17] TOTP
s穎 d映ng th運i gian theo gia s嘘 8逢嬰c g丑k"n "d逢噂c th運k"ikcp."vj逢運ng là 30 ho員c 60 giây Ak隠w"p {"e„"pij c"n "o厩i OTP có giá tr鵜 trong kho違ng th運i gian c栄c"d逢噂c th運i gian
A吋 thi院t l壱p xác th詠e"VQVR."pi逢運i xác th詠c và h羽 th嘘ng xác th詠c ph違i thi院t l壱p vt逢噂c c違 thông s嘘 HOTP và các thông s嘘 TOTP sau:
‚ T0, th運i gian Unix mà t瑛 8„"d逸v"8亥w"8院o"e e"d逢噂c th運i gian (m員e"8鵜nh là 0),
‚ Tx, kho違ng th運i gian s胤 8逢嬰c s穎 d映pi"8吋 tính toán giá tr鵜 c栄a b瓜 8院m CT (m員c 8鵜nh là 30 giây)
C違 trình xác th詠e"x "pi逢運i xác th詠e"8隠u tính toán giá tr鵜 VQVR."ucw"8„"vt·pj"z e"
th詠c ki吋m tra xem giá tr鵜 VQVR"fq"pi逢運i xác th詠c cung c医p có kh噂p v噂i giá tr鵜 TOTP 8逢嬰c t衣o c映c b瓜 hay không M瓜t s嘘 trình xác th詠c cho phép các giá tr鵜 l胤 ra ph違k"8逢嬰c
Hình 2.4 U挨"8欝 ho衣v"8瓜ng c栄a HOTP
Trang 2714
t衣o tr逢噂c ho員c sau th運k"8k吋m hi羽n t衣k"8吋 v pj"8院p"8瓜 l羽ej"8欝ng h欝 nh姻."8瓜 tr宇 m衣ng và
s詠 ch壱m tr宇 c栄c"pi逢運i dùng Công th泳e"f́pi"8吋 v pj"vq p"VQVR"pj逢"ucw<
‚ T là th運i gian hi羽n t衣i tính b茨ng giây k吋 t瑛 m瓜t epoch c映 th吋,
‚ T0n "grqej"8逢嬰c ch雨 8鵜nh tính b茨ng giây k吋 t瑛 Epoch Unix
‚ TXn "8瓜 dài c栄a kho違ng th運i gian m瓜t l亥n xác th詠c (ví d映: 30 giây)
Quy trình xác th詠e"VQVR"8逢嬰c tr詠c quan hóa theo hình 2.5
A亥u tiên, phía máy khách s胤 th詠c hi羽n b逸t tay v噂i máy ch栄 8吋 nh壱n bi院v."ucw"8„"máy ch栄 s胤 kh荏i t衣o m瓜t khóa bí m壱t dùng chung gi英a phía máy ch栄 và máy khách Có hai m嘘c th運i gian hi羽n khi sùng TOTP, m嘘c th運i gian c栄a token, k吋 t瑛 mjk"vqmgp"8逢嬰c
kh荏i t衣o và m嘘c th運i gian c栄a máy ch栄 (ví d映, khi máy ch栄 8逢嬰c kh荏k"8瓜ng, th運i gian này là 0, khác v噂i th運i gian c栄a token) Sau khi kh荏i t衣o TOTP, máy khách s胤 g穎i token theo t瑛ng chu kì cho máy ch栄."mjk"8„"o {"ej栄 s胤 uq"u pj"jck"QVR"8逢嬰c kh荏i t衣o t瑛 máy
Hình 2.5 U挨"8欝 ho衣v"8瓜ng c栄a TOTP
Trang 28Trong các ki院n trúc h羽 th嘘ng c栄a h瓜i tho衣i tr詠c tuy院n, các thành ph亥n v壱v"n#"e挨"d違n
c医u thành h羽 th嘘ng bao g欝m máy khách (Client), Máy ch栄 (Server), và biên d鵜ej"8鵜a ch雨
m衣ng (Network Address Translation Î PCV+0"Vtqpi"8„."o {"ej栄 có th吋 chia thành ba
d衣pi"ej pj."8違m nhi羽m các ch泳e"p<pi"mj e"pjcw<"o {"ej栄 STUN (Session Traversal Utilities for NAT Server), máy ch栄 TURN (Traversal Using Relays around NAT Server)
và máy ch栄 báo hi羽u (Signaling Server) [18]
Server 8逢嬰e"8鵜pj"pij c"pj逢"n "o瓜t máy tính nhi隠w"pi逢運i s穎 d映ng Vì m瓜t server
ph違i qu違n lý nhi隠u yêu c亥u t瑛 các client trên m衣ng cho nên nó ho衣v"8瓜ng s胤 t嘘v"j挨p"p院u
h羽 8k隠u hành c栄c"p„"n "8c"pjk羽m v噂k"e e"v pj"p<pi"jq衣v"8瓜pi"8瓜c l壱p song song v噂i nhau Server cung c医r"x "8k隠u khi吋n các ti院n trình truy c壱p vào tài nguyên c栄a h羽 th嘘ng Client là m瓜t máy tr衣m mà ch雨 8逢嬰c s穎 d映ng b荏i m瓜v"pi逢運k"f́pi"8瓜c l壱p trong h羽
th嘘pi."n "p挨k"i荏i các yêu c亥u x穎 lý v隠 máy ch栄 Sau khi ti院p nh壱n yêu c亥u c栄c"pi逢運i dùng, ph亥n phía client thành l壱p các query string g穎i v隠 phía Server, ti院p nh壱n k院t qu違
và t鰻 ch泳c trình di宇p"ej¿pi0"Vtqpi"vt逢運ng h嬰p khi m瓜t máy v瑛c"8„pi"xck"vt "n "o {"
mj ej"8吋 g穎i yêu c亥w"x "8„pi"xck"vt "n "o {"ej栄 truy隠n d英 li羽u thì máy khách này còn 8逢嬰c g丑i là peer
NAT là m瓜t router s穎 d映ng IP c栄a chính nó làm IP công c瓜ng cho m厩i client v噂i
IP riêng Khi m瓜t client g穎i m瓜t yêu c亥w"8院n máy ch栄, d英 li羽u s胤 8逢嬰c g荏i t噂i NAT, sau 8„"PCV"u胤 thay th院 8鵜a ch雨 IP g嘘c c栄c"o {"eqp"8„"t欝i g穎i gói d英 li羽w"8k"x噂k"8鵜a ch雨 IP
c栄a NAT Máy ch栄 khi nh壱p"8逢嬰c tín hi羽u s胤 g荏i gói tin tr荏 v隠 cho NAT NAT ghi l衣i
b違ng thông tin c栄a nh英pi"o {"v pj"8«"i荏i trên m厩i c鰻ng d鵜ch v映 và g荏i nh英ng gói tin
nh壱p"8逢嬰c v隠 8¿pi"enkgpv"8„0"PCV"e„"d嘘n lo衣i ph鰻 bi院n là full-cone, cone, port-restricted-cone và symmetric
address-restricted-STUN Server là máy chù có nhi羽m v映 ki吋o"vtc"8鵜a ch雨 IP và c鰻ng c栄a yêu c亥u v瑛a 8院n và g穎i tr荏 l衣i IP và c鰻pi"8„0"E e"泳ng d映ng s穎 d映pi"UVWP"ugtxgt"8吋 cung c医p IP và
c鰻ng công khai t瑛 internet T瑛 8„"o瓜t máy khách hay peer có th吋 t詠 l医{"8逢嬰e"8鵜a ch雨 IP
Trang 2916
và c鰻pi"e»pi"mjck"x "8逢c"p„"ejq"e e"rggt"mj e"vj»pi"swc"e挨"ej院 signaling Tuy nhiên,
m瓜v"pj逢嬰e"8k吋m là nó không h厩 tr嬰 Symmetric NAT
TURN Server là máy ch栄 8逢嬰c xây d詠ng nh茨o"x逢嬰t qua symmetric NAT b茨ng cách m荏 m瓜t k院t n嘘i t噂i nó thông qua m瓜v"8鵜a ch雨 IP công khai D英 li羽w"vjc{"x·"8逢嬰c g穎i
tr詠c ti院p t噂i các peer thì các peer s胤 g穎i d英 li羽u t噂i các TURN server và TURN server
s胤 8„pi"xck"vt "vtwpi"ikcp"x壱n chuy吋n gói tin
Signaling Server: là m瓜t máy ch栄 8泳ng trung gian gi英a các cligpv"8吋 e„"vtcq"8鰻i các thông tin c亥n thi院t, t瑛 8„"e e"enkgpv"e„"vj吋 k院t n嘘i v噂k"pjcw0"Vj»pi"vj逢運ng, máy là
m瓜t máy ch栄 giao ti院p th運i gian th詠e."e„"pij c"n "u胤 luôn l逸ng nghe các yêu c亥u t瑛 máy khách và tr違 v隠 k院t qu違 v逢挨pi"泳ng Ngoài ra, trong m瓜t s嘘 vt逢運ng h嬰p, máy ch栄 này còn 8逢嬰e"f́pi"8吋 chuy吋n ti院p các d英 li羽u dòng gi英a các peer, khi院n nó tr荏 thành m瓜v"8挨p"x鵜 chuy吋n ti院p ch丑n l丑c (Selective Forwarding Unit Î SFU, s胤 p„k"t "j挨p"荏 ph亥n sau)
Giao thとc hう thぐng
Mjk"8«"e„"e e"vj pj"rj亥n trong h羽 th嘘ng, các thành ph亥n này c亥n ph違i giao ti院p
v噂i nhau trong qua trình v壱p"j pj0"A逢運ng truy隠p"8吋 các thành ph亥n giao ti院p v噂i nhau 8逢嬰c g丑i là giao th泳c (Protocol) Trong h瓜i ngh鵜 tr詠c tuy院n, các giao th泳c ph鰻 bi院n bao
g欝m: Giao th泳e"8k隠u khi吋n truy隠n v壱n (Transmission Control Protocol Î TCP), giao th泳c
mô hình d英 li羽w"pi逢運i dùng (User Datagram Protocol Î UDP), Giao th泳c mô t違 phiên (Session Description Protocol Î SDP) và thi院t l壱p giao ti院r" v逢挨pi" v e" *Kpvgtcevkxg"Communication Establishment Î ICE)
TCP là giao th泳c truy隠n t違k"j逢噂ng k院t n嘘i (connection-qtkgpvgf+."pij c"n "rj違i th詠c
hi羽n thi院t l壱p k院t n嘘i v噂k"8亥w"zc"vt逢噂c khi th詠c hi羽n truy隠n d英 li羽u TCP Cung c医r"e挨"
ch院 báo nh壱p"*Cempqyngfigogpv+"ejq"rjfir"pi逢運i nh壱n g穎i gói tin xác nh壱p"ejq"pi逢運i
g穎i xác nh壱n, cung c医p e挨"ej院 8 pj"u嘘 th泳 t詠 i„k"vkp"*ugswgpekpi+"ejq"e e"8挨p"x鵜 d英 li羽u 8逢嬰c truy隠n, s穎 d映pi"8吋 ráp các gói tin chính xác 荏 8k吋m nh壱n và lo衣i b臼 gói tin trùng
l員p và ph映c h欝i d英 li羽u b鵜 m医v"vt‒p"8逢運ng truy隠n Ngoài ra, TCP còn h厩 tr嬰 e挨"ej院 8k隠u khi吋n lu欝ng thích h嬰r"*hnqy"eqpvtqn+"8吋 tránh ngh胤n x違y ra H厩 tr嬰 e挨"ej院 full-duplex (truy隠n và nh壱n d英 li羽u cùng m瓜t lúc) [19]
UDP là giao th泳c truy隠n t違k"j逢噂ng không k院t n嘘i (connectionless) Nó s胤 không
th詠c hi羽n thao tác xây d詠ng k院t n嘘i vt逢噂c khi truy隠n d英 li羽u mà th詠c hi羽n truy隠n ngay
Trang 3017
l壱p t泳c khi có d英 li羽u c亥n truy隠p."fq"8„"vtw{隠n t違i r医t nhanh cho d英 li羽u c栄a l噂p 泳ng
d映pi0"Vw{"pjk‒p."WFR"mj»pi"8違m b違o tính tin c壱y khi truy隠n d英 li羽w"x "mj»pi"e„"e挨"
ch院 ph映c h欝i d英 li羽u, không th詠c hi羽n các bi羽p"rj r"8 pj"u嘘 th泳 t詠 ejq"e e"8挨p"x鵜 d英
li羽w"8逢嬰c truy隠n Tuy nhiên, nh運 vào tính ch医t nhanh và hi羽u qu違 j挨p"8嘘i v噂i các d英
li羽w"e„"m ej"vj逢噂c nh臼 và yêu c亥u kh逸t khe v隠 th運i gian nên UDP h英u d映pi"8嘘i v噂i vi羽c
tr違 l運i các truy v医n nh臼 v噂i s嘘 n逢嬰ng l噂p"pi逢運i yêu c亥u
SDP là m瓜t chu育n mô t違 các thông s嘘 c栄a m厩i k院t n嘘k"pj逢"n "8瓜 phân gi違k."8鵜nh
d衣pi."eqfgeu."o«"j„cÈ"Ak隠u này làm cho m厩i peer có th吋 hi吋u nhau khi d英 li羽w"8逢嬰c truy隠p0"A¤{"vj詠c ch医t là meta-data miêu t違 n瓜i dung ch泳 không ph違i là d英 li羽u media ICE là m瓜t giao th泳e"8逢嬰e"épi"8吋 thi院t l壱p phiên media d詠c"vt‒p"WFR"8k"swc"PCV"
m瓜t cách nhanh nh医t ICE c嘘 g逸ng k院t n嘘i s穎 d映pi"8鵜a ch雨 host l医{"8逢嬰c t瑛 h羽 8k隠u hành
ho員c card m衣ng, n院u không thành công do máy khách n茨m phía sau NAT thì ICE s胤 l医y
nó s胤 l医{"8鵜a ch雨 IP public thông qua STUN server N院u v磯n không thành công, ICE s胤 chuy吋p" n逢w" n逢嬰ng m衣pi" swc" VWTP" ugtxgt0" E e" e ej" 8吋 k院t n嘘k" p {" 8逢嬰c g丑i là ÐecpfkfcvgÑ0
Bên c衣nh các giao th泳e"8„."8吋 ti院n hành k院t n嘘i gi英a client và server, có th吋 s穎
d映ng Socket Socket là m瓜v"8k吋m cu嘘i (end-point) c栄a liên k院t giao ti院p hai chi隠u way communication) gi英a client và server Socket có th吋 s穎 d映pi"VER"8吋 truy隠n tin, g丑i
(two-là Stream Socket, và s穎 d映pi"WFR"8吋 truy隠n tin, còn g丑i là Datagram Socket 永ng d映ng
c栄a Stream Socket có th吋 k吋 8院p"Ygduqemgv."f́pi"8吋 k院t n嘘i gi英a server và client là
m瓜t trình duy羽t
Kixn trúc hう thぐng phご bixn
Trong ki院n trúc h羽 th嘘ng c栄a h瓜i ngh鵜 tr詠c tuy院n, có ba ki院n trúc ph鰻 bi院p"8逢嬰c s穎
d映ng trong h亥u h院t các 泳ng d映ng hi羽n t衣i là: ki院n trúc m衣pi"n逢噂i (Mesh), ki院p"vt¿e"8k隠u khi吋n t壱p trung (Multipoint Controller Unit Î MCU) và ki院n trúc chuy吋n ti院p ch丑n l丑c (Selective Forwarding Unit Î SFU)
Ki院n trúc m衣pi"n逢噂k"e„"e挨"ej院t ho衣v"8瓜pi"pj逢"j·pj"8."o厩i máy khách ph違i duy trì
4 k院t n嘘i (4"j逢噂ng lên, 2 k院t n嘘i xu嘘pi+="vjgq"e ej"v逢挨pi"v詠, N院u có N máy khách tham gia, m厩i máy khách ph違i duy trì N-1 upstream, N-3"fqypuvtgco."8k隠u này s胤 chi院m r医t nhi隠w"d<pi"vj»pi"j逢噂pi"n‒p"x "d<pi"vj»pi"zw嘘ng c栄c"o {"mj ej0"Fq"8„."x噂i ki院n trúc
Trang 3118
này, h羽 th嘘ng s胤 khó m荏 r瓜pi"*uecnkpi+"mjk"n逢嬰pi"pi逢運i dùng l噂n Lo衣i ki院n trúc s穎
d映ng Peer-to-rggt"vt逢噂c m厩k"8亥w"8逢嬰c g丑i là ki院n trúc Mesh Hi羽n ki院p"vt¿e"p {"8逢嬰c Google Meets s穎 d映ng và hi羽n th詠c
Ki院n trúc MCU là m瓜t ki吋u chi院p"n逢嬰c cho phép t嘘k"逢w"xk羽c nhi隠u peer k院t n嘘i v噂i nhau V噂k"OEW"vjc{"x·"e e"rggt"8逢嬰c thi院t l壱p k院t n嘘i v噂i t医t c違 e e"rggt"mj e"pj逢"mk院n trúc Mesh, nó ch雨 c亥n thi院t l壱p k院t n嘘i v噂i m瓜t server trung gian Server này có trách nghi羽m nh壱n/chuy吋n t噂k"e e"rggt"mj e0"姶w"8k吋m c栄c"OEW"n "8挨p"ik違p"x "vt pj"8逢嬰c
v医p"8隠 v隠 hi羽u su医t khi có nhi隠u peer k院t n嘘i, tuy nhiên vì tính ch医t t壱p trung d英 li羽u t衣i
m瓜t ngu欝n, ki院p"vt¿e"p {"e pi"n "p挨k"e亥n b違o m壱t và d宇 b鵜 t医n công nh医t Hi羽n ki院n trúc
p {"vj逢運pi"8逢嬰c các 泳ng d映ng không chuyên v隠 h瓜i ngh鵜 tr詠c tuy院n s穎 d映pi."8k吋n hình pj逢"Xkdgt"x "o瓜t s嘘 泳n d映ng trò chuy羽n khác Hình 2.7 bi吋u hi羽p"rj逢挨pi"vj泳c ho衣t 8瓜ng c栄a ki院n trúc MCU
Hình 2.6 U挨"8欝 ho衣v"8瓜ng c栄a ki院n trúc Mesh
Trang 3219
Cu嘘i cùng, ki院n trúc SFU là m瓜t trong nh英ng ki院n trúc ph鰻 bi院n c栄a h羽 th嘘ng h瓜i ngh鵜 tr詠c tuy院n hi羽n t衣k."8逢嬰e"¥qqo"e pi"pj逢"Oketquqhv"Vgcou"u詠 d映ng và hi羽n th詠c Hình 2.8 th吋 hi羽n cách th泳c ho衣v"8瓜ng c栄a ki院n trúc này
Ki院n trúc SFU là m瓜t ki院p"vt¿e"v逢挨pi"t詠 pj逢"OEW."e„"o瓜t server trung gian 荏
gi英c."pj逢pi"UHW"e„"rj亥n c違i ti院p"j挨p0"Vjc{"x·"rj違i x穎 lý nhi隠w"e»pi"8q衣p"pj逢"ik違i mã, vt»p."ucw"8„"ik違k"o«."UHW"8挨p"ik違n ch雨 gi違i mã và g穎i t噂k"e e"rggt"mj e"mjk"pi逢運i dùng
g穎i m瓜t lu欝ng stream t噂i Vi羽c này làm làm cho các lu欝ng stream có th吋 ch医v"n逢嬰ng t嘘t j挨p"fq"mj»pi"rj違i tr瓜p"pj逢"ogfkc"ugtxgt0
Piq k"tc"8吋 m荏 r瓜pi"j挨p."o瓜t s嘘 h羽 th嘘ng còn s穎 d映ng máy khách thành m瓜t máy
ch栄 vtwpi"ikcp"f́pi"8吋 truy隠n t違i d英 li羽u sang các máy khách khác Tuy nhiên, vì tính
Hình 2.7 U挨"8欝 ho衣v"8瓜ng c栄a ki院n trúc MCU
Hình 2.8 U挨"8欝 ho衣v"8瓜ng c栄a ki院n trúc SFU
Trang 3320
ch医t d英 li羽u s胤 8逢嬰c chuy吋n ti院p qua server trung gian, vì v壱{"8 k"j臼k"pi逢運i dùng s胤
ph違k"vkp"v逢荏ng máy trung gian này r茨ng s胤 mj»pi"n逢w"vt英 d英 li羽w"8逢嬰c chuy吋n ti院p
Ch医v"n逢嬰ng d鵜ch v映 Quality of Service (QoS)
Trong th詠c t院."SqU"n "p„k"8院n các k悦 thu壱t x穎 n#"n逢w"n逢嬰ng trong m衣ng truy隠n s嘘
li羽u s穎 d映ng b瓜 giao th泳c IP (Internet Protocol) nh茨o"8違m b違o các lo衣k"n逢w"n逢嬰ng có yêu c亥u ch医v"n逢嬰ng d鵜ch v映 mj e"pjcw"8逢嬰e"8嘘i x穎 逢w"vk‒p"mj e"pjcw0"V泳c là, v噂i d英
li羽w"8c"rj逢挨pi"vk羽n, QoS và các gi違i pháp c栄a QoS (bao g欝m C医u trúc Best-Effort, C医u trúc Guaranteed Services và C医w" vt¿e" Fkhhgtgpvkcvgf" Ugtxkegu+" 8吋 t嘘k" 逢w" j„c" 8逢運ng truy隠n c栄a 泳ng d映ng này v噂i 泳ng d映ng khác Trong khuôn kh鰻 lu壱p"x<p"p {."nw壱n án ch雨 8隠 c壱r"8院n các tiêu chí mà k悦 thu壱t QoS s穎 d映pi"8吋 8 pj"ik "ej医v"n逢嬰ng d鵜ch v映, t瑛 8„"
n o"e挨"u荏 8吋 8 pj"ik "ej医v"n逢嬰pi"8亥u ra c栄a bài lu壱n
A吋 8 pj"ik "ej医v"n逢嬰ng d鵜ch v映 c栄a m衣pi"KR."pi逢運i ta d詠a vào các tham s嘘: T益 l羽
m医v"i„k"*Rcemgv"Nquu"Tcvg+."A瓜 tr宇 i„k"*Ncvgpe{+"x "A瓜 bi院n thiên tr宇 (Jitter) [20]
T益 l羽 m医t gói (Packet Loss Rate - PLR): tham s嘘 này cho bi院t t益 l羽 ph亥p"vt<o"u嘘 gói IP b鵜 m医t trên t鰻ng s嘘 toàn b瓜 s嘘 i„k"KR"8亥u g穎k"8«"ejw{吋n vào m衣pi"ejq"rj c"8亥u
nh壱n T益 l羽 m医v"i„k"8逢嬰c tính toán theo công th泳c sau:
皿鯖三 噺皿珊算暫蚕嗣史嗣司珊仔史仕餐嗣嗣蚕纂 貸皿珊算暫蚕嗣史司蚕算蚕餐士蚕纂
皿珊算暫蚕嗣史嗣司珊仔史仕餐嗣嗣蚕纂 "姉"層宋宋ガ (2.9)Vtqpi"8„<
‚ Packetstransmitted: t鰻ng s嘘 gói d英 li羽w"8逢嬰c chuy吋p"8k
‚ Packetsreceived: t鰻ng s嘘 gói d英 li羽u nh壱p"8逢嬰c
A瓜 tr宇 gói (Latency): tham s嘘 này cho bi院t kho違ng th運k"ikcp"i„k"KR"8逢嬰c chuy吋n
t瑛 8亥u g穎k"8院p"8亥u nh壱p0"A瓜 tr宇 i„k"8逢嬰c chia ra thành hai d衣pi"n "8瓜 tr宇 8挨p"j逢噂ng (One-yc{"ncvgpe{+"x "8瓜 tr宇 vòng (Round Trip Time Î TVV+."vtqpi"8„"8瓜 tr宇 8挨p"j逢噂ng 8逢嬰c tính b茨ng th運i gian t瑛 lúc g穎k"3"htcog"ejq"8院p"mjk"p„"8逢嬰c hi吋n th鵜."e p"TVV"8逢嬰c tính b茨ng t鰻ng c栄a t医t c違 e e"8瓜 tr宇 mã hóa, x院p hàng, x穎 lý, gi違i mã và lan truy隠n theo
c違 jck"j逢噂ng cho 1 frame Công th泳e"8吋 tính toán hai d衣pi"p {"8逢嬰c trình bày pj逢"ucw<
鯖珊嗣蚕仔算姿伺仔蚕貸始珊姿 噺 " 嗣纂餐史使残珊姿伐 嗣嗣司珊仔史仕餐嗣嗣蚕纂 (2.10)
Trang 3421
三参参 噺 " デ 嗣嗣司珊仔史仕餐嗣嗣蚕纂髪"デ 嗣司蚕算蚕餐士蚕纂" (2.11)
A瓜 bi院n thiên tr宇 (Jitter): tham s嘘 này cho bi院t s詠 fcq"8瓜ng v隠 8瓜 l噂n c栄c"8瓜 tr宇 i„k"8逢嬰c tính b茨ng s詠 khác bi羽t gi英a các m磯u và chia cho s嘘 n逢嬰ng m磯w0"A瓜 bi院n thiên 8逢嬰e"v pj"pj逢"ucw<
雑餐嗣嗣蚕司 噺 "デ 岫嗣仔 仔 貸嗣仔貼層岻
V噂i các 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院p."Oketquqhv"8逢c"tc"o瓜t s嘘 th臼a thu壱n m泳c
d鵜ch v映 (Service Level Agreement - UNC+"8吋 8 pj"ik "o瓜t 泳ng h瓜i ngh鵜 tr詠c tuy院n có 8衣v"8逢嬰c tiêu chu育n ch医v"n逢嬰ng có th吋 ch医p nh壱p"8逢嬰c hay không Hình 2.9 th吋 hi羽n các SLA c栄c"Oketquqhv"8隠 ra [21]
D詠c"x q"8„."nw壱p"x<p"u胤 8q"n逢運ng thông s嘘 8亥u ra và so sánh k院t qu違 8衣v"8逢嬰c v噂i tiêu chu育p"8隠 xu医t c栄c"Oketquqhv."sw "8 pj"ik "u挨"d瓜 8逢嬰c hi羽u qu違 th詠c t院 c栄a lu壱n x<p0
Trang 3623
THI 蔭T K蔭 H烏 TH渦NG
Thi院t k院 泳ng d映ng
Thixt kx とng dつng hじi nghお trばc tuyxn
Qua tìm hi吋u và nghiên c泳u các ki院n trúc h羽 th嘘ng c栄a thông d映ng hi羽n t衣k"8cpi"8逢嬰c trong các 泳ng d映ng h瓜i ngh鵜 ph鰻 bi院n hi羽n t衣i, lu壱p"x<p"vj医y r茨ng hai m磯u ki院n vt¿e"8cpi"8逢嬰e"n逢w"j pj"x "u穎 d映ng r瓜ng rãi trong th鵜 vt逢運ng 泳ng d映ng hi羽n t衣i là ki院n trúc m衣pi"n逢噂i và ki院p"vt¿e"8挨p"x鵜 chuy吋n ti院p ch丑n l丑c Trong khuôn kh鰻 lu壱p"x<p"p {."8吋 t嘘i gi違n 泳ng d映ng mô ph臼ng, bài nghiên c泳u s胤 s栄 d映ng ki院n trúc m衣pi"n逢噂k"8吋 thi院t
k院 v隠 th詠c thi ki院n trúc cho 泳ng d映ng mô ph臼ng h瓜i ngh鵜 tr詠c tuy院n Mô hình 泳ng d映ng
h瓜i ngh鵜 tr詠c tuy院p"8逢嬰c th吋 hi羽n theo hình 3.1
Swc"u挨"8欝 ki院n trúc này, có th吋 di宇n t違 các thành ph亥n ho衣v"8瓜pi"pj逢"ucw<
‚ Client: là m瓜t máy tính cá nhân, k院t n嘘i v噂i 泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n qua trình duy羽t web Các client này s胤 8泳pi"ucw"PCV"8吋 育p"fcpj"8鵜a ch雨 IP riêng v逢"e栄a hai cliepv"8cpi"m院t n嘘i v噂i nhau
‚ UVWP"Ugtxgt<"x·"enkgpv"8cpi"vj»pi"swc"PCV"8吋 k院t n嘘i h瓜i ngh鵜 tr詠c tuy院n,
vì v壱y h羽 th嘘ng s胤 e„"UVWP"ugtxgt"8吋 hai peer có th吋 nh壱n d衣ng nhau Trong
b嘘i c違nh này, lu壱p"x<p"u胤 gi違 8鵜pj"jck"enkgpv"8隠u không s穎 d映ng symmetric NAT, vì v壱y không c亥n s詠 h厩 tr嬰 c栄a TURN server
Trang 38u ej"pi逢運i tham d詠 room và bearer token c栄a ch栄 cu瓜c h丑p
2 Khi signaling server nh壱p"8逢嬰c yêu c亥u, máy ch栄 s胤 kh荏i t衣o m瓜t room trên máy ch栄
3 Signaling server s胤 g穎i l運k"8隠 ngh鵜 (offer) là socketId c栄a phòng h丑p v隠 cho host
4 Khi host nh壱p"8逢嬰c offer, host s胤 thông báo l衣i cho máy ch栄 bi院v"o·pj"8«"
nh壱p"8逢嬰c N院u máy ch栄 trong m瓜t kho違n th運i gian không nh壱p"8逢嬰c ph違n
h欝i t瑛 host, máy ch栄 s胤 g穎i l衣k"qhhgt"ejq"jquv"8院n khi máy ch栄 nh壱p"8逢嬰c thông báo (answer)
5 Mjk"pi逢運i tham gia (participant) có nhu c亥w"x q"tqqo."pi逢運i tham gia s胤 thông qua 泳ng d映ng h瓜i ngh鵜 trên web g穎i yêu c亥u tham gia vào room cho signaling server T衣k"8¤{."o瓜v"sw{"vt·pj"eqp"8逢嬰c l員p l衣i cho t医t c違 pi逢運i m噂i tham gia, g丑k"n "sw{"vt·pj"Ðvjco"ikc"ew瓜c g丑kÑ"*Join Call)
6 Khi nh壱p" 8逢嬰c yêu c亥u tham gia cu瓜c h丑p, signaling server s胤 phát tin
*dtqcfecuv+"vj»pi"d q"e„"pi逢運i tham d詠 cho t医t c違 pi逢運i trong cu瓜c h丑p 雲 8¤{."jquv"e pi"n "o瓜v"pi逢運i trong cu瓜c h丑p nên có th吋 dùng trình t詠 truy隠n tin t瑛 jquv"8吋 ucpi"d逢噂c ti院p theo
7 Khi nh壱p"8逢嬰e"vj»pi"vkp"e„"pi逢運i m噂i tham gia vào cu瓜c h丑p, t医t c違 nh英ng pi逢運i trong cu瓜c h丑p, k吋 c違 pi逢運i m噂i tham gia, s胤 g穎i m瓜t yêu c亥w"8院n UVWP"ugtxgt"8吋 nh壱n di羽n b違n thân Vì s穎 d映ng giao th泳c ICE truy隠p"vkp"8院n STUN server nên có th吋 g丑i r茨pi" pi逢運i trong cu瓜c h丑p g穎i yêu c亥u ICE ecpfkfcvg"8fip"UVWP"ugtxgt0
8 STUN server nh壱p"8逢嬰c yêu c亥u, x穎 lý và tr違 k院t qu違 ICE candidate l衣i cho pi逢運i yêu c亥u
Trang 39m噂i tham gia cho t医t c違 pi逢運i trong cu瓜c h丑p
11 Ucw"mjk"e e"rggt"8«"pj壱n di羽n ra nhau nh運 vào ICE candidate, các peer s胤 t衣o
m瓜t lu欝ng d英 li羽w"tc"*QwvUvtgco+"8吋 g穎i d英 li羽u media
12 Các peers s胤 thông qua Signaling server g穎k"qhhgt"ejq"pi逢運i m噂i tham gia
13 Khi nh壱p"8逢嬰c offer t瑛 Ukipcnkpi"ugtxgt."pi逢運i m噂i tham gia s胤 kh荏i t衣o lu欝ng
d英 li羽u vào (InStream)
14 Pi逢運i m噂i tham gia s胤 g穎i tr違 l運i (answer) cho Signaling server
15 Signaling server s胤 chuy吋n ti院p answer cho các peer Các peer khi nh壱p"8逢嬰c cpuygt"e pi"u胤 kh荏i t衣o lu欝pi"KpUvtgco"8吋 8„p"f英 li羽u vào
16 Mjk"e e"rggt"8«"pj壱n ra nhau, OutStream và InStreao"8«"8逢嬰c kh荏i t衣o, các peer có th吋 vtcq"8鰻i d英 li羽w"ogfkc"d·pj"vj逢運ng v噂i nhau
Trang 4027
V逢挨pi"v詠 pj逢"泳ng d映ng h瓜i ngh鵜 tr詠c tuy院n, cách th泳c ho衣v"8瓜ng c栄a 泳ng d映ng xác
th詠e"8逢嬰e"vt·pj"d {"vjgq"e e"d逢噂c sau:
1 Pi逢運i dùng s胤 truy c壱p vào 泳ng d映ng thông qua Uniform Resource Locator (URL)
2 Khi vào 泳ng d映ng web, trình duy羽t (Web App) s胤 g穎k"WTN"8院n cho 泳ng d映ng xác th詠c Vì hi羽n 泳ng d映ng xác th詠e"8cpi"8逢嬰c xây d詠pi"pj逢"n "o瓜t 泳ng
d映ng m荏 r瓜ng, nên lu壱n án g丑i 泳ng d映ng xác th詠e"n "ÐGzvgpukqpÑ0
3 Sau khi extension nh壱p"8逢嬰c URL, extension s胤 xác nh壱p"WTN"8„"e„"ej ph xác là c栄a 泳ng d映pi"8«"8逢嬰e"8<pi"m 0"P院u 泳ng d映pi"p {"ej逢c"8逢嬰e"8<pi"m "extension s胤 b鵜 vô hi羽u hóa
4 Khi 泳ng d映pi"ygd"p {"8«"8逢嬰e"8<pi"m "gzvgpukqp"u胤 k院t n嘘i v噂i b瓜 n逢w"vt英
c栄a trình duy羽v"8吋 l医y JWT Token c栄c"pi逢運i dùng
5 Pi逢運i dùng yêu c亥u kích ho衣t extension
6 Khi nh壱p"8逢嬰c yêu c亥u kích ho衣t, extension s胤 g穎i yêu c亥w"8院p"ejq"ugtxgt"8吋 yêu c亥u server xác th詠e"vqmgp"8«"n医{"vt逢噂e"8„0
7 Server gi違i mã token, l医{"gockn"pi逢運i dùng, kh荏i t衣o mã xác th詠c và ti院n hành o«"j„c"gockn"8«"n医{"8逢嬰c b茨ng mã xác th詠c 8„0
8 Server g穎i v隠 cho extension email token c栄c"pi逢運i dùng
9 Gzvgpukqp"n逢w"gockn"vqmgp"e栄c"pi逢運i dùng trong storage