I. Làm sao để tham gia vào mạng GSM:
Khi một người dùng muốn tham gia vào mạng GSM cần có một số yêu cầu:
1. Một chiếc điện thoại (Mobile Equipment) hoạt động ở dải tần của GSM. Mỗi chiếc điện thoại này có một unique identifier được gọi là IMEI (International Mobile Equipment Identity).
2. Một chiếc SIM (Subscriber Identity Module card), sau khi chiếc SIM của bạn được activated với nhà cung cấp dịch vụ GSM thì bạn có một giá trị tương ứng với SIM đó để tham gia vào mạng, nó được gọi là MSISDN ("Mobile Subscriber Integrated Services Digital Network Number")
hay chính là số điện thoại của bạn đấy.
3. Chi phí sử dụng dịch vụ, tất nhiên rồi.
II. Tổng quan:
Phần này tôi xin trình bày kiến trúc tổng quan nhất của mạng GSM, xin lưu ý đây chỉ là môt hình tổng quan nhất:

- Hệ thống GSM bao gồm các Mobile Station (MS) liên lạc trực tiếp với các Base Transceiver Station.
- Mỗi Base Station Controller (BSC) quản lý một vài BTS tạo thành một vùng gọi là Base Station Subsystem (BSS).
- Các BSC thuộc sự quản lý của MSC (Mobile Switching Center). MSC chịu trách nhiệm chuyển mạch, kết nối các cuộc gọi với nhau, cũng như liên kết với mạng Internet qua giao tiếp SS7.
- MSC có các bản ghi:
+ Home Location Register (HLR): Khi một SIM được activate thì thông tin của nó được lưu giữ trong bản ghi này và được cập nhật thường xuyên.
+ Visitor Location Register (VLR): Cập nhật thông tin di động trong một vùng phủ sóng nhất định. Xin lưu ý VLR quản lý một vùng nào đó nhưng nó vẫn được đặt tại MSC để giảm bớt lượng thông tin truyền tải qua lại giữa các BSC-BTS và MSC, thông tin này tôi tham khảo được trên http://www.gsmworld.com/
+ Equipment Identity Register (EIR): Chứa đựng thông tin về Mobile Station để cho phép một MS có quyền truy cập hệ thống hay không.
- Khi một chiếc SIM được load vào một chiếc điện thoại GSM và điện thoại bật nguồn, nó sẽ tìm kiếm BTS gần nó nhất và thông tin của nó sẽ được lưu giữ vào VLR tương ứng với vùng đó. Thông tin này sẽ được cập nhật vào bản ghi của SIM tương ứng trong HLR để cập nhật vị trí của MS phục vụ cho các cuộc gọi (đến và đi) sau này.
III. Trả lời một số câu hỏi đặt ra:
1. How can the system locate a user?
Khi điện thoại người dùng đang hoạt động (SIM của họ được lắp vào điện thoại GSM có bật nguồn) thì nó tự động tìm kiếm trạm điện thoại (BTS) gần nhất, nếu liên lạc được với một BTS nó sẽ thông báo là nó được định vị trong vùng của BTS đó. Ứng với mỗi vùng BSC-BTS quản lý sẽ có một CSDL được gọi là VLR của các thuê bao trong vùng nó quản lý. Mỗi khi có một điện thoại tham gia vào vùng quản lý của VLR, nó sẽ phải báo cho HLR biết thông tin chi tiết về thuê bao đó và vì thế thông tin được cập nhật vào HLR.
Thông tin về thuê bao luôn được cập nhật vào HLR, thông tin này sẽ được sử dụng trong quá trình "paging" để xử lý một kết nối tới thuê bao đó. Paging là một sự giao tiếp 1-1 (one-to-one) từ Base Station (cụ thể là MSC) tới MS. MSC sử dụng broadcast để thiết lập đường truyền cho paging, tức là nó sẽ gửi thông tin thuê bao cần kết nối tới mọi thuê bao nằm trong vùng của nó, chỉ thuê bao nào có địa chỉ đúng với thông tin trong broadcast mới thiết lập được đường truyền. Đường truyền được thiết lập đó gọi là paging.
//--------------------------------------------------------------------------------------------------------------
2. Why don't all phones ring at the same time?
Theo tôi phần này liên quan chủ yếu tới việc authentication. Mỗi SIM của một MS chứa đựng một giá trị khóa bí mật Ki, khóa này dùng cho dịch vụ xác thực và mã hóa dữ liệu (authentication and encryption services). Khi MSC muốn thiết lập một paging tới một MS (thiết lập một kênh truyền như câu 1 đã trình bày) thì nó truy vấn trong các CSDL của nó lấy ra:
+ 128-bit random challenge (RAND) .
+ 32-bit matching Signed Response (SRES) (dùng giải thuật A3 để mã hóa RAND và Ki tương ứng của MS cần gọi).
+ 64-bit ciphering key được sử dụng như một Session Key (Kc)
(Ứng với thuê bao đang cần gọi tới).
- MSC gửi giá trị Random Challenge (RAND) tới BTS quản lý MS cần gọi và BTS sẽ gửi giá trị RAND 128-bit này tới MS.
- MS nhận được giá trị RAND, nó sẽ mã hóa giá trị RAND này và Individual Subscriber Authentication Key (Ki) của nó sử dụng giải thuật A3 để được một giá trị khóa (SRES). MS gửi giá trị khóa này tới BTS, BTS gửi SRES nhận được về MSC.
- MSC nhận được SRES từ MS nó sẽ so sánh với SRES nó đang có (như đã trình bày trên). Nếu so sánh đúng thì MS tương ứng được xác thực, ngược lại thì không.
Chúng ta có thể thấy trong quá trình BTS gửi giá trị RAND tới MS thì mọi MS nằm trong vùng của nó quản lý đều nhận được giá trị RAND này và cùng dùng giải thuật A3 để sinh ra SRES tương ứng và gửi về cho BTS. BTS gửi tiếp các SRES này tới MSC. Nhưng chỉ có SRES của MS nào trùng với SRES lấy ra của MSC thì MS đó mới được xác thực và kết nối. Do vậy mặc dù cùng nhận được thông điệp từ BTS nhưng chỉ có một MS duy nhất nhận kết nối và KÊU (ring).
- Paging gửi broadcast nhưng nó sẽ chứa các tham số để cho biết chỉ có MS nào mới được phép xử lý paging đó (thông thường paging ở vô tuyến truyền trên 1 vài Time Slot, và trên TS đó có thể có vài MS cùng theo dõi, như vậy paging ở vô tuyến thì vài MS có thể nhận đc 1 Paging cùng lúc). Paging có thể chứa các thông tin về TMSI, IMSI, CI,.. để nhận dạng cho 1 MS (dĩ nhiên 1 MS luôn chỉ có 1 IMSI; còn mỗi TMSI thì được MSC cập nhật để quản lý 1 MS - cái này sẽ giúp bảo mật được MSISDN).
- Sau khi xử lý paging, nếu là dịch vụ thoại thì MS sẽ truy cập vào kênh vô tuyến, báo cho BTS về việc cần thiết lập các kênh giữa BTS - BSC - MSC (một loạt các thủ tục phức tạp bao gồm cả quá trình nhận thực thuê bao và nhận thực thiết bị MS). Sau khi thiết lập được kênh truyền thì MS bị gọi sẽ có chuông, đồng thời MS đó sẽ báo lại với MSC rằng tôi đang ring, MSC nhận được thông tin này sẽ báo cho phía Chủ gọi rằng phía bị gọi đã ok tới đoạn chuông, đồng thời kênh thoại giữa MSC bị gọi tới MSC phía chủ gọi sẽ nghe đc âm hiệu ring back tone từ đầu bị gọi (tiếng tút tút, nếu MS bị gọi có đăng ký clour ring back tone thì MS chủ gọi sẽ được nối tạm với server dịch vụ nhạc chờ để nghe nhạc chờ). Như vậy việc đổ chuông này cũng rất phức tạp, ko chỉ do nhận thực mà phải là một quá trình, trong đó nhận thực chỉ là 1 công đoạn để khởi tạo dịch vụ.
//--------------------------------------------------------------------------------------------------------------
3. Why can an Australian use her phone in Berlin?
Điều này chỉ đúng khi người đó sử dụng một chiếc điện thoại GSM của họ với 2 SIM khác nhau (1 cho mạng GSM ở Australian và một cho mạng GSM tại Berlin). Do mỗi chiếc điện thoại GSM có một unique identifier được gọi là IMEI (International Mobile Equipment Identity) và nó hoạt động trên tần số của mạng GSM (tần số này được quy định là chuẩn nên cho dù tại Australian hay Berlin thì vẫn không thay đổi). Do đó chỉ cần thay đổi SIM để được authenticated với mạng GSM ở vị trí của người đó thì có thể sử dụng được.
Thêm một chút hiểu biết kĩ hơn về Roaming:
- Đây là thuật ngữ chung trong lĩnh vực viễn thông, chỉ vùng mở rộng của dịch vụ kết nối ở địa điểm không phải nơi đăng ký ban đầu. Sự chuyển vùng này diễn ra khi một thuê bao của nhà cung cấp dịch vụ (SP) dùng cơ sở hạ tầng của SP khác. SP thứ 2 này không có thỏa thuận về dịch vụ hay tài chính với thuê bao đó trong việc nhận và gửi thông tin mà làm việc với SP thứ nhất để hỗ trợ người sử dụng.
- Roaming trong mạng ĐTDĐ : Trong mỗi mạng ĐTDĐ khác nhau, quá trình roaming sẽ khác nhau, nhưng về cơ bản như sau:
+ Khi thiết bị di động được bật lên hoặc truyền qua một trạm chuyển tiếp (handover) tới mạng, thì mạng được "ghé thăm" này "nhìn thấy" thiết bị và xác định xem nó có nằm trong danh sách đăng ký hay không và cố gắng xác định mạng "nhà" của nó. Nếu hai mạng trước đó không có thỏa thuận "thông nhau" thì dịch vụ không duy trì được và mạng khách sẽ từ chối.
+ Trong tình huống chấp nhận, mạng khách sẽ liên hệ với mạng nhà và yêu cầu thông tin dịch vụ về thiết bị chuyển vùng đang dùng số IMSI (International Mobile Subscriber Identity) của nó, trong đó có việc thiết bị có được cho phép chuyển vùng hay không. IMSI có khuôn dạng : |Mã nước (MCC) | Mã nhà khai thác dịch vụ (MNC) | MSICn + Nếu thành công, mạng khách bắt đầu duy trì lưu thuê bao tạm thời cho thiết bị. Đồng thời, mạng nhà cập nhật thông tin để xác định thiết bị đang được quản lý trên máy chủ và những thông tin gửi tới thiết bị đó cũng đảm bảo được truyền đi chính xác.
+ Nếu có một cuộc gọi tới chiếc điện thoại đang roaming, mạng điện thoại công cộng sẽ hướng nó đến SP mà nó đăng ký. Sau đó, SP này phải hướng nó tới mạng khách (đã thỏa thuận dịch vụ). Mạng khách sẽ cung cấp một số điện thoại nội bộ tạm thời cho chiếc mobile. Khi số này được xác định, mạng nhà sẽ chuyển tiếp cuộc gọi đến vào số tạm thời và chuyển tới chiếc điện thoại.
(Theo nguồn từ VnExpress).
//--------------------------------------------------------------------------------------------------------------
4. Why can't I simply overhear the neighbor's communication?
Phần này xin tiếp tục với phần authentication tại câu 2.
- Sau khi xác thực được SRES của MS cần gọi tới, MSC gửi tới BTS giá trị Session Key (Kc). (Theo slide của thầy Phương download tại đây thì MSC gửi tới BTS khóa Ki ứng với điện thoại cần gọi và giá trị RAND, BTS tự tạo ra Kc).
- Đồng thời MS cũng tạo ra một Session Key (Kc) khác (bằng giải thuật A8) và cũng gửi tới BTS.
- Sau khi BTS nhận được Kc từ MSC và Kc từ MS, nó so sánh 2 giá trị này, nếu 2 giá trị này giống nhau thì giữa BTS và MS thiết lập được đường truyền với dữ liệu được mã hóa (bằng giải thuật A5).
Trên đường truyền được mã hóa này người dùng khác khó có thể xen vào được.
Theo Nguyễn Tiến Đạt ( Pumpkin's blog).
Tin liên quan:
Tin mới hơn: