0
Tải bản đầy đủ (.pdf) (70 trang)

Mô hình phân cấp chức năng của hệ thống

Một phần của tài liệu NGHIÊN CỨU GIẢI PHÁP BẢO MẬT MẠNG 3G (Trang 48 -48 )

Hệ thống bao gồm những chức năng chính sau (hình 3.6)

Hình 3.6. Mô hình phân cấp chức năng của hệ thống 3.5.4. Chức năng thiết lập kết nối.

Bảo mật thoại

Thiết lập kết nối Quản trị khóa Truyền nhận tín hiệu âm thanh

Mã hóa và giải mã dữ liệu

Tạo khóa công khai/bí mật

Trao đổi khóa công khai

Mỗi lần thực hiện cuộc gọi, các user đều phải thực đăng ký tới máy chủ SIP (hình 3.7) và sau đó SIP Server sẽ tạo phiên làm việc cho các user để thực hiện cuộc gọi (hình 3.8)

Hình 3.7. Quá trình user đăng ký tới máy chủ SIP

Hình 3.8. SIP Server tạo phiên làm việc cho các user 3.5.5. Chức năng quản trị khóa

Chức năng quản trị khóa đƣợc thực hiện qua 2 quá trình: quá trình tạo khóa và quá trình trao đổi khóa.

Mỗi lần thiết lập cuộc gọi, giữa hai bên thu nhận sẽ phải tạo ra cặp khóa bí mật/công khai của mình và thực hiện quá trình trao đổi khóa cho nhau. Vì thế ta cần xây dựng chức năng quản trị khóa với các quá trình sau:

Để mã hóa và giải mã, chúng ta xây dựng một đƣờng cong Elliptic trên trƣờng hữu hạn, đƣờng cong có dạng: (E) y2

= x3 + ax + b. Với các tham số a, b và điểm cơ sở P(x, y) E đƣợc lựa chọn từ trƣớc.

Ví dụ: Đƣờng cong Elliptic với khóa có kích thƣớc 256 bit

a = 115792089210356248762697446949407573530086143415290314195533631308867097853948 b = 41058363725152142129326129780047268409114441015993725554835256314039467401291 x = 48439561293906451759052585252797914202762949526041747995844080717082404635286 y = 36134250956749795798585127919587881956611106672985015071877198253568414405109

Khóa bí mật của ngƣời sử dụng đƣợc tạo ra một cách ngẫu nhiên sử dụng phƣơng thức tạo số ngẫu nhiên. Khóa công khai đƣợc tạo bằng cách bội k lần điểm cơ sở P(x, y) pk(x, y) = k * P(x, y) Ví dụ: Khóa có kích thƣớc 256 bit – sk, pk(x, y) sk = 111809679588281292028419865137726866135454716029273445329238669915148149018647 x = 107317504824797556370614387232103655718868186078211666892634154570499075964029 y = 19760838829061322597720907248771478187002657505342052311764641955791339620234

Quá trình trao đổi khóa

Quá trình trao đổi khóa công khai đƣợc minh họa nhƣ hình 3.9.

Hình 3.9. Minh họa quá trình trao đổi khóa công khai

Để trao đổi khóa giữa hai ngƣời dùng, ta sử dụng thuật toán trao đổi khóa cho mã hóa đƣờng cong elliptic dựa trên thuật toán RSA. Khóa công khai của ngƣời nhận sẽ đƣợc ngƣời gửi sử dụng để mã hóa dữ liệu, khi đó, ngƣời nhận sẽ sử dụng khóa bí mật của mình để giải mã dữ liệu nhận đƣợc từ ngƣời gửi.

Khi khởi tạo thành công cặp khóa, ngƣời dùng sẽ thực hiện đăng ký khóa bằng phƣơng pháp truy cập tới một tệp dữ liệu dùng chung. Dữ liệu đƣợc lƣu bao gồm tên ngƣời dùng và khóa công khai của ngƣời dùng đó. Ngƣời dùng thực hiện kết nối và truy cập tới tệp đó sử dụng giao thức FTP.

Việc sử dụng mỗi cặp khóa ngẫu nhiên trong mỗi phiên kết nối của cuộc gọi thoại đảm bảo dữ liệu đƣợc mã hóa một cách an toàn hơn khi sử dụng khóa cố định. Khi đó, trƣớc mỗi cuộc gọi đi, chƣơng trình sẽ thực hiện kết nối tới nơi lƣu trữ khóa công khai và nhận khóa công khai của ngƣời nhận cuộc gọi. Nếu thành công, chƣơng trình sẽ thiết lập kết nối cuộc gọi thoại tới ngƣời nhận. Đồng thời, mỗi khi nhận đƣợc

