Đăng ký Đăng nhập
Trang chủ Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử...

Tài liệu Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử

.DOC
76
403
98

Mô tả:

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ THỊ HÀ SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Thái Nguyên - 2012 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ THỊ HÀ SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG DỤNG TRONG THƯƠNG MẠI ĐIỆN TỬ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ: Khoa học máy tính NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS. Bùi Thế Hồng Thái Nguyên - 2012 LỜI CAM ĐOAN Tôi xin cam đoan Luận văn “ Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử ” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của PGS.TS. Bùi Thế Hồng Toàn bô ô phần mềm do chính tôi xây dựng và kiểm thử. Tôi xin chịu trách nhiê ôm về lời cam đoan của mình. Các số liệu và thông tin sử dụng trong luận văn này là trung thực. Tác giả Lê Thị Hà i ii MỤC LỤC LỜI MỞ ĐẦU...................................................................................................vi 1. Lý do chọn đề tài.........................................................................................1 2. Mục tiêu nghiên cứu....................................................................................1 3. Phương pháp nghiên cứu.............................................................................2 4. Tổng quan luận văn.....................................................................................2 CHƯƠNG 1.......................................................................................................4 TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ.............................................4 1.1. Giới thiê ôu về mật mã và hệ thống mã khóa..............................................4 1.1.1 Giới thiệu về mật mã học và các yêu cầu bảo mật thông tin.....................4 1.1.1.1. Giới thiệu về mật mã học..............................................................4 1.1.1.2. Các yêu cầu bảo mật thông tin......................................................6 1.1.2. Các hệ thống mã hóa đối xứng và công khai............................................8 1.1.2.1. Sơ đồ hệ thống mật mã..................................................................8 1.1.2.2. Hệ thống mật mã đối xứng và công khai......................................9 1.2. Chữ ký số................................................................................................10 1.2.1. Giới thiệu về chữ ký số...........................................................................10 1.2.2. Quá trình ký và xác thực chữ ký.............................................................11 1.2.2.1. Quá trình ký................................................................................11 1.2.2.2. Quá trình xác thực chữ ký số......................................................12 1.2.3. Một số lược đồ chữ ký số.......................................................................15 1.2.3.1. Định nghĩa sơ đồ chữ ký số:.......................................................15 1.3. Kết luận chương 1................................................................................23 CHƯƠNG 2.....................................................................................................24 BÀI TOÁN SƠ ĐỒ ĐỊNH DANH MẬT VÀ XÁC NHẬN THÔNG TIN. .24 2.1. Tổng quan về bài toán xưng danh..........................................................24 2.2. Sơ đồ xưng danh Okamoto.....................................................................25 iii 2.3. Sơ đồ xưng danh Guillou-Quisquater.....................................................31 2.4. Các sơ đồ xung danh dựa trên tính đồng nhất........................................35 2.5. Sơ đồ xưng danh Schnorr.......................................................................36 2.6. Chuẩn chữ ký số (Digital Signature Standard).......................................42 2.7. Hàm băm và chữ ký................................................................................44 2.7.1. Hàm băm (hash function).......................................................................44 2.7.2. Vai trò của hàm băm...............................................................................46 2.7.3. Chữ ký.....................................................................................................47 2.8. Kết luận chương 2..................................................................................48 CHƯƠNG 3.....................................................................................................49 CHƯƠNG TRÌNH SƠ ĐỒ ĐỊNH DANH SCHNORR VÀ SƠ ĐỒ CHỮ KÝ SCHNORR...............................................................................................49 3.1. Yêu cầu hệ thống....................................................................................49 3.1.1. Phần mềm..............................................................................................49 3.1.2. Phần cứng...............................................................................................49 3.2. Màn hình chính của hệ thống................................................................49 3.3. Chương trình sơ đồ định danh Schnorr.................................................50 3.3.1. Thuật toán của chương trình...................................................................50 3.3.2. Giao diện chương trình của sơ đồ định danh Schnorr............................51 3.3.2.1. Chức năng tạo mới......................................................................51 3.3.2.2. Chức năng tạo số.........................................................................52 3.3.2.3. Chức năng trình ký.....................................................................52 3.3.2.4. Chức năng gửi.............................................................................54 3.3.2.5. Chức năng Verify........................................................................55 3.3.3. Thử nghiệm.............................................................................................57 3.4. Chương trình sơ đồ chữ ký Schnorr.......................................................58 3.4.1. Thuật toán của chương trình...................................................................58 iv 3.4.2. Giao diện chương trình của sơ đồ chữ ký Schnorr.............................59 3.4.2.1. Chức năng tạo mới......................................................................59 3.4.2.2. Chức năng trình ký.....................................................................60 34.2.3. Chức năng gửi..............................................................................61 3.4.2.4. Chức năng Sign...........................................................................61 3.4.3. Thử nghiệm....................................................................................62 3.5. Kết luận chương 3.............................................................................62 TÀI LIỆU THAM KHẢO..............................................................................64 PHỤ LỤC........................................................................................................65 v DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT Các từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt hash function Hàm băm. Digital Signature Standard Rivest, Shamir và Adleman Chuẩn chữ ký số Tên ba tác giả của hệ mật mã TA Trusted Authority RSA Cơ quan ủy thác E Elgamal Sơ đồ chữ ký Elgamal DSS RSA vi DANH MỤC HÌNH VẼ Hình 1.1: Lược đồ ký......................................................................................12 Hình 1.2 Lược đồ xác thực..............................................................................14 Hình 2.1. Sơ đồ hàm băm................................................................................46 Hình 3.1. Giao diện tổng thể của hệ thống.....................................................49 Hình 3.2. Giao diện chương trình mô phỏng sơ đồ định danh Schnorr..........51 Hình 3.3. Giao diện chương trình mô phỏng cơ quan ủy thác xác................53 Hình 3.4. Giao diện chương trình Andy thực hiện gửi thông tin cho Tommy 54 Hình 3.5. Giao diện chương trình thực hiện xác nhận thông tin của Andy.....55 Hình 3.6.Giao diện chương trình sơ đồ chữ ký Schnorr.................................59 Hình 3.7. Giao diện chương trình thực hiện xác nhận thông tin của sơ đồ chữ ký Schnorr.......................................................................................................61 1 LỜI MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay, cùng với sự phát triển không ngừng của ngành công nghệ thông tin là sự bùng nổ số lượng ứng dụng quản lý thông tin, công việc của tổ chức, doanh nghiệp, cá nhân, an toàn cho vấn đề xác nhận các thông báo. Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất cần phải có giải pháp an toàn cho vấn đề xác nhận các thông báo cùng với người gửi trên các mạng truyền tin công cộng. Trong thực tế cuộc sống, việc xưng danh theo thói quen thường không có tính an toàn chẳng hạn các số PIN, mật khẩu thường không có gì để đảm bảo là được giữ kín, người ngoài không biết. Trong giao thức thực hiện trên điện thoại, bất kỳ kẻ nghe trộm nào cũng có thể dùng thông tin định danh cho mục đích riêng của mình. Những người này cũng có thể là người nhận thông tin. Các mưu đồ xấu trên thẻ tín dụng đều hoạt động theo cách này. Như vậy với sự phát triển tin học trên mọi lĩnh vực như hiện nay, phần lớn các giao dịch được thực hiện trên các mạng tin học đòi hỏi phải có giải pháp về an toàn trong các khâu xưng danh và xác nhận danh tính cho các hoạt động đó. Nhận thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên hướng dẫn, em đã chọn đề tài “Sơ đồ định danh mật và sơ đồ chữ ký số ứng dụng trong thương mại điện tử” làm đề tài cho luận văn thạc sĩ của mình. 2. Mục tiêu nghiên cứu - Tìm hiểu về lý thuyết mật mã học và hệ thống mật mã. - Nghiên cứu chữ chữ ký số và quá trình xác thực chữ ký số. -Chuẩn chữ ký số và hàm băm. 2 - Nghiên cứu các sơ đồ chữ ký số và các sơ đồ định danh mật. - Nghiên cứu phương pháp chuyển sơ đồ định danh mật sang sơ đồ chữ ký số. 3. Phương pháp nghiên cứu - Nghiên cứu qua các tài liệu như: sách, các bài báo, thông tin trên các website và các tài liệu liên quan. - Phân tích, tổng hợp lý thuyết và giới thiệu các thuật toán của các sơ đồ định danh mật và cách chuyển sơ đồ định danh schnorr sang sơ đồ chữ ký schnorr. - Sử dụng ngôn ngữ lập trình C# để triển khai xây dựng một chương trình ứng dụng về sơ đồ định danh schnorr và sơ đồ chữ ký schnorr ứng dụng trong thương mại điện tử. 4. Tổng quan luận văn Luận văn được trình bày theo hình thức từ trên xuống. Bắt đầu của mỗi phần đều đưa ra những khái niệm cơ bản và quy định cho phần trình bày tiếp sau nhằm mục đích giúp dễ dàng trong khi đọc, dần dần đi sâu vào để thảo luận rõ hơn những vấn đề liên quan. Luận văn cấu trúc thành 3 chương: Chương 1: Tổng quan về mật mã và chữ ký số Tìm hiểu lý thuyết mật mã, hệ thống mã khóa, chữ ký số, các sơ đồ chữ ký số. Chương 2: Bài toán sơ đồ định danh mật và xác nhận thông tin Trình bày bài toán định danh và sơ đồ xưng danh xác nhận danh tính. Các sơ đồ xưng danh Schnorr, Okamoto đòi hỏi người được ủy quyền tín nhiệm (TA) dựa trên bài toán tính logarit rời rạc, sơ đồ xưng danh Guillou – Quisquater, sơ đồ định danh dựa trên tính đồng nhất. Chuẩn chữ ký số và hàm băm. 3 Chương 3: Chương trình sơ đồ định danh schnorr và sơ đồ chữ ký schnorr Trình bày việc cài đặt thuật toán bằng ngôn ngữ lập trình C#, trên cơ sở xây dựng ứng dụng sơ đồ định danh schnorr và sơ đồ chữ ký schnorr. Kết luận: Tóm tắt các nội dung chính, các kết quả đạt được và hướng nghiên cứu tiếp theo của luận văn. 4 CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ 1.1. Giới thiê êu về mật mã và hệ thống mã khóa 1.1.1 Giới thiệu về mật mã học và các yêu cầu bảo mật thông tin 1.1.1.1. Giới thiệu về mật mã học Nhu cầu sử dụng mật mã đã xuất hiện từ rất sớm, khi con người biết trao đổi và truyền đưa thông tin cho nhau, đặc biệt khi các thông tin đó đã được thể hiện dưới hình thức ngôn ngữ, thư từ. Lịch sử cho ta biết, các hình thức mật mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai cập cổ đại. Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi trên khắp thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao. Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật thông tin (chẳng hạn dưới dạng một văn bản) từ một người gửi A đến một người nhận B, A phải tạo cho văn bản đó một bản mật mã tương ứng, và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản mật mã, B nhận được bản mã mật và sẽ có cách khôi phục lại văn bản rõ để hiểu được thông tin mà A muốn gửi cho mình. Vì bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài có thể "lấy trộm" được, nhưng đó là bản mật mã nên đọc không hiểu được, còn A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được là do giữa hai người đã có một thỏa thuận về một chìa khóa chung, chỉ với chìa khóa chung này thì A mới tạo được bản mã mật từ bản rõ, và B mới từ bản mã mật khôi phục lại được bản rõ. Sau này ta sẽ gọi đơn giản chìa khóa chung đó là khóa mật mã. Tất nhiên để thực hiện được một phép mật mã, ta còn cần có một thuật toán biến bản rõ, cùng với khóa mật mã 5 thành bản mã mật và một thuật toán ngược lại, biến bản mã mật cùng với khóa mật mã thành bản rõ. Các thuật toán đó được gọi tương ứng là thuật toán lập mật mã và thuật toán giải mật mã. Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái cần được giữ tuyệt mật luôn luôn là khóa mật mã. Trong thực tiễn, đã có hoạt động bảo mật thì cũng có hoạt động ngược lại là khám phá bí mật từ các bản mã mật "lấy trộm" được, ta thường gọi hoạt động này là mã thám, hoạt động này quan trọng không kém gì hoạt động bảo mật! Vì các thuật toán lập mật mã và giải mật mã không nhất thiết là bí mật, nên mã thám thường được tập trung vào việc tìm khóa mật mã, do đó cũng có người gọi công việc đó là phá khóa. Bước sang thế kỷ 20, với những tiến bộ liên tục của kỹ thuật tính toán và truyền thông, ngành mật mã cũng đã có những tiến bộ to lớn. Vào những thập niên đầu của thế kỷ, sự phát triển của các kỹ thuật biểu diễn, truyền và xử lý tín hiệu đã có tác động giúp cho các hoạt động lập và giải mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa. Các văn bản, các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay được chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy bit, và các phép biến đổi trên các dãy ký tự được chuyển thành các phép biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã, giải mã trở thành việc thực hiện các hàm số số học. Lý thuyết về độ phức tạp tính toán ra đời từ giữa những năm 1960 đã cho ta một cách thích hợp để yêu cầu bí mật hoặc ngẫu nhiên về một yêu cầu có thể định nghĩa được là yêu cầu về độ phức tạp tính toán. Bây giờ ta có thể nói: một giải pháp mật mã là bảo đảm bí mật, nếu mọi thuật toán thám mã đều phải được thực hiện với độ phức tạp tính toán cực lớn. Cực lớn là bao nhiêu? Là vượt quá giới hạn khả năng tính toán (bao gồm cả máy tính) mà người thám mã có thể có. Về lý thuyết, có thể xem đó là những 6 độ phức tạp tính toán với tốc độ tăng vượt quá hàm mũ, hoặc thuộc loại NPkhó. Tuy nhiên, lý thuyết độ phức tạp tính toán không chỉ cống hiến cho ta một khái niệm để giúp chính xác hóa tiêu chuẩn bí mật của các giải pháp mật mã, mà còn mở ra một giai đoạn mới của ngành mật mã, biến ngành mật mã thành một khoa học có nội dung lý luận phong phú và có những ứng dụng thực tiễn quan trọng trong nhiều lĩnh vực của đời sống hiện đại. Bước ngoặt có tính cách mạng trong lịch sử khoa học mật mã hiện đại xẩy ra vào năm 1976 khi hai tác giả Diffie và Hellman đưa ra khái niệm về mật mã khóa công khai và một phương pháp trao đổi công khai để tạo ra một khóa bí mật chung mà tính an toàn được bảo đảm bởi độ khó của một bài toán toán học cụ thể (là bài toán tính "lôgarit rời rạc"). Hai năm sau, năm 1978, Rivest, Shamir và Adleman tìm ra một hệ mật mã khóa công khai và một sơ đồ chữ ký điện tử hoàn toàn có thể ứng dụng trong thực tiễn, tính bảo mật và an toàn của chúng được bảo đảm bằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số nguyên tố. Sau phát minh ra hệ mật mã đó (mà nay ta thường gọi là hệ RSA), việc nghiên cứu để phát minh ra các hệ mật mã khóa công khai khác và ứng dụng các hệ mật mã khóa công khai vào các bài toán khác nhau của an toàn thông tin đã được tiến hành rộng rãi, lý thuyết mật mã và an toàn thông tin trở thành một lĩnh vực khoa học được phát triển nhanh trong vài ba thập niên cuối của thế kỷ 20, lôi cuốn theo sự phát triển của một số bộ môn của toán học và tin học. 1.1.1.2. Các yêu cầu bảo mật thông tin Hiê nô nay các biê nô pháp tấn công ngày càng tinh vi, đe dọa tới đô ô an toàn và bảo mâ ôt thông tin. Vì vâ ôy chúng ta cần thiết lâ pô các phương pháp đề phòng cần thiết. Mục đích cuối cùng của các an toàn bảo mâ tô là bảo vê ô các thông tin và tài nguyên theo các tiêu chí sau: 7 - Tính bí mâ ôt : Để đảm bảo dữ liê ôu được truyền đi mô ôt cách an toàn và không thể bị lô ô thông tin nếu như có ai đó cố tình muốn có được nôi dung của dữ liê ôu gốc ban đầu. Chỉ có người nhâ ôn đã xác thực mới có thể lấy ra được nô ôi dung của thông tin của dữ liê ôu đã được mã hóa. - Tính xác thực: Thông tin không thể bị truy câ pô trái phép bởi những người không có thẩm quyền, giúp cho người nhâ nô dữ liê ôu xác định được chắc chắn dữ liê ôu mà họ nhâ nô là dữ liê ôu gốc ban đầu của người gửi. Kẻ giả mạo không thể có khả năng để giả dạng mô ôt người khác hay nói cách khác không thể mạo danh để gửi dữ liê ôu. Người nhâ nô có khả năng kiểm tra nguồn gốc thông tin mà họ nhâ nô được. - Tính toàn vẹn: Thông tin không thể bị sửa đổi, bị làm giả bởi những người không có thẩm quyền giúp cho người nhâ nô dữ liê ôu kiểm tra được rằng dữ liê ôu không thay đổi trong quá trình truyền đi. Kẻ giả mạo không thể có khả năng thay thế dư liê ôu ban đầu bằng dữ liê ôu giả mạo. - Tính không thể chối bỏ: Thông tin đươc cam kết về mă tô pháp luâ ôt của người cung cấp. Người gửi hay người nhâ nô không thể chối bỏ sau khi đã gửi hoă ôc nhâ nô thông tin. - Đảm bảo tính sẵn sàng: Thông tin luôn sẵn sằng để đáp ứng sử dụng cho người có thẩm quyền. Người gửi không bị từ chối viê ôc gửi thông tin đi. - Tính chống lă ôp lại: Không cho phép gửi thông tin nhiều lần đến người nhâ nô mà người gửi không hề hay biết. 1.1.2. Các hệ thống mã hóa đối xứng và công khai 1.1.2.1. Sơ đồ hệ thống mật mã. Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông tin được truyền trên các kênh truyền thông công cộng như các kênh bưu 8 chính, điện thoại, mạng truyền thông máy tính, mạng Internet, v.v... Giả sử một người gửi A muốn gửi đến một người nhận B một văn bản (chẳng hạn, một bức thư) p, để bảo mật A lập cho p một bản mật mã c, và thay cho việc gửi p, A gửi cho B bản mật mã c, B nhận được c và "giải mã" c để lại được văn bản p như A gửi. Để A biến p thành c và B biến ngược lại c thành p, A và B phải thỏa thuận trước với nhau các thuật toán lập mã và giải mã, và đặc biệt một khóa mật mã chung K để thực hiện các thuật toán đó. Người ngoài, không biết các thông tin đó (đặc biệt, không biết khóa K), cho dù có lấy trộm được c trên kênh truyền thông công cộng, cũng không thể tìm được văn bản p mà hai người A, B muốn gửi cho nhau. Sau đây ta sẽ cho một định nghĩa hình thức về sơ đồ mật mã và cách thức thực hiện để lập mật mã và giải mật mã. Định nghĩa1.1.2.1 : Một sơ đồ hệ thống mật mã là một bộ năm S = (P , C , K , E , D ) (1) thỏa mãn các điều kiện sau đây: P là một tập hữu hạn các ký tự bản rõ, C là một tập hữu hạn các ký tự bản mã, K là một tập hữu hạn các khóa, E là một ánh xạ từ KxP vào C, được gọi là phép lập mật mã; và D là một ánh xạ từ KxC vào P, được gọi là phép giải mã. Với mỗi K∈ , ta định nghĩa eK : P →C , dK :C →P là hai hàm cho bởi : ∈x P : eK(x) = E (K,x) ; ∈y C : dK(y) = D (K,y). eK và dK được gọi lần lượt là hàm lập mã và hàm giải mã ứng với khóa mật mã K. Các hàm đó phải thỏa mãn hệ thức: ∈x P : dK(eK(x)) = x 9 Về sau, để thuận tiện ta sẽ gọi một danh sách (1) thoả mãn các tính chất kể trên là một sơ đồ hệ thống mật mã , còn khi đã chọn cố định một khoá K, thì danh sách (P , C , eK , dK) là một hệ mật mã thuộc sơ đồ đó. Trong định nghĩa này, phép lập mật mã (giải mã) được định nghĩa cho từng ký tự bản rõ (bản mã). Trong thực tế, bản rõ của một thông báo thường là một dãy ký tự bản rõ, tức là phần tử của tập P *, và bản mật mã cũng là một dãy các ký tự bản mã, tức là phần tử của tập C *, việc mở rộng các hàm eK và dK lên các miền tương ứng P * và C *. Các tập ký tự bản rõ và bản mã thường dùng là các tập ký tự của ngôn ngữ thông thường như tiếng Việt, tiếng Anh (ta ký hiệu tập ký tự tiếng Anh là A tức A = {a,b,c,...,x,y,z } gồm 26 ký tự; tập ký tự nhị phân B chỉ gồm hai ký tự 0 và 1; tập các số nguyên không âm bé hơn một số n nào đó (ta ký hiệu tập này là Zn tức Zn = {0,1,2,...., n- 1}). Chú ý rằng có thể xem B = Z2. Để thuận tiện, ta cũng thường đồng nhất tập ký tự tiếng Anh A với tập gồm 26 số nguyên không âm đầu tiên Z26 = {0,1,2,...., 24,25} với sự tương ứng sau đây: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25. Đôi khi ta cũng dùng với tư cách tập ký tự bản rõ hay bản mã là các tập tích của các tập nói trên, đặc biệt là các tập Am , B m , Z m . 1.1.2.2. Hệ thống mật mã đối xứng và công khai. Theo định nghĩa 1.1.2.1 về sơ đồ mật mã, mỗi lần truyền tin bảo mật, cả người gửi A và người nhận B phải cùng thỏa thuận trước với nhau một khóa chung K, sau đó người gửi dùng eK để lập mật mã cho thông báo gửi đi, và người nhận dùng dK để giải mã bản mật mã nhận được. Người 10 gửi và người nhận cùng có một khóa chung K, được giữ như bí mật riêng của hai người, dùng cả cho lập mật mã và giải mã, ta gọi những hệ mật mã với cách sử dụng đó là mật mã khóa đối xứng, đôi khi cũng gọi là mật mã truyền thống vì đó là cách đã được sử dụng từ hàng ngàn năm nay. Tuy nhiên, về nguyên tắc hai hàm lập mã và giải mã là khác nhau không nhất thiết phải phụ thuộc cùng một khóa. Nếu ta xác định mỗi khóa K gồm có hai phần K = (K' , K'' ), K' dành cho việc lập mật mã (và ta có hàm lập mã eK' ), K'' dành cho việc giải mã (và có hàm giải mã dK'' ), các hàm lập mã và giải mã thỏa mãn hệ thức dK'' (eK' (x)) = x với mọi x ∈P , thì ta được một hệ mật mã khóa phi đối xứng. Như vậy, trong một hệ mật mã khóa phi đối xứng, các khóa lập mã và giải mã (K' và K'' ) là khác nhau, nhưng tất nhiên có quan hệ với nhau. Trong hai khóa đó, khóa cần phải giữ bí mật là khóa giải mã K'' , còn khóa lập mã K' có thể được công bố công khai, tuy nhiên điều đó chỉ có ý nghĩa thực tiễn khi việc biết K' tìm K'' là cực kỳ khó khăn đến mức hầu như không thể thực hiện được. Một hệ mật mã khóa phi đối xứng có tính chất nói trên, trong đó khóa lập mật mã K' của mỗi người tham gia đều được công bố công khai được gọi là hệ mật mã khóa công khai. Khái niệm mật mã khóa công khai mới được ra đời vào giữa những năm 1970 và ngay sau đó đã trở thành một khái niệm trung tâm của khoa học mật mã hiện đại. 1.2. Chữ ký số 1.2.1. Giới thiệu về chữ ký số Chữ ký số là một bộ phận dữ liệu không thể giả mạo, để xác nhận một người đã viết ra hoặc đồng ý với một tài liệu mà chữ ký đó được gắn vào. Chữ ký số sử dụng công nghệ mã hoá trên nền tảng khoá công khai, để bảo đảm tính đúng đắn tính toàn vẹn về nội dung của một dữ liệu hoặc một thông điệp điện tử và những yêu cầu khác đối với các mục đích của một chữ ký. 11 Chữ ký số có các tính chất sau: - Xác thực: người nhận kiểm tra được việc người gửi đã kí vào tài liệu. - Không thể giả mạo được: chữ ký số xác nhận với người nhận tài liệu là không ai khác ngoài người kí đã kí tài liệu đó. - Không thể dùng lại được: chữ ký số có kèm theo nội dung và thời gian gắn trên tài liệu, nên không thể chuyển chữ ký từ tài liệu này sang tài liệu khác. - Đảm bảo sự toàn vẹn và đúng đắn của tài liệu: tài liệu đã được kí không thể giả mạo, sửa đổi hoặc thêm bớt. - Không thể chối bỏ: chữ ký và tài liệu là chứng cứ về mặt pháp lý và có khả năng xác thực sự đồng nhất giữa người kí và tài liệu được kí. Do đó người gửi không thể phủ nhận việc đã kí tài liệu đó. 1.2.2. Quá trình ký và xác thực chữ ký 1.2.2.1. Quá trình ký Đoạn dữ liệu cần được bảo mật đưa qua hàm băm (hashing0), kết quả của hàm băm là một đoạn bit đảm bảo 2 tính chất sau: - Tính duy nhất: mỗi một đoạn dữ liệu khác nhau thì sẽ có một đoạn bit khác nhau, không trùng lặp, có độ dài không đổi. - Tính một chiều: từ đoạn bit đặc trưng này, không suy ngược lại được nội dung đoạn văn bản. Đoạn bit đặc trưng này được mã hóa bằng khóa bí mật của người gửi và đính kèm vào “văn bản”, rồi gửi đến người nhận. Đoạn bit được mã hóa này chính là chữ ký số (digital signature). Lược đồ ký được mô tả bằng hình vẽ dưới đây:
- Xem thêm -

Tài liệu liên quan