Tải bản đầy đủ (.pdf) (22 trang)

Xây dựng chữ ký kép ứng dụng trong thanh toán điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (401.77 KB, 22 trang )

-1-

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG





NGUYỄN TRỌNG HUYÊN



XÂY DỰNG CHỮ KÝ KÉP ỨNG DỤNG
TRONG THANH TOÁN ĐIỆN TỬ


CHUYÊ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

Người hướng dẫn khoa học: GS.TS NGUYỄN BÌNH





Hà Nội – 2010



-2-


CHƯƠ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ữ
-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.
-4-

Chươ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.















-5-
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
2.1 Nguyên lý mã hoá
Mã hóa dữ liệu là sử dụng một phương pháp biến đổi dữ liệu từ dạng
bình thường sang một dạng khác, mà một người không có thẩm quyền,
không có phương tiện giải mã thì không thể đọc hiểu được.
Giả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
được phép.
- Tính toàn vẹn (integrity): thông tin không thể bị thay đổi mà không
bị phát hiện.
- Tính xác thực (authentication): người gửi (hoặc người nhận) có thể
chứng minh đúng họ.
-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) = E
k
(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') = D
k
(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.
-7-

2.4 Các thuật toán mã hoá
2.4.1 Hàm băm
Hàm băm là hàm một chiều mà nếu đưa một lượng dữ liệu bất kỳ qua
hàm này sẽ cho ra một chuỗi có độ dài bất kỳ ở đầu ra.Giá trị của hàm băm
là duy nhất, và không thể suy ngược lại được nội dung thông điệp từ giá
trị băm này.

Hà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.
-8-

Hình 2: Hệ thống mã hoá đối xứng

2.4.3 Mã hoá bất đối xứng
Mật mã bất đối xứng hay còn gọi là mã hoá sử dụng khoá công khai
(public key). Nó sử dụng một cặp khoá đó là khoá công khai (public key)
và khoá bí mật (private key). Trong mỗi quá trình truyền thong tin sử dụng
mật mã bất đối xứng chúng cần một cặp khoá duy nhất.

Hình 3: Hệ thống mã hoá bất đối xứng

2.5 Lý thuyết hàm băm
Hàm băm : là hàm một chiều mà nếu đưa một lượng dữ liệu bất kỳ qua
hàm này sẽ cho ra một chuỗi có độ dài bất kỳ ở đầu ra.Giá trị của hàm băm
là duy nhất, và không thể suy ngược lại được nội dung thông điệp từ giá
trị băm này.

Hàm băm h là hàm băm một chiều (one-way hash) với các đặc tính sau:
-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ố

-10-
Mộ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 :
- P là một tập hợp các bản rõ có thể.
- A là tập hữu hạn các chữ ký có thể.
- K là tập hữu hạn các khoá có thể.
- S là tập hợp các thuật toán ký.
- V là tập các thuật toán xác minh.

2.7 Giao thức SET
Giao thức SET được thiết kế nguyên thuỷ bởi Visa và MasterCard vào
năm 1997 và được phát triển lên từ đó.Giao thức SET đáp ứng được 4 yêu

cầu về bảo mật trong TMĐT giống như SSL: sự xác thực, mã hoá, tính
chân thực, và không thoái thác.
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)
-
-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:
-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
KR
c
[ H (H(PI) || H(OI)) ]


-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ử


-14-
 Các tổ chức tín dụng
 Tổ chức thứ ba
 Môi trường thanh toán
 Người bán
 Người mua

3.2 Mô hình chữ ký kép

Quá 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.
-15-



Hình 7 : Lược đồ tạo chữ ký kép
-16-

CHƯƠ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.


-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
-18-
TỔ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á
-19-
công khai RSA để xây dựng chữ ký kép chỉ là lựa chọn cảm tính, trên quan
điểm nhìn nhận và đánh giá chủ quan của tác giả.

Luận văn cũng đã giới thiệu một mô hình chữ ký kép cụ thể dựa trên
việc áp dụng thuật toán băm theo chuẩn SHA và thuật toán mã hoá công
khai RSA. Mô hình này sẽ cung cấp cái nhìn tổng quan về hoạt động của

chữ ký kép và ứng dụng trong thực tế phát sinh. Hiệu quả mô hình chữ ký
kép này, cần phải được đánh giá trong thực tiễn, thông qua cở sở lý thuyết
toán học và các ứng dụng kiểm thử trong thực tế.
Luậ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.
-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.
-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 ]
[ 7 ]
[ 8 ]

-22-


×