Ngƣời gọi A Máy chủ FTP Ngƣời gọi B

Kết nối, truy cập Kết nối, truy cập

yêu cầu kết nối, chƣơng trình sẽ thực hiện kết nối tới lƣu trữ khóa công khai và nhận khóa công khai của ngƣời gọi.

3.5.6. Chức năng mã hóa và giải mã dữ liệu

Chức năng này chúng ta sẽ đề cập đến việc mã hóa và giải mã dữ liệu âm thanh sử dụng hệ mật đƣờng cong elliptic, với việc mã hóa sử dụng khóa có kích thƣớc 112, 160, 256 bit.

Chức năng mã hóa đƣợc kích hoạt sau khi chức năng kết nối thiết lập thành công kết nối giữa ngƣời gọi tới SIP Server và giữa SIP Server với ngƣời nhận. Công việc của chức năng mã hóa là gọi tới các phƣơng thức mã hóa tiếng nói sử dụng phƣơng pháp mã hóa đƣờng cong elliptic (hình 3.10). Dữ liệu đƣợc chia thành các gói (RTP packet) sau khi mã hóa sẽ đƣợc gửi đi, sử dụng giao thức truyền nhận RTP (hình 3.11).

Hình 3.10. Lƣu đồ giải thuật chức năng mã hóa

Buffer

Running

Mã hóa sử dụng đƣờng cong Elliptic

Kết thúc

Lấy một gói dữ liệu từ buffer

Chép gói dữ liệu vào buffer

Sai

Hình 3.11. Lƣu đồ giải thuật truyền dữ liệu

Chức năng giải mã đƣợc kích hoạt đƣợc kích hoạt tƣơng tự nhƣ chức năng mã hóa. Chƣơng trình sẽ sử dụng giao thức RTP để nhận dữ liệu (hình 3.12). Sau đó chức năng giải mã sẽ xác định phƣơng pháp giải mã tƣơng ứng với phƣơng pháp mã hóa đƣợc sử dụng ở bên ngƣời gửi. Sau khi dữ liệu đƣợc giải mã, dữ liệu đƣợc chuyển vào buffer phát tiếng nói (hình 3.13)

Hình 3.12. Lƣu đồ giải thuật nhận dữ liệu

Bắt đầu

Có gói tin chƣa nhận

Dùng giao thức RTP

Lấy gói tin

Kích hoạt chức năng giải mã Kết thúc Sai Đúng Bắt đầu Buffer truyền có dữ liệu

Lấy một gói dữ liệu từ Buffer truyền

Kích hoạt chức năng mã hóa

Truyền theo giao thức RTP

Kết thúc

Sai

Hình 3.13. Lƣu đồ giải thuật chức năng mã hóa 3.5.7. Phát triển ứng dụng

Do nhu cầu sử dụng VoIP rất lớn nên hiện nay đã có nhiều nhà phát triển các ứng dụng để gọi điện thoại trên nền VoIP, nổi bật trong đó có Sipdroid của nhà phát triển i-p-tel GmbH, ngƣời sử dụng có thể tải ứng dụng về và cài đặt theo địa chỉ:

http://vi.4androidapps.net/developer/i-p-tel-gmbh

Tuy nhiên các cuộc trao đổi thoại qua ứng dụng này chƣa đảm bảo tính năng bảo mật, có thể dẫn đến nguy cơ mất an ninh an toàn thông tin khi các Sip phone thực hiện giao dịch với nhau.

Xuất phát từ nhiệm vụ của đề tài luận văn, tác giả đã vận dụng những kiến thức đã tìm hiểu, nghiên cứu trong quá trình làm đề tài để tích hợp thêm tính năng bảo mật cho ứng dụng.

Trƣớc hết chúng ta vào googlecode để tải mã nguồn của ứng dụng theo địa chỉ

http://sipdroid.googlecode.com/svn/trunk/ , để làm đƣợc điều này thì chúng ta phải check out bằng SVN (Subversion) thông qua bộ cài đặt TortoiseSVN.

Công việc còn lại là chúng ta đi xây dựng các package bao gồm các class đáp ứng các chức năng của hệ thống nhƣ đã trình bày ở mục 3.5.3.

Bảng 3.1. Mô tả các package và các class tƣơng ứng.

Buffer

Running

Giải mã sử dụng đƣờng cong Elliptic

Kết thúc

Lấy một gói dữ liệu từ buffer

