Nghiên cứu triển khai dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng

  • Số trang: 90 |
  • Loại file: PDF |
  • Lượt xem: 26 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HUYỀN NGHIÊN CỨU TRIỂN KHAI DỊCH VỤ CHỨNG THỰC CHỮ KÝ SỐ ỨNG DỤNG TRONG LĨNH VỰC TÀI CHÍNH NGÂN HÀNG Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Viết Thế Hà Nội – 2011 -1- MỤC LỤC DANH MỤC TỪ VIẾT TẮT ............................................................................. 4 MỞ ĐẦU ........................................................................................................... 5 CHƢƠNG 1: TỔNG QUAN VỀ GIAO DỊCH ĐIỆN TỬ VÀ CHỮ KÝ SỐ ...... 8 1.1. Giao dịch điện tử ...................................................................................... 8 1.1.1. Tổng quan về giao dịch điện tử........................................................... 8 1.1.2. Khảo sát bài toán giao dịch điện tử trong lĩnh vực tài chính ngân hàng ..................................................................................................................... 9 1.2. Cơ sở mật mã học ................................................................................... 11 1.2.1. Khái niệm và phân loại hệ mật mã .................................................... 11 1.2.2. Hệ mật mã khóa đối xứng ................................................................. 11 1.2.3. Hệ mật mã khóa bất đối xứng ........................................................... 13 1.3. Chữ ký số ............................................................................................... 16 1.3.1. Tổng quan về chữ ký số .................................................................... 16 1.3.2. Sơ đồ chữ ký số ................................................................................ 17 1.3.3. Phân loại chữ ký số .......................................................................... 18 1.3.4. Tính chất của chữ ký số .................................................................... 18 1.3.5. Chữ ký RSA ..................................................................................... 19 1.4. Hàm băm ................................................................................................ 19 1.4.1. Khái niệm hàm băm ......................................................................... 19 1.4.2. Đặc tính của hàm băm ...................................................................... 20 CHƢƠNG 2: CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI................................... 22 2.1. Khái niệm hạ tầng khóa công khai - PKI ................................................ 22 2.2. Các thành phần của PKI ......................................................................... 22 2.2.1. Tổ chức chứng thực CA ................................................................... 22 2.2.2. Tổ chức đăng ký RA......................................................................... 23 2.2.3. Khách hàng PKI ............................................................................... 23 2.2.4. Chứng thƣ số .................................................................................... 24 2.2.5. Hệ thống phân phối (CDS) hoặc ngƣời đƣợc ủy thác ........................ 25 Học viên: Nguyễn Thị Huyền - K16HTTT -2- 2.3. Chức năng và cách thức hoạt động của PKI ............................................ 25 2.3.1. Chức năng của PKI ........................................................................... 25 2.3.2. Cách thức hoạt động của PKI ........................................................... 26 2.4. Tiến trình trong PKI ............................................................................... 28 2.4.1. Yêu cầu cấp chứng thƣ số ................................................................. 28 2.4.2. Gửi yêu cầu ...................................................................................... 29 2.4.3. Các chính sách.................................................................................. 29 2.4.4. Thu hồi chứng thƣ số ........................................................................ 29 2.4.5. Thông báo thu hồi chứng thƣ số ....................................................... 30 2.4.6. Truyền thông giữa khách hàng với khách hàng thông qua PKI ......... 30 2.5. Các dịch vụ của PKI ............................................................................... 30 2.5.1. Các dịch vụ cốt lõi ............................................................................ 30 2.5.2. Các dịch vụ hỗ trợ ............................................................................ 32 2.6. Các mô hình kiến trúc PKI ..................................................................... 35 2.6.1. Mô hình kiến trúc đơn ...................................................................... 35 2.6.2. Mô hình kiến trúc danh sách tin cậy ................................................. 36 2.6.3. Mô hình kiến trúc doanh nghiệp PKI ................................................ 37 2.6.4. Mô hình kiến trúc lai ........................................................................ 40 CHƢƠNG 3: XÂY DỰNG DỊCH VỤ CHỨNG THỰC CHỮ KÝ SỐ ỨNG DỤNG TRONG LĨNH VỰC TÀI CHÍNH NGÂN HÀNG............................... 44 3.1. Phân tích bài toán sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng.......................................................................... 44 3.2. Xây dựng mô hình sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng.......................................................................... 45 3.3. Xây dựng ứng dụng mô hình sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng........................................................ 46 3.3.1 Bài toán số 1: Xây dựng chƣơng trình quản lý chứng thƣ số.............. 46 3.3.1.1. Phân tích bài toán ................................................................. 46 3.3.1.2. Thiết kế hệ thống ................................................................. 48 3.3.2. Bài toán số 2: Xây dựng WebSite tra cứu chứng thƣ số .................... 56 Học viên: Nguyễn Thị Huyền - K16HTTT -3- 3.3.2.1. Phân tích bài toán ................................................................. 56 3.3.2.2 Thiết kế hệ thống .................................................................. 57 3.3.3. Bài toán số 3: Xây dựng website ứng dụng dịch vụ chứng thực chữ ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng ....................... 61 3.3.3.1. Phân tích bài toán ................................................................. 61 3.3.3.2. Thiết kế hệ thống ................................................................. 63 KẾT LUẬN ...................................................................................................... 74 TÀI LIỆU THAM KHẢO ................................................................................ 75 PHỤ LỤC ........................................................................................................ 76 Học viên: Nguyễn Thị Huyền - K16HTTT -4- DANH MỤC TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt CA Certificate Authority Tổ chức chứng thực PKCS Public Key Crytography Standard Chuẩn mã hóa khóa công khai PKI Public Key Infrastructure Cơ sở hạ tầng khóa công khai RA Registration Authority Tổ chức đăng ký SSL Secure Socket Layer Giao thức bảo mật Học viên: Nguyễn Thị Huyền - K16HTTT -5- MỞ ĐẦU Giao dịch điện tử ra đời giúp cho các lĩnh vực khoa học và đời sống phát triển mạnh mẽ hơn. Nó giúp giảm thiểu thời gian, công sức và tiền của để thực hiện giao dịch. Do đó nó cũng góp phần nâng cao hiệu quả công việc. Ngày nay giao dịch điện tử đang đƣợc phát triển mạnh mẽ, đƣợc ứng dụng cho nhiều lĩnh vực khác nhau và ngày càng khẳng định đƣợc vai trò của mình. Tuy nhiên, giao dịch điện tử lại nảy sinh các vấn đề nguy hại cần giải quyết. Chẳng hạn nhƣ thông tin giao dịch bị thay đổi, bị đánh cắp, bị giả mạo… Các vấn đề này dẫn đến giao dịch không thực hiện chính xác, thông tin không đƣợc đảm bảo tính bí mật và cũng có thể gây thiệt hại cho ngƣời thực hiện giao dịch. Do đó cần phải có các giải pháp để đảm bảo an ninh cho giao dịch điện tử. Tài chính ngân hàng đã ứng dụng mạnh mẽ giao dịch điện tử để phục vụ cho công việc của mình chẳng hạn nhƣ sử dụng hệ thống thẻ ATM, website, tin nhắn SMS … cho phép các khách hàng thực hiện giao dịch. Các hệ thống này thƣờng sử dụng mật khẩu, thẻ xác thực để bảo mật thông tin. Điều này không đáp ứng đƣợc yêu cầu an toàn thông tin giao dịch. Một giải pháp đƣa ra đó là chữ ký số. Sử dụng chữ ký số trong giao dịch ngân hàng có thể bảo đảm đƣợc tính toàn vẹn, tính bí mật, tính xác thực và tính chống chối bỏ. Đây là một giải pháp hữu hiệu đối với giao dịch điện tử nói chung và giao dịch điện tử trong tài chính ngân hàng nói riêng. Chữ ký số không chỉ đảm bảo về mặt kỹ thuật mà còn đƣợc đảm bảo về mặt pháp lý. Đã có một số văn bản pháp luật đƣợc ban hành đối với việc sử dụng chữ ký số nhƣ nghị định số 26/2007/NĐ-CP ngày 25/02/2007 của Chính phủ quy định chi tiết thi hành Luật giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số. Dựa trên các ƣu điểm cũng nhƣ tính pháp lý của chữ ký số ngân hàng nhà nƣớc Việt Nam đã đƣa ra Thông tƣ số 12/2011/TT-NHNH ngày 17/5/2011 về việc quản lý, sử dụng chữ ký số và dịch vụ chứng thực chữ ký số. Một vấn đề quan trọng trong việc sử dụng chữ ký số đó là chứng thực chữ ký số. Khi nhận đƣợc một chữ ký số ngƣời nhận cần biết thông tin liên quan đến chữ ký số đó xem nó có đảm bảo tính hợp pháp hay không và có đúng là của ngƣời gửi hay không? Để đáp ứng nhu cầu này cần có dịch vụ chứng thực chữ ký số. Đã có một số giải pháp đƣợc đƣa ra để phục vụ việc chứng thực chữ ký số trong đó điển hình là giải pháp sử dụng cơ sở hạ tầng khóa công khai. Hạ tầng khóa công khai bao gồm các tổ chức cấp, quản lý chứng thƣ số và các dịch vụ Học viên: Nguyễn Thị Huyền - K16HTTT -6- chứng thực. Ở Việt Nam hiện nay có một số tổ chức cấp chứng thƣ số nhƣ: VNPT, Viettel, BkaV, FPT… Nắm bắt đƣợc nhu cầu sử dụng và chứng thực chữ ký số trong giao dịch tài chính - ngân hàng em đã tìm hiểu và thực hiện đề tài: “Nghiên cứu triển khai dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng”. Trong thời gian qua em đã đi sâu nghiên cứu các vấn đề về mã hóa, chữ ký số, hàm băm, cơ sở hạ tầng khóa công khai, ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu… để phục vụ cho việc xây dựng đề tài và đã đạt đƣợc những kết quả nhất định. Luận văn đƣợc trình bày trong 3 chƣơng và phần kết luận, hƣớng phát triển, cụ thể: - Chương 1: Tổng quan về giao dịch điện tử và chứ ký số Các nội dung đƣợc trình bày trong chƣơng bao gồm: Tổng quan về giao dịch điện tử, Cơ sở mật mã học, Chữ ký số, Hàm băm. Các nội dung này là cơ sở để chúng ta có thể hiểu về vai trò, ý nghĩa và quy trình tạo và xác thực chữ ký số. - Chương 2: Cơ Sở hạ tầng khóa công khai Trong chƣơng này trình bày các nội dung chính về cơ sở hạ tầng khóa công khai nhƣ: Khái niệm, thành phần, chức năng và cách thức hoạt động, các tiến trình, các dịch vụ, mô hình kiến trúc. Qua đây chúng ta có thể hiểu đƣợc tổng quan về vai trò, cách thức tổ chức và cách thức hoạt động của hạ tầng khóa công khai. Đó là nền tảng để xây dựng dịch vụ chứng thực chữ ký số. - Chương 3: Xây dựng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng Trong chƣơng này em trình bày về việc xây dựng mô hình sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng, phân tích và thiết kế ba bài toán:  Bài toán số 1: Xây dựng chƣơng trình quản lý chứng thƣ số.  Bài toán số 2: Xây dựng website cho phép ngƣời dùng tra cứu thông tin chứng thƣ số.  Bài toán số 3: Xây dựng website ứng dụng dịch vụ chứng thực chữ ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng. - Phần kết luận Phần này tổng kết lại những kết quả luận văn đã thực hiện đƣợc và đƣa ra hƣớng phát triển của luận văn trong thời gian tới. Học viên: Nguyễn Thị Huyền - K16HTTT -7- Tuy nhiên, Việc ứng dụng chữ ký số trong lĩnh vực tài chính ngân hàng ở nƣớc ta còn mới, hơn nữa do thời gian và trình độ có hạn nên một số vấn đề trình bày trong luận văn không thể tránh khỏi những thiếu xót nhất định. Trong thời gian tới em sẽ tiếp tục nghiên cứu và phát triển bài toán, mong nhận đƣợc những ý kiến đóng góp của thầy cô và các bạn để đề tài đƣợc phát triển tốt hơn. Em xin chân thành cảm ơn thầy giáo: TS. Nguyễn Viết Thế, TS. Hồ Văn Hƣơng và các thầy cô trong trƣờng, bạn bè đồng nghiệp đã giúp đỡ em trong thời gian qua để em hoàn thiện tốt luận văn của mình! Học viên: Nguyễn Thị Huyền - K16HTTT -8- CHƢƠNG 1: TỔNG QUAN VỀ GIAO DỊCH ĐIỆN TỬ VÀ CHỮ KÝ SỐ 1.1. Giao dịch điện tử 1.1.1. Tổng quan về giao dịch điện tử Trong cuộc sống hàng ngày thƣờng có rất nhiều giao dịch phát sinh. Chẳng hạn nhƣ trong lĩnh vực tài chính ngân hàng, quan hệ giữa ngân hàng với khách hàng tồn tại nhiều giao dịch nhƣ các giao dịch gửi tiền, vay tiền, chuyển khoản, ủy nhiệm thu, ủy nhiệm chi… Việc thực hiện mỗi giao dịch này cần thực hiện một số thủ tục nhất định. Ví dụ nhƣ đối với giao dịch chuyển khoản: Trƣớc tiên chủ tài khoản cần liên hệ với ngân hàng, thông báo cho ngân hàng các thông tin cần thiết về chủ tài khoản nhận tiền, số tài khoản ngƣời nhận, số tiền chuyển… và yêu cầu ngân hàng thực hiện giao dịch. Sau đó ngân hàng kiểm tra tính hợp lệ của các thông tin mà ngƣời chuyển cung cấp, nếu nhƣ thỏa mãn sẽ tiến hành thực hiện giao dịch. Tƣơng tự với các giao dịch khác cũng cần phải thực hiện những bƣớc nhất định. Những giao dịch này thƣờng xuyên diễn ra và mất nhiều thời gian, công sức và tiền của. Để thực hiện giao dịch một cách tiện lợi và nhanh chóng ngƣời ta đã phát triển giao dịch điện tử. Giao dịch điện tử là giao dịch đƣợc thực hiện bằng phƣơng tiện điện tử. Trong đó các phƣơng tiện điện tử là các phƣơng tiện hoạt động dựa trên công nghệ điện, điện tử, kỹ thuật số, từ tính, truyền dẫn không dây, quang học, điện tử hoặc công nghệ tƣơng tự. Khi chúng ta muốn thực hiện giao dịch chúng ta không cần tới ngân hàng mà có thể ngồi tại nhà, tại cơ quan hay đang đi chơi trong công viên sử dụng máy tính cá nhân, điện thoại di động có kết nối mạng internet để thực hiện giao dịch một cách nhanh chóng và chính xác. Có thể nói giao dịch điện tử là một giải pháp hiệu quả đối với các giao dịch trên. Nó góp phần giảm bớt chi phí về công và của cũng nhƣ nâng cao hiệu quả công việc cho lĩnh vực tài chính ngân hàng. Tuy nhiên trong giao dịch điện tử lại nảy sinh các vấn đề cấp thiết cần giải quyết. Chẳng hạn nhƣ thông tin giao dịch bị kẻ gian cố tình xem trộm. Có thể bên gửi giao dịch là giả mạo, bên nhận giao dịch không biết chính xác chủ thể thực hiện giao dịch. Ví dụ nhƣ có kẻ gian lấy trộm thông tin của khách hàng để chuyển tiền vào tài khoản của mình mà ngân hàng không phát hiện ra. Cũng có thể thông tin giao dịch bị thay đổi do kẻ gian cố tình thay đổi hoặc do lỗi trên đƣờng truyền. Cũng có thể khách hàng thực hiện giao dịch nhƣng lại cố tình chối bỏ…Tất cả những vấn đề này đều dẫn đến giao dịch không đƣợc thực hiện một cách chính xác. Một giao dịch phải đảm bảo các tính chất sau: tính toàn vẹn Học viên: Nguyễn Thị Huyền - K16HTTT -9- (đảm bảo thông tin không bị mất mát hay thay đổi), tính bí mật (thông tin không bị lộ) và tính xác thực(xác định chính xác chủ thể giao dịch). Các nhà nghiên cứu đã đƣa ra nhiều giải pháp nhƣ mã hóa, nén dữ liệu, hàm băm, chữ ký số… để đảm bảo các yêu cầu trên.  Một số quy định trong giao dịch điện tử Theo quyết định số 59/BTTTT, ngày 31 tháng 12 năm 2008 của Bộ Thông tin và Truyền thông. Một số tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ chứng thực chữ ký số nhƣ sau: - Bảo mật cho khối an ninh phần cứng HSM: Tiêu chuẩn FIPS PUB 140-2 (Security Requirements for Cryptographic Modules), yêu cầu tối thiểu level 3 - Chuẩn mã hóa:  Mã hóa phi đối xứng và chữ ký số : Tiêu chuẩn PKCS#1 (RSA Cryptography Standard).  Mã hóa đối xứng: Tiêu chuẩn FIPS PUB 197 (Advanced Encryption Standard (AES)) hoặc FIPS PUB 46-3 (Data Encryption Standard (DES)). - Hàm băm bảo mật: Tiêu chuẩn FIPS PUB 180-2 (Secure Hash Standard) Áp dụng một trong bốn hàm băm an toàn: SHA-1, SHA-256, SHA-384, SHA-512. - Định dạng chứng thƣ số và danh sách thu hồi chứng thƣ số: RFC 3280 (Internet X.509 Public Key Infrastructure - Certificate and Certificate Revocation List (CRL) Profile) 1.1.2. Khảo sát bài toán giao dịch điện tử trong lĩnh vực tài chính ngân hàng Trong lĩnh vực tài chính ngân hàng, giữa ngân hàng với ngân hàng, giữa ngân hàng với khách hàng có rất nhiều giao dịch diễn ra hàng ngày. Chẳng hạn nhƣ các giao dịch chuyển khoản, kiểm tra tài khoản, ủy nhiệm thu, ủy nhiệm chi… Các giao dịch này đƣợc thực hiện bằng hai cách: + Giao dịch trực tiếp: Khách hàng trực tiếp tới trụ sở chính hoặc chi nhánh đại diện của ngân hàng và thực hiện giao dịch trực tiếp với các nhân viên giao dịch của ngân hàng. + Giao dịch gián tiếp (giao dịch điện tử): Khách hàng giao dịch với ngân hàng thông qua các phƣơng tiện điện tử. Học viên: Nguyễn Thị Huyền - K16HTTT -10- Giao dịch điện tử giúp giảm bớt thời gian, công sức và tiền của từ đó nâng cao hiệu quả công việc cho ngân hàng cũng nhƣ tiện lợi hơn cho khách hàng. Trong thực tế nƣớc ta hiện nay có một số hình thức giao dịch điện tử nhƣ: hệ thống ATM, website, email, tin nhắn SMS, Phone… Tuy nhiên các giao dịch điện tử trong lĩnh vực tài chính ngân hàng có thể tiềm ẩn các mối đe dọa sau: + Thông tin không đảm bảo toàn vẹn: Nếu trên đƣờng truyền tin thông tin không đƣợc toàn vẹn mà bị sai lệch (do lỗi đƣờng truyền hoặc kẻ gian gây ra…) và ngân hàng không phát hiện ra sẽ dẫn đến giao dịch bị sai lệch kết quả là gây thiệt hại nghiêm trọng cho khách hàng và ngân hàng. Ví dụ nhƣ trong giao dịch chuyển tiền nếu thông tin về số tài khoản nhận bị sai thì tiền sẽ không đƣợc chuyển tới ngƣời lẽ ra đƣợc nhận mà chuyển vào tài khoản của ngƣời khác, hoặc số tiền chuyển bị thay đổi sẽ gây thiệt hại cho ngân hàng… + Thông tin không đảm bảo bí mật: Nếu trên đƣờng truyền tin thông tin không đƣợc giữ bí mật thì khi có kẻ gian đánh cắp chúng có thể khai thác thông tin sử dụng vào các mục đích xấu. Ví dụ nhƣ khi đánh cắp đƣợc số tài khoản và mật khẩu kẻ gian sẽ lợi dụng để rút trộm tiền hoặc chuyển tiền vào tài khoản của chúng… +Thông tin không đảm bảo tính xác thực: Nếu có kẻ gian cố tình giả mạo khách hàng để thực hiện giao dịch mà ngân hàng không phát hiện ra sẽ gây ra những thiệt hại cho khách hàng. Ngƣợc lại nếu khách hàng đã thực hiện giao dịch mà lại chối bỏ mà ngân hàng không có biện pháp để quy trách nhiệm thì gây thiệt hại cho ngân hàng. Để giải quyết các mối đe dọa trên các nhà nghiên cứu đã đƣa ra nhiều giải pháp cho giao dịch điện tử trong lĩnh vực tài chính ngân hàng nhƣ: Sử dụng mật khẩu (mã PIN, mật khẩu một lần), thẻ xác thực (thẻ ATM, thẻ token, tin nhắn SMS, xác thực hai lần (mật khẩu và tin nhắn), mã hóa, chữ ký số…Đối với giải pháp mật khẩu, thẻ xác thực, SMS và xác thực hai lần không đảm bảo đƣợc tính toàn vẹn và tính bí mật. Đối với giải pháp mã hóa không đảm bảo đƣợc tính chống chối bỏ. Nhƣng với giải pháp chữ ký số có thể đảm bảo đƣợc cả bốn tính chất bao gồm tính toàn vẹn, bí mật, xác thực và chống chối bỏ. Chữ ký số là một giải pháp đang chiếm ƣu thế và đang đƣợc các ngân hàng quan tâm. Việc ứng dụng chữ ký số trong lĩnh vực tài chính ngân hàng phải tuân thủ theo các quy định của pháp luật. Hiện nay có một số văn bản pháp luật quy định về việc ứng dụng chữ ký số trong giao dịch điện tử nhƣ: Luật giao dịch điện tử ngày 29/11/2005 quy định về việc sử dụng giao dịch điện tử, Nghị định số 26/2007/NĐ-CP ngày 25/02/2007 của Chính phủ quy định chi tiết thi hành Luật Học viên: Nguyễn Thị Huyền - K16HTTT -11- giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số, Thông tƣ số 12/2011/TT-NHNH ngày 17/5/2011 của ngân hàng nhà nƣớc về việc quản lý, sử dụng chữ ký số và dịch vụ chứng thực chữ ký số, Quyết định số 59/2008/QĐBTTTT ban hành danh mục tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ chứng thực chữ ký số. Dựa theo các quy định pháp luật trên các tổ chức chứng thực đã và đang xây dựng một số dịch vụ chứng thực chữ ký số ứng dụng cho các lĩnh vực khác nhau trong đó có lĩnh vực tài chính ngân hàng. Ở Việt Nam hiện nay có một số tổ chức cung cấp dịch vụ chứng thực chữ ký số nhƣ: VNPT(VDC), FPT, Bkav(Bkis), NacoNem, Viettel… Các dịch vụ chứng thực chữ ký số ứng dụng cho lĩnh vực tài chính ngân hàng dựa trên cơ sở hạ tầng khóa công khai. 1.2. Cơ sở mật mã học 1.2.1. Khái niệm và phân loại hệ mật mã  Khái niệm: Một hệ mật mã là bộ năm (P,C,K,E,D) trong đó: - P là tập hữu hạn các bản rõ có thể. - C là tập hữu hạn các bản mã có thể. - K là tập hữu hạn các khóa có thể. - E là tập các hàm lập mã. - D là tập các hàm giải mã. Với khóa lập mã ke ϵ K, có hàm lập mã eke ϵ E, eke: p C Với khóa giải mã kd ϵ K, có hàm giải mã dkd ϵ D, dkd: CP, Sao cho dkd(eke(x))=x, với mọi x ϵ P. ở đây x đƣợc gọi là bản rõ, eke(x) đƣợc gọi là bản mã[1].  Phân loại hệ mật mã Tùy theo các tiêu chí khác nhau ngƣời ta chia các hệ mật mã ra làm các loại khác nhau. Dựa theo tiêu chí về tính bí mật của khóa mã hóa ngƣời ta chia các hệ mật mã ra làm hai loại: Hệ mật mã khóa đối xứng (hay còn gọi là hệ mã hóa khóa bí mật) và hệ mật mã khóa bất đối xứng (hay còn gọi là hệ mật mã khóa công khai). 1.2.2. Hệ mật mã khóa đối xứng Học viên: Nguyễn Thị Huyền - K16HTTT -12- 1.2.2.1 Khái niệm hệ mật mã khóa đối xứng Hệ mật mã khóa đối xứng là hệ mật mã mà nếu biết đƣợc khóa lập mã thì có thể “dễ” tính đƣợc khóa giải mã và ngƣợc lại. Đặc biệt có một số hệ mã hóa khóa đối xứng có khóa lập mã và khóa giải mã là trùng nhau (ke≡ kd) nhƣ hệ mã hóa dịch chuyển hay DES. Hệ mã hóa khóa đối xứng còn gọi là hệ mã hóa khóa bí mật hay hệ mã hóa khóa riêng vì phải giữ bí mật cả hai khóa lập mã và khóa giải mã. Trƣớc khi sử dụng hệ mã hóa khóa đối xứng, ngƣời gửi và ngƣời nhận phải thỏa thuận với nhau về thuật toán mã hóa và khóa chung (khóa lập mã và khóa giải mã). Khóa phải đƣợc giữ bí mật. Độ an toàn của hệ mã hóa này phụ thuộc vào khóa. - Mô hình sử dụng mật mã khóa đối xứng: Hình 1.1. Mô hình sử dụng hệ mật mã khóa đối xứng. + Giả sử bên gửi muốn truyền cho bên nhận một thông điệp X dƣới dạng bản rõ. Cần tạo ra một khóa K để thực hiện việc lập mã. Nếu khóa đƣợc tạo ra bởi bên gửi thì nó phải đƣợc gửi cho bên nhận thông qua một kênh thông tin an toàn. + Khi đã có bản tin X và khóa K bên gửi sẽ sử dụng thuật toán mã hóa E để tạo ra một bản mã Y: Y= E(K,X) + Sau đó bên gửi sẽ gửi bản mã Y tới bên nhận và 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ã bản mã Y thông qua thuật toán giải mã thu đƣợc bản rõ X: Học viên: Nguyễn Thị Huyền - K16HTTT -13- X= D(K,Y) Trong quá trình truyền tin qua môi trƣờng mạng, có khả năng thám mã sẽ bắt đƣợc mã mật Y. Tuy nhiên thám mã lại không có bản tin gốc X và khóa mật K. Giả sử, các thuật toán sử dụng để mã hóa (E) và giải mã (D) đã đƣợc công khai thì thám mã sẽ cố gắng để giải mã X bằng cách tạo ra các bản tin gần giống X. Thậm chí thám mã còn cố gắng để có thể giải mã khóa mật K bằng cách tạo ra số gần giống K. Nhƣ vậy có thể nhận thấy rằng, để đảm bảo tính an toàn cho hệ mật mã khóa đối xứng thì hệ mật mã cần thỏa mã hai điều kiện sau: + Phƣơng pháp mã hóa phải đủ mạnh để thám mã không thể giải mã đƣợc mã mật nếu nhƣ không có khóa K. Yêu cầu này có thể phát biểu dƣới dạng mạnh hơn nhƣ sau: Thám mã sẽ không giải mã đƣợc bản tin mật hay tìm ra khóa K kể cả khi đã có các mã mật cũng nhƣ các bản tin nguyên thủy đã tạo ra các mã mật ấy. + Các bên tham gia truyền tin phải đảm bảo giữ bí mật đƣợc khóa K. Nếu thám mã đánh cắp đƣợc khóa mật và biết đƣợc các thuật toán mã hóa thì thông tin trao đổi giữa các bên hoàn toàn có khả năng bị lộ. - Phạm vi sử dụng: Hệ mã hóa khóa đối xứng thƣờng đƣợc sử dụng trong môi trƣờng mà khóa chung có thể dễ dàng trao chuyển bí mật. Chẳng hạn trong cùng một mạng nội bộ. Hệ mã hóa khóa đối xứng thƣờng dùng để mã hóa những bản tin lớn vì tốc độ mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai. 1.2.2.2. Ƣu nhƣợc điểm của hệ mã hóa khóa đối xứng  Ƣu điểm Hệ mã hóa khóa đối xứng mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai.  Nhƣợc điểm - Mã hóa khóa đối xứng chƣa an toàn vì: Ngƣời mã hóa và ngƣời giải mã phải có “ chung ” một khóa. Khóa phải đƣợc giữ bí mật tuyệt đối vì biết khóa này “dễ” xác định đƣợc khóa kia và ngƣợc lại. Hai ngƣời (lập mã, giải mã) cùng biết “chung” một bí mật thì càng khó giữ bí mật. - Vấn đề thỏa thuận khóa và quản lý khóa chung là khó khăn và phức tạp. Ngƣời gửi và ngƣời nhận phải luôn thống nhất với nhau về khóa. Việc thay đổi khóa là rất khó và dễ bị lộ. Khóa chung phải đƣợc gửi cho nhau trên kênh an toàn. 1.2.3. Hệ mật mã khóa bất đối xứng Học viên: Nguyễn Thị Huyền - K16HTTT -14- 1.2.3.1. Khái niệm hệ mật mã khóa bất đối xứng Hệ mã hóa khóa bất đối xứng (còn gọi là hệ mã hóa công khai) là hệ mã hóa có khóa lập mã và khóa giải mã khác nhau(ke ≠ kd), biết đƣợc khóa này cũng “ khó ” tính đƣợc khóa kia. Hệ mã hóa này đƣợc gọi là hệ mã hóa khóa công khai vì: + Khóa lập mã cho công khai, gọi là khóa công khai (public key). + Khóa giải mã giữ bí mật, còn gọi là khóa riêng (Private key) hay khóa bí mật. Một ngƣời bất kỳ có thể dùng khóa công khai để mã hóa bản tin, nhƣng chỉ ngƣời nào có đúng khóa giải mã thì mới có khả năng đọc đƣợc bản rõ. Hệ mã hóa khóa công khai do Diffie và Hellman phát minh vào những năm 1970. - Mô hình sử dụng mật mã khóa bất đối xứng: 1.2. Mô hình mã hóa khóa bất đối xứng + Giả sử Alice cần gửi một bản tin X cho Bob. Bob sẽ tạo ra một cặp khóa bí mật PUb/công khai PRb. Bob công khai khóa công khai và giữ bí mật khóa riêng của mình. + Alice sẽ dùng khóa công khai của Bob để mã hóa bản tin X tạo ra bản mã Y, và Alice gửi Y cho Bob: Y=E(PUb, X). + Khi nhận đƣợc Y, Bob sẽ sử dụng khóa riêng PRb của mình để thực hiện việc giải mã dữ liệu: X= D(PRb, Y). Học viên: Nguyễn Thị Huyền - K16HTTT -15- Dữ liệu đƣợc truyền từ Alice tới Bob đƣợc mã hóa đảm bảo tính bí mật, chỉ có Bob mới có thể giải mã đƣợc bản mã. - Phạm vi ứng dụng: Hệ mã hóa khóa bất đối xứng thƣờng đƣợc sử dụng chủ yếu trên các mạng công khai nhƣ mạng Internet, khi mà việc trao chuyển khóa bí mật tƣơng đối khó khăn. Đặc trƣng nổi bật của hệ mã hóa khóa công khai là khóa công khai và bản mã đều có thể gửi đi trên một kênh truyền tin không an toàn. Có biết cả khóa công khai và bản mã thì thám mã cũng không “dễ” khám phá đƣợc bản rõ. Nhƣng vì tốc độ lập mã và giải mã chậm nên hệ mã hóa khóa công khai chỉ dùng để mã hóa những bản tin ngắn, ví dụ nhƣ mã hóa khóa bí mật gửi đi. Hệ mã hóa khóa công khai thƣờng đƣợc sử dụng cho cặp ngƣời dùng thỏa thuận khóa bí mật của hệ mã hóa khóa đối xứng. 1.2.3.2. Ƣu nhƣợc điểm của hệ mã hóa khóa bất đối xứng  Ƣu điểm: - Thuật toán đƣợc viết một lần, công khai cho nhiều lần dùng, cho nhiều ngƣời dùng và chỉ cần giữ bí mật khóa riêng của mình. - Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khóa công khai và bí mật là “dễ” tức là trong thời gian đa thức. Ngƣời gửi có bản rõ P và khóa công khai thì “ dễ ” tạo ra bản mã C. Ngƣời nhận có bản mã C và khá bí mật thì “ dễ ” giải đƣợc thành bản rõ P. - Ngƣời mã hóa dùng khóa công khai, ngƣời giải mã giữ khóa bí mật. Khả năng lộ khóa bí mật khó hơn vì chỉ có một ngƣời giữ gìn. Nếu thám mã biết khóa công khai và cố gắng tìm khóa bí mật thì chúng sẽ phải đƣơng đầu với bài toán “khó”. - Nếu thám mã biết khóa công khai và bản mã C, thì việc tìm ra bản rõ P cũng là bài toán “khó”, số phép thử là vô cùng lớn, không khả thi.  Nhƣợc điểm Hệ mã hóa khóa công khai mã hóa và giải mã chậm hơn hệ mã hóa khóa bí mật 1.2.3.3. Hệ mã hóa RSA Hệ mã hóa RSA đƣợc đặt tên dựa theo các chữ cái đầu của 3 tác giả của hệ mã là Rivest, Shamir và Adleman. Đây là thuật toán mã hóa nổi tiếng nhất và cũng là thuật toán đƣợc ứng dụng thực tế nhất.  Sơ đồ hệ mã hóa RSA: - Tạo cặp khóa (bí mật, công khai)(a,b): Học viên: Nguyễn Thị Huyền - K16HTTT -16- + Chọn bí mật số nguyên tố lớn p,q. + Tính n=p*q, công khai n, đặt P=C=Zn. + Tính Ф(n) = (p-1)*(q-1), giữ bí mật Ф(n). + Chọn khóa công khai b<Ф(n), nguyên tố với Ф(n). + Tính khóa bí mật a là phần tử nghịch đảo của b theo mod Ф(n): a*b≡1(mod Ф(n)). + Tập cặp khóa (bí mật, công khai) K={(a,b)/a,bϵZn , a*b≡1(mod Ф(n))}. Với Bản rõ x ϵ P và bản mã y ϵ C, định nghĩa: - Hàm mã hóa: y=ek(x) =xb mod n - Hàm giải mã: x=dk(y)= ya mod n.  Độ an toàn: - Hệ mã hóa RSA là tất định, tức là với một bản rõ x và một khóa bí mật a, thì chỉ có một bản mã y. - Hệ mật RSA an toàn, khi giữ đƣợc bí mật khóa giải mã a, p, q, Ф(n). Nếu biết đƣợc p và q thì thám mã dễ dàng tính đƣợc Ф(n)=(q-1)*(p-1). Nếu biết đƣợc Ф(n), thì thám mã sẽ tính đƣợc a theo thuật toán Euclide mở rộng. Nhƣng phân tích n thành tích của p và q là bài toán “Khó”. Độ an toàn của hệ mật RSA dựa vào khả năng giải bài toán phân tích số nguyên dƣơng n thành tích của 2 số nguyên tố lớn p và q. 1.3. Chữ ký số 1.3.1. Tổng quan về chữ ký số Để xác thực tài liệu giấy chẳng hạn nhƣ một bức thƣ, một hợp đồng, hay một biên lai… ngƣời ta phải ký vào văn bản đó. Tuy nhiên đối với một tài liệu điện tử việc sao chép rất đơn giản và không thể phân biệt đƣợc đâu là bản gốc đâu là bản sao mà lại không thể ký tay lên các tài liệu này đƣợc. Vì vậy để xác thực cho các tài liệu điện tử ngƣời ta phải sử dụng chữ ký số. Chữ ký số là công cụ dùng để chứng thực một “tài liệu số”. Việc “ký số” đƣợc thực hiện trên từng bit của tài liệu và thông qua sơ đồ chữ ký số. Việc tạo chữ ký số là dựa trên cơ sở mật mã học. Thực chất của việc ký số chính là mã hóa. Điểm khác nhau giữa mã hóa (khóa công khai) và ký số đó là: - Đối với mã hóa: + Ngƣời gửi sử dụng khóa công khai của ngƣời nhận để mã hóa. + Ngƣời nhận sử dụng khóa bí mật của mình để giải mã. Mọi ngƣời đều có thể mã hóa nhƣng chỉ ngƣời có khóa bí mật mới giải mã đƣợc. Học viên: Nguyễn Thị Huyền - K16HTTT -17- - Đối với ký số: + Ngƣời gửi dùng khóa bí mật của mình để tạo chữ ký (mã hóa) + Ngƣời nhận dùng khóa công khai của ngƣời gửi để xác thực chữ ký (giải mã). Chỉ ngƣời có khóa bí mật mới tạo đƣợc chữ ký, bất cứ ngƣời nhận nào cũng có thể xác thực đƣợc chữ ký.  Yêu cầu đối với chữ ký số Để thực hiện vai trò tƣơng tự nhƣ chữ ký tay chữ ký số cần đảm bảo các yêu cầu sau: - Chữ ký số phải là một mẫu bit phụ thuộc vào thông điệp ký. - Chữ ký số phải là duy nhất để tránh việc giả mạo cũng nhƣ chối bỏ. - Việc tạo ra chữ ký số phải tƣơng đối dễ. - Việc xác thực chữ ký số phải tƣơng đối dễ. - Việc tính toán để xây dựng lại một thông điệp từ một chữ ký số đã tồn tại hoặc để tìm ra một chữ ký giả mạo từ một thông điệp là không khả thi. - Phải lƣu trữ một bản sao chữ ký số[3]-[4]. 1.3.2. Sơ đồ chữ ký số Sơ đồ chữ ký số là bộ năm (P, A, K, S, V) trong đó: P : tập hữu hạn các văn bản có thể. A : tập hữu hạn các chữ ký có thể. K : tập hữu hạn các khóa có thể. S : tập các thuật toán ký. V : tập các thuật toán kiểm thử. Với mỗi khóa k ϵ K, có thuật toán ký Sigk ϵ S, Sigk: PA, có thuật toán kiểm tra chữ ký Verk ϵ B, Verk : P x A  {đúng, sai}, thoản mãn điều kiện sau với mọi x ϵ P, y ϵ A: [4] Vì việc “ký số” đƣợc thực hiện trên từng bit của tài liệu nên độ dài của “chữ ký số” ít nhất cũng bằng độ dài của tài liệu. Do đó để rút ngắn thời gian ký ngƣời ta thay việc ký trên tài liệu bằng việc ký trên đại diện của tài liệu. Đại diện này đƣợc tạo ra bởi hàm băm (sẽ đƣợc trình bày ở phần sau). Học viên: Nguyễn Thị Huyền - K16HTTT -18- 1.3.3. Phân loại chữ ký số Có nhiều loại chữ ký số khác nhau, tùy theo các tiêu chí khác nhau ngƣời ta chia chữ ký số thành các loại khác nhau: - Cách 1: Phân loại theo đặc trƣng kiểm tra chữ ký:  Chữ ký khôi phục thông điệp: Là loại chữ ký mà ngƣời gửi chỉ cần gửi “chữ ký” và ngƣời nhận có thể khôi phục lại đƣợc thông điệp từ “chữ ký” này. Ví dụ chữ ký RSA.  Chữ ký đi kèm thông điệp: Là loại chữ ký mà ngƣời gửi cần gửi cả “chữ ký” và thông điệp đã đƣợc ký. Ngƣời nhận không thể khôi phục lại đƣợc thông điệp gốc từ chữ ký. Ví dụ chữ ký Elgamal. - Cách 2: Phân loại chữ ký theo mức độ an toàn:  Chữ ký “ không thể phủ nhận ”  Chữ ký “một lần” - Cách 3: Phân loại chữ ký theo ứng dụng đặc trƣng:  Chữ ký “mù”  Chữ ký “ nhóm ”  Chữ ký “bội”  Chữ ký “mù nhóm”  Chữ ký “ mù bội” 1.3.4. Tính chất của chữ ký số Sử dụng chữ ký số trong giao dịch điện tử có thể đảm bảo đƣợc các tính chất sau: - Tính toàn vẹn: Nếu trong quá trình truyền tin xảy ra bất cứ sự cố nào ví dụ nhƣ do lỗi đƣờng truyền hay có kẻ tấn công cố tình phá hoại làm thay đổi thông tin chẳng hạn nhƣ: Sửa đổi thông tin, cắt bớt hay xóa bỏ thông tin. Bất kỳ một thay đổi nào đều dẫn đến kết quả xác thực là sai. Khi đó bên nhận sẽ biết dữ liệu đã bị sai sót. Chỉ khi không xảy ra sự cố gì (dữ liệu là toàn vẹn) thì mới cho kết quả xác thực là đúng. Nhƣ vậy thông tin trong giao dịch là toàn vẹn. - Tính bí mật: Chữ ký số dựa trên hệ mã hóa khóa công khai. Về bản chất ký số chính là mã hóa và xác nhận chữ ký chính là giải mã. Sử dụng khóa bí mật để làm khóa ký và khóa công khai để làm khóa xác nhận chữ ký. Do đó chữ ký số đảm bảo tính bí mật. Học viên: Nguyễn Thị Huyền - K16HTTT -19- - Tính xác thực: Khi thực hiện giao dịch bên gửi phải dùng hàm băm để tạo đại diện cho thông điệp. Tiếp theo dùng khóa bí mật để ký lên đại diện D của thông để tạo ra chữ ký số R. Sau đó bên gửi chuyển cho bên nhận cả thông điệp và chữ ký số qua mạng Internet. Khi bên nhận nhận đƣợc thông tin sẽ xác thực thông tin bằng cách: Dùng hàm băm tạo đại diện cho thông điệp nhận đƣợc D1 và dùng khóa công khai của bên gửi để giải mã chữ ký số thu đƣợc bản rõ D2. Sau đó tiến hành so sánh D1 và D2 . Vì toán học đã chứng minh với một khóa bí mật chỉ tồn tại duy nhất một khóa công khai thỏa mãn thuật toán ký và thuật toán kiểm tra chữ ký. Nhƣ vậy nếu kết quả kiểm tra thu đƣợc D1 ≡ D2 thì kết luận chữ ký số đúng là của bên gửi. Ngƣợc lại nếu kết quả kiểm tra thu đƣợc D1≠ D2 thì kết luận chữ ký số không phải của bên gửi. - Tính không thể phủ nhận: Bởi vì cặp khóa bí mật, khóa công khai là duy nhất. Mà khóa bí mật chỉ có ngƣời chủ sở hữu cặp khóa đó biết. Nên khi tham gia vào giao dịch bên gửi không thể phủ nhận chữ ký số của mình. 1.3.5. Chữ ký RSA  Sơ đồ - Tạo cặp khóa (bí mật, công khai) (a,b): Chọn bí mật số nguyên tố lớn p, q, tính n=p*q, công khai n, đặt P=C= Zn . Tính bí mật Ф(n) = (p-1)*(q-1). Chọn khóa công khai b < Ф(n), nguyên tố với Ф(n). Khóa bí mật a là phần tử nghịch đảo của b theo mod Ф(n): a*b ≡ 1 ( mod Ф(n) ). Tập cặp khóa (bí mật, công khai) K = { (a, b) / a, b ϵ Zn , a*b ≡ 1 ( mod Ф(n))}. - Ký số: Chữ ký trên x ϵ P là y=Sigx (x) = xa (mod n), y ϵ A - Kiểm tra chữ ký: Very (x,y) = đúng ↔ x ≡ yb ( mod n)[1] 1.4. Hàm băm 1.4.1. Khái niệm hàm băm Nhƣ đã biết ký số đƣợc thực hiện trên từng bit của tài liệu. Do vậy kích thƣớc của chữ ký số sẽ nhỏ nhất là bằng kích thƣớc của thông điệp.Vì thế nên với các thông điệp lớn thì sẽ tạo ra chữ ký rất lớn. Hơn nữa hầu hết các hệ chữ ký đều rất chậm nên việc ký sẽ rất lâu. Để giảm bớt đƣợc độ lớn của chữ ký và thời gian ký cần phải biến thông điệp từ lớn thành nhỏ, sau đó mới thực hiện ký. Các nhà nghiên cứu đã tìm ra một giải pháp hữu hiệu để giải quyết vấn đề này. Đó là hàm băm. Vậy hàm băm là gì? Học viên: Nguyễn Thị Huyền - K16HTTT
- Xem thêm -