intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Khoa học máy tính: Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ Internet Banking

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:74

52
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu của luận văn là ứng dụng được trong Ngân hàng Thương mại cổ phần Bưu điện Liên Việt. Trình bày về kiến thức về an toàn thông tin và chữ chữ kí số. Đây là kiến thức tìm hiểu và tham khảo trong các tài liệu liên quan. Đề cập đến các giải pháp xác thực thông tin trong Internet Banking và khả năng ứng dụng tại Ngân hàng Thương mại cổ phần Bưu điện Liên Việt. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Khoa học máy tính: Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ Internet Banking

  1. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT & TT THÁI NGUYÊN NGÔ NGỌC CƯƠNG CHỮ KÝ SỐ VÀ ỨNG DỤNG XÁC THỰC THÔNG TIN TRONG CÁC DỊCH VỤ INTERNET BANKING LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Thái Nguyên – 2017
  2. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT & TT THÁI NGUYÊN NGÔ NGỌC CƯƠNG CHỮ KÝ SỐ VÀ ỨNG DỤNG XÁC THỰC THÔNG TIN TRONG CÁC DỊCH VỤ INTERNET BANKING Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.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 ĐỖ TRUNG TUẤN Thái Nguyên – 2017
  3. LỜI CAM ĐOAN Tôi xin cam đoan: Đề tài “Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ Internet Banking” do Thầy giáo PGS.TS Đỗ Trung Tuấn hướng dẫn là công trình nghiên cứu của riêng tôi. Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng. Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn. Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật. Thái Nguyên, ngày 15 tháng 4 năm 2017 Tác giả luận văn Ngô Ngọc Cương i
  4. LỜI CÁM ƠN Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý thầy cô ở Khoa Công nghệ thông tin - Trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường. Em xin chân thành cảm ơn đến các thầy, đặc biệt thầy PGS. TS Đỗ Trung Tuấn đã dành thời gian và tâm huyết hướng dẫn nghiên cứu và giúp em hoàn thành luận văn tốt nghiệp và thầy TS. Phạm Thế Quế đã hướng dẫn tận tình em hoàn thành luận văn. Xin cảm ơn các cán bộ Ngân hàng Thương mại cổ phần Bưu điện Liên Việt Bắc Ninh đã tạo điều kiện và giúp đỡ em trong quá trình nghiên cứu, khảo sát để có thêm tài liệu viết luận văn. Bài luận văn được thực hiện trong khoảng thời gian gần 6 tháng. Em đã có nhiều cố gắng để hoàn thiện luận văn bằng tất cả sự nhiệt tình và năng lực của mình, tuy nhiên việc hoàn thiện thời gian hạn hẹp không thể tránh khỏi những thiếu sót, rất mong nhận được những đóng góp quý báu của quý thầy cô và các bạn. Nhân đây, xin chân thành cám ơn gia đình, bạn bè và tập thể lớp Cao học K14B đã cổ vũ động viên em hoàn thành luận văn của mình. Ngô Ngọc Cương ii
  5. MỤC LỤC LỜI CAM ĐOAN ............................................................................................... i LỜI CÁM ƠN.................................................................................................... ii MỤC LỤC ........................................................................................................ iii DANH MỤC CÁC TỪ TIẾNG ANH VÀ VIẾT TẮT .................................... vi DANH MỤC CÁC HÌNH VẼ ........................................................................ viii MỞ ĐẦU ............................................................................................................1 Đặt vấn đề, tổng quan đề tài .......................................................................1 Cấu trúc của luận văn .................................................................................1 Chương 1. An toàn thông tin và chữ kí số .........................................................3 1.1. Về mã hóa dữ liệu....................................................................................3 1.1.1. Khái niệm mã hóa thông tin .............................................................3 1.1.2. Mã hóa khóa bí mật ..........................................................................4 1.1.3. Mã hóa khóa công khai ....................................................................7 1.1.4. Hàm băm ..........................................................................................9 1.2. Về chữ kí điện tử ...................................................................................14 1.2.1. Khái niệm chữ ký điện tử ...............................................................14 1.2.2. Cơ sở hạ tầng khóa công khai (PKI) ..............................................15 1.2.3. Các thành phần của cơ sở hạ tầng khóa công khai .........................17 1.3. Tạo và kiểm tra chữ kí số ......................................................................21 1.3.1. Tạo chữ kí số ..................................................................................21 1.3.2. Kiểm tra chữ kí số ..........................................................................22 1.4. Kết luận .................................................................................................22 Chương 2. Giải pháp xác thực thông tin trong các dịch vụ Internet Banking..23 2.1. Giới thiệu chung xác thực thông tin ......................................................23 2.1.1. Các kỹ thuật xác thực thông tin ......................................................23 iii
  6. 2.2. Các giao thức xác thực ..........................................................................30 2.2.1. Mật khẩu .........................................................................................30 2.2.2. Các giao thức xác thực trong mô hình điểm - điểm .......................31 2.2.3. Xác thực trong các hệ thống phân tán ............................................33 2.2.4. Giao thức xác thực Kerberos 4 .......................................................37 2.2.5. Giao thức xác thực Kerberos 5 .......................................................41 2.3. Kết luận .................................................................................................42 Chương 3. Thử nghiệm chữ kí số trong Internet Banking tại Ngân hàng Thương mại cổ phần Bưu điện Liên Việt .................................................................44 3.1. Về ngân hàng Liên Việt.........................................................................44 3.1.1. Internet Banking .............................................................................45 3.1.2. Rủi ro trong Internet Banking ........................................................46 3.2. Tổng quan về hạ tầng Công nghệ thông tin tại Ngân hàng Liên Việt ...47 3.2.1. Mô hình hệ thống ..........................................................................47 3.2.2. Mô hình Hạ tầng khóa trong Internet Banking ..............................48 3.2.3. Các chuẩn mã hóa khóa công khai (PKCS) ...................................48 3.2.4. Một số hệ thống PKI ......................................................................49 3.3. Ứng dụng Internet Banking ...................................................................49 3.3.1. Đăng nhập .......................................................................................50 3.3.2. Tìm kiếm thông tin .........................................................................51 3.4. Các thủ tục thực hiện các giao dịch Internet Banking ngân hàng Liên Việt ........................................................................................................................52 3.4.1. Người dùng sử dụng .......................................................................52 3.5. Quản lí giao dịch bưu điện ....................................................................56 3.5.1. Quy mô hệ thống Tiết kiệm Bưu Điện ...........................................56 3.5.2. Cài đặt thử nghiệm .........................................................................57 3.5.3. Đánh giá kết quả thử nghiệm .........................................................58 3.6. Kết luận .................................................................................................59 iv
  7. Kết luận ............................................................................................................60 Kết quả đạt được.......................................................................................60 Hướng nghiên cứu tiếp theo .....................................................................61 DANH SÁCH TÀI LIỆU THAM KHẢO ........................................................62 Tiếng Việt .................................................................................................62 Tiếng Anh .................................................................................................62 v
  8. DANH MỤC CÁC TỪ TIẾNG ANH VÀ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt ATM Automatic Teller Machine Máy rút tiền tự động CA Certificate authority Cơ quan cung cấp chứng thực số CD Certificate directory Kho lưu trữ chứng chỉ CNTT Information technology Công nghệ thông tin CRL Certificate revocation lists Danh sách thu hồi chứng chỉ DES Data encryption standard Tiêu chuẩn mã hóa dữ liệu DN Business Doanh nghiệp GDP Gross Domestic Product Tổng sản phẩm nội địa LRA Local registration authority Cơ quan quản lý đăng ký địa phương MAC Message Authentication Mã xác thực thông báo Code MD5 Message-Digest algorithm 5 Giải thuật tiêu hóa tin 5 NHTM Commercial Bank Ngân hàng thương mại PKCS Public Key Cryptography Chuẩn cho việc truyền thông tin Standards trên mạng dưới dạng các gói tin đã mã hóa PKI Public key infrastructure Cơ sở hạ tầng khóa công khai RA Registration authority Cơ quan quản lý đăng ký RSA Rivest, Shamir and Adleman Thuật toán mã hóa công khai của 3 tác giả: Rivest, Shamir và Adleman TLS Transport Layer Security Bảo mật tầng truyền dẫn TMĐT Electronic commerce Thương mại điện tử vi
  9. VCB Vietcombank Ngân hàng ngoại thương Việt Nam vii
  10. DANH MỤC CÁC HÌNH VẼ Hình 1.1. Hệ thống mã hóa thông tin .................................................................3 Bảng 1.1. Các thuật toán mã hóa khóa bí mật ....................................................5 Bảng 1.2. Các thuật toán mã hóa khóa công khai ..............................................8 Hình 1.2. Sơ đồ biểu diễn thuật toán RSA .........................................................9 Bảng 1.3. Các thuật toán băm...........................................................................10 Hình 1.3. Một thao tác trong 64 tác vụ của thuật toán MD5 ............................11 Hình 1.4. Sinh ra tiêu hóa tin sử dụng SHA-1 .................................................12 Hình 1.5. Cơ sở hạ tầng khóa công khai (PKI) ................................................18 Hình 1.6. Các bước tạo chữ ký điện tử .............................................................21 Hình 1.7. Các bước kiểm tra chữ ký điện tử ....................................................22 Hình 2.1. Xác thực thông tin dùng mật mã đối xứng .......................................24 Hình 2.2. Sử dụng khóa bất đối xứng để trao đổi khóa bí mật.........................25 Hình 2.3. Xác thực thông tin dùng mật mã bất đối xứng .................................25 Hình 2.4. Xác thực thông tin dùng MAC .........................................................26 Hình 2.5. Xác thực thông tin dùng chữ ký số ...................................................27 Hình 2.6. Minh hoạ xác thực sử dụng chứng chỉ số và chữ ký điện tử ............28 Hình 2.7. Mô hình chữ ký điện tử trong Internet Banking ..............................29 Hình 2.8. Giao thức xác thực PAP ...................................................................32 Hình 2.9. Giao thức xác thực CHAP ................................................................33 Hình 2.10. Thủ tục xác thực Kerberos 4 ..........................................................38 Hình 3.1. Ngân hàng Thương mại cổ phần Bưu điện Liên Việt ......................44 Hình 3.2. Mô hình hệ thống mạng tại Ngân hàng Liên Việt ............................47 Hình 3.3. Mô hình triển khai chữ ký điện tử trong Internet Banking .............48 Hình 3.4. Người dùng tra cứu về Internet Banking ..........................................49 Hình 3.5. Trang Internet Banking ....................................................................50 Hình 3.6. Đăng nhập với mật khẩu...................................................................50 Hình 3.7. Màn hình đăng nhập Internet Banking .............................................51 Hình 3.8. Tìm kiếm thông tin ...........................................................................51 Hình 3.9. Truy vấn sao kê ................................................................................52 Hình 3.10. Màn hình đăng nhập dịch vụ Internet banking ...............................52 viii
  11. Hình 3.11. Form điền thông tin giao dịch ........................................................53 Hình 3.12. Form điền thông tin và mật khẩu ...................................................53 Hình 3.13. Thực hiện gửi thông tin giao dịch và mật khẩu ..............................54 Hình 3.14. Tạo chữ ký điện tử ..........................................................................54 Hình 3.15. Máy chủ gửi chữ ký và chứng chỉ cho người dùng ........................54 Hình 3.16. Người dùng gửi thông tin, chữ ký và chứng chỉ cho máy chủ .......55 Hình 3.17. Kiểm tra chữ ký điện tử ..................................................................55 Hình 3.18. Sơ đồ điều hành quản lí ..................................................................56 Hình 3.19. Giao diện tạo cặp khóa và ký văn bản ............................................57 Hình 3.20. Thực hiện ký lên tài liệu cần gửi ....................................................57 Hình 3.21. Xác thực sự toàn vẹn của tài liệu nhận được ..................................58 Bảng 3.1. Kết quả thử nghiệm ..........................................................................58 ix
  12. MỞ ĐẦU Đặt vấn đề, tổng quan đề tài Internet Banking là dịch vụ Ngân hàng điện tử dùng để truy vấn thông tin tài khoản và thực hiện các giao dịch chuyển khoản, thanh toán qua mạng Internet. Internet Banking cho phép khách hàng thực hiện giao dịch trực tuyến mà không cần đến Ngân hàng. Chỉ cần một chiếc máy vi tính hoặc điện thoại di động có kết nối Internet và mã truy cập do Ngân hàng cung cấp, khách hàng đã có thể thực hiện các giao dịch với Ngân hàng mọi lúc mọi nơi một cách an toàn. Trong hoàn cảnh hệ thống mạng và mạng xã hội trở nên thông dụng, ứng dụng công nghệ thông tin nói chung và ứng dụng công nghệ thông tin trong hệ thống ngân hàng trở nên phổ biến. Đi kèm với vấn đề đó là an toàn thông tin người dùng. Ngân hàng Bưu điện Liên Việt cũng nhận thức được việc này. Ngân hàng thương mại cổ phần Bưu điện Liên Việt hay Ngân hàng Bưu điện Liên Việt, tên giao dịch quốc tế: LienVietPostBank hoặc LPB, là một ngân hàng thương mại cổ phần của Việt Nam. Nó được Ngân hàng Nhà nước Việt Nam cấp phép hoạt động vào tháng 3 năm 2008 và chính thức ra mắt ngày 1 tháng 5 năm 2008. Trong khuôn khổ luận văn tốt nghiệp cao học, tôi thấy vấn đề an toàn thông tin trong đơn vị mình công tác là quan trọng và có ý nghĩa. Việc thử nghiệm chữ kí số và quản lí hoạt động của các phòng giao dịch bưu điện, chẳng hạn (i) chấm các chứng từ; (ii) đóng/ mở ngày giao dịch trên phần mềm giao dịch bưu điện; (iii) đảm bảo an toàn hệ thống… Chữ kí số là công cụ sử dụng tại ngân hàng bưu điện Liên Việt. Công việc của tôi tại cơ sở liên quan đến hạ tầng xác thực thông tin… Tôi đã chọn đề tài luận văn là “chữ kí số và ứng dụng xác thực thông tin trong các dịch vụ Internet Banking”. Cấu trúc của luận văn Luận văn có cấu trúc theo các chương. Mục tiêu của luận văn là ứng dụng được trong Ngân hàng Thương mại cổ phần Bưu điện Liên Việt. Nội dung các chương như sau:  Chương 1 trình bày về kiến thức về an toàn thông tin và chữ chữ kí số. Đây là kiến thức tìm hiểu và tham khảo trong các tài liệu liên quan; 1
  13.  Chương 2 đề cập đến các giải pháp xác thực thông tin trong Internet Banking và khả năng ứng dụng tại Ngân hàng Thương mại cổ phần Bưu điện Liên Việt;  Chương 3 trình bày các giao dịch thường xuyên của Ngân hàng Thương mại cổ phần Bưu điện Liên Việt, trong đó có vai trò của tôi, trong việc thực hiện an toàn thông tin đối với các phòng giao dịch; Luận văn có phần mở đầu và phần kết luận. Cuối luận văn là danh sách các tài liệu tham khảo và trích dẫn. 2
  14. Chương 1. An toàn thông tin và chữ kí số 1.1. Về mã hóa dữ liệu 1.1.1. Khái niệm mã hóa thông tin Theo [9, 4], mã hóa sử dụng thuật toán và khóa để biến đổi dữ liệu từ bản rõ sang bản mã. Chỉ có những ai có thông tin giải mã thì mới giải mã được và đọc được dữ liệu. Thuật toán mã hóa đề cập tới nghành khoa học nghiên cứu về mã hoá và giải mã thông tin. Cụ thể hơn là nghiên cứu các cách thức chuyển đổi thông tin từ dạng rõ (clear text) sang dạng mã (cipher text) và ngược lại. Mã hóa là một phương pháp hỗ trợ rất tốt cho trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi trên mạng, áp dụng mã hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thông tin đó. Hệ thống mã hóa là một bộ năm (P, C, K, E, D) thỏa mãn các điều kiện sau:  Tập nguồn P là tập hữu hạn tất cả các mẫu tin nguồn cần mã hóa có thể có  Tập đích C là tập hữu hạn tất cả các mẫu tin có sau khi mã hóa  Tập khóa K là tập hữu hạn các khóa có thể được sử dụng  E và D lần lượt là tập luật mã hóa và giải mã.Với mỗi khóa k  K, tồn tại luật mã hóa ek  E và luật giải mã dk  D tương ứng. Luật mã hóa ek: P → C và luật giải mã ek: C → P là hai ánh xạ thỏa mãn dk(ek(x)) = x,  x  P Hình 1.1. Hệ thống mã hóa thông tin Hệ thống mã hoá phải đảm bảo các tính chất sau [1]: 3
  15.  Tính bí mật (Confidentiality): Đả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ỉ những người được phép mới có khả năng đọc được nội dung thông tin ban đầu.  Tính xác thực (Authentication): 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. 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 (Integrity): Giúp cho người nhận dữ liệu kiểm tra được rằng dữ liệu không bị 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ỏ (Non-repudation): 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. Có rất nhiều các thuật toán mã hoá khác nhau. Từ những thuật toán được công khai để mọi người cùng sử dụng và áp dụng như là một chuẩn chung cho việc mã hoá dữ liệu; đến những thuật toán mã hoá không được công bố. Có thể phân loại theo các phương pháp: 1. Mã hoá cổ điển (Classical cryptography), 2. Mã hoá đối xứng (Symetric cryptography), 3. Mã hoá bất đối xứng(Asymetric cryptography), 4. Hàm băm (Hash function). Hoặc phân loại theo số lượng khoá: 1. Mã hoá khoá bí mật (Private-key Cryptography), 2. Mã hoá khoá công khai (Public-key Cryptography). 1.1.2. Mã hóa khóa bí mật Theo [3, 4], phương pháp mã hóa khóa bí mật (secret key cryptography) còn được gọi là mã hóa đối xứng (symmetric cryptography) sử dụng chung một khóa để mã hóa và giải mã dữ liệu. Trước khi mã hóa dữ liệu để truyền đi trên mạng, hai bên gửi và nhận phải có khóa và phải thống nhất thuật toán dùng để mã hóa và giải mã. Mã hóa khóa bí mật có thể phân thành hai nhóm: Thuật toán khối (Tác động trên 4
  16. bản rõ theo từng nhóm bits), Thuật toán dòng (Tác động lên bản rõ theo từng bit một). Các thuật toán loại này có ưu điểm là tốc độ mã hóa và giải mã rất nhanh nhưng bộc lộ hạn chế khi mã khóa bí mật phải được chia sẻ giữa bên gửi với bên nhận. Vì vậy phương pháp mã hóa khóa bí mật chỉ nên dùng cho mục đích mã hóa dữ liệu của cá nhân hay tổ chức đơn lẻ. Bảng 1.1. Các thuật toán mã hóa khóa bí mật Tên thuật toán Mô tả Data Encryption DES là một thuật toán mã hóa đối xứng dạng mã khối, mã hóa Standard (DES) dữ liệu trong từng khối 64-bit sử dụng một khóa 56-bit với 8 bits chẵn lẽ. Chính độ dài của khóa ngắn cho nên DES là một thuật toán mã hóa hơi yếu. Triple DES 3DES là một thuật toán mã hóa đối xứng tiến hành mã hóa dữ (3DES) liệu thông qua việc xử lý mỗi block 3 lần và mỗi lần dùng một khóa khác nhau. Trước hết nó sẽ mã hóa bản rõ thành bản mã hóa dùng một khóa, sau đó lại tiếp tục mã hóa bản mã hóa với khóa, và tiếp tục mã hóa bản mã hóa thứ 2 này với một khóa khác nữa. Advanced AES là thuật toán mã hóa đối xứng theo khối 128-bit được Encryption phát triển bởi Vincent Rijmen và được sự hỗ trợ của chính phủ Standard (AES) Mỹ xem như một thuật toán thay thế DES. AES cũng được algorithm gọi là Rijndael. “Rhine-dale” phát âm theo tên người tạo ra. Rivest Cipher Thuật toán RC bao gồm một series được phát triển bởi Ronald (RC) 4, 5, and 6 Rivest. Tất cả có chiều dài khóa khác nhau. RC4 là một thuật toán mã hóa dòng. RC5 và RC6 là các thuật toán mã hóa khối với các kích cỡ khác nhau Skipjack Skipjack là một thuật toán mã hóa khối được thiết kế bởi Cơ quan bảo mật quốc gia Hoa kỳ - US National Security Agency (NSA) được sử dụng trong chip Clipper Fortezza PC card Blowfish Blowfish là một thuật toán mã hóa miễn phí theo khối 64-bit sử dụng khóa có độ dài khác nhau. Được phát triển bởi Bruce Schneier. CAST-128 CAST-128, được đặt theo tên người phát triển là Carlisle Adams và Stafford Tavares, là một thuật toán mã hóa đối xứng có chiều dài khóa 128-bit. 5
  17. Trong các thuật toán trên, DES là thuật toán mã hoá khóa bí mật điển hình được sử dụng rộng rãi nhất trên thế giới. Ở thời điểm DES ra đời người ta đã tính toán rằng việc phá được khoá mã DES là rất khó khăn, nó đòi hỏi chi phí hàng chục triệu USD và tiêu tốn khoảng thời gian rất nhiều năm. Cùng với sự phát triển của các loại máy tính và mạng máy tính có tốc độ tính toán rất cao, khoá mã DES có thể bị phá trong khoảng thời gian ngày càng ngắn với chi phí ngày càng thấp. Dù vậy việc này vẫn vượt xa khả năng của các hacker thông thường và mã hoá DES vẫn tiếp tục tồn tại trong nhiều lĩnh vực như ngân hàng, thương mại, thông tin... nhiều năm nữa đặc biệt với sự ra đời của thế hệ DES mới, tức Triple DES". Quá trình mã hóa của thuật toán DES: Bước đầu tiên là chuyển 64 bit chìa khoá qua một bảng hoán vị gọi là Permuted Choice hay PC-1 để thu được chìa khoá mới có 56 bit. Sau khi vệc chuẩn bị chìa khoá và dữ liệu mã hoá hoàn thành, thực hiện mã hoá bằng thuật toán DES. Đầu tiên, khối dữ liệu đầu vào 64 bit được chia thành hai nửa, L và R. L gồm 32 bit bên trái và R gồm 32 bit bên phải. Quá trình sau đây được lặp 16 lần tạo thành 16 vòng của DES gồm 16 cặp L[0]-L[15] và R[0]-R[15]:  R[r-1]- ở đây r là số vòng, bắt đầu từ 1- được lấy và cho qua bảng E (E- bit Selection Table), bảng này giống như một bảng hoán vị, có điều là một số bit được dùng hơn một lần do vậy nó sẽ mở rộng R[r-1] từ 32 bit lên 48 bit để chuẩn bị cho bước tiếp theo.  48 bit R[r-1] được XOR với K[r] và được lưu trong bộ nhớ đệm, vì vậy R[r-1] không thay đổi.  Kết quả của bước trước lại được chia thành 8 đoạn, mỗi đoạn 6 bit, từ B[1] đến B[8]. Những đoạn này tạo thành chỉ số cho các bảng S (Substitution) được sử dụng ở bước tiếp theo. Các bảng S, là một bộ 8 bảng (S[1]-S[8]) 4 hàng, 16 cột. Các số trong bảng có độ dài 4 bit vì vậy có giá trị từ 0 đến 15.  Bắt đầu từ B[1], bit đầu và cuối của khối 6 bit được lấy ra và sử dụng làm chỉ số hàng của bảng S[1], nó có giá trị từ 0 đến 3, và 4 bit giữa được dùng làm chỉ số cột, từ 0 đến 15. Giá trị được chỉ đến trong bảng S được lấy ra và lưu lại. Việc này được lặp lại đối với B[2] và S[2] cho 6
  18. đến B[8] và S[8]. Lúc này bạn có 8 số 4 bit, khi nối lại với nhau theo thứ tự thu được sẽ tạo ra một chuỗi 32 bit.  Kết quả của bước trước được hoán vị bit bằng bảng hoán vị P (Permutation).  Kết quả thu được sau khi hoán vị được XOR với L[r-1] và chuyển vào R[r]. R[r-1] được chuyển vào L[r].  Lúc này bạn có L[r] và R[r] mới. Bạn tiếp tục tăng r và lặp lại các bước trên cho đến khi r= 17, đIều đó có nghĩa là 16 vòng đã được thực hiện và các chìa khoá phụ K[1]-K[16] đã được sử dụng.  Khi đã có L[16] và R[16], chúng được ghép lại với nhau theo cách chúng bị tách ra (L[16] ở bên trái và R[16] ở bên phải) thành 64 bit. 64 bit này được hoán vị để tạo ra kết quả cuối cùng là dữ liệu 64 bit đã được mã hoá. Quá trình giải mã của thuật toán DES: Việc giải mã dùng cùng một thuật toán như việc mã hoá. Để giải mã dữ liệu đã được mã hoá, quá trình như giống như mã hoá được lăp lại nhưng các chìa khoá phụ được dùng theo thứ tự ngược lại từ K[16] đến K[1], nghĩa là trong bước 2 của quá trình mã hoá dữ liệu đầu vào ở trên R[r-1] sẽ được XOR với K[17-r] chứ không phải với K[r]. 1.1.3. Mã hóa khóa công khai Theo [4, 7], phương pháp mã hóa khóa công khai (public key cryptography) đã giải quyết được vấn đề của phương pháp mã hóa khóa bí mật là sử dụng hai khóa khóa công khai (public key) và khóa bí mật (private key). Public key được gửi công khai trên mạng, trong khi đó private key được giữ kín. Public key và private key có vai trò trái ngược nhau, một khóa dùng để mã hóa và khóa kia sẽ dùng để giải mã. Phương pháp này còn được gọi là mã hóa bất đối xứng (asymmetric cryptography) vì nó sử dụng hai khóa khác nhau để mã hóa và giải mã dữ liệu. Giả sử B muốn gửi cho A một thông điệp bí mật sử dụng phương pháp mã hóa khóa công khai. Ban đầu, A có cả private key và public key. A sẽ giữ private key ở nơi an toàn và gửi public key cho B. B mã hóa và gửi cho A thông điệp đã mã hóa bằng public key nhận được của A. Sau đó A sẽ giải mã thông điệp bằng private key của mình. Ngược lại nếu A muốn gửi thông điệp cho B thì A phải mã hóa thông điệp bằng public key của B. 7
  19. Các thuật toán loại này cho phép trao đổi khóa một cách dễ dàng và tiện lợi. Tuy nhiên, tốc độ mã hóa chậm nên thường chỉ được sử dụng mã hóa dữ liệu nhỏ. Bảng 1.2. Các thuật toán mã hóa khóa công khai Tên thuật toán Mô tả Rivest Shamir RSA, được đặt tên theo người thiết kế là Ronald Rivest, Adi Adelman (RSA) Shamir, và Len Adelman, là thuật toán thành công đầu tiên sử dụng cho mã hóa khóa công (public-key encryption). Nó có độ dài khóa khác nhau và các kích cỡ khối khác nhau. RSA vẫn được xem là rất an toàn nếu được triển khai dùng với các khóa có chiều dài lớn. Diffie-Hellman Diffıe-Hellman là một giao thức mã hóa cung cấp khóa chuyển đổi an toàn. Được mô tả vào năm 1976, được hình thành trên nền tảng của các các kỹ thuật mã hóa public-key phổ biến bao gồm cả RSA. Elgamal Elgamal là một thuật toán mã hóa public-key được phát triển bởi Taher Elgamal. Nó cũng dựa trên nền tảng của Diffie - Hellman. Paillier Paillier cryptosystem là một thuật toán mã hóa bất đối xứng Cryptosystem được phát triển bởi Pascal Paillier. Thuật toán RSA (được đặt tên từ ba nhà phát minh là Ron Rivest, Adi Shamir và Leonard Adleman) là thuật toán mã hóa khóa công khai được sử dụng nhiều nhất. Thuật toán sử dụng biểu thức với hàm mũ để mã hóa bản gốc thành các khối, mỗi khối có một giá trị nhị phân nhỏ hơn n. Giả sử khối bản gốc của người gửi là M và khối bản mã của người nhận là C thì: e  C = M mod n d  M = C mod n Cả người gửi và người nhận phải biết giá trị n. Người gửi biết giá trị e và chỉ người nhận biết giá trị d. Đây là một thuật toán mã hóa khóa công khai với khóa công khai KU = {e,n} và khóa riêng KR = {d,n}. Để thuật toán này được thỏa mãn cho mã hóa khoá công khai, các yêu cầu sau đây phải được đáp ứng:  Có thể tìm thấy giá trị của e, d, n sao cho Med = M mod n với tất cả M < n. 8
  20.  Tương đối dễ tính toán Me và C với tất cả các giá trị của M < n.  Không thể xác định d dựa trên e và n. Hình 1.2. Sơ đồ biểu diễn thuật toán RSA 1.1.4. Hàm băm Theo [7], hàm băm là giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu. Mục đích của một hàm băm là tạo ra một "dấu vân tay" của một tập tin, thông điệp, hoặc khối dữ liệu khác. Nếu H là hàm băm thì H có các thuộc tính sau đây:  H có thể được áp dụng cho một khối dữ liệu có kích thước bất kỳ.  H tạo ra một đầu ra có độ dài cố định.  H (x) là tương đối dễ dàng để tính toán cho bất kỳ x được đưa ra, cho cả phần cứng và phần mềm triển khai thực tế.  Đối với bất kỳ mã h, gần như không thể tìm x sao cho H (x) = h.  Đối với bất kỳ khối cho x, gần như không thể tìm y ≠ x với H (y) = H (x).  Gần như không thể tìm thấy bất kỳ cặp (x, y) sao cho H (x) = H (y). Ba thuộc tính đầu tiên được yêu cầu đối với các ứng dụng thực tế của một hàm băm để xác thực thông điệp. Thuộc tính thứ tư là thuộc tính "một chiều": Nó dễ dàng để tạo ra một mã khi đưa ra thông điệp, nhưng hầu như không thể tạo ra một thông điệp khi đưa ra một mã. Thuộc tính này là quan trọng nếu các kỹ thuật xác thực bao gồm việc sử dụng một giá trị bí mật. 9
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2