Chép gói dữ liệu vào buffer

Sai

package class Ý nghĩa

taovb.ecc.elliptic

EllipticCurve Lớp định nghĩa đường cong Elliptic

CryptElliptic Lớp tạo khóa

ECkey Lớp tạo khóa private và public

taovb.ftp.client FTPUtils Lớp tương tác với Server

org.sipdroid.sipua.ui

sipdroid Lớp cập nhật khóa công khai lên ftp Server và nhận khóa công khai

EncryptElliptic Lớp thực hiện mã hóa

DecryptElliptic Lớp thực hiện giải mã

3.5.8. Cài đặt hệ thống

Để triển khai mô hình, hệ thống bao gồm các thành phần:

 Hai thiết bị di động (điện thoại) cài đặt chƣơng trình và một máy tính cài SIP server.

 Sử dụng một FTP Server để phân phối khóa công khai của ngƣời dùng.

 Kết nối vật lý LAN, Internet...

3.5.8.1. Cài đặt máy chủ SIP

Cài đặt máy chủ SIP sử dụng phần mềm OfficeSIP Server (tải về tại http://www.officesip.com), giao diện nhƣ hình . Khi có một kết nối thành công tới tài khoản SIP, biểu tƣợng kết nối sẽ đƣợc chuyển sang màu xanh.

Hình 3.14. Quản lý tài khoản SIP trong OfficeSIP

Chƣơng trình sử dụng một máy chủ FTP để lƣu trữ tệp khóa công khai dùng chung cho tất cả ngƣời dùng. Mỗi ngƣời dùng sẽ đƣợc cấp tài khoản mặc định và quyền đọc và ghi tệp trên máy chủ.

Tệp khóa công khai đƣợc xây dựng theo định dạng XML (Ngôn ngữ đánh dấu mở rộng), mỗi khi chƣơng trình khởi tạo khóa, sẽ thực hiện thêm (hoặc sửa) vào tệp.

Hình 3.15. Đăng nhập vào máy chủ FTP với tài khoản đƣợc cấp

3.5.8.3. Cài đặt chương trình

Chƣơng trình ứng dụng đƣợc cài đặt thử nghiệm trên Emulator của Android

Khi chƣơng trình ứng dụng đƣợc mở, ngƣời sử dụng nhập thông tin tài khoản SIP trong phần cấu hình.

Nếu tài khoản đúng, một kết nối sẽ đƣợc thực hiện tới máy chủ SIP, biểu tƣợng kết nối sẽ chuyển sang màu xanh.

Hình 3.17. Kết quả việc kết nối tài khoản với máy chủ SIP thành công

a) Chức năng trao đổi khóa

Khi kết nối thành công, ngƣời dùng có thể thực hiện cuộc gọi, khi kết nối đƣợc tới ngƣời nhận cuộc gọi, khóa công khai của ngƣời gọi và ngƣời nhận đƣợc trao đổi với nhau.

Ví dụ:

- Ngƣời gọi có số 5554 gọi sẽ thực hiện cuộc gọi tới ngƣời nhận số 5556 bằng cách nhập thông tin tài khoản ngƣời gọi.

Hình 3.18. Nhập thông tin tài khoản ngƣời nhận

- Tiến hành thực hiện cuộc gọi tới tài khoản 5556

Hình 3.19. Ngƣời có tài khoản 5554 thực hiện cuộc gọi

- Hai bên thực hiện cuộc gọi

Hình 3.20. Hai bên thực hiện cuộc gọi

- Nội dung cuộc gọi sẽ đƣợc mã hóa bằng khóa công khai của ngƣời đàm thoại với mình.

Hình 3.21. Hai bên sử dụng khóa công khai của nhau để mã hóa thông tin

- Truy cập vào máy chủ TFP với tài khoản đƣợc cấp ta có thể xem nội dung file

user.xml lƣu khóa công khai dùng chung cho tất cả ngƣời dùng.

Hình 3.22. Nội dung tệp user.xml lƣu khóa công khai của các tài khoản

b) Chức năng mã hóa, giải mã dữ liệu dạng văn bản (text)

Khi kết nối thành công, ngƣời gọi và ngƣời nhận có thể trao đổi với nhau dữ liệu dạng văn bản (text), dữ liệu ngƣời gửi đƣợc mã hóa và lƣu lên tệp 5554.txt. Ngƣời nhận thực hiện đọc dữ liệu từ tệp 5554.txt giải mã.

Hình 3.23. Minh họa việc mã hóa và giải mã dữ liệu dạng văn bản

