Tìm hiểu về chữ ký số (digital signature) và ứng dụng

61 888 2
Tìm hiểu về chữ ký số (digital signature) và ứng dụng

Đ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

Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TIN HỌC ************ ĐỖ THỊ XUÂN THẮM TÌM HIỂU VỀ CHỮ KÝ SỐ (DIGITAL SIGNATURE) VÀ ỨNG DỤNG KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Tin học HÀ NỘI - 200 Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng MỤC LỤC Lời mở đầu Đặt vấn đề………………………………………………………… Chƣơng 1: Cơ sở lý thuyết.……………….……………………… 1.1 Mật mã.…………………………………………… ………… 1.2 Tạo số ngẫu nhiên ………………………………………….… 1.3 Tính mã băm password …………………………… …… Chƣơng 2: Chữ ký số (Digital Signature)………………… …… 2.1 Lịch sử phát triển chữ ký số…………… ………… …… 2.2 Giới thiệu chung chữ ký số ………………………… …… 2.3 Định nghĩa lược đồ chữ ký số…………………… …… …… 2.4 Một vài lược đồ chữ ký số…………………………… ……… 2.4.1 Lược đồ chữ ký RSA ……………………………… ……… 2.4.2 Lược đồ ElGamal…………………………………………… 11 Chƣơng 3: Hàm băm (hash)………………… …………….…… 15 3.1 Giới thiệu ……………………………………………….…… 15 3.2 Định nghĩa……………………………… ………… …….… 16 3.3 Một số hàm Hash sử dụng chữ ký số………… ……… 16 3.3.1 Các hàm Hash đơn giản…………………………… ……… 16 3.3.2 Hàm Hash MD5……………………………………………… 18 Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Chƣơng 4: Cách làm việc chữ ký số Digital Signature)…… 26 4.1 Giới thiệu chung……………………………………………… 26 4.2 Ký chữ ký xác thực chữ ký số……………………………… 26 4.2.1 Ký gửi chữ ký số (mã hóa –Encrypt) … 26 4.2.2 Xác thực chữ ký số (giải mã – Decrypt) … … 28 4.3 Chương trình Demo mô chữ ký số đơn giản … … 29 4.4 Phân loại chữ ký số…………………………………………… 32 Chƣơng 5: Chữ ký số ngƣời dùng không chối bỏ (undenial signature)……………………………………………… 34 5.1 Giới thiệu……………………………………………………… 34 5.2 Lược đồ chữ ký chống chối bỏ………………………………… 34 5.2.1 Thuật toán ký………………………………………………… 34 5.2.2 Giao thức kiểm tra…………………………………………… 35 5.2.3 Giao thức chối bỏ…………………………………………… 37 5.3 Các định lý ……………………………… …………….…… 38 5.4 Vấn đề cần giải …………………… …………….…… 42 Chƣơng 6: Ứng dụng chữ ký số (Digital Signature)………… 45 6.1 Ứng dụng chung chữ ký số……………… ……………… 45 6.2 Chữ ký “mù”………………………………… ……………… 48 6.2.1 Ứng dụng bỏ phiếu điện tử………… ………………… 48 Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng 6.2.2 Ứng dụng hệ thống tiền điện tử………………………… 49 6.3 Ứng dụng chữ ký “nhóm”: Thẻ toán liên ngân hàng…… 50 6.4 Cách sử dụng chữ ký số………… …………………… …… 50 Kết luận……… …………………… …………………… ……… 53 Tài liệu tham khảo………………… …………………… ……… 54 Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Lời Mở Đầu Ngày nay, ứng dụng Công nghệ thông tin ngày phổ biến rộng rãi ảnh hưởng lớn đến diện mạo đời sống, kinh tế, xã hội Mọi công việc hàng ngày thực từ xa với hộ trợ máy tính mạng internet (từ việc học tập, mua sắm,…) Tất thông tin liên quan đến công việc máy tính quản lý truyền hệ thống mạng Đối với thông tin bình thường ý đến, thông tin mang tính chất sống cá nhân (hay tổ chức) vấn đề bảo mật quan trọng Trong thời đại mà thương mại điện tử lên ngôi, thư điện tử không xa lạ công cụ thiếu người động, đảm bảo cho nội dung hoàn toàn cần thiết Hãy thử tưởng tượng bạn đọc email thông tin sản phẩm tiếng A bán giảm giá nửa, mua sản phẩm A bạn đọc năm báo C miễn phí Thật hội có tin tưởng điều này? Nếu email viết có chữ ký điện tử người phát ngôn đáng tin cậy, ta hoàn toàn yên tâm nội dung chúng Đó đặc điểm bật chữ ký số Một vai trò quan trọng chữ ký số (Digital Sinature) khả bảo mật Chính lý mà em chọn đề tài “Tìm hiểu chữ ký số (Digital Signature) ứng dụng” Sau thời gian tìm tòi, học hỏi với giúp đỡ tận tình thầy, cô khoa đặc biệt thầy Trần Tuấn Vinh, em hoàn thành đề tài Trong trình tìm hiểu nghiên cứu em không tránh khỏi thiếu sót Vì em kính mong nhận đóng góp quý thầy cô bạn Sinh viên thực đề tài Đỗ Thị Xuân Thắm Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng ĐẶT VẤN ĐỀ Ngày nay, ứng dụng mạng máy tính ngày trở nên phổ biến, thuận lợi quan trọng yêu cầu an toàn mạng, an ninh liệu mạng ngày trở nên cấp bách cần thiết Nguồn tài nguyên mạng dễ bị đánh cắp phá hỏng chế bảo mật cho chúng sử dụng chế bảo mật lỏng lẻo, sơ hở Thông tin mạng truyền lưu trữ cần bảo vệ, thông tin phải giữ bí mật, chúng phải cho phép người ta kiểm tra để tin tưởng chúng không bị sửa đổi so với dạng nguyên thủy chúng người nhận gửi cho ta Mạng máy tính có đặc điểm bật có nhiều người sử dụng, nhiều người khai thác kho tài nguyên, đặc biệt tài nguyên thông tin điểm có người sử dụng thường phân tán mặt địa lý Các đặc điểm thể lợi ích to lớn mạng thông tin máy tính đồng thời điều kiện thuận lợi cho người (hacker) muốn phá hoại an toàn thông tin mạng máy tính Do cách tốt để bảo mật thông tin mã hóa thông tin trước gửi Mục tiêu mật mã cho phép hai người, thường đề cập đến Alice Bob, liên lạc kênh không an toàn theo cách mà đối thủ Orcar hiểu nói Kênh đường điện thoại máy tính Thông tin mà Alice muốn gửi đến Bob gọi “bản rõ” (plaintext), tài liệu có cấu trúc tùy ý Alice mã rõ cách dùng khóa xác định trước, gửi rõ thu kênh không an toàn Orcar dù thu trộm mã kênh song Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng hiểu rõ gì, Bob người biết khóa mã giải mã thiết lập rõ (văn bản) Có hai loại khóa mật mã khóa bí mật (private key) khóa công khai (public key) Trong mật mã bí mật hai người muốn trao đổi thông tin cho phải thỏa thuận chọn cách bí mật khóa k Từ k suy quy tắc mã hóa ek quy tắc giải mã dk Trong hệ mật mã dk trùng với ek dễ dàng rút từ ek tiết lộ ek làm cho hệ thống không an toàn Độ an toàn hệ mật mã độ an toàn tính toán Trong thực tế, hệ mật mã “an toàn tính toán” phương pháp tốt để phá yêu cầu số lớn không hợp lý thời gian tính toán, nghĩa trình thực phức tạp, phức tạp đến mức ta coi “không thể được” Hệ mật khóa công khai đáp ứng đòi hỏi Ý tưởng nằm sau hệ mật khóa công khai chỗ tìm hệ mật tính toán để xác định d k biết ek Quy tắc mã ek công khai Hàm mã hóa công khai ek phải dễ dàng tính toán việc giải mã phải khó người người lập mã Tính chất dễ tính toán khó đảo ngược thường gọi tính chất chiều Muốn giải mã thông báo nhận cách hiệu ta cần có cửa sập chiều, điều đảm bảo độ bí mật cao Mã hóa có đặc điểm xác thực chữ ký số Xác thực có nhược điểm hai bên có chung khóa nên phân xử hai người chối bỏ thông báo họ chối bỏ gửi cho người Hơn mạng có nhiều người sử dụng, cặp khóa thỏa thuận người phải lưu giữ n – khóa bí mật Khi n đủ lớn việc phiền phức phức tạp Chính mà chữ ký số đời sử dụng nhiều Chữ ký số có nhiệm vụ giống chữ ký tay nghĩa dùng để thực chức xác nhận người gửi văn Nó vừa mang dấu vết không chối cãi người gửi, vừa gắn với bit văn Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng mà thay đổi dù bit văn chữ ký không chấp nhận Chính lý mà em chọn nghiên cứu đề tài “Tìm hiều chữ ký số (Digital Signature) ứng dụng” Trên sở tìm hiểu nghiên cứu lược đồ chữ ký, hàm băm ứng dụng chữ ký số thực tế Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng CHƢƠNG CƠ SỞ LÝ THUYẾT 1.1 Mật mã Mật mã (cryptography) mặt phức tạp trình phát triển phần mềm mà nhà phát triển sử dụng Lý thuyết kỹ thuật mật mã đại khó hiểu đòi hỏi mức kiến thức toán học mà tương đối người có May mắn thư viện lớp NET Framework cung cấp thực dễ sử dụng cho hầu hết kỹ thuật mật mã thông dụng hỗ trợ giải thuật phổ biến Gồm vấn đề sau: - Tạo số ngẫu nhiên - Tạo xác minh mã băm mật mã mã băm có khóa - Sử dụng giải thuật đối xứng không đối xứng để mã hóa giải mã liệu Một số định nghĩa hay dùng: - Encrypt (động từ, tạm dịch mật hóa) mã hóa thông tin theo cách để người đọc nó, trừ có khóa - Decrypt (động từ, tạm dịch giải mật hóa) giải mã thông tin mật hóa - Key chuỗi bit dùng để mã hóa giải mã thông tin - Plaintext văn chưa mã hóa hay giải mã - Ciphertext văn mã hóa 1.2 Tạo số ngẫu nhiên Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Bạn cần tạo số ngẫu nhiên dùng cho ứng dụng mật mã bảo mật Sử dụng tạo số ngẫu nhiên mật mã (cryptographic random number generator), Ví dụ (trong C#): System.Security.Cryptography.RNGCryptoServiceProvider Lớp System.Random tạo số giả ngẫu nhiên, sử dụng giải thuật toán học để mô việc tạo số ngẫu nhiên 1.3 Tính mã băm password Bạn cần lưu trữ password người dùng cách an toàn để bạn sử dụng để xác thực người dùng tương lai Đừng lưu trữ password người dùng dạng plaintext nguy bảo mật lớn Thay vào đó, tạo lưu trữ mã băm password lớp giải thuật băm dẫn xuất từ lớp (trong C#) System.Security.Cryptography.HashAlgorithm Khi xác thực, tạo mã băm password so sánh với mã băm lưu trữ Các giải thuật băm hàm mật mã chiều, nhận plaintext có chiều dài thay đổi tạo giá trị số có kích thước cố định Chúng chiều gần tìm lại plaintext gốc từ mã băm Các giải thuật băm tất định (deterministic); áp dụng giải thuật băm cho mẩu plaintext tạo mã băm Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 10 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng  ye a 1 f mod p (1) Tương tự ta tính được: (D.-f )e  ye a 1 f mod p (2) 1 Với D  Ca mod p C  yf f mod p   a mod p Từ (1) (2) (d-e )f  (D-f )e mod p Vì vậy, y chữ ký giả mạo Bob thuyết phục Alice tin chữ ký giả mạo Định lý 5.3: Giả sử y  xa mod p, Alice thực giao thức chối bỏ Nếu d  xe e mod p, D  xf f mod p khả (d-e )f  (D-f )e mod p có xác suất – q Chứng minh: Ở đây, ta xét trường hợp Bob từ chối chữ ký Trong trường hợp này, giả định Bob làm theo giao thức nghĩa Bob không xây dựng d D lý thuyết giao thức, giả định Bob tạo giá trị d D thỏa mãn điều kiện bước bước bước giao thức chối bỏ Giả thiết có: y  xamod p d  xe e mod p D  xf f mod p (d-e )f  (D-f )e mod p Từ (d-e )f  (D-f )e mod p có: (d-e )f e 1  D.-f mod p Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 47 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng  1 (d-e )f e f  D mod p 1 1  D  (de -e e )f f mod p 1 1 Đặt d0 = de -e e modp _ d0 phụ thuộc vào bước – giao thức  D  d0f f mod p 1 1 Từ d0 = de -e e mod p  d0e = d-e mod p  d = d0e e mod p Áp dụng định lý 5.1, kết luận y chữ ký d0 với xác suất q – Nhưng giả định y chữ ký x Do đó, với xác suất cao có: xa  d0a mod p  x = d0 (1) Mặt khác: d  xe e mod p (gt) d.-e  xe mod p (d.-e )e x  d e1 1 1  xmod p -e e mà d0 = d e 1 1 mod p -e e 1 mod p (theo trên)  x  d0 (2) Ta thấy (1) (2) mâu thuẫn Vì vậy, để (d-e )f  (D-f )e mod p với d  xe e mod p D  xf f mod p xác suất xảy cao – Nghĩa là, Bob lừa q Alice trường hợp với xác suất nhỏ q 5.4 Vấn đề cần giải Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 48 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Ba định lý phần đề cập tới khía cạnh Bob chấp nhận hay chối bỏ chữ ký mà chưa nói tới khía cạnh khác Alice chối bỏ chữ ký đọc thông báo Bob gửi Ta giả định Bob gửi cho Alice thông báo đòi nợ Alice chưa muốn trả không muốn trả cô ta lờ coi chưa nhận hay chưa đọc thông báo Vậy Bob làm cách để chứng minh Alice mở thông báo? Để giải vấn đề Bob Alice thực theo giao thức sau: Trước tiên, Bob Alice xây dựng khóa K theo lược đồ trao đổi khóa Diffie – Hellman Giao thức sau: Giả sử p số nguyên tố,  nguyên thủy Zp*; , p công khai Cuộc trao đổi khóa Bob Alice theo bước sau: Bob chọn ngẫu nhiên aB:  aB  p – Bob tính a B mod p gửi cho Alice Bob chọn ngẫu nhiên aA:  aA  p – Bob tính a A mod p gửi cho Bob Bob tính K = (a A )a B mod p Alice tính K = (a A )a B mod p Sau đó, Bob tiếp tục xây dựng khóa K1, K1 bí mật Bob xây dựng K1 theo hệ mật đối xứng (DES, AES – hệ khóa Các khóa lập giải mã hay dễ dàng xác định lẫn Các hệ khóa cung cấp cách tuyệt vời cho việc mã hóa tệp riêng người dùng) Bob Alice tiến hành bước đây: Bob dùng K1 để mã hóa thông báo x chữ ký kèm theo: y = sigB(x) i = eK (x, y) Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 49 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Bob gửi i cho Alice Alice gửi lại thông báo x1 kèm chữ ký y1 = sigA(x1) mã y1 K: j = eK(y1) gửi cho Bob Trong x1 chứa ngày giờ, lời yêu cầu chứa i Bob tính i1 = eK(K1) gửi cho Alice Khi Bob Alice tiến hành theo giao thức trên, muốn đọc thông báo Alice phải gửi lại thông báo (đã mã hóa khóa K) tới Bob, yêu cầu Bob gửi khóa K1 cho K1 Bob biết Bob kiểm tra thông báo Alice theo thuật toán kiểm tra công khai Ver để xác định thông báo có Alice gửi hay không? Nếu đúng, gửi khóa K1 cho Alice mà K1 mã hóa theo K Bob thực theo cách có đủ chứng để chứng minh trước tòa Alice có mở đọc thông báo gửi tới cách đưa thông báo có kèm chữ ký Alice ngày Bob nhận thông báo (Xem [6], [8], [5]) Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 50 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng CHƢƠNG ỨNG DỤNG CHỮ KÝ SỐ (DIGITAL SIGNATURE) 6.1 Ứng dụng chung chữ ký số Chữ ký số đảm bảo toàn vẹn cho liệu đánh dấu xác định liệu đánh dấu Chính lý Digital Signature sử dụng nhiều lĩnh vực thư tín điện tử, thiết bị truyền tải điện tử, trao đổi liệu điện tử, phân phối phần mềm, lưu trữ liệu, trao đổi qua mạng ứng dụng khác yêu cầu chứng thực gốc toàn vẹn liệu Chữ ký số có vai trò lớn giao dịch điện tử hoạt động tài hoạt động ngân sách nhà nước, tài chính, ngân hàng, thuế, kho bạc, hải quan, chứng khoán, kiểm toán (Nghị định 27/2007/NĐ-CP/ ngày 25/02/2007) Hành công khai (khai sinh, khai tử, nộp thuế, cấp loại giấy tờ chứng chỉ,… sử dụng nhiều Nhật Bản), mua bán đấu thầu qua mạng, y tế, giáo dục Chữ ký số sử dụng lĩnh vực thư tín điện tử, sau phía đối tác A tạo văn sử dụng khoá riêng để ký tên gửi cho bên B Sau xác minh lại thông báo nhận với độ tin cậy đó, bên B ký kết hợp đồng với bên A tất nhiên lúc bên B xác minh thông báo nhận không bị biến đổi sau ký Chữ ký số sử dụng hệ thống chuyển tiền tự động Giả sử nguồn tài điện tử gửi thông báo yêu cầu chuyển 10.000$ cho tài khoản khác Nếu thông báo chuyển qua mạng không bảo Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 51 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng vệ, bị đối phương thay đổi yêu cầu chuyển 100.000$ 10.000$ Lúc thông tin bổ sung người nhận biết thông báo bị thay đổi Tuy nhiên, dùng Digital Signature để đánh dấu thông báo truớc gửi người nhận phát thay đổi yêu cầu chuyển tiền thực Chữ ký số mô hình đảm bảo an toàn liệu truyền mạng sử dụng để tạo chứng nhận giao dịch qua mạng Internet Ví dụ A gửi đến tổ chức Certificate Authority (CA) yêu cầu cấp chứng nhận điện tử kèm theo khóa công khai họ Tổ chức CA “ký nhận” vào cấp Digital Certificate cho A Khách hàng thông báo Certificate mạng Giả sử có B muốn gửi cho A message công việc B lấy certificate A kiểm tra tính hợp lệ certificate Nếu hợp lệ, B lấy public key Digital Certificate để mã hóa liệu gửi cho A Chữ ký số có ứng dụng ngân hàng (Điều 11 đến điều 16 chương luật giao dịch điện tử hoạt động tài chính), trình giao dịch ngân hàng thẻ khách hàng Khi mà tài khoản khách hàng (vì lý đó) phải trừ tiền (chẳng hạn rút tiền) Thì phải quãng đường từ máy rút tiền đến ngân hàng Trên đường xảy cố chẳng hạn điện, rớt mạng,…thì máy rút tiền, tiền khách hàng trừ ngân hàng chưa người ta phải đồng liệu Nghĩa ngân hàng phải gửi liệu gốc ngân hàng tới máy rút tiền, để khôi phục lại tài khoản cho khách hàng Tài khoản bao gồm: số tài khoản, số dư tài khoản thông tin phải mã hóa Chữ ký số sử dụng nhiều lĩnh vực kinh doanh yêu cầu thay chữ ký “handwritten” Ví dụ Digital Signature dùng Electronic Data Interchange (EDI) EDI trao đổi thông báo tài liệu kinh doanh máy tính với Trong quyền liên bang, công nghệ Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 52 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng sử dụng để tìm kiếm hàng hoá dịch vụ Trong giao dịch EDI chữ ký số hoá thay cho chữ ký “handwritten” Ví dụ như: hợp đồng điện tử phủ nhà cung cấp điều đình Chính phủ gửi thông báo, ký, yêu cầu thầu cho nhà cung cấp nhà cung cấp muốn trả lời trước tiên phải xác minh lại thông báo nhận Hoạt động đảm bảo nội dung tài liệu không bị biến đổi ký viên chức có đủ thẩm quyền Sau xác minh yêu cầu thầu, nhà cung cấp tạo ký gói thầu điện tử gửi cho phủ Viên chức đại diện phủ xác minh lại thông báo trả lời nhà cung cấp gói thầu chấp nhận hai bên đề điều khoản hợp đồng chung Hợp đồng hai bên ký kết sau thời gian, hai bên có vấn đề phát sinh có đối tượng thứ ba đứng để xác minh lại hợp đồng chữ ký có liên quan Các nhà doanh nghiệp muốn tham gia đấu thầu truy cập trực tiếp vào website www.moste.gov.vn/chukydientu Sau kiểm tra thông tin chủ thầu gửi thư đến doanh nghiệp phép tham gia dự thầu thẻ thông minh PKI để tải hồ sơ dự thầu từ website nói Trong hệ thống pháp lý, thấy cần thiết phải đóng dấu ngày tháng năm thực tài liệu, thời gian bắt đầu có hiệu lực Thời gian điện tử đóng dấu lên mẫu điện tử sau chữ ký số đánh dấu Việc sử dụng chữ ký số để bảo vệ tài liệu tính toàn vẹn liệu thời gian đóng dấu lên Vậy chữ ký số có giá trị dấu (Điều 24 Luật giao dịch điện tử) Chữ ký số hữu ích việc phân phối phần mềm Một chữ ký số hoá ứng dụng cho phần mềm, để có hiệu lực phê chuẩn cho việc phân phối Trước cài đặt phần mềm máy tính, chữ ký dùng Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 53 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng để xác minh xâm phạm bất hợp pháp (như virus) xảy làm thay đổi liệu phần mềm Chữ ký để xác nhận tính toàn vẹn phần mềm Trong ứng dụng sở liệu, toàn vẹn thông tin cất sở liệu quan trọng chữ ký số dùng để đảm bảo khả Chẳng hạn thông tin ký vào sở liệu, hệ thống yêu cầu cập nhật cải biến thông tin ký Trước người dùng sử dụng thông tin ký, họ kiểm tra để xác nhận thông tin không bị truy nhập bất hợp pháp Như biết chữ ký số công cụ hữu hiệu để xác thực từ xa quyền thông điệp hay đối tác mạng máy tính Trên thực tế có nhu cầu xác thực đặc biệt Đó xác thực đối tượng cần ẩn danh (người ký nội dung ký), người ta dùng chữ ký “mù” Đó tập thể xác thực đối tượng, người ta dùng chữ ký “nhóm” Đó nhu cầu xác thực tập thể cho đối tượng ẩn danh, người ta dùng chữ ký “mù nhóm” 6.2 Chữ ký “mù” (blind signature), chữ ký “nhóm” (group signature) Về chữ ký “mù” ứng dụng nó, xem [7] 6.2.1 Ứng dụng bỏ phiếu điện tử Theo phương thức bỏ phiếu “điện tử”, phiếu phải có thông tin định danh Nó số x phải khác Trên phiếu phải có chữ ký số định danh x, phiếu có giá trị bầu cử Nếu cử tri CT chuyển số định danh x cho ban kiểm phiếu KP ký, họ xác lập mối liên hệ CT x (VD qua địa nơi gửi mạng) Đó điều mà CT không muốn sợ rắc rối sau Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 54 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Cử tri biến đổi x thành y trước đưa ban kiểm phiếu KP ký xác nhận Ban KP ký vào y, mà số định danh x bị che dấu (làm mù) Họ trao đổi chữ ký y z cho CT Cử tri “xóa mù” z chữ ký ban KP số định danh x, cử tri có quyền bầu cử Với kỹ thuật này, bỏ phiếu đảm bảo được: quyền bỏ phiếu bí mật Tức là: Chỉ có người có quyền bầu cử bỏ phiếu (Vì phiếu có chữ ký ban kiểm phiếu KP) 6.2.2 Ứng dụng hệ thống tiền điện tử Mua bán hàng mạng máy tính Giả sử Alice muốn mua sách Q giá 60$ từ Bob Giả sử hai người sử dụng dịch vụ ngân hàng Giao thức giao dịch gồm ba giai đoạn sau: Rút tiền (Withdrawal) + Alice tạo tiền điện tử C (Với thông tin: số seri, giá trị C, VD 60$) + Alice yêu cầu ngân hàng ký chữ ký “mù” lên C + Giao ký thành công ngân hàng trừ 60$ tài khoản Alice Tiêu tiền (Spending) + Bob kiểm tra chữ ký C Nếu chữ ký thông điệp hợp lệ bob kết thúc giao thức Gửi tiền (Deposit) + Bob lấy C từ Alice gửi cho ngân hàng + Ngân hàng xác thực chữ ký C Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 55 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng - Nếu chữ ký không hợp lệ, ngân hàng kiểm tra xem C tiêu trước hay chưa - Nếu C chưa tiêu ngân hàng cộng thêm vào tài khoản Bob + Nếu việc gửi tiền thành công, Bob gửi sách Q cho Alice Bob “khó” biết C từ tài khoản Khi Bob gửi C vào tài khoản mình, ngân hàng “khó” biết đồng tiền nhận từ Alice ký “mù” Như tiền điện tử C không lưu lại dấu vết “tiêu” 6.3 Ứng dụng chữ ký “nhóm” (group signature): Thẻ toán liên ngân hàng - Hiện nay, thẻ toán điện tử, thẻ rút tiền tự động ATM trở nên phổ biến Tuy nhiên ngân hàng phát minh loại thẻ chi phí cao: Cho người dùng cho ngân hàng Người dùng rút tiền hay toán họ phải tìm đến “quầy” ngân hàng Hơn họ phải mua nhiều thẻ gửi tiền nhiều ngân hàng, họ gặp khó khăn việc quản lý nhiều thẻ Mặt khác ngân hàng phí mua “quầy” toán riêng Như yêu cầu cần có thẻ toán chung “quầy” toán chung ngân hàng cần thiết Chữ ký “nhóm” ứng dụng trường hợp Một liên minh ngân hàng ngân hàng thành viên nhóm đó, trưởng nhóm ngân hàng trung tâm (được tin cậy ngân hàng khác) Ngân hàng trung tâm tạo khóa bí mật khóa công khai nhóm, tạo khóa bí mật cho ngân hàng thành viên Mỗi ngân hàng thành viên Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 56 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng có quyền tạo thẻ toán chung nhóm, cần ký ngân hàng 6.4 Cách sử dụng chữ ký số Bạn tự tạo cho chữ ký số nhiều phần mềm sẵn có OpenSSL, đăng ký với tổ chức cấp CA Việc đăng ký tính phí, chữ ký cấp tổ chức CA chứng thực Định dạng file *.PFX hay *.P12 sau tạo bao gồm Private Key, Public Key chứng thư bạn Nếu sử dụng Windows, cần tiến hành cài đặt làm theo dẫn Kết thúc trình, chứng thư bạn cài đặt máy tính, bạn cài lại máy phải cài lại chứng thư Tuy nhiên, việc lưu chữ ký số bạn máy tính phát sinh rủi ro bị chép vô tình bị lộ mật bảo vệ Private Key Để giải vấn đề này, người ta thường dùng thẻ thông minh để lưu chữ ký số, nhằm nâng cao tính bảo mật chữ ký số Tính pháp lý “Chữ ký số (CKS)”: Theo định số 25/2006/QĐ-BTM quy chế sử dụng chữ ký số Thương Mại, văn điện tử ký CKS có giá trị pháp lý tương đương văn giấy ký đóng dấu Ngoài ra, nghị định 26 CKS dịch vụ chứng thực CKS Thủ Tướng Chính Phủ ban hành ngày 15/2/2007, qua công nhận CKS chứng thực số có giá trị pháp lý giao dịch điện tử, bước đầu thúc đẩy phát triển thương mại điện tử Việt Nam Đơn vị cấp chứng số Việt Nam có VASC-CA với giải pháp: Chứng số cá nhân VASC-CA: giúp mã hóa thông tin, bảo mật email, sử dụng chữ ký điện tử cá nhân, chứng thực web server thông qua giao thức bảo mật SSL Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 57 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Chứng số SSL Server VASC-CA: Giúp bảo mật hoạt động trao đổi thông tin website, xác thực người dùng SSL, xác minh tính thống, chống giả mạo, cho phép toán thẻ tín dụng, ngăn chặn hacker dò mật Chứng số nhà phát triển phần mềm VASC-CA: cho phép nhà phát triển phần mềm ký vào chương trình applet, script, Java software, ActiveX control, EXE, CAB DLL, đảm bảo tính hợp pháp sản phẩm, cho phép người sử dụng nhận diện nhà cung cấp, phát thay đổi chương trình (do bị hỏng, bị hacker, hay virus phá hoại) Cung cấp giải pháp ứng dụng có dùng chữ ký số Việt Nam chưa nhiều Các công ty Giải Pháp Thẻ Minh Thông (www.tomica.vn), MI-SOFT(www.misoft.com.vn) công ty cung cấp tích hợp giải pháp chữ ký số HSM (Hardware Security Module) vào thẻ thông minh USB Token vào ứng dụng giao dịch cần bảo mật như: Internet Banking, Money Tranfer, VPN hay e-Signing Để chữ ký số sử dụng rộng rãi Việt Nam, điều quan trọng cần tổ chức cấp CA thừa nhận ửng hộ mạnh mẽ Nhà Nước việc ứng dụng thương mại điện tử hành điện tử Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 58 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng KẾT LUẬN Ngày nay, với phát triển khoa học đại Công nghệ thông tin, ngành mật mã có bước phát triển mạnh mẽ, đạt nhiều kết lý thuyết sâu sắc tạo sở cho việc phát triển giải pháp bảo mật, an toàn thông tin lĩnh vực hoạt động người Đặc biệt ưu điểm mà chữ ký số mang lại Chữ ký số biết trao đổi thông tin ngày phổ biến mạng truyền thông nơi mà chữ ký tay phát huy tác dụng Mà dùng chữ ký số đem lại hiệu nhanh, không tốn nhiều thời gian tiền bạc Chữ ký số có ứng dụng lớn thương mại điện tử chẳng hạn: Internet Banking (chuyển tiền qua mạng), mua bán, đấu thầu qua mạng, chứng khoán,… Nhận thấy việc sử dụng chữ ký số giải vấn đề bảo mật thông điệp xác thực Tuy nhiên đảm bảo đối tác bị giả mạo chối bỏ Để chống giả mạo xin chứng điện tử (Digital Certificate) quan có thẩm quyền để chứng thực cho Public Key Chính mà việc sử dụng chữ ký số gặp khó khăn Hướng phát triển áp dụng chữ ký số vào ứng dụng thực tiễn sống để bảo mật thông tin Và qua thấy tầm quan trọng ứng dụng rộng lớn để áp dụng trường đại học, giáo dục, y tế Chẳng hạn xây dựng hệ thống bỏ phiếu điện tử, tích hợp chiến lược tạo chữ ký số vào file Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 59 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Word, Excel,…Tuy nhiên lĩnh vực khó cần đầu tư nhà nước song có nhiều điểm cần phải nghiên cứu hoàn thiện thời gian cho phép trình độ hiểu biết hạn chế nên không tránh khỏi thiếu xót, mong thầy, cô bạn đóng góp Cuối em xin chân thành cảm ơn thầy giáo Th.S Trần Tuấn Vinh tận tình bảo giúp đỡ em hoàn thành khóa luận TÀI LIỆU THAM KHẢO Tài liệu tham khảo [1] Douglas R stinson, Cryptography_ Theory and Practice, CRC Press, 1995 [2] Man Toung Rhee, Hanyang University, Cryptography and Secure Communications, McGRAW - HILL BOOK CO, 1994 [3] Ph.D William Stallings, Network and Internetwork Security Principles and Practice, PRENTICE HALL, 1995 [4] Phạm Huy Điển - Hà Huy Khoái, Mã hóa thông tin - Cơ sở toán học ứng dụng, Viện Toán học, 2004 [5] Hà Huy Khoái, Nhập môn số học thuật toán, Nhà xuất khoa học 1997 [6] PGS-TS Thái Hồng Nhị - TS Phạm Minh Việt, An toàn thông tin - Mạng máy tính, truyền tin số truyền liệu, Nhà xuất khoa học kỹ thuật, 2004 [7] Trịnh Nhật Tiến, Trương Thị Thu Hiền, Nguyễn Đình Nam “Một số kỹ thuật bỏ phiếu từ xa” Kỷ yếu HT QG CNTT Thái Nguyên 8/2003 (Nhà xuất khoa học kỹ thuật năm 2005, trang 416 - 423) [8] PGS-TS Nguyễn Bình, Giáo trình Lý thuyết mật mã học, Nhà xuất Bưu Điện, 2004 [9] Bài giảng tham khảo TH.S Trần Minh Triết Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 60 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng Một số trang Web tham khảo: http://www.itl.nist.gov/fipspubs http://www.misoft.com.vn http://xalo.vn http://google.com với từ khóa: “Digital Signature, How digital signature work, digital signature standard, digital signature toturial, public-key cryptography…” Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 61 [...]...Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng CHƢƠNG 2 CHỮ KÝ SỐ (DIGITAL SIGNATURE) 2.1 Lịch sử phát triển của chữ ký số Từ thời xa xưa con người đã sử dụng các hợp đồng điện tử với việc sử dụng mã Morse Vào năm 1889, tòa án tối cao Hoa Kỳ đã phê chuẩn tính hiệu lực của chữ ký điện tử hay còn gọi chữ ký số Trong những năm gần đây chữ ký số mới được áp dụng và sử dụng rộng rãi... cảm ứng thành các file hình ảnh…Đây là cách hiểu không chính xác về chữ ký số Vậy chữ ký số là gì? Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 11 Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng Về căn bản chữ ký số cũng giống chữ ký viết tay cùng có nhiệm vụ chung là ký nhưng có sự khác nhau cơ bản giữa chúng: Thứ nhất, về việc ký tài liệu: Với chữ ký tay thì chữ. .. Khóa luận tốt nghiệp – Chuyên ngành Tin học 12 Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng chữ ký số dùng mật mã đối xứng; chữ ký số và xác thực sử dụng hàm một chiều; chữ ký có trọng tài Lược đồ chữ ký số gồm hai thành phần: Một thuật toán ký và một thuật toán kiểm tra Bob có thể ký thông báo x nhờ thuật toán ký (bí mật) Sig Chữ ký thu được sig (x) sau đó có thể được kiểm tra nhờ thuật... chặn Alice làm việc đó nhiều lần Vậy chữ ký số (Digital Signature) là một dạng của chữ ký điện tử, là đoạn dữ liệu gắn kèm với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra được tính toàn vẹn của nội dung văn bản gốc Ví dụ: Chữ ký số sử dụng mật mã có khóa công khai; kết hợp chữ ký số và mật mã; chữ ký số sử dụng thuật toán RSA; chữ ký số tách biệt đoạn tin; Đỗ Thị Xuân Thắm... mật và giải mã Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 31 Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng CHƢƠNG 4 CÁCH LÀM VIỆC CỦA CHỮ KÝ SỐ (DIGITAL SIGNATURE) 4.1 Giới thiệu chung Chữ ký số (Digital Signature) được tạo ra và kiểm tra bằng mật mã, đó là phương pháp thuộc lĩnh vực toán học, nó chuyển toàn bộ message thành một dạng khó có thể nhận dạng và. .. tử 4.2.1 Ký gửi chữ ký điện tử (mã hóa - Encrypt) Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 32 Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng Khi một người muốn gửi cho ai đó một văn bản quan trọng, đòi hỏi văn bản phải được ký xác nhận định danh người gửi văn bản; người gửi văn bản sẽ làm thực hiện quy trình ký chữ ký số Quy trình ký chữ ký số sử dụng khóa... vực Hiện nay, chữ ký số có thể bao hàm các cam kết gửi bằng email, nhập các số định dạng cá nhân (PIN) vào các máy ATM, ký bút điện tử với thiết bị màn hình cảm ứng tại quầy tính tiền, chấp nhận tài khoản người dùng khi cài đặt phần mềm máy tính,… 2.2 Giới thiệu chung về chữ ký số Chữ ký số (digital signature) là gì? Trước đây, nhiều người nhầm tưởng chữ ký số là chữ ký của người dùng ký trên giấy sau... học 18 Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng  = 299 132179mod 467 = 117  = - 177 151 mod 466 = 41 x = 99 41 mod 466 = 331 Và (117, 41 ) là chữ ký trên x = 331 Kiểm tra: 132117 11741  303mod 467 và 2331  303 mod 467 Do đó chữ ký đó là hợp lệ (Xem trong [6]) Orcar có thể giả mạo chữ ký theo kiểu khác là bắt đầu thông báo x đã được Bob ký Giả sử (, ) là chữ ký hợp lệ trên... học 33 Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng Bước 2: Sử dụng khóa bí mật (Private key) của người gửi để mã hóa Message Digest thu được ở bước 1 Thông thường ở bước này người ta dùng giải thuật RSA kết quả sẽ thu được chữ ký số của thông điệp ban đầu Bước 3: Gộp chữ số vào bản tin điện tử ban đầu Việc này gọi là ký xác nhận” vào thông điệp Sau khi ký xác nhận vào thông điệp... y’) tới Bob, chữ ký của Orcar sẽ được kiểm tra thử vì Bob sử dụng verOrcar, và Bob có thể suy ra rằng bản rõ x xuất Đỗ Thị Xuân Thắm K31 B – Khóa luận tốt nghiệp – Chuyên ngành Tin học 15 Đề tài: Tìm hiểu về chữ ký số (Digital Signature) và ứng dụng phát từ Orcar Điều này cũng làm cho người sử dụng hiểu rằng nên ký trước rồi sau đó mới tiến hành mã hóa Ví dụ: Giả sử Bob dùng lược đồ chữ ký số RSA với ... Chuyên ngành Tin học 50 Đề tài: Tìm hiểu chữ ký số (Digital Signature) ứng dụng CHƢƠNG ỨNG DỤNG CHỮ KÝ SỐ (DIGITAL SIGNATURE) 6.1 Ứng dụng chung chữ ký số Chữ ký số đảm bảo toàn vẹn cho liệu đánh... Tìm hiểu chữ ký số (Digital Signature) ứng dụng Về chữ ký số giống chữ ký viết tay có nhiệm vụ chung ký có khác chúng: Thứ nhất, việc ký tài liệu: Với chữ ký tay chữ ký phận vật lý tài liệu ký. .. Tìm hiểu chữ ký số (Digital Signature) ứng dụng mà thay đổi dù bit văn chữ ký không chấp nhận Chính lý mà em chọn nghiên cứu đề tài Tìm hiều chữ ký số (Digital Signature) ứng dụng Trên sở tìm

Ngày đăng: 16/11/2015, 11:54

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

Tài liệu liên quan