Tóm tắt. Việc tích hợp các mạng truyền số liệu truyền thống với hạ tầng
mạng Internet được các nhà nghiên cứu đặc biệt quan tâm. Việc tích hợp
mạng điện thoại PSTN truyền thống với mạng Internet cũng không nằm
ngoài mục đích đó. Với những ưu thế như chi phí thấp, sự mềm dẻo về mặt
kiến trúc VoIP ngày càng trở nên phổ biến hơn đối với người sử dụng, là thị
trường tiềm năng đối với các nhà khai thác. Tuy nhiên khi xây dựng một
hệ thống VoIP ngoài việc xem xét tới chất lượng dịch vụ, còn phải đặc biệt
quan tâm tới khía cạnh bảo mật của hệ thống VoIP. Việc tích hợp các dịch
vụ thoại, dữ liệu, video. trên cùng một hạ tầng mạng IP chứa đựng nhiều
nguy cơ tiềm ẩn về bảo mật. Trong bài báo này, chúng tôi xây dựng một
phần mềm VoIP dựa trên mã nguồn mở OpenH323 cho phép liên lạc giữa
2 máy tính trong mạng LAN có áp dụng giao thức bảo mật H.235 sử dụng
giao thức báo hiệu H.323.
12 trang |
Chia sẻ: thanhle95 | Lượt xem: 696 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Giao thức bảo mật H.235 sử dụng trong hệ thống mạng VoIP, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
JOURNAL OF SCIENCE OF HNUE
FIT., 2011, Vol. 56, pp. 112-123
GIAO THỨC BẢO MẬT H.235
SỬ DỤNG TRONG HỆ THỐNG MẠNG VOIP
Đỗ Như Long(∗)
Trường Đại học Sư phạm Hà Nội
Bùi Hải Bằng
Trường cao đẳng nghề GTVT Trung ương I
Vũ Xuân Bảo
Văn phòng Bộ Y Tế
(∗)E-mail: longdn@hnue.edu.vn
Tóm tắt. Việc tích hợp các mạng truyền số liệu truyền thống với hạ tầng
mạng Internet được các nhà nghiên cứu đặc biệt quan tâm. Việc tích hợp
mạng điện thoại PSTN truyền thống với mạng Internet cũng không nằm
ngoài mục đích đó. Với những ưu thế như chi phí thấp, sự mềm dẻo về mặt
kiến trúc VoIP ngày càng trở nên phổ biến hơn đối với người sử dụng, là thị
trường tiềm năng đối với các nhà khai thác. Tuy nhiên khi xây dựng một
hệ thống VoIP ngoài việc xem xét tới chất lượng dịch vụ, còn phải đặc biệt
quan tâm tới khía cạnh bảo mật của hệ thống VoIP. Việc tích hợp các dịch
vụ thoại, dữ liệu, video.... trên cùng một hạ tầng mạng IP chứa đựng nhiều
nguy cơ tiềm ẩn về bảo mật. Trong bài báo này, chúng tôi xây dựng một
phần mềm VoIP dựa trên mã nguồn mở OpenH323 cho phép liên lạc giữa
2 máy tính trong mạng LAN có áp dụng giao thức bảo mật H.235 sử dụng
giao thức báo hiệu H.323.
1. Mở đầu
VoIP (viết tắt của Voice over Internet Protocol, nghĩa là Truyền giọng nói
trên giao thức IP) là công nghệ truyền tiếng nói của con người (thoại) qua mạng
thông tin sử dụng bộ giao thức TCP/IP. Nó sử dụng các gói dữ liệu IP (trên mạng
LAN, WAN, Internet) với thông tin được truyền tải là mã hoá của âm thanh - Theo
wikipedia. VoIP dựa trên sự kết hợp giữa mạng chuyển mạch gói (mạng IP) và mạng
chuyển mạch kênh [1].
Các hệ thống VoIP ngày nay sử dụng 2 giao thức báo hiệu chủ yếu là H.323
và SIP.
112
Giao thức bảo mật H.235 sử dụng trong hệ thống mạng VOIP
Mục tiêu của Điện thoại IP nhằm khai thác tính hiệu quả của các mạng truyền
số liệu, khai thác tính linh hoạt trong phát triển các ứng dụng mới của giao thức IP
và nó được áp dụng trên một mạng toàn cầu là mạng Internet. Chính vì nền tảng
của VoIP là hạ tầng mạng IP do đó VoIP có rất nhiều nhược điểm về vấn đề bảo
mật. Vấn đề bảo mật trong VoIP rất phức tạp, đòi hỏi các kỹ thuật bảo mật tiên
tiến để hạn chế tối đa các nguy cơ tấn công vào mạng VoIP nhằm bảo mật thông
tin liên quan tới cá nhân người sử dụng cũng như số liên lạc truy nhập sử dụng dịch
vụ của người dùng [10].
Việc đảm bảo an ninh cho toàn bộ hạ tầng VoIP đòi hỏi phải có kế hoạch, sự
phân tích và kiến thức chi tiết về an ninh mạng. Sau đây là các nguy cơ tấn công
phổ biến vào mạng điện thoại VoIP [11,12]:
- DoS : Tấn công từ chối dịch vụ (Denial - of - Service) có thể ảnh hưởng tới
bất kỳ dịch vụ dựa trên mạng IP nào, do đó VoIP không phải là ngoại lệ. Tác động
của một cuộc tấn công DoS có thể dẫn tới sự xuống cấp các dịch vụ cho tới việc
mất mát toàn bộ dịch vụ.
- Chặn cuộc gọi và nghe lén: là phương thức mà kẻ tấn công có thể theo dõi
các báo hiệu, luồng dữ liệu giữa 2 điểm thiết bị đầu cuối VoIP, nhưng không có khả
năng sửa đổi dữ liệu. Chặn cuộc gọi thành công tương tự như nghe lén, trong đó
hội thoại có thể bị đánh cắp, ghi lại, phát lại. Một kẻ tấn công có thể đánh chặn và
lưu trữ những dữ liệu này để sử dụng chúng vào những mục đích khác nhau.
-Man-in-the-middle: Các chương trình phân tích gói tin như Network monitor,
Sniffer Pro... thường được các nhà quản trị mạng dùng để quản trị hệ thống, theo
dõi, giám sát, chẩn đoán cũng như khắc phục sự cố của mạng. Lợi dụng những ưu
điểm của các chương trình phân tích gói tin đó các hacker tận dụng chúng để ăn
cắp các thông tin như username, password hoặc các thông tin quan trọng của hệ
thống. Đối với kiểu tấn công này người sử dụng không hề biết mình bị tấn công vì
tiến trình làm việc giữa máy gửi và nhận diễn ra hoàn toàn bình thường.
Trong bài báo này, chúng tôi xây dựng một phần mềm VoIP áp dụng giao
thức bảo mật H.235 và sử dụng giao thức báo hiệu H.323. Chúng tôi tiến hành thực
nghiệm cuộc gọi giữa 2 máy tính trong mạng LAN với 2 trường hợp có sử dụng và
không sử dụng giao thức bảo mật H.235. Trong quá trình thực nghiệm, chúng tôi
sử dụng phần mềm Wireshark để chặn bắt gói tin giữa 2 máy tính trong 2 trường
hợp kể trên để thấy rõ được sự khác biệt bảo mật khi có sử dụng và không sử dụng
giao thức bảo mật H.235 trong hệ thống VoIP.
2. Nội dung nghiên cứu
2.1. Các khái niệm cơ bản
H.323 [8] là chuẩn quốc tế về hội thoại trên mạng được đưa ra bởi hiệp hội
viễn thông quốc tế ITU (International Telecommunication Union). Nó qui định các
113
Đỗ Như Long, Bùi Hải Đăng và Vũ Xuân Bảo
thành phần, các giao thức sử dụng, các thủ tục cho phép truyền các dữ liệu đa
phương tiện (âm thanh, hình ảnh) và số liệu thời gian thực thông qua mạng IP mà
không quan tâm tới chất lượng dịch vụ (QoS). Các đầu cuối của các hãng khác nhau
có thể giao tiếp được với nhau nếu các đầu cuối này tuân theo chuẩn H.323. Một
hệ thống H.323 bao gồm có 4 thành phần chính cho việc truyền tin trên mạng đó
là : Terminal, Gateway, Gatekeeper, MCU(Multipoint control unit).
Các thành phần của giao thức H.323
- Giao thức báo hiệu cuộc gọi H.225 [3]: H.225 RAS, H.225.0 Call Signalling.
- Giao thức điều khiển cuộc gọi H.245 [9].
- Giao thức truyền tải thông tin đa phương tiện RTP/RTCP [2].
- Các chuẩn mã hóa audio: G.711, G.722, G.728, G.729.
- Các chuẩn mã hóa video : H.261, H.263.
Hình 1. Các thành phần H.323
H.235 [4,5,6,7] là chuẩn về bảo mật dành cho hội thoại qua mạng sử dụng giao
thức báo hiệu H.323 được đưa ra bởi hiệp hội liên minh viễn thông quốc tế ITU
(International Telecommunication Union). H.235 mô tả những cơ sở và kĩ thuật bảo
mật được tận dụng cho những thiết bị đầu cuối đa phương tiện H.3xx. H.235 cung
cấp khả năng dàn xếp dịch vụ, nó liên quan đến khả năng hệ thống, yêu cầu của
ứng dụng và đặc tả về ràng buộc của cách thức bảo mật. Nó hỗ trợ những thuật
toán mã hóa khác nhau và những tùy chọn thích hợp với những mục đích khác nhau
114
Giao thức bảo mật H.235 sử dụng trong hệ thống mạng VOIP
(Ví dụ như độ dài khóa).
2.2. Giới thiệu về hệ thống khi sử dụng giao thức bảo mật H.235
Một hệ thống khi sử dụng giao thức bảo mật H.235 sẽ bao gồm các tính năng
sau:
Authentication (xác thực) Quá trình xác thực nhằm mục đích kiểm tra
đối tượng đang trao đổi thông tin là ai. Quá trình này có thể được hoàn thành bằng
cách trao đổi khóa công khai (public-key) dựa trên chứng nhận điện tử (certificate),
hoặc là trao đổi 1 khóa chung (share secret) giữa các bên tham gia. Nó có thể là
mật khẩu (password) hoặc là một phần thông tin nào đó đã được trao đổi.
H.235 mô tả giao thức trao đổi chứng nhận điện tử (certificate), chứng nhận
điện tử đưa ra một sự bảo đảm cho người kiểm tra rằng: người gửi chứng nhận điện
tử là ai. Mục đích đằng sau chứng nhận điện tử là xác thực người sử dụng thiết
bị đầu cuối chứ không đơn thuần là xác thực thiết bị đầu cuối về mặt vật lý. Sử
dụng chứng nhận điện tử, giao thức xác thực(authentication) này chứng tỏ được
rằng người nhận sở hữu khóa bí mật (private key) tương ứng với khóa công khai
(public key) chứa trong chứng nhận điện tử. Cách xác thực này giúp chống lại kiểu
tấn công man-in-the-middle.
Call establishment security (Bảo mật báo hiệu cuộc gọi - H.225) Có
2 lý do thúc đẩy việc thiết lập kênh bảo mật. Thứ nhất là xác thực đơn giản trước
khi chấp nhận cuộc gọi. Thứ hai là để cấp phép cuộc gọi. Nhiệm vụ của kênh H.225
trong trường hợp này là cung cấp các kĩ thuật bảo mật mà đầu cuối có thể đáp ứng,
xác nhận các kĩ thuật bảo mật đó và trao đổi chứng chỉ điện tử.
Call control security (Bảo mật kênh điều khiển cuộc gọi H.245) Kênh
điều khiển cuộc gọi được bảo mật để cung cấp bảo đảm cho kênh truyền thông sau
đó. Kênh H.245 được bảo vệ sử dụng những kĩ thuật bảo mật đã được trao đổi trước
đó. Bản tin H.245 được sử dụng để báo hiệu thuật toán mã hóa và khóa đã được mã
hóa sử dụng trong kênh chia sẻ, kênh media. Trong hội nghị đa điểm, nhiều khóa
khác nhau được sử dụng cho nhiều luồng với mỗi điểm đầu cuối. Nó đảm bảo an
toàn đối với mỗi điểm đầu cuối trong hội nghị.
Media stream privacy (Bảo mật kênh truyền thông) Khuyến nghị này
mô tả bảo mật truyền thông cho luồng dữ liệu đa phương tiện truyền trên mạng
chuyển mạnh gói.
Bước đầu tiên trong việc đạt được bảo mật truyền thông là sự cung cấp có
đảm bảo của một kênh điều khiển, dựa trên đó để đặt một khóa mã hóa và thiết lập
những kênh logic sẽ mang những luồng dữ liệu truyền thông đã được mã hóa. Vì
vậy, khi hoạt động trong một hội nghị có đảm bảo, các đầu cuối tham gia có thể sử
dụng một kênh H.245 đã được mã hóa. Theo cách đó, thuật toán mã hóa được lựa
chọn và khóa mã hóa đưa vào trong bản tin H.245 Open Logical Channel được
115
Đỗ Như Long, Bùi Hải Đăng và Vũ Xuân Bảo
bảo vệ.
Dữ liệu đã được mã hóa được truyền trong các kênh logic phải nằm trong kiểu
được đặc tả bởi Open Logical Channel. Thông tin trong phần header gửi đi không
được mã hóa. Sự bảo mật của dữ liệu dựa trên cơ sở mã hóa end-to-end.
2.3. Thực nghiệm
2.3.1. Giới thiệu phần mềm Xcall
* Tổng quan hệ thống
Hình 2. Tổng quan hệ thống
- XCall Application: Là một ứng dụng H.323 client đơn giản được xây dựng
dựa trên bộ thư viện mã nguồn mở Open H.323, cho phép thực hiện các cuộc gọi
bảo mật giữa 2 điểm đầu cuối.
- Open H.323 : Bộ thư viện mã nguồn mở được viết bằng ngôn ngữ lập trình
C++, cung cấp các giao diện cần thiết cho việc thiết lập một hệ thống VoIP sử
dụng giao thức H.323 làm giao thức báo hiệu.
- Codecs: Bộ mã hóa và giải mã tín hiệu audio. Tín hiệu audio trước khi truyền
đi phải được mã hóa, bên nhận sau khi nhận được tín hiệu phải tiến hành giải mã
trước khi phát ra loa.
- RTP : Thư viện được tích hợp sẵn trong bộ thư viện mã nguồn mở OpenH.323,
làm nhiệm vụ vận chuyển tín hiệu audio giữa các điểm đầu cuối.
Các chức năng chính của XCall:
- Gọi điểm - điểm giữa 2 client
- Bảo mật cuộc gọi sử dụng giao thức H.235
* Thiết kế chương trình
Chương trình bao gồm 6 module chính tương tác với nhau:
- XCall: đây là module ứng dụng bao gồm giao diện của phần mềm và xử
lý nghiệp vụ của phần mềm, XCall giao tiếp với OpenH.323 thông qua đối tượng
H.323Endpoint.
116
Giao thức bảo mật H.235 sử dụng trong hệ thống mạng VOIP
Hình 3. Tương tác giữa các module
- OpenH.323 : đây là module lõi của hệ thống thực hiện các chức năng như:
Quản lý các cuộc gọi H.323, trao đổi các khóa bảo mật sử dụng giao thức H.235,
thu, phát, mã hóa và giải mã tín hiệu âm thanh. Module này bao gồm các module
con như: Module thu tín hiệu âm thanh (Recorder), module phát tín hiệu âm thanh
(Player), module mã hóa giải mã (Codecs) và module thực hiện chức năng vận
chuyển tín hiệu giữa các đầu cuối (RTP).
- Recorder : Giao tiếp với thiết bị microphone để thu tín hiệu âm thanh và
chuyển cho khối mã hóa.
- Codecs : Thực hiện chức năng mã hóa tín hiệu âm thanh trước khi truyền đi
và giải mã sau khi nhận được.
- Player : Phát âm thanh ra loa.
* Class diagram
Hình 4. Class Diagram
117
Đỗ Như Long, Bùi Hải Đăng và Vũ Xuân Bảo
* Giao diện chương trình
Hình 5. Giao diện chương trình Xcall
2.3.2. Giới thiệu chương trình Wireshark
Hình 6. Chương trình Wireshark
Wireshark là một chương trình bắt gói tin trên mạng. Nó sẽ cố gắng bắt tất
cả các gói tin và hiển thị thông tin chi tiết nhất có thể. Mục đích của việc sử dụng
118
Giao thức bảo mật H.235 sử dụng trong hệ thống mạng VOIP
Wireshark có thể là:
- Quản trị mạng: kiểm tra các lỗi trên mạng
- Bảo mật hệ thống: kiểm tra các lỗi về bảo mật
- Phát triển hệ thống: gỡ rối hoạt động của giao thức
- Các đối tượng khác: học về các giao thức nội tại của mạng
2.4. Kết quả thảo luận
Như chúng tôi đã trình bày ở trên, vấn đề bảo mật trong hệ thống VoIP là rất
quan trọng. Trong phần thực nghiệm cuộc gọi được tiến hành trong thực tế là cuộc
gọi trong mạng LAN giữa 2 PC sử dụng phần mềm Xcall hỗ trợ G711 gọi trực tiếp
cho nhau. Phần mềm wireshark chạy trên máy bị gọi bắt được các bản tin trao đổi
giữa 2 máy. Chúng tôi tiến hành thực nghiệm trong 2 trường hợp hệ thống VoIP có
sử dụng giao thức bảo mật H.235 và không sử dụng giao thức bảo mật H.235.
2.4.1. Đối với cuộc gọi khi không sử dụng giao thức bảo mật H.235
Hai máy trao đổi các bản tin H.225 mà không kèm theo trường Token chứa
khóa
Hình 7. Bản tin Setup
Sau khi trao đổi xong các bản tin điều khiển và mở kênh truyền thông, các
gói tin RTP mang thông tin thoại sẽ được truyền đi giữa 2 PC. Wireshark cũng bắt
được các gói tin này và có khả năng giải nén cũng như nghe lại. Như vậy, khi không
sử dụng H.235, thông tin truyền đi không được mã hóa và có thể bị nghe lén.
119
Đỗ Như Long, Bùi Hải Đăng và Vũ Xuân Bảo
Hình 8. Giải nén gói tin RTP
2.4.2. Trường hợp sử dụng H.235
- Máy gọi gửi cho máy nhận bản tin Setup có thông số DH trong trường token.
Hình 9. Bản tin Setup H.235
- Máy bị gọi nhận được bản tin Setup sẽ chọn thông số DH phù hợp nhất và
gửi lại nó cho bên gọi.
120
Giao thức bảo mật H.235 sử dụng trong hệ thống mạng VOIP
Hình 10. Bản tin Connect H.235
- Hai bên sau đó sẽ trao đổi các bản tin H.245 về các thông số như audio,
video CODEC, master/slave. Sau đó, điểm cuối là master sẽ gửi đi bản tin mở
kênh có kèm theo khóa phiên (đã được mã hóa bởi khóa chung DH) trong trường
encrytionSync.
Hình 11. Bản tin OpenLogicalChannel H.235
- Sau khi mở kênh thoại, các gói tin sau đó sẽ được mã hóa bằng khóa và thuật
toán trao đổi trước đó. Lúc này Wireshark cũng bắt được các bản tin trao đổi giữa
2 PC. Tuy nhiên khi giải nén các gói tin RTP chỉ nhận được các tín hiệu vô nghĩa.
3. Kết luận
Với những ưu thế như chi phí thấp, sự mềm dẻo về mặt kiến trúc VoIP ngày
càng trở nên phổ biến hơn đối với người sử dụng, là thị trường tiềm năng đối với
các nhà khai thác. Tuy nhiên, khi xây dựng một hệ thống VoIP ngoài việc xem xét
tới chất lượng dịch vụ, còn phải đặc biệt quan tâm tới khía cạnh bảo mật của hệ
thống VoIP. Việc tích hợp các dịch vụ thoại, dữ liệu, video.... trên cùng một hạ tầng
121
Đỗ Như Long, Bùi Hải Đăng và Vũ Xuân Bảo
Hình 12. Giải nén gói tin RTP H.235
mạng IP đã mang đến nhiều nguy cơ tiềm ẩn về bảo mật.
Trong bài báo này, chúng tôi đã xây dựng một phần mềm VoIP có khả năng
thực hiện cuộc gọi thoại giữa 2 máy tính trong một mạng LAN áp dụng giao thức
báo hiệu H.323 và sử dụng giao thức bảo mật H.235. Tuy nhiên, hiện tại phần mềm
chỉ hỗ trợ thoại giữa 2 máy tính trong mạng LAN. Trong thời gian tới chúng tôi sẽ
xây dựng phần mềm hỗ trợ thoại đa điểm hội nghị và thoại trên internet.
REFERENCES
[1] Ths. Nguyễn Trọng Minh, 2010. Giáo trình Kỹ thuật chuyển mạch 1, Học viện
Công nghệ bưu chính viễn thông, tr.10-40.
[2] IETF, 1996. RFC 1889 A Transport Protocol for Real-Time Applications(RTP),
Lawrence Berkeley National Laboratory, Internet Engineering Task Force - IETF,
pp.10-39.
[3] ITU-T, 2009. Recommendation H.225.0, Call signalling protocols and media
stream packetization for packet-based multimedia communication systems, Inter-
national Telecommunication Union, pp.8-47.
[4] ITU-T, 2000. Recommendation H.235 - Security and encryption for H-series
(H.323 and other H.245-based) multimedia terminals, International Telecommu-
nication Union, pp.5-21, 32-45, 48-73.
[5] ITU-T, 2005. Recommendation H235.0 - H.323 security: Framework for secu-
rity in H-series (H.323 and other H.245-based) multimedia systems. International
Telecommunication Union, pp.9-24.
122
Giao thức bảo mật H.235 sử dụng trong hệ thống mạng VOIP
[6] ITU-T, 2005.Recommendation H235.1 - H323 security : Baseline security profile.
International Telecommunication Union, pp.5-17.
[7] ITU-T, 2005. Recommendation H235.2 - H323 security : Signature security pro-
file. International Telecommunication Union, pp.7-19.
[8] ITU-T, 2009. Reconmendation H.323 Visual telephone systems and equipment
for local area networks which provide a non-guaranteend quality of service. Inter-
national Telecommunication Union, pp.14-47, 51-70, 81-129.
[9] ITU-T, 2009. Recommendation H.245 Control protocol for multimedia commu-
nication. International Telecommunication Union, pp.8-10, 79-122.
[10] P. Mehta and S. Udani, 2001. “Overview of Voice over IP”, Technical Report
MS-CIS-01-31. Department of Computer Information Science, University of Penn-
sylvania, pp.5-8, 26-28.
[11] D. Richard Kuhn, Thomas J. Walsh, Steffen Fries, 2005. Security Considera-
tions for Voice Over IP Systems. National Institute of Standards and Technol-
ogy(NIST), pp.19-37, 52-68.
[12] Thomas Porter, 2006. Practical VoIP Security. Syngress Publishing, Inc,
Canada, pp.123-143, 239-261.
ABSTRACT
Using seairity protocols H.235 in VOIP network system
The integration between traditional data communication network and inter-
net infrastructure is especially regarded by many researchers. Also the integration
between traditional PSTN telephone network and internet network is also within
these purposes. It have many advantages such as: low cost, users are more and more
familiar with flexibility of VoIP architecture, the potential market for operators. Nev-
ertheless, when building the aVoIP system not only considers the quality of service
but also pay special attention to security aspects of VoIP systems. The integration
of voice services, data, video .... on the same IP network infrastructure has encom-
passed many potential security risk issues. In this study, we develop a VoIP software
based on open source OpenH323 allows communication between twocomputers on
the LAN can apply security protocols H.235 uses H.323 signaling protocol.
123