Luận văn Bảo mật trong Voip

pdf 109 trang huongle 170
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Bảo mật trong Voip", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfluan_van_bao_mat_trong_voip.pdf

Nội dung text: Luận văn Bảo mật trong Voip

  1. Bảo mật trong VoIP MỞ ĐẦU VoIP là công nghệ truyền thoại qua mạng IP, VoIP đã phát triển từ những năm 90 của thế kỷ trƣớc. VoIP ra đời là một bƣớc đột phá lớn trong lĩnh vực viễn thông, VoIP thừa hƣởng những ƣu điểm mà mạng IP đem lại. Công nghệ VoIP từ khi ra đời đến nay đã và đang đƣợc nghiên cứu, phát triển để ngày càng đáp ứng tốt hơn các yêu cầu về chất lƣợng dịch vụ, giá thành, số lƣợng tích hợp các dịch vụ thoại và phi thoại, an toàn bảo mật thông tin. VoIP ra đời từ rất sớm tuy vậy cho đến nay nó vẫn còn nhiều vấn đề tồn tại và cần khắc phục. Trên thế giới cũng nhƣ ở Việt Nam VoIP vẫn đang nghiên cứu và triển khai để phát triển cùng với dịch vụ truyền thống PSTN. Hai tổ chức quốc tế là ITU-T và IETF đã đƣa ra một số chuẩn cho mạng VoIP. Với mỗi chuẩn khác nhau thì thành phần thiết bị mạng cũng khác nhau, đi kèm với nó là một chồng các giao thức phục vụ cho báo hiệu. Ở Việt Nam công nghệ VoIP đã đƣợc các nhà khai thác dịch vụ viễn thông áp dụng cho cuộc gọi đƣờng dài trong nƣớc và quốc tế nhƣ: Dịch vụ 171 của VNPT, 178 của Viettel, 179 của EVN. VoIP đem lại rất nhiều lợi thế vì vậy trong những năm gần đây cũng nhƣ trong những năm tới VoIP đang là một hƣớng phát triển hợp lý và có nhiều triển vọng của các nhà khai thác dịch vụ viễn thông ở Việt Nam. Tuy nhiên theo thống kê của hãng bảo mật Scanit vấn đề bảo mật an toàn thông tin dƣờng nhƣ chƣa đƣợc xem trọng, còn quá nhiều lỗ hổng bảo mật chƣa đƣợc các nhà cung cấp dịch vụ khắc phục. Để triển khai và khai thác tối đa những thuận lợi và khắc phục những nhƣợc điểm, sơ hở bảo mật của VoIP thì việc nắm bắt công nghệ đƣợc xây dựng cho VoIP, làm chủ các thiết bị trong mạng VoIP để đƣa ra giải pháp, mô hình mạng ứng dụng VoIP cho các cơ quan doanh nghiệp sao cho phù hợp và đặc biệt là an toàn cho thông tin quan trọng trong kinh doanh là cần thiết. Trên cơ sở thực tiễn đó em đã chọn đề tài “ BẢO MẬT TRONG VOIP ” là đề tài của đồ án tốt nghiệp. 1
  2. Bảo mật trong VoIP Dựa vào những tài liệu của các tác giả trong nƣớc, tác giả nƣớc ngoài và các nhà sản xuất thiết bị nhƣ Cisco kết hợp với những khuyến nghị của các tổ chức chuẩn hóa viễn thông quốc tế, em đã tập trung nghiên cứu các mô hình mạng VoIP với các giao thức, phƣơng thức bảo mật đƣợc sử dụng trong đó. Các vấn đề này đƣợc trình bày trong bốn chƣơng đầu của đồ án. . Chƣơng 1. TỔNG QUAN VỀ VOIP . Chƣơng 2. MÔ HÌNH KIẾN TRÚC PHÂN TẦNG VÀ CÁC GIAO THỨC TRUYỀN TẢI TRONG MẠNG VOIP . Chƣơng 3. MẠNG VOIP VỚI CÁC GIAO THỨC BÁO HIỆU H.323/SIP . Chƣơng 4. CÁC PHƢƠNG THỨC TẤN CÔNG VÀ BẢO MẬT TRONG VOIP Trên cơ sở nắm chắc lý thuyết em đã tiến hành các thực nghiệm trong chƣơng 5 của đồ án. . Chƣơng 5. CẤU HÌNH VOIP CƠ BẢN VÀ TRIỂN KHAI TRÊN MẠNG CỤC BỘ ỨNG DỤNG CHO DOANH NGHIỆP NHỎ Chƣơng này thực hiện một số vấn đề sau:  Thiết lập mạng VoIP cơ bản trong phòng Lap dựa trên các thiết bị của Cisco. Các thiết bị chủ yếu là router 2600, access router 2500 và các PC.  Dựa vào mô hình cơ bản tìm ra sơ hở bảo mật để đƣa ra mô hình an toàn thông tin hơn ứng dụng cho doanh nhiệp. 2
  3. Bảo mật trong VoIP Chƣơng 1 TỔNG QUAN VỀ VOIP 1.1. GIỚI THIỆU VoIP (Voice over Internet Protocol) là công nghệ truyền tải các cuộc liên lạc thoại trên giao thức Internet hay còn gọi là giao thức IP. VoIP đang trở thành một trong những công nghệ hấp dẫn nhất hiện nay không chỉ đối với các doanh nghiệp mà còn cả với những ngƣời sử dụng dịch vụ. VoIP có thể thực hiện tất cả các dịch vụ nhƣ trên PSTN (public switched telephone network) ví dụ nhƣ: truyền thoại, truyền fax, truyền dữ liệu trên cơ sở mạng dữ liệu có sẵn với tham số chất lƣợng dịch vụ (QoS) chấp nhận đƣợc. Điều này tạo thuận lợi cho những ngƣời sử dụng có thể tiết kiệm chi phí bao gồm chi phí cho cơ sở hạ tầng mạng và chi phí liên lạc, nhất là liên lạc đƣờng dài. Đối với các nhà cung cấp dịch vụ, VoIP đƣợc xem nhƣ một mô hình hấp dẫn có thể mang lại lợi nhuận nhờ khả năng mở rộng và phát triển các loại hình dịch vụ với chi phí thấp. VoIP cho phép tạo cuộc gọi đƣờng dài qua mạng dữ liệu IP có sẵn thay vì phải đƣợc truyền qua mạng PSTN. Ngày nay nhiều công ty đã thực hiện giải pháp VoIP của họ để giảm chi phí cho những cuộc gọi đƣờng dài giữa nhiều chi nhánh xa nhau. Nguyên tắc VoIP gồm việc số hoá tín hiệu giọng nói, nén tín hiệu đã số hoá, chia tín hiệu thành các gói và truyền những gói số liệu này trên nền IP. Đến nơi nhận, các gói số liệu đƣợc ghép lại, giải mã ra tín hiệu analog để phục hồi âm thanh. 1.2. TỔNG QUAN VỀ VOIP [2],[4] Với sự phát triển mạnh mẽ của internet và xu hƣớng hội tụ công nghệ của mạng NGN (Next Generation Networks - mạng thế hệ sau). Các cuộc đàm thoại đã đƣợc truyền trên đƣờng truyền chung với các cuộc gọi dữ liệu dựa trên cơ sở hạ tầng của mạng IP. 3
  4. Bảo mật trong VoIP 1.2.1. Kỹ thuật chuyển mạch gói Trong kỹ thuật chuyển mạch gói các bản tin đƣợc chia thành nhiều gói và đƣợc đóng gói theo các chuẩn quy định, trong mỗi gói có đầy đủ các thông tin giúp cho việc định tuyến đƣờng đi của gói tin đến đích. Trong chuyển mạch gói các bản tin tƣơng tác với các nút mạng. Các gói tin độc lập với nhau về đƣờng đi, các gói đến đích không theo một thứ tự quy định. Kỹ thuật chuyển mạch gói cũng nhƣ kỹ thuật chuyển mạch kênh, nó cũng có những ƣu điểm và những nhƣợc điểm. Ƣu điểm . Tính mềm dẻo trong định tuyến, trong việc thay đổi băng thông. Chuyển mạch gói không cố định các kênh truyền thông hay các tuyến vì vậy hiệu suất sử dụng đƣờng truyền rất cao, tận dụng tối đa hiệu năng đƣờng truyền. . Với một chồng các giao thức đi kèm, chuyển mạch gói có chế độ ƣu tiên cho các ứng dụng khác nhau theo các mức khác nhau. Điều này cũng là cơ sở để phát triển mạng VoIP. . Khả năng cung cấp nhiều dịch vụ thoại và phi thoại. Nhƣợc điểm . Độ trễ thay đổi tùy thuộc vào từng tuyến và từng thời gian truyền thông tin. . Chuyển mạch gói thực hiện dựa trên cơ chế cố gắng tối đa vì vậy khó thỏa mãn đƣợc chất lƣợng dịch vụ. . Các gói tin đến không theo thứ tự rất dễ gây ra mất mát dữ liệu, tăng thời gian xử lý dẫn đến trễ truyền dẫn tăng lên. 1.2.2. Những ƣu điểm và nhƣợc điểm của VoIP Những ƣu điểm của VoIP Hiện nay hầu hết các nhà cung cấp dịch vụ internet cũng nhƣ các công ty viễn thông đang đƣa vào khai thác sử dụng một hệ thống mạng hội tụ IP. VoIP là một trong những dịch vụ đó và nó đem lại nhiều thuận lợi . 4
  5. Bảo mật trong VoIP . Hiệu quả sự dụng băng thông cao hơn: VoIP chia sẻ băng thông giữa nhiều kênh logic. Có thể thay đổi băng thông dễ dàng tùy vào chất lƣợng dịch vụ cung cấp để thay đổi chất lƣợng cuộc gọi. . Giảm chi phí cho cuộc gọi: Đây là ƣu điểm nổi bật của VoIP so với điện thoại đƣờng dài thông thƣờng. Chi phí cuộc gọi đƣờng dài chỉ bằng chi phí cho truy nhập Internet. Một giá cƣớc chung sẽ thực hiện đƣợc với mạng Internet và do đó tiết kiệm đáng kể các dịch vụ thoại và fax. Sự chia sẻ chi phí thiết bị và thao tác giữa những ngƣời sử dụng thoại và dữ liệu cũng tăng cƣờng hiệu quả sử dụng mạng. Đồng thời kỹ thuật nén thoại tiên tiến làm giảm tốc độ bit từ 64Kbps xuống dƣới 8Kbps, tức là một kênh 64Kbps lúc này có thể phục vụ đồng thời 8 kênh thoại độc lập. Trong trƣờng hợp cuộc gọi ở mạng PSTN, một kênh vật lý sẽ đƣợc thiết lập và duy trì giữa hai bên cho đến khi một trong hai bên hủy bỏ liên kết. Nhƣ vậy, trong khoảng thời gian không có tiếng nói, tín hiệu vẫn đƣợc lấy mẫu, lƣợng tử hoá và truyền đi. Vì vậy, hiệu suất đƣờng truyền sẽ không cao. Với VoIP, chỉ có kết nối từ ngƣời dùng trong mạng PSTN tới Gateway của nhà cung cấp dịch vụ đƣợc duy trì. Điều này đã tiết kiệm đáng kể tài nguyên của mạng dẫn tới giảm chi phí cuộc gọi. VoIP còn có các cơ chế phát hiện khoảng lặng (khoảng thời gian không có tiếng nói) nên sẽ làm tăng hiệu suất mạng. . Khả năng tích hợp nhiều chức năng: Do việc thiết kế cơ sở hạ tầng tích hợp nên có khả năng hỗ trợ tất cả các hình thức thông tin cho phép chuẩn hoá tốt hơn và giảm tổng số thiết bị. Các tín hiệu báo hiệu, thoại và cả số liệu đều đi trên cùng mạng IP. Tích hợp đa dịch vụ sẽ tiết kiệm chi phí đầu tƣ nhân lực, chi phí xây dựng cơ sở hạ tầng các mạng riêng lẻ. . Thống nhất: Vì con ngƣời là nhân tố quan trọng nhƣng cũng dễ sai lầm nhất trong một mạng viễn thông, mọi cơ hội để hợp nhất các thao tác, loại bỏ các điểm sai sót và thống nhất các điểm thanh toán sẽ rất có ích. Trong các tổ chức kinh doanh, sự quản lý trên cơ sở 5
  6. Bảo mật trong VoIP SNMP (Simple Network Management Protocol) có thể đƣợc cung cấp cho cả dịch vụ thoại và dữ liệu sử dụng VoIP. Việc sử dụng thống nhất giao thức IP cho tất cả các ứng dụng hứa hẹn giảm bớt phức tạp và tăng cƣờng tính mềm dẻo. Các ứng dụng liên quan nhƣ dịch vụ danh bạ và dịch vụ an ninh mạng có thể đƣợc chia sẻ dễ dàng hơn. . Tính mềm dẻo trong việc sử dụng các thiết bị đầu cuối: Có rất nhiều cách lựa chọn các thiết bị đầu cuối cho VoIP. Chỉ cần một phần mềm trên máy PC cũng có thể thực hiện cuộc gọi VoIP. Có thể dùng IP phone, hay các thiết bị đầu cuối hỗ trợ VoIP khác. Những nhƣợc điểm của VoIP Bên cạnh những ƣu điểm vƣợt trội thì VoIP vẫn còn tồn tại nhiều yếu điểm cần nghiên cứu và khắc phục. . Chất lƣợng dịch vụ chƣa cao: Các mạng số liệu vốn dĩ không phải xây dựng với mục đích truyền thoại thời gian thực, vì vậy khi truyền thoại qua mạng số liệu cho chất lƣợng cuộc gọi thấp và không thể xác định trƣớc đƣợc. Sở dĩ nhƣ vậy là vì gói tin truyền trong mạng có trễ thay đổi trong phạm vi lớn, khả năng mất mát thông tin trong mạng hoàn toàn có thể xảy ra. Một yếu tố làm giảm chất lƣợng thoại nữa là kỹ thuật nén để tiết kiệm đƣờng truyền. Nếu nén xuống dung lƣợng càng thấp thì kỹ thuật nén càng phức tạp, cho chất lƣợng không cao và đặc biệt là thời gian xử lý sẽ lâu, gây trễ. . Một yếu điểm khác của VoIP là vấn đề tiếng vọng: Nếu nhƣ trong mạng thoại, độ trễ thấp nên tiếng vọng không ảnh hƣởng nhiều thì trong mạng IP, do trễ lớn nên tiếng vọng ảnh hƣởng nhiều đến chất lƣợng thoại. . Vấn đề bảo mật trong VoIP: Voice là một loại dữ liệu quan trọng mà lại truyền trên mạng IP có tính chất rộng khắp. Chịu sự tấn công của những kẻ phá hoại là không thể tránh khỏi, vấn đề này sẽ 6
  7. Bảo mật trong VoIP đƣợc tìm hiểu rõ hơn trong chƣơng 4. Mạng VoIP còn rất nhiều kẽ hở mà các nhà cung cấp dịch vụ mạng cần khắc phục. 1.2.3. Các ứng dụng của VoIP Mạng điện thoại PSTN truyền thống không thể bị thay thế một cách dễ dàng, thậm chí thay đổi hoàn toàn trong tƣơng lai. Mục đích của các nhà cung cấp dịch vụ VoIP là tạo ra một mạng điện thoại với một chi phí vận hành thấp hơn nhiều song vẫn đảm bảo chất lƣợng gần nhƣ PSTN và đƣa ra các giải pháp kỹ thuật bổ sung cho mạng PSTN. Mạng điện thoại này có thể đƣợc áp dụng cho gần nhƣ mọi yêu cầu của giao tiếp thoại, từ một cuộc đàm thoại đơn giản cho đến một cuộc gọi hội nghị nhiều ngƣời phức tạp. Chất lƣợng âm thanh đƣợc truyền cũng có thể biến đổi tùy theo ứng dụng. Ngoài ra, với khả năng của Internet, VoIP sẽ cung cấp thêm nhiều tính năng mới. Một số các ứng dụng của VOIP sẽ đƣợc đề cập cụ thể dƣới đây: . Thoại thông minh: Điện thoại thông thƣờng chỉ có một số ít chức năng, thực hiện bởi một vài phím điều khiển. Trong những năm gần đây, ngƣời ta đã cố gắng để tạo ra thoại thông minh, đầu tiên là các thoại để bàn, sau là đến các server. Giữa mạng máy tính và mạng điện thoại vốn tồn tại một mối liên hệ. Sự phát triển rộng khắp của Internet đã tạo ra một bƣớc đột phá mới. Kể từ khi đƣợc phủ khắp toàn cầu, Internet góp phần tăng thêm tính thông minh cho mạng điện thoại toàn cầu. Internet cung cấp cách giám sát và điều khiển các cuộc thoại một cách tiện lợi hơn. Chúng ta có thể thấy đƣợc khả năng kiểm soát và điều khiển các cuộc thoại thông qua mạng Internet. . Dịch vụ điện thoại Web: Sự ra đời của www (World Wide Web) đã tạo ra một cuộc cách mạng trong các quan hệ giao dịch thƣơng mại, giữa khách hàng với các doanh nghiệp và ngƣợc lại. Dịch vụ điện thoại Web hay “click to dial” cho phép các nhà doanh nghiệp có thể đƣa thêm các phím bấm lên trang web để kết nối tới hệ thống điện thoại 7
  8. Bảo mật trong VoIP của họ, tức là đƣa thêm các kênh trực tiếp từ các trang Web vào hệ thống điện thoại. . Truy cập các trung tâm tƣ vấn: Dịch vụ này cho phép một khách hàng có câu hỏi về một sản phẩm đƣợc chào hàng qua Internet đƣợc các nhân viên của công ty trả lời trực tuyến, việc này góp phần thúc đẩy mạnh mẽ thƣơng mại điện tử. . Dịch vụ fax qua IP (FoIP - Fax over IP): Việc sử dụng Internet không những đƣợc mở rộng cho thoại mà còn cho cả dịch vụ fax. Dịch vụ Internet faxing sẽ giúp tiết kiệm đƣợc chi phí và cả kênh thoại khi phải gửi fax với số lƣợng lớn, đặc biệt là gửi ra nƣớc ngoài. Dịch vụ này sẽ chuyển trực tiếp từ PC qua kết nối Internet. Một trong những dịch vụ gửi fax nổi tiếng là comfax. . Tính cƣớc cho phía bị gọi: Để thực hiện đƣợc dịch vụ này, cần một PC kết nối Internet và chƣơng trình phần mềm điều khiển nhƣ Quicknet's Technologies Internet Phone JACK chạy trên môi trƣờng Windows. 1.2.4. Các yêu cầu khi phát triển VoIP Để tồn tại và phát triển bền vững các nhà khai thác dịch vụ VoIP cần quan tâm đến một số vấn đề về chất lƣợng, tính bảo mật Cụ thể nhƣ sau: . Chất lƣợng thoại phải tƣơng đƣơng hoặc hơn mạng PSTN và các mạng điện thoại khác. . Mạng IP cơ bản phải đáp ứng đƣợc những tiêu chí hoạt động khắt khe gồm giảm tối thiểu việc từ chối cuộc gọi, mất mát gói và mất liên lạc, ngắt quãng trong đàm thoại. Điều này đòi hỏi ngay cả trong trƣờng hợp mạng bị nghẽn hoặc khi nhiều ngƣời sử dụng chung tài nguyên của mạng cùng một lúc. . Tín hiệu báo hiệu phải có khả năng tƣơng tác với các mạng khác để không gây ra sự thay đổi khi chuyển giao giữa các mạng. . Liên kết các dịch vụ PSTN/VoIP bao gồm các Gateway giữa các môi trƣờng mạng thoại và mạng dữ liệu. 8
  9. Bảo mật trong VoIP . Quản lý hệ thống an toàn, địa chỉ hoá và thanh toán phải đƣợc cung cấp, tốt nhất là đƣợc hợp nhất với hệ thống hỗ trợ hoạt động PSTN. Từ khi ra đời VoIP đã đƣợc triển khai thực tế kiểm nghiệm và đã có những cải tiến về công nghệ, về các chuẩn giao thức phong phú, các nhà khai thác VoIP đang dần khẳng định chất lƣợng dịch vụ của mình. 1.2.5. Mô hình mạng VoIP điển hình và các thành phần Từ khi ra đời đến nay dịch vụ VoIP đã đƣợc nhiều tổ chức viễn thông trên thế giới quan tâm và phát triển các giao thức đi kèm. Có nhiều chuẩn mỗi chuẩn phù hợp cho một loại giao thức đƣợc định nghĩa. Nghiên cứu sâu vào từng chuẩn sẽ đƣợc trình bày trong chƣơng sau của đồ án. Trong phần này chỉ đƣa ra mô hình tổng quát nhất với mục đích giới thiệu sơ qua về mô hình mạng VoIP. Các giao thức báo hiệu cơ bản trong VoIP gồm: . H.323 giao thức báo hiệu đƣợc định nghĩa bởi ITU_T. H.323 định nghĩa một kiến trúc phân phối cho việc thiết lập các ứng dụng đa phƣơng tiện bao gồm cả VoIP. . SIP đƣợc định nghĩa trong IETF RFC 2543. SIP định nghĩa kiến trúc phân phối cho việc thiết lập các ứng dụng đa phƣơng tiện bao gồm cả VoIP. . MGCP đƣợc định nghĩa trong IETF RFC 2705. MGCP định nghĩa một kiến trúc tập trung hóa cho việc thiết lập các ứng dụng đa phƣơng tiện bao gồm VoIP. . Megaco/H248 là giao thức điều khiển gateway. Mô hình mạng VoIP tổng quát: 9
  10. Bảo mật trong VoIP Hình 1.1. Mô hình mạng VoIP tổng quát Hình trên cho ta mô hình tổng quát với những yếu tố phổ biến nhất trong mạng VoIP, cụ thể về các thiết bị nhƣ sau: . Telephone: Telephone có thể là các điện thoại IP (IP phone), các phần mềm hỗ trợ hoạt động nhƣ một điện thoại đƣợc cài trên PC hoặc là những điện thoại truyền thống (tƣơng tự hay ISDN). . Gateway: Gateway liên kết mạng VoIP với mạng điện thoại truyền thống. Thƣờng sử dụng các router hỗ trợ voice. Gateway cung cấp một số chức năng sau: - Trên một giao diện Gateway đƣợc cắm đƣờng dây điện thoại. Gateway kết nối tới PSTN và thông tin với bất kỳ điện thoại nào trên thế giới. - Trên một giao diện khác, Gateway kết nối tới mạng IP và thông tin với bất kỳ máy tính nào trên thế giới. - Gateway thu tín hiệu điện thoại chuẩn, số hóa (nếu tín hiệu chƣa đƣợc số hóa), nén, đóng gói sử dụng IP, và định tuyến gói tin đến đích thông qua mạng IP. - Gateway sắp xếp lại các gói tin đến và chuyển tiếp cho các điện thoại. 10
  11. Bảo mật trong VoIP . Multipoint control units (MCU): Một MCU đƣợc yêu cầu cho các cuộc hội nghị nhiều bên. Tất cả các thành phần của hội nghị đƣợc gửi đến MCU. MCU xử lý, quản lý tất cả các thành phần của cuộc hội nghị này. . Application server: Application cung cấp dịch vụ XML cơ bản tới IP phone. Những ngƣời sử dụng IP phone truy cập tới các thƣ mục và cơ sở dữ liệu thông qua XML application. . Gatekeepers: Gatekeepers là rất hữu ích, những nó là thành phần tùy chọn trong mạng, có thể có hoặc có thể không. Gatekeeper cung cấp chức năng đăng ký, định tuyến và quản lý tất cả đầu cuối (terminals, gateways, và MCUs) trong một miền mạng nhất định. Gatekeeper cung cấp điều khiển thu nạp cuộc gọi (Call Admission Control - CAC). CAC chuyển đổi số điện thoại hay tên tới địa chỉ IP để giúp định tuyến trong mạng H.323. . Call Agents: Call Agent cung cấp chức năng điều khiển cuộc gọi CAC, điều khiển băng thông, dịch vụ chuyển đổi địa chỉ tới địa chỉ IP hay giao thức điều khiển gateway đa phƣơng tiện. . Video endpoint: Video endpoint cung cấp các tính năng video cho ngƣời sử dụng. Cũng nhƣ thoại cuộc điện thoại video cũng cần có một trung tâm giám sát các cuộc gọi hội thoại video. 1.2.6. Các hình thức truyền thoại qua mạng VoIP . Cấu hình “PC to PC” Hình 1.2. Cấu hình “PC to PC” 11
  12. Bảo mật trong VoIP Hai PC đƣợc kết nối trực tiếp với nhau trong cùng một mạng IP, hay giữa các mạng IP với nhau thông qua một mạng trung gian khác (PSTN/ISDN). Các PC đƣợc coi nhƣ các đầu cuối H.323, có thể là máy tính đa phƣơng tiện có cài đặt phần mềm phục vụ dịch vụ thoại Internet. . Cấu hình “PC to Phone” Hình 1.3. Cấu hình “PC to Phone” Cuộc gọi đƣợc tiến hành từ máy tính đa phƣơng tiện tới một thuê bao cố định PSTN hoặc một thuê bao di động thông thƣờng. Tín hiệu thoại (đã đƣợc đóng trong các gói IP) đƣợc truyền qua mạng tới các Gateway. Tại đó các gói tin IP đƣợc chuyển thành tín hiệu PCM 64Kbps thông thƣờng và truyền tới tới tổng đài nội hạt của thuê bao bị gọi và từ đó chuyển tới máy điện thoại bị gọi. . Cấu hình “Phone to Phone” Hai phía đầu cuối đều sử dụng điện thoại thông thƣờng. Tín hiệu thoại PCM 64Kbps đƣợc chuyển thành gói tin IP và ngƣợc lại tại các Gateway ở mỗi phía. Các gói tin IP đƣợc truyền qua mạng IP. 12
  13. Bảo mật trong VoIP Hình 1.4. Cấu hình “Phone to Phone” Dịch vụ này hiện nay rất phổ biến tại Việt Nam do có rất nhiều nhà cung cấp. Nhƣ VNPT với 171, Viettel với 178, EVN telecom với 179 13
  14. Bảo mật trong VoIP Chƣơng 2 MÔ HÌNH KIẾN TRÚC PHÂN TẦNG VÀ CÁC GIAO THỨC TRUYỀN TẢI TRONG MẠNG VOIP Mạng VoIP có mô hình kiến trúc phân tầng nhƣ sau: Hình 2.1. Mô hình tham chiếu OSI so với mô hình mạng VoIP. 2.1. LỚP VẬT LÝ VÀ LỚP LIÊN KẾT DỮ LIỆU (LINK & PHYSICAL LAYER) [6] Lớp vật lý tƣơng ứng với lớp vật lý của mô hình OSI. Trong mô hình tham chiếu OSI, lớp vật lý là lớp thấp nhất chịu trách nhiệm truyền tín hiệu trên các đầu cuối mạng. Có thể điểm qua một số chức năng của lớp vật lý nhƣ sau: . Định nghĩa các phần cứng đặc biệt. Cung cấp môi trƣờng truyền dẫn nhƣ: truyền trên môi trƣờng có dây, môi trƣờng không dây, truyền qua cáp quang hay cáp đồng. . Mã hóa tín hiệu. Lớp vật lý có chức năng mã hóa tín hiệu sao cho phù hợp với môi trƣờng truyền. . Truyền và thu tín hiệu tại các đầu cuối mạng. 14
  15. Bảo mật trong VoIP Lớp liên kết dữ liệu (data link) là phân lớp thứ hai trong mô hình OSI. Lớp liên kết dữ liệu bảo đảm truyền dữ liệu tin cậy giữa các đầu cuối cục bộ (local). Lớp liên kết dữ liệu đƣợc chia thành hai phân lớp con là: Điều khiển liên kết logic (LLC) và điều khiển truy cập (MAC). Giao thức tầng liên kết dữ liệu định nghĩa khuôn dạng đơn vị dữ liệu cho trao đổi giữa các nút ở mỗi đầu của đƣờng truyền. Công việc của giao thức liên kết dữ liệu khi gửi và nhận frame bao gồm: Phát hiện lỗi, truyền lại, điều khiển lƣu lƣợng và truy cập ngẫu nhiên. 2.2. LỚP MẠNG [6],[7] Lớp mạng tƣơng ứng với lớp thứ ba trong mô hình tham chiếu OSI. Lớp mạng sử dụng những giao thức nhằm đảm bảo truyền dữ liệu giữa các trạm không kề nhau sao cho không có lỗi. Giao thức lớp mạng trong mô hình OSI chỉ ra cơ chế đánh địa chỉ cho gói tin nhằm đóng gói dữ liệu từ lớp transport và truyền đến đích. Cơ chế đóng gói lớp mạng cho phép nội dung của nó đƣợc truyền tới đích trong các mạng LAN hoặc mạng WAN với lƣợng thông tin overhead là tối thiểu. Lớp mạng thực hiện 4 nhiệm vụ chính sau: . Đánh địa chỉ cho gói tin, do vậy các gói có thể di chuyển đƣợc trong mạng. Tất cả các host trong mạng đều đƣợc cung cấp một địa chỉ IP duy nhất. Địa chỉ lớp mạng là địa chỉ logic, địa chỉ IPv4 hoặc IPv6. Địa chỉ IPv4 có 32bit và địa chỉ IPv6 có 128bit. . Thực hiện phân mảng và đóng gói các segment của lớp transport rồi chuyển xuống lớp dƣới. . Định tuyến: Đây là chức năng rất quan trọng đối với lớp mạng. Định tuyến là tìm đƣờng đi cho gói tin trên mạng để đến đƣợc đích. Định tuyến sẽ tìm đƣờng đi tối ƣu cho gói tin. Có nhiều giao thức định tuyến cho gói tin trong internet nhƣ RIP, OSPF . Giải đóng gói: Thực hiện khi gói tin đến đích, tại đây dữ liệu sẽ đƣợc giải đóng gói và gửi các segment lên lớp transport. 15
  16. Bảo mật trong VoIP Trong mạng internet lớp mạng sử dụng giao thức IP để thực hiện chức năng của mình. 2.2.1. Giao thức IP Giao thức mạng IP đƣợc thiết kế để liên kết các mạng máy tính sử dụng phƣơng pháp truyền thông và nhận dữ liệu dƣới dạng gói. Giao thức IP cho phép truyền các gói dữ liệu từ điểm nguồn tới điểm đích có địa chỉ cố định. Đơn vị dữ liệu đƣợc trao đổi là các gói dữ liệu. Các chức năng đƣợc thực hiện ở IP là: . Đánh địa chỉ: tất cả các host trong mạng và trong liên mạng đều đƣợc cung cấp một địa chỉ IP duy nhất. Theo giao thức IP version 4, mỗi địa chỉ IP gồm 32bit và đƣợc chia làm 5 lớp A,B,C,D,E. Các lớp A,B,C đƣợc sử dụng để định danh các host trên các mạng. Lớp D đƣợc sử dụng cho quá trình truyền đa điểm còn lớp E để dự phòng. . Định tuyến: giúp xác định đƣờng đi (tuyến) cho gói tin khi đƣợc truyền trên mạng. Nó giúp lựa chọn đƣờng đi tối ƣu cho các gói dữ liệu. Nếu hai host cần liên lạc không nằm trên cùng một subnet thì bảng định tuyến sẽ đƣợc sử dụng để quyết định việc chuyển dữ liệu và các bộ định tuyến thƣờng xuyên trao đổi và cập nhật thông tin trong bảng định tuyến tùy thuộc vào phƣơng pháp định tuyến đƣợc sử dụng. . Truyền đa điểm: Hiện nay có ba cách truyền các gói IP là:  Truyền một điểm đích (unicast): các gói tin đƣợc truyền từ host nguồn đến host đích duy nhất.  Truyền quảng bá: gói tin đƣợc truyền đến tất cả các host trong mạng.  Truyền đa điểm (multicast): gói tin đƣợc gửi đến một số các host nhất định trong mạng Ngoài ra, giao thức IP còn cung cấp khả năng phân mảnh dữ liệu lớn thành các gói có kích thƣớc nhỏ hơn để truyền qua mạng. 16
  17. Bảo mật trong VoIP 2.2.1.1. Giao thức IP phiên bản 4 (IPv4) Cấu trúc của header IPv4 nhƣ sau: Hình 2.2. Cấu trúc gói IP phiên bản 4 Ý nghĩa các trƣờng nhƣ sau: . Version: độ rộng 4 bit mô tả phiên bản IP . IP Header Length(IHL): có độ rộng 4 bit, xác định độ rộng của phần tiêu đề của gói tin IP . Type of Service: có độ rộng 8 bit, xác định các tham số chỉ dịch vụ sử dụng khi truyền gói tin qua mạng. Rất nhiều mạng cung cấp các dịch vụ về độ ƣu tiên lƣu thông, đặc biệt khi mạng bị quá tải. Việc lựa chọn này đảm bảo đƣờng truyền đạt ba tiêu chuẩn là thời gian trễ, độ tin cậy, bộ thông suốt của gói tin. Đƣợc mô tả cụ thể nhƣ sau:  Quyền ƣu tiên (3 bit)  Độ trễ D (1 bit) D=0: độ trễ bình thƣờng D=1: độ trễ cao  Thông lƣợng T (1bit) T=0: thông lƣợng bình thƣờng T=1: thông lƣợng cao  Độ tin cậy (1bit): R=0: độ tin cậy bình thƣờng R=1: độ tin cậy cao . Total Length (16bit): xác định độ dài của gói tin kể cả phần tiêu đề. Có giá trị tối đa là 65535 byte. Thông thƣờng các host chỉ có thể xử lý gói 17
  18. Bảo mật trong VoIP tin có độ dài là 576 byte gồm 512 byte dữ liệu và 64 byte tiêu đề. Các host chỉ có thể gửi các gói tin cố độ dài lớn hơn 576 byte khi biết trƣớc là host đích có khả năng xử lý gói này. . Indentification: cùng với trƣờng địa chỉ nguồn, đích dùng để định danh duy nhất cho một gói tin trong khoảng thời gian nó tồn tại. . Flag : có độ rộng 3 bit, chỉ độ phân đoạn của gói tin  Bit 0: luôn bằng 0  Bit 1 (DF): DF=0: có phân đoạn DF=1: không phân đoạn  Bit 2 (MF): MF=0: mảnh cuối cùng MF=1: không phải mảnh cuối cùng . Fragment Offset: độ rộng 13 bit, chỉ rõ vị trí của phân mảnh trong gói tin tính theo đơn vị 64bit. . Time to Live: độ rộng 8 bit, quy định thời gian tồn tại của gói tin. . Protocol: độ rộng 8 bit, xác định giao thức tầng giao vận. Ví dụ  Protocol = 6: giao thức TCP  Protocol=17: giao thức UDP . Header Checksum: độ rộng 16 bit, mã kiểm tra CRC-16 của phần tiêu đề cho phát hiện lỗi. . Source Address: độ rộng 32 bit, xác định địa chỉ nguồn. . Destination Address: độ rộng 32 bit, xác định địa chỉ đích. . Option: có độ dài thay đổi để lƣu thông tin tùy biến của ngƣời dùng. . Padding: có độ dài thay đổi, đảm bảo độ dài của header luôn là bội 32 bit. . Data: có độ dài tối đa là 65535 byte chứa dữ liệu lớp cao hơn. Đánh địa chỉ trong IPv4 Hệ thống địa chỉ này đƣợc thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địa chỉ IP là: A, B, C, D, E. Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng tổ chức các cấu trúc con của nó. 18
  19. Bảo mật trong VoIP Lớp Nhận dạng Địa chỉ đầu Địa chỉ cuối Mặt nạ mạng A 0xxx 0.0.0.0 127.255.255.255 255.0.0.0 B 10xx 128.0.0.0 191.255.255.255 255.255.0.0 C 110x 192.0.0.0 223.255.255.255 255.255.255.0 D 1110 224.0.0.0 239.255.255.255 E 1111 240.0.0.0 255.255.255.255 Địa chỉ lớp A: Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng. Nhƣ hình trên, nó đƣợc nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ có trị giá 0. Ba byte còn lại đƣợc sử dụng để đánh địa chỉ máy trong mạng. Có 126 địa chỉ lớp A với số máy tính trong mạng là 224 – 2= 16.777.214 máy cho mỗi địa chỉ lớp A. Địa chỉ lớp A thƣờng đƣợc cấp cho những tổ chức có số lƣợng máy tính lớn. Nguyên nhân chỉ có 126 network trong khi dùng 8 bit vì bit đầu tiên mang giá trị 0 dùng để định nghĩa lớp A. Do vậy còn lại 7 bit đánh từ 0 – 127, tuy nhiên ngƣời ta không sử dụng một địa chỉ chứa toàn các con số 1 hoặc 0 nên chỉ còn lại 126 mạng lớp A đƣợc sử dụng. Giá trị byte đầu tiên của lớp A sẽ luôn nằm trong khoảng từ 1 tới 126, mỗi một byte trong 3 byte còn lại sẽ có giá trị trong khoảng 1 đến 254. Địa chỉ lớp B: Một địa chỉ lớp B đƣợc nhận ra bởi 2 bit đầu tiên của byte thứ nhất mang giá trị 10. Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉ mạng và 2 byte cuối đánh địa chỉ máy trong mạng. Có 64*256 = 16.384 địa chỉ mạng lớp B với 216 – 2= 65.534 máy cho mỗi địa chỉ lớp B. Địa chỉ lớp C: Một số tổ chức có quy mô nhỏ có thể xin cấp phát địa chỉ lớp C. Một địa chỉ lớp C đƣợc nhận ra với 3 bit đầu mạng giá trị 110. Mạng lớp C sử dụng 3 byte đầu để đánh địa chỉ mạng và 1 byte cuối đánh địa chỉ máy trong mạng. Có 32*256*256= 2.097.152 địa chỉ mạng lớp C, mỗi địa chỉ lớp C có 256 – 2=254 máy. Từ các lớp mạng cơ bản trên, ta có thể thực hiện chia subnet cho mạng để tạo thành các mạng con (subnet) tùy theo yêu cầu cụ thể. Phần dùng để đánh mạng con đƣợc lấy để đánh subnet đƣợc lấy từ phần dành đánh địa chỉ host. 19
  20. Bảo mật trong VoIP Hình 2.3. Quy các địa chỉ IP khi chia subnet Khi đó, để xác định địa chỉ mạng của trạm, ta cần phải biết mặt nạ mạng tƣơng ứng với IP đƣợc chia. Ví dụ việc tính toán ra địa chỉ mạng của IP đƣợc tính nhƣ sau: Dạng thập Dạng nhị phân phân Địa chỉ IP 192.168.5.130 11000000.10101000.00000101.10000010 của trạm Mặt nạ 255.255.255.192 11111111.11111111.11111111.11000000 mạng Địa chỉ 192.168.5.128 11000000.10101000.00000101.10000000 mạng 2.2.1.2. Giao thức IP phiên bản 6 (IPv6) Trong IPv4 trƣờng địa chỉ nguồn và đích có độ dài 32 bit nên không thể đáp ứng đủ nhu cầu đánh địa chỉ của mạng. Ngoài ra, do sự phát triển của Internet, bảng định tuyến của router không ngừng lớn lên và khả năng định tuyến đã bộc lộ hạn chế. Yêu cầu nâng cao chất lƣợng dịch vụ và bảo mật đƣợc đặt ra. IPv6 là giao thức Internet mới đƣợc kế thừa đặc điểm chính của IPv4 và có nhiều cải tiến để khắc phục những hạn chế: . Tăng kích thƣớc địa chỉ từ 32 bit lên 128 bit . Phạm vi định tuyến đa điểm: giao thức này hỗ trợ phƣơng thức truyền mới “anycasting”. Phƣơng thức này sử dụng để gửi các gói tin đến một nhóm xác định. . Phần tiều đề của IPv6 đƣợc đơn giản hóa hơn IPv4. Điều đó cho phép xử lý gói tin nhanh hơn. Ngoài ra, IPv6 còn cung cấp một số tiêu đề phụ cho phép giao thức IPv6 có thể sử dụng một cách mềm dẻo hơn hẳn so với IPv4. 20
  21. Bảo mật trong VoIP Cấu trúc gói tin IPv6 nhƣ sau: Hình 2.4. Cấu trúc gói tin IP phiên bản 6 Ý nghĩa các trƣờng nhƣ sau: . Version: có giá trị bằng 6 với IPv6 . Traffic Class: độ dài 8 bit, xác định độ ƣu tiên . Flow Label: độ dài 20bit, xác định các gói dữ liệu đƣợc ƣu tiên trên đƣờng truyền nếu có xảy ra tranh chấp, thƣờng đƣợc sử dụng cho các dịch vụ đòi hỏi chất lƣợng dịch vụ cao hay thời gian thực. . Payload Length: độ dài 16 bit, xác định độ dài phần dữ liệu không tính phần tiêu đề. . Hop Limit: độ dài 8 bit, giống nhƣ trƣờng Time to Live của IPv4 . Source Address và Destination Address giống nhƣ IPv4 nhƣng có độ dài 128bit. . Data: có độ dài tối đa là 65535 byte. 2.2.2. Giao thức ICMP Bên cạnh IP còn có các giao thức khác hỗ trợ chức năng điều khiển và định tuyến. Giao thức ICMP là một trong số đó. ICMP gửi các thông điệp về các vấn đề, tình trạng xảy ra trong môi trƣờng mạng. Khuôn dạng bản tin ICMP Các bản tin ICMP đƣợc xác định nhờ vào trƣờng code. Có các loại bản tin ICMP sau: . Bản tin vọng và bản tin đáp ứng vọng. . Bản tin Time Stamp và trả lời Time Stamp. 21
  22. Bảo mật trong VoIP . Bản tin không gặp đích. . Bản tin quench source. . Bản tin định hƣớng lại. . Bản tin báo tham số có lỗi. 2.3. TẦNG GIAO VẬN [6],[7] Tầng giao vận nằm trên lớp thứ 3 trong mô hình mạng VoIP tƣơng ứng với lớp 4 của mô hình tham chiếu OSI. Cung cấp dịch vụ truyền thông giữa các chƣơng trình ứng dụng chạy trên các máy tính khác nhau. Tầng giao vận có 2 giao thức quan trọng TCP và UDP. Ngoài ra để phù hợp với các dịch vụ truyền thời gian thực trong lớp giao vận còn có giao thức SCTP. Lớp transport có một số nhiệm vụ nhƣ: . Cho phép nhiều ứng dụng truyền thông qua mạng tại cùng một thời điểm, trên cùng một thiết bị. . Đảm bảo dữ liệu đƣợc nhận tin cậy khi sử dụng giao thức TCP, sắp xếp đúng gói tin cho từng loại ứng dụng khác nhau. . Cung cấp cơ chế truyền lại trong trƣờng hợp gói tin bị mất hoặc lỗi trong quá trình truyền từ nguồn tới đích. Chức năng của lớp transport: . Đảm bảo duy trì các kết nối riêng biệt giữa các ứng dụng khác nhau trên host nguồn và đích. . Thực hiện phân mảnh tại nguồn và có cơ chế quản lý gói tin này. . Ghép các mảnh dữ liệu tại đích để tạo thành luồng dữ liệu ứng dụng trƣớc khi đẩy lên lớp ứng dụng. . Có khả năng nhận diện các ứng dụng khác nhau. Điều này giúp cho lớp transport có thể khởi tạo, duy trì, bảo dƣỡng và kết thúc nhiều ứng dụng khác nhau trên cùng một thiết bị. 2.3.1. Giao thức UDP UDP là giao thức lớp giao vận đơn giản, không hƣớng kết nối, đƣợc mô tả trong RFC768. Ứng dụng gửi bản tin tới socket UDP, sau đó đƣợc đóng gói 22
  23. Bảo mật trong VoIP thành một UDP paragram và đƣợc truyền xuống lớp IP để gửi tới đích. Gói tin UDP đƣợc truyền mà không đảm bảo rằng nó có thể tới đích, giữ đúng thứ tự và đến đích một lần. Nếu datagram tới đích nhƣng trƣờng kiểm tra tổng (checksum) có lỗi hay gói tin bị drop ở trên mạng thì nó sẽ đƣợc truyền lại. Nếu muốn xác định đƣợc rằng gói tin đã tới đích thì cần rất nhiều tính năng trong ứng dụng: ACK từ đầu cuối khác, điều khiển việc truyền lại, Mỗi một UDP datagram có chiều dài và đƣợc truyền lên cùng với dữ liệu cho lớp ứng dụng. Điều này khác với TCP là giao thức luồng byte (byte-stream protocol). Chúng ta cũng có thể nói: UDP cung cấp dịch vụ không hƣớng kết nối. Ví dụ, client UDP có thể tạo một socket và gửi datagram tới server này và sau đó gửi một datagram khác cũng tới server khác. Cũng giống nhƣ server UDP có thể nhận nhiều datagram trên một socket UDP từ các client khác nhau. Hình 2.5. Cấu trúc đơn vị dữ liệu UDP 2.3.2. Giao thức TCP TCP là giao thức hƣớng kết nối và tin cậy. TCP thực hiện phân mảnh gói tin tại nguồn và trƣớc khi gửi gói tin xuống lớp network nó chèn thêm một số thông tin điều khiển gọi là TCP header. Mỗi segment của TCP có 20byte header. TCP cung cấp các chức năng: . Truyền tin cậy với cơ chế ARQ, mỗi bản tin có số trình tự phát và trình tự thu riêng. . Cung cấp thứ tự chính xác của các segment với cơ chế sắp xếp lại segments tại đích. Có cơ chế loại bỏ các bản tin kép. . Cung cấp điều khiển luồng để kiểm soát tắc nghẽn bằng phƣơng pháp sử dụng cửa sổ trƣợt. 23
  24. Bảo mật trong VoIP Trong mạng giao thức TCP thích hợp cho các ứng dụng cần đảm bảo sự tin cậy và không yêu cầu thời gian thực nhƣ: web, mail, truyền file. Trong mạng VoIP, TCP đƣợc sử dụng để truyền các bản tin báo hiệu nhƣ: H.225, H.245 vì các bản tin báo hiệu cần độ chính xác cao. Header và ý nghĩa của các trƣờng trong phần header TCP: Hình 2.6. Trƣờng TCP segment header Ý nghĩa các trƣờng nhƣ sau: . Source Port & Destination Port: Chỉ số cổng nguồn và chỉ số cổng đích của mỗi ứng dụng. Mỗi ứng dụng sẽ có chỉ số cổng nguồn chỉ và số cổng đích khác nhau. Cổng nguồn và đích đều có 16bit do vậy có thể tạo đƣợc 65535 cổng khác nhau. . Sequence Number: độ dài 32 bit. Đƣợc sử dụng đồng bộ dữ liệu truyền giữa nguồn và đích và sắp xếp chính xác dữ liệu tại đích. . Acknowledgement Number (ACK): độ dài 32 bit, chỉ số này đƣợc gửi đến host nguồn. Thông báo cho host nguồn biết là đã nhận tốt byte thứ n và mong muốn nhân đƣợc byte thứ n+1 trong lần truyền tiếp theo. . Window size: Dài 16bit dùng điều khiển luồng. Đích nhận gói tin căn cứ vào tài nguyên của mình có thể gửi thông tin về của sổ trƣợt (slidding windows) cho nguồn, yêu cầu nguồn gửi dữ liệu kích thƣớc phù hợp. . H.length: Dài 4 bit. Cho biết chiều dài phần header của bản tin TCP. . Reserved: Dài 6bit. Là bít dự trữ chƣa đƣợc sử dụng, đƣợc gán giá trị bằng 0. 24
  25. Bảo mật trong VoIP . Flags: o URG: vùng Urgent Pointer có hiệu lực o ACK: vùng ACK có hiệu lực o PSH: chức năng Push o RST: khởi động lại liên kết o SYN: đồng bộ hóa các số hiệu tuần tự o FIN: không còn số liệu từ trạm cuối . Checksum: Dài 16bit. Dùng để kiểm tra lỗi, sử dụng mã CRC16. . Urgent Pointer: Dài 16bit. Là con trỏ trỏ tới số hiệu tuần tự của byte đi sau dữ liệu chuẩn, cho bên nhận biết đƣợc độ dài của dữ liệu. . Option: có độ dài thay đổi, khai báo các lựa chọn của ngƣời dùng. . TCP data: Là phần dữ liệu lớp trên có giá trị tối đa là 536 byte. Giá trị này có thể thay đổi nhờ khai báo trong phần Option. Trong một phiên TCP sử dụng: (TCP 3-way handshake SYN) bắt tay 3 bƣớc để khởi tạo kết nối, truyền tin và hủy kết nối. . Khởi tạo kết nối: 1. Nguồn gửi bản tin SYN kèm theo sequence number đến đích để thiết lập kết nối. 2. Đích gửi bản tin SYN chứa tham số ACK để khẳng định quá trình nhận dữ liệu tốt tới nguồn. bản tin này cũng chứa chỉ số sequence number và chỉ số này đƣợc sinh ra ngẫu nhiên. 3. Khi nguồn nhận đƣợc bản tin SYN kèm theo ACK nó sẽ gửi bản tin thiết lập tới đích. Hình 2.7. Khởi tạo phiên TCP 25
  26. Bảo mật trong VoIP . Truyền tin: Sau khi thiết lập thông qua 3 bƣớc trên, nguồn và đích thực hiện truyền dữ liệu kèm theo các thông tin điều khiển chứa trong header của TCP. . Kết thúc phiên truyền: Khi không còn nhu cầu truyền dữ liệu nữa host sẽ gửi cờ FIN để kết thúc phiên truyền dữ liệu giữa hai host. Sau khi kết thúc phiên truyền dữ liệu, kết nối end-to-end giữa nguồn và đích sẽ đƣợc giải phóng. Hình 2.8. Kết thúc phiên truyền dữ liệu 2.3.3. Giao thức SCTP SCTP cũng nhƣ TCP và UDP là một giao thức tầng giao vận. SCTP đƣợc thiết kế thay cho TCP/UDP khi truyền báo hiệu SS7 qua mạng internet. Ban đầu SCTP chỉ đƣợc thiết kế với mục đích trên nhƣng ngày nay SCTP đã đƣợc sử dụng rộng rãi và nó đƣợc xem nhƣ một thế hệ tiếp theo của giao thức TCP. SCTP là giao thức hƣớng kết nối và tin cậy đồng thời SCTP còn đảm bảo tính thời gian thực cho dữ liệu không giống nhƣ TCP. SCTP cung cấp các chức năng sau: . Hỗ trợ đa luồng: Các bản tin độc lập với nhau trên một liên kết SCTP. Mỗi bản tin đƣợc gán cho một luồng riêng. Tất cả các bản tin trong một luồng đƣợc nhận theo đúng thứ tự bên gửi đã đánh dấu. Mỗi dữ liệu của luồng sẽ đƣợc nhận chính xác mà không bị lẫn lộn với các luồng khác. Với hỗ trợ đa luồng SCTP hỗ trợ các ứng dụng liên quan đến hợp kênh dữ liệu nhƣ: Thoại, video trên mỗi đƣờng liên kết giữa hai đầu cuối. . Liên kết đa điểm: Giữa hai đầu cuối trong quá trình thiết lập liên kết có thể xác định liên kết đa điểm. Có nhiều giao diện sẽ cho phép dữ liệu 26
  27. Bảo mật trong VoIP gửi theo địa chỉ khác khi xảy ra lỗi. Giao thức TCP không thể thực hiện việc này. . Hƣớng bản tin: Trong TCP, dữ liệu đƣợc gửi giữa hai đầu cuối là luồng các byte. Nếu cần thiết các ứng dụng phải làm chức năng định dạng khung cho bản tin. SCTP bản tin đƣợc giữ nguyên định dạng, bản tin không bị thay đổi ở hai đầu cuối. UDP cũng cung cấp hƣớng bản tin nhƣng không tin cậy. . Nhận bản tin không theo thứ tự: Giao thức TCP, tất cả các bản tin đƣợc nhận theo đúng thứ tự bên gửi. Đối với SCTP, cung cấp cơ chế nhận bản tin không theo thứ tự (giữa các luồng song song với nhau). . Quy định thời gian sống của bản tin: SCTP có một tùy chọn cho phép xác định thời gian sống của bản tin. Nó cho phép ứng dụng truyền tin xác định khoảng thời gian mà bản tin còn có ích. Nếu thời gian sống của bản tin không còn, SCTP có thể hủy bỏ bản tin hoặc dừng việc cố gắng gửi nó vào mạng. Việc này giúp tiết kiệm băng thông tránh tắc nghẽ đƣờng truyền. . Syn cookie: SCTP khởi tạo liên kết bằng thủ tục bắt tay bốn bƣớc với việc sử dụng cookie có dấu hiệu định trƣớc. . Khả năng kiểm soát lỗi mạnh: Với TCP và UDP trƣờng checksum chỉ có 16bit còn SCTP trƣờng này lên tới 32bit. So sánh tính năng dịch vụ của SCTP,TCP, UDP Services/Features SCTP TCP UDP Hƣớng liên kết Có Có Không Song công Có Có Có Tin cậy Có Có Không Tin cậy cục bộ optional Không Không Nhận dữ liệu có thứ tự Có Có Không Nhận dữ liệu không có thứ tự Có Không Có Điều khiển luồng Có Có Không Điều khiển tắc nghẽn Có Có Không Cơ chế ECN Có Có Không Selective ACKs Có Tùy chọn Không Hƣớng bản tin Có Không Có Tìm lại đƣờng MTU Có Có Không Phân mảnh PDU tầng ứng dụng Có Có Không 27
  28. Bảo mật trong VoIP Bọc các PDU tầng ứng dụng Có Có Không Đa luồng Có Không Không Chống tấn công tràn SYN Có Không Không Kết nối half-closed Không Có Không Kiểm tra dữ liệu tới đích Có Có Không 2.4. LỚP ỨNG DỤNG [6] Lớp ứng dụng trong mạng VoIP là tầng liên quan trực tiếp đến ngƣời dùng. Tầng ứng dụng chứa một loạt các giao thức phục vụ cho ứng dụng voice. . Các giao thức báo hiệu: H.323, SIP, MGCP, Megaco/H.248. . Các giao thức truyền tin thời gian thực: RTP, RTCP, RSVP. . Các chuẩn nén thoại, video: G.711, G.722, G.723.1, G.728, G.729, H.261, H.263. Các giao thức báo hiệu sẽ đƣợc trình bày cụ thể trong chƣơng sau. Trong chƣơng này chỉ trình bày chi tiết về các giao thức hỗ trợ truyền tin thời gian thực. 2.4.1. Giao thức RTP RTP (Real Time Transport Protocol-Giao thức Vận chuyển Thời gian Thực) là một giao thức dựa trên giao thức IP tạo ra các hỗ trợ để truyền tải các dữ liệu yêu cầu thời gian thực với các yêu cầu: . Liên tục: Các gói tin phải đƣợc sắp xếp theo đúng thứ tự khi chúng đến bên nhận, các gói đến có thể không theo thứ tự và nếu gói tin bị mất thì bên nhận phải dò tìm hay bù lại sự mất các gói tin này. . Sự đồng bộ trong các phƣơng thức truyền thông: Các khoảng lặng trong tiếng nói đƣợc triệt tiêu hoặc nén lại để giảm thiểu băng thông cần thiết, tuy nhiên khi đến bên nhận, thời gian giữa các khoảng lặng này phải đƣợc khôi phục một cách chính xác. . Sự đồng bộ giữa các phƣơng thức truyền thông: Có thể tín hiệu thoại sử dụng một phƣơng thức truyền thông trong khi tín hiệu video lại sử dụng một phƣơng thức truyền thông khác, các tín hiệu tiếng và hình phải đƣợc đồng bộ một cách chính xác, gọi là sự đồng bộ tiếng - hình. 28
  29. Bảo mật trong VoIP . Sự nhận diện phƣơng thức truyền tải: Trong Internet, thông thƣờng cần thay đổi sự mã hoá cho phƣơng thức truyền tải (payload) trên hành trình truyền để hiệu chỉnh thay đổi độ rộng băng thông sẵn sàng hoặc đủ khả năng cho ngƣời dùng mới kết nối vào nhóm. Một vài cơ chế cần đƣợc sử dụng để nhận diện sự mã hoá cho mỗi gói đến. Các dịch vụ cung cấp bởi RTP bao gồm: . Đa phát đáp thân thiện: (multicast – friendly): RTP và RTCP là kỹ thuật cho đa phát đáp, cung cấp khả năng mở rộng cuộc hội thoại nhiều bên. Trên thực tế, chúng đƣợc thiết kế để có thể hoạt động trong cả các nhóm đa phát đáp nhỏ, phù hợp cho các cuộc điện đàm ba bên. Đối với các nhóm lớn, chúng sử dụng đa phát đáp quảng bá (broadcast). . Độc lập thiết bị: RTP cung cấp các dịch vụ cần thiết chung cho phƣơng thức truyền thông thời gian thực nói chung nhƣ thoại, video hay bất kì một bộ mã hoá, giải mã cụ thể nào có sự định nghĩa các phƣơng thức mã hoá và giải mã riêng bằng các thông tin tiêu đề và định nghĩa. . Các bộ trộn và chuyển đổi: Các bộ trộn là thiết bị nắm giữ phƣơng thức truyền thông từ một vài ngƣời sử dụng riêng lẻ, để trộn hoặc nối chúng vào các dòng phƣơng thức truyền thông chung, chuyển đổi chúng vào khuôn dạng khác và gửi nó ra. Các bộ chuyển đổi có ích cho sự thu nhỏ băng thông yêu cầu của dòng số liệu từ dòng số liệu chung trƣớc khi gửi vào từng kết nối băng thông hẹp hơn mà không yêu cầu nguồn phát RTP thu nhỏ tốc độ bit của nó. Điều này cho phép các bên nhận kết nối theo một liên kết nhanh để vẫn nhận đƣợc truyền thông chất lƣợng cao. RTP hỗ trợ cả các bộ trộn và cả các bộ chuyển đổi. . Mã hoá thành mật mã: Các dòng phƣơng thức truyền thông RTP có thể mã hoá thành mật mã dùng các khoá, việc mã hoá đảm bảo cho việc thông tin trên mạng đƣợc an toàn hơn. Các gói tin truyền trên mạng Internet có trễ. Nhƣng các ứng dụng đa phƣơng tiện yêu cầu một thời gian thích hợp khi truyền các dữ liệu và phát lại. RTP cung cấp các cơ chế bảo đảm thời gian, số thứ tự và các cơ chế khác liên quan đến thời gian. Bằng các cơ chế này RTP cung cấp sự truyền tải dữ liệu thời gian thực giữa các đầu cuối qua mạng. 29
  30. Bảo mật trong VoIP Bản thân RTP không cung cấp một cơ chế nào cho việc bảo đảm phân phối kịp thời các dữ liệu tới các trạm mà nó dựa trên các dịch vụ của tầng thấp hơn để thực hiện điều này. RTP cũng không đảm bảo việc truyền các gói theo đúng thứ tự. Tuy nhiên, số thứ tự trong RTP header cho phép bên thu xây dựng lại đúng thứ tự các gói của bên phát. Hoạt động của RTP đƣợc hỗ trợ bởi một giao thức khác là RTCP để nhận các thông tin phản hồi về chất lƣợng truyền dẫn và các thông tin về thành phần tham dự các phiên hiện thời. Không giống nhƣ các giao thức khác là sử dụng các trƣờng trong header để thực hiện các chức năng điều khiển, RTP sử dụng một cơ chế điều khiển độc lập trong định dạng của gói tin RTCP để thực hiện các chức năng này. Khuôn dạng bản tin RTP: RTP header bao gồm một phần cố định có ở mọi gói RTP và một phần mở rộng phục vụ cho các mục đích nhất định. Phần cố định: Có độ dài không đổi. Hình 2.9. Phần cố định của đơn vị dữ liệu RTP . Version (2 bits): Chỉ ra version của RTP, hiện nay là version 2. . Padding (1 bit): Nếu bit này đƣợc đặt, sẽ có thêm một vài octets thêm vào cuối gói dữ liệu. Các octets này không phải là thông tin, chúng đƣợc thêm vào để nhằm mục đích:  Phục vụ cho một vài thuật toán mã hoá thông tin cần kích thƣớc của gói cố định. 30
  31. Bảo mật trong VoIP  Dùng để cách ly các gói RTP trong trƣờng hợp có nhiều gói thông tin đƣợc mang trong cùng một đơn vị dữ liệu của giao thức ở tầng dƣới. . Extension (1 bit): Nếu bit này đƣợc đặt, thì theo sau phần header cố định sẽ là một header mở rộng. . Contributing Sources Count (4 bits): số lƣợng các thành phần nhận dạng nguồn CSRC nằm trong phần header gói tin. Số này lớn hơn 1 nếu các gói tin RTP đến từ nhiều nguồn. . Marker (1 bit): Mang ý nghĩa khác nhau, tuỳ theo từng trƣờng hợp cụ thể, đƣợc chỉ ra trong hiện trạng (profile) đi kèm. . Payload Type (7 bits): Chỉ ra loại tải trọng mang trong gói. Các mã sử dụng trong trƣờng này ứng với các loại tải trọng đƣợc quy định trong một profile đi kèm. . Sequence Number (16 bits): mang số thứ tự của gói RTP. Số này đƣợc tăng thêm 1 sau mỗi gói RTP đƣợc gửi đi. Có thể đƣợc sử dụng để phát hiện đƣợc sự mất gói và khôi phục mất gói tại đầu thu. Giá trị khởi đầu của trƣờng này là ngẫu nhiên. . Time stamp (tem thời gian, 32 bits): Phản ánh thời điểm lấy mẫu của octet đầu tiên trong gói RTP. Thời điểm này đƣợc lấy từ một đồng hồ tăng đều đặn và tuyến tính theo thời gian để cho phép việc đồng bộ và tính toán độ jitter. Tần số đồng hồ này không cố định, tuỳ thuộc vào loại tải trọng. Giá trị khởi đầu đƣợc chọn ngẫu nhiên. Một vài gói RTP có thể mang cùng một giá trị “Tem thời gian” nếu nhƣ chúng đƣợc phát đi cùng lúc về mặt logic. Nếu gói dữ liệu đƣợc phát ra đều đặn thì “tem thời gian” đƣợc tăng một cách đều đặn. Trong trƣờng hợp khác thì giá trị “tem thời gian” tăng không đều. “Tem thời gian” là thành phần thông tin quan trọng nhất trong các ứng dụng thời gian thực. Ngƣời gửi thiết lập các “tem thời gian” ngay thời điểm octet đầu tiên của gói đƣợc lấy mẫu. “Tem thời gian” tăng dần theo thời gian đối với mọi gói. Sau khi nhận đƣợc gói dữ liệu, bên thu sử dụng các “tem thời gian” này nhằm khôi phục thời gian gốc để chạy các dữ liệu này với tốc độ thích hợp. Ngoài ra, nó còn đƣợc sử dụng để đồng bộ các dòng dữ liệu khác 31
  32. Bảo mật trong VoIP nhau (chẳng hạn nhƣ giữa hình và tiếng). Tuy nhiên RTP không thực hiện đồng bộ mà các ứng dụng phía trên sẽ thực hiện sự đồng bộ này. . Synchronization Source Identifier (SSRC, 32 bits): chỉ ra nguồn đồng bộ của gói RTP, số này đƣợc chọn ngẫu nhiên. Trong 1 phiên RTP có thể có nhiều hơn một nguồn đồng bộ. Mỗi một nguồn phát ra một luồng RTP. Bên thu nhóm các gói của cùng một nguồn đồng bộ lại với nhau để phát lại tín hiệu thời gian thực. . Contributing Source Identifier (CSRC, từ 0-15 mục, mỗi mục 32 bits): chỉ ra những nguồn đóng góp thông tin vào phần tải trọng của gói. Giúp bên thu nhận biết đƣợc gói tin này mang thông tin của những nguồn nào. Phần mở rộng: Có độ dài thay đổi. Sự tồn tại phụ thuộc vào bit Extension của phần cố định. Hình 2.10. Phần mở rộng cấu trúc dữ liệu RTP . 16 bit đầu tiên đƣợc sử dụng với mục đích riêng cho từng ứng dụng đƣợc định nghĩa bởi profile. Thƣờng đƣợc dùng để phân biệt các loại header mở rộng. . Length (16 bits): giá trị chiều dài phần header mở rộng tính theo đơn vị 32 bit, không bao gồm 32 bit đầu tiên của phần header mở rộng. Thực tế RTP đƣợc thực hiện chủ yếu trong các ứng dụng mà tại các mức ứng dụng này có các cơ chế khôi phục lại gói bị mất, điều khiển tắc nghẽn. Mạng Internet hiện nay vẫn chƣa thể đáp ứng đƣợc đầy đủ các yêu cầu của các dịch vụ thời gian thực. Các dịch vụ RTP yêu cầu băng thông cao có thể làm giảm chất lƣợng các dịch vụ khác trong mạng đến mức nghiêm trọng. Trong quá trình triển khai phải chú ý đến giới hạn băng thông sử dụng của các ứng dụng trong mạng. 32
  33. Bảo mật trong VoIP 2.4.2. Giao thức RTCP Giao thức RTCP (Real-time Transport Control Protocol) là giao thức hỗ trợ cho RTP có chức năng điều khiển, kiểm soát bản tin RTP. Giao thức RTCP dựa vào việc truyền đều đặn các gói điều khiển tới tất cả các ngƣời tham gia vào phiên truyền. Các dịch vụ mà RTCP cung cấp là: . Giám sát chất lƣợng và điều khiển tắc nghẽn: Đây là chức năng cơ bản của RTCP. Nó cung cấp thông tin phản hồi tới một ứng dụng về chất lƣợng phân phối dữ liệu. Thông tin điều khiển này rất hữu ích cho các bộ phát, bộ thu và giám sát. Bộ phát có thể điều chỉnh cách thức truyền dữ liệu dựa trên các thông báo phản hồi của bộ thu. Bộ thu có thể xác định đƣợc tắc nghẽn là cục bộ, từng phần hay toàn bộ. Ngƣời quản lý mạng có thể đánh giá đƣợc hiệu suất mạng. . Xác định nguồn: Trong các gói RTP, các nguồn đƣợc xác định bởi các số ngẫu nhiên có độ dài 32 bít, các số này không thuận tiện đối với ngƣời sử dụng. RTCP cung cấp thông tin nhận dạng nguồn cụ thể hơn ở dạng văn bản. Nó có thể bao gồm tên ngƣời sử dụng, số điện thoại, địa chỉ e-mail và các thông tin khác. . Đồng bộ môi trƣờng: Các thông báo của bộ phát RTCP chứa thông tin để xác định thời gian và nhãn thời gian RTP tƣơng ứng. Chúng có thể đƣợc sử dụng để đồng bộ giữa âm thanh với hình ảnh. . Điều chỉnh thông tin điều khiển: Các gói RTCP đƣợc gửi theo chu kỳ giữa những ngƣời tham dự. Khi số lƣợng ngƣời tham dự tăng lên, cần phải cân bằng giữa việc nhận thông tin điều khiển mới nhất và hạn chế lƣu lƣợng điều khiển. Để hỗ trợ một nhóm ngƣời sử dụng lớn, RTCP phải cấm lƣu lƣợng điều khiển rất lớn đến từ các tài nguyên khác của mạng. RTP chỉ cho phép tối đa 5% lƣu lƣợng cho điều khiển toàn bộ lƣu lƣợng của phiên làm việc. Điều này đƣợc thực hiện bằng cách điều chỉnh tốc độ phát của RTCP theo số lƣợng ngƣời tham dự. Mỗi ngƣời tham gia một phiên truyền RTP phải gửi định kỳ các gói RTCP đến tất cả những ngƣời khác cũng tham gia phiên truyền. Nhờ vậy mà có thể theo dõi đƣợc số ngƣời tham gia. 33
  34. Bảo mật trong VoIP Gói RTCP góp phần làm tăng nghẽn mạng. Băng thông yêu cầu bởi RTCP là 5% tổng số băng thông phân bổ cho phiên. Khoảng thời gian trung bình giữa các gói RTCP đƣợc đặt tối thiểu là 5s. Các loại thông báo điều khiển chính đƣợc RTCP cung cấp là: . SR (Sender Report): chứa các thông tin thống kê liên quan tới kết quả truyền nhƣ tỷ lệ tổn hao, số gói dữ liệu bị mất, khoảng trễ. Các thông báo này phát ra từ phía phát trong 1 phiên truyền thông. . RR (Receiver Report): Chứa các thông tin thống kê liên quan tới kết quả nhận, đƣợc phát từ phía thu trong 1 phiên truyền thông. . SDES (Source Description): thông số mô tả nguồn (tên, vị trí ) . APP (Application): cho phép truyền các dữ liệu ứng dụng . BYE: chỉ thị sự kết thúc tham gia vào phiên truyền. Chƣơng 3 34
  35. Bảo mật trong VoIP MẠNG VOIP VỚI CÁC GIAO THỨC BÁO HIỆU H.323/SIP Trong chƣơng một của đồ án đã đề cập đến một mô hình tổng quan về mạng VoIP. Trên thực tế, từ khi dịch vụ mạng VoIP hình thành và phát triển các tổ chức quốc tế và các nhà khai thác dịch vụ mạng luôn tìm kiếm các công cụ khai thác hiệu quả nhất. Dựa trên các bộ giao thức khác nhau, mô hình mạng VoIP cũng thay đổi theo với các chuẩn phù hợp với các giao thức đó. Trong chƣơng này của đồ án sẽ trình bày chi tiết về mô hình mạng với chuẩn đƣợc ứng dụng. 3.1. MẠNG VOIP VỚI CHUẨN H.323 [1],[4] Khi đề cập đến thoại IP, tiêu chuẩn quốc tế thƣờng đƣợc đề cập đến là H.323. Giao thức H.323 đƣợc phát triển bởi ITU-T, H.323 cung cấp nền tảng kỹ thuật cho truyền thông đa phƣơng tiện nhƣ: Audio thời gian thực, video và thông tin dữ liệu qua mạng chuyển mạch gói. H.323 phiên bản đầu tiên đƣợc ITU-T đƣa ra vào năm 1996. Trong quá trình phát triển H.323 đã đƣợc nâng cấp và sửa đổi để ngày càng hoàn thiện. Các phiên bản muộn hơn của H.323 đƣợc đƣa ra vào các năm: H.323 v1 năm 1998, H.323 v2 năm 1999, H.323 v3 năm 2000, H.323 v4 năm 2003, H.323 v5 năm 2005, H.323 v6 năm 2006. Đi kèm theo chuẩn H.323 là một chồng các giao thức bao gồm chức năng thiết lập, điều khiển, quản lý thông tin đa phƣơng tiện và quản lý băng thông, ngoài ra còn cung cấp các giao diện giữa LAN và các mạng khác. 3.1.1. Thành phần mạng VoIP với chuẩn H.323 3.1.1.1.Thiết bị đầu cuối H.323 (H.323 Endpoint)  Các thiết bị nằm ngoài phạm vi khuyến nghị H.323 . Thiết bị vào ra Video. . Thiết bị vào ra Audio. . Thiết bị vào ra số liệu. 35
  36. Bảo mật trong VoIP . Giao diện mạng LAN. . Giao diện ngƣời sử dụng.  Các phần tử nằm trong phạm vi khuyến nghị H.323 . Bộ mã hoá và giải mã Video. . Bộ mã hoá và giải mã Audio. . Bộ đệm nhận dữ liệu. . Khối điều khiển hệ thống.  Khối điều khiển theo chuẩn H.245 Sử dụng kênh điều khiển H.245 để mang các bản tin điều khiển điểm - điểm điều khiển hoạt động của thực thể H.323 đó bao gồm : khả năng trao đổi, mở và đóng các kênh logic, các yêu cầu chế độ hoạt động thích hợp, điều khiển luồng bản tin, phát các lệnh và các chỉ thị.  Điều khiển báo hiệu cuộc gọi Sử dụng báo hiệu cuộc gọi theo khuyến nghị H.225 để thiết lập một kết nối giữa hai đầu cuối H.323. Kênh báo hiệu cuộc gọi độc lập với kênh RAS và kênh điều khiển H.245. Trong hệ thống không có Gatekeeper thì kênh báo hiệu cuộc gọi đƣợc thiết lập giữa hai đầu cuối H.323 tham gia cuộc gọi. Còn trong hệ thống có Gatekeeper thì kênh báo hiệu cuộc gọi đƣợc thiết lập giữa các đầu cuối và Gatekeeper hoặc giữa hai đầu cuối với nhau, việc lựa chọn phƣơng án thiết lập kênh báo hiệu cuộc gọi nhƣ thế nào là do Gatekeeper quyết định.  Chức năng báo hiệu RAS Sử dụng các bản tin H.225 để thực hiện: đăng ký, cho phép dịch vụ, thay đổi băng thông, trạng thái, các thủ tục tách rời giữa các đầu cuối và Gatekeeper. 36
  37. Bảo mật trong VoIP Hình 3.1.Sơ đồ khối thiết bị đầu cuối H.323 3.1.1.2. Gatekeeper Một miền H.323 trên cơ sở mạng IP là tập hợp tất cả các đầu cuối đƣợc gán với một bí danh. Mỗi miền đƣợc quản trị bởi một Gatekeeper duy nhất, là trung tâm đầu não, đóng vai trò giám sát mọi hoạt động trong miền đó. Đây là thành phần tuỳ chọn trong hệ thống VoIP theo chuẩn H.323. Tuy nhiên nếu có mặt Gatekeeper trong mạng thì các đầu cuối H.323 và các Gateway phải hoạt động theo các dịch vụ của Gatekeeper đó. Mọi thông tin trao đổi của Gatekeeper đều đƣợc định nghĩa trong RAS. Mỗi ngƣời dùng tại đầu cuối đƣợc Gatekeeper gán cho một mức ƣu tiên duy nhất. Mức ƣu tiên này rất cần thiết cho cơ chế báo hiệu cuộc gọi mà cùng một lúc nhiều ngƣời sử dụng. H.323 định nghĩa cả những tính chất bắt buộc tối thiểu phải có cho Gatekeeper và những đặc tính tuỳ chọn: . Các chức năng bắt buộc tối thiểu của một Gatekeeper gồm : Phiên dịch địa chỉ, điều khiển cho phép truy nhập, điều khiển dải thông, quản lý miền dịch vụ. . Các chức năng tuỳ chọn của Gatekeeper gồm có : Báo hiệu điều khiển cuộc gọi, cấp phép cho cuộc gọi, quản lý cuộc gọi. 37
  38. Bảo mật trong VoIP Gatekeeper hoạt động ở hai chế độ : . Chế độ trực tiếp: Gatekeeper chỉ có nhiệm vụ cung cấp địa chỉ đích mà không tham gia vào các việc định tuyến các bản tin báo hiệu. Hình 3.2. Phƣơng thức định tuyến trực tiếp . Chế độ định tuyến qua Gatekeeper : Gatekeeper là thành phần trung gian, định tuyến mọi bản tin báo hiệu trong mạng H.323. Hình 3.3. Phƣơng thức định tuyến qua Gatekeeper Các chức năng cụ thể của Gatekeeper được mô tả như sau: . Chức năng dịch địa chỉ: Gatekeeper sẽ thực hiện chuyển đổi địa chỉ URI (dạng tên gọi hay địa chỉ hộp thƣ ) của một đầu cuối hay Gateway sang địa chỉ truyền dẫn (địa chỉ IP). Việc chuyển đổi đƣợc thực hiện bằng cách sử dụng bản đối chiếu địa chỉ đƣợc cập nhật thƣờng xuyên bởi các bản tin đăng ký. Cũng có thể là việc chuyển đổi từ quy cách đánh số E.164 sang dạng URI. . Điều khiển truy cập: Gatekeeper cho phép một truy cập mạng LAN bằng cách sử dụng các bản tin H.225 là ARQ/ACF/ARJ. Việc điều 38
  39. Bảo mật trong VoIP khiển này dựa trên sự cho phép cuộc gọi, băng thông, hoặc một vài thông số khác do nhà sản xuất quy định. Nó có thể là chức năng rỗng có nghĩa là chấp nhận mọi yêu cầu truy nhập của đầu cuối. . Điều khiển độ rộng băng thông: Gatekeeper hỗ trợ các bản tin BRQ/BRJ/BCF cho việc quản lý băng thông. Nó có thể là chức năng rỗng nghĩa là chấp nhận mọi yêu cầu thay đổi băng thông. Gatekeeper có thể hạn chế một số các đầu cuối H.323 cùng một lúc sử dụng mạng. Thông qua việc sử dụng kênh báo hiệu H.225, Gatekeeper có thể loại bỏ các các cuộc gọi từ một đầu cuối do sự hạn chế băng thông. Điều đó có thể xảy ra nếu Gatekeeper thấy rằng không đủ băng thông sẵn có trên mạng để trợ giúp cho cuộc gọi. Việc từ chối cũng có thể xảy ra khi một đầu đang tham gia một cuộc gọi yêu cầu thêm băng thông. Nó có thể là một chức năng rỗng nghĩa là mọi yêu cầu truy nhập đều đƣợc đồng ý. . Quản lý miền dịch vụ: ở đây miền dịch vụ (domain) nghĩa là tập hợp tất cả các phần tử H.323 gồm thiết bị đầu cuối. Gateway, MCU có đăng ký hoạt động với Gatekeeper để thực hiện liên lạc giữa các phần tử trong miền dịch vụ hay từ dịch vụ này sang dịch vụ khác. . Điều khiển báo hiệu cuộc gọi: Gatekeeper có thể lựa chọn hai phƣơng thức điều khiển báo hiệu cuộc gọi là: hoàn thành báo hiệu cuộc gọi với các đầu cuối và xử lý báo hiệu cuộc gọi chính bản thân nó, hoặc Gatekeeper có thể ra lệnh cho các đầu cuối kết nối một kênh báo hiệu cuộc gọi hƣớng tới nhau. Theo phƣơng thức này thì Gatekeeper không phải giám sát báo hiệu trên kênh H.225. . Quản lý cuộc gọi: Một ví dụ cụ thể về chức năng này là Gatekeeper có thể lập một danh sách tất cả các cuộc gọi H.323 hƣớng đi đang thực hiện để chỉ thị rằng một đầu cuối bị gọi đang bận và cung cấp thông tin cho chức năng quản lý băng thông. 3.1.1.3.Khối điều khiển đa điểm Khối điều khiển đa điểm (MCU) đƣợc sử dụng khi một cuộc gọi hay hội nghị cần giữ nhiều kết nối hoạt động. Do có một số hữu hạn các kết nối đồng thời, nên các MCU giám sát sự thoả thuận giữa các đầu cuối và sự kiểm tra mọi đầu cuối về tính năng mà chúng có thể cung cấp cho hội nghị hoặc 39
  40. Bảo mật trong VoIP cuộc gọi. Các MCU gồm hai phần: Bộ điều khiển đa điểm (MC) và Bộ xử lý đa điểm (MP). Bộ điều khiển đa điểm có trách nhiệm trong việc thoả thuận và quyết định khả năng của các đầu cuối. Trong khi đó bộ xử lý đa điểm đƣợc sử dụng để xử lý multimedia, các luồng trong suốt quá trình của một hội nghị hoặc một cuộc gọi đa điểm. 3.1.2.Giao thức H.323 Hình 3.4. Giao thức báo hiệu H.323 Giao thức H.323đƣợc chia làm 3 phần chính: . Báo hiệu H.225 RAS (Registration, Admissions, and Status): báo hiệu giữa thiết bị đầu cuối với H.323 gatekeeper trƣớc khi thiết lập cuộc gọi. . Báo hiệu H.225 Q.931 sử dụng để kết nối, duy trì và hủy kết nối giữa hai đầu cuối. . Báo hiệu H.245 sử dụng để thiết lập phiên truyền media sử dụng giao thức RTP. 3.1.2.1. Báo hiệu RAS Báo hiệu RAS cung cấp điều khiển tiền cuộc gọi trong mạng H.323 có tồn tại gatekeeper và một vùng dịch vụ (do gatekeeper đó quản lý). Kênh RAS đƣợc thiết lập giữa các thiết bị đầu cuối và gatekeeper qua mạng IP. Kênh RAS đƣợc mở trƣớc khi các kênh khác đƣợc thiết lập và độc lập với các 40
  41. Bảo mật trong VoIP kênh điều khiển cuộc gọi và media khác. Báo hiệu này đƣợc truyền trên UDP cho phép đăng kí, chấp nhận, thay đổi băng thông, trạng thái và hủy. Báo hiệu RAS chia làm các loại sau:  Tìm kiếm Gatekeeper: việc này có thể đƣợc thực hiện thủ công hoặc tự động cho phép xác định gatekeeper mà thiết bị đầu cuối đăng kí; bao gồm: . Gatekeeper Request (GRQ): bản tin multicast gửi bởi thiết bị đầu cuối để tìm gatekeeper. . Gatekeeper Confirm (GCF): bản tin thông báo địa chỉ kênh RAS của gatekeeper cho thiết bị đầu cuối. . Gatekeeper Reject (GRJ): báo cho thiết bị đầu cuối biết rằng đã gatekeeper từ chối.  Đăng kí: cho phép gateway, thiết bị đầu cuối và MCU tham gia vào một vùng dịch vụ do gatekeeper quản lý và thống báo cho gatekeeper về địa chỉ và bí danh của nó; bao gồm: . Registration Request (RRQ): đƣợc gửi từ thiết bị đầu cuối tới địa chỉ kênh RAS của gatekeeper. . Registration Confirm (RCF): đƣợc gửi bởi gatekeeper để xác nhận cho phép việc đăng kí bởi bản tin RRQ. . Registration Reject (RRJ): không chấp nhận đăng kí của thiết bị . Unregister Request (URQ): đƣợc gửi bới thiết bị đầu cuối để hủy đăng kí với gatekeeper trƣớc đó và đƣợc trả lời bằng Unregister Confirm (UCF) và Unregister Reject (URJ) (tƣơng tự nhƣ trên).  Xác định vị trí thiết bị đầu cuối: Thiết bị đầu cuối và gatekeeper sử dụng bản tin này để lấy thêm thông tin khi chỉ có thông tin ví danh đƣợc chỉ ra. Bản tin này đƣợc gửi thông qua địa chỉ kênh RAS của gatekeeper hoặc multicast. Loại bản tin này bao gồm: . Location Request (LRQ): đƣợc gửi để yêu cầu thông tin về thiết bị đầu cuối, gatekeeper, hay địa chỉ E.164. 41
  42. Bảo mật trong VoIP . Location Confirm (LCF): đƣợc gửi bởi gatekeeper chức các kênh báo hiệu cuộc gọi hay địa chỉ kênh RAS của nó hay thiết bị đầu cuối đã yêu cầu. . Location Reject (LRJ): đƣợc gửi bởi gatekeeper thông báo LRQ trƣớc đó không hợp lệ.  Admissions: bản tin giữa các thiết bị đầu cuối và gatekeeper cung cấp cơ sở cho việc thiết lập cuộc gọi và điều khiển băng thông sau này. Bản tin này bao gồm cả các yêu cầu về băng thông(có thể đƣợc thay đổi bởi gatekeeper). Loại bản tin này gồm: . Admission Request (ARQ): Gửi bởi thiết bị đầu cuối để thiết lập cuộc gọi . Admission Confirm (ACF): Cho phép thiết lập cuộc gọi. Bản tin này có chứa địa chỉ IP của thiết bị đƣợc gọi hay gatekeeper và cho phép gateway nguồn thiết lập cuộc gọi. . Admission Reject (ARJ): không cho phép thiết bị đầu cuối thiết lập cuộc gọi.  Thông tin trạng thái: dùng để lấy thông tin trạng thái của một thiết bị đầu cuối. Ta có thể sử dụng bản tin này để theo dõi trạng thái online hay offline của thiết bị đầu cuối trong tình trạng mạng bị lỗi. Thông thƣờng bản tin này sẽ đƣợc gửi 10 giây một lần. Trong quá trình cuộc gọi, gatekeeper có thể yêu cầu thiết bị đầu cuối gửi theo chu kì các bản tin trạng thái. Loại bản tin này bao gồm: . Information Request (IRQ): gửi từ gatekeeper tới thiết bị đầu cuối yêu cầu thông tin trạng thái. . Information Request Response (IRR): đƣợc gửi từ thiết bị đầu cuối tới gatekeeper trả lời cho bản tin IRQ. Bản tin này cũng đƣợc gửi từ thiết bị đầu cuối tới gatekeeper theo chu kì. . Status Enquiry Sent : Thiết bị đầu cuối hay gatekeeper có thể gửi bản tin này tới thiết bị đầu cuối khác để xác thực về trạng thái cuộc gọi. 42
  43. Bảo mật trong VoIP  Điều khiển băng thông: Dùng để thay đổi băng thông cho cuộc gọi với các bản tin nhƣ sau: . Bandwidth Request (BRQ): gửi bởi thiết bị đầu cuối để yêu cầu tăng hoặc giảm băng thông cuộc gọi . Bandwidth Confirm (BCF): chấp nhận thay đổi yêu cầu bởi thiết bị đầu cuối. . Bandwidth Reject (BRJ): không chấp nhận thay đổi yêu cầu bởi thiết bị đầu cuối.  Hủy kết nối: Khi muốn kết thúc cuộc gọi thì trƣớc hết thiết bị đầu cuối dừng hết mọi kết nối và đóng hết các kênh logic lại. Sau đó, nó sẽ ngắt phiên H.245 và gửi tín hiệu RLC trên kênh báo hiệu cuộc gọi. Ở bƣớc này, nếu không có gatekeeper thì cuộc gọi sẽ đƣợc hủy còn nếu không thì các bản tin sau sẽ đƣợc gửi trên kênh RAS để kết thúc cuộc gọi: . Disengage Request (DRQ): Gửi bởi thiết bị đầu cuối hay gatekeeper để kết thúc cuộc gọi. . Disengage Confirm (DCF): Gửi bởi thiết bị đầu cuối hay gatekeeper để chấp nhận bản tin DRQ trƣớc đó. . Disengage Reject (DRJ): Đƣợc gửi bởi thiết bị đầu cuối hoặc gatekeeper thông báo không chấp nhận yêu cầu DRQ. 3.1.2.2. Giao thức điều khiển báo hiệu cuộc gọi H.225 Giao thức H.225 dùng để thiết lập liên kết giữa các điểm cuối H.323, thông qua liên kết dữ liệu thời gian thực sẽ đƣợc truyền đi. Quá trình báo hiệu cuộc gọi đƣợc bắt đầu bởi bản tin Setup đƣợc gửi đi trên kênh báo hiệu H.225, tiếp theo là một chuỗi các bản tin phục vụ cho quá trình thiết lập cuộc gọi. H.225 sử dụng các bản tin báo hiệu Q.931. Một kênh điều khiển báo hiệu đƣợc thiết lập dựa trên giao thức TCP/IP tại cổng 1720. Các bản tin Q.931 và Q.932 thƣờng đƣợc sử dụng trong báo hiệu cuộc gọi VoIP: 43
  44. Bảo mật trong VoIP . Setup: Đƣợc gửi từ thực thể H.323 chủ gọi để cố gắng thiết lập kết nối tới thực thể H.323 bị gọi qua cổng 1720 TCP. . Call Proceeding: thực thể bị gọi gửi bản tin này tới thực thể chủ gọi để chỉ thị rằng thủ tục thiết lập cuộc gọi đã đƣợc khởi tạo. . Alerting: Đƣợc gửi từ thực thể bị gọi tới thực thể chủ gọi để chỉ thị rằng chuông bên đích bắt đầu rung. . Connect: Đƣợc gửi từ thực thể bị gọi để thông báo rằng bên bị gọi đã trả lời cuộc gọi. Bản tin Connnect có thể mang địa chỉ truyền vận UDP/IP. . Release Complete: Đƣợc gửi bởi một đầu cuối khởi tạo ngắt kết nối, nó chỉ thị rằng cuộc gọi đang bị giải phóng. Bản tin này chỉ có thể đƣợc gửi đi nếu kênh báo hiệu cuộc gọi đƣợc mở hoặc đang hoạt động. . Facility: Đây là một bản tin Q.932 dùng để yêu cầu hoặc phúc đáp các dịch vụ bổ sung. Nó cũng đƣợc dùng để cảnh báo rằng một cuộc gọi sẽ đƣợc định tuyến trực tiếp hay thông qua GK. Các bản tin trong quá trình thiết lập cuộc gọi nhƣ sau: Hình 3.5. Q.931 trong thiết lập cuộc gọi 44
  45. Bảo mật trong VoIP 1. Thiết bị đầu cuối H.323 gửi bản tin Setup yêu cầu thiết lập cuộc gọi. Giả sử ở đây bản tin đƣợc gửi tới Gatekeeper (thiết lập cuộc gọi thông qua Gatekeeper). 2. Gatekeeper sẻ gửi trả lại bản tin Call Proceeding nhằm thông báo cho phía gọi rằng: Thiết bị này đang thực hiện thiết lập cuộc gọi. 3. Khi đầu cuối bị gọi rung chuông, Gatekeeper sẽ gửi bản tin Alerting về đầu cuối gọi thông báo về trạng thái này. 4. Khi ngƣời đƣợc gọi nhấc máy, bản tin Connect sẽ đƣợc gửi tới đầu cuối gọi thông báo cuộc gọi đã đƣợc thiết lập. 5. Cuộc gọi đƣợc thực hiện 3.1.2.3. Giao thức H.245 Chức năng H.245 là thiết lập các kênh logic để truyền audio, video, data và các thông tin kênh điều khiển. Giữa hai thiết bị đầu cuối đƣợc thiết lập một kênh H.245 cho một cuộc gọi. Kênh điều khiển này đƣợc tạo dựa trên TCP gán động port. Chức năng điều khiển của kênh H.245 là thƣơng lƣợng về một số thông số sau: . Bộ mã hóa tiếng nói sẽ đƣợc sử dụng ở hai phía. Lấy ví dụ, chuẩn mã hóa tiếng nói và tốc độ bit tƣơng ứng nhƣ sau: G.729 - 8 kbps, G.728 - 16 kbps, G.711 - 64 kbps, G.723 - 5.3 hay 6.3 kbps, G.722 - 48, 56, và 64 kbps . Thƣơng lƣợng về Chủ/tớ giữa hai thiết bị đầu cuối: xác lập vai trò của các thiết bị trong khi thực hiện cuộc gọi tránh hiện tƣợng xung đột. . Round-Trip Delay: xác định độ trễ giữa phía phát và phía thu. Dựa vào thông số này để xác định kết nối vẫn hoạt động. . Báo hiệu trên kênh logic để thực hiện việc mở và đóng các kênh logic. Các kênh này đƣợc thiết lập trƣớc khi thông tin đƣợc truyền đên đó. Báo hiệu này có thể thiết lập kênh đơn hƣớng hoặc song hƣớng. Sau khi kênh logic đã đƣợc thiết lập, cổng UDP cho kênh media RTP đƣợc truyền từ phía nhận tới phía phát. Khi sử dụng một hình định tuyến qua 45
  46. Bảo mật trong VoIP Gatekeeper thì Gatekeeper sẽ chuyển hƣớng luồng RTP bằng cách cung cấp địa chỉ UDP/IP thực của thiết bị đầu cuối. Luồng RTP sẽ truyền trực tiếp giữa hai thiết bị đầu cuối với nhau. Mỗi kênh media sử dụng RTP để truyền thời gian thực sẽ có một kênh phản hồi về chất lƣợng dịch vụ QoS theo chiều ngƣợc lại giúp phía phát kiểm soát đƣợc luồng media truyền đi và có những điều chỉnh phù hợp. Hình 3.6. Cấu trúc luồng media giữa các đầu cuối 3.1.3. Thiết lập cuộc gọi VoIP sử dụng giao thức H.323 3.1.3.1. Báo hiệu trực tiếp giữa các thiết bị đầu cuối Trong mô hình này, có chú ý là các thiết bị đầu cuối (Endpoint) chỉ xin phép Gatekeeper thực hiện cuộc gọi thông qua báo hiệu RAS còn các bƣớc báo hiệu giữa các thiết bị này đƣợc thực hiện trực tiếp không thông qua Gatekeeper. 46
  47. Bảo mật trong VoIP Hình 3.7. Thiết lập báo hiệu H.323 trực tiếp giữa các đầu cuối . Bước 1: Endpoint O đăng kí với Gatekeeper yêu cầu cho phép thực hiện một cuộc gọi tới Endpoint T. Các bƣớc thực hiện xác thực thuê bao gọi sẽ đƣợc thực hiện ở bƣớc này. Gatekeeper trả lời cho phép Endpoint O thực hiện cuộc gọi và địa chỉ của chính xác của Endpoint T. Trong trƣờng hợp này, hai Endpoint thực hiện cuộc gọi trực tiếp với nhau. . Bước 2: Endpoint O và Endpoint T thiết lập một kết nối TCP cho báo hiệu H.225 để truyền các bản tin Q.931 cho phép thiết lập cuộc gọi. Endpoint O gửi bản tin Setup tới Endpoint T yêu cầu thiết lập cuộc gọi. Endpoint T trả lời bằng bản tin Call Proceeding thông báo cuộc gọi đang đƣợc thực hiện. . Bước 3: Endpoint T xin phép Gatekeeper cho phép thực hiện cuộc gọi với Endpoint O. Gatekeeper trả lời đồng ý cho Endpoint T chấp nhận cuộc gọi. Endpoint T thực hiện rung chuông và báo cho Endpoint O biết là đang rung chuông ngƣời bị gọi. 47
  48. Bảo mật trong VoIP . Bước 4: Ngƣời bị gọi nhấc ống nghe. Endpoint T gửi bản tin Conect tới Endpoint O thông báo kênh cuộc gọi đã đƣợc thiết lập. Lúc này, giữa hai Endpoint mở một kết nối TCP nữa cho kênh báo hiệu H.245 để thƣơng lƣợng, thiết lập và duy trì kênh media. . Bước 5: Khi đã thƣơng lƣợng xong (các thông số đƣợc mô tả trong phần báo hiệu H.245), mỗi Endpoint yêu cầu mở một kết nối audio để truyền thoại. Nhƣ vậy sẽ tồn tại hai kênh cho phép thực hiện cuộc gọi hai chiều giữa hai thuê bao. Quá trình thoại đƣợc thực hiện hiện dựa trên giao thức RTP với sự kiểm soát của RTCP. 3.1.3.2. Báo hiệu đƣợc định tuyến thông qua Gatekeeper Trong hình thức báo hiệu này thì mọi bản tin báo hiệu để đƣợc gửi qua Gatekeeper. Gatekeeper sẽ xử lý và chuyển tiếp bảo tin tới phía bị gọi. Khi đó, phía gọi không nhất thiết phải biết chính xác địa chỉ của phía bị gọi nhƣng quá trình này sẽ bị trễ nhiều hơn. Các bản tin báo hiệu trong mô hình này gần nhƣ giống với trƣờng hợp báo hiệu trực tiếp giữa hai thiết bị đầu cuối nhƣng có một số chú ý nhƣ sau:  Gatekeeper ở đây sẽ gồm có hai giao diện: giao diện với Endpoint O và Endpoint T. Việc phân biệt nhƣ vậy sử giúp chúng ta rõ rằng hơn trong việc gửi nhận các bản tin vì hai giao diện này hoạt động có sự độc lập nhất định với nhau. Kênh báo hiệu H.225 đƣợc thiết lập giữa các Endpoint và Gatekeeper 48
  49. Bảo mật trong VoIP Khi nhận đƣợc bản tin Setup từ Endpoint O gửi tới, Gatekeeper sẽ gửi bản tin này tới Endpoint T và gửi ngay bản tin Call Proceeding về cho Endpoint O báo rằng cuộc gọi đang trong quá trình thiết lập.  Sau khi nhận đƣợc bản tin Connect từ Endpoint T, Endpoint O và Endpoint T sẽ thực hiện báo hiệu trực tiếp với nhau để mở kênh truyền media. Hình 3.8. Thiết lập báo hiệu H.323 định tuyến qua Gatekeeper 3.1.3.3. Thiết lập cuộc gọi giữa hai thiết bị đầu cuối ở hai vùng dịch vụ Trong mô hình này là việc thực hiện cuộc gọi giữa hai thiết bị đầu cuối ở hai vùng dịch vụ khác nhau cho nhau. Đây là mô hình báo hiệu dựa trên việc định tuyến của các Gatekeeper. Sau khi nhận đƣợc yêu cầu của Endpoint O muốn thiết lập cuộc gọi với Endpoint T, Gatekeeper 1 gửi tới Endpoint T yêu cầu thiết lập cuộc gọi. Vì Endpoint T nằm trong vùng dịch vụ do Gatekeeper 2 quản lý nên nó phải xin sự cho phép để có thể thực hiện cuộc gọi (giống nhƣ các trƣờng hợp trƣớc). Ở trong trƣờng hợp này, Gatekeeper 2 cũng gửi trả lời bản tin ARQ của Endpoint T bằng bản tin ACF cho phép thiết lập cuộc gọi nhƣng phải thông 49
  50. Bảo mật trong VoIP qua nó (không cho thực hiện cuộc gọi trực tiếp tới Endpoint T). Do vậy, Endpoint T gửi bản tin Facility tới Gatekeeper 1 thông báo là cuộc gọi đƣợc chấp nhận nhƣng phải đƣợc định tuyến lại thông qua Gatekeeper 2. Chính vì vậy, kênh báo hiệu H.245 cũ đƣợc hủy và thay bằng các kênh báo hiệu biểu diễn nhƣ trong hình vẽ. Hình 3.9. Thiết lập kết nối giữa hai vùng dịch vụ 3.2. GIAO THỨC SIP [1],[4] SIP (Session Initiation Protocol) là giao thức báo hiệu điều khiển lớp ứng dụng đƣợc dùng để thiết lập, duy trì, kết thúc các phiên truyền thông đa phƣơng tiện (multimedia). Các phiên multimedia bao gồm thoại Internet, hội nghị, và các ứng dụng tƣơng tự có liên quan đến các phƣơng tiện truyền đạt (media) nhƣ âm thanh, hình ảnh, và dữ liệu. SIP sử dụng các bản tin mời (invite) để thiết lập các phiên và để mang các thông tin mô tả phiên truyền 50
  51. Bảo mật trong VoIP dẫn. SIP hỗ trợ các phiên đơn quảng bá (unicast) và đa quảng bá (multicast) tƣơng ứng các cuộc gọi điểm tới điểm và cuộc gọi đa điểm. Có thể sử dụng năm chức năng của SIP để thiết lập và kết thúc truyền dẫn là định vị thuê bao, khả năng thuê bao, độ sẵn sàng của thuê bao, thiết lập cuộc gọi và xử lý cuộc gọi. SIP đƣợc IETF đƣa ra trong RFC 2543. Nó là một giao thức dựa trên ý tƣởng và cấu trúc của HTTP (HyperText Transfer Protocol) giao thức trao đổi thông tin của World Wide Web và là một phần trong kiến trúc multimedia của IETF. Các giao thức có liên quan đến SIP bao gồm giao thức đặt trƣớc tài nguyên RSVP (Resource Reservation Protocol), giao thức truyền vận thời gian thực RTP (Realtime Transport Protocol), giao thức cảnh báo phiên SAP (Session Announcement Protocol), giao thức miêu tả phiên SDP (Session Description Protocol). Các chức năng của SIP độc lập, nên chúng không phụ thuộc vào bất kỳ giao thức nào thuộc các giao thức trên. Mặt khác, SIP có thể hoạt động kết hợp với các giao thức báo hiệu khác nhƣ H.323. SIP là một giao thức theo thiết kế mở do đó nó có thể đƣợc mở rộng để phát triển thêm các chức năng mới. Sự linh hoạt của các bản tin SIP cũng cho phép đáp ứng các dịch vụ thoại tiên tiến bao gồm cả các dịch vụ di động. 3.2.1.Các thành phần trong mạng SIP 3.2.1.1. Giới thiệu chung về các thành phần trong mạng SIP SIP Client: là thiết bị hỗ trợ giao thức SIP nhƣ SIP phone, chƣơng trình chat, Đây chính là giao diện và dịch vụ của mạng SIP cho ngƣời dùng. SIP Server: là thiết bị trong mạng xử lý các bản tin SIP với các chức năng cụ thể nhƣ sau: 1) Proxy Server: là thực thể trong mạng SIP làm nhiệm vụ chuyển tiếp các SIP request tới thực thể khác trong mạng. Nhƣ vậy, chức năng chính của nó trong mạng là định tuyến cho các bản tin đến đích. Proxy server cũng cung cấp các chức năng xác thực trƣớc khi cho khai thác dịch vụ. Một proxy có thể lƣu (stateful) hoặc 51
  52. Bảo mật trong VoIP không lƣu trạng thái (stateless) của bản tin trƣớc đó. Thông thƣờng, proxy có lƣu trạng thái, chúng duy trì trạng thái trong suốt thời gian thực hiện (khoảng 32 giây). 2) Redirect Server: chấp nhận một SIP request và gửi một redirect response trở lại client chứa địa chỉ của server kế tiếp. Redirect server có thể không chấp nhận cuộc gọi, không xử lý các cuộc gọi hay chuyển hƣớng các SIP request. 3) Registrar server: là server nhận bản tin SIP REGISTER yêu cầu và cập nhật thông tin từ bản tin request vào “location database” nằm trong Location Server. 4) Location Server: lƣu thông tin trạng thái hiện tại của ngƣời dùng trong mạng SIP. 3.2.1.2. Mối liên hệ giữa các thành phần trong mạng SIP Trong ví dụ hình 3.10, cho thấy cái nhìn khái quát về chức năng của Proxy Server, Redirect Server, SIP Phone trong mạng. Giả sử thuê bao có tên user1 trong miền dịch vụ here.com muốn thực hiện một cuộc gọi thoại tới thuê bao có thể là user2 (thuộc there.com). Hình 3.10. Chức năng của Proxy, Redirect Server trong mạng SIP 52
  53. Bảo mật trong VoIP 1. Khi User 1 muốn gọi tới User 2, trƣớc hết nó sẽ gửi bản tin đề nghị INVITE 1 đến Proxy Server 1. Proxy Server 1 chuyển tiếp bản tin tới Redirect Server. 2. Redirect Server này xử lý và trả về mã 3xx thông báo cho Proxy Server tự thực hiện kết nối. 3. Proxy Server 1 gửi bản tin INVITE 2 tới đích trả về bởi Redirect Server ( chính là Stateless Proxy Server 1). Vì đây là Stateful Proxy nên thực chất bản tin INVITE đƣợc gửi bởi Stateful Proxy là khác so với bản tin nhận đƣợc từ User1(ban đầu). 4. Stateless Proxy Server chuyển tiếp bản tin INVITE tới SIP Statefull Proxy 2. Do là Stateless Proxy nên công việc của nó đơn giản là chuyển tiếp bản tin. 5. SIP Statefull Proxy 2 chuyển tiếp bản tin INVITE tới user2. 6. Khi user2 nhấc máy thì nó sẽ gửi bản tin 200 OK theo chiều ngƣợc lại. 7. Sau khi nhận đƣợc bản tin 200 OK, user1 sẽ gửi xác nhận ACK tới user2. 8. Luồng RTP trực tiếp giữa hai thuê bao đƣợc thiết lập. Và cuộc gọi đƣợc thực hiện. Khi một SIP Phone đƣợc kết nối với mạng. Nó liên tục gửi bản tin REGISTER tới Registrar Server để thông báo vị trí hiện tại của nó. Giả sử trong miền dịch vụ có tên chicago.com thì quá trình REGISTER (đăng kí) đƣợc tiến hành nhƣ sau: 1. Thuê bao có tên Carol gửi bản tin REGISTER tới Registrar Server. Server này tiến hành xác thực. Nếu hợp lệ thì các thông tin đó đƣợc lƣu trong Location Server. 2. Khi một thuê bao khác (có tên là Bob) gửi bản tin INVITE tới Proxy Server để xin kết nối tới thuê bao Carol. Proxy Server sẽ truy vấn các thông tin về thuê bao bị gọi thông qua Location Server. 3. Proxy Server gửi bản tin INVITE tới thuê bao Carol để thiết lập cuộc gọi. 53
  54. Bảo mật trong VoIP 3.2.2. Bản tin SIP 3.2.2.1. Các loại bản tin SIP  Bản tin yêu cầu (Request): đƣợc gửi từ client tới server. RFC 3261 định nghĩa 6 kiểu bản tin request cho phép UA và proxy có thẻ xác định ngƣời dùng, khởi tạo, sửa đổi, hủy một phiên. Bản tin INVITE: yêu cầu thiết lập một phiên hoặc để thay đổi các đặc tính của phiên trƣớc đó.Trong bản tin này có sử dụng SDP để định nghĩa về các thông số media của phiên. Một response thành công có giá trị 200 đƣợc trả lại các thông số mà ngƣời đƣợc gọi chấp nhận trong phiên media. Bản tin ACK xác nhận rằng client đã nhận đƣợc response cuối cùng của bản tin INVITE. ACK chỉ đƣợc sử dụng kèm với bản tin INVITE. ACK đƣợc gửi từ đầu cuối đến đầu cuối cho response 200 OK. ACK cũng có thể chứa phần thân bản tin với mô tả phiên cuối cùng nếu bản tin INVITE không chứa. Bản tin OPTIONS: UA sử dụng request này để truy vấn tới server về khả năng của nó. Bản tin BYE: UA sử dụng bản tin này để yêu cầu hủy một phiên đã đƣợc thiết lập trƣớc đó. Bản tin CANCEL: cho phép client và server hủy một request, ví dụ nhƣ INVITE. Nó không ảnh hƣởng tới request đã hoàn thành trƣớc đó mà server đã gửi response. Bản tin REGISTER: Một client sử sụng REGISTER để yêu cầu đang kí vị trí của nó tới AOR (address of record) của ngƣời dùng với SIP server.  Bản tin đáp ứng (Response): server gửi bản tin SIP đáp ứng (SIP response) tới client để báo về trạng thái của SIP request mà client gửi trƣớc đó. Các SIP response đƣợc đánh số từ 100 đến 699, đƣợc chia thành các lớp nghĩa khác nhau. 54
  55. Bảo mật trong VoIP Các lớp Response Mã trả về Mô tả Thông tin 100 Đang thực hiện kết nối 180 Đang đổ chuông 181 Cuộc gọi đang đƣợc chuyển tiếp 182 Đƣợc đặt vào hàng đợi 183 Phiên đang đƣợc xử lý Thành công 200 Thành công Chuyển hƣớng 300 Nhiểu lựa chọn 301 Chuyển vĩnh viễn 302 Chuyển tạm thời 305 Sử dụng proxy 380 Dịch vụ khác Lỗi Client 400 Yêu cầu không hợp lệ 401 Không nhận dạng đƣợc 402 Yêu cầu thành toán 403 Bị cấm 404 Không tìm thấy 405 Phƣớng thức không đƣợc phép 406 Không chấp nhận 407 Yêu cầu xác thực Proxy 408 Request timeout 410 Đã dời đi 413 Yêu cầu quá dài 414 URL đƣợc yêu cầu quá lớn 415 Không hỗ trợ kiểu media 416 Không hỗ trợ URI 420 Phần mở rộng lỗi 421 Yêu cầu phần mở rộng 423 Khoảng thời gian giữa hai sự kiện quá ngắn 55
  56. Bảo mật trong VoIP Các lớp Response Mã trả về Mô tả 480 Tạm thời chƣa sẵn sàng 481 Transaction không tồn tại 482 Phát hiện thấy “loop” (chu trình) 483 Quá nhiều “hop” 484 Địa chỉ không đủ 485 Mật mở không rõ ràng 486 Đang bận 487 Yêu cầu bị hủy 488 Không thể chấp nhận tại đây 491 Yêu cầu chƣa đƣợc giải quyết 493 Không giải mã đƣợc Lỗi Server 500 Lỗi nội tại trong server 501 Chƣa đƣợc thực hiện đầu đủ 502 Gateway lỗi 503 Dịch vị không tồn tại 504 Server timeout 505 Phiên bản SIP không đƣợc hỗ trợ 513 Bản tin quá lớn Lỗi toàn cục 600 Bận ở khắp mọi nơi 603 Suy sụp 604 Không tồn tại 606 Không thể chấp nhận 3.2.3. Mô tả cuộc gọi SIP 3.2.3.1. Cuộc gọi đƣợc định tuyến qua Proxy Server 56
  57. Bảo mật trong VoIP Hình 3.12. Thiết lập cuộc gọi SIP với Proxy Server 1. Proxy server nhận đƣợc bản tin INVITE từ client. 2. Proxy server liên lạc với Location server để xác định địa chỉ của ngƣời bị gọi. 3. Location server xác định vị trí của ngƣời đƣợc gọi và cung cấp địa chỉ server đích. 4. Bản tin INVITE đƣợc chuyển tiếp tới địa chỉ mà Location server trả về. Proxy server sẽ thêm tiêu đề Record-Route vào bản tin INVITE để chắc rằng tất cả các bản tin tuần tự sau đó đƣợc định tuyến qua proxy. Điều này cần thiết cho quá trình tính cƣớc hoặc các ứng dụng khác cần thiết để kiểm soát các bản tin cho dialog này. 5. Phía đƣợc gọi rung chuông. Ngƣời đƣợc gọi nhấc máy. 6. Phía đƣợc gọi gửi bản tin 200 OK thông báo cuộc gọi bắt đầu. 7. Bản tin 200 OK đƣợc chuyển tiếp qua proxy server tới phía gọi. 8. Phía gọi trả lời bản tin 200 OK nhận đƣợc bằng bản tin ACK tới proxy-server ( khi proxy chèn tiêu đề Record-Route vào trong bản tin INVITE) hoặc gửi trực tiếp tới phía ngƣời đƣợc gọi. 9. Proxy chuyển tiếp ACK tới ngƣời đƣợc gọi. 10. Cuộc gọi thoại đƣợc thiết lập. 57
  58. Bảo mật trong VoIP 3.2.3.2. Báo hiệu trực tiếp giữa các thiết bị đầu cuối Hình 3.13. Thiết lập cuộc gọi với Redirect Server 1. Redirect server nhận đƣợc bản tin INVITE từ phía UA gọi. 2. Redirect server liên lạc với Location server để lấy thông tin địa chỉ của UA đƣợc gọi. 3. Location server trả lại địa chỉ của UA đƣợc gọi. 4. Redirect server trả địa chỉ trực tiếp về UA gọi với bản tin 3xx với trƣờng Contact đã đƣợc cập nhật. Không giống nhƣ Proxy server, Redirect server không chuyển tiếp bản tin INVITE. 5. UA gọi gửi bản tin ACK tới Redirect server để xác nhận về bản tin 3xx. 6. UAC gọi gửi trực tiếp bản tin INVITE vởi trƣờng Contact: là địa chỉ trả về bởi Redirect server tới UA đƣợc gọi. 7. UA đƣợc gọi rung chuông và ngƣời dùng nhấc máy. UA đƣợc gọi gửi bản tin 200 OK tới UA gọi. 8. UAC gọi gửi bản tin ACK xác nhận. 58
  59. Bảo mật trong VoIP 3.3. SO SÁNH GIỮA GIAO THỨC H.323 VÀ SIP Giữa H.323 và SIP có nhiều điểm tƣơng đồng. Cả hai đều cho phép điều khiển, thiết lập và huỷ cuộc gọi. Cả H.323 và SIP đều hỗ trợ tất cả các dịch vụ cần thiết, tuy nhiên có một số điểm khác biệt giữa hai chuẩn này.  H.323 hỗ trợ hội nghị đa phƣơng tiện rất phức tạp. Hội nghị H.323 về nguyên tắc có thể cho phép các thành viên sử dụng những dịch vụ nhƣ bảng thông báo, trao đổi dữ liệu, hoặc hội nghị video.  SIP hỗ trợ SIP-CGI (SIP-Common Gateway Interface) và CPL (Call Processing Language).  SIP hỗ trợ điều khiển cuộc gọi từ một đầu cuối thứ 3. Hiện nay H.323 đang đƣợc nâng cấp để hỗ trợ chức năng này. SIP H.323 Nguồn gốc IETF ITU-T Quan hệ Ngang cấp Ngang cấp mạng Khởi điểm Kế thừa cấu trúc HTTP. Kế thừa Q.931, Q.SIG Đầu cuối SIP H.323 Proxy Server Redirect Server Server H.323 Gatekeeper Location Server Registrar Servers. Khuôn dạng Text, UTF-8 Nhị phân Trễ thiết lập 1.5 RTT 6-7 RTT hoặc hơn cuộc gọi Phiên bản 1 và 2: máy chủ phải Có 2 lựa chọn: giám sát trong suốt thời gian Giám sát Trong thời gian thiết cuộc gọi và phải giữ trạng thái trạng thái lập cuộc gọi kết nối TCP. Điều này hạn chế cuộc gọi Suốt thời gian cuộc khả năng mở rộng và giảm độ gọi tin cậy 59
  60. Bảo mật trong VoIP Báo hiệu Có hỗ trợ Không quảng bá Sử dụng các giao thức Gatekeeper điều khiển băng Chất lƣợng khác nhƣ RSVP, OPS, thông. H.323 khuyến nghị dùng dịch vụ OSP để đảm bảo chất RSVP để lƣu dữ tài nguyên lƣợng dịch vụ mạng. Đăng ký tại Registrar Chỉ đăng ký khi trong mạng có Bảo mật server, có xác nhận đầu Gatekeeper, xác nhận và mã cuối và mã hoá hóa theo chuẩn H.235. Định vị đầu cuối sử dụng E.164 Định vị đầu Dùng SIP URL để đánh hoặc tên ảo H.323 và phƣơng cuối và định địa chỉ. Định tuyến nhờ pháp ánh xạ địa chỉ nếu trong tuyến cuộc sử dụng Redirect và mạng có Gatekeeper. Chức gọi Location server năng định tuyến do Gatekeeper đảm nhiệm. Đƣợc thiết kế nhằm hỗ trợ rất nhiều tính năng hội nghị, kể cả Tính năng Hỗ trợ các tính năng của thoại, hình ảnh và dữ liệu, quản thoại cuộc gọi cơ bản lý tập trung nên có thể gây tắc nghẽn ở Gatekeeper Tạo tính năng Dễ dàng, sử dụng SIP- và dịch vụ H.450.1 CGI và CPL mới Khả năng Dễ dàng Hạn chế mở rộng 60
  61. Bảo mật trong VoIP Chƣơng 4 CÁC PHƢƠNG THỨC TẤN CÔNG VÀ BẢO MẬT TRONG VOIP Việc thoại và dữ liệu hội tụ trên cùng một dây với bất kỳ giao thức nào đƣợc sử dụng là một vấn đề đối với các kỹ sƣ bảo mật và các nhà quản trị. Hệ quả của vấn đề hội tụ này là các mạng chính có thể bị tấn công, kiến trúc viễn thông thông tin của các tổ chức sẽ có thể gặp phải rủi ro nguy hiểm. Bảng 4.1. Mô tả các cấp độ mà cấu trúc VoIP có thể bị tấn công: Điểm yếu Đặc tả Cấu trúc IP Điểm yếu này liên quan đến các hệ thống sử dụng mạng chuyển mạch gói, nó làm ảnh hƣởng đến cấu trúc hoạt động VoIP. Hệ điều hành Các thiết bị VoIP kế thừa điểm yếu của hệ điều hành và các firmware mà chúng chạy trên đó (windows và linux). Cấu hình Cấu hình mặc định của các thiết bị VoIP luôn có những dịch vụ dƣ thừa. Và các port của các dịch vụ thừa này trở thành điểm yếu cho các tấn công DoS, tràn bộ đệm hoặc tránh sự xác thực Mức ứng Các công nghệ mới còn non yếu có thể bị tấn dụng công bẻ gãy hoặc mất điều khiển đối với các dịch vụ. 4.1. CÁC PHƢƠNG THỨC TẤN CÔNG [3] 4.1.1. Tấn công từ chối dịch vụ (DoS) hoặc phá vỡ dịch vụ VoIP Dịch vụ internet là một chƣơng trình chạy trên một host máy tính chờ đợi một kết nối từ khách hàng. Tấn công DoS (Denial of Service) ngăn chặn 61
  62. Bảo mật trong VoIP không cho tiếp cận dịch vụ. Đây là loại tấn công trực tiếp và chủ động. Ngƣời tấn công không có ý định ăn cắp một cái gì cả. Anh ta chỉ muốn đơn giản là đặt dịch vụ ra khỏi khách hàng. Nhƣng không phải lúc nào dịch vụ không đƣợc tiếp cận là nguyên nhân của tấn công DoS. Nó có thể là nguyên nhân của cấu hình sai cũng nhƣ là nguyên nhân của việc sử dụng sai. Phụ thuộc vào các tính chất của các hành động trên mang lại mà các dịch vụ này có thể gặp phần nào một số hậu quả khó khăn, ví dụ nhƣ một shop trực tuyến. Một tấn công DoS có thể là một trong ba loại sau đây: + Đe doạ vật lý hoặc hay thay đổi các thành phần mạng + Đe doạ hay thay đổi cấu hình thông tin. + Giới hạn hay không thể khôi phục nguồn tài nguyên. Các sửa đổi một phần kiến trúc phần cứng của hệ thống đƣợc xem nhƣ là truy cập đến vùng của nó. Một ngƣời tấn công chỉ có thể cố gắng phá hủy các phần cứng vật lý thông qua làm đổi hƣớng phần mềm. Một tấn công DoS trên internet có thể chỉ là loại thứ hai hay thứ ba. Sự thay đổi cấu hình thông tin cần phải truy cập đến host máy tính. Điều này ám chỉ rằng ngƣời tấn công đƣợc tiếp cận, quản lí hệ thống khi xâm phạm hệ thống. Cách thức tấn công dễ nhất của DoS là giới hạn nguồn tài nguyên, chẳng hạn nhƣ băng thông dành cho dịch vụ internet. Biến thể của tấn công DoS đƣợc gọi là tấn công từ chối phân bổ của dịch vụ DoS (DDoS). Tấn công DoS có thể ảnh hƣởng đến tất cả các dịch vụ trong mạng IP. Hậu quả của tấn công DoS có thể làm giảm chất lƣợng dịch vụ hoặc nặng hơn có thể làm mất dịch vụ. Ta có các loại tấn công nhƣ sau: . DDoS (Distributed denial-of-service): đây là kiểu tấn công mà các gói tin làm tràn ngập mạng đích từ nhiều nguồn khác nhau bên ngoài, đƣợc mô tả trong hình 4.2 và 4.3. 62
  63. Bảo mật trong VoIP Hình 4.2. Mô hình truy cập internet tiêu biểu Các luồng traffic trao đổi bình thƣờng giữa các host và server bên trong và ngoài mạng. Hình 4.3 cho thấy sự tấn công luồng traffic IP trực tiếp từ interface của firewall. Hình 4.3. Tấn công DoS phân tán. Ví dụ trong năm 2004, các trang web của Yahoo, Google và Microsoft đã biến mất trên internet trong vài giờ khi các server của họ bị làm tràn với hàng trăm ngàn yêu cầu từ các trang web khác. Điều này làm suy giảm băng thông và các server CPU không thể xử lý nổi. . DoS (Denial of Service): điều kiện tấn công DoS xảy ra khi thiết bị ở trong mạng nội bộ là cái đích của việc làm tràn ngập các gói, dẫn đến 63
  64. Bảo mật trong VoIP mất liên lạc giữa các phần trong cấu trúc mạng liên quan đến thiết bị đó. Cũng giống nhƣ DDoS ở trên, các dịch vụ cũng bị bẻ gãy và làm giảm băng thông và tài nguyên CPU. Ví dụ: một vài điện thoại IP sẽ ngừng hoạt động nếu chúng nhận các gói tin UDP lớn hơn 65534 bytes ở port 5060. Hình 4.4. Tấn công DoS trong mạng nội bộ Việc kiểm tra tính toàn vẹn và kể cả việc mã hóa cũng không thể ngăn chặn những tấn công này. Đặc tính của tấn công DoS và DDoS rất đơn giản bằng cách gửi một lƣợng lớn các gói tin đến máy nạn nhân. Mặc dù các gói tin này có đƣợc đăng ký với server hay không, địa chỉ IP nguồn là thật hay giả, hoặc đƣợc mã hóa với một key không có thật đi nữa thì việc tấn công vẫn có thể xảy ra. Tấn công DoS thật khó để chống lại bởi vì VoIP cũng chỉ là một trong những dịch vụ trên mạng IP, nó cũng dễ bị tấn công nhƣ các dịch vụ trên mạng IP khác. Hơn nữa tấn công DoS có ảnh hƣởng đặc biệt tới các dịch vụ nhƣ VoIP và các dịch vụ thời gian thực khác, bởi vì các dịch vụ này rất “nhạy cảm” với trạng thái mạng. Virus và worm nằm trong danh sách gây nên tấn công DoS hay DDoS dựa trên việc tăng lƣu lƣợng mạng mà chúng tạo ra bằng cách tái tạo và nhân bản. 64
  65. Bảo mật trong VoIP 4.1.2. Một số cách tấn công chặn và cƣớp cuộc gọi 4.1.2.1. Tấn công replay Tấn công replay là tấn công chủ động hƣớng về nghi thức. Đặc trƣng của ngƣời tấn công này giành đƣợc gói dữ liệu gửi hoặc nhận đến host. Anh ta sửa đổi chúng và sử dụng lại để truy cập vào một số dịch vụ nào đó. Một ví dụ tƣơng ứng với loại thoại IP là ngƣời tấn công đạt đƣợc trong tay các gói dữ liệu gửi từ một user có quyền để thiết lập cuộc gọi và gửi lại chúng sau khi đã sửa đổi địa chỉ IP nguồn. Nó có thể bị ngăn chặn bằng cách thực thi hai dịch vụ bảo mật nhận thực thể ngang hàng (peer entity authencation) và tính toàn vẹn dữ liệu (data intergrity). 4.1.2.2. Tấn công tràn bộ đệm Đây là phƣơng thức tấn công phổ biến, là kết quả chính của việc phát triển phần mềm không đúng lúc. Kỹ thuật này lợi dụng trên thực tế là có một vài lệnh không kiểm tra đầu vào dữ liệu. Chúng đƣợc ứng dụng đặc biệt để xâu chuỗi xử lý các lệnh. Quá trình xâm nhập với nhiều đầu vào, các lệnh hay là các chƣơng trình có khả năng làm cho bộ nhớ hệ thống bị viết đè lên. Nội dung của bộ nhớ này có thể bắt đầu hoặc quay trở lại địa chỉ của các chƣơng trình con. Trƣờng hợp xấu nhất ngƣời tấn công có thể thêm vào đoạn code hiểm để cung cấp cho anh ta các quyền quản lí của hệ thống. Biện pháp đối phó là huỷ tất cả các code “yếu”, chính các lỗ hỗng nhận thức đƣợc chứa trong các hệ thống hoạt động và các chƣơng trình ngôn ngữ. 4.1.2.3. Tấn công man in the middle Trong tấn công man in the middle ngƣời tấn công quản lý để cắt đứt kết nối giữa hai bên gọi. Cả hai bên tham gia kết nối này đều nghĩ rằng chúng truyền thông với nhau. Thực tế, tất cả các dữ liệu đã đƣợc định tuyến qua ngƣời tấn công. Ngƣời tấn công đã hoàn thành việc truy cập để thay thế các dữ liệu bên trong. Ngƣời tấn công có thể đọc chúng, thay đổi chúng hoặc và gửi chúng nhƣ là dữ liệu của anh ta. Một ví dụ cho tấn công này là thiết lập của việc bảo đảm kết nối đƣợc sử dụng bởi bảo mật lớp dữ liệu. Ở đây hai bên 65
  66. Bảo mật trong VoIP truyền thông có thể trao đổi hai khóa. Khóa này đƣợc đổi có khả năng làm cho ngƣời tấn công có thể ở giữa hai bên truyền thông. 4.1.2.4. Chặn và đánh cắp cuộc gọi Nghe trộm và chặn cuộc gọi là vấn đề liên quan đến mạng VoIP, định nghĩa nghe lén có nghĩa là một ngƣời tấn công có thể giám sát toàn bộ báo hiệu hoặc dòng dữ liệu giữa hai hoặc nhiều đầu cuối VoIP, nhƣng không thể biến đổi dữ liệu. Đánh cắp cuộc gọi thành công tƣơng tự nhƣ việc nghe trộm trên dây nối, cuộc gọi của hai bên có thể bị đánh cắp, ghi lại, và nghe lại mà hai bên không hề biết. Rõ ràng ngƣời tấn công mà có thể đánh chặn và chứa dữ liệu này có thể sử dụng dữ liệu này phục vụ cho mục đích khác của anh ta. 4.1.2.5. Đầu độc DNS Một hồ sơ DNS (Domain Name System) A đƣợc sử dụng cho việc chứa các domain hay hostname ánh xạ thành địa chỉ IP. SIP tạo ra việc sử dụng rộng rãi hồ sơ SRV để xác định các dịch vụ SIP nhƣ là SIP uỷ quyền và đăng nhập. Các hồ sơ SRV thƣờng bắt đầu với gạch dƣới (_sip.tcpserver.udp.domain.com) và chứa thông tin về miêu tả dịch vụ, vận chuyển, host, và thông tin khác. Các hồ sơ SRV cho phép ngƣời quản lý sử dụng một vài user cho một domain, để di chuyển dịch vụ từ host đến host, và để bổ nhiệm một vài host nhƣ là các server chính cho các dịch vụ. Một ngƣời có mục đích tấn công, sẽ cố gắng đầu độc DNS hay tấn công giả mạo, sẽ thay thế giá trị lƣu trữ hồ sơ DNS A, SRV với các bản tin mà trỏ đến các server của ngƣời tấn công. Điều này có thể đƣợc hoàn thành bằng cách bắt đầu dời vùng từ DNS server của ngƣời tấn công đến DNS server nạn nhân, bằng cách yêu cầu server DNS nạn nhân phân tích thiết bị mạng trong domain của ngƣời tấn công. Server DNS nạn nhân không những chấp nhận yêu cầu hồ sơ mà còn chấp nhận và chứa các hồ sơ mà server tấn công có. Ví dụ nhƣ việc thêm vào hồ sơ A cho www.Attacker.com, server DNS nạn nhân có thể nhận đƣợc hồ sơ giả là www.yourbank.com. Nạn nhận hƣớng đến yourbank.com sẽ bị chuyển hƣớng lại đến attacker.com trang web mà hồ sơ giả đƣợc lƣu trữ. SIP URL thay thế cho địa chỉ website, và vấn đề tƣơng tự cũng gặp phải trong môi trƣờng VoIP. 66
  67. Bảo mật trong VoIP Các loại đe doạ này dựa vào sự vắng mặt của bảo đảm nhận thực của ngƣời tạo ra yêu cầu. Các tấn công trong loại này cố gắng tìm kiếm để phá hoại tính toàn vẹn của dữ liệu đàm thoại. Các thảm hoạ này chỉ ra rằng việc cần thiết phải bảo mật dịch vụ để có khả năng nhận biết thực thể tạo ra yêu cầu và để kiểm tra nội dung của thông điệp và điều khiển các luồng không bị biến đổi khi phát. 4.1.2.6. Đánh lừa ARP (ARP Spoofing): ARP (Address Resolution Protocol) là giao thức cơ sở Ethernet. Có lẽ do nguyên nhân này, thao tác vào các gói ARP là kỹ thuật tấn công thƣờng thấy trong mạng VoIP. Một vài kỹ thuật hay công cụ hiện tại cho phép bất kỳ user nào có thể tìm ra lƣu lƣợng mạng trên mạng bởi vì ARP không có điều khoản cho câu hỏi nhận thực và câu hỏi trả lời. Thêm vào đó hầu hết các hệ thống hoạt động cập nhật bộ nhớ cache của nó khi mà nhận một lời đáp ARP, bất chấp nó đƣợc gửi đi từ một yêu cầu thực tế hay không. Hình 4.5. Đánh lừa ARP (đầu độc cache) Trong số những tấn công này, chuyển hƣớng ARP, đánh lừa ARP, đánh cắp ARP và đầu độc cache ARP là các phƣơng pháp để phá hoại quá trình ARP bình thƣờng. Các dạng này thƣờng xuyên đƣợc xen kẽ hoặc xáo trộn nhau. Dành cho mục đích của chƣơng này, có thể xem đầu độc cache ARP và đánh lừa ARP nhƣ là cùng một quá trình. Sử dụng các công cụ tuỳ thích có 67
  68. Bảo mật trong VoIP thể nhƣ là ettercap, Cain, và dsnif, và các thiết bị IP có hại có thể đánh lừa thiết bị IP thông thƣờng bằng cách gửi một đáp ứng ARP không yêu cầu đến host mục tiêu. Một đáp ứng ARP giả chứa địa chỉ phần cứng của thiết bị bình thƣờng và địa chỉ IP của thiết bị có ý đồ xấu. Trong hình 4.5, Ned là máy tính tấn công. Khi SAM broadcast một câu hỏi ARP cho địa chỉ IP của Sally, NED, ngƣời tấn công, đáp ứng câu hỏi để chỉ ra rằng địa chỉ IP (10.1.1.2) liên quan đến địa chỉ MAC của Ned ( BA:DB:AD:BA:DB:AD ). Các gói giả sử gửi từ SAM đến Sally sẽ đƣợc thay thế gởi đến Ned. Sam sẽ hiểu lầm rằng địa chỉ MAC của Ned tƣơng ứng với địa chỉ IP của Sally. Thực tế, Ned có thể đầu độc cache ARP của Sam mà không cần đợi một yêu cầu ARP từ hệ thống Windows (9x/NT/2k), các mục ARP tĩnh đƣợc viết đè lên khi một trả lời câu hỏi đƣợc nhận bất chấp có hay không câu hỏi đƣợc phát. Mục này sẽ đƣợc giữ cho đến khi chúng hết hạn hoặc mục mới thay thế. Hình 4.6. Tấn công chuyển hƣớng ARP Chuyển hƣớng ARP có thể hoạt động hai chiều và thiết bị đánh lừa có thể đƣa vào ở giữa của cuộc đàm thoại giữa hai thiết bị IP trên mạng chuyển mạch (xem hình 4.6). Vì tất cả lƣu lƣợng IP giữa ngƣời gởi thực và ngƣời nhận thực bây giờ đều đi qua thiết bị của ngƣời tấn công, thật bình thƣờng để cho ngƣời tấn công tìm ra lƣu lƣợng sử dụng bằng công cụ tuỳ thích nhƣ là Ethereal hay 68
  69. Bảo mật trong VoIP tcpdump. Bất kỳ thông tin nào không đƣợc mã hoá (bao gồm email, username và password, và lƣu lƣọng web) có thể bị chặn đứng và bị xem. Sự chặn đứng này có khả năng tác động mạnh đến lƣu lƣợng VoIP. Các công cụ miễn phí nhƣ là vomit hay rtpsnif, cũng nhƣ là các công cụ công cộng nhƣ là VoIPCrack, cho phép chặn đứng và mã hoá lƣu lƣợng VoIP. Các nội dụng chiếm đƣợc có thể bao gồm thoại, báo hiệu và thông tin tính cƣớc, đa phƣơng tiện, số PIN. Đàm thoại qua nội mạng IP có thể bị chặn và ghi âm lại sử dụng kỹ thuật này. Trong các thủ tục giới hạn lỗi do thao tác ARP, ngƣời quản lí phải thực thi các công cụ phần mềm để giám sát việc ánh xạ địa chỉ IP thành địa chỉ MAC. Ở lớp mạng, ánh xạ địa chỉ MAC/IP có thể đƣợc mật mã tĩnh trên switch, tuy nhiên nó thƣờng xuyên không đƣợc quản lý tốt. Các rủi ro của việc mã hoá lƣu lƣợng VoIP có thể đƣợc giới hạn bởi thực thi mật mã. Sử dụng việc mật mã hoá media, các cuộc đàm thoại giữa hai đầu cuối IP phải đƣợc sử dụng cùng một dạng mật mã hoá. Trong môi trƣờng bảo mật cao thì các tổ chức cần phải đảm bảo cùng một phƣơng thức mật mã trong bộ codec IP. 4.2. CÁC PHƢƠNG THỨC BẢO MẬT [3] 4.2.1. Cơ sở của cấu trúc bảo mật hiện hành Nghiên cứu quá trình bảo mật cấu trúc VoIP bắt đầu bằng cách xem lại các cấu trúc bảo mật hiện hành. Việc các thành phần VoIP hoạt động với dữ liệu mạng là một cơ hội tốt để xem lại và bổ sung các chính sách bảo mật hiện có, cũng nhƣ cấu trúc và quá trình xử lý của chúng. Hình bên dƣới mô tả các thành phần cấu trúc bảo mật 69
  70. Bảo mật trong VoIP Hình 4.7. Các thành phần cấu trúc bảo mật Interface giữa dữ liệu và thoại với mạng bên ngoài đƣợc mô tả bằng những vòng tròn từ 1 đến 6. Thêm vào đó, dữ liệu và thoại chia sẻ interface với giao diện vật lý và Social. Interface từ data mạng bao gồm VPN (Virtual Private Network), điện thoại và modem, các loại web và dịch vụ mail điện tử, các kết nối từ các công ty con bên ngoài thông qua đƣờng WAN. Các kỹ thuật bảo mật nhƣ là Firewall, IDS và ACLs hữu dụng cho những Interface này. Interface từ 7 đến 9 mô tả ứng với admin, user và các tổ chức kết nối mạng Interface 10 đến 12 là những interface giữa phần vật lý với dữ liệu và thoại. Gần đây, một số vấn đề xảy ra trong khu vực này, kết quả là làm mất dữ liệu quan trọng. Cuối cùng interface 13 miêu tả VLAN (Virtual LAN) interface. Việc liệt kê các danh sách này thực ra cũng không cần thiết, nhƣng nó cũng cho biết nơi mà việc thực hiện bảo mật đạt hiệu quả nhất. Mục đích của phần này là giúp chúng ta củng cố lại các khái niệm với nhiều thành phần mà bạn đƣợc yêu cầu đảm bảo trên mạng VoIP/data. 4.2.1.1. Phƣơng pháp và chính sách bảo mật Từ lợi ích của thông tin liên lạc, yêu cầu đảm bảo hệ thống mạng và bao gồm cả cơ sở kiến trúc thông tin liên lạc. Quá trình bảo mật hội tụ mạng VoIP/Data bắt đầu bằng sự đƣa ra, sự bổ sung, sự liên lạc hiệu quả của các chính sách bảo mật. Một chính sách khi đƣợc viết ra, thì cũng cần thêm một khoảng thời gian để đƣa ra thảo luận. Một 70
  71. Bảo mật trong VoIP chính sách có những ƣu điểm thuận lợi đƣợc xây dựng dựa trên hệ thống báo cáo của một tổ chức nào đó cần phải đảm bảo các tiêu chuẩn về chất lƣợng, tính tin cậy, tính toàn diện. Khi đạt đƣợc điều này, việc bảo mật thông tin trở nên dễ dàng đối với ngƣời quản trị cũng nhƣ gánh nặng về kỹ thuật, và thêm nhiều thuận lợi khác nữa. Việc đề ra chính sách là một bƣớc quan trọng tiến đến việc chuẩn hóa các hoạt động tổ chức kinh doanh. Chính sách của tổ chức là phƣơng tiện truyền tải quản lý đảm bảo các vấn đề bảo mật IT, đồng thời cũng làm sáng rõ đối với các bên cộng tác, liên quan hoặc những ngƣời có trách nhiệm. Những chính sách đề ra phải thiết lập các chuẩn cho việc bảo vệ tài nguyên thông tin bằng cách đƣa ra các chƣơng trình quản lý, những nguyên tắc cơ bản, những định nghĩa, những hƣớng dẫn cho mọi ngƣời bên trong tổ chức. Mục tiêu chính của chính sách bảo mật là ngăn chặn những hành vi có thể dẫn tới nguy hiểm. Bảo mật trong môi trƣờng điện thoại IP bao gồm tất cả các đặc tính an toàn truyền thống cộng thêm các đặc tính an toàn dữ liệu mạng. Thoại IP biến đổi thoại thành dữ liệu, và đặt các gói dữ liệu này vào trong các gói IP. Hoạt động của các hệ thống bên dƣới nhƣ là IP-PBXs, gateway dễ bị ảnh hƣởng bởi những tấn công mà điều đó sẽ làm ảnh hƣởng đến những server khác. . Sự an toàn về mặt vật lý: Thiết bị IP-PBX phải đƣợc khóa trong phòng kín và hạn chế sự truy cập. Loại truy cập này đƣợc xác nhận bởi hệ thống xác thực user với một khóa card. Việc truy cập bằng bàn phím là không đƣợc phép. Tất cả các phƣơng pháp vào phòng phải cung cấp danh sách user truy nhập vào phòng cùng với tem ngày tháng/thời gian. . VLANs: Việc tách thoại và luồng dữ liệu qua VLAN đƣợc yêu cầu để ngăn chặn đụng độ broadcast trong VoIP, và bảo vệ dữ liệu mạng khỏi các luồng thoại. . Softphones: Softphone trong một môi trƣờng an toàn chứa đựng bất kỳ phần mềm quảng cáo nào đều phải bị cấm. Việc cài đặt softphone cần đƣợc kiểm tra trƣớc khi thực thi. Và những phần mềm mà không mã hóa thƣ ngƣời gửi thì không nên sử dụng. Bởi vì softphone là một ứng dụng 71