Tải bản đầy đủ (.docx) (20 trang)

Tìm hiểu SSL trong TMĐ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 (353.45 KB, 20 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KĨ THUẬT MẬT MÃ

BÁO CÁO BÀI TẬP LỚN
MƠN AN TỒN INTERNET & THƯƠNG MẠI ĐIỆN TỬ
ĐỀ TÀI
TÌM HIỂU VỀ GIAO THỨC SSL TRONG THƯƠNG MẠI ĐIỆN TỬ

Giảng viên hướng dẫn:
Lớp:
Nhóm sinh viên thực hiện:

Bùi Việt Thắng
L02
Phạm Văn Được
Mã Văn Hùng
Trần Hồng Quân
Nguyễn Hoàng Tuấn

Hà Nội, 2021

1


Mục Lục

2


Danh mục các hình vẽ
Danh mục các từ viết tắt


SSL: Secure Socket Layer.
TCP: Transmission Control Protocol.
HTTP: Hypertext Transfer Protocol.
SMTP: Simple Mail Transfer Protocol.
TLS: Transport Layer Security.
CA: Certificate authority.
PCT: Private Communication Technology
VPN: Virtual Private Network.
DES: Data Encryption Standard.
MAC: Medium access control.

3


Chương 1. Tổng quan về SSL
1.1 Tìm hiểu về SSL
SSL (Secure Socket Layer) là giao thức để cung cấp dịch vụ bảo mật cho lưu
lượng dữ liệu trên kênh truyền, nó sử dụng tổ hợp nhiều giải thuật nhằm mã hóa để
đảm bảo q trình trao đổi thơng tin trên mạng được bảo mật. Việc mã hóa dữ liệu
diễn ra một cách trong suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức
TCP.
Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua
rất nhiều các hệ thống độc lập mà khơng có bất kỳ sự bảo vệ nào với các thông tin
trên đường truyền. Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự
kiểm sốt nào đối với đường đi của dữ liệu hay có thể kiểm sốt được liệu có ai đó
thâm nhập vào thơng tin trên đường truyền. Để bảo vệ những thông tin mật trên
mạng Internet hay bất kỳ mạng TCP/IP nào, SSL đã kết hợp những yếu tố sau để
thiết lập được một giao dịch an tồn:
- Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của
kết nối. Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực

của người sử dụng.
- Mã hố: đảm bảo thơng tin khơng thể bị truy cập bởi đối tượng thứ ba. Để
loại trừ việc nghe trộm những thơng tin “nhạy cảm” khi nó được truyền qua
Internet, dữ liệu phải được mã hố để khơng thể bị đọc được bởi những
người khác ngoài người gửi và người nhận.
- Tồn vẹn dữ liệu: đảm bảo thơng tin khơng bị sai lệch và nó phải thể hiện
chính xác thông tin gốc gửi đến.
Với việc sử dụng SSL, các Web site có thể cung cấp khả năng bảo mật thơng tin,
xác thực và tồn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các
browser và Web server, cho phép người sử dụng làm việc với các trang Web ở chế
độ an toàn. Khi Web browser sử dụng kết nối SSL tới server, biểu tượng ổ khóa sẽ
xuất hiện trên thanh trạng thái của cửa sổ browser và dòng “http” trong hộp nhập
địa chỉ URL sẽ đổi thành “https”. Một phiên giao dịch HTTPS sử dụng cổng 443
thay vì sử dụng cổng 80 như dùng cho HTTP.
SSL được sử dụng phổ biến nhất trên Web, Mail, Ftp.
Giao thức SSL được phát triển bởi Netscape, ngày nay giao thức SSL được sử
dụng rộng rãi trên World Wide Web trong việc xác thực và mã hóa thơng tin giữa
client và sever. Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hóa SSL
và đặt lại là TLS (Transport Layer Security). Mặc dù là ó sự thay đổi về tên nhưng
TLS chỉ là một phiên bản mới của SSL. Phiên bản TLS 1.0 tương đương với phiên
bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng phổ biến hơn.
SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ
cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các
giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol),
IMAP ( Internet Messaging Access Protocol) và FTP (File Transport Protocol).
4


SSL được sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác
nhau trên Internet và đang được sử dụng chính cho các giao dịch trên Internet.