- Xem nội dung file 5554.txt lƣu nội dung văn bản đã đƣợc mã hóa.

Hình 3.24. Nội dung văn bản đƣợc mã hóa trong tệp 5554.txt 3.6. Kết luận

Chƣơng 3 đã trình bày tổng quan về vấn đề bảo mật trong mạng di động 3G trên thế giới. Giới thiệu khái quát tình hình triển khai mạng 3G tại Việt Nam. Phân tích nguy cơ mất an ninh an toàn trong mạng và lựa chọn giải pháp bảo mật trên tầng ứng dụng trong mạng thông tin 3G. Phần cuối chƣơng 3, tác giả trình bày các chức năng chính của hệ thống bảo mật, các thuật toán tƣơng ứng và cách thức cài đặt hệ thống, minh họa các chức năng chính của phần mềm bảo mật thoại.

KẾT LUẬN

Trong quá trình thực hiện đề tài, tác giả đã tiếp thu đƣợc những kiến thức cơ bản về công nghệ 3G, các kiến thức liên quan đến vấn đề bảo mật thông tin, về các đe dọa, tấn công mạng, các hàm, thuật toán đƣợc sử dụng để mã hóa và toàn vẹn thông tin, đặc biệt là bảo mật trong mạng 3G. Chỉ ra đƣợc những nguy cơ gây mất an toàn thông tin di động sử dụng công nghệ 3G. Từ đó thấy rằng, việc thực hiện bảo mật thông tin mạng điện thoại di động 3G là rất cần thiết đặc biệt là nhu cầu bảo mật thông tin cá nhân ngƣời sử dụng.

+ Những điểm đạt đƣợc của luận văn là:

- Trình bày tổng quát về công nghệ 3G, kiến trúc mạng 3G. Tổng quát hóa những vấn đề chung về an toàn vào bảo mật thông tin trong mạng di động 3G.

- Tổng hợp các phƣơng pháp mã hóa thông tin, ƣu nhƣợc điểm khi sử dụng các phƣơng pháp mã hóa khác nhau. Đi sâu vào nghiên cứu lý thuyết hệ mật đƣờng cong Eliptic và ứng dụng ECC vào việc mã hóa dữ liệu, trao đổi khóa, là cơ sở cho việc lựa chọn phƣơng pháp mã hóa và bảo mật thông tin di động 3G.

- Nghiên cứu hiện trạng mạng thông tin 3G tại Việt Nam, thực trạng và nguy cơ mất an toàn trong mạng 3G, việc tác giả lựa chọn và nghiên cứu nền tảng công nghệ lập trình ứng dụng trên hệ điều hành Android là một khâu rất quan trọng trong việc xây dựng phần mềm bảo mật thoại.

+ Những điểm tồn tại của luận văn là:

- Phần thực hiện sản phẩm phần mềm mới dừng lại ở việc mô phỏng trên máy ảo quá trình trao đổi khóa giữa hai ngƣời gọi, quá trình mã hóa và giải mã thông tin khi hai ngƣời gọi liên lạc với nhau.

- Tuy nhiên các vấn đề mà luận văn đề cập trên lĩnh vực tƣơng đối rộng, mặc dù đã nỗ lực hết sức, cố gắng vận dụng kiến thức, mọi khả năng, mọi điều kiện, nội dung luận văn chắc chắn còn nhiều thiếu sót và hạn chế. Rất mong nhận đƣợc những góp ý quý báu của các thầy cô giáo, các đồng nghiệp để luận văn đƣợc hoàn thiện hơn.

HƢỚNG PHÁT TRIỂN ĐỀ TÀI

Triển khai nghiên cứu xây dựng ứng dụng bảo mật trên mạng di động 3G nhƣ call video, tích hợp PKI trên thiết bị di động, xây dựng ứng dụng trên một số hệ điều hành di động khác nhƣ Windows Phone...

Cần tiếp tục nghiên cứu để làm rõ hơn các giải pháp bảo đảm an toàn và bảo mật cho hệ thống thông tin di động 3G, trên cơ sở đó phát triển các hệ thống thực tế.

TÀI LIỆU THAM KHẢO Tiếng Việt

1. Trƣờng Đại học Hàng Hải (2008), Giáo trình An toàn và Bảo mật thông tin, Hải

Phòng, tr.4-5,

2. Nguyễn Tiến Ban (2007), Kỹ thuật viễn thông, Học viện công nghệ Bƣu chính viễn thông Hà Nội, tr.93-96.

