An ninh trong hệ thống thông tin di động
Trang 1KHOA: ĐIỆN – ĐIỆN TỬ
Trang 3MỤC LỤC
PHẦN I: PHẦN BẮT BUỘC
PHÂN TÍCH ĐỘ PHỨC TẠP TRONG VIỆC TÌM CÁC KHÓA BÍ MẬT
CỦA THUẬT TOÁN RSA
I.1 Thuật toán RSA.
Giới thiệu về RSA
Thuật toán RSA là một thuật toán mật mã hóa khóa công khai Đây là thuật toán
đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa Nó đánhdấu một sự tiến bộ vượt bậc của lĩnh vực mật mã học trong việc sử dụng khóa côngcộng RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho là đảmbảo an toàn với điều kiện độ dài khóa đủ lớn
Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vàonăm 1977 tại Học viện Công nghệ Massachusetts (MIT) Tên của thuật toán lấy từ 3chữ cái đầu của tên 3 tác giả
Thuật toán RSA
Thuật toán
Trang 4Cho n là tích của 2 số nguyên tố p và q, xét tập K gồm 5 phần tử {(n,p,q,a,b), trong
đó n=p*q, p,q là số nguyên tố, ab≡ 1 (mod ɸ(n))} Mã hóa tin x thành ek (x) = x^bmod
n để truyền và nhận dk (y) = y^bmod n ; (x,y € Zn) Giá trị n và b là công khai; p, q, a
là bí mật
Giả sử A và B cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụnhư Internet) Với thuật toán RSA, đầu tiên A cần tạo ra cho mình cặp khóa gồm khóacông khai và khóa bí mật theo các bước sau:
nhiên và độc lập
tố cùng nhau với
Một số lưu ý
• Các số nguyên tố thường được chọn bằng phương pháp thử xác suất
• Các bước 4 và 5 có thể được thực hiện bằng giải thuật Euclid mở rộng
• Bước 5 có thể viết cách khác: Tìm số tự nhiên sao cho
cũng là số tự nhiên Khi đó sử dụng giá trị
• Ở bước 3 ta có thể sử dụng thay cho
Khóa công khai bao gồm:
Trang 5Một dạng khác của khóa bí mật bao gồm:
p and q, hai số nguyên tố chọn ban đầu,
d mod (p-1) và d mod (q-1) (thường được gọi là dmp1 và dmq1), (1/q) mod p (thường được gọi là iqmp)
Dạng này cho phép thực hiện giải mã và ký nhanh hơn với việc sử dụng định lýThặng dư Trung Hoa Ở dạng này, tất cả thành phần của khóa bí mật phải được giữ bímật
A gửi khóa công khai cho B và giữ bí mật khóa cá nhân của mình Ở đây, p và
q giữ vai trò rất quan trọng Chúng là các phân tố của n và cho phép tính d khi biết e.
Nếu không sử dụng dạng sau của khóa bí mật (dạng CRT) thì p và q sẽ được xóa ngay
sau khi thực hiện xong quá trình tạo khóa Me
I.2 Cách thực hiện thuật toán RSA.
Mã hóa
Giả sử B muốn gửi đoạn thông tin M cho A Đầu tiên B chuyển M thành một số
m < n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận
trước Lúc này B có m và biết n cũng như e do A gửi, B sẽ tính c là bản mã hóa của m
theo công thức:
Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng
thuật toán bình phương và nhân Cuối cùng B gửi c cho A.
Giải mã
A nhận c từ B và biết khóa bí mật d A có thể tìm được m từ c theo công thức sau:
Biết m, A tìm lại M theo phương pháp đã thỏa thuận trước Quá trình giải mã hoạt
động vì ta có
Trang 6
Do ed ≡ 1 (mod p-1) và ed ≡ 1 (mod q-1), (theo định lý Fermat nhỏ) nên:
và
Do p và q là hai số nguyên tố cùng nhau, áp dụng định lý Thặng dư Trung Hoa, ta có:
.hay:
Hì
nh 1: Mã hóa và giải mã
Các định lý cơ sở
Thuật toán RSA dựa trên các định lý sau:
Đinh lý 1 (Định lý nhỏ của Fermat):
Với p là một số nguyên tố khác 2 thì chia một số a lũy thừa p cho p sẽ có số dư chínhbằng a:
Mở rộng ta có
với là số nguyên tố cùng nhau với m và nhỏ hơn m
Đinh lý 2(Định lý Thặng dư Trung Hoa):
Trang 7Cho hệ phương trình đồng dư bậc nhất
trong đó m1,m2, ,m k đôi một nguyên tố cùng nhau
Sau đây là một ví dụ với những số cụ thể Ở đây chúng ta sử dụng những số nhỏ
để tiện tính toán còn trong thực tế phải dùng các số có giá trị đủ lớn
Lấy 2 số nguyên tố khác nhau p, q:
Trang 8e là số nguyên tố cùng nhau với
Khóa công khai là cặp (e, n) Khóa bí mật là d Hàm mã hóa là:
c = encrypt(m) = me mod n = m17 mod 143
với m là văn bản rõ Hàm giải mã là:
m = decrypt(c) = cd mod n = c113 mod 143
Chúng ta xét đến trường hợp khi kẻ địch nào đó biết được modulo N, khoá côngkhai KB và bản tin mã hoá C, khi đó kẻ địch sẽ tìm ra bản tin gốc (Plaintext) như thế
Trang 9nào Để làm được điều đó kẻ địch thường tấn vào hệ thống mật mã bằng hai phươngthức sau đây:
• Phương thức thứ nhất :
Trước tiên dựa vào phân tích thừa số modulo N Tiếp theo sau chúng sẽ tìm cáchtính toán ra hai số nguyên tố p và q, và có khả năng thành công khi đó sẽ tính đượcλ(N) và khoá bí mật kB Ta thấy N cần phải là tích của hai số nguyên tố, vì nếu N làtích của hai số nguyên tố thì thuật toán phân tích thừa số đơn giản cần tối đa √N bước,bởi vì có một số nguyên tố nhỏ hơn √N Mặt khác, nếu N là tích của n số nguyên tố,thì thuật toán phân tích thừa số đơn giản cần tối đa N1/n bước
Một thuật toán phân tích thừa số có thể thành phức tạp hơn, cho phép phân tíchmột số N ra thành thừa số trong O( √P) bước, trong đó p là số chia nhỏ nhất của N,việc chọn hai số nguyên tố là cho thuật toán tăng hiệu quả
O(exp √lnNln(lnN)), trong đó N là số modulo
I.3.2 Độ phức tạp trong việc tìm khóa bí mật của thuật toán RSA
Ngay từ khi được công bố lần đầu, hệ RSA đã được phân tích hệ số an toàn bởinhiều nhà nghiên cứu Mặc dầu đã trải qua nhiều năm nghiên cứu và đã có một sốcuộc tấn công ấn tượng nhưng không mang lại kết quả là phá hủy Đa phần họ mớichỉ ra được những mỗi nguy hiểm tiềm ẩn của RSA mà khi sử dụng RSA người dùngcần cải thiện Thực tế vấn đề thám mã đối với hệ mật RSA hiện tại đang được các nhànghiên cứu tập trung khai thác các sơ hở của RSA như: tấn công vào số mũ công khaihoặc số mũ bí mật thấp, tấn công vào các tham số nguyên tố p, q bé hoặc cách xanhau lớn, hoặc họ tập trung vào việc phân tích nhân tử số n (modul của RSA) Tuynhiên đối với số n lớn, chẳng hạn từ n=10 trở lên thì các phương pháp hiện tại khôngphát huy được hiệu quả hoặc chạy chậm và tỏ ra không có kết quả như mong muốn
Cách bảo mật và độ an toàn của RSA dự trên 2 vấn đề toán học Đó là:
- Bài toán phân tích ra thừa số nguyên tố của số nguyên lớn
- Bài toán RSA dựa trên định lý nhỏ của Fermat và định lý Thặng dư Trung Hoa.Nếu 2 bài toán trên không tìm được thuật toán để giải hiệu quả thì không thựchiện được việc phá khóa đối với RSA
Trang 10Tính bảo mật của RSA chủ yếu dựa vào việc giữ bí mật khóa giải mã hay giữ bímật các thừa số p,q của N
* Phân tích N thành thừa số nguyên tố N = pq:
Chúng ta đã nói rằng việc phân tích phải là bất khả thi thì mới là hàm mộtchiều, là nguyên tắc hoạt động của RSA Tuy nhiên, nhiều thuật toán phân tích mới đãđược đề xuất, cùng với tốc độ xử lý của máy tính ngày càng nhanh, đã làm cho việcphân tích N không còn quá khó khăn như trước đây Năm 1977, các tác giả của RSA
đã treo giải thưởng cho ai phá được RSA có kích thước của N vào khoảng 428 bít, tức
129 chữ số Các tác giả này ước đoán phải mất 40 nghìn triệu triệu năm mới có thểgiải được Tuy nhiên vào năm 1994, câu đố này đã được giải chỉ trong vòng 8 tháng.Bảng sau liệt kê kích thước N của các RSA đã phá mã được cho đến hiện nay
Bảng liệt kê các mốc phá mã RSA
Trang 11Dĩ nhiên là việc phá mã trên chỉ được thực hiện trong phòng thí nghiệm Tuynhiên người ta cho rằng kích thước của N phải khoảng 1024 bít (309 chữ số) thì mớibảo đảm an toàn thật sự.
* Đo thời gian:
Đây là một phương pháp phá mã không dựa vào mặt toán học của thuật toánRSA, mà dựa vào một “hiệu ứng lề” sinh ra bởi quá trình giải mã RSA Hiệu ứng lề đó
là thời gian thực hiện giải mã Giả sử người phá mã có thể đo được thời giải mã dùngthuật toán bình phương liên tiếp Trong thuật toán bình phương liên tiếp, nếu một bítcủa d là 1 thì xảy ra hai phép modulo, nếu bít đó là 0 thì chỉ có một phép modulo, do
đó thời gian thực hiện giải mã là khác nhau Bằng một số phép thử chosen-plaintext,người phá mã có thể biết được các bít của d là 0 hay 1 và từ đó biết được d Phươngpháp phá mã này là một ví dụ cho thấy việc thiết kế một hệ mã an toàn rất phức tạp.Người thiết kế phải lường trước được hết các tình huống có thể xảy ra
Trong hệ mã hoá công khai thì khoá giải mã (private key) kB và các thừa số p,q
là được giữ bí mật và sự thành công của phương pháp là tuỳ thuộc vào kẻ địch có khảnăng tìm ra được giá trị của kB hay không nếu cho trước N và KB Rất khó có thể tìm
ra được kB từ KB cần biết về p và q, như vậy cần phân tích N ra thành thừa số để tính
p và q Nhưng việc phân tích ra thừa số là một việc làm tốn rất nhiều thời gian, với kỹthuật hiện đại ngày nay thì cần tới hàng triệu năm để phân tích một số có 200 chữ số rathừa số
Độ an toàn của thuật toán RSA dựa trên cơ sở những khó khăn của việc xác địnhcác thừa số nguyên tố của một số lớn Bảng dưới đây cho biết các thời gian dự đoán,giả sử rằng mỗi phép toán thực hiện trong một micro giây
Số các chữ số trong số được phân tích
Thời gian phân tích
Trang 12PHẦN II: PHẦN TỰ CHỌN
VẤN ĐỀ AN NINH TRONG MẠNG 2G II.1 Giới thiêụ ngắn gọn về GSM
GSM viết tắt của từ “ Global System for Mobile communication”- Hệ thốngthông tin di động toàn cầu là mạng di động phổ biến nhất trên thế giới Cái tên GSMđầu tiên được ra đời từ một nhóm được gọi là “Group Special Mobile” - nhóm diđộng đặc biệt, được thành lập vào năm 1982 tại hội nghị Châu Âu về vấn đề quản lýviễn thông và bưu điện để phát triển hệ thống di động liên Châu Âu có thể thay thếrất nhiều mạng di dộng không tương thích Châu Âu lúc bấy giờ Nhưng khi dịch vụGSM bắt đầu từ năm 1991, từ viết tắt “GSM” được đổi tên từ “Group SpecialMobile” thành “Global System for Mobile” GSM là một công nghệ dùng cho mạngthông tin di động Dịch vụ GSM được sử dụng bởi hơn 2 tỷ người trên 212 quốc gia vàvùng lãnh thổ Các mạng thông tin di động GSM cho phép có thể roaming với nhau do
đó những máy điện thoại di động GSM của các mạng GSM khác nhau ở có thể sửdụng được nhiều nơi trên thế giới
GSM là chuẩn phổ biến nhất cho điện thoại di động trên thế giới Khả năng phúsóng rộng khắp nơi của chuẩn GSM làm cho nó trở nên phổ biến trên thế giới, chophép người sử dụng có thể sử dụng điện thoại di động của họ ở nhiều vùng trên thếgiới GSM khác với các chuẩn tiền thân của nó về cả tín hiệu và tốc độ, chất lượng
cuộc gọi Nó được xem như là một hệ thống điện thoại di động thế hệ thứ hai (second generation, 2G) GSM là một chuẩn mở, hiện tại nó được phát triển bởi 3rd
Generation Partnership Project (3GPP) Đứng về phía quan điểm khách hàng, lợi thếchính của GSM là chất lượng cuộc gọi tốt hơn, giá thành thấp và dịch vụ tin nhắn.Thuận lợi đối với nhà điều hành mạng là khả năng triển khai thiết bị từ nhiều ngườicung ứng GSM cho phép nhà điều hành mạng có thể sẵn sàng dịch vụ ở khắp nơi, vìthế người sử dụng có thể sử dụng điện thoại của họ ở khắp nơi trên thế giới Các kiếntrúc tiêu biểu của hệ thống mạng GSM được biểu diễn trong hình số 2
Trang 13Hình 2 Cấu trúc mạng GSM
Mạng GSM có thể được chia thành 3 phần Trạm di động được người thuê baomang theo Hệ thống trạm gốc điều khiển kết nối vô tuyến với trạm di động Hệthống mạng, với bộ phận chính là trung tâm chuyển mạch dịch vụ di động, thực hiệnviệc chuyển cuộc gọi giữa các thuê bao di động và giữa các thuê bao di động với cácthuê bao của mạng cố định, cũng như quản lý các dịch vụ điện thoại di động, như làxác thưc Ở đây không vẽ trung tâm vận hành bảo dưỡng với chức năng đảm bảo vậnhành và thiết lập mạng Trạm di động và hệ thống trạm gốc giao tiếp thông qua giaodiện không gian hoặc kết nối vô tuyến Trajm gốc và hệ thống mạng còn được gọi làmạng cố định
II.1.1 Trạm di động
Trạm di động (MS) bao gồm thiết bị di động và thẻ nhận dạng thuê bao diđộng Các thiết bị di động phổ biến nhất là điện thoại di động Chỉ cần cho thẻSIM vào điện thoại di động, người dùng có thể nhận các cuộc gọi, thực hiên cáccuộc gọi từ máy đó hoặc nhận đăng ký dịch vụ khác Các thiết bị di động xácnhận nhận dạng thiết bị di động quốc tế (IMEI)
Thẻ SIM chứa các thông tin nhạy cảm như : nhận dạng thuê bao di độngquốc tế (IMSI) , Ki ( một khóa bí mật chứng thực ) và thông tin người dùng khác.Tất cả các thông tin này có thể được bảo vệ bằng số nhận dạng cá nhân (PIN)
thông minh
Trang 14II.1.2 Hệ thống trạm gốc
Hệ thống trạm gốc bao gồm trạm thu phát gốc (BTS) và trạm điều khiển gốc.Trạm thu phát gốc có bộ thu phát vô tuyến xác định một ô và thiết lập giao thứckết nối vô tuyến với trạm di động Trong một khu đô thị lớn thì số lượng trạmBTS cần lắp đăt sẽ rất lớn Trạm điều khiển gốc quản lý tài nguyên vô tuyến chomột hoặc nhiều trạm BTS Nó thực hiện lập kênh vô tuyến, phân bố tần số vàchuyển vùng BSC được kết nối giữa trạm di động và tổng đài chuyển mạch diđộng (MSC) BTS cũng dịch kênh thọai 13kbps được sử dụng trên các kết nối vôtuyến n kênh chuẩn 64kbps được sử dụng trong hệ thống chuyển mach công cộnghay ISDN
II.1.3 Hệ thống mạng
Thành phần trung tâm của hệ thống mạng là tổng đài chuyển mạch di động
Nó hoạt động giống như một tổng đài chuyển mạch PSTN hoặc ISDN thôngthường, và cung cấp tất cả các chức năng cần thiết cho một thuê bao di động như :đăng ký, xác thực, cập nhật vị trí, chuyển vùng, định tuyến cuộc gọi tới một thuêbao roaming (chuyển vùng) MSC cung cấp kết nối đến mạng cố định ( PSTN hoặcISDN) Báo hiệu giữa các thành phần chức năng trong hệ thống mạng sử dụng Hệthống báo hiệu số 7 (SS7)
Bộ ghi địa chỉ thường trú (HLR) và Bộ ghi địa chỉ tạm trú (VLR) cùng vớitổng đài chuyển mạch di động MSC cung cấp khả năng định tuyến cuộc gọi vàroaming cho GSM HLR bao gồm tất cả các thông tin quản trị cho các thuê bao đã
được đăng ký của mạng GSM, cùng với vị trí hiện tại của thuê bao Vị trí của thuêbao thường dưới dạng địa chỉ báo hiệu của VLR tương ứng với trạm di động Chỉ
có một HLR logic cho toàn bộ mạng GSM mặc dù nó có thể được triển khai dướidạng cơ sở dữ liệu phân bố
Bộ ghi địa chỉ tạm trú (VLR) bao gồm các thông tin quản trị được lựa chọn từHLR, cần thiết cho đièu khiẻn cuộc gọi và cung cấp dịch vụ thuê bao, cho các diđộng hiện đang ở vị trí mà nó quản lý Mặc dù các chức năng này có thể đượctriển khai ở các thiết bị độc lập nhưng tất cả các nhà sản xuất tổng đài đều kếthợp VLR vào MSC, vì thế việc điều khiển vùng địa lý của MSC tương ứng với
Trang 15trạm di động cụ thể - thông tin này được chứa ở bộ ghi địa chỉ
Có hai bộ ghi khác được sử dụng cho mục đính xác thực và an ninh Bộ ghinhận dạng thiết bị (EIR) là một cơ sở dữ liệu chứa một danh sách của tất cả cácmáy điện di dộng hợp lệ trên mang với mỗi máy điên thoại được phân biệt bởi sốIMEI Một IMEI bị đánh dấu là không hợp lệ nếu nó được báo là bị mất cắp hoăc
có kiểu không tương thích Trung tâm xác thực (AuC) là một cơ sở dữ liệu bảo vệchứa bản sao các khoá bảo mật của mỗi card SIM, được dùng xác thực và mã hoátrên kênh vô tuyến
II.2 Mô hình bảo mật trong GSM
II.2.1 Mục đích của việc bảo mật trong GSM
Việc sử dụng liên lạc vô tuyến truyền tín hiệu làm cho các thuê bao di độngGSM của mạng di động mặt đất công cộng đặc biệt nhạy cảm với việc sử dụng saimục đích nguồn tài nguyên vô tuyến của những người sử dụng trái phép các trạm diđộng, những người cố gắng mạo danh người đăng ký có thẩm quyền nghe trộm cácthông tin khác nhau được trao đổi trên đường truyền vô tuyến Vì vậy các tính năngbảo mật trong GSM được thực hiện để bảo vệ :
• Truy cập vào các dịch vụ di động
• Bất kì một mục có liên quan nào đều không được tiết lộ từ các đườngtruyền vô tuyến, chủ yếu là để đảm bảo quyền riêng tư của người sửdụng thông tin liên quan
II.2.2 Tính năng bảo mật GSM
Một số chức năng bảo mật đã được tích hợp vào GSM nhằm bảo vệ Người dùng,bao gồm:
• Xác thực chủ thể thuê bao đăng ký
• Sử dụng mã hóa để đảm bảo bí mật thông tin trao đổi
• Bảo vệ định danh thuê bao
• Điện thoại di động không hoạt động nếu không có SIM
• SIM bị nhân bản không đươc cho phép trên mạng
• Ki được lưu trữ an toàn
II.2.2.1 Xác thực của các thuê bao đăng kí
Sự xác thực của nhận dạng thuê bao di động quốc tế (IMSI) chính là sự chứngthực cơ bản của một phần hệ thống nhận dạng thuê bao (IMSI hoặc TMSI), chuyển