SSL không phải là một giao thức đơn lẻ mà là một tập các thủ tục đã được
chuẩn hóa để thực hiện các nhiệm vụ bảo mật sau.
- Xác thực Server: Cho phép người sử dụng xác thực được server muốn kết
nối. Lúc này, phía browser sử dụng các kỹ thuật mã hóa cơng khai để chắc
chắn rằng certificate và public ID của server là có giá trị và được cấp phát
bởi một CA (Certificate Authority) trong danh sách các CA đáng tin cậy của
Client. Điều này rất quan trọng đối với người dùng.
- Xác thực Client: Cho phép phía server xác thực được người sử dụng muốn
kết nối. Phía server cũng sử dụng các kĩ thuật mã hóa công khai để kiểm tra
xem Certificate và Public ID của server có giá tị hay khơng và được cấp phát
bởi một CA trong danh sách các CA đáng tin cậy của server không. Điều này
rất quan trọng đối với các nhà cung cấp.
- Mã hóa kết nối: Tất cả các thơng tin trao đổi giữa client và server được mã
hóa trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan
trọng đối với cả 2 bên khi có giao dịch mang tính riêng tư. Ngồi ra tất cả
các dữ liệu được gửi đi trên một kết nối SSL đã được mã hóa cịn được bảo
vệ nhờ cơ chế tự động phát hiện các xáo trộn, thay đổi trong dữ liệu.
Cho đến nay, đã cõ 3 phiên bản của SSL:
- SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications. Nó chứa
một số khiếm khuyết nghiêm trọng và khơng bao giờ được tung ra bên
ngồi.
- SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x. Nó có
một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối
tượng trung gian. Trong một nỗ lực nhằm dùng sự không chắc chắn của công
chúng về bảo mật của SSL, Microsoft cũng đã giới thiệu giao thức PCT
(Private Communication Technology) cạnh tranh trong lần tung ra Internet
Explorer đầu tiên của nó vào năm 1996.
- SLL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của
Microsoft bằng cách giới thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL
2.0 và thêm một số tính năng mới. Vào thời điểm này, Microsoft nhượng bộ

và đồng ý hỗ trợ SSL trong tất cả các phiên bản phần mềm dựa vào TCP/IP
của nó (mặc dù phiên bản riêng của nó vẫn hỗ trợ PCT cho sự tương thích
ngược).
1.2 Lợi ích khi sử dụng giao thức SSL
- Xác thực website thiết lập kết nối an tồn các phiên giao dịch trên Internet.
- Nâng cao hình ảnh, thương hiệu và uy tín doanh nghiệp vì sự bảo mật và an
toàn.
- Bảo mật các giao dịch giữa khách hàng và doanh nghiệp, các dịch vụ truy
nhập hệ thống
5


- Bảo mật webmail và các ứng dụng như Outlook Web Access, Exchange, và
Office Communication Server.
- Bảo mật các ứng dụng ảo hóa như Citrix Delivery Platform hoặc các ứng
dụng điện toán đám mây.
- Bảo mật dịch vụ FTP.
- Bảo mật truy cập control panel.
- Bảo mật các dịch vụ truyền dữ liệu trong mạng nội bộ, file sharing, extranet.
- Bảo mật VPN Access Servers, Citrix Access Gateway …
Website không được xác thực và bảo mật sẽ luôn ẩn chứa nguy cơ bị xâm
nhập dữ liệu, dẫn đến hậu quả khách hàng không tin tưởng sử dụng dịch vụ.
Chương 2: Cấu trúc và cơ chế hoạt động của giao thức SSL
2.1 Cấu trúc của SSL
SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức con sau:
- Giao thức SSL Handshake
- Giao thức SSL Change Cipher Spec
- Giao thức SSL Alert
- SSL Record Layer
Bốn giao thức con này được phân làm 2 phần chính là:

- Handshake protocols layer.
- SSL record layer.
Vị trí của các giao thức trên, tương ứng với mơ hình TCP/IP được minh hoạ
theo hình sau:

Hình 2.1: Giao thức SSL trong mơ hình TCP/IP
Theo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCP/IP. Do
đặc điểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCP/IP
6


mà không cần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCP/IP. Điều này
mang lại cho SSL sự cải tiến mạnh mẽ so với các giao thức khác như IPSec (IP
Security Protocol). Vì giao thức này địi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh
sửa ngăn xếp TCP/IP.
2.2 Các giao thức con trong giao thức SSL

Hình 2.2: Các giao thức con trong giao thức SSL.
Thực tế giao thức SSL không phải là một giao thức đơn mà là một bộ các giao
thức.
2.2.1 Handshake Protocol
Handshake protocol là bộ giao thức SSL phức tạp nhất. giao thức này chịu
trách nhiệm thiết lập hoặc phục hồi lại các phiên làm việc an tồn chính vì vậy giao
thức này có các chức năng chính sau:
- Authentication (thẩm định): Xác nhận server cho các client, các tùy chọn, xác
thực các client thông qua các giấy chứng nhận(certificates) bằng các public
và private keys.
- Giấy chứng nhận là một hình thức nhận dạng bằng kỹ thuật số được ban
hành bởi một tổ chức có thẩm quyền cấp giấy chứng nhận (CA), nó chứa các thơng
tin nhận diện, thời gian hiệu lực, một khóa công khai, một serial, và chữ ký kĩ thuật

