Một số biện pháp bảo mật cho mạng riêng ảo di động MVPN
Học viện Công nghệ BCVT - Bộ Thông tin và Truyền thông
Trong thời gian gần đây, xu hướng thương mại thông qua điện thoại di động, thanh toán di động là một ứng dụng mới của mạng thế hệ mới NGN - một dịch vụ cung cấp từ nhà khai thác thông tin di động, nó cho phép người sử dụng di động có thể truy nhập vào mạng riêng của tổ chức mình một cách dễ dàng. Tuy nhiên, thách thức đặt ra với mạng riêng ảo di động là vấn đề bảo mật trong giao tiếp vô tuyến và bảo mật cho mạng chia sẻ dùng chung IP. Bài báo sẽ phân tích ba phương pháp nhằm nâng cao khả năng bảo mật cho mạng riêng ảo di động trong phần giao diện vô tuyến.
I. Bảo mật ở giao tiếp vô tuyến GSM
Bảo mật ở giao tiếp vô tuyến GSM bao gồm: Xác thực định danh thuê bao, bảo mật định danh, bảo mật báo hiệu và bảo mật dữ liệu cho người sử dụng. Mỗi một thuê bao có duy nhất một định danh thuê bao di động quốc tế IMSI. Thông tin IMSI (International Mobile Station Identifier) và khóa dùng cho việc xác thực thuê bao Ki là những thông tin nhạy cảm cần bảo mật. Dữ liệu trao đổi của người sử dụng được mã hóa bằng khóa phiên làm việc Kc. Cơ chế bảo mật của hệ GSM được thực hiện ở 3 phần tử hệ thống là SIM (Subscriber Identity Module), máy cầm tay di động (hay MS) và mạng GSM.
SIM chứa IMSI, khóa xác thực thuê bao Ki, thuật toán tạo khóa mã hóa A8, thuật toán xác thực A3 và số nhận dạng cá nhân PIN. Cũng như nhiều thẻ Smart card khác, PIN dùng để điều khiển truy nhập SIM. Máy điện thoại sẽ yêu cầu nhập số PIN ngay khi khởi động máy nếu người sử dụng dùng chức năng khóa máy bằng PIN. Nếu nhập số PIN chính xác thì máy điện thoại sẽ lấy các dữ liệu từ SIM để làm việc. Nếu nhập số PIN 3 lần liên tục không chính xác thì SIM sẽ bị khóa. Nếu người sử dụng không dùng chức năng này, máy di động sẽ bỏ qua quá trình kiểm tra.
Máy cầm tay di động có chứa thuật toán mã hóa cho dữ liệu truyền A5 và nhận dạng thiết bị di động quốc tế IMEI (International Mobile Station Equipment Identiy). IMEI được cấp phát bởi nhà sản xuất máy cầm tay di động và là duy nhất cho mỗi máy. IMEI dùng để đăng ký với nhà khai thác mạng di động và được chứa trong bộ đăng ký nhận dạng thiết bị EIR (Equipment Identity Register) - một bộ phận của phân hệ vận hành và bảo dưỡng OMS (Operation and Maintenance System) của mạng GSM. IMEI cho phép quản lý máy cầm tay di động quá hạn, lỗi thời, bị mất cắp cũng như thực hiện không đúng chức năng.
Hình 1: Phân bố các đặc tính bảo mật trong mạng GSM
Thuật toán mật mã A3, A5 và A8 cũng chứa trong mạng GSM. Trung tâm xác thực AUC (Authentication Center) - một bộ phận của phân hệ vận hành và bảo dưỡng OMS của mạng GSM chứa cơ sở dữ liệu về thông tin nhận dạng và xác thực thuê bao. Thông tin này bao gồm IMSI, TMSI (Temporary Mobile Subscriber Identity), nhận dạng vùng địa phương LAI (Location Area ID), khóa xác thực thuê bao cho mỗi người dùng. Việc phân bố xác thực an toàn và thuật toán mã hóa ở các phần tử đảm bảo tính riêng tư cho các cuộc gọi cũng như chống lại các cuộc gọi lừa đảo.
Hình 1 mô tả sự phân bố thông tin bảo mật ở 3 phần tử hệ thống gồm SIM, máy cầm tay di động MS và mạng GSM. Trong mạng GSM, thông tin bảo mật được chứa trong bộ đăng ký vị trí thường trú HLR, bộ đăng ký vị trí tạm trú VLR và trung tâm xác thực AUC. AUC chịu trách nhiệm tạo ra tập RAND, SRES và Kc mà chứa trong HLR, VLR dùng cho quá trình xác thực và mã hóa.
Vấn đề bảo mật đối với GPRS được thừa kế từ GSM, các quá trình được thực hiện tương tự như trong GSM và diễn ra giữa thuê bao di động và SGSN.
a) Xác thực :
Mạng GSM xác thực nhận dạng thuê bao thông qua cơ chế yêu cầu/đáp ứng. Một số ngẫu nhiên 128 bit RAND được gửi đến MS. MS tính toán giá trị đáp ứng 32 bit SRES dựa trên mã hóa số ngẫu nhiên RAND bằng thuật toán xác thực A3 với khóa xác thực thuê bao Ki. Dựa trên tín hiệu đáp ứng SRES thu được từ thuê bao, mạng GSM tính lại giá trị SRES để kiểm tra nhận dạng thuê bao. Khóa xác thực thuê bao Ki không bao giờ được phát đi trên kênh vô tuyến có sẵn trong cơ sở dữ liệu SIM, AUC, HLR và VLR. Nếu giá trị SRES kiểm tra phù hợp thì MS xác thực thành công còn ngược lại thì sẽ kết thúc kết nối và chỉ thị không xác thực được MS được gửi đến MS. (hình 2)
Hình 2: Minh họa cơ chế xác thực trong GSM
b) Bảo mật báo hiệu và dữ liệu:
SIM chứa thuật toán tạo khóa mã hóa A8 để tạo ra khóa Kc. Khóa phiên làm việc Kc được tính từ số ngẫu nhiên RAND thông qua thuật toán tạo khóa A8 với khóa xác thực thuê bao Ki. Khóa Kc được dùng để mã hóa và giải mã cho dữ liệu trao đổi giữa MS và trạm BTS nhằm chống lại tấn công nghe trộm ở giao tiếp vô tuyến. Khóa mã hóa Kc có thể thay đổi theo phiên làm việc giữa MS và BTS hoặc thay đổi trong một khoảng thời gian định kỳ. Hình 3 mô tả quá trình tính toán khóa mã hóa Kc.
Hình 3: Cơ chế tạo khóa phiên làm việc Kc
Quá trình tính toán khóa mã hóa được thực hiện ở cả MS và BTS để tạo ra khóa Kc chung cho quá trình trao đổi dữ liệu giữa MS và BTS.
Mã hóa trao đổi thông tin cả thoại và dữ liệu giữa MS và BTS được thực hiện thông qua thuật toán mã hóa A5 với khóa mã hóa Kc (hình 4).
c. Bảo mật nhận dạng thuê bao
Để bảo mật nhận dạng thuê bao IMSI thì nhận dang thuê bao di dộng tạm thời TMSI được sử dụng. TMSI sẽ được gửi đến MS sau khi thủ tục xác thực và mã hóa được thực hiện (như đã trình bày ở trên). MS sẽ đáp ứng để xác nhận TMSI. TMSI chỉ có hiệu lực trong khoảng thời gian MS ở tại vùng địa phương nhất định. Khi MS chuyển sang một vùng mới thì TMSI mới sẽ được cấp phát cho MS (hình 5).
Hình 5: Cấp phát TMSI cho MS
Tuy nhiên, bảo mật giao tiếp vô tuyến của GSM vẫn có những hạn chế nhất định. Độ dài khóa dùng trong bảo mật giao tiếp vô tuyến của GSM chỉ 64 bit nên rất dễ bị bẻ khóa. Thuật toán A5 là loại mã hóa theo dòng và có 3 phiên bản mã hóa cho A5: A5/1 phiên bản mã hóa mạnh, A5/2 phiên bản mã hóa yếu, A5/0 thì không thực hiện mã hóa. Thuật toán này rất dễ bị phá khóa. Với tốc độ tính toán hiện nay, A5/2 có thể bị phá khóa trong vòng 1 giây, còn A5/1 chỉ trong vòng vài mili giây. Mặt khác, xác thực ở GSM chỉ thực hiện xác thực cho MS, không có xác thực cho BTS vì vậy dễ xuất hiện các trạm BTS giả dùng để thu thập các thông tin bí mật từ MS, rồi từ đó tấn công vào hệ thống. Khi hệ thống thông tin di động tiến lên 3G, các yếu điểm này dần được khắc phục.
II. Bảo mật ở giao tiếp vô tuyến UMTS
Bảo mật trong hệ thống UMTS đảm bảo 5 khía cạnh giữa nhà khai thác và người sử dụng trong mạng 3G :
- Bảo mật cho truy cập mạng (I): đảm bảo cho người sử dụng truy cập an toàn các dịch vụ 3G và chống lại các cuộc tấn công trên đường truy cập vô tuyến.
- Bảo mật cho miền mạng (II): cho phép các nút trong miền của nhà cung cấp trao đổi báo hiệu một cách an toàn.
- Bảo mật cho miền người sử dụng (III): cho phép người sử dụng truy cập máy di động một cách an toàn.
- Bảo mật cho miền ứng dụng (IV): cho phép ứng dụng trong miền người sử dụng và miền nhà cung cấp trao đổi thông tin một cách an toàn.
- Khả năng thấy và cấu hình bảo mật (V): thông báo cho người sử dụng đặc tính bảo mật có hoạt động hay không trong các dịch vụ thích hợp.
Bất cứ sự trao đổi dữ liệu giữa chương trình ứng dụng người sử dụng và chương trình ứng dụng nhà khai thác đều có thể phân theo các tầng thực hiện. MS bao gồm ME (Mobile Equipment) và USIM (UMTS Subscriber Identification Module tương tự như SIM trong GSM). Còn mạng lõi UMTS bao gồm mạng truy nhập AN (Access Network), nút phục vụ SN (Service Node) và HE (Home Enviroment). Mối liên hệ các khía cạnh bảo vệ giữa các thành phần trong hệ thống UMTS theo các đường giao tiếp (I), (II), (III), (IV) được mô tả như hình 6.
Trong các đặc tính về bảo mật trong hệ thống UMTS thì đặc tính bảo mật truy cập mạng rất quan trọng, nó bao gồm: xác thực thực thể, bảo mật dữ liệu và toàn vẹn dữ liệu. Xác thực thực thể có 2 quá trình: xác thực người sử dụng và xác thực mạng. Bảo mật dữ liệu cũng cần xử lý: thỏa thuận thuật toán mã hóa, thỏa thuận khóa mã hóa, bảo mật báo hiệu và dữ liệu người sử dụng. Quá trình đảm bảo toàn vẹn dữ liệu cần thực hiện: thỏa thuận thuật toán toàn vẹn dữ liệu, thỏa thuận khóa cho toàn vẹn dữ liệu, toàn vẹn dữ liệu và báo hiệu.
Cơ chế bảo mật ở giao tiếp vô tuyến UMTS trong bảo mật truy cập mạng về cơ bản vẫn dựa trên nền tảng và thừa kế các điểm mạnh của GSM. Tuy nhiên so với GSM nó có những tính năng vượt trội:
- Xác thực lẫn nhau giữa MS và BTS.
- Thông tin xác thực và khóa mã hóa luôn được làm tươi.
- Bảo vệ tính toàn vẹn cho báo hiệu đặc biệt là quá trình thỏa thuận thuật toán mã hóa.
- Sử dụng mã hóa mạnh hơn (kết hợp tăng độ dài của khóa và loại thuật toán mã hóa mạnh hơn).
III. Bảo mật ở giao tiếp vô tuyến CDMA2000
Quá trình này thực hiện thiết lập liên kết bảo mật giữa MS (bao gồm ME: Mobile Equipment và UIM) và SN thông qua xác thực và thỏa thuận khóa AKA. Quá trình xác thực và thỏa thuận khóa ở giao tiếp vô tuyến CDMA2000 được mô tả trong hình 7.
Hình 7: Quá trình xác thực và thỏa thuận khóa ở giao tiếp vô tuyến CDMA2000
Giai đoạn 1: Phân bố vectơ xác thực - khởi đầu bằng việc ME gửi yêu cầu đăng ký đến nút phục vụ SN (Service Node), rồi được chuyển tiếp đến HE (HLR). Tại HE sẽ thực thực hiện tính các giá trị vectơ xác thực AV (Authentication Vector) từ khóa mã hóa và các cơ cấu mã hóa đã biết trước giữa UIM và HE. Các AV bao gồm số ngẫu nhiên, giá trị yêu cầu, khóa mã hóa, khóa kiểm tra tính toàn vẹn và gửi các AV đến SN.
Giai đoạn 2: Xác thực và thiết lập khóa. SN gửi yêu cầu xác thực có chứa số ngẫu nhiên và giá trị băm của thông báo đến UIM. Dựa trên số ngẫu nhiên UIM sẽ tính giá trị băm để xác thực SN và đồng thời tính giá trị yêu cầu, khóa mã hóa, khóa kiểm tra tính toàn vẹn. Giá trị yêu cầu được UIM gửi trở lại SN. SN so sánh giữa giá trị yêu cầu thu được và giá trị yêu cầu do HE tính được trước đó để xác thực cho UIM. Còn khóa mã hóa và khóa kiểm tra tính toàn vẹn được dùng cho quá trình truyền thông giữa UIM và SN tương tự như trong hệ GSM đã đề cập ở phần trên.
Tuy nhiên, quá trình tạo khóa bí mật dùng cho UIM (User Identity Module) và HLR/AUC ở CDMA2000 tương đối phức tạp, phụ thuộc vào loại UIM (nhận dạng người dùng cố định với máy điện thoại di động) hay R-UIM (nhận dạng người dùng có thể thay đổi được: Removable User Identity Module) được dùng. Nếu dùng loại R-UIM thì khóa bí mật được tạo ra hoàn toàn tương tự như ở GSM, tức là do nhà khai thác di động thực hiện. Còn trong trường hợp UIM được dùng thì khóa bí mật được tạo ra theo hai cách: hoặc do nhà khai thác thực hiện trong trường hợp máy di động do nhà khai thác bán ra; hoặc được kích hoạt bằng cách gọi đến một số đặc biệt nào đó và nhập vào mã số kích hoạt. Khóa xác thực UAK (UIM Authentication Key) được tạo thông qua quá trình thỏa thuận trên kênh vô tuyến không an toàn. Chính vì thế CDMA2000 có thêm phần xác thực nâng cao trong xác thực và thỏa thuận khóa AKA. Quá trình xác thực nâng cao thường được thực hiện một cách định kỳ theo các bước sau:
l SN tạo một giá trị yêu cầu ngẫu nhiên FRESH-A.
l FRESH-A cùng với COUNT-A (giá trị ngẫu nhiên dùng để tạo ra MAC) được gửi đến HE và MS.
l HE tạo ra XUMAC (giá trị MAC mong đợi nhận từ MS) dựa trên FRESH-A, COUNT-A và UAK.
l UIM tạo ra UMAC từ FRESH-A, COUNT-A và UAK.
l SN so sánh giá trị XUMAC và UMAC nhận được từ MS để xác định tính hợp lệ của UIM.
Quá trình đảm bảo an toàn cho khóa xác thực UAK, hoặc đã được lưu giữ từ trước trên R-UIM, hoặc không thể bỏ đi trên UIM sau khi xác thực.
IV. Kết luận