Giao thức báo hiệu cuộc gọi H.225: H.225 RAS, H.225.0 Call Signalling.
Giao thức điều khiển cuộc gọi H.245.
Giao thức truyền tải thông tin đa phương tiện RTP/RTCP.
Các chuẩn mã hóa audio: G.711, G.722, G.728, G.729.
Các chuẩn mã hóa video : H.261, H.263.
Nhiệm vụ của các giao thức sử dụng trong mạng H.323
H.225.0 bao gồm H.225.0 RAS và H.225.0 Call Signalling. Phiên bản đầu tiên của giao thức báo hiệu cuộc gọi H.225.0 được công bố vào ngày 11/11/1996, cho tới nay phiên bản thứ 7 được công bố chính thức vào ngày 14/12/2009.
o H.225.0 RAS là giao thức giữa H.323 Endpoints (Terminal, Gateway) và Gatekeeper. RAS thực thi quá trình đăng ký, thu nhận, thay đổi băng thông, giám sát trạng thái giữa H.323 Endpoints và Gatekeeper.
o H.225.0 Call Signalling (Báo hiệu cuộc gọi) dùng để thiết lập kết nối giữa các H.323 Endpoints.
H.245 là giao thức điều khiển cuộc gọi. Phiên bản đầu tiên công bố vào ngày 20/03/1996 cho tới nay phiên bản thứ 15 đã được công bố vào ngày 14/12/2009. Nó mang thông báo điều khiển hoạt động của các thành phần H.323 (H.323 host, H.323 gateway, H.323 gatekeeper). Chức năng quan trọng nhất của H.245 là khả năng trao đổi. Các chức năng khác của H.245 bao gồm đóng mở các kênh logic, các thông báo điều khiển luồng, chế độ ưu tiên cho các yêu cầu, các chỉ dẫn và các lệnh thông thường. Điểm cuối khi tham gia nó sẽ thiết lập H.245 cho mỗi cuộc gọi. Để phù hợp với H.245, các điểm cuối H.323 phải hỗ trợ cú pháp, ngữ nghĩa và các thủ tục sau:
o Khả năng trao đổi. O Xác định chủ/tớ.
o Đóng mở các kênh logic. o Các điều khiển cuộc gọi.
O Chế độ yêu cầu.
RTP/RCTP: Có chức năng truyền và kết hợp tín hiệu media (Audio, Video).
Data Control and Signalling Audio/Video Registration T.120 H225.0 Call Signalling H245 Conference Control RTP/RTCP H225.0 RAS TCP UDP Network Layer
Data link Layer
Physical Layer
2.1.4. Các thủ tục báo hiệu trong mạng H323
Người ta chia một cuộc gọi làm 5 giai đoạn gồm : - Giai đoạn 1: Thiết lập cuộc gọi
- Giai đoạn 2: Thiết lập kênh điều khiển - Giai đoạn 3: Thiết lập kênh truyền thông - Giai đoạn 4: Dịch vụ
- Giai đoan 5: Kết thúc cuộc gọi
Giai đoạn 1: Thiết lập cuộc gọi :
Giao thức sử dụng : H.225 .
Hai đầu cuối gọi gửi bản tin H.225 RAS đến GK để đăng ký và lấy địa chỉ của đầu cuối bị gọi. Sau đó, đầu cuối này trao đổi các bản tin H.225 (SETUP, CALL PROCEEDING, ALERTING, CONNECT) với đầu cuối bị gọi; trong lúc trao đổi những bản tin này, đầu cuối bị gọi cũng sử dụng bản tin H.225 RAS để đăng ký với GK.
Hình 2.6 Thiết lập cuộc gọi H.323.
Giai đoạn 2: Thiết lập kênh điều khiển:
Giao thức sử dụng : H.245 .
Các thông số của cuộc gọi sẽ được thống nhất trong giai đoạn này khi các đầu cuối gửi các bản tin H.245 cho nhau, bao gồm :
Khả năng trao đổi của đầu cuối (Terminal Capability Exchange) : là khả năng truyền, nhận cũng như xử lý các dòng thông tin của các đầu cuối. Việc trao đổi thông tin giữa 2 điểm cuối là cần thiết để cả 2 có cùng phương thức CODEC trong quá trình tham gia một kết
nối. Các thông báo H.245 sử dụng trong quá trình này :
TerminalCapabilitySet, TerminalCapabilitySetAck.
Quyết định chủ tớ (Master-Slave Determination) : Mẫu thuẫn có thể nảy sinh khi 2 đầu cuối đều có khả năng MC tham gia vào một cuộc gọi hội nghị. Để giải quyết vấn đề này một đầu cuối sẽ đóng vai trò chủ, các đầu cuối khác đóng vai trò tớ. Khi xảy ra mâu thuẫn các đầu cuối phải thông báo vai trò của mình. Thủ tục này cho phép các đầu cuối tham gia trong một cuộc gọi xác định đâu là đầu cuối chủ, đâu là đầu cuối tớ. Vai trò của các đầu cuối có thể được xác định lại trong suốt tiến trình hội nghị. Các bản tin được sử dụng để xác định
chủ tớ : masterSlaveDetermination,
masterSlaveDeterminationAck.
Đóng mở các kênh logic (Logical Chanel Signalling) : Một kênh logic là kênh mang thông tin từ điểm cuối này đến điểm cuối khác hoặc đến nhiều điểm cuối khác. Một điểm cuối có thể yêu cầu thiết lập kênh logic bằng cách gửi bản tin openLogicalChannel. Điểm cuối có thể chấp nhận yêu cầu này hoặc từ chối. Nếu đồng ý nó sẽ đáp ứng bằng bản tin openLogicalChannelAck ngược lại nó sẽ gửi bản tin phản hồi.
Giai đoạn 3 : Thiết lập kênh truyền thông
Sau khi trao đổi khả năng (tốc độ nhận tối đa, phương thức mã hoá…) và xác định quan hệ master-slave trong giao tiếp ở giai đoạn 2, thủ tục điều khiển kênh H.245 sẽ thực hiện việc mở kênh logic để truyền dữ liệu. Các kênh này là kênh H.225.
Sau khi mở kênh logic để truyền tín hiệu là âm thanh và hình ảnh thì mỗi đầu cuối truyền tín hiệu sẽ truyền đi một bản tin h2250MaximumSkewIndication để xác định thông số truyền.
Giai đoạn 4: Dịch vụ cuộc gọi
Có một số dịch vụ cuộc gọi được thực hiện trên mạng H.323 như: thay đổi độ rộng băng tần, giám sát trạng thái hoạt động, hội nghị đặc biệt, các dịch vụ bổ sung. Hai loại dịch vụ điển hình: thay đổi độ rộng băng tần và giám sát trạng thái hoạt động.
Giai đoạn 5 : Kết thúc cuộc gọi
Cuộc gọi được kết thúc 1 cách tuần tự: từ kênh truyền thông, kênh điều khiển, kênh báo hiệu đến đăng ký của các đầu cuối với GK.
Đầu tiên hai đầu cuối kết thúc kênh truyền thông và kênh điều khiển H.245 bằng các bản tin CloseLogicalChannel và EndSessionComand. Sau đó đầu cuối bị gọi gửi đi bản tin H.225 RELEASE COMPLETE để kết thúc kênh báo hiệu cuộc gọi. Cuối cùng, đăng ký giữa GK và đầu cuối kết thúc bằng các bản tin RAS.
Trƣờng hợp cuộc gọi không có GK : hai đầu cuối vẫn thực hiện các bước như trên và không sử dụng các bản tin RAS.
2.2 Bảo mật H.235 [6], [7], [8], [9], [15], [17]
2.2.1. Giới thiệu
H.235 là chuẩn về bảo mật dành cho hội thoại qua mạng sử dụng giao thức báo hiệu H.323 được đưa ra bởi hiệp hội liên minh viễn thông quốc tế ITU(International Telecommunication Union). Ví dụ, những hệ thống H.323 hoạt động dựa trên mạng chuyển mạch gói (không cung cấp sự bảo đảm về chất lượng dịch vụ QoS). Vì vậy truyền thông thời gian thực cần quan tâm tới 2 điều : xác
thực và bảo mật.
H.235 mô tả những cơ sở và kĩ thuật bảo mật được tận dụng cho những thiết bị đầu cuối đa phương tiện H.3xx. Nó cũng bao gồm những phạm vi cần quan tâm của việc tương tác trong hội nghị truyền thông (những giao thức và thuật toán cần thiết giữa những thực thể H.323 ).
H.235 cung cấp khả năng dàn xếp dịch vụ, nó liên quan đến khả năng hệ thống, yêu cầu của ứng dụng và đặc tả về ràng buộc của cách thức bảo mật. Nó hỗ trợ những thuật toán mã hóa khác nhau, với những tùy chọn thích hợp với những mục đích khác nhau (Ví dụ như độ dài khóa).
2.2.2. Giới thiệu về hệ thống sử dụng H.235
Một hệ thống khi sử dụng bảo mật H.235 sẽ bao gồm các tính năng sau:
2.2.2.1. Authentication (xác thực)
Quá trình xác thực nhằm mục đích kiểm tra đối tượng đang trao đổi thông tin là ai. Quá trình này có thể được hoàn thành bằng cách trao đổi khóa công khai (public- key) dựa trên chứng nhận điện tử (certificate), hoặc là trao đổi 1 khóa chung (share secret) giữa các bên tham gia. Nó có thể là mật khẩu (password) hoặc là 1 phần thông tin nào đó đã được trao đổi.
H.235 mô tả giao thức trao đổi chứng nhận điện tử (certificate), nhưng không chỉ rõ cách thức mà các bên tham gia xác nhận và chấp nhận nó. Nhìn chung, chứng nhận điện tử đưa ra 1 sự bảo đảm cho người kiểm tra rằng : người gửi chứng nhận điện tử là ai. Mục đích đằng sau chứng nhận điện tử là xác thực người sử dụng thiết bị đầu cuối chứ không đơn thuần là xác thực thiết bị đầu cuối về mặt vật lý. Sử dụng chứng nhận điện tử, giao thức xác thực(authentication) này chứng tỏ được rằng người nhận sở hữu khóa bí mật (private key) tương ứng với khóa công khai(public key) chứa trong chứng nhận điện tử. Cách xác thực này giúp chống lại kiểu tấn công man-in-the-midle, chứ không tự động xác định được người trả lời là ai. Để làm được điều này đòi hỏi phải có 1 vài thông tin khác trong chứng nhận điện tử. Ví dụ, chứng nhận điện tử thông thường bao gồm ID của nhà cung cấp dịch vụ cùng với biểu mẫu thông tin tài khoản người sử dụng quy định bởi nhà cung cấp dịch vụ.
cung cấp báo hiệu để hoàn thành những kịch bản khác nhau. Phương pháp này phụ thuộc vào thứ tự liên lạc của các bên tham gia để thu được khóa chung (share secret).
Như là 1 lựa chọn thứ 3, việc xác thực có thể hoàn thành cùng với việc sử dụng những giao thức bảo mật riêng biệt khác như TLS hay IPSEC.
Xác nhận 1 chiều hay 2 chiều đều có thể được hỗ trợ bởi các điểm đầu cuối ngang hàng. Việc xác thực này có thể diễn ra trên 1 vài hoặc tất cả các kênh truyền thông.
Certificate (Chứng chỉ điện tử):
Sự chuẩn hóa của chứng nhận điện tử, bao gồm quá trình tạo ra chúng, quản lý, phân phối không nằm trong phạm vi của khuyến nghị này. Chứng nhận điện tử sử dụng để thiết lập kênh bảo mật (Báo hiệu cuộc gọi, điều khiển cuộc gọi) phải thích hợp với những điều đã quy định bởi giao thức được thống nhất bảo mật kênh truyền.
Chú ý khi sử dụng khóa công khai trong chứng nhận điện tử, các đầu cuối được yêu cầu cung cấp chữ kí điện tử sử dụng khóa bí mật. Việc chỉ trao đổi khóa công khai trong chứng nhận điện tử không chống lai khả năng bị tấn công man-in- the-midle. Giao thức H.235 thích hợp với yêu cầu này.
2.2.2.2. Call establishment security (Bảo mật báo hiệu cuộc gọi - H.225 ) H.225 )
Có 2 lý do thúc đẩy việc thiết lập kênh bảo mật. Thứ nhất là xác thực đơn giản trước khi chấp nhận cuộc gọi. Thứ 2 là để cấp phép cuộc gọi. Nhiệm vụ của kênh H.225 trong trường hợp này là cung cấp các kĩ thuật bảo mật mà đầu cuối có thể đáp ứng, xác nhận các kĩ thuật bảo mật đó và trao đổi chứng chỉ điện tử.
2.2.2.3. Call control security (Bảo mật kênh điều khiển cuộc gọi H.245 ) H.245 )
Kênh điều khiển cuộc gọi cũng nên được bảo mật để cung cấp bảo đảm cho kênh truyền thông sau đó. Kênh H.245 được bảo vệ sử dụng những kĩ thuật bảo mật đã được trao đổi trước đó. Bản tin H.245 được sử dụng để báo hiệu thuật toán mã hóa và khóa đã được mã hóa sử dụng trong kênh chia sẻ, kênh media. Trong hội nghị đa điểm, nhiều khóa khác nhau được sử dụng cho nhiều luồng với mỗi điểm đầu cuối. Nó đảm bảo an toàn đối với mỗi điểm đầu cuối trong hội nghị.
Kĩ thuật bảo vệ H.245 phụ thuộc vào đầu cuối H-series liên quan. Yêu cầu duy nhất cho tất cả các hệ thống tận dụng cấu trúc bảo mật này là mỗi bên phải có 1 vài cách thức dàn xếp hay báo hiệu rằng kênh H.245 được hoạt động theo cách thức bảo mật trước khi nó được khởi tạo. Ví dụ, H.323 sẽ sử dụng bản tin báo hiệu H.255.0 để hoàn thành việc này.
2.2.2.4. Media stream privacy (Bảo mật kênh truyền thông )
Khuyến nghị này mô tả bảo mật truyền thông cho luồng dữ liệu đa phương tiện truyền trên mạng chuyển mạnh gói.
Bước đầu tiên trong việc đạt được bảo mật truyền thông là sự cung cấp có đảm bảo của 1 kênh điều khiển, dựa trên đó để đặt 1 khóa mã hóa và thiết lập những kênh logic sẽ mang những luồng dữ liệu truyền thông đã được mã hóa. Vì vậy, khi hoạt động trong 1 hội nghị có đảm bảo, các đầu cuối tham gia có thể sử dụng 1 kênh H.245 đã được mã hóa. Theo cách đó, thuật toán mã hóa được lựa chọn và khóa mã hóa đưa vào trong bản tin H.245 OpenLogicalChannel được bảo vệ.
Dữ liệu đã được mã hóa được truyền trong các kênh logic phải nằm trong kiểu được đặc tả bởi OpenLogicalChannel. Thông tin trong phần header gửi đi không được mã hóa. Sự bảo mật của dữ liệu dựa trên cơ sở mã hóa end-to-end.
2.2.2.5. Trusted elements ( Thành phần tin tƣởng )
Cơ sở của việc xác thực và bảo mật được định nghĩa bởi các đầu cuối của kênh liên lạc. Đối với 1 kênh thiết lập cuộc gọi, đó có thể là giữa người gọi và một thành phần máy chủ. Ví dụ, một máy điện thoại tin tưởng rằng chuyển mạng sẽ kết nối nó tới đúng chiếc điện thoại có số mà nó đã gọi. Vì vậy, thực thể nào giới hạn kênh điều khiển mã hóa H.245 và hay kiểu mã hóa dữ liệu của kênh logic sẽ được coi như là trusted element của kết nối, nó có thể gồm các MC(U) hay gateway. Kết quả của việc tin tưởng 1 thành phần là sự tin cậy để chia sẻ các kĩ thuật bảo mật (thuật toán hay khóa) cho thành phần này. Điều đó được thực hiện theo cách thông thường là trao đổi chứng nhận điện tử.
Sự đảm bảo cuộc gọi giữa 2 điểm đầu cuối là chắc chắn nếu những kết nối giữa các trusted element được chứng minh là bảo vệ khỏi tấn công man-in-the- midle.
2.2.3 Các thủ tục bảo mật trong cuộc gọi sử dụng H.235
Hình 2.7 Thủ tục H.235
2.2.3.1. Thủ tục thiết lập kết nối
Kênh báo hiệu cuộc gọi H.225 và kênh điều khiển cuộc gọi H.245 sẽ hoạt động trong chế độ bảo mật hoặc không bảo mật. Đối với kênh báo hiệu, cổng bảo mật TLS (port 1300 ) sẽ được sử dụng. Đối với kênh điều khiển cuộc gọi, chế độ bảo mật được quyết định bởi thông tin được truyền tải trong giao thức khởi tạo kết nối.
Trong trường hợp không có khả năng bảo mật nào thích hợp, đầu cuối bị gọi có thể từ chối kết nối. Thông tin phản hồi không mang thông tin về sự không trùng khớp chế độ bảo mật, vì vậy đầu cuối gọi phải xử lý vấn đề theo nhiều cách khác nhau.
Trong nhiều trường hợp, đầu cuối gọi nhận được bản tin không kèm theo khả năng bảo mật, nó sẽ kết thúc cuộc gọi.
Nếu đầu cuối gọi và bị gọi có cùng khả năng bảo mật thích hợp, nó sẽ được thừa nhận bởi tất cả các bên rằng kênh H.245 sẽ hoạt động trong chế độ bảo mật. Thất bại trong việc thiết lập kênh H.245 trong chế độ bảo mật nên được xem như
là 1 lỗi giao thức và cuộc gọi được kết thúc.
Diffie – Hellman :
Phụ thuộc vào từng hoàn cảnh mà khóa sinh ra bởi trao đổi Diffie-Hellman có thể đóng vai trò như khóa bảo vệ(mã hóa khóa phiên) hay dùng như khóa phiên.
Diffie-Hellman được mô tả bởi các tham số g và p với : p là 1 số nguyên lớn còn g là 1 số khởi tạo. (g^x)mod p chỉ ra khóa công khai Diffie-Hellman của bên gọi và (g^y)mod p chỉ ra khóa công khai Diffie-Hellman của bên bị gọi. Cách lựa chọn tham số cho Diffie-Hellman được chỉ dẫn trong RFC 2412.
Thông số Diffie-Hellman (g, p, g^x) được đưa vào trong trường
ClearToken (trong các bản tin H.225) trong đó dhkey sẽ nắm giữ khóa công khai (g^x)mod p ( trong bản tin trả lời là g^ymodp), với x(y) là số bí mật (khóa bí mật), p nằm trong trường modesize và g trong trường generator. Với những trường hợp đặc biệt như thông số Diffie-Hellman là (0, 0, 0) hay trường dhkey
được bỏ trống báo hiệu rằng chế độ mã hóa không được sử dụng.
Thông thường, các tham số g và p đã được quy định sẵn với những giá trị hợp lý, do đó các đầu cuối có thể chọn tham số phù hợp với nó. Người được gọi cần chú ý rằng, thực tế các tham số DH không không chuẩn có thể cung cấp sự bảo mật kém hơn so với các tham số được định nghĩa theo chuẩn.
Khi thông số DH được sử dụng theo chuẩn, giá trị nhận biết DH-OID sẽ được đưa vào trường tokenOID. Trong trường hợp thông số DH không theo chuẩn được sử dụng, DH-OID ―DH-dummy‖ sẽ được sủ dụng và đưa vào
ClearToken.
Bên gọi có thể sử dụng 1 hay nhiều ClearToken, trong đó sẽ mang những thông số DH khác nhau và điều đó được khuyến khích. Vì việc cung cấp nhiều thông số