Nghiên cứu và phát triển ứng dụng javacard

84 75 0
Nghiên cứu và phát triển ứng dụng javacard

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐINH THỊ THÚY NGHIÊN CỨU VÀ PHÁT TRIỂN ỨNG DỤNG JAVACARD LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐINH THỊ THÚY NGHIÊN CỨU VÀ PHÁT TRIỂN ỨNG DỤNG JAVACARD Ngành: Công nghệ thông tin Chuyên ngành: Quản lý Hệ thống thông tin Mã số: Chuyên ngành đào tạo thí điểm LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHÙNG VĂN ỔN TS LÊ PHÊ ĐÔ Hà Nội - 2017 i LỜI CẢM ƠN Lời xin gửi lời cảm ơn sâu sắc đến thầy TS Lê Phê Đô thầy TS Phùng Văn Ổn, tận tâm, tận lực hướng dẫn, định hướng cho tôi, đồng thời, cung cấp nhiều tài liệu tạo điều kiện thuận lợi suốt trình học tập nghiên cứu để tơi hồn thành luận văn Tôi xin chân thành cảm ơn đến thầy, cô Bộ môn Quản lý hệ thống thông tin Khoa Công nghệ thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội với ban lãnh đạo nhà trường nhiệt tình giảng dạy truyền đạt kiến thức, kinh nghiệm qúy giá suốt trình học tập rèn luyện trường Tôi xin gửi lời cảm ơn đến bạn học viên lớp K22-QLHTTT, nhóm bảo mật UET đồng hành tơi suốt q trình học tập Cảm ơn gia đình, bạn bè quan tâm động viên giúp tơi có nghị lực phấn đấu để hoàn thành tốt luận văn Do kiến thức thời gian có hạn nên luận văn khơng tránh khỏi thiếu sót định Tơi mong nhận góp ý quý báu thầy cô, đồng nghiệp bạn bè Một lần xin gửi lời cảm ơn chân thành sâu sắc Hà Nội, tháng 07 năm 2017 Học viên thực Đinh Thị Thúy 22 LỜI CAM ĐOAN Tôi xin cam kết đạt luận văn “Nghiên cứu phát triển ứng dụng JavaCard” thực hướng dẫn TS Lê Phê Đô TS.Phùng Văn Ổn Trong toàn nội dung nghiên cứu luận văn, vấn đề trình bày tìm hiểu nghiên cứu cá nhân tơi trích dẫn nguồn tài liệu số trang web đưa phần Tài liệu tham khảo Tôi xin cam đoan lời thật chịu trách nhiệm trước thầy cô hội đồng bảo vệ luận văn thạc sĩ Hà Nội, tháng 07 năm 2017 Đinh Thị Thúy 33 MỤC LỤC 1.1 Lịch sử phát triển thẻ thông minh .3 1.2 Cấu tạo phân loại thẻ thông minh 1.3 Ưu nhược điểm thẻ thông minh 1.4 Thách thức việc phát triển ứng dụng thẻ thông minh 12 1.5 Các hình thức cơng thẻ thông minh 12 2.1 Giới thiệu JavaCard 15 2.2 Kiến trúc JavaCard 17 2.3 Tập ngôn ngữ JavaCard 18 2.4 Máy ảo để chạy Java Card .18 2.5 Cài đặt Java Card chương trình cài đặt thiết bị (Off-Card) 20 2.6 Môi trường chạy JavaCard 22 2.7 API Java Card .23 2.8 Package quy ước đặt tên Applet 25 2.9 Java Card Applet .26 2.9.1 Tiến trình phát triển Applet 26 2.9.2 Cài đặt applet 27 2.10 Phương thức truyền nhận, trao đổi liệu 29 3.1 Cơ sở lý thuyết .32 3.2 Những ý để lựa chọn đường cong Elliptic phù hợp 34 3.2.1 Trường K 35 3.2.2 Dạng đường cong elliptic .35 3.2.3 Phương pháp lựa chọn 35 44 3.3 So sánh RSA ECC 36 3.4 Mật mã đường cong elliptic .38 3.5 Chữ ký số hệ mật đường cong Elliptic 39 3.5.1 Sơ đồ chữ ký ECDSA 39 3.5.2 Sơ đồ chữ ký Nyberg – Rueppel 40 3.5.3 Sơ đồ chữ ký mù Harn ECC 40 3.5.4 Sơ đồ chữ ký mù bội Harn ECC 41 3.6 Đánh giá công hệ mật đường cong Elliptic 42 3.6.1 Phương pháp Baby step - Giant step 42 3.6.2 Phương pháp Pohlig – Hellman 42 3.6.3 Tấn công MOV .43 3.6.4 Phương pháp Index Xedni .43 3.6.5 Các công dựa giả thuyết Diffie – Hellman 43 3.6.6 Các công cài đặt 44 3.7 Chuẩn tham số cho hệ mật Elliptic 44 3.8 Sinh tham số cho hệ mật Elliptic .45 3.8.1 Tham số miền đường cong Elliptic 45 3.8.2 Sinh kiểm tra cặp khóa đường cong Elliptic 46 3.8.3 Thuật toán kiểm tra điều kiện MOV 47 3.8.4 Thuật toán sinh đường cong ngẫu nhiên 47 4.1 Bài toán……….… 48 4.2 Giải pháp kết hợp chữ ký ECDSA đăng ký thẻ trực tuyến 48 4.2.1 Quy trình đăng ký thẻ trực tuyến 48 4.2.2 Chữ ký ECDSA dùng đăng ký thẻ trực tuyến 49 4.2.3 Thiết kế chương trình 52 55 DANH MỤC HÌNH VẼ Hình 1.1 Chip tự động .3 Hình 1.2 Thẻ CP8 Hình 1.3 Sơ đồ lịch sử phát triển thẻ thông minh Hình 1.4 Thẻ thơng minh tiếp xúc đầu đọc thẻ .7 Hình 1.5 Thẻ khơng tiếp xúc Hình 1.6 Thẻ thu phí giao thơng thẻ dùng cho việc giao thơng cơng cộng Hình 2.1 Các tính chung Java Card chuẩn Java .16 Hình 2.2 Kiến trúc tổng quát công nghệ JavaCard 17 Hình 2.3 Máy ảo JavaCard 18 Hình 2.4 Trình cài đặt JavaCard chương trình cài đặt ngồi thẻ 21 Hình 2.5 Kiến trúc hệ thống thẻ 22 Hình 2.6 Tiến trình phát triển Applet 27 Hình 2.7 Trao đổi thơng tin ứng dụng thẻ ứng dụng thiết bị đầu cuối 30 Hình 2.8 Mã trạng thái phản hồi 31 Hình 3.1 Một số ví dụ đường cong Elliptic 32 Hình 3.2 Phép cộng đường cong elliptic 34 Hình 3.3 Thuật toán sinh tham số miền đường cong elliptic 45 Hình 4.1 Quy trình đăng ký thẻ trực tuyến 49 Hình 4.2 Sơ đồ thuật tốn chữ ký số ECDSA .50 Hình 4.3 Quy trình đăng ký thẻ trực tuyến sử dụng chữ ký điện tử 51 Hình 4.4 Mẫu tờ khai đăng ký thẻ trực tuyến 52 Hình 4.5 Demo ký văn 53 66 DANH MỤC BẢNG Bảng 2.1: Các thuộc tính mà thư viện hỗ trợ .18 Bảng 2.2: Các ngoại lệ 24 Bảng 2.3 Cấu trúc ADI 26 Bảng 2.4 Cấu trúc câu lệnh APDU 30 Bảng 2.5 Cấu trúc APDU phản hồi .30 Bảng 3.1 Độ dài khóa RSA ECC mức an toàn .36 Bảng 3.2 So sánh thời gian thực RSA ECC 37 Báng 3.3 So sánh độ dài khóa RSA ECC 37 77 DANH SÁCH CÁC TỪ VIẾT TẮT TT TỪ VIẾT TẮT DHP DLP EC ECC ECDLP MOV TIẾNG ANH Diffie-Helman Problem Discrete Logarithm Problem Elliptic Curve Elliptic Curve Cryptosystem Elliptic Curver Discrete Logarithm Problem Menezes-Okamoto-Vanstone attack THUẬT NGỮ MẬT MÃ Bài toán Diffie-Hellman Bài toán logarithm rời rạc trường hữu hạn Đường cong elliptic Hệ mật Elliptic Bài toán logarithm rời rạc đường cong elliptic Tấn công MOV Secure Sockets Layer Là tiêu chuẩn công nghệ bảo mật, truyền thơng mã hố máy chủ Web server trình duyệt (browser) SSLHP SSL Handshake protocol Giao thức bắt tay 10 SSLRP JC 11 PVC SSL Record Layer protocol Java Card Polyvinyl chloride Giao thức lớp ghi JavaCard Loại nhựa cứng khơng có mùi Một loại nhựa nhiệt dẻo dai, chịu va đập mạnh Hệ thống thơng tin di động tồn cầu hệ thứ hai (2G) Môi trường thát triển máy trạm JavaCard EMV chuẩn thẻ tốn thơng minh SSL 12 ABS 13 GSM 14 JCWDE 15 EMV Acrylonnitrile, Butadiene, Styrene Global System for Mobile Communication Java Card Workstation Development Environment Europay, MasterCard, Visa MỞ ĐẦU Tính cấp thiết đề tài luận văn Ngày nay, hội nhập kinh tế sâu rộng mang đến cho người tiêu dùng Việt Nam hội tiếp cận với xu hướng đại giới Con người dần chuyển sang sử dụng dịch vụ thông minh hơn, tiện lợi để đáp ứng nhu cầu sống cách đại, tối ưu Giờ người tiêu dùng dễ dàng mua sắm, tốn dịch vụ sinh hoạt, giao thơng, y tế mà không cần phải thời gian công sức tới điểm giao dịch trước thay vào việc sử dụng thiết bị đơn giản nhỏ gọn thẻ thơng minh Sự phát triển nhanh chóng công nghệ bán dẫn cho phép nhà sản xuất chip tạo chip hay thẻ thông minh ngày nhỏ gọn với sức mạnh tính tốn cao Tuy nhiên việc có q nhiều nhà sản xuất chip, công việc phát triển ứng dụng cho thẻ thơng minh gặp khó khăn tương thích Do nhu cầu tảng chung bên chip đặt ra, công nghệ Java Card phát triển để phục vụ mục đích Với việc tạo môi trường ảo chung tất hệ điều hành hỗ trợ JavaCard, công nghệ giúp cho việc phát triển ứng dụng chip trở nên dễ dàng giúp tiết kiệm thời gian nghiên cứu phát triển Hình thức mua sắm trực tuyến ngày phổ biến người tiêu dùng dễ dàng chọn lựa, sở hữu hàng u thích hay săn tìm chương trình giảm giá, khuyến hấp dẫn sở hữu thẻ tín dụng Thẻ tín dụng phương tiện toán phù hợp với lối sống đại Tuy nhiên, quy trình đăng ký thẻ tín dụng nhiều thời gian, người tiêu dùng sau chuẩn bị giấy tờ, tới chi nhánh ngân hàng để đăng ký, thời gian đăng ký hạn chế hành gây bất tiện cho người đăng ký thẻ Ngoài thời gian chờ đợi thẻ từ năm đến bẩy ngày phải lên chi nhánh nơi đăng ký để nhận thẻ Đi đôi với việc phổ dụng giao dịch thông qua mạng Internet dẫn đến nguy an tồn thơng tin sử dụng thẻ tín dụng Do đó, vấn đề đặt làm đảm bảo an tồn thơng tin giao dịch trực tuyến đăng ký thẻ Chúng ta cần có giải pháp đảm bảo an tồn thơng tin sử dụng xây dựng dựa lý thuyết mật mã, an toàn bảo mật thông tin Các nhà khoa học phát minh hệ mật mã RSA, Elgamal,…nhằm che dấu thông tin làm rõ chúng để tránh nhòm ngó kẻ cố tình phá hoại Mặc dù an tồn có độ dài khố lớn nên số lĩnh vực ứng dụng Chính hệ mật đường cong elliptic đời Đây hệ mật đánh giá hệ mật có độ bảo mật an tồn cao hiệu nhiều so với hệ mật công khai khác Ở phạm vi đề tài đặt vấn đề nghiên cứu ứng dụng hệ mật đường cong Elliptic vào bảo mật thẻ thông minh nhằm đảm bảo an tồn thơng tin việc đăng ký thẻ trực tuyến giao dịch trực tuyến Internet Kiểm tra yq = xq + Axq + B Fp Kiểm tra Nq=∞ Nếu phép kiểm tra thất bại trả “khóa cơng khai khơng hợp lệ” khơng trả “khóa cơng khai hợp lệ”[4] 3.8.3 Thuật toán kiểm tra điều kiện MOV Thuật toán: + Input: Giá trị B cận MOV theo tiêu chuẩn EC5 + Output: 0: Không thỏa mãn điều kiện MOV; 1: Thỏa mãn MOV t = 1, ok= 1; for i = to B T = t.p (modN) If (t==1){ok=0; return ok;} Return ok; 3.8.4 Thuật toán sinh đường cong ngẫu nhiên Thuật toán : Sinh đường cong ngẫu nhiên + Input: Số nguyên tố p + Output: Chuỗi SEED A,B∈ Fp Xác định E Fp Tính trước t = [log � ], s= [(t-1)/256], h= t -256s 1) bit Chọn chuỗi bit SEED có độ dài 256 bit Gọi G độ dài theo SEED 2) Tính H=SHA256(SEED), gọi co h bit bên phải H 3) Wo h bit nhận việc thiết lập bit bên trái co thành ( nhằm đảm bảo r

Ngày đăng: 05/04/2019, 12:23

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan