1.10.1: Tổng quan
Bảo mật qua Gm giao diện đạt được nhờ IPsec SA, yêu cầu xử lý cụ thể tại SIP mức báo hiệu. Phần này mô tả cách UE và P-CSCF thương lượng bảo mật cơ chế, cách các thông số liên quan đến IPsec được trao đổi và cách SA được thiết lập và được xử lý.
Vì việc thiết lập các SA IPsec dựa trên xác thực của người dùng, các SA mới sẽ được thiết lập trong mọi q trình tái xác thực. Do đó, các cặp IPsec SA mới phải được thiết lập giữa UE và P-CSCF.
1.10.2: Thiết lập SA trong quá trình đăng ký ban đầu
Yêu cầu REGISTER ban đầu cũng như phản hồi 401 (Unauthorized) được gửi giữa UE và P-CSCF mà khơng có bất kỳ loại bảo vệ nào. Hai tin nhắn này thông tin vận chuyển cho phép UE và P-CSCF đàm phán cơ chế bảo mật và đồng ý về các tham số và cổng sẽ được sử dụng cho SA.
Trong quá trình đăng ký, hai cặp IPsec SA được thiết lập giữa UE và P-CSCF. Trừ khi có quy định khác, tập hợp hai cặp SA như vậy được gọi là dưới dạng 'tập hợp các SA', trong khi một IPsec SA đơn hoặc cụ thể từ bốn SA này được gọi là ‘SA’.
Bốn IPsec SA khơng phải là kết nối tĩnh (ví dụ: kết nối TCP). Họ có thể được coi là các liên kết hợp lý giữa UE và P-CSCF cho phép trao đổi thông điệp SIP.
Một tập hợp các SA tạo điều kiện cho bốn cổng: • cổng máy khách được bảo vệ tại UE (uc1);
• cổng máy chủ được bảo vệ tại UE (us1);
• cổng máy khách được bảo vệ tại P-CSCF (pc1)
• cổng máy chủ được bảo vệ tại P-CSCF (ps1).
Các cổng này được thương lượng giữa UE và P-CSCF trong quá trình đăng ký ban đầu (Hình 11.5) bằng cách sử dụng các tiêu đề Security-Client, Security-Server và Security-Verify của Thỏa thuận Cơ chế Bảo mật SIP
Tập hợp các SA cần được thiết lập với một khóa chia sẻ. Thật khơng may, P-CSCF khơng biết gì về các thơng số bảo mật được chia sẻ giữa ISIM của Tobias ứng dụng và HSS trong mạng gia đình. Do đó, S-CSCF gửi IK và CK cho P-CSCF trong tiêu đề WWW-Xác thực trong 401 (Unauthorized) phản ứng. P-CSCF phải xóa hai khóa này khỏi tiêu đề và lưu trữ chúng cục bộ trước khi gửi phản hồi 401 (Unauthorized) tới UE. IK sau đó là được P-CSCF sử dụng làm khóa chia sẻ cho tập hợp các SA. UE ở đầu kia của giao diện Gm tính tốn IK từ thử thách nhận được trong 401 (Khơng được phép) phản hồi và cũng sử dụng nó làm khóa chia sẻ (xem Phần 1.9.6).
Bằng IK, P-CSCF và UE sau đó có thể thiết lập tập hợp các SA giữa bốn cổng đã được trao đổi trước trong yêu cầu ĐĂNG KÝ ban đầu và phản ứng:
• giữa uc1 và ps1 để gửi các yêu cầu SIP từ UE tới P-CSCF;
• giữa us1 và pc1 để gửi phản hồi SIP từ P-CSCF tới UE;
• giữa us1 và pc1 để gửi các yêu cầu SIP từ P-CSCF tới UE; và
• giữa uc1 và ps1 để gửi phản hồi SIP từ UE tới P-CSCF.
35
Hình 1.5 SA thành lập trong quá trình đăng ký ban đầu
Sau khi thành lập, tập hợp các SA được ấn định thời gian tồn tại tạm thời. Mặc dù UE sẽ gửi tất cả các yêu cầu và phản hồi tiếp theo thông qua tập hợp SA tạm thời này, không thể sử dụng tập hợp các SA cho đến khi quy trình xác thực giữa UE và S-CSCF đã được hoàn thành. Điều này được thực hiện để đảm bảo rằng cơ chế bảo mật giữa UE và P-CSCF dựa trên việc xác thực thành công người dùng.
Khi gửi phản hồi 200 (OK) đến UE, P-CSCF sẽ cập nhật toàn bộ thời gian của tập hợp các SA bằng cách cung cấp cho nó thời gian tồn tại của đăng ký (như đã nêu trong phần hết hạn giá trị của tiêu đề Liên hệ) cộng với 30 giây. UE sẽ làm như vậy sau khi nhận được phản hồi 200 (OK).
Trong trường hợp đăng ký ban đầu (như mô tả ở đây), cả hai kết thúc (tức là P- CSCF và UE) sẽ ngay sau đó đưa bộ SA này vào sử dụng. Điều này có nghĩa là P- CSCF sẽ gửi tất cả các bản tin SIP được hướng tới UE thông qua tập hợp các SA đã thiết lập. Theo cách tương tự, UE sẽ gửi tất cả các bản tin SIP thông qua tập hợp các SA đã thiết lập.
1.10.3: Xử lý nhiều bộ SA trong trường hợp xác thực lại
Bây giờ chúng ta đã thấy cách thiết lập tập hợp SA đầu tiên trong quá trình đăng ký ban đầu. Như việc thiết lập một tập hợp các SA dựa trên dữ liệu xác thực được gửi từ S-CSCF trong phản hồi 401 (Unauthorzed), mỗi lần xác thực lại sẽ tạo ra một tập hợp các SA giữa UE và P-CSCF. Quy trình xác thực lại được mơ tả trong Phần 11.14. Sau khi xác thực lại thành cơng, UE và P-CSCF sẽ duy trì hai bộ SA (Hình 11.6):
•tập hợp các SA đã được thiết lập và sử dụng trước khi đăng ký lại đã diễn ra, mà bây giờ được gọi là 'tập hợp các SA cũ'
•một tập hợp SA mới được thiết lập dựa trên xác thực lại, hiện được gọi là 'tập hợp SA mới'.
Sự phức tạp chính trong tình huống này là P-CSCF khơng thể chắc chắn liệu 200 (OK) phản hồi cho yêu cầu RGISTER thứ hai đã được UE của Tobias nhận được, vì SIP xác định khơng có cơ chế xác nhận cho các phản hồi đã nhận cho bất kỳ yêu cầu nào ngồi một MỜI. Nếu UE khơng nhận được phản hồi 200 (OK) trong giây
REGISTER, sau đó nó sẽ khơng đưa bộ SA mới vào sử dụng. Do đó, nó phải chờ cho đến khi UE gửi một yêu cầu mới về tập hợp các SA mới trước khi có thể đưa chúng vào sử dụng. Điều này có nghĩa là, miễn là P-CSCF không nhận được yêu cầu từ UE về bộ SA mới, nó sẽ:
•gửi các u cầu đến UE qua tập hợp các SA cũ (tức là từ ứng dụng khách được bảo vệ của nó cổng pc1 đến cổng máy chủ được bảo vệ của UE us1)
•giữ cho cả hai bộ SA hoạt động cho đến khi một hoặc cả hai bộ này hết hạn hoặc có yêu cầu mới từ UE được nhận.
Trong ví dụ, giả định rằng UE đã nhận được 200 (OK) cho yêu cầu REGISTER thứ hai và do đó, biết rằng thủ tục xác thực đã thành cơng và bộ SA mới có thể được sử
dụng. Thật không may, P-CSCF không biết điều này và sẽ gửi các yêu cầu đến UE qua
tập hợp các SA cũ; do đó, UE cũng cần duy trì cả hai bộ SA.
Khi UE cần gửi yêu cầu mới, UE sẽ gửi yêu cầu đó bằng bộ mới của SA, điều này sẽ xác nhận với P-CSCF rằng bộ SA mới có thể được sử dụng đầy đủ sử dụng (Hình
11.7). Hơn nữa, tại thời điểm này, tập hợp các SA cũ sẽ khơng ngay lập tức rớt xuống, vì UE có thể đã nhận hoặc gửi một yêu cầu qua nó, điều này vẫn chưa trả lời. Do đó,
37
tập hợp SA cũ được giữ trong 64 3 T1 giây nữa (thường là 128 giây trong mơi trường IMS), trước khi nó bị bỏ.
Cũng lưu ý rằng UE không thể sử dụng bộ SA mới bằng cách gửi phản hồi -ví dụ: phản hồi 200 (OK) - cho một yêu cầu - ví dụ: một yêu cầu MESSAGE - đã được nhận qua tập hợp các SA cũ. UE bị buộc bởi tiêu đề Qua của P-CSCF hoặc do tới một kết nối TCP để gửi phản hồi đến cùng một cổng và qua cùng một tập hợp các SA như yêu cầu đã được nhận.
Hình 1.6 Hai bộ SA trong quá trình xác thực lại
Bất cứ khi nào một tập hợp các SA tạm thời được thiết lập, UE sẽ loại bỏ tất cả các SA khác, so với cái mà nó đã gửi yêu cầu REGISTER cuối cùng. Do đó, UE khơng bao giờ cần xử lý nhiều hơn hai tập hợp SA cùng một lúc.
1.10.4: Vịng đời SA
39
Trong q trình xác thực liên tục, thời gian tồn tại của một tập hợp SA tạm thời là giới hạn trong 4 phút. Điều này đảm bảo rằng thủ tục xác thực có thể được hồn tất. Sau khi xác thực thành công, thời gian tồn tại của bộ SA mới được đặt thành:
•Thời gian hết hạn của đăng ký đã kết thúc cộng thêm 30 giây. Hết hạn thời gian đăng ký được chỉ ra trong tham số hết hạn được trả về trong Tiêu đề liên hệ của phản hồi 200 (OK) cho REGISTER
•Hoặc, nếu một tập hợp SA khác đã tồn tại, đến thời gian tồn tại của tập hợp đã tồn tại đó trong số SA miễn là thời gian tồn tại của nó dài hơn thời gian hết hạn của đăng ký cộng thêm 30 giây.
Hình 1.7 Đưa một nhóm SA mới vào sử dụng và loại bỏ một nhóm SA cũ
Bất cứ khi nào đăng ký lại diễn ra và thành công, P-CSCF và UE có để cập nhật thời gian tồn tại của tất cả các SA hiện có với thời gian hết hạn của lần đăng ký lại đã kết thúc cộng thêm 30 giây, nếu giá trị đó lớn hơn thời gian tồn tại đã được chỉ định của SA.
Do đó, SA giữa UE và P-CSCF sẽ được giữ lâu hơn 30 giây hơn Tobias được đăng ký vào mạng IMS. Khi P-CSCF nhận thấy rằng Tobias khơng cịn được đăng ký (ví
dụ: bằng cách nhận THƠNG BÁO với thơng tin trạng thái đăng ký của Tobias cho biết
do mạng khởi tạo hủy đăng ký - xem Phần 11.15.3), P-CSCF sẽ loại bỏ tất cả SA về phía UE sau 64 * T1 giây.
1.10.5: Thiết lập cổng và định tuyến
Cần đặc biệt chú ý khi nói đến việc sử dụng các cổng SA, vì chúng ảnh hưởng rất nhiều đến việc định tuyến giữa P-CSCF và UE. Như trong Hình 11.6,
UE của Tobias:
• sẽ gửi tất cả các yêu cầu từ cổng khách hàng được bảo vệ của nó (2468);
•mong đợi tất cả các phản hồi sẽ được nhận trên cổng máy chủ được bảo vệ của nó (1357);
•mong đợi tất cả các u cầu sẽ được nhận tại cổng máy chủ được bảo vệ của nó (1357);
•sẽ gửi tất cả các phản hồi cho các yêu cầu nhận được từ cổng khách hàng được bảo vệ của nó (2468).
Mặt khác, P-CSCF:
• sẽ gửi tất cả các yêu cầu tới UE từ cổng khách hàng được bảo vệ của nó (8642);
•mong đợi nhận được tất cả các phản hồi từ UE tại cổng máy chủ được bảo vệ của nó (7531);
•mong đợi nhận được tất cả các u cầu từ UE tại cổng máy chủ được bảo vệ của nó (7531); và
• sẽ gửi tất cả các phản hồi tới UE từ cổng máy khách được bảo vệ của nó (8642). Để đảm bảo rằng tất cả các yêu cầu đều được gửi qua IPsec SAs:
• UE sẽ đặt cổng máy chủ được bảo vệ như một phần của địa chỉ:
◦ trong tiêu đề Liên hệ của mọi yêu cầu (bao gồm tất cả các yêu cầu REGISTER)
◦ trong tiêu đề Qua của mọi yêu cầu, bên cạnh REGISTER ban đầu.
• UE sẽ đặt cổng máy chủ được bảo vệ của P-CSCF như một phần của proxy gửi đi (tức là P-CSCF) địa chỉ trong tiêu đề Lộ trình của mọi u cầu ban đầu mà nó gửi.
• P-CSCF sẽ đặt cổng máy chủ được bảo vệ như một phần của địa chỉ:
◦ trong tiêu đề Record-Route của mọi yêu cầu ban đầu được gửi tới UE;
41
◦ trong tiêu đề Record-Route của mọi phản hồi mang P-CSCF’s Mục nhập Record-Route về phía UE (để cài đặt chi tiết số cổng trong Tiêu đề Record-Route xem Phần 12.3.4.3).
1.10.5.1:Thiết lập cổng trong khi đăng ký
Ví dụ: UE của Tobias đăng ký ban đầu với thông tin sau:
REGISTER sip:home1.fr SIP/2.0
Via: sip:[5555:1:2:3:4]:1357;branch=0uetb
Route: <sip:[5555::a:b:c:d];lr> Security-Client: digest, IPsec-3gpp; alg=hmac-sha-1-96 ;spi-c=23456789 ;spi- s=12345678
;port-c=2468; port-s=1357
Contact: "Mobile Phone – Tobias" sip:[5555::1:2:3:4]:1357 Điều này có nghĩa là UE:
• Sẽ thiết lập IPsec SA với:
◦cổng 2468 làm cổng máy khách được bảo vệ (thông số cổng-c của Máy khách-Bảo mật tiêu đề);
◦cổng 1357 làm cổng máy chủ được bảo vệ (tham số cổng của Máy khách bảo mật đầu trang).
•Mong đợi tất cả các yêu cầu đến được chuyển đến cổng máy chủ được bảo vệ của nó (giá trị cổng trong tiêu đề Liên hệ);
•Sẽ gửi u cầu REGISTER ban đầu này tới cổng 5060 không được bảo vệ của P CSCF, vì khơng có giá trị cổng nào được đưa ra trong tiêu đề Tuyến đường;
•Sẽ chờ tất cả các phản hồi cho yêu cầu REGISTER ban đầu này trên cổng 5060 không được bảo vệ, như khơng có giá trị cổng nào được đưa ra trong tiêu đề Via. Phản hồi 401 (Không được phép) mà UE nhận được sau đó sẽ có dạng như thế này: SIP/2.0 401 Unauthorized
Via: sip:[5555:1:2:3:4]:1357;branch=0uetb
Security-Server: tls ;q=0.2, IPsec-3gpp; q=0.1 ;alg=hmac-sha-1-96 ;spi- c=98765432 ;spi-s=87654321 ;port-c=8642 ;port-s=7531
Điều này có nghĩa là P-CSCF sẽ thiết lập IPsec SA với:
•cổng 8642 làm cổng máy khách được bảo vệ (tham số cổng-c của tiêu đề Máy chủ- Bảo mật)
•cổng 7531 làm cổng máy chủ được bảo vệ (tham số cổng của tiêu đề Máy chủ-Bảo mật).
Sau cuộc trao đổi này, UE và P-CSCF sẽ thiết lập bộ SA tạm thời và UE sau đó sẽ gửi yêu cầu REGISTER thứ hai đã được bảo vệ, sau đó sẽ trơng giống như:
REGISTER sip:home1.fr SIP/2.0
Via: sip:[5555:1:2:3:4]:1357;branch=1uetb Route: <sip:[5555::a:b:c:d]:7531;lr>
Contact: "Mobile Phone – Tobias" sip:[5555::1:2:3:4]:1357
Lưu ý rằng các tiêu đề Security-Client và Security-Verify cũng được bao gồm trong yêu cầu này (xem Phần 1.8), nhưng vì chúng khơng cịn ảnh hưởng đến việc thiết lập SA và định tuyến, chúng khơng được hiển thị ở đây. Điều này có nghĩa là UE: mong đợi tất cả các yêu cầu ban đầu đến sẽ được chuyển đến cổng máy chủ được bảo vệ của nó (giá trị cổng trong tiêu đề Liên hệ);
•gửi yêu cầu REGISTER này đã qua IPsec SA tạm thời (tức là cho người được bảo vệ cổng máy chủ của P-CSCF - giá trị cổng trong tiêu đề Tuyến đường); và
•Mong đợi tất cả các phản hồi cho yêu cầu REGISTER này sẽ được gửi qua IPsec SA tạm thời (nghĩa là trên cổng máy chủ được bảo vệ 1357 - giá trị cổng trong tiêu đề Via).
1.10.5.2:Thiết lập cổng trong khi xác thực lại
Như đã nói trước đây, mỗi lần xác thực lại sẽ tạo ra một cặp IPsec SA mới. Khi nào trao đổi chỉ mục tham số bảo mật và số cổng được bảo vệ cho tập hợp mới của SA theo Thỏa thuận Cơ chế An ninh SIP, chỉ P-CSCF và UE thay đổi các cổng máy khách được bảo vệ của họ:
•UE nhận được yêu cầu và phản hồi cho cả hai tập hợp SA thông qua máy chủ được bảo vệ của nó cổng (us1);
•P-CSCF nhận các u cầu và phản hồi cho cả hai nhóm SA thơng qua máy chủ được bảo vệ của nó cổng (ps1);
•UE sử dụng một cổng máy khách được bảo vệ mới (uc2) để gửi các yêu cầu và phản hồi đối với P-CSCF trên tập hợp các SA mới; và
43
•P-CSCF cũng sử dụng một cổng máy khách được bảo vệ mới (pc2) để gửi các yêu cầu và phản hồi của UE đối với tập hợp các SA mới. Điều này là do thực tế là hai bộ SA không được sử dụng các tham số cổng giống nhau. Hơn nữa, nếu các cổng máy chủ được bảo vệ thay đổi, điều này sẽ gây ra các vấn đề lớn và có nghĩa là:
•UE sẽ cần thực hiện đăng ký lại, vì địa chỉ liên hệ đã đăng ký của nó bao gồm cổng máy chủ được bảo vệ;