Mục đích của luận văn là trình bày lược đồ chữ ký kép ứng dụng trong thanh toán điện tử bằng Thẻ tín dụng.. Ngoài ra, chương này cũng trình bày giao thức bảo mật trong thanh toán điện tử
Trang 1CHUYÊN NGÀNH: TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ: 60.48.15 TÓM TẮT LUẬN VĂN THẠC SỸ KỸ THUẬT
Hà Nội – 2010
Trang 2CHƯƠNG I: MỞ ĐẦU
I Cơ sở nghiên cứu và mục đích của luận văn
Hiện nay, việc đảm bảo an toàn thông tin, tránh mọi nguy cơ bị thay đổi, sao chép hoặc mất mát dữ liệu trong các ứng dụng trên mạng luôn là vấn đề bức xúc, được nhiều người quan tâm Để tránh việc thông tin truyền
đi trên mạng bị thay đổi hay sao chép, việc mã hoá thông tin trao đổi là cần thiết
Trên cở sở ứng dụng các mô hình toán học, đặc biệt là các hàm băm và thuật toán mã hoá, các ứng dụng truyền tin trên mạng đã được thực hiện với độ an toàn thông tin cao hơn và giảm thiểu được các nguy cơ dữ liệu bị thay đổi hay mất mát
Nhằm giải quyết vấn đề xử lý giao dịch trao đổi dữ liệu trên mạng, đặc biệt là các giao dịch liên quan đến lĩnh vực tài chính, ngân hàng, đến nay
đã có nhiều giải pháp liên quan đến vấn đề an toàn trong giao dịch điện tử Tuy nhiên, tác giả lựa chọn và đề xuất xây dựng lược đồ chữ ký kép trên
cơ sở kết hợp giữa thuật toán băm SHA -1 và thuật toán mã hoá công khai RSA
Mục đích của luận văn là trình bày lược đồ chữ ký kép ứng dụng trong thanh toán điện tử bằng Thẻ tín dụng So với mô hình chữ ký điện tử, chữ
Trang 3-3-
ký kép có ưu điểm trong việc bảo mật thông tin cũng như bảo đảm tính riêng tư của các thành phần tham gia giao dịch điện tử
II Tổ chức của luận văn
Luận văn được trình bày thành 4 chương và 1 phụ lục Chương I trình bày cơ sở nghiên cứu và mục đích cũng như tổ chức của luận văn
Chương II trình bày khái quát về mã hoá và hàm băm Chương này trình bày cơ sở lý thuyết mã hoá: nguyên lý mã hóa, mã hoá bí mật và mã hoá công khai, các thuật toán mã hoá, lý thuyết hàm băm và chữ ký số Ngoài
ra, chương này cũng trình bày giao thức bảo mật trong thanh toán điện tử SET và chữ ký kép - một ứng dụng quan trọng nhất trong giao thức bảo mật SET
Chương III trình bày về mô hình chữ ký kép Nội dung của chương này
là tổng quan về thương mại điện tử và thanh toán điện tử, các giao thức trong thanh toán điện tử đang được sử dụng trong thực tế Phần quan trọng nhất trong chương này đó là xây dựng lược đồ chữ ký kép dựa trên cở sở hàm băm và thuật toán mã hoá Thông qua việc lựa chọn cũng như đánh giá các hàm băm và thuật toán mã hoá, tác giả đã đưa ra quan điểm về việc lựa chọn hàm băm theo chuẩn SHA và thuật toán mã hoá công khai RSA
để xây dựng lược đồ chữ ký kép
Trang 4Chương IV trình bày ứng dụng minh hoạ cho việc hình thành và xây dựng lược đồ chữ ký kép Dựa trên lược đồ chữ ký kép được trình bày trong chương II để xây dựng ứng dụng chữ ký kép Trên cơ sở đó, luận văn cũng trình bày đánh giá kết quả đạt được và hướng phát triển ứng dụng chữ ký kép trong thanh toán điện tử và trong các ứng dụng khác
Trang 5Giải mã dữ liệu là quá trình ngược lại, là sử dụng một phương pháp biến đổi dữ liệu đã được mã hóa về dạng thông tin ban đầu
Hình 1: Quá trình mã hoá dữ liệu
Mã hoá nhằm đảm bảo các tính chất sau của thông tin:
- Tính bí mật (confidentiality): thông tin chỉ được tiết lộ cho những ai
Trang 6- Tính không chối bỏ (non-repudiation): người gửi hoặc nhận sau này
không thể chối bỏ việc đã gửi hoặc nhận thông tin
2.2 Mã hoá bí mật
Tư tưởng chung của các phương pháp mã hoá với khoá bí mật là dựa vào một khoá k và một thuật toán mã hoá E để biến đổi bản tin f thành bản tin f' không thể đọc để lưu trữ hoặc truyền đi một cách an toàn Quá trình này cũng được coi như bọc gói (encapsulation) hay bỏ vào phong bì (envelop) bản tin
E(k, f) = Ek(f) = f' Người đọc hoặc người nhận được bản tin mã hoá f' phải dùng thuật toán giải mã D và cùng với khoá k để biến đổi bản tin f' thành bản tin f'' có thể đọc được Quá trình này cũng gọi là quá trình mở gói (uncover) theo nghĩa thông thường, ví dụ như người đọc nhận được thư và mở phong bì để đọc nội dung
D(k, f') = Dk(f') = f''
2.3 Mã hoá công khai
Mã hoá công khai là một dạng mật mã hoá cho phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khoá chung bí mật trước đó.Điều này được thực hiện bằng cách sử dụng một cặp mã hoá có quan hệ toán học với nhau là khoá công khai và khoá bí mật
Trang 7Hàm băm h là hàm băm một chiều (one-way hash) với các đặc tính sau:
Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất
Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’ thì h(x’)h(x) Cho dù chỉ là một sự thay đổi nhỏ hay chỉ
là xóa đi 1 bit dữ liệu của thông điệp thì giá trị băm cũng vẫn thay đổi Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng khác nhau
2.4.2 Mã hoá đối xứng
Mật mã đối xứng cũng được gọi là mật mã bí mật (private key) hay mật
mã bảo mật (secret key) Nó sử dụng một chìa khoá duy nhất để mã hoá và giải mã dữ liệu Khi một mật mã đối xứng được sử dụng cho files trên một
ổ cứng, người dùng thực hiện mã hoá với một khoá bí mật
Trang 9-9-
Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất
Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’ thì h(x’)h(x) Cho dù chỉ là một sự thay đổi nhỏ hay chỉ
là xóa đi 1 bit dữ liệu của thông điệp thì giá trị băm cũng vẫn thay đổi Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng khác nhau
2.6 Chữ ký số
Chữ ký số (Digital Signature) hay chữ ký điện tử (Electronic Signature)
là thông tin đi kèm theo dữ liệu nhằm mục đích xác nhận người chủ của dữ liệu đó
Hình 4: Sơ đồ chữ ký số
Trang 10Một sơ đồ chữ ký số là một bộ 5 (P, A, K, S, V) thỏa mãn các điều kiện sau :
SET có các thực thể chính như sau:
- Chủ thẻ(CardHolder)
- Các điểm chấp nhận thẻ (Merchant)
- Tổ chức phát hành thẻ (Issuer)
- Tổ chức chấp nhận thẻ (Acquirer)
- Cổng thanh toán (Payment Gateway)
- Cơ quan cấp phép, chứng thực giao dịch (Certificate Authority)
-
Trang 11-11-
2.8 Chữ ký kép
Chữ ký kép là một giao thức bảo mật dùng giao thức SET, một giao thức thương mại điện tử tương đối phức tạp và các chứng thực không được
phân phối rộng rãi một cách ổn định
Chữ ký kép này giúp giấu các thông tin về thẻ tín dụng của khách hàng đối với người kinh doanh và cũng giấu cả thông tin về đơn hàng đối với ngân hàng để bảo vệ sự riêng tư
Hình 5 : Mô hình chữ ký kép
Hoạt động của chữ ký kép được mô tả như sau:
Trang 12- Thông tin thanh toán (PI) và thông tin đơn hàng (OI) được đưa vào
hàm băm, kết quả thu được hai giá trị băm tương ứng là H(PI) và H(OI)
- So sánh hai giá trị băm H(PI) và H(OI), sau đó thu được kết quả là
giá trị băm H
- Khách hàng sử dụng khoá bí mật để mã hoá giá trị băm cuối cùng,
kết quả thu được chữ ký kép DS
DS=E KRc[ H (H(PI) || H(OI)) ]
Trang 13-13-
CHƯƠNG III: XÂY DỰNG LƯỢC ĐỒ
CHỮ KÝ KÉP 3.1 Tổng quan thanh toán điện tử
Khái niệm:
- Theo nghĩa rộng: Thanh toán điện tử là việc thanh toán tiền thông
qua các thông điệp điện tử thay cho việc trao tiền mặt
- Theo nghĩa hẹp: Thanh toán điện tử là việc trả tiền và nhận tiền
hàng cho các hàng hóa và dịch vụ được mua bán trên Internet
Các thành phần tham gia thanh toán điện tử
Hình 6: Các thành phần tham gia thanh toán điện tử
Trang 14Quá trình xây dựng lược đồ chữ ký kép
Bước 1: Dùng giải thuật băm để thay đổi thông tin cần truyền đi Hàm băm sử dụng là SHA-1, kết quả thu được bản mã có chiều dài 160- bit Thông tin truyền đi gồm thông tin về đơn hàng (OI) và thông tin thanh toán (PI), sử dụng hàm băm SHA-1, kết quả thu được giá trị băm có chiều dài 160- bit, lần lượt là OIMD và PIMD
Bước 2: Thông tin đầu ra ở bước 1 (OIMD và PIMD) được đưa qua
bộ (+), kết quả thu được bản tin tổng hợp
Bước 3: Bản tin tổng hợp thu được ở bước 2 lại tiếp tục được băm bằng thuật toán SHA -1, kết quả thu được bản mã POMD
Bước 4: Sử dụng khoá bí mật của khách hàng để mã hoá thông tin thu được ở bước 3 Thuật toán mã hoá sử dụng là RSA, kết quả thu được gọi là chữ ký kép
Trang 15-15-
Hình 7 : Lược đồ tạo chữ ký kép
Trang 16CHƯƠNG IV: THIẾT KẾ CHƯƠNG TRÌNH VÀ ỨNG DỤNG 4.1 Giới thiệu
Dựa trên lược đồ Chữ ký kép ở chương III, phần tiếp theo của luận văn tác giả xin trình bày về phần cài đặt lược đồ chữ ký kép này và ứng dụng trong thanh toán điện tử Chương trình minh hoạ được các vấn đề sau:
- Ứng dụng hàm băm SHA -1 để mã hoá thông tin
- Ứng dụng thuật toán mã hoá công khai RSA
- Ứng dụng mô hình lược đồ chữ ký kép cụ thể để minh hoạ cho hoạt động của chữ ký kép trong thực tế
4.2 Thiết kế
Thông tin đơn hàng
Thông tin đơn hàng bao gồm tập thông tin mô tả thuộc tính của đơn hàng như: mã sản phẩm, mã vạch sản phẩm, số Serial, màu sắc, kích thước, trọng lượng, đơn giá…Trong ứng dụng minh hoạ lược đồ chữ ký kép, thông tin sản phẩm được lựa chọn bao gồm các thông tin cơ bản nhất, chỉ mang tính chất minh hoa: Mã sản phẩm, thông tin chi tiết về sản phẩm, đơn giá sản phẩm
Trang 17-17-
Thông tin thanh toán
Thông tin liên quan đến thanh toán sản phẩm bao gồm: họ tên người thanh toán, số CMND hoặc hộ chiếu, số thẻ, ngân hàng phát hành thẻ, ngày hết hạn của thẻ, số tiền thanh toán, hình thức thanh toán … Trong ứng dụng chỉ sử dụng các thông tin thanh toán: họ tên, số CMND và số thẻ
thanh toán
Thông tin thuật toán
Thông tin thuật toán ứng dụng bao gồm: độ dài khoá, khoá công khai RSA và khoá bí mật RSA
Hình 8: Giao diện màn hình ứng dụng lược đồ chữ ký kép
Trang 18TỔNG HỢP ĐÁNH GIÁ Kết quả đạt được
Luận văn đã trình bày tổng quan về mã hóa thông tin, lý thuyết hàm băm, nguyên lý mã hóa và các thuật toán mã hóa Tác giả cũng đã tập trung trình bày việc kết hợp hàm băm và thuật toán mã hóa để xây dựng lược đồ chữ ký kép được dùng trong giao dịch điện tử bảo mật
Với mục đích của luận văn là nghiên cứu mô hình chữ ký kép và ứng dụng trong thanh toán điện tử nên tác giả đã đi sâu nghiên cứu cơ sở lý thuyết hàm băm và thuật toán mã hóa công khai Đây là hai thành phần cơ bản để xây dựng nên lược đồ chữ ký kép Việc lựa chọn hàm băm khác nhau và thuật toán mã hóa công khai khác nhau sẽ cho ra đời các mô hình chữ ký kép khác nhau có độ an toàn và bảo mật cũng khác nhau Với mục tiêu nghiên cứu tìm hiểu mô hình hoạt động của chữ ký kép, việc lựa chọn hàm băm cụ thể và thuật toán mã hóa công khai cụ thể để xây dựng chữ ký kép chỉ là sự lựa chọn mang tính lý thuyết Lĩnh vực hàm băm và thuật toán mã hóa là hai lĩnh vực rất rộng lớn, với sự tham gia đông đảo các nhà nghiên cứu, các nhà toán học, và rất nhiều cộng tác viên nghiên cứu khác
Do đó việc đánh giá hiệu quả của hàm băm hay thuật toán mã hoá là một công việc rất khó khăn Lựa chọn hàm băm SHA -1 và thuật toán mã hoá
Trang 19Luận văn cũng trình bày ứng dụng minh hoạ cho việc xây dựng lược đồ chữ ký kép dựa trên mô hình chữ ký kép
Hướng phát triển nghiên cứu
Tác giả xin đề cập một số hướng nghiên cứu trong tương lai:
- Luận văn mới đưa ra mô hình chữ ký kép dựa trên sự kết hợp giữa hàm
băm SHA -1 và thuật toán mã hoá RSA Có rất nhiều hàm băm theo chuẩn SHA, việc áp dụng hàm băm SHA -2( bao gồm các hàm băm SHA -224, SHA -256, SHA -386, SHA -512) và thuật toán RSA sẽ cho
ra đời mô hình chữ ký kép có những ưu điểm hơn và độ an toàn cao hơn
Trang 20- Có rất nhiều thuật toán mã hoá công khai và thuật toán băm, có thể lựa
chọn nhiều cặp hàm băm - thuật toán mã hoá công khai khác mà không nhất thiết phải lựa chọn cặp hàm băm - thuật toán mã hoá SHA1- RSA
- Nghiên cứu mô hình chữ ký kép tối ưu dựa trên sự đánh giá và lựa chọn
tối ưu giữa hàm băm và thuật toán mã hoá công khai
- Nghiên cứu áp dụng mô hình chữ ký kép trong thanh toán điện tử, đặc
biệt là các giao dịch thanh toán điện tử bằng thẻ tín dụng
- Nghiên cứu chữ ký điện tử trong các giao dịch bảo mật – giao thức bảo
mật SET
- Nghiên cứu xây dựng lược đồ chữ ký kép dựa trên kỹ thuật hàm băm
SHA và kỹ thuật mã hoá dựa trên hệ mật mã hoá đường cong Elliptic
Trang 21-21-
TÀI LIỆU THAM KHẢO Tiếng Việt
[ 1 ] Dương Anh Đức, Trần Minh Triết, Mã hóa và ứng dụng, Đại học
Khoa học Tự nhiên, Đại học Quốc gia TP Hồ Chí Minh, 2005
[ 2 ] Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, Đại học
Quốc gia Hà Nội, 1999
Tiếng Anh
[ 3 ] R.L Rivest, A Shamir, and L Adleman, A Method for Obtaining
Digital Signatures and Public-Key Cryptosystems, Communications of the ACM, 21 (2), pp 120-126, Feb 1978
[ 4 ] William Stallings, Cryptography and Network Security : Principles
and Practice, Fourth Edition, Prentice Hall, 2006
[ 5 ] Alfred J Menezes, Paul C Van Oorschot, Scott A Vanstone,
Handbook of Applied Cryptography, CRC Press, 1997
Website
[ 6 ] http://www.rsa.com
[ 7 ] http://www.rsa.com/rsalabs/node.asp?id=2125
[ 8 ] http://people.csail.mit.edu/rivest/crypto-security.html