của nhà phát hành.

Hình 2.3: Server và client đăng ký giấy chứng nhận từ CA
- Với mục đích xác thực, Handshake protocols sử dụng giấy chứng nhận
X.509 để xác minh danh tính của các bên nắm giữ giấy chứng nhận, đồng thời
Handshake protocols sử dụng X.509 để thực hiện các việc sau:
7


+ Tham gia vào quá trình băm dữ liệu.trong quá trình này thì private key do
CA cung cấp sẽ được các thuật tốn băm sử dụng vào q trình tạo ra giá trị
băm (MAC).
+ Thiết lập độ dài của key 512 bit, 1024 bit hoặc hơn. Độ dài của key sẽ tác
động đến sự mã hóa dữ liệu, khi key có độ dài lớn thì việc mã hóa dữ liệu sẽ
lâu hơn nhưng bù là nó sẽ đảm bảo về khả năng bảo mật của dữ liệu và
ngược lại. Các thuật tốn mã hóa của RSA hoặc DSA thường sử dụng key
512 bit, 1024 bit hoặc 2018 bit.

Hình 2.4: Quá trình tạo giấy chứng chỉ (X.509) .
- CA (Certificate authority) là một bên thứ ba đáng tin cậy. CA có thể xác
nhận danh tính của bên yêu cầu cấp giấy chứng nhận (thường là một user hoặc máy
tính), và sau đó cấp giấy chứng nhận, public keys cho bên yêu cầu, CA cũng gia
hạn, thu hồi giấy chứng nhận khi cần thiết. Hiện nay có nhiều tổ chức cung cấp
giấy chứng nhận như là:
- StartCom,Cacert.. các tổ chức này chuyên cung cấp các giấy chứng nhận
miễn phí.
- Đối với Verisign,Comodo,DigiCert,Entrust,GlobalSign… thì thu phí.
- Chức năng xác thực sẽ thực hiện 2 phần chính đó là:
+ Xác thực Server: Cho phép người sử dụng xác thực được server muốn kết
nối. Lúc này phía client sẽ sử dụng các thuật tốn cơng khai để chắc rằng

giấy chứng nhận(certificate) và public ID của server là có giá trị và được
cấp phát bởi một CA trong danh sách các CA đáng tin cậy của Client. Điều
này rất quan trọng đối với người sử dụng. Ví dụ như gửi mã số credit card
qua mạng thì người dùng thực sự muốn kiểm tra server nhận thông tin này
có đúng là server mà họ định gửi đến hay không.

8


Hình 2.5: Client xác thực Server
+ Xác thực client: Cho phép phía server xác thực được người dùng muốn kết
nối. Phía server cũng sử dụng các kỹ thuật mã hóa công khai để kiểm tra
xem Certificate và public ID của server có giá trị hay khơng và được cấp
phát bởi một CA đáng tin cậy của server không. Điều này rất quan trọng
đối với nhà cung cấp. Ví dụ như một ngân hàng định gửi các thơng tin tài
chính mang tính bảo mật tới một khách hàng thì họ rất muốn kiểm tra định
danh của người nhận.

Hình 2.6: Server xác thực Client
9


- Trong một kết nối logic được thiết lập giữa client và server và ngược lại thì
các tham số sau sẽ được thỏa thuận.
+ Version: phiên bản SSL mà hai bên server và client đang dùng.
+ Random: dữ liệu chứa một tem thời gian 32 bít và một số ngẫu nhiên dài 28
byte.
+ Session ID: Định danh cho phiên làm việc của server và client.
+ Peer certificate: chứng nhận X.509
+ CipherSuite: danh sách các thuật toán mã hoá và phương pháp trao đổi khố

