TRƯỜNG ĐẠI HỌC CÔNG NGHỆ VŨ THỊ NGỌC ANH NGHIÊN CỨU VỀ MOBILE PKI VÀ HẠ TẦNG ỨNG DỤNG PKI TRÊN THIẾT BỊ DI ĐỘNG Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ THỊ NGỌC ANH
NGHIÊN CỨU VỀ MOBILE PKI VÀ HẠ TẦNG ỨNG DỤNG PKI TRÊN THIẾT BỊ DI ĐỘNG
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ THỊ NGỌC ANH
NGHIÊN CỨU VỀ MOBILE PKI VÀ HẠ TẦNG ỨNG DỤNG PKI TRÊN THIẾT BỊ DI ĐỘNG
Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN VIẾT THẾ
Hà Nội - 2015
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung bản luận văn “ Nghiên cứu về Mobile PKI và hạ tầng ứng dụng PKI trên thiết bị di động” là do tôi tìm hiểu, nghiên
cứu, tham khảo và tổng hợp từ các nguồn tài liệu khác nhau và làm theo hướng dẫn của người hướng dẫn khoa học Các nguồn tài liệu tham khảo, tổng hợp đều
có nguồn gốc rõ ràng và trích dẫn theo đúng quy định
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình Nếu có điều gì sai trái, tôi xin chịu mọi hình thức kỷ luật theo quy định
Hà Nội, tháng 06 năm 2015
Người cam đoan
Vũ Thị Ngọc Anh
Trang 4LỜI CẢM ƠN
Trước hết em xin gửi lời cảm ơn chân thành đến các thầy cô ở Khoa Công Nghệ Thông Tin - trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã nhiệt tình và tâm huyết truyền đạt cho em những kiến thức quý báu trong suốt thời gian học tập tại trường Em xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Viết Thế – Bộ Công an đã nhiệt tình, tận tâm định hướng, hướng dẫn và cho em những lời khuyên bổ ích để em hoàn thành luận văn tốt nghiệp này Cuối cùng,
em xin cảm ơn gia đình, bạn bè đã luôn động viên và ủng hộ em trong suốt quá trình học tập và hoàn thành luận văn này
Bài luận văn được thực hiện trong khoảng thời gian 4 tháng Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực Mobile PKI, do kiến thức của em còn nhiều hạn chế và còn nhiều bỡ ngỡ, nên không tránh khỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp quý báu từ phía quý thầy cô và các bạn
để luận văn được hoàn thiện hơn
Hà Nội, tháng 06 năm 2015
Học viên
Vũ Thị Ngọc Anh
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
LỜI NÓI ĐẦU 5
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 6
DANH MỤC CÁC BẢNG, HÌNH VẼ 7
Chương I: TỔNG QUAN HẠ TẦNG KHÓA CÔNG KHAI 8
1.1 CƠ SỞ MẬT MÃ HỌC 9
1.1.1 Hệ mật mã khóa bí mật 9
1.1.2 Hệ mật mã khóa công khai 9
1.1.3 Chữ ký số 10
1.1.4 Hàm Băm 10
1.2 HỆ THỐNG PKI Error! Bookmark not defined 1.2.1 Mục tiêu của hệ thống PKI Error! Bookmark not defined 1.2.2 Các thành phần của hệ thống PKI Error! Bookmark not defined 1.2.3 Các hoạt động trong hệ thống PKI Error! Bookmark not defined 1.2.4 Trao đổi thông tin dựa trên PKI Error! Bookmark not defined 1.3 CÁC MÔ HÌNH KIẾN TRÚC CỦA HỆ THỐNG PKI Error! Bookmark not defined
1.3.1 Kiến trúc một CA đơn (CA Single Architecture) Error! Bookmark not
defined
1.3.2 Trust List Error! Bookmark not defined
1.3.3 Kiến trúc CA phân cấp (Hierarchical architecture) Error! Bookmark not
defined
1.3.4 Kiến trúc mắt lưới (Mesh architecture) Error! Bookmark not defined 1.3.5 Kiến trúc kết hợp (Hybrid architecture) Error! Bookmark not defined 1.3.6 Kiến trúc kiểu chứng thực chéo (Cross-certificate architecture) Error!
Bookmark not defined
1.3.7 Kiến trúc CA cầu nối (Bridge CA architecture) Error! Bookmark not
defined
1.4 CÁC GIẢI PHÁP AN TOÀN ĐỐI VỚI HẠ TẦNG PKI Error! Bookmark not defined
1.4.1 An toàn vật lý Error! Bookmark not defined
Trang 61.4.2 An toàn Logic Error! Bookmark not defined Chương 2: HẠ TẦNG MOBILE PKI Error! Bookmark not defined 2.1 CÔNG NGHỆ VÀ GIAO THỨC SỬ DỤNG TRONG MOBILE PKI Error! Bookmark not defined
2.2 KIẾN TRÚC MÔ HÌNH CÔNG NGHỆ CỦA HẠ TẦNG MOBILE PKI Error! Bookmark not defined
2.2.1 Các yêu cầu đối với Mobile PKI Error! Bookmark not defined 2.2.2 Các thành phần trong hệ thống Mobile PKI Error! Bookmark not defined 2.2.3 Mô hình Mobile PKI Error! Bookmark not defined 2.2.4 Các hoạt động trong hệ thống Mobile PKI Error! Bookmark not defined 2.2.5 Quản lý chứng thư số Error! Bookmark not defined 2.2.6 Xác thực chứng thư số Error! Bookmark not defined 2.2.7 Lưu trữ khóa bí mật trong Mobile PKI Error! Bookmark not defined 2.3 BẢO MẬT TRONG MOBILE PKI Error! Bookmark not defined 2.4 ƯU VÀ NHƯỢC ĐIỂM CỦA MOBILE PKI Error! Bookmark not defined 2.4.1 Ưu điểm Error! Bookmark not defined 2.4.2 Nhược điểm Error! Bookmark not defined 2.5 ỨNG DỤNG VÀ GIẢI PHÁP HẠ TẦNG MOBILE PKI Error! Bookmark not defined
2.5.1 Ứng dụng Mobile PKI Error! Bookmark not defined 2.5.2 Giải pháp Error! Bookmark not defined
CHƯƠNG 3: ỨNG DỤNG TRÊN THIẾT BỊ MOBILE CHẠY TRÊN NỀN TẢNG
ANDROID Error! Bookmark not defined
3.1 XÂY DỰNG ỨNG DỤNG CHỮ KÝ SỐ TRÊN ĐIỆN THOẠI DI ĐỘNG
Error! Bookmark not defined 3.1.1 Mục tiêu và giải pháp Error! Bookmark not defined 3.1.2 Hoạt động của ứng dụng Error! Bookmark not defined 3.2 XÂY DỰNG ỨNG DỤNG KÝ SỐ TRÊN HỆ ĐIỀU HÀNH ANDROID Error! Bookmark not defined
3.2.1 Phân tích thiết kế Error! Bookmark not defined 3.2.2 Thiết kế Error! Bookmark not defined 3.2.3 Xây dựng chương trình Error! Bookmark not defined PHỤ LỤC Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined
Trang 7TÀI LIỆU THAM KHẢO 11
Trang 8LỜI NÓI ĐẦU
Ngày nay, thiết bị di động (máy tính bảng, điện thoại di động, laptop ) đang phát triển rất mạnh và là một thiết bị không thể thiếu trong xã hội Việc sử dụng các thiết bị di động để trao đổi thông tin, dữ liệu, xử lý giao dịch thông qua mạng Internet, các hệ thống như Mobile Banking, Payment, E-commerce hay các giao dịch hành chính điện tử … đã trở nên phổ biến Chỉ với chiếc điện thoại
di động có khả năng kết nối Internet qua Wifi, 3G hoặc GPRS, người dùng có thể thực hiện giao dịch mọi lúc, mọi nơi Tuy nhiên môi trường Internet lại không an toàn và tiềm ẩn nhiều nguy cơ mất an toàn Đặc biệt sau những vụ tấn công dồn dập trên mạng trong thời gian gần đây như trộm email, nghe lén điện thoại, hàng loạt vụ tấn công liên quan đến an toàn thông tin trên mạng internet khiến người dùng lo lắng Đứng trước nguy cơ đánh cắp thông tin khi sử dụng các tài khoản email giao dịch mua bán trên mạng, việc đảm bảo an toàn thông tin trở nên vô cùng cấp thiết Đặc biệt, nhiều người có thói quen sử dụng thiết bị
di động để giải quyết công việc, do đó việc áp dụng các biện pháp bảo mật an toàn càng khó khăn hơn
Trước thực trạng đó, cần một giải pháp ứng dụng chữ ký số trên thiết bị di động nhằm nâng cao tính bảo mật và an toàn khi gửi tin nhắn, email hay sử dụng các phần mềm tương tự cho người dùng, một cơ chế xác thực người dùng thân thiện cung cấp mức độ bảo mật cao Việc xác thực người dùng và bảo mật các thông tin liên lạc có thể được thực hiện bằng nhiều phương pháp khác nhau như:
sử dụng mật khẩu và mật mã khóa đối xứng thông thường, sử dụng mật mã khóa phi đối xứng, các công nghệ sinh trắc hiện đại, nhưng giải pháp hạ tầng khóa công khai PKI cho thiết bị di động (Mobile PKI) là giải pháp giải quyết các vấn
đề trên một cách hiệu quả và thực sự cần thiết
Lâu nay, vấn đề bảo mật và an toàn thông tin chủ yếu dành cho các PC và máy tính sách tay, còn trên thiết bị di động có rất ít Mobile PKI và hạ tầng ứng dụng PKI trên thiết bị di động (Mobile) là một vấn đề tương đối mới, đã nhắm đúng nhu cầu thực tế của thị trường tại Việt Nam Hiện nay, tại Việt Nam đã có một số công ty và doanh nghiệp nghiên cứu và phát triển các ứng dụng hạ tầng PKI trên thiết bị di động như VNPT, NacenComm, Bkis, Viettel, FPT … Do tính linh động của thiết bị di động, hơn nữa Mobile PKI là một vấn đề mới có tính cấp thiết và được đánh giá là một giải pháp có tiềm năng phát triển tại Việt
Nam nên em lựa chọn đề tài: “Nghiên cứu về Mobile PKI và hạ tầng ứng dụng PKI trên thiết bị di động”
Hà Nội, tháng 06 năm 2015
Trang 9DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
AC Attribute Certificate
CMP Certificate Manager Protocol
CP Certificate Policy
CPS Certificate Practices Statement
CRL Certificate Revocation list
GUI Graphycal User Interface
HSM Hardware Security Module
IMSI International Mobile Subscriber Identity OCSP Online Certificate Status Protocol
PKI Public Key Infrastructure
RU Registration Utility
SPKC Simple Public Key Certificate
SSL Secure Sockets Layer
WTLS Wireless Transport Layer Security
Trang 10DANH MỤC CÁC BẢNG, HÌNH VẼ
Hình 1.1 Hoạt động của hệ thống PKI
Hình 1.2 Một phiên giao dịch dựa trên PKI
Hình 1.3 Kiến trúc CA đơn
Hình 1.4 Kiến trúc CA phân cấp
Hình 1.5 Kiến trúc mắt lưới
Bảng 2.1 Chứng thư X.509 không dây
Bảng 2.2 Chứng thư ngắn hạn
Bảng 2.3 Thiết bị Hard Token - AudioPass
Hình 2.4 Mô hình Mobile PKI
Hình 2.5 Lược đồ ký số trên thiết bị di động
Hình 2.6 Lược đồ xác thực trên thiết bị di động
Hình 2.7 Giao thức quản lý chứng thư số
Hình 2.8 Lược đồ xác thực chứng thư số trong Mobile PKI Hình 2.9 Giải pháp SIM – based
Hình 2.10 Giải pháp Client – based
Hình 2.11 Giải pháp Roaming
Hình 3.1 Mô hình ký số
Hình 3.2 Mô hình mã hóa
Hình 3.3 Mô hình giải mã
Hình 3.4 Mô hình xác thực
Hình 3.5 Sơ đồ hoạt động của ứng dụng ký trên Android Hình 3.6 Sơ đồ chức năng chính của chương trình
Hình 3.7 Giao diện đăng nhập hệ thống
Hình 3.8 Giao diện chính của chương trình
Hình 3.9 Giao diện ký số
Hình 3.10 Giao diện chức năng mã hóa
Hình 3.11 Giao diện chức năng giải mã
Hình 3.12 Giao diện chức năng xác thực
Trang 11Chương I: TỔNG QUAN HẠ TẦNG KHÓA CÔNG KHAI
Trong kỷ nguyên bùng nổ của công nghệ thông tin, mọi giao dịch từ xa có thể thực hiện thông qua mạng Internet Tuy nhiên, khó có thể bảo đảm rằng những giao dịch trên Internet luôn an toàn Hạ tầng khóa công khai đã đáp ứng những nhu cầu bảo mật của người dùng
Sáng kiến hạ tầng khóa công khai PKI (Public Key Infrastructure, viết tắt
là PKI) ra đời năm 1995, khi các tiêu chuẩn chung được xây dựng dựa trên phương pháp mã hoá để hỗ trợ hạ tầng bảo mật trên mạng Internet Tại thời điểm đó, mục tiêu được đặt ra là xây dựng một bộ tiêu chuẩn bảo mật tổng hợp với các công cụ và lý thuyết cho phép người dùng cũng như các tổ chức (doanh nghiệp hoặc tổ chức phi lợi nhuận) có thể tạo lập, lưu trữ và trao đổi các thông tin một cách an toàn trong phạm vi cá nhân và công cộng [12]
Hiện nay có rất nhiều cách định nghĩa khác nhau về PKI tuỳ theo góc độ nghiên cứu hoặc ứng dụng cơ sở hạ tầng này Tuy nhiên, một cách cơ bản nhất
có thể định nghĩa cơ sở hạ tầng khoá công khai là một hệ thống vừa mang tính
mô hình vừa mang tính công nghệ và các chuẩn, vừa là mô hình kiến trúc vừa là
hệ thống các giao dịch và ứng dụng cho phép thực hiện khởi tạo, lưu trữ, quản lý
các chứng thư số (Digital certificate), quản lý và phân phối các khóa công khai,
khóa bí mật và cơ chế chứng thực chứng thư số
Thành phần cốt lõi của hệ thống PKI là các chứng thư số Mỗi chứng thư số
có hai thành phần thông tin cơ bản là định danh và khoá công khai của đối tượng
sử dụng Các chứng thư số này do đối tượng quản lý chứng thư tạo ra và ký với phương thức chữ ký số Trong một số hệ thống, đối tượng quản lý đăng ký được tách riêng ra khỏi CA Đối tượng này không tạo ra các chứng thư số Nó có nhiệm vụ xác minh đối tượng truyền thông cho một CA, đối tượng mà CA sẽ cấp phát chứng thư số Nghĩa là, quá trình xác thực khi một đối tượng yêu cầu một chứng thư số của CA sẽ do RA đảm nhận
PKI là một dịch vụ nền cho các dịch vụ an toàn dựa trên các chứng thư số Trong các hệ thống này, PKI đảm nhận vai trò tạo lập, quản lý và phân phối các chứng thư số cho các đối tượng truyền thông Nói tóm lại, tất cả các chức năng quản lý của hệ thống PKI đều hướng tới một yêu cầu duy nhất là quản lý các đối tượng sử dụng trong hệ thống với khoá công khai của các đối tượng đó
Hiện nay ở Việt Nam, việc nghiên cứu, ứng dụng và triển khai PKI nói chung và dịch vụ cung cấp chứng thư số nói riêng là một vấn đề tương đối mới
mẻ Bằng việc sử dụng chứng thư số và chữ ký số, những ứng dụng cho phép PKI đưa ra nhiều đặc tính đảm bảo an toàn thông tin cho người dùng Có hai mô hình cung cấp chứng thư số, một là mô hình do CA sinh cặp khóa công khai và
Trang 12khóa bí mật cho người dùng, hai là mô hình do tự người dùng sinh cặp khóa công khai và khóa bí mật cho chính mình Hiện nay, ở Việt Nam đang nghiên cứu và triển khai hệ thống PKI theo mô hình thứ nhất
1.1 CƠ SỞ MẬT MÃ HỌC
Mật mã là một công cụ dùng để bảo mật dữ liệu nói riêng và đảm bảo an toàn thông tin hiệu quả nói chung Mật mã dùng để ẩn dấu nội dung thông tin, củng cố tính xác thực của thông tin, tính chối bỏ trong giao dịch điện tử, kiểm tra tính toàn vẹn của dữ liệu, … Ngoài ra mật mã còn được sử dụng để thực hiện
ký số (ký điện tử), đảm bảo an toàn cho thông tin liên lạc
Mật mã bao gồm hai quy trình trái ngược nhau: mã hóa và giải mã Hiện nay, có hai hệ mật mã cơ bản thường được sử dụng:
- Hệ mật mã khóa bí mật (Secret Key Cryptography) – Khóa đối xứng
- Hệ mật mã khóa công khai (Public Key Cryptography) – mã hóa phi đối xứng
- Hàm băm sử dụng quá trình tính toán để mã hóa dữ liệu
1.1.1 Hệ mật mã khóa bí mật
Trong đó quá trình mã hóa và giải mã sử dụng duy nhất một khóa làm tham số cho thuật toán mã hóa/giải mã Để đảm bảo tính bí mật trong truyền thông thì hai bên tham gia truyền thông phải giữ kín và không để lộ thông tin về khóa bí mật cho người khác Dưới đây là mô hình chung sử dụng mật mã khóa đối xứng để đảm bảo tính bí mật dữ liệu trong truyền thông
Ví dụ, nếu A muốn gửi cho B một bản tin mật Để phục vụ cho việc mã hóa, một khóa bí mật K được tạo ra Nếu khóa được tạo bởi bên gửi thì nó cần phải được truyền cho bên nhận thông qua một kênh thông tin an toàn Sau đó A
sẽ sử dụng khóa bí mật K để mã hóa dữ liệu rồi gửi cho B Bên nhận sẽ sử dụng khóa K được chia sẻ từ trước qua kênh an toàn để giải mã dữ liệu được mã hóa vừa nhận được
Một số thuật toán mã hóa khóa đối xứng: DES (Data Encryption Standard), AES (Advanced Encryption Standard)…
1.1.2 Hệ mật mã khóa công khai
Trong đó việc mã hóa và giải mã sử dụng hai khóa riêng biệt, khóa công khai và khóa bí mật Hai khóa này có quan hệ về mặt toán học với nhau, nhưng
từ khóa này không thể tìm ra chìa khóa kia được và ngược lại Khóa công khai được công bố rộng rãi, khóa riêng được giữ bí mật chỉ có người sở hữu nó được biết Thông thường dùng khóa công khai để mã hóa và dùng khóa bí mật – khóa
cá nhân để giải mã, như vậy chỉ người nào là chủ sở hữu khóa cá nhân thì mới
có thể giải mã được bản tin đã mã hóa
Trang 13Ví dụ, nếu A muốn gửi cho B một bản tin mật, trước tiên A sẽ lấy khoá công khai của B từ cơ sở dữ liệu công cộng Sau đó A sẽ sử dụng khoá công khai của B để mã hoá bản tin, rồi gửi cho B Phía B sẽ sử dụng khoá riêng của mình để giải mã bản tin mã hóa Như vậy là, chỉ B mới có thể giải được bản tin
mã mà A đã tạo ra
Một số thuật toán mật mã khóa bất đối xứng được sử dụng phổ biến như RSA, Elgama, Eliptic …
1.1.3 Chữ ký số
Chữ ký số dùng để “ký” lên dữ liệu cần gửi đi nhằm mục đích xác minh tính toàn vẹn của dữ liệu và nhân dạng của người ký
Mỗi người dùng sở hữu một cặp khóa riêng/khóa công khai Khóa bí mật dùng để tạo chữ ký số và khóa công khai dùng để xác minh chữ ký số Khóa công khai được công bố trên cơ sở dữ liệu công cộng, tuy nhiên khóa riêng thì chỉ có người sở hữu của nó mới biết Do vậy, bất kì ai cũng có thể xác minh chữ
ký của người khác bằng khóa công khai tương ứng, nhưng việc tạo ra chữ ký đó thì chỉ người sở hữu cặp khóa này mới làm được
Hiện nay có hai sơ đồ chữ ký số thường được sử dụng để ký số đó là sơ đồ chữ ký RSA và chuẩn chữ ký số DSA
Quy trình sử dụng chữ ký số bao gồm hai quá trình tạo chữ ký và xác minh chữ ký:
- Tạo chữ ký số:
Một hàm băm được dùng trong quá trình tạo chữ ký Mục đích của nó là nén dữ liệu, biến một mẩu tin thành mẩu tin tóm lược Sau đó áp dụng thuật toán
ký số trên mẩu tin tóm lược Chữ ký được chuyển đến cho phía người nhận cùng với dữ liệu ký [12]
- Xác minh chữ ký số:
Bên nhận sẽ sử dụng hàm băm để băm dữ liệu được ký, thu được giá trị băm 1
Bên nhận sử dụng khóa công khai của bên gửi để giải mã file chữ ký để thu được giá trị băm 2
Bên nhận sẽ so sánh hai giá trị băm, nếu như hai giá trị băm giống nhau thì chữ ký trên dữ liệu được xác thực, ngược lại thì không
1.1.4 Hàm Băm
Mục đích của hàm băm là nén dữ liệu, biến dữ liệu thành dữ liệu tóm lược Sau đó, dữ liệu tóm lược này được áp dụng thuật toán sinh chữ ký Chữ ký được chuyển đi cho phía người nhận cùng với dữ liệu đã ký