Mã hóa khóa công cộng dựa trên hai vấn đề lớn của toán học là bài toán logarit rời rạc và bài toán phân tích thừa số của số nguyên. Phƣơng pháp RSA dựa trên bài toán phân tích thừa số của số nguyên tố và đã đƣợc đƣa ra từ cuối thập niên 70. Phƣơng pháp ECC dựa trên bài toán logarit rời rạc trên trƣờng số của đƣờng cong elliptic (ECDLP) chỉ mới đƣợc đƣa ra từ năm 1985 [4].
Một ƣu điểm của ECC là khả năng bảo mật cao với kích thƣớc khóa nhỏ dựa vào mức độ khó giải quyết của vấn đề ECDLP. Đây chính là một tính chất rất hữu ích đối với xu hƣớng ngày nay là tìm ra phƣơng pháp tăng độ bảo mật của mã hóa khóa công cộng với kích thƣớc khóa đƣợc rút gọn. Kích thƣớc khóa nhỏ hơn giúp thu gọn đƣợc kích thƣớc của chứng nhận giao dịch trên mạng và giảm kích thƣớc tham số của hệ thống mã hóa. Kích thƣớc khóa nhỏ giúp các hệ thống bảo mật dựa trên ECC giảm thời gian tạo khóa. Thời gian tạo khóa thƣờng rất lớn ở các hệ thống RSA. Ngoài ra, việc mã hóa và giải mã trong ECC cũng đƣợc thực hiện nhanh hơn [4].
Bảng 2.2. Bảng so sánh kích thƣớc khóa RSA và ECC với cùng mức độ an toàn Thời gian cần để
tấn công vào khóa (năm) Kích thƣớc khóa Tỉ lệ kích thƣớc khóa RSA : ECC RSA ECC 104 512 106 5:1 108 768 132 6:1 1011 1024 160 7:1 1020 2048 210 10:1 1078 21000 600 35:1
Hình 2.8. So sánh mức độ bảo mật giữa ECC với RSA / DSA
Do đó, ECC rất đƣợc quan tâm để áp dụng cho các ứng dụng trên môi trƣờng giới hạn về thông lƣợng truyền dữ liệu, khả năng tính toán, khả năng lƣu trữ. ECC thích hợp với các thiết bị di động kỹ thuật số, điện thoại di động và thẻ thông minh [8].
Tuy nhiên, ECC vẫn có một số hạn chế nhất định. Hạn chế lớn nhất hiện nay là việc chọn sử dụng các tham số đƣờng cong và điểm quy ƣớc chung nhƣ thế nào để thật sự đạt đƣợc độ bảo mật cần thiết. Hầu hết các đƣờng cong đƣợc đƣa ra đều thất bại khi áp dụng vào thực tiễn. Do đó hiện nay số lƣợng đƣờng cong thật sự đƣợc sử dụng không đƣợc phong phú. NIST đề xuất một số đƣờng cong elliptic curve đã đƣợc kiểm định là an toàn để đƣa vào sử dụng thực tế trong tài liệu FIPS 186-2. Ngoài ra, đối với các tham số mang giá trị nhỏ, mức độ bảo mật của ECC không bằng RSA (khi e = 3). Đối với một số trƣờng hợp RSA vẫn là lựa chọn tốt do RSA đã chứng minh đƣợc tính ổn định trong một khoảng thời gian khá dài [8].
ECC vẫn còn non trẻ và cần đƣợc kiểm định trong tƣơng lai tuy nhiên ECC cung cấp khả năng ứng dụng rất lớn trong lĩnh vực mã hóa khóa công khai trên các thiết bị di động. Tƣơng lai ECC sẽ đƣợc nghiên cứu đƣa vào thực tiễn phổ biến hơn.
2.4. Kết luận
Trong chƣơng 2 tác giả đã trình bày những kiến thức cơ bản về mã hóa trong lý thuyết mật mã, ƣu nhƣợc điểm khi sử dụng các phƣơng pháp mã hóa khác nhau. Đặc biệt tác giả đã trình bày khá chi tiết về lý thuyết hệ mật đƣờng cong Eliptic (Elliptic Curve Cryptography - ECC) và ứng dụng ECC vào việc mã hóa dữ liệu, trao đổi khóa. Với những ƣu điểm nổi bật của ECC sẽ là cơ sở phục vụ việc phân tích và lựa chọn phƣơng pháp mã hóa thích hợp để đề xuất giải pháp bảo mật, phân tích và xây dựng ứng dụng bảo mật thông tin di động 3G.
CHƢƠNG 3: GIẢI PHÁP BẢO MẬT THÔNG TIN TRONG MẠNG 3G 3.1. Bảo mật thông tin di động 3G thế giới
3.1.1. Tổng quan về bảo mật trong mạng 3G
Hai vấn đề quan trọng nhất ảnh hƣởng tới sự phát triển của công nghệ 3G là xác minh ngƣời sử dụng và hạn chế các truy cập mạng trong kiến trúc không đồng nhất, và do tính chất chia sẻ, trạng thái phát sóng, chu vi không rõ ràng và truy cập ẩn, mạng không dây đang đƣợc coi là có lỗ hổng bảo mật lớn hơn so với mạng có dây.
Trong mạng không dây do tính chất không đồng nhất của mạng lƣới nên đã làm tăng khả năng bị tổn thƣơng cho hệ thống khi bị tấn công. Việc hệ thống cung cấp nhiều kết nối có sẵn, một kẻ tấn công sẽ có nhiều cơ hội hơn để tìm kiếm lỗ hổng bảo mật. Bởi vì các thiết bị sẽ đƣợc kết nối tới nhiều giao diện khác nhau thông qua nhiều nhà cung cấp dịch vụ, thiết bị có thể bị tấn công từ mỗi kết nối trên mã liên quan đến trình điều khiển, giao thức truyền thông và các gói tín hiệu, chia sẻ tập tin, tính năng cập nhật và các ứng dụng đƣợc cài đặt khác.
3.1.2. Kiến trúc bảo mật trong mạng 3G
Dịch vụ truy cập trong chuyển mạch gói yêu cầu thiết lập sự liên kết bảo mật giữa các thiết bị ngƣời dùng (UE) và mạng di động mặt đất công cộng (PMLN). Một liên kết bảo mật riêng biệt cũng phải đƣợc thiết lập giữa UE và mạng lƣới hệ thống IMS Core (IMS CN SS) trƣớc khi cấp bất kỳ quyền truy cập tới dịch vụ đa phƣơng tiện đƣợc lƣu trữ [6].
Hình 3.1. Tính năng bảo mật trong mạng 3G
Kiến trúc bảo mật trong mạng không dây 3G gồm bốn nhóm tính năng bảo mật sau:
Bảo mật truy cập mạng: Thiết lập tính năng bảo mật để cung cấp cho ngƣời dùng truy cập bảo mật tới các dịch vụ trong mạng 3G và loại bỏ các tấn công.
Bảo mật mạng lƣới: Thiết lập các tính năng để bật các nút (nodes) trong miền mạng để đảm bảo an toàn trao đổi dữ liệu và chống lại các cuộc tấn công trên mạng truyền dẫn.
Bảo mật ngƣời dùng: Thiết lập các tính năng để bật truy cập bảo mật tới ME/USIM và cung cấp môi trƣờng bảo mật trong ME/USIM.
Bảo mật ứng dụng: Thiết lập tính năng bảo mật ứng dụng cho ngƣời sử dụng và ứng dụng của nhà cung cấp dịch vụ . Khả năng hiển thị và cấu hình bảo mật cho phép ngƣời sử dụng tìm hiểu xem một tính năng an ninh trong mạng hoạt động hay không và liệu việc sử dụng dịch vụ và quy định của dịch vụ có phụ thuộc vào tính năng bảo mật hay không.
3.2. Hiện trạng mạng thông tin di động 3G tại Việt nam 3.2.1. Tình hình triển khai mạng 3G tại Việt Nam 3.2.1. Tình hình triển khai mạng 3G tại Việt Nam
Hiện có 4 mạng di động hoạt động trong lĩnh vực này là VinaPhone, MobiFone, Viettel và Vietnamobile.
- Vinaphone
Vinaphone thiết lập mạng và cung cấp dịch vụ viễn thông di động mặt đất IMT 2000 trong băng tần 1900-2200 MHz.
Mạng 3G của Vinaphone sử dụng công nghệ WCDMA/HSPA tần số 2100 MHz, cho phép triển khai dịch vụ 3G di động băng rộng. Việc cung cấp dịch vụ trên 2 hoặc 3 tần số hầu nhƣ không gây khó khăn cho khách hàng vì máy đầu cuối hiện nay phần lớn đã hỗ trợ 2 băng tần 900/1800 MHz và các máy 3G đều hỗ trợ băng tần 2100MHz. Các dịch vụ 3G cơ bản tại thời điểm khai trƣơng, bao gồm: Video Call, Mobile Internet, Mobile TV, Mobile Camera và Mobile Broadband với nhiều gói cƣớc khác nhau, đƣợc khách hàng đánh giá là một trong các mạng có số lƣợng và chất lƣợng các dịch vụ 3G tốt nhất [14].
- Mobifone
Trong quá trình triển khai MobiFone lựa chọn công nghệ HSPA (High Speed Package Access) cho 3G. Đây là công nghệ cho phép khách hàng truy cập internet, email hay nhận các dịch vụ nội dung số với tốc độ lên tới 7,2 Mbps [15].
MobiFone trở thành mạng di động đầu tiên tại Việt Nam triển khai EDGE trên toàn mạng, nên có thể dùng chung rất nhiều hạ tầng của mạng 2G cho 3G. Một ƣu điểm của MobiFone khi cạnh tranh cung cấp dịch vụ 3G là việc MobiFone đã áp dụng thành công công nghệ Extended cell- một công nghệ cho phép tăng kích thƣớc vùng và chất lƣợng phủ sóng 3G lên tới 4 lần so với thông thƣờng [16].
- Viettel
Viettel triển khai mạng và cung cấp dịch vụ 3G theo chuẩn IMT 2000 trong băng tần 1900-2200MHz. Dịch vụ 3G của Viettel sử dụng chuẩn HSPA (3.75G), có tốc độ đƣờng truyền lên tới 7,2 Mbps. Với chuẩn HSPA thì tốc độ truy cập dịch vụ
Internet di động của Viettel sẽ đạt mức tối thiểu là 2Mbps tại khu vực thành phố, cao hơn 5 lần so với yêu cầu của bộ đƣa ra (384 Kbps) [17].
3.2.2. Thực trạng và nguy cơ mất an toàn của mạng 3G tại Việt Nam.
Dịch vụ mạng di động 3G đã đƣợc sử dụng khá phổ biến ở Việt Nam. Bên cạnh những tính năng đột phá mà 3G mang lại thì song song tồn tại khá nhiều những nguy cơ an ninh mà 3G gặp phải [18].
Ngƣời dùng dịch vụ 3G hiện nay khi kết nối hệ thống mạng 3G giống nhƣ đang dùng chung mạng nội bộ mà không có quản trị viên. Với mạng thông thƣờng, các hacker muốn tấn công phải qua modem; công thêm sự kiểm soát của các nhà cung cấp dịch vụ (ISP) nên ít nhiều hạn chế sự xâm nhập. Hơn nữa, mạng LAN dùng trong các tổ chức/doanh nghiệp còn đƣợc đội ngũ nhân viên kỹ thuật phân quyền, sử dụng tƣờng lửa ngăn chặn xâm nhập. Còn ngƣời dùng mạng 3G gần nhƣ không bị chặn, mã hóa đƣờng truyền và có rất ít các công cụ bảo vệ…
Theo các chuyên gia nghiên cứu về bảo mật thì các nguy cơ mất an ninh và các cuộc tấn công phổ biến thƣờng gặp nhƣ:
- Các hacker có thể sử dụng thuê bao 3G thông thƣờng để tấn công thăm dò và phát hiện các thiết bị kết nối thông qua địa chỉ IP (Internet Protocol), khai thác các lỗ hổng bảo mật, sơ đồ các thiết bị kết nối mạng 3G. Hacker cũng có thể tấn công xâm nhập dựa vào các lỗ hổng, các thƣ mục chia sẻ, dò mật khẩu (nếu mật khẩu yếu, hacker có thể lấy luôn mật khẩu).
- Một hình thức tấn công khác là tấn công trả phí theo lƣu lƣợng sử dụng (OverBilling Attack). Các hacker lợi dụng các gói cƣớc có chi phí thấp và gửi các gói tin đến máy nạn nhân. Khi đó, điện thoại di động (ĐTDĐ) của ngƣời nhận gói tin sẽ bị trừ tiền trong tài khoản hoặc chuyển số dƣ tài khoản vào một ĐTTĐ bất kỳ [18].
- Tấn công giả mạo tin nhắn (Fake SMS) là hình thức hacker có thể giả mạo bất cứ số điện thoại di động nào nhắn tin có mục đích đến nạn nhân
- Ngoài ra, còn có các nguy cơ khác nhƣ virus, phần mềm độc hại và tấn công từ chối dịch vụ (DDoS)...
Trƣớc những nguy cơ trên, đối với ngƣời sử dụng dịch vụ nên ý thức tự bảo vệ mình bằng các hình thức cài đặt mật khẩu mạnh, cài đặt tƣờng lửa (firewall) bảo vệ, cập nhật các bản vá lỗi phần mềm thƣờng xuyên và tắt thiết bị kết nối 3G khi không sử dụng…
3.2.3. Giải pháp bảo mật thông tin di động 3G
Có nhiều cách để bảo mật cho hệ thống thông tin di động 3G, tuy nhiên trong phạm vi của đề tài này tác giả lựa chọn giải pháp bảo mật cho mạng 3G mang tính chất độc lập với các nhà cung cấp dịch vụ, có nghĩa là nếu bằng cách nào đó hacker lấy đƣợc bản mã trên đƣờng truyền, hay tấn công vào tổng đài cũng không thể giải mã đƣợc bản mã. Nhƣ vậy giải pháp bảo mật đƣợc lựa chọn ở đây chính là thực hiện việc bảo mật thông tin trên tầng ứng dụng, tức là đi xây dựng ứng dụng phần mềm cài đặt trên máy điện thoại di động cho phép mã hóa thông tin và việc này hoàn toàn độc lập với nhà cung cấp dịch vụ. Thông tin sau khi đƣợc phần mềm mã hóa sẽ sử dụng hạ tầng viễn thông của nhà cung cấp dịch vụ truyền đi, ở phía nhận sẽ sử dụng phần mềm này để giải mã thu nhận thông tin gốc.
Chức năng bảo mật của ứng dụng gồm:
Bảo mật tin nhắn SMS
Bảo mật thoại
3.3. Phân tích lựa chọn phƣơng pháp mã hóa thông tin
Mã hóa thông tin di động trong hệ thống di động có điểm khác biệt so với mã hóa thông tin trong các hệ thống khác. Mã hóa thông tin trong hệ thống thông tin di động cần đảm bảo các yếu tố:
Đảm bảo tính an ninh, an toàn thông tin.
Độ dài khóa thấp.
Tốc độ mã hóa cao.
Hiện nay, để bảo mật thông tin của các hệ thống thông tin truyền thống, ngƣời ta thƣờng sử dụng các phƣơng pháp sau:
- Sử dụng phương pháp mã hóa khóa đối xứng (ví dụ như DES) kết hợp với giao thức trao đổi khóa hoặc phương pháp phân phối khóa (ví dụ như Diffie Hellman)
Phƣơng pháp này rất hiệu quả đối với một hệ thống truyền thông bình thƣờng ví dụ nhƣ một mạng máy tính. Tuy nhiên mạng điện thoại di động có những đặc thù về thiết lập phiên kết nối, nên sẽ là không thực tế nếu ta áp dụng vào hệ thống thông tin di động vì rất khó để triển khai các giao thức trao đổi khóa hoặc phƣơng pháp phân phối khóa.
- Sử dụng phương pháp mã hóa khóa công khai RSA
Phƣơng pháp mã hóa RSA là một phƣơng pháp mã hóa nổi tiếng và rất thông dụng. Nhƣng do RSA dựa trên lý thuyết số nguyên tố lớn, các phép toán là “mũ” cho nên tiêu tốn rất nhiều phần cứng, yêu cầu bộ nhớ dung lƣợng cao, tốc độ xử lý nhanh.
Để đảm bảo bí mật, RSA sử dụng khóa có độ dài lớn.
Để thực hiện hệ mật mã RSA cho một mạng truyền tin bảo mật, ngoài việc xây dựng các chƣơng trình tính hoán hàm E (với tham biến đầu vào là n, e, x) và hàm D (với tham biến đầu vào là n, d, y), ta còn phải chọn cho mỗi ngƣời tham gia một bộ (n, e, d) để tạo các khóa công khai K’ và khóa bí mật K”. Hệ mật mã của mỗi ngƣời tham gia chỉ có khả năng bảo mật khi n = p.q là số nguyên rất lớn (và do đó p, q cũng phải là số nguyên tố rất lớn – nghĩa là p, q phải có biểu diễn thập phân cỡ hơn 100 chữ số) do đó, n có cỡ hơn 200 chữ số thập phân, hay n >= 10200
.
Tính toán các số e, d hay thực hiện các hàm E, D đều chủ yếu là thực hiện các phép toán số học trên các số nguyên dƣơng rất lớn. Vấn đề này trong các năm qua, khi các lập trình viên máy tính đã đề xuất nhiều chƣơng trình máy tính làm việc có hiệu quả. Tuy nhiên, khi ứng dụng vào điện thoại di động với khả năng phần cứng hạn chế là một điểm bất lợi lớn.
Chính vì những lý do nhƣ vậy mà RSA là không thích hợp cho việc triển khai trên điện thoại di dộng, thiết bị có khả năng phần cứng giới hạn.
- Sử dụng phương pháp mã hóa đường cong Elliptic
Năm 1985, Neal Koblitz và V.S.Miller đã độc lập nhau đề xuất việc sử dụng các đƣờng cong Elliptic cho các hệ mã hóa khóa công khai. Họ không phát minh ra thuật toán mã hóa mới với đƣờng cong Elliptic trên trƣờng hữu hạn, mà họ dùng những thuật toán đã có nhƣ Diffie – Hellman, sử dụng các đƣờng cong Elliptic.
Các đƣờng cong Elliptic có thể dùng trong nhiều ứng dụng nhƣ kiểm thử số nguyên tố hoặc bài toán ƣớc số nguyên. Phƣơng pháp mã hóa sử dụng đƣờng cong Elliptic (ECC) đƣợc dự báo là sẽ phổ biến hơn RSA, khóa nhỏ gọn hơn nhiều (163bit) so với RSA (1024bit). Độ dài khóa ảnh hƣởng rất nhiều đến tốc độ mã hóa, giúp chúng đƣợc thực hiện nhanh hơn so với RSA. Do đó, ECC là phƣơng pháp rất hiệu quả để triển khai thực hiện mã hóa trên điện thoại di động.
Việc sử dụng các phép toán trên trƣờng hữu hạn các điểm của đƣờng cong Elliptic (đặc biệt là phép bội đối với nhóm cyclic các điểm trên đƣờng cong Elliptic) thay cho việc dựa vào các số nguyên tố lớn làm cho phƣơng pháp mã hóa khóa công khai trên đƣờng cong Elliptic có khóa nhỏ hơn nhiều và tốc độ mã hóa nhanh hơn nhiều so với phƣơng pháp mã hóa RSA (và các phƣơng pháp mã hóa khác).
Phƣơng pháp mã hóa khóa công khai trên đƣờng cong Elliptic là phù hợp nhất đối với việc triển khai cài đặt trên môi trƣờng điện thoại di động và quy trình thiết lập