mà phía client hỗ trợ.
+ Premaster secret:Được tạo ra từ Cirtificate a Premaster Secret, và được mã
hóa bằng public key (trong cirtificate).Nó được dùng để tạo ra Master
Secret, master secret được dùng để tạo ra các session key mã hóa dữ liệu
trong một phiên làm việc của server và client.
+ Server public key: key công khai của server, client dùng key này để mã hóa
MAC của client, server sẽ dùng private key của nó để giải mã nhằm xác thực
dữ liệu đến.
+ Server private key: như đã nói ở trên key này dùng để giải mã MAC.
+ Client public key: : key công khai của client, server dùng key này để mã hóa
MAC của server, client sẽ dùng private key của nó để giải mã nhằm xác thực
dữ liệu đến.
+ Client private key: dùng để giải mã dữ liệu MAC để xác thực thông tin của
server.
+ Server write key: là session key của server dùng để mã hóa dữ liệu, client sẽ
dùng key này để giải mã dữ liệu mà client gửi tới
+ Server write key: là session key của server dùng để mã hóa dữ liệu, client sẽ
dùng key này để giải mã dữ liệu.
+ Sequence number (số thứ tự): server và client quản lý một cách riêng rẽ, các
số thứ tự này để đánh số các thông điệp gửi và nhận cho mỗi kết nối.
2.2.2 Change CipherSpec Protocol
Đây là giao thức SSL đơn giản nhất. Nó chỉ chứa một thơng điệp mang giá trị
1. Mục đích duy nhất của thơng điệp này là làm chuyển trạng thái của một phiên từ
“đang chờ” (pending) sang “bền vững” (fixed). Ví dụ khi 2 bên qui ước bộ giao
thức nào sẽ sử dụng. Cả client và server đều phải gửi thông điệp loại này cho bên
đối tác, sau khi đã trao đổi xong thì coi như hai bên đã đồng ý với nhau.
2.2.3 Alert Protocol
Alert Protocol được các bên sử dụng để mang các thông điệp của phiên liên
quan tới việc trao đổi dữ liệu và hoạt động của các giao thức. Mỗi thông điệp của
giao thức này gồm 2 byte. Byte thứ nhất chứa một trong hai giá trị là warning (1)

và fatal (2) xác định tính nghiêm trọng của thông điệp. Khi một trong 2 bên gửi
thơng điệp có giá trị bít đầu tiên là fatal (2) thì phiên làm việc giữa 2 bên sẽ kết
10


thúc ngay lập tức. Byte tiếp theo của thông điệp chứa mã lỗi xảy ra trong phiên
giao dịch SSL.
2.2.4 SSL Record Protocol
SSL Record Protocol sử dụng để trao đổi tất cả các kiểu dữ liệu trong một
phiên bao gồm các thông điệp, dữ liệu của các giao thức SSL khác và dữ liệu của
ứng dụng.
SSL Record Protocol liên quan đến việc bảo mật và đảm bảo toàn vẹn dữ liệu.
Mục đích của SSL Record Protocol là thu nhận những thơng điệp mà ứng dụng
chuẩn bị gửi, phân mảnh dữ liệu cần truyền, đóng gói, bổ sung header tạo thành
một đối tượng gọi là bản ghi (record), bản ghi đó được mã hố và có thể truyền
bằng giao thức TCP.
Trong mơ tả của RFC 2246 thì Record Layer có 4 chức năng sau:
 Tập hợp những mảng dữ liệu từ ứng dụng thành các khối để quản lý (và tập
hợp lại các dữ liệu đến chuyển đến lớp ứng dụng).
 Nén và giải nén dữ liệu chuyển đến.
 Sử dụng Message Authentication Code (MAC) để xác minh dữ liệu đến.
 Mã hoá dữ liệu băm và giải mã dữ liệu đến.
2.3 Các thuật tốn mã hóa
Tất cả các thơng tin trao đổi giữa client và server sẽ được mã hóa trên đường
truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai
bên khi có giao dịch mang tính riêng tư. Ngồi ra, tất cả các dữ liệu được gửi đi
trên một kết nối SSL đã được mã hố cịn được bảo vệ nhờ cơ chế tự động phát
hiện các xáo trộn, thay đổi trong dữ liệu.( đó là các thuật tốn băm- hash
algorithm).
SSL hỗ trợ nhiều thuật toán mã hoá. Các thuật toán mã hoá (cryptographic

algorithm hay cịn gọi là cipher) là các hàm tốn học được sử dụng để mã hố
thơng tin. SSL áp dụng các thuật toán này để thực hiện chứng thực server và
client, truyền tải các certifitaces và thiết lập các khoá của từng phiên giao dịch
(sesion key). Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau
tuỳ thuộc vào nhiều yếu tố như phiên bản SSL đang dùng, chính sách của các tổ
chức về độ dài khố mà họ cảm thấy an tồn, điều này liên quan đến mức độ bảo
mật của thông tin...
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm nhiều loại
tuỳ theo phiên bản SSL hỗ trợ nhưng chung quy chúng thuộc 2 kiểu mã hoá:
2.3.1 Kiểu mã hóa đối xứng
Phương pháp mã hố đối xứng là phương pháp dùng khoá riêng, nghĩa là cả
bên gửi và bên nhận phải biết cùng một khóa. Vấn đề chính trong phương pháp này
là bên gửi và bên nhận phải trao đổi khóa một cách an tồn.
Ví dụ: Khi người dùng A có thơng tin quan trọng muốn gửi cho người dùng B
có nội dung là “tài khoản ngân hàng là son 15345” chẳng hạn và A muốn mã hoá
11