3. Nguyễn Phạm Anh Dũng (2009), Bài giảng giới thiệu công nghệ 3G WCDMA UMTS, Học viện Công nghệ Bƣu chính Viễn thông Hà Nội, tr.7-10,11-17.

4. Trần Văn Dũng (2007), Giáo trình An toàn và Bảo mật thông tin, Đại học Giao

thông vận tải Hà Nội, tr.14-24, 77-79, 94-96.

5.Phan Thị Thu Hiền (2006), Hệ mật đƣờng cong elliptic, đồ án tốt nghiệp đại học, Trƣờng Đại học Dân lập Hải Phòng, tr.15-17.

6. Nguyễn Thị Tuyết Mai (2012), Nghiên cứu các giải pháp an toàn bảo mật cho hệ

thống mạng lõi của 3G và ứng dụng cho Vinaphone , luận văn thạc sĩ, Học viện

Công Nghệ BCVT, Hà Nội, tr.28-31.

7. Phạm Văn Quỳnh (2010), An ninh trong 3G UMTS, đồ án tốt nghiệp đại học, Học

viện công nghệ Bƣu chính viễn thông Hà Nội, tr.4.

8. Trần Minh Triết (2005), Thuật toán và mã hóa ứng dụng, Trƣờng Đại học Khoa học Tự nhiên, Đại học Quốc gia thành phố Hồ Chí Minh, tr16-17, 21-23, 198-200, 213- 216.

9. Vũ Anh Tuấn (2009), Giải pháp nâng cao độ an ninh thông tin trong mạng LAN không dây chuẩn IEEE 802.11ii, luận văn thạc sĩ, Đại học Thái Nguyên, tr.18-22, 25-26.

10. Nguyễn Khanh Văn (2000), Mật mã và An toàn Thông tin, Đại học Bách khoa Hà Nội, tr.7-12.

Tiếng Anh

11. Keiji Tachikwa (2002), W-CDMA Mobile Communications System, John Wiley & Sons LTD, pp.28-31, 245-250

12. Prentice Hall (1998), Cryptography and Network Security Principles and Practice, pp.165-170, 400-416.

13. Wiley(2005) UMTS Networks Architecture Mobility and Services, pp.22-27, 59- 63, 207-211,294-297.

14.http://vinaphone.com.vn/news/16625/-Thang-10-ra-mat-cac-dich-vu-dien- thoai-di-dong-3G-dau-tien-tai-Viet-Nam

15. http://xahoithongtin.com.vn/20090814085239480p0c112/mobifone-se-cung- cap-dich-vu-3g-vao-thang-122009.htm

16. http://vnn.vietnamnet.vn/cntt/2009/04/840952/ 17. http://mobifone3g.com.vn/index.aspx?s=NDETAIL&AID=155&pages=2 18.http://www.pcworld.com.vn/articles/kinh-doanh/an-toan-thong- tin/2010/09/1220868/bao-mat-tren-mang-3g/ 19. http://voer.edu.vn/module/khoa-hoc-va-cong-nghe/bo-giao-thuc-rtp/rtcp.html 20.http://sandbox.yoyogames.com/extras/user/cv/san2/170/326170/T%C3%AC m_hi%E1%BB%83u_v%E1%BB%81_giao_th%E1%BB%A9c_SIP.doc

PHỤ LỤC. MÃ NGUỒN MỘT SỐ MODULE CHÍNH TRONG CHƢƠNG TRÌNH

... Định nghĩa đường cong Eliptic ...

package taovb.ecc.elliptic;

import java.io.*;

import java.math.BigInteger;

publicclass EllipticCurve {

private BigInteger a, b, p, order; private ECPoint generator; private BigInteger ppodbf; privateint pointcmpsize; private String name;

publicstaticfinal BigInteger COEFA = new BigInteger("4"); publicstaticfinal BigInteger COEFB = new BigInteger("27"); publicstaticfinalintPRIMESECURITY = 500;

public EllipticCurve(BigInteger a, BigInteger b, BigInteger p) throws InsecureCurveException {

this.a = a;

this.b = b;

this.p = p;

if (!p.isProbablePrime(PRIMESECURITY)) { }

if (isSingular()) thrownew

InsecureCurveException(InsecureCurveException.SINGULAR, this);

byte[] pb = p.toByteArray();

if(pb[0] == 0) pointcmpsize = pb.length;

else pointcmpsize = pb.length + 1;

Một phần của tài liệu NGHIÊN CỨU GIẢI PHÁP BẢO MẬT MẠNG 3G (Trang 48 -48 )

×