Xem mẫu

  1. 1 2 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ---------------------------------------- MỞ ĐẦU Trong thương mại truyền thống mọi việc diễn ra đơn giản, người mua trả tiền, người bán giao hàng. Nhưng trong giao dịch thương mại điện tử, để thực hiện được thao tác giao nhận đó là cả một vấn đề. Nếu không có một cơ chế an toàn và bảo mật, người mua không biết liệu có phải mình đang giao dịch với nhà cung cấp thật không, ngược lại người bán không biết có phải mình đang giao dịch NGUYỄN MINH QUANG với chủ nhân thực sự của thẻ tín dụng không. Nếu cơ chế này không đảm bảo, các hoạt động giao dịch thương mại điện tử sẽ sụp đổ hoàn NGHIÊN CỨU MỘT SỐ GIẢI PHÁP AN TOÀN toàn. VÀ BẢO MẬT THÔNG TIN TRONG CÁC GIAO Cùng với sự phát triển của thương mại điện tử, đi kèm theo là DỊCH THƯƠNG MẠI ĐIỆN TỬ những vấn đề an toàn thông tin trong các hoạt động giao dịch nên tôi Chuyên ngành: Khoa học máy tính lựa chọn đề tài “Nghiên cứu một số giải pháp an toàn và bảo mật Mã số: 60.48.o1 thông tin trong các giao dịch thương mại điện tử” với mục đích là nghiên cứu các kỹ thuật và xây dựng ứng dụng minh họa đảm bảo Người hướng dẫn khoa học: TS. PHẠM THẾ QUẾ cho các giao dịch điện tử. Nội dung của Luận văn như sau: Chương 1: Thương mại điện tử - Khái niệm và công nghệ. TÓM TẮT LUẬN VĂN THẠC SĨ Chương 2: Chữ ký số và ứng dụng trong các giao dịch thương mại điện tử. Chương 3: Xây dựng ứng dụng chữ ký điện tử trong việc trao HÀ NỘI – 2012 đổi các chứng từ điện tử.
  2. 3 4 1.2 Các hình thức hoạt động chủ yếu của thương mại điện tử Chương 1. THƯƠNG MẠI ĐIỆN TỬ - KHÁI NIỆM VÀ CÔNG Dựa vào chủ thể của thương mại điện tử, có thể phân chia NGHỆ thương mại điện tử ra các loại hình phổ biến như sau: 1.1 Tổng quan về thương mại điện tử Thương mại điện tử (còn gọi là thị trường điện tử, thị trường ảo, E- - Giao dịch giữa doanh nghiệp với doanh nghiệp - B2B (business to Commerce hay E-Business) là quy trình mua bán ảo thông qua việc business); - Giao dịch giữa doanh nghiệp với khách hàng - B2C (business to truyền dữ liệu giữa các máy tính trong chính sách phân phối của tiếp consumer); thị. Tại đây một mối quan hệ thương mại hay dịch vụ trực tiếp giữa người cung cấp và khách hàng được tiến hành thông qua Internet. - Giao dịch giữa doanh nghiệp với cơ quan nhà nước - B2G (business to government); Hiện nay định nghĩa thương mại điện tử được rất nhiều tổ chức quốc tế đưa ra song chưa có một định nghĩa thống nhất về thương mại điện tử. - Giao dịch trực tiếp giữa các cá nhân với nhau - C2C (consumer to Khái niệm thương mại điện tử (TMĐT) cơ bản phải bao hàm các nội consumer); dung sau: - Giao dịch giữa cơ quan nhà nước với cá nhân - G2C (government to consumer). − Đó phải là một hoạt động kinh doanh thương mại, tức là phản ảnh 1.3 Các phương thức giao dịch một hoạt động mua bán hàng hoá và dịch vụ thông qua một chu trình kinh Các doanh nghiệp, các cơ quan Nhà nước,.. sử dụng thư điện tử để doanh thương mại: chào hàng, chào giá, đàm phán mua bán, ký hợp đồng gửi thư cho nhau một cách “trực tuyến” thông qua mạng, gọi là thư mua bán, vận chuyển giao hàng, thanh lý hợp đồng và thanh toán. điện tử (electronic mail, viết tắt là e-mail). − Việc kinh doanh thương mại phải được thực hiện trong một môi Thanh toán điện tử (electronic payment) là việc thanh toán tiền thông qua bức thư điện tử (electronic message) ví dụ, trả lương bằng trường đặc biệt đó là môi trường mạng máy tính nói chung và đặc biệt là cách chuyển tiền trực tiếp vào tài khoản, trả tiền mua hàng bằng thẻ mạng internet. mua hàng, thẻ tín dụng v.v.. thực chất đều là dạng thanh toán điện tử. − Công nghệ thông tin đã tạo ra môi trường và phát triển các công Trao đổi dữ liệu điện tử (electronic data interc hange, viết tắt là nghệ cho TMĐT phát triển. Công nghệ thông tin cũng mở ra một loại hàng EDI) là việc trao đổi các dữ liệu dưới dạng “có cấu trúc” (stuctured hoá và dịch vụ đặc trưng là các hàng hoá và dịch vụ số (hàng hoá và dịch vụ form), từ máy tính điện tử này sang máy tính điẹn tử khác, giữa các phi vật thể được số hoá và có thể giao hàng ngay qua mạng) góp phần vào công ty hoặc đơn vị đã thỏa thuận buôn bán với nhau. việc phát triển hình thức thương mại điện tử.
  3. 5 6 Dung liệu (content) là nội dung của hàng hóa số, giá trị của nó Chương 2. CHỮ KÝ SỐ VÀ ỨNG DỤNG TRONG CÁC GIAO không phải trong vật mang tin và nằm trong bản thân nội dung của DỊCH THƯƠNG MẠI ĐIỆN TỬ nó. Hàng hoá số có thể được giao qua mạng. Ví dụ hàng hoá số là: 2.1 Bảo mật các giao dịch điện tử Tin tức, nhạc phim, các chương trình phát thanh, truyền hình, các Để đảm bảo an toàn tuyệt đối là rất khó, thậm chí là không thể, chương trình phần mềm, các ý kiến tư vấn, vé máy bay, vé xem mà chỉ có thể tạo ra các rào cản đủ để ngăn chặn sự xâm phạm. An phim, xem hát, hợp đồng bảo hiểm, v.v.. Trước đây, dung liệu được toàn tích hợp là việc kết hợp tất cả các biện pháp với nhau nhằm ngăn trao đổi dưới dạng hiện vật (physical form) bằng cách đưa vào đĩa, chặn việc khám phá, phá huỷ hoặc sửa đổi trái phép các tài sản. vào băng, in thành sách báo, thành văn bản, đóng gói bao bì chuyển Thông tin dữ liệu cũng có thể được xem là đảm bảo độ an toàn nếu đến tay người sử dụng, hoặc đến điểm phân phối (như của hàng, quầy như khi tội phạm tấn công khai thác được thì đã mất hiệu lực sử dụng báo v.v.) để người sử dụng mua và nhận trức tiếp. Ngày nay, dung nó. Trong giao dịch điện tử với quy mô toàn cầu, có sự tham gia của nhiều người, nhiều thành phần, thiết bị thì việc khẳng định được độ liệu được số hóa và truyền gửi theo mạng, gọi là “giao gửi số hóa” tin cậy trong thời gian dài là một thách thức. (digital delivery). 1.4 Cơ hội và thách thức 2.2 Các kỹ thuật đảm bảo an toàn cho giao dịch điện tử Theo nghiên cứu của Tổ chức Liên hiệp Quốc về Thương mại và 2.2.1 Mã hóa đối xứng Phát triển - UNCTAD năm 2003, để phát triển Thương mại điện tử Phương pháp mã hóa khóa bí mật (secret key cryptography) còn có 25 hoạt động các nước cần triển khai từ thấp đến cao. Theo mô được gọi là mã hóa đối xứng (symmetric cryptography). Với phương hình trên, những vấn đề quan trọng nhất các nước cần quan tâm để pháp này, người gửi và người nhận 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 phát triển Thương mại điện tử gồm: Nhận thức, Nối mạng, Nhân lực 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 và Nội dung (4N). Những vấn đề khó khăn nhất hiện nay đối với dùng để mã hóa và giải mã. Có nhiều thuật toán ứng dụng cho mã Thương mại điện tử gồm: thanh toán trực tuyến, an ninh, bảo mật hóa khóa bí mật như: DES - Data Encrytion Standard, 3DES - triple- trong giao dịch thương mại điện tử, chứng thực điện tử quốc tế. strength DES, RC2 - Rons Cipher 2 và RC4, v.v...
  4. 7 8 Hình 2.2. Mã hoá và giải mã với hai khoá 2.2.3. Xác thực thông báo qua các hàm băm Hàm băm có đầu vào là thông báo M có kích thước thay đổi, Hình 2.1. Mô hình mã hoá đối xứng đầu ra là một mã băm H(M) có kích thước cố định. Mã hàm băm là 2.2.2. Mã hoá công khai một hàm của tất cả các bit có trong thông báo, đồng thời nó cung cấp Vào những năm 1970 Diffie và Hellman đã phát minh ra một khả năng phát hiện lỗi: Nếu A thay đổi một bit bất kỳ hoặc nhiều bit hệ mã hoá mới được gọi là hệ mã hoá công khai hay hệ mã hoá phi trong thông báo dẫn đến kết quả là mã băm cũng thay đổi theo. Mục đối xứng.Phương pháp mã hóa khóa công khai (public key đích của mã băm là tạo ra fingerprint (dấu vân tay) cho một tệp, cryptography) đã giải quyết được vấn đề của phương pháp mã hóa thông báo hay khối dữ liệu. Để đáp ứng được việc xác thực thông khóa bí mật là sử dụng hai khóa public key và private key. Public key báo, một hàm băm H phải bao gồm các tính chất. được gửi công khai trên mạng, trong khi đó private key được giữ kín.  H được áp dụng cho một khối dữ liệu có kích cỡ bất kỳ. Public key và private key có vai trò trái ngược nhau, một khóa dùng  Đầu ra H có độ dài cố định để mã hóa và khóa kia sẽ dùng để giải mã. Phương pháp này còn  Dễ tính toán được H(x) với mọi x cho trước được gọi là mã hóa bất đối xứng (asymmetric cryptography) vì nó sử  Với mọi mã h cho trước, không thể tìm được x thoả mãn dụng hai khóa khác nhau để mã hóa và giải mã dữ liệu. Phương pháp H(x)=h này sử dụng thuật toán mã hóa RSA (tên của ba nhà phát minh ra nó:  Với mọi khối x cho trước, không thể tìm ra được y  x sao Ron Rivest, Adi Shamir và Leonard Adleman) và thuật toán DH cho H(y) = H(x) tức là khả năng trùng lặp ít. (Diffie-Hellman). Không tìm thấy bất cứ cặp (x,y) nào sao cho H(x) = H(y), điều này nhấn mạnh khả năng không bị va chạm.
  5. 9 10 2.3. Chữ ký số 2.4. Chữ ký mù Chữ ký số (digital signature), là một dạng của chữ ký điện tử, là Khái niệm của chữ ký mù trước hết được giới thiệu : Chúng đoạn dữ liệu ngắn đính kèm với văn bản gốc để chứng thực tác giả tôi yêu cầu chữ ký phải được xác thực(chỉ một người ký , có thể ký của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung nhiều báo cáo) và có thể kiểm tra chung (bất kỳ người nào cũng có thể kiểm tra xem liệu chữ ký của bản báo cáo có đúng không). văn bản gốc. Trong quá trình ký một người dùng tương tác với một người Chữ ký số được tạo ra bằng cách áp dụng thuật toán băm một ký và có một chữ ký. Trong thời gian sự tương tác người ký không chiều trên văn bản gốc để tạo ra bản phân tích văn bản/văn bản tóm thể nhìn thấy nội dugn tài liệu mà anh ta đang ký. lược (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng Ý tưởng có thể được thực hiện bởi khái niệm của chữ ký private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi. khi RSA. nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại Nếu người ký có khóa công khai RSA(n,e) va khóa bí mật fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc tương ứng d, anh ta có thể ký một bản báo cáo m. Một người nào đó giải mã chữ ký số. có thể xác minh bằng cách kiểm tra xem liệu m=se mod n? chú ý rằng cách lập mã và giải mã của hệ thống mã RSA trong việc ký báo cáo và xác minh chữ ký đó. Giả sử người thỉnh cầu muốn đạt được chữ ký của bản báo cáo m. Người đó không muốn để lộ thông tin bản báo cáo m cho bất kỳ ai biết , kể cả người ký. Người ký được yêu cầu ký vào một bản báo cáo mù,mà anh ta không biết mình ký gì. 2.5. Giao thức SSL và SET 2.5.1 . Cơ chế bảo mật SSL (Secure Socket Layer) Giao thức SSL được phát triển lần đầu tiên bởi Nescape nhằm đảm bảo tính an toàn khi truyền dữ liệu, định tuyến thông qua giao thức HTTP, LDAP, POP3 trên tầng ứng dụng. SSL được thiết kể Hình 2.3. Mô hình mã hóa để sử dụng TCP, cung cấp một kết nối xác thực và an toàn giữa hai điểm trên mạng.
  6. 11 12 2.5.2 . Cơ chế bảo mật SET (Secure Electronic Transaction) để xác định nguồn gốc, nó ngăn chặn người gửi chối cãi nguồn gốc Để khắc phục những hạn chế của SSL, Visa và MasterCard tài liệu họ đã gửi. đã cùng nhau phát triển một giao thức an toàn hơn, được gọi là SET Vậy chúng chỉ số là gì? DC là một file điện tử dùng để xác (Secure Electronic Transaction). Giao thức SET đáp ứng được 4 yêu định thực danh tính của một cá nhân, một máy chủ hay một ct, tổ cầu về bảo mật cho TMĐT giống như SSL. Ngoài ra, SET xác định chức trên Internet. Cũng như các giấy tờ chứng thực cá nhân khác, hình thức thông điệp, hình thức chứng thực, và thể thức trao đổi DC phải do một tổ chức đứng ra chứng nhận những thông tin của thông điệp. chúng ta là chính xác. Tổ chức đó gọi là nhà cung cấp chứng chỉ số. Nhà cung cấp chứng chỉ số CA (Certificate Authority) phải đảm bảo 2.6. Cơ sở hạ tầng khóa công khai về độ tin cậy, chịu trách nhiệm về độ chính xác của DC mà mình Hiện nay giao tiếp qua Internet chủ yếu sử dụng giao thức cung cấp cho khách hàng. TCP/IP, mà giao thức này cho phép các thông tin được gửi từ máy Nhà cung cấp chứng chỉ số (hoặc cơ quan chứng thực) là một tính này đến máy tính khác thông qua các máy trung gian hoặc các tổ chức chuyên đưa ra và quan rlý các nội dung xác thực bảo mật trên mạng riêng biệt. Chính điều này đã tạo cơ hội cho những kẻ tấn công một mạng máy tính, cùng với các khoá công khai để mã hoá thông có thể lấy cắp được những thông tin nhạy cảm. Vì thế, những khách tin. Một CA sẽ kiểm soát cùng với một nhà quản lý đăng ký để xác hàng muốn tham gia giao dịch điện tử đều lo sợ thông tin của mình bị minh thông tin về một chứng chỉ số mà người yêu cầu xác thực đưa rò rỉ, thậm chí bị đánh cắp, nên họ cần đến một tổ chức an toàn có thể ra. Nếu nhà quản lý xác thực thông tin của người cần xác thực. CA tin tưởng được. sau đó sẽ đưa ra một chứng chỉ số. Biện pháp nhiều người thực hiện để bảo mật là mã hoá các Tuỳ thuộc vào việc triển khai cơ sở hạ tầng khoá công khai thông tin. Một khi đã mã hoá dữ liệu, trong quá trình truyền, dẫu có (PKI) mà chứng chỉ sẽ bao gồm những thông tin nào. Thông thường, bị đánh cắp thì bọn tội phạm cũng không thể đọc được. Khi dữ liệu nó sẽ bao gồm khoá công khai của người sở hữu nó, thời hạn hết hiệu đến đích, người nhận sẽ sử dụng một công cụ để giải mã. lực của chứng chỉ, tên chủ sở hữu và các thông tin quan trọng khác. Và phương pháp mà mọi người và các tổ chức sử dụng để mã hoá thông tin là chứng chỉ số DC (Digital Certificate). Với chứng chỉ số (DC), người sử dụng có thể mã hoá thông tin, chống giả mạo và xác thực danh tính của người gửi. Ngoài ra, DC còn là một công cụ
  7. 13 14 Chương 3. XÂY DỰNG ỨNG DỤNG CHỮ KÝ ĐIỆN TỬ TRONG VIỆC TRAO ĐỔI CÁC CHỨNG TỪ ĐIỆN TỬ 3.1. Giới thiệu Trên thực tế, chữ ký điện tử (Digital Signature) đã được ứng dụng Hình 3.1. Minh họa hàm băm rộng rãi trong các ứng dụng trên mạng. Một trong những ứng dụng Thuật toán MD5 (Message Digest 5), do Ronald Rivest thi ết kế năm quan trọng của chữ ký điện tử là đảm bảo an toàn dữ liệu khi truyền 1991, là xây dựng một hàm băm để mã hóa một tín hiệu vào có chiều trên mạng. dài bất kỳ và đưa ra một tín hiệu (Digest) ở đầu ra có chiều dài cố Nhằm giải quyết vấn đề xử lý các giao dịch trao đổi văn bản, hóa định 128 bit (tương ứng với 32 chữ số hệ 16). đơn, hợp đồng…trên mạng, đến nay đã có nhiều giải pháp liên quan Dưới đây là các ví dụ mô tả các kết quả sau khi thực hiện hàm băm đến vấn đề mã hóa văn bản, nhưng tôi chọn và đề xuất giải pháp ứng MD5. dụng chữ ký điện tử trên cơ sở kết hợp giữa thuật toán băm MD5 và - MD5("xin chao") = 2201c07c37755e663c07335cfd2f44c6 thuật toán mã hóa RSA trong quá trình gửi và nhận tệp văn bản của Chỉ cần một thay đổi nhỏ (chẳng hạn viết hoa chữ x thành X) cũng hệ thống phần mềm quản lý. làm thay đổi Bảo mật thông tin là lĩnh vực rất rộng, nên đây chỉ là bước khởi đầu hoàn toàn kết quả trả về : để tôi tiếp tục nghiên cứu và ứng dụng các thuật toán mã hóa trong - MD5("Xin chao") = e05c1d9f05f5b9eb56fe907c36f469d8 việc xây dựng ứng dụng. Trong chương này, tôi sẽ trình bày giải Thuật toán cũng cho kết quả đối với chuỗi rỗng : pháp ứng dụng chữ ký điện tử sử dụng MD5, RSA và xây dựng ứng - MD5(" ") = d41d8cd98f00b204e9800998ecf8427e dụng thử nghiệm. 3.2.2. Thuật toán RSA 3.2. Xây dựng chương trình Phương pháp sử dụng thuật toán mã hóa khóa công khai 3.2.1. Thuật toán MD5 RSA (được đặt tên từ ba nhà phát minh là Ron Rivest, Adi Shamir và Hàm băm (Hash Function) nh ận giá trị vào (Input) là m ột thông Leonard Adleman), được sử dụng nhiều nhất, thuật toán sử dụng biểu điệp M ở có chiều dài bất kỳ, để biến (băm) thành một giá trị h ở đầ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 ra (Output) có chiều dài cố định, h được gọi là giá trị băm (Hash giá trị nhị phân nhỏ hơn n. Value).
  8. 15 16 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, quá trình mã hóa và giải mã RSA là: C = Me mod n File ban đầu Khóa bí mật và M = Cd mod n. của người gửi Kr = {d,n} Cả người gửi và người nhận phải biết giá trị n. Người gửi Hàm băm MD5 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 Mã hóa RSA Bản KR = {d,n}. tóm lược Chọn 2 số M Chữ ký nguyên tố điện tử p và q S = Md mod n Thông điệp đã ký Kết hợp file n = p.q M Gử Thông điệp nhận Φ(n) = (p-1)(q-1) Chữ ký Tách file và File ban Khóa đầu công khai Khóa Chọn e < n Ku = C = Me mod n {e,n} công khai của Khóa bí mật M người Giải Hàm băm MD5 Tính d = e-1 mod Φ(n) Kr = {d,n} M = Cd mod n gửi Có Giải Bản tóm mã Đúng lược 2 người M’ Hình 3.2. Sơ đồ biểu diễn thuật toán mã hóa RSA Không gửi Không Không đúng Bản tóm File đã 3.2.3. Quá trình gửi và nhận văn bản người gửi lược 1 bị thay Giống M đổi Có File toàn vẹn Hình 3.3. Sơ đồ mô tả quá trình gửi và nhận các tệp văn bản
  9. 17 18 3.2.3.1. Quá trình ký và gửi văn bản - Từ file cần gửi ban đầu, chương trình sẽ sử dụng hàm băm MD5 đ ể mã hóa thành chuỗi ký tự dài 128 bit, hash value (gọi là bản tóm lược). - Chương tr ình sử dụng thuật toán RSA để mã hóa khóa riêng (private key) của người gửi và bản tóm lược hash value thành một dạng khác (giá trị băm ở dạng mật mã) gọi là chữ ký điện tử. - Kết hợp file ban đầu với chữ ký điện tử thành một thông điệp đã ký và gửi đi cho người nhận. 3.2.3.2. Quá trình nhận văn bản Sau khi người nhận đăng nhập vào hệ thống và thực hiện việc nhận Ký văn bản các tệp văn bản. Hệ thống sẽ tách thông điệp đã ký thành ra file và chữ ký điện tử. Đến giai đoạn này sẽ có 2 quá trình kiểm tra : a. Kiểm tra file có đúng người gửi hay không? - Sử dụng thuật toán RSA để giải mã chữ ký điện tử bằng khóa công khai (username) của người gửi. - Nếu giải mã không được thì file nhận được không đúng người gửi. - Nếu giải mã thành công thì file nhận được đúng người gửi và có được Bản tóm lược 1. b. Kiểm tra file có bị thay đổi hay không? - Từ file được tách ra ta sử dụng hàm băm MD5 mã hóa thành Bản tóm lược 2. - Kiểm tra Bản tóm lược 1 và Bản tóm lược 2 có giống nhau hay không? Nếu giống nhau thì file nhận được là vẹn toàn (không bị thay đổi hay tác động), ngược lại là file đã bị thay đổi. 3.2.4. Cài đặt chương trình Xác nhận chữ ký Tạo khóa
  10. 19 20 KẾT LUẬN Trong đề tài này đã tìm hiểu về thương mại điện tử, những thuận lợi và khó khăn khi triển khai và đảm bảo an toàn trong các giao dịch. Đưa ra giải pháp an toàn trên cơ sở mã hóa các thông tin. Hoàn thành quá trình nghiên cứu một số giải pháp bảo mật và chứng thực các giao dịch, những mục tiêu an toàn trong hệ thống dựa trên các thuật toán và các nghiên lý mật mã cũng như có thể xây dựng Trường hợp văn bản hoặc chữ ký không toàn vẹn phương pháp bảo mật chứng thực giao dịch điện tử thông qua thuật toán RSA và hàm băm MD5. Tác giả vận dụng những kiến thức đã nghiên cứu được để xây dựng một chương trình minh họa về chữ ký số sử dụng RSA và hàm băm MD5. Tuy nhiên luận văn vẫn còn hạn chế là chưa được áp dụng thực nghiệm trên các giao dịch trực tuyến. Thời gian nghiên cứu có hạn chắc chắn sẽ không tránh được sai sót rất mong được sự đóng góp của thầy cô giáo và các bạn.
  11. 21
nguon tai.lieu . vn