dữ liệu trước khi gửi cho B, thì A sẽ sử dụng khố ví dụ là “key 1” chẳng hạn và
tiến hành mã hố nó thành chuỗi “jgsdfsljfdfjdeue”.
Khi đó B nhận được thông tin từ A gửi cho và dùng chính khố là “key 1” để
giải mã thơng tin mã hố đó thành dữ liệu có ý nghĩa mà A đã gửi cho.

Hình 2.7: Qúa trình sử dụng key đối xứng.
Các thuật tốn thường sử dụng của kiểu mã hóa đối xứng :
- DES - Data Encryption Standard : DES là kỹ thuật bảo mật khóa riêng dùng
thuật tốn để mã hóa theo từng khối 64-bit với khóa 56-bit. Thuật tốn nầy
được giải thích trong mục “Cryptography”. Khóa 56-bit cho phép khoảng
một triệu mũ 4 tổ hợp khác nhau. Ngoài ra, mỗi khối trong dịng dữ liệu
được mã hóa bằng các biến dạng khóa khác nhau, làm khó phát hiện sơ đồ

mã hóa trong các thơng điệp dài.
- DES có 3 giai đoạn:

Hình 2.8: Các giai đoạn của DES.

12


+ Giai đoạn 1: Hoán vị 64 bit trong một khối
+ Giai đoạn 2: ứng dụng đưa ra thao tác 16 vịng trong 64 bit
+ Giai đoạn 3 : Hốn vị 64 bit sử dụng nghịch đảo của hoán vị gốc.
- Triple-DES là thuật toán mã hoá DES ba lần.
- SKIPJACK là thuật toán khoá đối xứng phân loại được thực hiện trong phần
cứng Fortezza, sử dụng bởi chính phủ Mỹ
2.3.2 Kiểu mã hóa bất đối xứng
Theo phương pháp này thì , mỗi người có một cặp khóa, một khóa bí mật và
một khóa cơng khai. Bên gởi mã hóa thơng điệp bằng khóa cơng khai của bên nhận
và thơng điệp nầy chỉ được giải mã bởi khóa bí mật của bên nhận. Như vậy vấn đề
trao đổi khóa được giải quyết vì các khóa được thơng báo cơng khai.
Thuật tốn mã hóa bất đối xứng.
- Người ta chứng minh rằng luôn tồn tại 2 số P, Q với P# :
+ Lấy hai số, p và q, nhân chúng n = pq; n được gọi là môđun.
+ Chọn một số e nhỏ hơn n, e và (p-1)(q-1) khơng có ước số cơng cộng nào
khác ngồi 1.
+ Tìm một số khác d, mà (ed-1) là ước số của (p-1)(q-1). Giá trị e và d được gọi
là số mũ chung và số mũ riêng. d = e-1 mod ((p-1)*(q-1)).
+ Khóa cơng cộng là cặp (n,e).
+ Khóa riêng là (n,d).
+ Mã hố c=me mod n.
+ Giả mã m=cd mod n.

- Ví dụ :
+ Chọn p=7 và q=11, n=7*11=77
+ (p-1)*(q-1)= 6*10=60, e=13
+ d =13-1 mod 60 ->13*d mod 60 = 1 mod 60, d = 37
Giả sử số gửi vào m = 7 hế thống mã hoá thành : c = 713
mod 77 =35 giải mã m= 3537 mod 77 =7
Minh họa: Khi mã hoá dữ liệu với P người ta đem kết quả thu được giải mã
với Q sẽ thu được dữ liệu ban đầu và ngược lại.

Hình 2.9: Quá trình sử dụng key bất đối xứng.
Với quy trình này thì mỗi người dùng sử dụng cơng nghệ mã hố chỉ cần 2
khố mà thôi. Ở đây người dùng A sẽ sử dụng cơng nghệ mã hố nên A sẽ có:
13


- Khoá P(A) gọi là public key khoá này là cơng khai và mọi người dùng khác
đều biết và có thể sử dụng khoá này.
- Khoá Q(A) gọi là private key khố này là khố bí mật chỉ có A mới biết.
- Tương tự đối với B.
Vì vậy khi A gửi gói tin Data tới B nó sẽ sử dụng P(B) của B để mã hoá và
cho ra kết quả Data’.
Khi B thu được ‘Data’ nó dùng private key của mình (Q(B)) để giải mã dữ
liệu và thu được Data ban đầu.

Hình 2.10: Quá trình sử dụng key bất đối xứng giữa người dùng A và B
- Các thuật toán thường sử dụng trong kiểu mã hóa bất đối xứng :
+ SHA-1 - thuật tốn hàm băm an tồn, phát triển và sử dụng bởi chính phủ
Mỹ.
+ RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán
RSA.

+ MD5 - thuật toán tạo giá trị “băm” (message digest), phát minh bởi Rivest.
+ RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật tốn
RSA.
SSL sử dụng kết hợp 2 loại mã hóa đối xứng và khơng đối xứng, mã hóa đối
xứng dùng để mã hóa số lượng lớn dữ liệu truyền đi vì nhanh hơn trong khi đó mã
hóa khơng đối xứng dùng để chứng thực và trao đổi khóa.
2.3.3 Hash Algorithms (Băm dữ liệu)
Thuật toán băm là một thuật ngữ bảo mật dùng để chỉ khả năng tóm tắt bất cứ
dữ liệu nào thành một chuỗi các ký tự có độ dài cố định.Chuỗi kết quả này gọi là
thơng diệp tóm lược(message digest) hay là vân tay số(digital fingerprint) , vì vậy
kích thước của kết quả sau khi băm sẽ nhỏ hơn dữ liệu ban đầu.
Hash(băm) tương tự như dấu vân tay, một dấu vân tay là duy nhất của một cá
nhân, và tất nhiên là nhỏ hơn 1 con người.
Hashing được sử dụng để xác thực và thiết lập toàn vẹn dữ liệu trong q trình
truyền dữ liệu. Hai thuật tốn băm phổ biến là Message Digest 5(MD5) và thuật
toán hash tiêu chuẩn 1(SHA-1). MD5 tạo ra một giá trị băm 128- bit và SHA-1 tạo
ra một giá trị 160-bit.

14


2.4 Cơ chế hoạt động của giao thức SSL

15


Hình 2.11: Cơ chế hoạt động của SSL.
Giao thức SSL sử dụng kết hợp 2 loại mã hóa đối xứng và cơng khai. Sử dụng
mã hóa đối xứng nhanh hơn rất nhiều so với mã hóa cơng khai khi truyền dữ liệu,
nhưng mã hóa cơng khai lại là giải pháp tốt nhất trong quá trình xác thực. Một

phiên làm việc của SSL thường bắt đầu bởi quá trình “bắt tay” giữa hai bên (SSl
handshake. Các bước trong quá trình “bắt tay” được tóm tắc như sau:
- B1:Client sẽ gửi cho server số phiên bản SSL đang dùng, các tham số của
thuật toán mã hoá, dữ liệu ra ngẫu được tạo nhiên (đó chính là digital
signature) và một số thơng tin khác mà server cần để thiết lập kết nối với
client.
- B2: Server gửi cho client số phiên bản SSL đang dùng, các tham số của
thuật toán mã hoá, dữ liệu được tạo ra ngẫu nhiên và một số thông tin khác
mà client cần để thiết lập kết nối với server. Ngồi ra server cũng gửi
certificate của nó đến client, và yêu cầu certificate của client nếu cần..
- B3: Client sử dụng một số thông tin mà server gửi đến để xác thực server.
Nếu như server khơng được xác thực thì người sử dụng sẽ được cảnh báo và
kết nối không được thiết lập. Còn nếu như xác thực được server thì phía
client sẽ thực hiện tiếp bước 4.
- B4: Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên,
client (cùng với sự cộng tác của server và phụ thuộc vào thuật toán được sử
16


-

-

-

dụng) sẽ tạo ra premaster secret cho phiên làm việc, mã hố bằng khố cơng
khai (public key) mà server gửi đến trong certificate ở bước 2, và gửi đến
server.
B5: Nếu server có u cầu xác thực client, thì phía client sẽ đánh dấu vào
phần thông tin riêng chỉ liên quan đến quá trình “bắt tay” này mà hai bên

đều biết. Trong trường hợp này, client sẽ gửi cả thông tin được đánh dấu và
certificate của mình cùng với premaster secret đã được mã hoá tới server.
B6: Server sẽ xác thực client. Trường hợp client không được xác thực, phiên
làm việc sẽ bị ngắt. Còn nếu client được xác thực thành cơng, server sẽ sử
dụng khố bí mật (private key) để giải mã premaster secret, sau đó thực hiện
một số bước để tạo ra master secret.
B7: Client và server sẽ sử dụng master secret để tạo ra các session key, đó
chính là các khoá đối xứng được sử dụng để mã hố và giải mã các thơng tin
trong phiên làm việc và kiểm tra tính tồn vẹn dữ liệu.
B8: Client sẽ gửi một lời nhắn đến server thông báo rằng các message tiếp
theo sẽ được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được
mã hố để thơng báo rằng phía client đã kết thúc giai đoạn “bắt tay”.
B9: Server cũng gửi một lời nhắn đến client thơng báo rằng các message tiếp
theo sẽ được mã hố bằng session key. Sau đó nó gửi một lời nhắn đã được
mã hố để thơng báo rằng server đã kết thúc giai đoạn “bắt tay”.
B10: Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL bắt
đầu. Cả hai phía client và server sẽ sử dụng các session key để mã hố, giải
mã thơng tin trao đổi giữa hai bên và kiểm tra tính tồn vẹn dữ liệu.

Chương 3. Ứng Dụng SSL Trong Hệ Thống Thanh Toán 3-D Secure
3.1. Ưu, nhược điểm của SSL trong thương mại điện tử
- Ưu điểm:
+ Dễ sử dụng cho người dùng cuối thương mại điện tử. Chủ thẻ có thể sử dụng SSL
hồn tồn minh bạch vì nó đã được tích hợp sẵn trong các trình duyệt web được
sử dụng phổ biến và người bán cũng có thể triển khai SSL mà khơng cần thay đổi
mơ hình thanh tốn của họ theo bất kỳ cách nào.
+ Hệ thống không phức tạp, dẫn đến tác động tối thiểu đến tốc độ giao dịch.
- Nhược điểm:
+ Người bán không thể xác định được chủ thẻ một cách đáng tin cậy. Trong trường
hợp người tiêu dùng sử dụng thẻ tín dụng khơng thanh tốn để thực hiện các giao

dịch thương mại điện tử, người bán phải chịu trách nhiệm hồn trả các khoản phí
giao dịch 'thẻ khơng có mặt' (Caunter, 2001; Treese và Stewart, 1998).
+ Vì SSL chỉ bảo vệ liên kết giao tiếp giữa người tiêu dùng và người bán, nó khơng
có tác dụng gì để bảo vệ thơng tin nhạy cảm của chủ thẻ trong khi nó được lưu trữ
tại máy chủ người bán. Do đó, người bán cần thực hiện các biện pháp bảo mật bổ
sung để bảo vệ tính bí mật của thông tin này.
+ Thương mại điện tử dựa trên SSL cho phép người bán xem thông tin thanh tốn
của người tiêu dùng, có thể gây lo ngại về bảo mật cho chủ thẻ.
17


3.2. Kiến trúc hệ thống thanh toán điện tử 3-D
Những người tham gia
Trong hệ thống thanh toán điện tử (Hassler, 2001), có bốn loại người tham
gia chính, đó là người tiêu dùng, người bán, người phát hành và người mua. Các
vai trò này cũng được yêu cầu trong hệ thống thanh tốn dựa trên 3D. Ngồi ra,
cần phải có cổng thanh toán, một tổ chức chịu trách nhiệm cung cấp quyền truy
cập vào các chức năng ủy quyền thanh toán và để nắm bắt thơng tin thanh tốn
trong trao đổi tài chính trực tuyến.
Vai trị của những người tham gia:
- Người tiêu dùng (C) - Tổ chức mua sản phẩm hoặc dịch vụ từ chúng qua Internet.
- Người bán (M) - Tổ chức bán sản phẩm hoặc dịch vụ cho người tiêu dùng qua
Internet.
- Người phát hành (I) - Tổ chức phát hành thẻ tín dụng cho người tiêu dùng và
cũng phản hồi yêu cầu thanh toán trực tiếp từ người mua thơng qua cổng thanh
tốn.
- Người mua (A) - Tổ chức chuyển tiếp yêu cầu thanh toán từ người bán đến nhà
phát hành thơng qua cổng thanh tốn.
3.3 Three Domain Secure (3-D Secure)
Hệ thống thanh toán 3-D Secure là sự tích hợp của SSL với mơ hình 3D. Như đã

đề cập ở trên, khi được sử dụng đơn giản để bảo vệ liên kết chủ thẻ-người bán,
SSL/TLS không cung cấp xác minh chủ thẻ, điều này có thể dẫn đến gian lận thẻ tín
dụng ở phía người tiêu dùng. Tích hợp kiến trúc 3D với SSL có thể giúp giải quyết vấn
đề này. 3-D Secure, ban đầu được gọi là 3D SSL, được phát triển bởi Visa.
Trong 3-D Secure, cổng thanh toán cung cấp giao diện giữa hệ thống thanh toán
của người bán/người mua và mạng thanh toán độc quyền của Visa VisaNet, phải được
triển khai trong miền của người mua (Visa 3-D Secure, 2002b). Người bán chịu trách
nhiệm cài đặt Trình cắm SSL Merchant (MPI) tại máy chủ của họ, như thường lệ nếu họ
muốn triển khai SSL để bảo vệ thông tin liên lạc giữa người tiêu dùng và người bán. Đối
với Bảo mật 3-D, Bộ KH & ĐT này bắt buộc phải có các chức năng bổ sung để xử lý
thông tin liên lạc với thư mục Visa tập trung (GPayments (2001; Gpayments, 2002).
Trong miền Nhà phát hành, mỗi công ty phát hành thẻ được yêu cầu duy trì một
máy chủ đặc biệt được gọi là Máy chủ AccessControl (ACS). ACS được sử dụng để hỗ
trợ xác thực chủ thẻ.
Thư mục Visa là một máy chủ trong miền Khả năng tương tác, được sử dụng để
cho phép liên lạc giữa máy chủ người bán và công ty phát hành thẻ.
Để bảo vệ tính bảo mật của thông tin liên lạc giữa các thực thể khác nhau, 3-D
Secure yêu cầu các liên kết sau được bảo vệ bằng SSL / TLS: chủ thẻ-người bán, chủ
thẻ-ACS, người bán-Visa Directory và Visa Directory-ACS, Visa 3-D Bảo mật (2002b).
Hình 2.1 cho thấy 3-D Secure hoạt động như thế nào (Visa 3-D Secure, 2002a;
Visa 3-D Secure, 2002b; Wrona và cộng sự, 2001) (xem thêm phần giải thích bên dưới
hình). Các bước được đánh số hiển thị trong hình 1 được giải thích bên dưới. Trong
18


phần giải thích này, C, M, I, A và VDir lần lượt biểu thị danh mục Chủ thẻ, Người bán,
Nhà phát hành, Người mua và Visa.

Hình 3.1 Quy trình giao dịch 3-D Secure
C-M: Chủ thẻ gửi yêu cầu thanh toán (CR) cho người bán khi chi tiết của giao

dịch đã được quyết định. Trong q trình này, tất cả thơng tin mua hàng được truyền
đến máy chủ người bán sẽ được bảo vệ bằng SSL / TLS.
M-VDir: Sau khi thông tin mua hàng đã được truyền đến máy chủ người bán, Bộ
KH & ĐT tại máy chủ người bán sẽ gửi yêu cầu đến thư mục Visa cho URL của ACS
của tổ chức phát hành thẻ.
VDir - E: Thư mục Visa kiểm tra tính hợp lệ của thẻ và truy vấn người tham gia
của thẻ trong chương trình Bảo mật 3-D với ACS tại máy chủ của nhà phát hành.
I-VDir: Nhà phát hành gửi tin nhắn xác nhận (CM) đến danh bạ Visa xác nhận
tính hợp lệ của chi tiết thẻ.
VDir-M: URL của ACS của tổ chức phát hành (LACS) được gửi đến Bộ KH &
ĐT.
M-C-I: Bộ KH & ĐT chuyển hướng trình duyệt của chủ thẻ đến ACS của nhà
phát hành.
19


I - C: ACS của nhà phát hành yêu cầu thơng tin xác thực bí mật (SA), chẳng hạn
như tên sử dụng và mật khẩu, từ chủ thẻ.
C-I: Chủ thẻ chuyển SA của mình vào trình duyệt trên PC của mình, từ đó nó
được đặt thành ACS của nhà phát hành.
I-C-M: Nếu q trình xác thực chủ thẻ thành cơng, ACS của nhà phát hành sẽ
chuyển hướng trình duyệt của chủ thẻ trở lại MPI và gửi xác minh thanh tốn có chữ ký
của nhà phát hành.
M-A: Người bán chuyển thông tin chi tiết giao dịch cho người mua để yêu cầu ủy
quyền thanh toán (PA) như trong giao dịch Internet 'thông thường'.
Đ-I: Người mua gửi yêu cầu ủy quyền thanh toán (PAR) cho tổ chức phát hành
qua Visanet.
I - A: Người phát hành phản hồi bằng cách gửi PA cho người mua.
A - M: Bên mua gửi lại chi tiết PA cho bên bán.
M-I: Người bán xác nhận giao dịch và xuất biên lai cho chủ thẻ,


20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×