You are on page 1of 84

ĐẠI HỌC THÁI NGUYÊN

KHOA CÔNG NGHỆ THÔNG TIN


-----------------------------------

VŨ ANH TUẤN

BẢO MẬT VÀ AN TOÀN THÔNG TIN TRONG


THƯƠNG MẠI ĐIỆN TỬ

LUẬN VĂN THẠC SĨ KHOA HỌC


CÔNG NGHỆ THÔNG TIN

Chuyên ngành : Khoa học máy tính


Mã số : 60 . 48 . 01

Người hướng dẫn khoa học:


PGS.TS NGUYỄN GIA HIỂU

THÁI NGUYÊN – 2008


Môc lôc

Néi dung Trang

Lêi nãi ®Çu................................................................................................ 2


I. Nội dung nghiên cứu của đề tài ......................................................... 3
1. Mục tiêu và nhiệm vụ nghiên cứu của đề tài..................................... 3
2. ý nghĩa khoa học của đề tài................................................................. 3
3. Phƣơng pháp nghiên cứu.................................................................... 3
4. Phạm vi nghiên cứu............................................................................. 3
5. Các kết quả nghiên cứu dự kiến cần đạt đƣợc.................................. 4
II. Bố cục của luận văn............................................................................ 5
Chƣơng I : CÁC KHÁI NIỆM VÒ TMĐT VÀ CÁC ĐẶC TRƢNG CỦA 6
TMĐT
1. Khái niệm về TMĐT........................................................................... 6
2. Lợi ích của thƣơng mại điện 6
tử...........................................................
3. Các đặc trƣng cơ bản của TMĐT....................................................... 8
4. Các loại thị trƣờng điện tử.................................................................. 9
5. Các hệ thống thanh toán trong TMĐT.............................................. 10
6. Công nghệ thanh toán điện tử............................................................ 11
7. Quy trình thanh toán điện tử............................................................. 12
Ch-¬ng II : hÖ mËt m·, m· kho¸ ®èi xøng, m· kho¸ c«ng 14
khai, ch÷ ký sè
I. tæng quan vÒ c¸c hÖ mËt m·.................................................................. 14
1. Mật mã học cổ điển.............................................................................. 14
2. Mật mã học hiện đại............................................................................ 15
3. Thuật ngữ............................................................................................ 16
4. Tiêu chuẩn mật mã............................................................................. 17
ii. c¸c ph-¬ng ph¸p m· ho¸ 19
1. Mã hoá đối xứng (mã hoá khoá bí mật)............................................ 19
2. Mã hóa không đối xứng (Mã hóa khóa công khai)........................... 29
iii. CHỮ KÝ Sè 36
1. Chữ kí số.............................................................................................. 36
2. Phân loại các sơ đồ chữ kí số.............................................................. 37
3. Một số sơ đồ chữ ký cơ bản................................................................. 40
3.1. Sơ đồ chữ ký RSA............................................................................. 40
3.2. Sơ đồ chữ ký DSA (Digital Signature Standard)............................. 42
4. Các sơ đồ chữ kí số khả thi................................................................. 46

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2
Néi dung Trang

5. Các cách tấn công chữ kí điện tử........................................................ 47


Ch-¬ng III : b¶o mËt vµ an toµn th«ng tin trong tm®t 49
i. vÊn ®Ò an toµn th«ng tin.......................................................................... 49
II. chøng chØ sè vµ c¬ chÕ m· ho¸..................................................... 51
1. Giới thiệu về chứng chỉ số................................................................... 51
2. Xác thực định danh............................................................................. 52
3. Chứng chỉ khóa công khai................................................................... 54
4. Mô hình CA.......................................................................................... 57
5. Một số giao thức bảo mật ứng dụng trong TMĐT........................... 57
CHƢƠNG IV: cµi ®Æt b¶o mËt vµ an toµn th«ng tin trªn 74
website mua b¸n c¸c linh kiÖn m¸y tÝnh trªn m¹ng internet
I. C¸c chøc n¨ng c¬ b¶n vµ ho¹t ®éng cña hÖ thèng website 74
1. Tổ chức dữ liệu.................................................................................... 74
2. Quản trị thông tin............................................................................... 75
3. Mã hóa RSA và áp dụng trong hệ thống........................................... 75
4. Thực hiện mua hàng........................................................................... 75
5.Cách thức thực hiện mã hóa và giải mã.............................................. 76
II. cµi ®Æt c¸c chøc n¨ng b¶o mËt vµ an toµn th«ng tin trªn 77
web site mua b¸n linh kiÖn m¸y tÝnh
1. Thủ tục đăng kí thành viên ................................................................ 77
2. Khách hàng lựa chọn và mua hàng trên website............................. 79
kÕt luËn................................................................................................. 82
Tµi liÖu tham kh¶o............................................................................. 83

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
3
lêi nãi ®Çu

Với sự phát triển mang tính toàn cầu của mạng Internet và TMĐT, con
ngƣời có thể mua bán hàng hoá và dịch vụ thông qua mạng máy tính toàn cầu
một cách dễ dàng trong mọi lĩnh vực thƣơng mại rộng lớn . Tuy nhiên đối
với các giao dịch mang tính nhạy cảm này cần phải có những cơ chế đảm bảo
bảo mật và an toàn vì vậy vấn đề bảo mật và an toàn thông tin trong thƣơng
mại điện tử là một vấn đề hết sức quan trọng. Đề tài sẽ đề cập đến các kỹ
thuật chính của lĩnh vực Bảo mật và an toàn thông tin trong thƣơng mại điện
tử.

Hiện nay vấn đề Bảo mật và an toàn thông tin trong TMĐT đã và đang
đƣợc áp dụng phổ biến và rộng rãi ở Việt Nam và trên phạm vi toàn cầu. Vì
thế vấn đề Bảo mật và an toàn đang đƣợc nhiều ngƣời tập trung nghiên cứu
và tìm mọi giải pháp để đảm bảo Bảo mật và an toàn cho các hệ thống thông
tin trên mạng. Tuy nhiên cũng cần phải hiểu rằng không có một hệ thống
thông tin nào đƣợc bảo mật 100% bất kỳ một hệ thống thông tin nào cũng có
những lỗ hổng về bảo mật và an toàn mà chƣa đƣợc phát hiện ra

Vấn đề bảo mật và an toàn thông tin trong TMĐT phải đảm bảo bốn yêu
cầu sau đây:

- Đảm bảo tin cậy : Các nội dung thông tin không bị theo dõi hoặc sao
chép bởi những thực thể không đƣợc uỷ thác.
- Đảm bảo toàn vẹn : Các nội dung thông tin không bị thay đổi bởi những
thực thể không đƣợc uỷ thác
- Sự chứng minh xác thực : Không ai có thể tự trá hình nhƣ là bên hợp
pháp trong quá trình trao đổi thông tin
- Không thể thoái thác trách nhiệm : Ngƣời gửi tin không thể thoái thác về
những sự việc và những nội dung thông tin thực tế đã gửi đi

Xuất phát từ những khả năng ứng dụng trong thực tế và những ứng dụng đã
có từ các kết quả của nghiên cứu trƣớc đây về lĩnh vực Bảo mật và an toàn
trong TMĐT. Đề tài sẽ đi sâu nghiên cứu các kỹ thuật và các phƣơng pháp
Bảo mật và an toàn thông tin trong thƣơng mại điện tử

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
4
I. Nội dung nghiên cứu của đề tài

1. Mục tiêu và nhiệm vụ nghiên cứu của đề tài

- Đề tài nghiên cứu các kỹ thuật và phƣơng pháp để thực hiện nhiệm vụ
Bảo mật và an toàn trong thƣơng mại điện tử, quá trình thực hiện và các
kiến thức khoa học và thuật toán liên quan nhƣ: Xác thực, Bảo mật, Bảo
toàn dữ liệu, Mật mã, Chữ ký số...
- Áp dụng các kết quả đã nghiên cứu để triển khai hệ thống Bảo mật và an
toàn trong TMĐT

2. ý nghĩa khoa học của đề tài

 Áp dụng các kết quả đã nghiên cứu để xây dựng các kỹ thuật Bảo mật và
an toàn trong thƣơng mại điện tử với một số tính năng cơ bản nhƣ: Hệ
thống chứng thực, Các cơ chế phân bố khoá tự động, Mã hoá các thông
tin cần thiết, kỹ thuật ngăn ngừa các rui ro trong TMĐT.
 Vấn đề Bảo mật và an toàn trên mạng là một trong những vấn đề nóng hổi
trong hoạt động thực tiễn của TMĐT, giải quyết tốt vấn đề bảo mật và an
toàn trong TMĐT sẽ mang lại ý nghĩa hết sức to lớn nhƣ: Làm cho khách
hàng tin tƣởng khi thực hiện các giao dịch trên mạng, và các nhà cung cấp
dịch vụ giao dịch trực tuyến cũng nhƣ các ISP đảm bảo đƣợc những thông
tin của khách hàng giao dịch trên mạng đƣợc an toàn.

3. Phương pháp nghiên cứu

 Thu thập, phân tích các tài liệu và những thông tin liên quan đến đề tài.
 Tìm hiểu các giao dịch trong thƣơng mại điện tử của một số Website
trong và ngoài nƣớc, thu thập các thông tin về bảo mật các giao dịch
thƣơng mại điện tử đã có.
 Kết hợp các nghiên cứu đã có trƣớc đây của các tác giả trong nƣớc cùng
với sự chỉ bảo, góp ý của thầy hƣớng dẫn để hoàn thành nội dung nghiên
cứu

4. Phạm vi nghiên cứu

 Các vấn đề về bảo mật chứng thực trong thƣơng mại điện tử Hàm băm,
các thuật toán mã hoá đối xứng DES và và bất đối xứng nhƣ mã khoá
công khai RSA, sử dụng chữ ký số DSA và RSA, các giao thức bảo mật
trên mạng nhƣ: SSL, TLS, SET...
 Các kỹ thuật sử dụng và các phƣơng pháp kết hợp các hệ mật mã trong
bảo mật.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
5
 Do có những hạn chế nhất định về cơ sở vật chất và điều kiện tiếp cận
thực tế với lĩnh vực an toàn và bảo mật trong thƣơng mại điện tử nên việc
cài đặt các ứng dụng chủ yếu mang tính thử nghiệm.

5. Các kết quả nghiên cứu dự kiến cần đạt được


 Các vấn đề về bảo mật chứng thực trong thƣơng mại điện tử, sử dụng chữ
ký số, Các kỹ thuật sử dụng và các phƣơng pháp kết hợp các hệ mật mã
trong bảo mật.
 Cài đặt thử nghiệm vấn đề về bảo mật và an toàn trong thƣơng mại điện tử
đã nghiên cứu.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
6
II, Bố cục của luận văn
Chƣơng I : CÁC KHÁI NIỆM VÒ TMĐT VÀ CÁC ĐẶC TRƢNG CỦA
TMĐT
1. Khái niệm về TMĐT
2. Lợi ích của thƣơng mại điện tử
3. Các đặc trƣng cơ bản của TMĐT
4. Các loại thị trƣờng điện tử.
5. Các hệ thống thanh toán trong TMĐT
6. Công nghệ thanh toán điện tử
7. Quy trình thanh toán điện tử
Chƣơng II : HỆ MẬT MÃ, MÃ KHOÁ ĐỐI XỨNG, MÃ KHOÁ CÔNG
KHAI, CHỮ KÝ Sè
I, Tổng quan về các hệ mật mã
1. Mã hoá khoá đối xứng: Thuật toán và quá trình tạo khoá
2. Mã hoá khoá công khai: Hoạt động, tạo khoá, mã hoá, giải mã,
chuyển đổi văn bản rõ
II, Chữ ký số
1. Khái niệm chữ ký số
2. Phân loại chữ ký số
3. Một số sơ đồ chữ ký số cơ bản
4. Đánh giá tính an toàn của các sơ đồ chữ ký số
Chƣơng III : BẢO MẬT VÀ AN TOÀN TRONG TMĐT
1. An toàn thông tin
2. Cơ chế mã hoá
3. Chứng thực số hoá
4. Một số giao thức bảo mật ứng dụng trong TMĐT
- Các vấn đề bảo mật ứng dụng WEB
- Cơ chế bảo mật SSL và TSL
- Cơ chế bảo mật SET
Chƣơng IV: CÀI ĐẶT VÀ PHÁT TRIỂN CÁC ỨNG DỤNG
- Cài đặt ứng dụng bảo mật và an toàn thông tin, chøng thùc sè ho¸, ch÷ ký
sè trên WEBSITE mua b¸n m¸y tÝnh trªn m¹ng INTERNET
Kết luận

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
7
ch-¬ng i : c¸c kh¸i niÖm vÒ TM§T vµ c¸c ®Æc tr-ng
cña TM§T

1. Khái niệm về TMĐT

Thƣơng mại điện tử là hình thức mua bán hàng hoá và dịch vụ thông qua
mạng máy rính toàn cầu. TMĐT theo nghĩa rộng đƣợc định nghĩa trong luật mẫu
về thƣơng mại điện tử của Uỷ ban LHQ về luật thƣơng mại quốc tế:

“Thuật ngữ thương mại cần được diễn giải theo nghĩa rộng để bao quát
các vấn đề phát sinh từ mọi quan hệ mang tính chất thương mại dù có hay
không có hợp đồng. Các quan hệ mang tính chất thương mại bao gồm các giao
dịch sau đây: Bất cứ giao dịch nào về thương mại nào về cung cấp hoặc trao
đổi hàng hoá hoặc dịch vụ, thoả thuận phân phối, đại diện hoặc đại lý thương
mại, uỷ thác hoa hồng, cho thuê dài hạn, xây dựng các công trình, tư vấn, kỹ
thuật công trình, đầu tư, cấp vốn, ngân hàng, bảo hiểm, thoả thuận khai thác
hoặc tô nhượng, liên doanh các hình thức khác về hợp tác công nghiệp hoặc
kinh doanh, chuyên chở hàng hoá hay hành khách bằng đường biển, đường
không, đường sắt hoặc đường bộ”

Nhƣ vậy, có thể thấy rằng phạm vi của Thƣơng mại điện tử rất rộng, bao
quát hầu hết các lĩnh vực hoạt động kinh tế, việc mua bán hàng hoá và dịch vụ
chỉ là một trong hàng ngàn lĩnh vực áp dụng của Thƣơng mại điện tử. Theo
nghĩa hẹp TMĐT chỉ gồm các hoạt động thƣơng mại đƣợc tiến hành trên mạng
máy tính mở nhƣ Internet. Trên thực tế chính các hoạt động thƣơng mại thông
qua mạng Internet đã làm phát sinh thuật ngữ Thƣơng mại điện tử.

Thƣơng mại điện tử gồm các hoạt động mua bán hàng hoá và dịch vụ qua
phƣơng tiện điện tử, giao nhận các nội dung kỹ thuật số trên mạng, chuyển tiền
điện tử, mua bán cổ phiếu điện tử, vận đơn đơn điện tử, đấu giá thƣơng mại, hợp
tác thiết kế, tài nguyên mạng, mua sắm công cộng, tiếp thị trực tuyến tới ngƣời
tiêu dùng và các dịch vụ sau bán hàng. Thƣơng mại điện tử đƣợc thực hiện đối
với cả thƣơng mại hàng hoá (ví dụ nhƣ hàng tiêu dùng, các thiết bị y tế chuyên
dụng) và thƣơng mại dịch vụ (ví dụ nhƣ dịch vụ cung cấp thông tin, dịch vụ
pháp lý, tài chính). Các hoạt động truyền thống nhƣ chăm sóc sức khoẻ, giáo
dục và các hoạt động mới (nhƣ siêu thị ảo). Thƣơng mại điện tử đang trở thành
một cuộc cách mạng làm thay đổi cách thức mua săm của con ngƣời.

2. Lợi ích của TMĐT

Xuất phát từ những kinh nghiệm thực tế trong quá trình hoạt động của
thƣơng mại điện tử thì TMĐT đã mang lại cho con ngƣời và xã hội các lợi ích
sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
8
2.1. Thu thập được nhiều thông tin

TMĐT giúp cho mỗi cá nhân khi tham gia thu đƣợc nhiều thông tin về thị
trƣờng, đối tác, giảm chi phí tiếp thị và giao dịch, rút ngắn thời gian sản xuất,
tạo dựng và củng cố quan hệ bạn hàng. Các doanh nghiệp nắm đƣợc các thông
tin phong phú về kinh tế thị trƣờng, nhờ đó có thể xây dựng đƣợc chiến lƣợc sản
xuất và kinh doanh thích hợp với xu thế phát triển của thị trƣờng trong nƣớc,
trong khu vực và quốc tế. Điều này đặc biệt có ý nghĩa đối với các doanh nghiệp
vừa và nhỏ, hiện nay đang đƣợc nhiều nƣớc quan tâm coi là một trong những
động lực phát triển kinh tế.

2.2. Giảm chi phí sản xuất

TMĐT giúp giảm chi phí sản xuất, trƣớc hết là chi phí văn phòng. Các văn
phòng không giấy tờ chiếm diện tích nhỏ hơn rất nhiều, chi phí tìm kiếm chuyển
giao tài liệu giảm nhiều lần trong đó khâu in ấn gần nhƣ bỏ hẳn. Theo số liệu
của hãng General Electricity của Mỹ tiết kiệm trên lĩnh vực này đạt tới 30 %.
Điều quan trọng hơn, với góc độ chiến lƣợc là các nhân viên có năng lực đƣợc
giải phóng khỏi nhiều công đoạn sự vụ và có thể tập trung vào nghiên cứu phát
triển, sẽ đƣa đến những lợi ích to lớn lâu dài.

2.3. Giảm chi phí bán hàng, tiếp thị và giao dịch

TMĐT giúp giảm thấp chi phí bán hàng và chi phí tiếp thị. Bằng phƣơng
tiện Internet / Web một nhân viên bán hàng có thể giao dịch với rất nhiều khách
hàng, catalogue điện tử trên web phong phú hơn nhiều so với catalogue in ấn chỉ
có khuôn khổ giới hạn và luôn luôn lỗi thời, trong khi đó catalogue điện tử trên
web đƣợc cập nhật thƣờng xuyên.
TMĐT qua Internet / Web giúp ngƣời tiêu thụ và các doanh nghiệp giảm
đáng kể thời gian và chi phí giao dịch. Thời gian giao dịch qua Internet chỉ bằng
7% thời gian giao dịch qua FAX, và bằng khoảng 0.5 phần nghìn thời gian giao
dịch qua bƣu điện chuyển phát nhanh, chi phí thanh toán điện tử qua Internet chỉ
bằng 10% đến 20% chi phí thanh toán theo lối thông thƣờng.

2.4. Xây dựng quan hệ đối tác

Thƣơng mại điện tử tạo điều kiện cho việc thiết lập và củng cố mối quan
hệ giữa các thành viên tham gia quá trình thƣơng mại thông qua mạng Internet
các thành viên tham gia có thể giao tiếp trực tiếp (liên lạc trực tuyến) và liên tục
với nhau, có cảm giác nhƣ không có khoảng cách về địa lý và thời gian nữa, nhờ
đó sự hợp tác và quản lý đều đƣợc tiến hành nhanh chóng một cách liên tục, các
bạn hàng mới, các cơ hội kinh doanh mới đƣợc phát hiện nhanh chóng trên
phạm vi toàn thế giới và có nhiều cơ hội để lựa chọn hơn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
9
2.5. Tạo điều kiện sớm tiếp cận kinh tế tri thức

Trƣớc hết TMĐT sẽ kích thích sự phát triển của nghành CNTT tạo cơ sở
cho phát triển kinh tế tri thức. Lợi ích này có một ý nghĩa lớn đối với các nƣớc
đang phát triển, nếu không nhanh chóng tiếp cận nền kinh tế tri thức thì sau
khoảng một thập kỷ nữa nƣớc đang phát triển có thể bị bỏ rơi hoàn toàn. Khía
cạnh lợi ích này mang tính chiến lƣợc công nghệ và tính chính sách phát triển
cần cho các nƣớc công nghiệp hoá.

3. Các đặc trƣng cơ bản của TMĐT

So với các hoạt động thƣơng mại truyền thống, TMĐT có một số các đặc
trƣng cơ bản sau:

3.1. Các bên tiến hành giao dịch trong thương mại điện tử không tiếp xúc
trực tiếp với nhau và không đòi hỏi phải biết nhau từ trước.
Trong thƣơng mại truyền thống các bên thƣờng gặp gỡ nhau trực tiếp để
tiến hành giao dịch. Các giao dịch đƣợc thực hiện chủ yếu theo nguyên tắc vật lý
nhƣ chuyển tiền, séc, hoá đơn, vận đơn, gửi báo cáo. Các phƣơng tiện viễn
thông nhƣ: Fax, telex,... chỉ đƣợc sử dụng để chao đổi số liệu kinh doanh. Tuy
nhiên việc sử dụng các phƣơng tiện điện tử trong thƣơng mại truyền thống chỉ
để chuyển tải thông tin một cách trực tiếp giữa 2 đối tác của cùng một giao dịch.
Thƣơng mại điện tử cho phép tất cả mọi ngƣời cùng tham gia từ các vùng
xa xôi hẻo lánh đến các khu vực đô thị rộng lớn, tạo điều kiện cho tất cả mọi
ngƣời ở khắp mọi nơi đều có cơ hội ngang nhau tham gia vào thị trƣờng giao
dịch toàn cầu và không đòi hỏi nhất thiết phải có mối quen biết với nhau.

3.2. Các giao dịch thương mại truyền thống được thực hiện với sự tồn tại của
khái niệm biên giới quốc gia, còn thương mại điện tử được thực hiện trong
một thị trường không có biên giới (thị trường thống nhất toàn cầu). Thương
mại điện tử trực tiếp tác động tới môi trường cạnh tranh toàn cầu.
Thƣơng mại điện tử càng phát triển thì máy tính cá nhân trở thành cửa sổ
cho doanh nghiệp hƣớng ra thị trƣờng trên khắp thế giới. Với TMĐT một doanh
nhân dù mới thành lập đã có thể kinh doang ở Nhật Bản, Đức và Chi lê..., mà
không hề phải bƣớc ra khỏi nhà, một công việc trƣớc kia phải mất nhiều năm.

3.3. Trong hoạt động giao dịch TMĐT đều có sự tham gia của ít nhất ba chủ
thể, trong đó có một bên không thể thiếu được là người cung cấp dịch vụ
mạng, các cơ quan chứng thực.
Trong TMĐT ngoài các chủ thể tham gia quan hệ giao dịch giống nhƣ giao dịch
thƣơng mại truyền thống đã xuất hiện một bên thứ 3 đó là nhà cung cấp dịch vụ
mạng, các cơ quan chứng thực... là những ngƣời tạo môi trƣờng cho các giao
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
10
dịch thƣơng mại điện tử. Nhà cung cấp dịch vụ mạng và cơ quan chứng thực có
nhiệm vụ chuyển đi, lƣu giữ các thông tin giữa các bên tham gia giao dịch
TMĐT, đồng thời họ cũng xác nhận độ tin cậy của các thông tin trong giao dịch
TMĐT.

3.4. Đối với thương mại truyền thống thì mạng lưới thông tin chỉ là phương
tiện để trao đổi dữ liệu, còn đối với TMĐT thì mạng lưới thông tin chính là thị
trường
Thông qua TMĐT nhiều loại hình kinh doanh mới đƣợc hình thành. Ví
dụ: Các dịch vụ gia tăng giá trị trên mạng máy tính hình thành nên các nhà trung
gian ảo làm các dịch vụ môi giới cho giới kinh doanh và tiêu dùng, các siêu thị
ảo đƣợc hình thành để cung cấp hàng hoá và dịch vụ trên mạng máy tính. Các
chủ cửa hàng thông thƣờng ngày nay cũng đang đua nhau đƣa thông tin lên Web
để tiến tới khai thác mảng thị trƣờng rộng lớn trên Web bằng cách mở cửa hàng
ảo.

4. Các loại thị trƣờng điện tử

Tuỳ thuộc vào đối tác kinh doanh mà ngƣời ta gọi đó là thị trƣờng B2B,
B2C, C2B hay C2C. Thị trƣờng mở là những thị trƣờng mà tất cả mọi ngƣời có
thể đăng ký và tham gia. Tại một thị trƣờng đóng chỉ có một số thành viên nhất
định đƣợc mời hay cho phép tham gia. Một thị trƣờng ngang tập trung vào một
quy trình kinh doanh riêng lẻ nhất định, ví dụ nhƣ lĩnh vực cung cấp: nhiều
doanh nghiệp có thể từ các nghành khác nhau tham gia nhƣ là ngƣời mua và liên
hệ với một nhóm nhà cung cấp. Ngƣợc lại thị trƣờng dọc mô phỏng nhiều quy
trình kinh doanh khác nhau của một nghành duy nhất hay một nhóm ngƣời dùng
duy nhất.
Sau khi làn sóng lạc quan về TMĐT của những năm 1990 qua đi, thời
gian mà đã xuất hiện nhiều thị trƣờng điện tử, ngƣời ta cho rằng sau một quá
trình tập trung chỉ có một số ít thị trƣờng lớn là sẽ tiếp tục tồn tại. Thế nhƣng
bên cạnh đó là ngày càng nhiều những thị trƣờng chuyên môn nhỏ.
Ngày nay tình hình đã khác hăn đi, công nghệ để thực hiện một thị trƣờng
điện tử đã rẻ đi rất nhiều. Thêm vào đó là xu hƣớng kết nối nhiều thông tin chào
hàng khác nhau thông qua các giao diện lập trình ứng dụng để thành lập một thị
trƣờng chung có mật độ chào hàng cao. Ngoài ra các thị trƣờng độc lập trƣớc
đây còn đƣợc tích hợp ngày càng nhiều bằng các giải pháp phần mềm cho một
cổng Web toàn diện.
Thƣơng mại điện tử đƣợc phân loại theo tƣ cách của ngƣời tham gia giao
dịch nhƣ sau:
• Ngƣời tiêu dùng:

C2C (Consumer – To – Consumer): Ngƣời tiêu dùng với ngƣời tiêu dùng
C2B (Consummer – To – Business): Ngƣời tiêu dùng với doanh nghiệp
C2G (Consumer – To – Government): Ngƣời tiêu dùng với chính phủ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
11
• Doanh nghiệp:
B2C (Bussiness – To – Consumer): Doanh nghiệp với ngƣời tiêu dùng
B2B (Bussiness – To – Business ): Doanh nghiệp với doanh nghiệp
B2G (Bussiness – To – Government): Doanh nghiệp với chính phủ
B2E (Bussiness – To – Employee): Doanh nghiệp với nhân viên
• Chính phủ
G2C (Government – To – Consumer): Chính phủ với ngƣời tiêu dùng
G2B (Government – To – Business): Chính phủ với doanh nghiệp
G2G (Government – To – Government): Chính phủ với chính phủ

5. Các hệ thống thanh toán trong TMĐT

Thanh toán điện tử là một khâu quan trọng trong TMĐT. Hiểu một cách
khái quát thì thanh toán điện tử là một quá trình thanh toán tiền giữa ngƣời mua
và ngƣời bán. Điểm cốt lõi của vấn đề này là việc ứng dụng các công nghệ thanh
toán tài chính (ví dụ nhƣ mã hoá số thẻ tin dụng, séc điện tử, hoặc tiền điện tử)
giữa ngân hàng, nhà trung gian và các bên tham gia hoạt động thƣơng mại. Các
ngân hàng và tổ chức tín dụng hiện nay sử dụng các phƣơng pháp này nhằm
mục đích nâng cao hiệu quả hoạt động trong bối cảnh phát triển của nền kinh tế
số, với một số lợi ích nhƣ giảm chi phí xử lý, chi phí công nghệ và tăng cƣờng
thƣơng mại trực tuyến.
Thanh toán điện tử là việc trả tiền thông qua các thông điệp điện tử thay
vì trao tay trực tiếp. Việc trả lƣơng bằng cách chuyển tiền vào tài khoản ngân
hàng, trả tiền mua hàng bằng thẻ tín dụng, bằng thẻ mua hàng... thực chất cũng
là những ví dụ đơn giản của thanh toán điện tử.
Hình thức thanh toán điện tử có một số hệ thống thanh toán cơ bản sau:

Thanh toán bằng thẻ tín dụng: Thực tế cho thấy, khách hàng trên mạng không
thể trả tiền hoặc séc để thanh toán. Điều cần thiết là Website bán hàng cần phải
tạo ra đƣợc các hình thức thanh toán trên mạng. Hệ thống thanh toán phổ biến
hiện nay trên mạng là thanh toán bằng thẻ tín dụng. Một số thẻ tín dụng phổ biến
hiện nay là Visa, MasterCard, American Express, JBC. Để tiến hành giao dịch
thẻ tín dụng từ Website bán hàng cần thiết phải liên kết tới một dịch vụ tiến
hành thanh toán thẻ tín dụng trên mạng nhƣ CyberCard hay PaymentNet,... Dịch
vụ thanh toán này cung cấp phần mềm định vị trên máy chủ dịch vụ an toàn tới
dịc vụ thực hiện thanh toán. Dịch vụ thực hiện thanh toán xác nhận thông qua
thẻ tín dụng để có thể hoàn tất giao dịch với khách hàng. Sau đó chuyển đến bộ
phận xác nhận. Dịch vụ thanh toán bằng thẻ tín dụng đảm bảo rằng tiền đƣợc
thực hiện ở tài khoản ngân hàng. Để tiến hành sử dụng dịch vụ thanh toán bằng
thẻ tín dụng trên Website cần đăng ký một tài khoản giao dịch Internet với ngân
hàng (acquier). Hiện tại không phải ngân hàng nào cũng cung cấp dịch vụ tài
khoản giao dịch trên Internet. Tài khoản giao dịch Internet đƣợc thiết kế cho

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
12
phép nhà kinh doanh thực hiện giao dịch thanh toán qua thẻ tín dụng trên
Internet thông qua dịch vụ thẻ tín dụng trên mạng.

Thanh toán vi điện tử (Electronic Cash MicroPayment): Đƣợc sử dụng cho


những giao dịch quá nhỏ đối với yêu cầu thanh toán qua thẻ tín dụng (dƣới 10
USD). Micropayment vi thanh toán đƣợc duy trì qua biên nhận điện tử, khách
hàng mở tài khoản với máy cung cấp biên nhận điện tử tự động. Máy cung cấp
biên nhận điện tử tự động. Máy cung cấp biên nhận điện tử tự động sẽ cấp cho
khách hàng tiền kỹ thuật số (digital money), do đó khách hàng có thể mua trực
tiếp từ Website. Trƣớc khi khách hàng thanh toán tiền kỹ thuật số đến ngƣời
bán, nó xác nhận cả ngƣời mua và máy bán hàng tự động để đảm bảo rằng tiền
đi đến đúng nơi cung cấp tiền điện tử Cyberrcash.

Chi phiếu điện tử (Electronic Check) : Đây là một dịch vụ cho phép khách hàng
trực tiếp chuyển tiền điện tử từ ngân hàng đến ngƣời bán hàng. Chi phiếu điện tử
đƣợc sử dụng thanh toán hoá đơn định kỳ. Các công ty nhƣ điện, nƣớc, ga, điện
thoại... đƣa ra hình thức thanh toán này để cải thiện tỉ lệ thu, giảm chi phí và dễ
dàng hơn cho khách hàng trong việc quản lý hoá đơn. Từ triển vọng của khách
hàng khi một khách hàng đăng kí với nhà cung cấp thì khách hàng sẽ nhận đƣợc
thông tin thanh toán (số tài khoản, ngân hàng...). Khách hàng với tên đăng kí sử
dụng và mật khẩu họ có thể truy nhập vào Website của công ty phát hành chi
phiếu để kiểm tra số dƣ của họ. Khách hàng cũng có thể nhận những hoá đơn
điện tử và gửi thƣ điện tử thông báo đã nhận đƣợc hoá đơn điện tử từ công ty
cung cấp gửi đến. Khi khách hàng truy cập hoá đơn của mình trên Internet sau
khi xem xét tất cả các hoá đơn khách hàng có thể chọn để thanh toán từ tiền của
mình trong tài khoản tại ngân hàng. Quá trình thanh toán đƣợc thực hiện thông
qua dịch vụ nhƣ dịch vụ thanh toán chi phiếu điện tử trên Cybercash’s Paynow
(thanh toán nhanh) của Cybercash.

Thƣ điện tử (Email): Có thể dùng để cho phép đối tác kinh doanh nhận
thanh toán từ tài khoản khách hàng hoặc để lập tài khoản với nhà cung cấp.

Với những lợi ích nêu trên, tăng cƣờng khả năng thanh toán điện tử sẽ là
một giải pháp cắt giảm đáng kể các chi phí hoạt động. Theo tính toán của các
ngân hàng thì việc giao dịch bằng tiền và séc rất tốn kém, do đó họ tìm kiếm các
giải pháp khác với chi phí thấp hơn. Hiện nay ở Mỹ thì các giao dịch bằng tiền
mặt chiếm khoảng 54% và bằng séc là 29% các giao dịch điện tử chiếm khoảng
17%. Dự báo con số này sẽ tăng lên trong thời gian tới.

6. Công nghệ thanh toán điện tử

Các công nghệ thanh toán điện tử bắt đầu phát triển với dịch vụ chuyển
tiền bằng điện tử ví dụ nhƣ dịch vụ chuyển tiền của Western Union giúp một cá
nhân có thể chuyển tiền cho ngƣời nào đó ở địa điểm khác thông qua lệnh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
13
chuyển tiền của họ từ một quầy cung cấp dịch vụ của Western Union. Tiền chỉ
có thể chuyển giao cho khách hàng sau khi đáp ứng đƣợc các yêu cầu nhận điện.
Trong trƣờng hợp này, không có sự tham gia của bất kỳ ngân hàng nào cả,
Western chỉ đơn thuần là một công ty điện tín. Sự an toàn phụ thuộc vào khả
năng tài chính của hãng, và sự an toàn của dịch vụ này đƣợc kiểm soát qua các
thông điệp gửi đi trong từng giao dịch riêng lẻ. Các thông tin này không đƣợc
công bố rộng rãi mà chỉ khách hàng và ngƣời nhận đƣợc biết khoản tiền đƣợc
chuyển. Chữ ký đƣợc sử dụng nhƣ một công cụ xác nhận nhằm mục đích cho
biết quá trình chuyển giao đã hoàn thành khi khách hàng nhận đƣợc tiền.
Các sáng kiến trong thanh toán điện tử hiện nay đều nhằm mục đích tạo ra
một cách thức đơn giản, thuận lợi cho khách hàng trong giao dịch thanh toán và
mang tính tức thời. Trong một giao dịch điện tử, các khâu kiểm tra hối đoái, tiến
hành thủ tục thanh toán sẽ diễn ra ngay lập tức khi khách hàng gửi lệnh yêu cầu
chuyển tiền để thanh toán cho một giao dịch mua bán trên mạng.
Hệ thống thanh toán điện tử dành cho khách hàng phát triển rất nhanh chóng.

7. Quy trình thanh toán điện tử

Một quy trình thanh toán điện tử bao gồm có 6 công đoạn cơ bản sau:
1. Khách hàng, từ một máy tính tại một nơi nào đó, điền những thông tin
thanh toán và địa chỉ liên hệ vào đơn đặt hàng (Order Form) của Website bán
hàng. Doanh nghiệp nhận đƣợc yêu cầu mua hàng hoá hay dịch vụ của khách
hàng và phản hồi xác nhận tóm tắt lại những thông tin cần thiết nhƣ mặt hàng đã
chọn, địa chỉ giao nhận và số phiếu đặt hàng…
2. Khách hàng kiểm tra lại các thông tin và click chọn “đặt hàng”, để gởi
thông tin trả về cho Doanh nghiệp.
3. Doanh nghiệp nhận và lƣu trũ thông tin đặt hàng đồng thời chuyển tiếp
thông tin thanh toán (số thẻ tín dụng, ngày đáo hạn, chủ thẻ…) đã đƣợc mã hoá
đến máy chủ (Server, thiết bị xử lý dữ liệu) của Trung tâm cung cấp dịch vụ xử
lý thẻ trên mạng Internet. Với quá trình mã hoá các thông tin thanh toán của
khách hàng đƣợc bảo mật an toàn nhằm chống gian lận trong các giao dịch
(ngay cả doanh nghiệp sẽ không biết đƣợc thông tin về thẻ tín dụng của khách
hàng).
4. Khi Trung tâm xử lý thẻ tín dụng nhận đƣợc thông tin thanh toán, sẽ giải
mã thông tin và xử lý giao dịch đằng sau tƣờng lửa (Fire Wall) và tách rời mạng
Internet (off the Internet), nhằm mục đích bảo mật tuyệt đối cho các giao dịch
thƣơng mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán đến
Ngân hàng của Doanh nghiệp (Acquirer) theo một đƣờng dây thuê bao riêng
(một đƣờng truyền số liệu riêng biệt).
5. Ngân hàng của Doanh nghiệp gởi thông điện điện tử yêu cầu thanh toán
(authorization request) đến ngân hàng hoặc Công ty cung cấp thẻ tín dụng của
khách hàng (Issuer). Và tổ chức tài chính này sẽ phản hồi là đồng ý hoặc từ chối
thanh toán đến trung tâm xử lý thẻ tín dụng trên mạng Internet.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
14
6. Trung tâm xử lý thẻ tín dụng trên Internet sẽ tiếp tục chuyển tiếp những
thông tin phản hồi trên đến doanh nghiệp và tuỳ theo đó doanh nghiệp thông báo
cho khách hàng đƣợc rõ là đơn đặt hàng sẽ đƣợc thực hiện hay không.
ch-¬ng II : hÖ mËt m·, m· kho¸ ®èi xøng m· kho¸
c«ng khai, ch÷ ký sè
i. tæng quan vÒ c¸c hÖ mËt m·
Mật mã học là một linh vực liên quan vói các kỹ thuật ngôn ngữ và toán
học để đảm bảo an toàn thông tin, cụ thể là thông tin liên lạc. Về phƣơng diện
lịch sử, mật mã học gắn liền với quá trình mã hóa; điều này có nghĩa là nó gắn
với các cách thức để chuyển đổi thông tin từ dạng này sang dạng khác nhƣng ở
đây là từ dạng thông thƣòng có thể nhận thức đƣợc thành dạng không thể nhận
thức đƣợc, làm cho thông tin trở thành dạng không thể đọc đƣợc nếu nhƣ không
có các kiến thức bí mật. Quá trình mã hoá đƣợc sử dụng chủ yếu để đảm bảo
tính bí mật của các thông tin quan trọng , chẳng hạn trong công tác tình báo,
quân sự hay ngoại giao cũng nhƣ các bí mật về kinh tế, thƣơng mại. Trong
những năm gần đây, lĩnh vực hoạt động củ mật mã hoá đã dƣợc mở rộng; mật
mã hoá hiện đại cung cấp cơ chế nhiều hoạt đông hơn là chỉ duy nhất việc giữ bí
mật và có một loạt các ứng dụng nhƣ : chứng thực khoá công khai, chữ ký số,
bầu cử điện tử hay tiền điện tử. Ngoài ra những ngƣời không có nhu cầu thiết
yếu đặc biệt về tính bí mật cũng sử dụng các công nghệ mật mã hoá, thông
thƣờng đƣợc thiết kế và tạo lập sẵn trong các cơ sở hạ tầng của công nghệ tính
toán và liên lạc viễn thông.
Mật mã học là một nghành có lịch sử từ hàng nghìn năm nay. Trong phần
lớn thời gian phát triển của mình ( ngoại trừ vài thập kỉ trở lại đây ), lịch sử mật
mã học chính là lịch sử của những phƣơng pháp mật mã học cổ điển – các
phƣơng pháp mật mã hoá với bút và giấy, đôi khi có hỗ trợ từ những dụng cụ cơ
khí đơn giản. Vào đầu thế kỉ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ,
chẳng hạn nhƣ máy Enigma, đã cung cấp những những cơ chế phức tạp và hiệu
quả hơn cho việc mật mã hoá. Sự ra đời và phát triển mạnh mẽ của ngành điên
tử và máy tính trong thập niên gần đây đã tạo điều kiện để mạt mã học phát triển
nhảy vọt lên một tầm cao mới.
1. Mật mã học cổ điển
Những bằng chứng sớm nhất về sử dụng mật mã học là các chữ tƣơng hình
không tiêu chuẩn tìm thấy trên các bức tƣờng Ai Cập cổ đại (cách đây khoảng
4500). Những kí hiệu tỏ ra không phải để phục vụ mục đích truyền thông tin bí
mật mà có vẻ nhƣ là nhằm mục đích gợi nên những điều thần bí, trí tò mò hoặc
thậm trí để tạo sự thích thú cho ngƣời xem. Ngoài ra còn rất nhiều ví dụ khác về
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
15
những ứng dụng của mật mã học hoặc là những điều tƣơng tự. Muộn hơn, các
học giả về tiếng Hebrew có sử dụng một phƣng pháp mã hoá thay thế bảng chữ
cái đơn giản chẳng hạn nhƣ mật mã hoá Atbash ( khoảng năm 500 đến năm
600). Mật mã học từ lâu đã đƣợc sử dụng trong các tác phẩm tôn giáo để che
giấu thông tin với chính quyền hoặc nền văn hoá thống trị. Ví dụ tiêu chuẩn nhất
là “số chỉ kẻ thù của chúa” (Tiếng Anh number of the beast) xuất hiện trong
kinh Tân Ƣớc của cơ đốc giáo. ở đây số 666 có thể là cách mã hoá để chỉ đến đế
chế La Mã hoặc là đến hoàng đế nero của đế chế này. Việc không đề cập trực
tiếp sẽ đỡ gây rắc rối khi chính sách bị chính quyền chú ý. Đối với cơ độc giáo
chính thống thi việc che dấu này kết thúc khi constantine cải đạo và chấp nhận
đạo cơ đốc là chính thống của đế chế.

Hình 1: Scytale, một thiết bị mật mã hóa cổ đại


Ngƣời Hy Lạp cổ đại cũng đƣợc biết đến là sử dụng các kỹ thuật mật mã (chẳng
hạn nhƣ mật mã scytale ). Cũng có những bằng chứng tỏ ngƣời La Mã nắm đƣợc
các kĩ thuật mật mã (mật mã caesar và các biện thể). Thậm trí đã có những đề
cập đến một cuốn sách nói về mật mã trong quân đội La Mã, tuy nhiên cuốn
sách này đã thất truyền.
2. Mật mã học hiện đại
Nhiều ngƣời cho rằng kỷ nguyên của mật mã học hiện đại đƣợc bắt đầu
với Claude Shannon, ngƣời đƣợc coi là cha đẻ của mật mã toán học. Năm 1949
ông dã công bố bài lý thuyết về truyền trhống trong các hệ thống bảo mật
(Communication Theory of secrecy system ) trên tập san bell system technical
journal _ tập san kỹ thuật của hệ thống bell_ và một thời gian ngắn sau đó, trong
cuốn mathematical theory of communication _ lý thuyết toán học trong truyền
thông _ cùng với tác giả warren weaver. Những công trình này, cùng với nhũng
công trình nghiên cứu khác của ông về lí thuyết về tin học và truyền thông (
information and communication theory), đã thiết lập một nền tảng lí thuyết cơ
bản cho mật mã học và thám mã học. Với ảnh hƣởng đó, mật mã học hầu nhƣ bị
thâu tóm bởi các cơ quan truyền thông mật của chính phủ, chẳng hạn nhƣ NSA,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
16
và biến mất khỏi tầm hiểu biết của công chúng. Rất ít các công trình đƣợc tiếp
tục công bố, cho đến thời kì giữa thập niên 1970, khi mọi sự đƣợc thay đổi.

3. Thuật ngữ
Việc nghiên cứu tìm các phƣơng thức để phá vỡ việc sử dụng mật mã
đƣợc gọi là phân tích mật mã, hay phá mã. Mật mã hoá và phân tích mật mã đôi
khi đƣợc nhóm lại cùng nhau dƣới tên gọi chung mật mã học, nó bao bọc toàn
bộ các chủ đề liên quan đến mật mã. Trong thực tế, thuật ngữ mật mã hoá thông
thƣờng đƣợc sử dụng để nói đến ngành này một cách tổng thể.
Trong một số ngôn ngữ nhƣ tiếng anh nó là cryptography, có nguồn gốc
từ tiếng Hy Lạp kryptos tức là "ẩn" và graphein, "viết ra". Việc sử dụng từ
"cryptography" lần đầu tiên có lẽ diễn ra trong bài diễn thuyết của Sir Thomas
Browne năm 1658 có tên gọi The garden of cyrus: "The strange cryptography of
gaffarel in his starrie booke of heaven".
Mật mã hoá là quá trình chuyển đổi các thông tin thông thƣờng (văn bản
thƣờng hay văn bản rõ ) thành dạng không đọc trực tiếp đƣợc, là văn bản mã.
Giải mật mã, là quá trình ngƣợc lại, phục hồi lại văn bản thƣơng từ văn bản mã.
Mật mã là thuật toán để mật mã hoá và giải mật mã. Hoạt động chính xác của
mật mã thông thƣờng đựoc kiểm soát bởi khoá _ một đoạn thông tin bí mật nào
đó cho phép tuỳ biến cách thức tạo ra văn bản mã. Các giao thức mật mã chỉ rõ
các chi tiết về việc mật mã (và các nền tảng mật mã hoá khác) đƣợc sử dụng nhƣ
thế nào để thu đƣợc các nhiệm vụ cụ thể. Một bộ các giao thức, thuật toán, cách
thức quản lý khoá và các hành động quy định trứơc bởi ngƣời sử dụng thi hành
cùng nhau nhƣ một hệ thống tạo ra hệ thống mật mã.
Trong cách nói thông thƣờng, "mã" bí mật thông thƣờng đƣợc sử dụng
đồng nghĩa với "mật mã". Trong mật mã học, thuật ngữ này có ý nghĩa kỹ thuật
đặc biệt: Các mã là các phƣơng pháp lịch sử tham gia vào việc thay thế các đơn
vị văn bản lớn hơn, thông thƣờng là các từ hay câu (ví dụ, "qua tao" thay thế cho
"tan cong luc rang dong"). Ngƣợc lại, mật mã hoá cổ điển thong thƣờng thay thế
hoạc sắp xếp lại các chữ riêng biệt (hoặc một nhóm nhỏ các chữ cái) ví dụ, "tan
cong luc rang dong" trở thành "ubo dpoh mvd sboh epoh" bằng cách thay thế.
Thám mã: Mục tiêu của thám mã (phá mã ) là tìm những điểm yếu hoặc
không an toàn trong phƣơng thứ mật mã hoá. Thám mã có thể đƣợc thực hiện
bởi những kẻ tấn công ác ý, nhằm làm hỏng hệ thống; hoặc bởi những ngƣời
thiết kế ra hệ thống (hoặc những ngƣời khác ) với ý định đánh giá độ an toàn của
hệ thống.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
17
Có rất nhiều loại hình tấn công thám mã, và chung có thể đƣợc phân loại
theo nhiều cách khác nhau. Một trong những đặc điểm liên quan là những ngƣời
tấn công có thể biết và làm những gì để hiểu đƣợc thông tin bí mật. Ví dụ,
những ngƣời thám mã chỉ truy cập đƣợc văn bản mã hoá không ? hoặc thậm chí:
Anh ta có chọn lựa các văn bản ngẫu nhiên để mã hoá ? Các kịch bản này tƣơng
ứng với tấn công văn bản mã, tấn công biết bản rõ và tấn công chọn lựa bản rõ.
Trong công việc thám mã thuần tuý sử dụng các điểm yếu trong các thuật
toán mật mã hoá, những cuộc tấn công khác lại dựa trên sự thi hành, đƣợc biết
đến nhƣ là các tấn công side _channel. Nếu ngƣời thám mã biết lƣợng thời gian
mà thuật toán cần để mã hoá một lƣợng bản rõ nào đó, anh ta có thể sử dụng
phƣơng thức tấn công thời gian để mã hoá mà nếu không thì chúng chịu đƣợc
phép thám mã. Ngƣời tấn công cũng có thể nghiên cứu các mẫu và độ dài của
thông điệp để rút ra các thông tin hữu ích cho việc phá mã; điều này đƣợc biết
đến nhƣ là thám mã lƣu thông.
Nếu nhƣ hệ thống mật mã sử dụng khoá xuất phát từ mật khẩu, chúng có
nguy sơ bị tấn công kiểu duyệt toàn bộ (brute force ), vì kích thƣớc không đủ lớn
cũng nhƣ thiếu tính ngẫu nhiên của mật khẩu. Đây là điểm yếu chung trong hệ
thông mật mã. Đối với các ứng dụng mạng, giao thức thoả thuận khoá chứng
thực mật khẩu có thể giảm đi một số các giới hạn của mật khẩu. Đối với các ứng
dụng độc lập, hoặc là biện pháp an toàn để lƣu trữ các dữ liệu chứa mật khẩu
và/hoặc các cụm từ kiểm soat truy cập thông thƣờng đƣợc gợi ý nên sử dụng.
Thám mã tuyến tính và Thám mã vi phân là các phƣơng pháp chung cho
mật mã hoá khoa đối xứng. Khi mật mã hoá dựa vào các vấn đề toán tin nhƣ độ
khó NP, giống nhƣ trong trƣờng hợp của thuật toán khoá đối xứng, các thuật
toán nhƣ phân tích ra thừa số nguyên tố trở thành công cụ tiềm năng cho thám
mã.
4. Tiêu chuẩn mật mã
Thời kỳ giữa thập niên kỷ 1970 đƣợc chứng kiến hai tiến bộ cong chính
lớn ( công khai ). Đầu tiên là sự công đề xuất tiêu chuẩn mật mã hoá dữ liệu
(data encryption standard) trong "công báo liên bang " ( federal register ) ở nƣớc
Mỹ vào ngày 17 tháng 3 năm 1975. Với đề cử của cục tiêu chuẩn quốc gia
(national bureau of standards _NBS ), (hiện là NIST ), bản đề xuất DES đƣợc
công ty IBM ( international business machines ) đệ trình trở thành một trong
những cố gắng trong việc xây dựng các công cụ tiện ích cho thƣơng mại,nhƣ
cho các nhà băng và cho các tổ chức tài chính lớn. Sau nhƣng chỉ đạo và thay
đổi của NSA, vào năm 1977, nó đã đƣợc chấp thuận và đƣợc phát hành dƣới cái
tên bản công bố về tiêu chuẩn xử lý thông tin của liên bang (federal information
processing standard publication _FIPS) (phiên bản hiện nay là FIPS 46_3). DES
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
18
là phƣơng thức mật mã công khai đầu tiên đƣợc một cơ quan quốc gia nhƣ NSA
"tôn sùng". Sự phát hành bản đặc tả của nó bởi NBS đã khuyến khích sự quan
tâm chú ý của công chúng cũng nhƣ của các tổ chức nghiên cứu về mật mã học.
Năm 2001, DES đã chính thức đƣợc thay thế bởi AES ( viết tắt của advanced
encryption standard _ tiêu chuẩn mã hoá tiên tiến) khi NIST công bố phiên bản
FIPF 197. Sau một cuộc thi tổ chức công khai, NIST đã chọn Rijndael, do hai
nhà mật mã ngƣời Bỉ đệ trình, và nó trở thành AES và một số biến thể của nó
nhƣ tam phần DES (Triple Des), vẫn còn đƣợc sử dụng, do trƣớc đây nó đƣợc
gắn liền với nhiều tiêu chuẩn quốc gia và các tổ chức. với chiều dài khoá chỉ là
56 bit, nó đã đƣợc chứng minh là không đủ sức chống lại những tấn công kiểu
vét cạn (brute force attack- tấn công dùng bạo lực). Một trong những kiểu tấn
công loại này đƣợc thực hiện bởi nhóm “ nhân quyền cyber” (cyber civil- rights
group) tên là tổ chức tiền tuyến điện tử (electronic frontier foundation) vào năm
1997, và đã phá mã thành công trong 56 tiếng đồng hồ- câu truyện này đƣợc
nhắc đến trong cuốn cracking DES( phá vỡ DES), đƣợc suất bản bởi “ O’reilly
and Associates”. Do kết quả này mà hiện nay việc sử dụng phƣơng pháp mật mã
hoá DES nguyên dạng, có thể đƣợc khẳng định một cách không nghi ngờ, là một
việc làm mạo hiểm, không an toàn và những thông điệp ở dƣới sự bảo vệ của
những hệ thống mã hoá trƣớc đây dùng DES, cũng nhƣ tất cả các thông điệp
đƣợc truyền gửi từ năm 1976 trở đi sử dụng DES, đều ở tronh tình trạng rất đáng
lo ngại. Bất chấp chất lƣợng vốn có của nó, một số sự kiện sảy ra trong năm
1976, đặc biệt là sự kiện công khai nhất của Whitfield Diffie, chỉ ra rằngchiều
dài khoá mà DES sử dụng (56-bit) là một khoá quá nhỏ). Đã có một số nghi ngờ
xuất hiện nói rằng mọt số các tổ chức của chính phủ, ngay tại thời điểm bấy giờ,
cũng đã có đủ công suất máy tính để phá mã các thông diệp dùng DES; rõ ràng
là những cơ quan khác cũng đã có khả năng làm việc nay rồi.
Mật mã hoá đƣợc sử dụng để đảm bảo an toàn cho thông tin liên lạc.Các
thuộc tính đƣợc yêu cầu là:
 Tính bí mật: chỉ có ngƣời nhận đã xác thực có thể lấy ra đƣợc nội dung của
thông tin chứa đựng trong dạng đã mật mã hoá của nó. Nói khác đi, nó không
thẻ cho phép thu lƣợm đƣợc bất kì thông tin đáng kể nào về nội dung của
thông điệp.
 Nguyên vẹn: ngƣời nhân cần có khả năng xác định đƣợc thông tin có bị thay
đổi trong quá trình truyền hay không.
 Tính xác thực: ngƣời nhận cần có khả năng xác định ngƣời gửi và kiểm tra
xem ngƣời gửi có thực sự gửi tin đi hay không.
 Không bị từ chối: ngƣời gửi không bị (không thể) từ chối việc đã gửi thông
tin đi.
 Chống lặp lại: không cho phép bên thứ ba copy lại văn bản và gửi nhiều lần
đến ngƣời nhận mà ngƣời gửi không hề hay biết.
Mật mã học có thể cung cấp cơ chế để giúp đỡ thực hiện điều này.Tuy nhiên,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
19
một số mục tiêu không phải bao giờ cũng là cần thiết, trong nghĩa cảnh của thực
tế hay mong muốn. Ví dụ, ngƣời gửi thông tin có thể mong muốn giữ mình là
nặc danh; trong trƣờng hợp này sự không từ chối thực hiện rõ ràng là không
thích hợp.
ii. c¸c ph-¬ng ph¸p m· ho¸

1. Mã hoá đối xứng (mã hoá khoá bí mật)


1.1. Định nghĩa
Thuật toán đối xứng hay là thuật toán mà tại đó khoá mã hoá có thể tính toán
ra đƣợc từ khoá giải mã.Trong rất nhiều trƣờng hợp, khoá mã hoá và khoá giải
mã là giống nhau. Thuật toán này còn có nhiều tên gọi khác nhƣ thuật toán khoá
bí mật, thuật toán khoá đơn giản, thuật toán một khoá. Thuật toán này yêu cầu
ngƣời gửi và ngƣời nhận phải thoả thuận một khoá trƣớc khi thông báo đƣợc gửi
đi, và khoá này phải đƣợc cất giữ bí mật. Độ an toàn của thuật toán này phụ
thuộc vào khoá, nếu để lộ ra khoá này nghĩa là bất kì ngƣời nào cũng có thể mã
hoá và giải mã thông báo trong hệ thống mã hoá. Sự mã hoá và giải mã của thuật
toán đối xứng biểu thị bởi:
EK (K) = C và DK (C ) = P

H×nh2: M· ho¸ víi kho¸ m· vµ gi¶i m· gièng nhau


1.2. Các vấn đề đối với phƣơng pháp mã hóa đối xứng
Phƣơng mã hóa đối xứng đòi hỏi ngƣời mã hóa và ngƣời giải mã phải
cùng chung một khóa. Khi đó khóa phải đƣợc giữ bí mật tuyệt đối, do vậy ta dễ
dàng xác định một khóa nếu biết khóa kia.
Hệ mã hóa đối xứng không an toàn nếu khóa bị lộ với xác suất cao. Trong
hệ này, khóa phải đƣợc gửi đi trên kênh an toàn.
Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp khi sử dụng hệ
mã hóa đối xứng. Ngƣời gửi và nhận phải luôn thống nhất với nhau về khóa.
Việc thay đổi khóa là rất khó và dễ bị lộ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
20
Khuynh hƣớng cung cấp khoá dài mà nó phải đƣợc thay đổi thƣờng xuyên
cho mọi ngƣời trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ cản
trở rất nhiều tới hệ mật mã này.

1.3 chuẩn mã hoá dữ liệu DES.


a, Giới thiệu
Ngày 15.5.1973. uỷ ban tiêu chuẩn quốc gia Mỹ đẫ công bố một khuyến
nghị cho các hệ trong Hồ sơ quản lý liên bang. Điều này cuối cùng đã dẫn đến
sự phát triển của chuẩn mã dữ liệu (ĐES) và nó đã trở thành một hệ mật đƣợc sử
dụng rộng rãi nhất trên thế giới. DES đƣợc IBM phát triển và đƣợc xem nhƣ là
một cái biên của hệ mật LUCIPHER. Lần đầu tiên DES đƣợc công bố trong Hồ
sơ liên bang vào ngày 17.3.1975. Sau nhiều cuộc tranh luận công khai, DES đẫ
đƣợc chấp nhận làm chuẩn cho các ứng dụng không đƣợc coi là mật vào
5.1.197. Kể từ đó cứ 5 năm một lần,DES lại đƣợc uỷ ban tiêu chuẩn quốc gia
xem xét lại.
DES là thuật toán mã hoá khối (block algorithm), nó mã hoá một khối dữ
liệu 64 bit bằng một khoá 56 bit. Một khối bản rõ 64 bit đƣa vào thực hiện, sau
khi mã hoá dữ liệu ra là một khối bản mã 64 bit. Cả mã hoá và giải mã đều sử
dụng cùng một thuật toán và khoá.
Nền tảng để xây dựng khối của DES là sự kết hợp đơn giản của các kỹ thuật
thay thế và hoán vị bản rõ dựa trên khoá, đó là các vòng lặp. DES sử dụng 16
vòng lặp áp dụng cùng một kiểu kết hợp các kỹ thuật trên khối bản rõ.
Thuật toán chỉ sử dụng các phép toán số học và lôgic thông thƣờng trên các
số 64 bit, vì vậy nó rễ ràng thự hiện vào những năm 1970 trong điều kiện về
công nghệ lúc bấy giờ. Ban đầu, sự thực hiên các phần mềm kiểu này rất thô sơ,
nhƣng hiện tại việc đó đã tốt hơn, và với đặc tính lặp đi lặp lại của thuật toán đã
tạo nên ý tƣởng sử dụng chip với mục đích này đặc biệt này.
b. Mô tả
Mô tả đầy đủ của DES đƣợc nêu trong công bố số 64 về các chuẩn xử lý
thông tin liên bang (Mỹ) vào 15.1.1977. DES mã hoá một sâu bit x của rõ độ dài
64 bằng một khoá 56 bit. Bản mã nhận đƣợc cũng là một xâu bit có độ dài 64.
Trƣớc hết ta mô tả ở mức cao của hệ thống.
Thuật toán tiến hành theo 3 giai đoạn:
1. Với bản rõ trƣớc x, một sâu bit x0 sẽ đƣợc xây dựng bằng cách hoán vị các
bit của x theo phép hoán vị cố định ban đầuIP.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
21
Ta viêt:x0 = IP (X)= L0R0, trong đó L0 gồm 32 bit đầu và R0 là 32 bit cuối.
2. sau đó tính toán 16 lần lặp theo một hàm xác định.
Ta sẽ tính L1R1,1  i  16 theo qui tắc sau:
L1=Ri-1
R1 = Li-1  f(Ri-1,Ki)

Trong đó  kí hiệu phép hoặc loại trừ của hai xâu bit ( cộng theo modun 2). F là
một hàm ta xẽ mô tả ở sau, còn K1,K2,...,K16 là các sâu bit độ dài 48 đƣợc tính
nhƣ hàm của khoá Ki là một phép chọn hoán vị bít trong K). K1,K2,...,K16 sẽ tạo
thành bảng khoá. Một vòng của phép mã hoá đƣợc mô tả trên hình 2.
3. áp dụng phép hoán vị IP-1(R16L16). Chú ý thứ tự đã đƣợc đảo của R16 va L16 .

Li-1 L i-1

f
Ki
i
+-
1
i
-
Li-1 1 Ri

Hình 3 : Một vòng của DES

Hàm f có hai biến vào : biến thứ nhất A là xâu bit độ dài 32, biến thứ hai j là
một xâu bit độ dài 48. đầu ra của f là một xâu bit độ dài 32.
Các bước thực hiện:
Biến thứ nhất A đƣợc mở rộng thành một xâu bit độ dài 48 theo một hàm mở
rộng cố định E. E9A) gồm 32 bit của A (đƣợc hoán vị theo cách cố định ) với 16
bit xuất hiên hai lần.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
22
Tính E(A)  j và viết kết quả thành một chuỗi 8 xâu 6 bit = B1B2B3B4B5B6B7B8
Bƣớc tiếp theo dùng 8 bảng S1,S2,…,S8 ( đƣợc gọi tắt là cái hộp S). Với mỗi Si
là một bảng 4×6 cố định có các hàng là các số nguyên từ 0 đến 15. Với xâu bit
có độ dài 6 (Kí hiệu B1 = b1b2b3b4b5b6), ta tính Si(Bi) nhƣ sau: Hai bit b1b2 xác
định biểu diễn
nhị phân của hàng r của Si ( 0  r  3) và 4 bit (b2b3b4b5) xác định biểu diễn nhị
phân của cột c của Si (0  c  15) . Khi đó Si (Bi) sẽ xác định phần tử Si(r,c);
phần tử này viết dƣới dạng nhị phân là một xaau bit có độ dài 4. (Bởi vậy , mỗi
Si có thể đƣợc coi là một hàm mã mà đầu vào là một xâu bit có độ dài 2 và một
xâu bit có độ dài 4, còn đầu ra là một xâu bit có độ dài4). Bằng cách tƣơng tự
tính các Ci = Si (Bi) , 1  i  8 .
Xâu bit C = C1C2…C8 có độ dài 32 đƣợc hoán vị theo phép hoán vị cố định P.
Xâu kết quả là P(C) đƣợc xác định là f(A,J).
Hàm f đƣợc mô tả trong hình 1.3. Chủ yếu nó gồm một phép thế (sử dụng hộp
S), tiếp sau đó là phép hoán vị P .

Hình 4: .Hàm f của DES


Cuối cùng ta cần mô tả việc tính toán bảng khoá từ khoá K. Trên thực tế , K là
một xâu bit độ dài 64 , tring đó 56 bit là khoá và 5 bit để kiểm tra tính chẵn lẻ
nhằm phat hiện sai. Các bit ở các vị trí 8, 16, ….,64 đƣợc xác định sao cho mỗi
byte chứa một số lẻ các số 1 . Bởi vậy một sai sót đơn lẻ có thể phát hiện đƣợc
trong mỗi nhóm 8 bit.
Các bit kiểm trabị bỏ qua trong quá trình tính toán bảng khoá.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
23
1. Với một khoá K 64 bit cho trƣớc , ta loại bỏ các bit kiểm tra tính chẵn lẻ và
hoán vị cá bit còn lại của K theo phép hoán vị cố định PC-1 (K) = C0D0.
2. Với i thay đổi từ 1 đến 16:
Ci = LSi(Ci-1)
Di = LSi (Di-1)
Và Ki = PC-2 (CiDi). LSi thể hiện sự dịch sang trái 1 hoặc 2 bit , phụ thuộc vào
giá trị của i:dịch 1vị trs nếu i = 1,2,9 hoặc 16 và dịch 2 vị trí trong các trƣờng
hợp còn lại . PC-2 là một hoán vị cố định khác.
Việc tính bảng khoá đƣợc mô tả trên hình 1.4

Hình 5: Tính bảng khoá DES


c. Giải mã DES
Sau khi thay đổi , hoán vị ,, và dịch vòng , bạn có thể nghĩ rằng thuật toán
giải mã hoàn toàn khác và phức tạp , khó hiểu nhƣ thuật toán mã hoá . Trái lại ,
DES sử dụng cùng thuật toán làm việc cho cả mã hoá và giải mã.
Với DES , có thể sử dụng cùng chức năng để giải mã hoá một khối. Chỉ có sự
khác nhau đó là các khoá phải đƣợc sử dụng theo thứ tự ngƣợc lại . Nghĩa là ,
nếu các khoá mã hoá cho mỗi vòng là k1,k2,k3,….,k15,k16 thì các khoá giải là
k16,k15,….,k3,k2,k1. Thuật tóan ding để sinh khoá đƣợc sử dụng cho mỗi vòng
theo kiểu vòng quanh . Khoá đƣợc dịch phải , và số những vị trí đƣợc đƣợc tính
tứ cuối của bảng lên, thay vì từ trên xuống .
d. Tranh luận về DES
Khi DES đƣợc đề xuất nhƣ một chuẩn mật mã , đã có rất nhiều ý kiến phê
phán . Một lý do phản đối DES có liên quan đến các hộp S . Mọi tính toán liên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
24
quan đến DES ngoại trừ các hộp S đều tuyến tính , tức việc tính phép hoặc loại
trừ của hai đầu ra cũng giống nhƣ phép hoặc loại trừ của hai đầu vào rồi tính
toán đầu ra . Các hộp S- chứa đựng thành phần phi tuyến của của hệ mật là yếu
tố quan trọng nhất đối với độ mật của hệ thống. Tuy nhiên tiêu chuẩn xây dựng
các hộp S không đƣợc biết đầy đủ. Một số ngƣời đã gợi ý là các hộp S phải chứa
các “cửa sập” đƣợc dấu kín, cho phép Cụ An ninh quốc gia Mỹ (NSA) giải mãs
đƣợc các thông báo nhƣng vẫn giữ đƣơc mức độ an toàn của DES. Dĩ nhiên ta
không thể bác bỏ đƣợc khẳng định này, tuy nhiên không có một chứng cớ nào
đƣợc đƣa ras để chứng tỏ rằng trong thực tế có các cửa sập nhƣ vậy.
Năm 1976 NSA đã khẳng định rằng, tính chất sau của hộp S là tiêu chuẩn thiết
kế:
Mỗi hàng trong mỗi họp S là một hoán vị của các số nguyên 0, 1, …15.
Không một hộp S nào là một hàm Affine hoặc tuyến tính các đầu vào của nó.
Việc thay đổi một bit vào của S phải tạo nên sự thay đổi ít nhất là hai bit ra.
Đối với hộp S bất kỳ với đầu vào x bất kì S (s) và S(x  001100) phải khác
nhau tối thiểu là hai bit (trong đó x là xâu bit độ dai 6).
Hai tính chất khác nhau sau đây của các hộp S có thể coi là đƣợc rút ra từ tiêu
chuẩn thiết kế của NSA.
Với hộp S bất kì, đầu vào x bất kì với e, f  {0,1}:
S(x)  S(x  11 ef00).
Với hộp S bất kì, nếu cố định một bit vào và xem xét giá trị của một bit đầu ra
cố định thì các mẫu vào để bit ra này bằng 0 sẽ xấp xỉ bằng số mẫu ra để bit đó
bằng 1. (Chú ý rằng, nếu cố định giá trị bit vào thứ nhất hoặc bit vào thứ 6 thì có
16 mẫu vào làm một bit ra cụ thể bằng 0 và có 16 mẫu vào làm cho bit này bằng
1. Với các bit vào từ bít thứ hai đến bit thứ 5 thì điều này không còn dúng nữa.
Tuy nhiên phân bố kết quả vẫn gần với phân bố đều. Chính xác hơn, với một
hộp S bất kì, nếu ra cố định giá trị của một bit vào bất kì thì số mẫy vào làm cho
một bit ra cố định nào đó có giá trị 0 hoặc luôn nằm trong khoảng 13 đến 19).
Ngƣời ta không biếts rõ là liệu còn một chuẩn thiết kế bào đầy đủ hơn đƣợc
dùng trong việc xây dựng hộp S hay không.
Sự phản đối xác đáng nhất về DES chính là kích thƣcớ của không gian khoá :
56
2 là quá nhỏ để đảm bảo an toàn thực sự. Nhiều thiết bị chuyên dụng đã đƣợc
đề xuất nhằm phục vụ cho việc tấn công với bản rõ đã biết. Phép tấn công này
chủ yếu thực hiện tìm khoá theo phƣơng pháp vét cạn. Tức cới bản rõ x64 bít và
bản mã y tƣơng ứng, mỗi khoá đều có thể đƣợc kiểm tra cho tới khi tìm đƣợc
một khoá K thoả mãns ek (x) = y. Cần chú ý là có thể nhiều hơn một khoá K nhƣ
vậy.
Ngay từ năm 1977, Diffie và Hellman đã gợi ý rằng có thể xây dựng một
chíp VLSI (mạch tích hợp mật độ lớn) có khả năng kiểm tra đƣợc 10 6 khoá/giây.
Một máy có thể tìm toàn bộ không gian khoá cỡ 10 6 trong khoảng 1 ngày. Họ
ƣớc tính chi phí để tạo một máy nhƣ vậy khoảng 2.107$.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
25
Trong cuộc hội thảo tại hội nghị CRYPTO’93, Michael Wiener đã đƣa ra
một thiết kế rất cụ thể về máy tìm khoá. Máy này xây dựng trên một chíp tìm
khoá, có khả năng thực hiện đồng thời 16 phép mã và tốc độ tới 5.10 7 khoá/giây.
Với công nghệ hiện nay, chi phí chế tạo khoảng 10,5$/ chip. Giá của một khung
máy chứa 5760 chíp vào khoảng 100.000$ và nhƣ vậy nó có khả năng tìm ra
một khoá của DES trong khoảng 1,5v ngày. Một thiết bị dùng 10 khung máy
nhƣ vậy có giá chừng 106$ sẽ giảm thời gian tìm kiếm khoá trung bình xuống
còn 3,5 giờ.
e. Ứng dụng của DES
Mặc dù việc mô tả DES khá dài song ngƣời ta có thể thực hiện DES rất hữu
hiệu bằng cả phần cứng lẫn phần mềm. Các phép toán duy nhất cần đƣợc thực
hiện là phép hoặc loại trừ xâu bit. Hàm mở rộng E, các hộp S, các hoán vị IP và
P và việc tính toán các giá trị K1…., K16 đều có thể thực hiện đƣợc cùng lúc
bằng tra bảng (trong phần mềm) hoặc bằng cách nối cứng chúng thành một
mạch.
Các ứng dụng phần cứng hiện thời có thể đạt đƣợc tốc độ mã hoá cực nhanh.
Năm 1991 đã có 45s ứng dụng phần cứng và chƣơng trình cơ sở của DES đƣợc
uỷ ban tiêu chuẩn quốc gia Mỹ (NBS) chấp thuận.
Một ứng dụng quan trọngs của DES là trong giao dịch ngân hàng Mỹ -
(ABA) DES đƣợc dùng để mã hoá các số định danh cá nhân (PIN) và việc
chuyển khoản bằng mảy thủ quỹ tự động (ATM). DES cũng đƣợc hệ thông chi
trả giữa các nhà băng của ngân hàng hối đoái (CHIPS) dùng để xác thực các
giao dịch. DES còn đƣợc sử dụng rộng rãi trong các tổ chức chính phủ. Chẳng
hạn nhƣ bộ năng lƣợng, Bộ tƣ pháp và Hệ thống dự trữ liên bang.

1.4. Hệ mã hóa AES

Trong mật mã học, AES ( viết tắt của từ tiếng Anh: Advanced Encryption
Standard, hay tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối đƣợc
chính phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa. Giống nhƣ tiêu chuẩn tiền
nhiện DES, AES đƣợc kỳ vọng áp dụng trên phạm vi thế giới và đã đƣợc nghiên
cứu rất kỹ lƣỡng. AES đƣợc chấp thuận làm tiêu chuẩn liên bang bởi viện tiêu
chuẩn và công nghệ quốc gia Hoa Kỳ (NIST ) sau một quá trình tiêu chuẩn hóa
kéo dài 5 năm.
Thuật toán đƣợc thiết kế bởi hai nhà mật mã học ngƣời Bỉ: Joan Daemen
và Vincent Rijmen (lấy tên chung là “Rijnadael” khi tham gia cuộc tthiết kế
AES).
Thông tin chung
Tác giả Vincent Rijmen và Joan Daemen
Năm công bố 1998
Phát triển từ Square (mã hóa)
Các thuật toán dựa trên Crypton (mã hóa), Anubis (mã
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
26
hóa),GRAND CRU
Chi tiết thuật toán
Khối dữ liệu 128 bit
Độ dài khóa 128,192 hoặc 256 bit
Cấu trúc Mạng thay thế- hoán vị
Số chu trình 10,12 hoặc 14 (tùy theo độ dài khóa)

Thuật toán đƣợc dựa vào bảng thiết kế Square có trƣớc của Daemen và
Rijmen; còn Square lại đƣợc thiết kế dựa trên Shark.
Khác với DES sử dụng mạng Feistel, Rijndael sử dụng mạng thay thế- hoán
vị, AES có thể dễ dàng thực hiện vớ tố độ cao bằng phần mềm hoặc phần cứng
và không đòi hỏi nhiều bộ nhớ. Do AES là một tiêu chuẩn mã hóa mới, nó đang
đƣợc sử dụng rộng rãi trong nhièu ứng dụng.
Mô tả thuật toán

Trong bƣớc addRoundKey, mỗi byte đƣợc thiết kế với một byte trong khóa
con của chu trình sử dụng phép toán XOR ().

Trong bƣớc Subyte, mỗi byte đƣợc thay thế bằng một byte theo bang tra, S; b ij=
S(aij )

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
27
Trong bƣớc ShiftRows, các byte trong mõi hàng đƣợc dịch vòng trái. Số vị trí
dịch chuyển tùy thuộc từng bảng.

Trong bƣớc MixColumns, mỗi cột đƣợc nhân với hệ số cố định c(x)
Mặc dù 2 tên AES và Rijndael vẫn thƣờng đƣợc thay thế cho nhau nhƣng
trên thực tế thì 2 thuật toán không hoàn toàn giống nhau. AES chỉ làm việc với
khối dữ liệu 128 bít và khóa có độ dài 128, 192 hoặc 256 bít trong khi Rijndael
có thể làm việc với khối dữ liệu và khóa có độ dài bất kì là bội số của 32 bít nằm
trong khoảng từ 128 tới 256 bít.
Các khóa con sử dụng trong các chu trình đƣợc tạo ra bởi quá trình tạo
khóa con Rijndael.
Hầu hết các phép toán trong thuật toán AES đều đựơc thực hiện trong một
trƣờng hữu hạn.
AES làm việc với từng khối dữ liệu 4×4 byte (tiếng Anh: state, khối trong
Rijndael có thể thêm một cột). Quá trình mã hóa bao gồm 4 bƣớc:
1. AddRoundKey __mỗi byte của khối đƣợc kết hợp với khóa con, các
khóa con này đƣợc tạo ra từ quá trình tạo khóa con Rijndael.
2. SubBytes __đây là phép thế (phi tuyến) trong đó mỗi byte sẽ đƣợc thế
bằng một byte khác theo bảng tra (Rijndael-box).
3. ShiftRows __đổi chỗ, các hàng trong khối đƣợc dịch vòng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
28
4. MixColumns __quá trình trộn làm việc theo các cột trong khối theo một
phép biến đổi tuyến tính.
Tại chu trình cuối thì bƣớc MixColumns đƣợc thay thế bằng bƣớc
AddRoundKey.
Bƣớc AddRoundKey
Tại bƣớc này, khóa con đƣợc kết hợp với các khối. Khóa con trong mỗi chu
trình đƣợc tạo ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa
con có đọ dài giống nhƣ các khối. Quá trình kết hợp đƣợc thực hiện bằng cách
XOR từng bít của khóa con với khối dữ liệu.
Bƣớc SubBytes
Các bƣớc đƣợc thế thông qua bảng tra S-box. Đây chính là quá trình phi
tuyến của thuật toán. Hộp S-box này đƣợc tạo ra từ một phép nghịch đảo trong
trƣờng hữu hạn GF (28) có tính chất phi tuyến. Để chống lại các tấn công dựa
trên các đặc tính đại số, hộp S-box này đƣợc tạo nên bằng cách kết hợp phép
nghịch đảo với một phép biến đổi khả nghịch. Hộp S-box này cũng đƣợc chọn
để tránh các điểm cố định (fixed point).
Bƣớc ShiftRows
Các hàng đƣợc dịch vòng một số vị trí nhất định. Đối với AES, hàng đầu
đƣợc giữ nguyên. Mỗi byte của hàng thứ 2 đƣợc dịch trái một vị trí. Tƣơng tự
các hàng thứ 3 và 4 đƣợc dịch 2 và 3 vị trí. Do vậy, mỗi cột khối đầu ra của
bƣớc này sẽ bao gồm các byte ở đủ 4 cột khối đầu vào. Đối với Rijndael với độ
dài khối khác nhau thì số vị trí dịch chuyển cũng khác nhau.
Bƣớc MixColumns
Mỗi cột đƣợc kết hợp lại theo một phép biến đổi tuyến tính khả nghịch. Mỗi
khối 4 byte đầu vào sẽ cho một khối 4 byte đầu ra với tính chất là mỗi byte ở
đầu vào đều ảnh hƣởng tới cả 4 byte đầu ra. Cùng với bƣớc ShiftRows,
MixColumns đã tạo ra tính chất khuyến tán cho thuật toán. Mỗi cột đƣợc xem
nhƣ một đa thức trong trƣờng hữu hạn và đƣợc nhân (modun x 4 +1) với đa thức
c(x) = 3x3 + x2 + x + 2. Vì thế, bƣớc này có thể đƣợc xem là phép nhân ma trận
trong trƣờng hữu hạn.
Tối ƣu hóa
Đối với các hệ thống 32 bít hoặc lớn hơn, ta có thể tăng tốc độ thực hiện
thuật toán bằng cách chuyển đổi các bƣớc Subbytes, ShiftRows và MixColumns
thành dạng bảng. Mỗi bứoc sẽ tƣơng ứng với 4 bảng với 256 mục, mỗi mục là 1
từ 32 bít và chiếm 4096 byte trong bộ nhớ. Khi đó, mỗi chu trình sẽ đƣợc bao

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
29
gồm 16 lần tra bảng và 12 lần thực hiện phép XOR 32 bít cùng với 4 phép XOR
trong bƣớc AddRoundKey.
Trong trƣờng hợp kích thƣớc các bảng vẫn lớn hơn so với thiết bị thực hiện
thì các bƣớc tra bảng sẽ thực hiện lần lƣợt với từng bảng theo vòng tròn.

2. Mã hóa không đối xứng (Mã hóa khóa công khai)


2.1. Định nghĩa
Thuật toán mã hóa công khai là thuật toán đƣợc thiết kế sao cho khóa mã
hóa là khác so với khóa giải mã. Mà khóa giải mã hóa không thể tính toán đƣợc
từ khóa mã hóa .Khóa mã hóa gọi là khóa công khai (public key ), khóa giải mã
đƣợc gọi là khóa riêng (private key)

B¶n râ B¶n m· Gi¶i m· B¶n râ

Khãa m· Khãa gi¶i

Hình 6: Mã hóa với khóa mã và giải mã khác nhau

Đặc trƣng nổi bật của hệ mã hóa công khai là cả khóa công khai (public key
) và bản tin mã hóa (ciphertext) đều có thể gửi đi trên một kênh thông tin không
an toàn

2.2.Các điều kiện của một hệ mã hóa công khai

Việc tính toán ra cặp khóa công khai KB và bí mật kB dựa trên cơ sở các
điều kiện ban đầu phải đƣợc thực hiện một cách dễ dàng, nghĩa là thực hiện
trong thời gian đa thức .
Ngƣời gửi A có đƣợc khóa công khai của ngƣời nhận B và có bản tin P
cần gửi đi có thể dễ dàng tạo ra đƣợc bản mã C.
C =EKB(P) = EB (P)
Công việc này cũng trong thời gian đa thức .
Ngƣời nhận B khi nhận đƣợc bản tin mã hóa C với khóa bí mật kB thì có
thể giải mã bản tin trong thời gian đa thức
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
30
P =DkB (C) = DB [EB(M)]
Nếu kẻ địch biết khóa công khai KB cố gắng tính toán khóa bí mật thì khi
đó chúng phải đƣơng đầu với trƣờng hợp nan giải, trƣờng hợp này đòi hỏi nhiều
yêu cầu không khả thi về thời gian
Nếu kẻ địch biết đƣợc cặp (KB,C) và cố gắng tính toán ra bản rõ P thì giải
quyết bài toán khó với số phép thử vô cùng lớn, do đó không khả thi

2.3. Thuật toán mã hóa RSA

a. Khái niệm hệ mã hóa RSA

Khái niệm hệ mật mã RSA đã đƣợc ra đời năm 1976 bởi các tác giả
R.RivetsK,A.Shamir , và L.Adleman. Hệ mã hóa này dựa trên cơ sở của hai bài
toán
 Bài toán Logarith rời rạc
 Bài toán phân tích thành thừa số
Trong hệ mã hóa RSA các bản rõ, các bản mã và các khóa (public key và
private key) là thuộc tập số nguyên ZN ={1,…,N-1}. Trong đó tập ZN với N
=pxq là các số nguyên tố khác nhau cùnh với phép cộng, phép nhân mođun N
tạo ra mođun số học N
Khóa mã hóa EKB là cặp số nguyên (N, KB) và khóa giải mã DkB là cặp số
nguyên (N, kB), các số là rất lớn, số N có thể lên tới hàng trăm chữ số
Các phƣơng pháp mã hóa và giải mã hóa là rất dễ dàng.
Công việc mã hóa là sự biến đổi bản rõ P (Plaintext) thành bản mã C
(ciphertext) dựa trên cặp khóa công khai KB và bản rõ P theo công thức sau đây
C = EKB(P) = pKB (mod N) (1)
Công việc giảI ma là sự biến đổi ngƣợc lại bản mã C thành bản rõ P dựa
trên cặp khóa bí mật kB , mođun N theo công thức sau :
P =DkB(C) =CkB (mod N) (2)
Dễ thấy rằng, bản rõ ban đầu cần đƣợc biến đổi một cách thích hợp thành
bản mã, sau đó để có thể tái tạo lại bản rõ ban đầu từ chính bản mã đó:
P =DkB (EKB(P)) (3)
Thay thế (1) vào (2) ta có:
( PKB)kB =P (mod N) (4)
Ta thấy N =pxq với p, q là số nguyên tố. Trong toán học đã chứng minh
đƣợc rằng, nếu N là số nguyên tố thì công thức (4) sẽ có lời giải khi và chỉ khi:
KB.kB  1 (mod  (N)) (5)
Trong đó  (N) =LCM(p-1, q-1 ).
(Lest Common Multiple) là bội số chung nhỏ nhất .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
31
Nói một cách khác, đầu tiên ngƣời nhận B lựa chọn một khóa công khai K B
một cách ngẫu nhiên. Khi đó khóa bí mật kB đƣợc tính ra bằng công thức (5).
Điều này hoàn toàn tính đƣợc vì khi B biết đƣợc cặp số nguyên tố (p, q) thì sẽ
tính đƣợc  (N).

Chän p vµ q

TÝnh N=pxq

B¶n râ P
TÝnh  (N)
KB
C=PKB (mod N)
Chän khãa KB
B¶n m· c
kB
Chän khãa kB P= c k (mod N)
B

B¶n râ gèc
Hình
H×nh 7: Sơ đồ các bƣớc thực hiện mã hóa theo thuật toán RSA

Ví dụ:
N=11413=101x113,  (N) =100x112 =11200 =26x52x7. KB phải chọn sao cho
không chia hết cho 2,5, 7. Chọn, chẳng hạn KB =3533 khi đó kB =KB-1
=6579mod11200. Và ta có khóa công khai là (N,KB)=(11413,3533) khóa bí mật
là 6759. Phép lập mã và giải mã là
EKB(P) =PKB (mod N) =P3533 (mod 11413)
DkB(C) =CkB (mod N) =C6579 (mod 11413)
Chẳng hạn với PC =9726, ta có C =5761

b. Độ an toàn của hệ RSA


Một nhận định chung là tất cả các cuộc tấn công giải mã đều mang mục
đích không tốt. Tính bảo mật của RSA chủ yếu dựa vào việc giữ bí mật khóa
giải mã hay giữ bí mật các thừa số p, q của N. Ta thử xét một vài phƣơng thức

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
32
tấn công điển hình của kẻ địch nhằm giải mã trong thuật toán này (nhằm xâm
phạm tới các yếu tố bí mật đó).
Trƣờng hợp 1: chúng ta xét đếnơtrƣờng hợp khi kẻ địch nào đó biết đƣợc mođun
N, khóa công khai KB và bản tin mã hóa C, khi đó kể địch sẽ tìm ra bản tin gốc

(Plaintext) nhƣ thế nào. Để làm đƣợc điều đó kẻ địch thƣờng tấn côngvào hệ
thống mật mã bằng hai phƣơng thức sau đây:

Phƣơng thức thứ nhất:


Trƣớc tiên dựa vào phân tích thừa số mô đun N. Tiếp theo sau chúng sẽ tìm
cách tính toán ra hai số nguyên tố p và q, và có khả năng thành công khi đó sẽ
tính đƣợc (N) + (p-1) (q-1) và khoá bí mật KB. Ta thấy N cần phải là tích của
hai số nguyên tố, vì nếu N là tích của hai số nguyên tố thì thuật toán phân tích
thừa số đơn giản cần tối đa N1/2 bƣớc, bởi vì có một số nguyên tố nhỏ hơn N1/2.
Mặt khác, nếu N là tích của n số nguyên tố, thì thuật toán phân tích thừa số đơn
giản cần tối đa N1/n bƣớc.

Phƣơng thức thứ hai:


Phƣơng thức tấn công thứ hai vào hệ mã hóa RSA là có thể khởi đầu bằng
cách giải quyết trƣờng hợp thích hợp của bài toán logarit rời rạc. Trƣờng hợp
này kẻ địch đã có trong tay bản mã C và khóa công khai KB tức là có cặp (KB,
C).

Trƣờng hợp 2: Chúng ta xét trƣờng hợp khi kẻ địch nào đó biết đƣợc mođun N
và (N), khi đó kẻ địch sẽ tìm ra bản tin gốc (Plaintext) bằng cách sau:
Biết (N) thì có thể tính p, q theo hệ phƣơng trình:
P * q = N, (p -1) (q-1) = (N)
Do đó p và q là nghiệm của phƣơng trình bậc hai:
x2- (n - (N) +1 ) + n = 0.
Ví dụ: n = 84773093, và biết (N) = 84754668. Giải phƣơng trình bậc hai tƣơng
ứng ta sẽ đƣợc hai nghiệm p = 9539 và q = 8887.

c. Một số tính chất của hệ RSA


Trong các hệ mật mã RSA, một bản tin có thể được mã hóa trong thời thời
gian tuyến tính.
Đối với các bản tin dài, độ dài của các số đƣợc dùng cho các khóa có thể
đƣợc coi nhƣ là hằng. Tƣơng tự nhƣ vậy, nâng một số lên lũy thừa đƣợc thực
hiện trong thời gian hằng. Thực ra tham số này che dấu nhieeuf chi tiết cài đặt
có liên quan đến việc tính toán với các con số dài, chi phí của các phép toán thực
sự là một yếu tố ngăn cản sự phổ biến ứng dụng của phƣơng pháp này. Phần
quan trọng nhất của việc tính toán có liên quan đến việc mã hoá bản tin. Nhƣng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
33
chắc chắn là sẽ không có hệ mã hoá nào hết nếu không tính ra đƣợc các khóa
của chúng là các số lớn.
Các khóa cho hệ mã hóa RSA có thể được tạo ra mà không phải tính toán quá
nhiều.
Một lần nữa, ta lại nói đến các phƣơng pháp kiểm tra số nguyên tố. Mỗi số
nguyên tố lớn có thể đƣợc phát sinh bằng cách đầu tiên tạo ra một số ngẫu nhiên
lớn, sau đó kiểm tra các số kế tiếp cho tới khi tìm đƣợc một số nguyên tố. Một
phƣơng pháp đơn giản thực hiện một phép tính trên một con số ngẫu nhiên, với
xác suất 1/2 sẽ chứng minh rằng số đƣợc kiểm tra không phải nguyên tố. Bƣớc
cuối cùng là tính p dựa vào thuật toán Euclid.
Nhƣ phần trên đã trình bày trong hệ mã hóa công khai thì khóa giải mã
(Privatekey) KB và các thừa số p, q là đƣợc giữ bí mật và sự thành công của
phƣơng pháp là tuỳ thuộc vào kẻ địch có khả năng tìm ra đƣợc giá trị của KB hay
không nếu cho trƣớc N và KB. Rất khó có thể tìm ra đƣợc KB từ KB, cần biết về
p và q. Nhƣ vậy cần phân tích N ra thành thừa số để tính p và q. Nhƣng việc
phân tích ra thừa số là một việc làm tốn rất nhiều thời gian, với kỹ thuật hiện đại
ngày nay thì cần tới hàng triệu năm để phân tích một số có 200 chữ số ra thừa
số.
Độ an toàn của thuật toán RSA dựa trên cơ sở những khó khăn của việc xác
định các thừa số nguyên tố của một số lớn. Bảng dƣới đây cho biết các thời gian
dự đoán, giả sử rằng mỗi phép toán thực hiện trong một micro giây.

Số các chữ số trong Thời gian phân tích


số đƣợc phân tích
50 4 giờ
75 104 giờ
100 74 năm
200 4.000.000 năm
300 5 * 1015 năm
500 4 *1025 năm

Bảng: Thời gian dự đoán thực hiện phép tính.


d. ứng dụng của RSA.
Hệ mã hóa RSA đƣợc ứng dụng rộng rãi chủ yếu cho web và các chƣơng
trình email. Ngày nay, RSA còn đƣợc sử dụng rộng rãi trong các công nghệ bảo
mật sử dụng cho thƣơng mại điện tử (ví dụ nhƣ công nghệ bảo mật SSL v).

2.4. Hàm băm.


Chúng ta có thể thấy rằng các sơ đồ chữ kí nói chung chỉ cho phép kí các
bức điện nhỏ. Thông thƣờng khi sử dụng một sơ đồ chữ ký, chữ ký đƣợc sinh ra
có độ dài lớn hơn so với văn bản ký, do vậy kích thƣớc văn bản sau khi ký sẽ
tăng lên rất nhiều. Và trên thực tế ta cần ký trên các bức điện rất dài, chẳng hạn,
một tài liệu về pháp luật có thể dài nhiều Megabyte.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
34
Một cách đơn giản để giải bài toán này là chia các bức điện dài thành nhiều
đoạn sau đó kí lên các đoạn đó độc lập nhau. Điều này cũng tƣơng tự nhƣ mã
hóa một chuỗi dài bản rõ bằng cách mã hóa mỗi kí tự bản rõ độc lập nhau sử
dụng cùng một bản khóa. (Ví dụ: Chế độ ECB trong mã hóa).
Biện pháp này có một số vấn đề trong việc tạo ra các chữ kí số. Trƣớc hết,
với một bức điện dài, ta kết thúc bằng một chữ kí rất lớn. Nhƣợc điểm khác là
các sơ đồ chữ kí “an toàn” lại chậm vì chúng dùng các phƣơng pháp số học
phức tạp nhƣ số mũ modulo. Tuy nhiên, vấn đề nghiêm trọng hơn với phép toán
này là bức điện đã kí có thể bị sắp xếp lại các đoạn khác nhau, hoặc một số đoạn
trong chúng có thể bị loại bỏ và bức điện nhận đƣợc vẫn xác minh đƣợc. Ta cần
bảo vệ sự nguyên vẹn của toàn bộ bức điện và điều này không thể thực hiện
đƣợc bằng cách kí độc lập từng mẩu nhỏ của chúng.
Giải pháp cho tất cả các vấn đề này là dùng hàm HASH mã hóa khóa công
khai nhanh. Hàm này lấy một bức điện có độ dài tuỳ ý và tạo ra một bản tóm
lƣợc thông báo có kích thƣớc quy định (ví dụv: 160 bít với DSS) sau đó bản tóm
lƣợc thônng báo sẽ đƣợc kí thay vì kí trực tiếp trên văn bản gốc.
Khi Bob muốn kí bức điện x, trƣớc tiên anh ta xây dựng một bản tóm lƣợc
thông báo z = h(x) và sau đó tính y = sigk(z). Bob truyền cặp (x,y) trên kênh. Xét
thấy có thể thực hiện xác minh (bởi ai đób) bằng cách trƣớc hết khôi phục bản
tóm lƣợc thông báo z = h(x) bằng hàm h công khai và sau đó kiểm tra xem
verk(x,y) có = true, hay không.

Bức điện X có độ dài bất kì

Bản tóm lƣợc thông báo z = h(x)

Chữ ký y = sigk(z)

Hình 8: Ký một bản tóm lƣợc thông báo

Bản tóm lƣợc (giá trị của hàm băm) còn đƣợc gọi là đại diện văn bản (Message
digest). Một message digest là có chiều dài cố định với các đặc điểm nhƣ sau:
 Giá trị trả lại của hàm băm duy nhất đối với mỗi giá trị đầu vào. Bất
kỳ sự thay đổi nào của dữ liệu vào cũng đều dẫn đến một kết quả
sai.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
35
 Từ đại diện văn bản không thể suy ra đƣợc dữ liệu gốc là gì, chính
vì điều này mà ngƣời ta gọi là one -way.
Nhƣ đã đề cập trong phần mã hóa khóa khóa công khai, nó có thể sử dụng khóa
bí mật của bạn cho việc mã hóa và khóa khóa công khai cho việc giải mã. Cách
sử dụng cặp khóa nhƣ vậy không đƣợc dùng khi cần có sự bí mật thông tin, mà
chủ yếu nó dùng để “ký” cho dữ liệu. Thay vào việc đi mã hóa dữ liệu, các phần
mềm kí tạo ra message digest của dữ liệu và sử dụng khóa bí mật để mã hóa đại
diện đó. Hình 1.8 đƣa ra mô hình đơn giản hóa việc chữ kí số đƣợc sử dụng nhƣ
thế nào để kiểm tra tính toàn vẹn của dữ liệu đƣợc ký.
Trong hình 1.8 có hai phần đƣợc gửi cho ngƣời nhận: Dữ liệu gốc và chữ kí
số. Để kiểm tra tính toàn vẹn của dữ liệu, ngƣời nhận trƣớc tiên sử dụng khóa
khóa công khai của ngƣời kí để giải mã đại diện văn bản (Message digest) đã
đƣợc mã hóa và khóa bí mật của ngƣời ký. Dựa vào thông tin về thuật toán băm
trong chữ ký số, ngƣời nhận sẽ tạo ra đại diện văn bản từ dữ liệu gốc và mới.
Nếu các đại diện này giống nhau tức là dữ liệu không bị thay đổi từ lúc đƣợc ký.
Nếu không giống nhau có nghĩa là dữ liệu đã bị giả mạo điều này cũng có thể
xảy ra khi sử dụng hai khóa khoá khóa công khai và khóa bí mật không tƣơng
ứng.
Message

Message

Message

H
Compare
K K

D
E

a, Using conventional encryption


Message

Message

Message

H
Compare
Kprivate Kpublic

D
E
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
36
b, Using public-key encryption
Hình 9: Sử dụng chữ ký số để kiểm tra tính toàn vẹn của dữ liệu.

Nếu nhƣ hai đại diện văn bản giống nhau, ngƣời nhận có thể chắc chắn rằng
khóa khóa công khai đƣợc sử dụng để giải mã chữ ký số là tƣơng ứng với khóa
bí mật đƣợc sử dụng để tạo ra chữ ký số. Để xác thực định danh của một đối
tƣợng cũng cần phải xác thực khóa khóa công khai của đối tƣợng đó.
Trong một vài trƣờng hợp, chữ ký số đƣợc đánh giá là có thể thay thế chữ ký
bằng tay. Chữ ký số chỉ có thể đảm bảo khi khóa bí mật không bị lộ. Khi khóa bí
mật bị lộ thì ngƣời sở hữu chữ ký không thể ngăn chặn đƣợc việc bị giả mạo chữ
ký.

iii. CHỮ KÍ Sè

chữ kí của một ngƣời trên một tài liệu (thƣờng đặt ở cuối bản tin ) để xác
nhận nguồn gốc hay trách nhiệm với tài liệu đó.
Với tài liệu “số hoá” (điện tử),nếu chữ kí cũng đặt ở cuối bản tin, thì việc
sao chép lại “chữ kí số” là hoàn toàndễ dàng và không thể phân biệt dƣợc bản
gốc với bản saovì chữ kí số là các số 0,1.
Vậy một “chữ kí số” đặt cuối “tài liệu loại số” không thể chịu trách
nhiệm đối với toàn bộ nội dung văn bản . “Chữ kí số” thể hiện trách nhiệm đối
với toàn bộ tài liệu phải là chữ kí trên từng bit của tài liệu đó.
Trong chƣơng này, em trình bày các vấn đề cơ bản nhất về chữ kí số, các
khái niệm, các tính chất, các sơ đồ kí hiện đang đƣợc sử dụng.
Chúng ta không thể kí trên bất kì tài liệu nào với độ dài tuỳ ý, vì nhƣ vậy
chữ kí sẽ có đọ dài rất lớn, ít nhất cũng dài bằng độ dài của tài liệu đƣợc kí. Với
tài liệu dài, ngƣời ta kí trên đại diện của nó. Đại diện của bản tin đƣợc thiét lập
qua Hàm băm.

1. Chữ kí số

Với chữ kí thông thƣờng, nó là một phần vật lí của tài liệu.Tuy nhiên, một
chữ kí số không gắn theo kiểu vật lí vào bức điện nên thuật toán đƣợc dùng phải
“không nhìn thấy” theo cách nào đố trên bức điện.
Thứ hai là vấn đề về kiểm tra .Chữ kí thông thƣờng đƣợc kiểm tra bằng
cách so sánh nó với các chữ kí xác thực khác. Ví dụ, ai đó kí một tấm séc để
mua hàng,nƣời bán phải so sánh chữ kí trên mảnh giấy với chữ kí nằm ở mặt su
của thẻ tín dụng để kiểm tra .Dĩ nhiên, đây không phải là phƣơng pháp an toànvì
nó dễ dàng giả mạo. Mặt khác,các chữ kí số có thể đƣợc kiểm tra nhờ dùng một
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
37
thuật toán kiểm tra công khai. Nhƣ vậy, bất kì ai cũng có thể kiểm tra đƣợc chữ
kí số. Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăng chặn đƣợc khả năng
giả mạo.
Sự khác biệt cơ bản giữa chữ kí số và chữ kí thông thƣờng bản copy tài
liệu đƣợc kí bằg chữ kí số đồng nhất với bản gốc , còn copy tài liệu có chữ kí
trên giấy thƣờng có thể khác với bản gốc.Điều này có nghĩa là phải cẩn thận
ngăn chặn một bức kí số khỏi bị dùng lại. Ví dụ. Bob kí một bức điện xác nhận
Ailice có khả năng làm một điều đó một lần. Vì thế, bản thân bức điện cần chứa
thông tin (chẳng hạn nhƣ ngày tháng)để ngăn nó khỏi bị dùng lại.
Một sơ đồ chữ kí số thƣờng chứa hai thành phần: thuật toán kí và thuật
toán xác minh. Bob có thể kí điện x dùng thuật toán kí an toàn . Chữ kí sig(x)
nhận đƣợc có thể kiểm tra bằng thuật toán kí an toàn . Chữ kí sig(x) nhận đƣợc
có thể kiểm tra bằng thuật toán xác minh công khai ver. Khi cho trƣớc cặp (x,y),
thuật toán xác minh có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kí đƣợc thực
nhƣ thế nào . Dƣới đây là định nghĩa hình thức của chữ kí:
Định nghĩa: một sơ đồ chữ kí số là bộ 5(P,A,K,S,C) trong đó :
1.P Là tập hữu hạn các bức điện (thông điệp) có thể .
2.A là tập hữu hạn các chữ kí có thể.
3.K không gian khoá là tập hữu hạn các khoá có thể.
4.Với mỗi K thuộc K tồn tại một thuật toán kí sigk  S và là một thuật toán xác
định Verk  V. Mỗi sigk:P  A vàVerk : P  A  { true,false} là hàm sao cho mỗi
thông điệp x  P và chữ kí y A thoảmãn phƣơng tình dƣới đây.

Verk= True nếu y=sing(x)


False nếu y  sing(x)

Với mỗi k thuộc K hàm sigk ,Verk là các hàm có thời gian đa thức .Verk sẽ
là hàm công khai , sigk là bí mật. không thể dễ dàng tính toán để giả mạo chữ kí
của Bob trên thông điệp x .Nghĩa là x cho trƣớc ,chỉ có Bob mới có thể tính
đƣợc y để Verk= true . Một sơ đồ chữ kí không thể an toàn vô điều kiện vì
Oscar có thể kiểm tra tất cả các chữ số y có thể có trên thông điệp x nhờ dùng
thuật toán verk công khai cho đến khi anh ta tìm thấy một chữ kí đúng.Vì thế ,
nếu có đủ thời gian ,Oscar luôn luôn có thẻ giả mạo chữ kí của Bob .Nhƣ vậy ,
giống nhƣ trƣờng hợp hệ thống mã khoá công khai , mục đích của chúng ta là
tìm các sơ đồ chữ kí số an toàn về mặt tính toán.

2. Phân loại các sơ đồ chữ kí số

Cơ chế chữ kí điện tử đƣợc chia làm hai 2 lớp , lớp chũ kí kèm thông điệp
(message appendix)và lớp chữ kí khôi phục thông điệp (message recovery).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
38
 Chữ kí kèm thông điệp: đòi hỏi thông điệp ban đầu là đầu vào giải thuật
kiểm tra .

 Chữ kí khôi phục thông điệp: thông điệp ban đầu đƣợc sinh ra từ bản thân
chữ kí.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
39
Hình 10: Hình biểu diễn phân loại ở mức tổng quan về chữ kí điện tử

ngẫu nhiên
Khôi phục thông
diệp Xác định
s
chữ kí điện tử
ngẫu nhiên
Kèm thông điệp
Xác định

2.1. Sơ đồ chữ kí kèm thông điệp


Sơ đồ chữ kí kèm thông điệp là sơ đồ đƣợc sử dụng nhiều nhất trong thực
tế. Nó dựa trên các hàm băm mã hoá đơn là dựa trên các hàm băm bất kì và ít bị
lỗi khi bị tấn công theo kiểu giả mạo.Chúng ta có thể định nghiã chính xác sơ đồ
chữ kí này nhƣ sau :

Định nghĩa :Một sơ đồ kí đòi hỏi thông điệp đầu vào là một tham số cho quá
trình xác nhận chữ kí là sơ đồ kí kèm thông điệp .Ví dụ EIGamal,DSA,Schonor.

a. Giải thuật sinh khoá:

Mỗi một thực thể tạo một khoá riêng để cho thông điệp cần khoá và một
khóa công khai tƣơng ứng để các thực thể khác xác nhận chữ kí
.
 Mỗi thựcthể A phải chọn một khoá riêng cùng với việc xác định
không gian khoá SA,k :k thuộc R ,của dạng chuyển đổi.
 SA,k xác định một anhhs xạ 1-1 từ không gian Mh vào khong gian
khoá S gọi là dạng chuyển đổi chữ kíhay cào là thuật toán kí số.
 SAtƣơng ứng (corresponding mapping)VA từ không gian Mh  S
vào tập hợp { false,true} có nghĩa là :

 VA(m,s*)=true nếu SA,k(m)=s*


 VA(m,s*)=false trong các trƣờng hợp khác.
Va là khoá công khai của A ,SA là khoá riêng của A

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
40
b. Giải thuật sinh và xác nhận chữ kí:

Thực thể A tạo một chữ kí s vào án xạ M và đƣợc xác nhận bởi thực thể B.

Quá trình sinh chữ kí

 Chọn một chữ kí k thuộc R


 Tính hàm băm m’=h(m) và s*=SA,k(m’)
 Chữ kí của A cho m là s*.Cặp m’ và s* dùng để xác nhận

Quá trình xác nhận chữ kí

 Nhận khoá công khai định danh choA và vA


 Tính hàm băm m’=h(m)và u=vA(m’,s*)
 Chấp nhận chữ kí của A cho m là s* nếu u=TRUE.

M Mh SA,k
h s
m 
m

a) TiÕn tr×nh ký th«ng ®iÖp

Mh x S VA
TRU
E

FALSE

b) TiÕn tr×nh x¸c nhËn ch÷ ký

2.2. Sơ đồ chữ kí khôi phục thông điệp


Đặc trƣng cho sơ đồ này là thông điệp có thể đƣợc khôi phục từ chính bản
thân chữ kí .Trong thực tế sơ đồ kiểu này thƣờng đƣợc kí cho các thông điệp
ngắn .
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
41
Định nghĩa

Một sơ đồ kí đƣợc gọi là có khôi phục thông điệpkhi và chỉ khi nó là sơ đồ


mà với nó mức độ hiểu biết về thông diệp là không đòi hỏi trong quá trình xác
nhận chữ kí .Ví dụ về các sơ đồ chữ kí có khôi phục thông điệp trong thực tế là
:RSA,Rabin ,Nyber –Rueppel với khoá chung .
a. Thuật toán sinh khoá
Mỗi một thực thể A phải chọn một tập hợp SA={SA,k:k thuộc R} mỗi SA,k xác
định một ánh xạ 1-1 tù không gian Mh vao không gian khoá S goi là dang
chuyển đổi chữ ký.
 SA xác định một ánh xạ tƣơng ứng(corresponding mapping) VA sao cho
VA* SA,k ánh xạ xác định MS cho tất cả k thuộc R.
 VA là khoá công khai của A, SA là khoá riêng của A.
b. Thuật toán sinh chữ ký và xác nhận chữ ký
Tiến trình sinh chữ ký: Thực thể phảI làm theo các bƣớc sau:
• Chọn một số k  R
• Tính m' = R(m) và s * = S A,k(m'). (R là hàm redundancy)
• Chữ ký của A là s *
Tiến trình xác nhận chữ ký: Thực thể B phảI làm nhƣ sau:
• Nhận khoá công khai của A là VA
• Tính m' = VA(s*)
• Xác nhận m'  MR (Nếu m'  MR thì từ chối chữ ký)
• Khôi phục m từ m' bằng cách tính R -1(m')

SA,k S
M R M
MR
s*=SA,k(m'
m' m'
m' )

Hình 12: Sơ đồ chữ ký khôi phục thông điêp


3. Một số sơ đồ chữ ký cơ bản
Sau đây chúng ta sẽ nghiên cứu các sơ đồ chữ ký cơ bản nhất và có ứng
dụng rộng rãi cũng nhƣ đáng tin cậy nhất hiện nay .
3.1. Sơ đồ chữ ký RSA
Chúng ta sẽ nghiên cứu đến sơ đồ chữ ký RSA và các sơ đồ tƣơng tự .
Đặc điểm của các sơ đồ chữ ký này là mức độ tính toán phụ thuộc hoàn toàn vào
độ lớn của giải thuật giải quyết các bài toán nhân số nguyên – bài toán luỹ thừa .
Sơ đồ chữ ký bao gồm cả hai loại kèm thông điệp và khôi phục thông điệp . Sơ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
42
đồ chữ ký RSA đƣợc phát minh bởi 3 nhà nghiên cứu Rivest, Shamir và
Adleman, đây là sơ đồ có ứng dụng thực tế rộng rãi nhất dựa trên công nghệ sử
dụng khoá chung. Các phƣơng pháp tấn công RSA đầu tiên (multicative
property) và các vấn đề khác liên quan tới chữ ký RSA đƣợc đƣa ra bởi Davia,
Jonge và Chaum.

a. Thuật toán sinh khoá:


Thực thể A tạo khoá công khai RSA và khoá riêng tƣơng ứng theo phƣơng thức
sau:
• Sinh ra hai số nguyên tố lớn ngẫu nhiên p và q cùng kích thƣớc bit
• Tính n = p.q và  = (p-1)(q-1)
• Chọn một số tự nhiên ngẫu nhiên a thoả mãn điều kiện sau: 1< a < và
USCLN (a, ) = 1 hay a Z*P .
• Sử dụng giải thuật mở rộng Euclidean để tính toán số tự nhiên duy nhất b
sao cho 1 < b <  và ab  1 (mod )
• Khoá công khai của A là K’ = (n, a) khoá riêng của A là K” = b
b. Thuật toán sinh và xác định chữ ký
Thực thể A ký trên thông điệp m . Thực thể B có thể xác định đƣợc chữ
ký của A và khôi phục lại thông điệp từ chữ ký.
Sinh chữ ký: Thực thể A làm theo các bƣớc sau:
• Tính m' = H(m) , là một số nguyên trong khoảng  0,n-1 
• Tính s = m'd mod n
• Chữ ký của A cho m là s
Xác nhận chữ ký: Thực thể B làm theo các bƣớc sau:
• Nhận khoá công khai của A là (n, b)
• Tính m' = sb mod n
• Kiểm tra m'  MR nếu không sẽ không chấp nhận chữ ký
• Lấy lại thông điệp m từ m = H-1(m')
c. Tóm tắt lược đồ ký theo RSA:

Cho n = p.q với p và q là các số nguyên tố


Cho P = A =Zn và định nghĩa
p = (n,p,q,a,b) n = p.q, p và q nguyên tố, ab  1 mod  (n) 
Các giá trị n, b là công khai. Định nghĩa
Sigk (x) = xa mod n và
Verk(x,y) = true  x  yb (mod n) với x,y Zn
Nếu độ dài thông diệp x lớnN, ta sử dụng hàm băm.

Ví dụ: Ví dụ sau đây sử dụng sơ đồ ký RSA, với thông điệp lớn


Sinh khoá:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
43
Thực thể A chọn số nguyên tố p =7927 và q =6997. Tính n =pq =5546521 và
 =7926.6996 =55450296.
A chọn a =5 và giải ab =5.b  1 (mod 55450296) đƣợc b = 44360237.
Sinh chữ ký:
Để ký thông điệp m =31229978, A tính m’1 =H(m) =31229978.
Chữ ký s = m1’b =mod n =312299784430237 mod 55465219 =30729435
Xác nhận chữ ký:
B tính m2’= sa mod n = 307294355 mod 55465219 =31229978
B chấp nhận chữ ký vì m2’= m1’.

3.2. Sơ đồ chữ ký DSA (Digital Signature Standard)

Trong phần này nội dung chính là nghiên cứu các sơ đồ chữ ký điện tử
DSA và lớp các chữ ký tƣơng tự, đặc điểm của những giải thuật này là đều sử
dụng chữ ký theo kiểu chọn lựa ngẫu nhiên. Tất cả các sơ đồ DSA kèm thông
điệp đều có thể cải biến thành các sơ đồ ký khôi phục thông điệp .Đặc biệt, sẽ đi
sâu vào chuẩn chữ ký điện tử DSS(Digital Signature Standard) do khả năng cài
đặt thực tế của nó
a. Giới thiệu
Sơ đồ chữ ký DSS dựa trên giảI thuật ký điện tử DSA (Digital Signature
Algorithm). Chữ ký dạng DSS là một dạng chữ ký kèm thông điệp, điều đó có
nghĩa là chữ ký phải đƣợc gửi kèm với thông điệp mà bản thân chữ ký không
chứa (hoặc không sinh ra) thông điệp, thông thƣờng nhƣng chữ ký dạng này
đều đòi hỏi có một hàm băm trên thông điệp (do nội dung thông điệp có độ dài
không xác định). Hàm băm này đƣợc sử dụng trong quá trình sinh chữ ký để xây
dựng một dạng nén của dữ liệu (condensed version of data). Dữ liệu này gọi là
đại diện văn bản (message digest). Phần đại diện văn bản này là đầu vào của giải
thuật sinh chữ ký. Ngƣời xác nhận chữ ký cũng sử dụng hàm băm này để xây
dựng phƣơng pháp xác nhận chữ ký. Đối với sơ đồ chữ ký DSS hàm băm là
security Hash Algorithm (SHA) đƣợc miêu tả trong FIPS 186, hàm băm này tạo
ra một giá trị số nguyên 160 bít đặc trƣng cho một thông điệp, điều này làm hạn
chế một trong các giá trị tham số của DSS phảI là 160 bit. Ngoài ra, chuẩn này
yêu cầu việc sinh chữ ký phải sử dụng một khóa riêng cho mỗi ngƣời ký, ngƣợc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
44
lại để xác nhận chữ ký, ngƣời xác nhận phải có một khóa công khai tƣơng ứng
với khóa riêng của ngƣời gửi

Hình 13: Chữ ký DSA


b. Các giải thuật cơ bản của DSA
Thuật toán sinh khóa
Mỗi thực thể tạo một khóa công khai và một khóa mật tƣơng ứng theo cách sau:
1. Chọn một số nguyên tố q sao cho 2159 < q < 2160
2. Chọn một số nguyên tố p sao cho 2511+64t < p < 2512+64t ở đó t  [0,8]
3. Chọn số  nhƣ sau:
• Chọn g là một số nguyên bất kỳ nhỏ hơn p,  =g(p-1)/q mod p
•  khác 1
4. Chọn số nguyên a sao cho: 1  a  q 1
5. Tính    a mod p
6. Khóa riêng của thực thể là a, khóa công khai là bộ (p,q,   )
Thuật toán sinh chữ ký
Khi cần sinh chữ ký cho một thông điệp x thực thể phảI làm những việc
nhƣ sau:
1. Chọn một số nguyên mật k, 0 < k <q-1
2. T ính  =(akmod p ) mod q.
3. Tính k -1 mod q.
4. Tính  =k-1 (h(x)+a  ) mod q
5. Chữ ký của thực thể cho x là cặp (  ,  )
Thuật toán xác nhận chữ ký
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
45
Khi cần xác nhận chữ kí cho một thông điệp m thực thể phải làm những
việc nhƣ sau:
1. Dành lấy khoá công khai của thực thể kí (p, q, a, ò)
2. Nếu điều kiện: 0 < d,? < q không thoả mãn thì từ chối chữ kí
3. Tính w = d-1 mod q và h(x)
4. Tính e1 = w.h(x) mod q và e2 =?w mod q
5. Tính v = (ae1 .òe2 mod p) mod q
6. Nếu v = ? thì chấp nhận chữ kí ngoài ra thì từ chối.
c. Tóm tắt lƣợc đồ chữ kí số DSS
Giả sử p là số nguyên tố 512 bít sao cho bài toán logarit rời rạc trong Zp là khó
giải.
Cho p là số nguyên tố160 bít là ƣớc của (p-1).
Gỉa thiết a? Zp là căn bậc q của một modulo p
Cho p thuộc Zp và a = Zq ì Zp và định nghĩa:
A = {(p, q , a, a, ò ): ò trùng a a (mod p)}
Các số p, q , a, ò công khai, có a mật.
Với K = (p, q , a, a, ò ) và với một số ngẫu nhiên (mật) k, 1 = k = q -1, ta định
nghĩa:
Qúa trình kí số sigk (x, k) = (?,dδ) trong đó:
? = (ak mod p) mod q và
d = (x + a ?)k-1 mod q với x? Zp và?, d ? Zq
Qúa trình xác minh sẽ hoàn thành sau các tính toán:
e1 = xd-1 mod q
e2 =?d-1 mod q
ver(x, g, d) = true  (ae1 òe2 mod p) mod q =?

Ví dụ:
Gỉa sử q = 101, p = 78q + 1 = 7879
3 là phần tử nguyên thuỷ trong Z7879 nên ta có thể lấy: a = 378 mod 7879 = 170
Gỉa sử a = 75, khi đó ò = aa mod 7879 = 4576
Muốn kí bức điện x = 1234, ta chọn số ngãu nhiên k = 50
Vì thế có k -1 mod 101 = 99, khi đó có:
? = (17030 mod 7879) mod 101
= 2518 mod 101
= 94
Và d = (1234 + 75*94)*99 mod 101 = 96
Chữ kí (94, 97) trên bức điện 1234 đƣợc xác minh bằng các tính toán sau:
d-1 = 97-1 mod 101 = 25
e1 = 1234*25 mod 101 = 45
e2 = 94*25 mod 101 = 27

Có (17045.456727 mod 7879) mod 101 = 2518 mod 101 = 94

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
46
Vì thế chữ kí hợp lệ.

d. Tính chất của chữ kí DSA

Độ an toàn
Độ an toàn của chữ kí phụ thuộc vào độ bí mật của khoá riêng. Ngƣời
sử dụng phải đƣợc bảo vệ trƣớc về khoá riêng của mình. Nếu khoá riêng đảm
bảo an toàn tuyệt đối thì chữ kí cũng có mức độ an toàn hầu nhƣ tuyệt đối. Mặt
khác, với khoá riêng là công khai, chữ kí DSA là an toàn khi từ khoá công khai
không thể tìm đƣợc khoá riêng. Thật vậy, ta có:
Cho p là một số nguyên tố rất lớn, phƣơng trình toán học sau là không
thể giải đƣợc: y = ax mod p (1) với y, a = g(p-1)/q và khác 1. Để xem xét điều này
trƣớc hết ta nhận xét phƣơng trình (1) có nghiệm x duy nhất thuộc khoảng [1,
q]. Thật vậy, giả sử có hai nghiệm x1 và x2 , từ (1) ta có:
y = ax1 mod p và y = ax2 mod p
Không mất tính tổng quát ta giả sử x1 < x2 từ đây ta suy ra:
 ax1 chia hết cho p (không thoả mãn do p nguyên tố)
 Tồn tại k nhỏ hơn p sao cho ak  1 (mod p). Với giá trị a có dạng
a = g(p-1)/q thì điều này không thể xảy ra khi g < p.
Trong nhiều trƣờng hợp, thông điệp có thể mã và giải mã chỉ một lần nên
nó phù hợp cho việc dùng với hệ mật bất kì (an toàn tại thời điểm đƣợc
mã). Song trên thực tế, nhiều khi một bức điện đƣợc làm một tài liệu đối
chứng, chẳng hạn nhƣ bản hợp đồng hay một chúc thƣ và vì thế cần xác
minh chữ kí sau nhiều năm kể từ khi bức điện đƣợc kí. Bởi vậy, điều quan
trọng là có phƣơng án dự phòng liên quan đến sự an toàn của sơ đồ chữ kí
khi đối mặt với hệ thống mã. Vì sơ đồ Elgamal không an toàn hơn bài toán
logarithm rời rạc nên cần dùng modulo p lớn hơn chẳng hạn 512 bit trở lên.
Tuy nhiên độ dài chữ kí theo sơ đồ Elgamal là gấp đôi số bit của p mà với
nhiều ứng dụng dùng thẻ thông minh thì cần chữ kí ngắn hơn nên giải pháp
sửa đổi là: một mặt dùng p với độ dài biểu diễn từ 512 đến 1024 bit, mặt
khác trong chữ kí (?,dδ), các số?, d có độ dài biểu biễn ngắn, chẳng hạn là
160 bit – Khi đó độ dài chữ kí là 320 bit. Điều này thực hiện bằng cách
dùng nhóm con Cyclic Zq* của Zp* thay cho chính bản thân Zp*, do đó mọi
tính toán vẫn đƣợc thực hiện trong Zp* nhƣng dữ liệu và thành phần chữ kí
lại thuộc Zq*.

Tính hợp lệ:


Tính hợp lệ của chữ kí DSA dựa trên hai định lí sau:
Định lí 1: Cho p, q là hai số nguyên tố thoả mãn điều kiện q \ (p - 1).
h là một số nguyên dƣơng bất kì thoả mãn h < p. Nếu:
g  h(p - 1) / q mod p thì gq  1 mod p
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
47
Thật vậy gq  (h(p - 1)/q)q  hp – 1 mod p (theo định lí Fecma nhỏt).
Định lí 2: Với g, p, q xác định nhƣ trên ta luôn có:
nếu m  n mod p thì gm  gn mod p.
Thật vậy không mất tính tổng quát ta đặt m = n + kq
Thì gm  gn + kq  (gn mod p).(gkq mod p)  gn mod p
 điều phải chứng minh.

Nhƣợc điểm:
Một ý kiến cho rằng, việc xử lí lựa chọn của NIST là không công khai.
Tiêu chuẩn đã đƣợc cục an ninh quốc gia phát triển mà không có sự tham gia
của khối công nghiệp Mỹ. Còn những chỉ trích về mặt kĩ thuật thì chủ yếu là về
kích thƣớc modulo p cố định = 512 bít. Nhiều ngƣời đã muốn kích thƣớc này có
thể thay đổi đƣợc nếu cần, có thể dùng kích cỡ lớn hơn. Đáp ứng những điều
kiện này, NIST đã chọn tiêu chuẩn cho phép có nhiều kích cỡ modulo bất kì
chia hết cho 64 trong phạm vi từ 512 đến 1024 bít.
Một phàn nàn nữa về DSA là chữ kí đƣợc tạo ra nhanh hơn việc xác minh
nó. Trong khi đó, nếu dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khai
nhỏ hơn (chẳng hạn = 3) thì có thể xác minh nhanh hơn nhiều so với việc lập
chữ kí. Điều này dẫn đến hai vấn đề liên quan đến những ứnh dụng của sơ đồ
chữ kí:

 Bức điện chỉ đƣợc kí một lần, xong nhiều khi lại phải xác minh chữ kí
nhiều lần trong nhiều năm. Điều này tạo gợi ý nhu cầu có thuật toán xác
minh nhanh hơn.

 Những kiểu máy tính nào có thể dùng để kí và xác minh? Nhiều ứng
dụng, chẳng hạn các thẻ thông minh có khả năng xử lí hạn chế liên lạc với
máy tính nhanh hơn. Vì thế có nhu cầu nhƣng thiết kế một sơ đồ để có thể
thực hiện trên thẻ một số tính toán. Tuy nhiên có một số tình huống cần
hệ thống minh tạo chữ kí, trong những tình huống khác lại cần thẻ thông
minh xác minh chữ kí. Vì thế có thể đƣa ra giải pháp xác định ở đây.
Sự đáp ứng của NIST đối với yêu cầu về số lần tạo xác minh chữ kí thực
ra không có yêu cầu gì ngoài yêu cầu về tốc độ, miễn là cả hai thể thực hiện
nhanh.

4. Các sơ đồ chữ kí số khả thi


Trong các sơ đồ chữ kí điện tử ngƣời ta thƣờng sử dụng hai sơ đồ chữ kí
là DSA và RSA bởi vì một số nguyên nhân sau:

 Cả hai sơ đồ đều đƣợc chính phủ Mỹ thông qua trong Chuẩn chữ kí số
(DSS) . Cả hai giải thuật DSA và RSA đều đƣợc công bố trong Hồ sơ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
48
trong liên bang (FIPS) vào ngày 19/5/94 và đƣợc đƣa ra làm chuẩn chính
thức của chữ kí điện tử vào 1/12/94 mặc dù nó đã đƣợc đề xuất từ 8/91.

 Các sơ đồ chữ kí này đều là cá sơ đồ chữ kí dựa trên các phƣơng pháp mã
hoá khoá khoá công khai vadf đều có độ bảo mật rát cao.

 Các bộ số liệu để kiểm nghiệm sự đúng đắn trong việc cài đặt các chữ kí
này đều đƣợc công khai. Nếu trong quá trình thử nghiệm các chữ kí này
đều đảm bảo đúng với bộ số liệu thì chữ kí đƣợc coi là an toàn.

 Cả hai sơ đồ chữ kí đều có thể chuyển đổi từ các chữ kí kèm thông điệp
thành chữ kí khôi phục thông điệp không mấy khó khăn với việc tích hợp
thêm các hàm có độ dƣ R (Redundancy Function).

 Trong thực tế khi đƣa ra hệ thống CA server, phía đối tác quyết định lựa
chọn sơ đồ chữ ki DSA là chữ kí chính thức cho toàn bộ các giao dịch.

 Thời gian xác nhận chữ kí của cả hai loại chữ kí này đều ngắn và chấp
nhận đƣợc trong môi trƣờng mạng công cộng.

5. Các cách tấn công chữ kí điện tử


Khi nói đến chữ kí điện tử chúng ta luôn đặt mục tiêu an toàn lên hàng
đầu, một chữ kí điện tử chỉ thực sự đƣợc áp dụng trong thực tế nếu nhƣ nó
đƣợc chứng minh là không hề giả mạo. Mục tiêu lớn nhất của những kẻ tấn
công các sơ đồ chữ kí là giả mạo chữ, điều này có nghĩa là kẻ tấn công sinh
ra đƣợc chữ kí của ngƣời kí lên thông điệp mà chữ kí này sẽ đƣợc chấp nhận
bởi ngƣời xác nhận. Trong thực tế các hành vi tấn công chữ kí điện tử rất đa
dạng, để dễ dàng phân tích một sơ đồ chữ kí là an toàn hay không ngƣời ta
tiến hành kiểm nghiệm độ an toàn của chữ kí trƣớc các sự tấn công sau:
Tolal break (tấn công toàn bộ): Một kẻ giả mạo không những tính đƣợc thông
tin về khoá riêng (private key) mà còn có thể sử dụng một thuật toán sinh chữ
kí tƣơng ứng tạo ra đƣợc chữ kí cho thông điệp.

 Selective forgert (giả mạo có lựa chọn) : Kẻ tấn công có khả năng tạo ra
đựơc một tập hợp các chữ kí cho một lớp các thông điệp nhất định, các
thông điệp này đƣợc kí mà không cần phải có khoá mật của ngƣời kí.

 Existential forgert (giả mạo với thông điệp biết trƣớc): Kẻ tấn công có
khae năng giả mạo chữ kí cho một thopong điệp, kẻ tấn công không thể
hoặc có ít nhất khả năng kiểm soát thông điệp đƣợc giả mạo này.

 Ngoài ra, hầu hết các chữ kí điện tử đều dựa vào cơ chế mã hoá khoá công
khai, các chữ kí điện tử dựa trên cơ chế này có thể bị tấn công theo các
phƣơng thức sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
49
 Key – only attacks (tấn công với khoá): Kẻ tấn công chỉ biết khoá chung
của ngƣời kí.

 Message attacks (tấn công vào thông điệp): ở đay kẻ tấn công có khả năng
kiểm tra các chữ kí khác hau có phù hợp với thông điệp có trƣớc hay
không. Đây là kiểu tấn công rất thông dụng, trong thực tế nó thƣờng đƣợc
chia làm ba lớp:

o Known – message attack (tấn công với thông điệp đã biết): Kẻ tấn
công có chữ kí cho một lớp các thông điệp.

o Chosen – message attack (tấn công lựa chọn thông điệp): Kẻ tấn
công dành đƣợc các chữ kí đúng cho một danh sách các sthông điệp
trƣớc khi tiến hành hoath động phá huỷ chữ kí, cách tấn công này là
non – adaptive (không mang tính phù hợp) bởi vì thông điệp đƣợc
chọn trƣớc khi bất kì môth chữ kí nào đƣợc gửi đi.

o Adaptive – chosen message attack (tấn công lựa chọn thông điệp
chủ động): Kẻ tấn công đƣợc phép sử dụng ngƣời kí nhƣ là một bên
đáng tin cậy, kẻ tấn công có thể yêu cầu chữ kí cho các thông điệp
mà các thông điệp này phụ thuộc vào khoá công khai của ngƣời kí,
nhƣ vậy kẻ tấn công có thể yêu cầu chữ kí của các thông điệp phụ
thuộc vào chữ kí và thông điệp dành đƣợc trrƣớc đây và qua đó tính
đƣợc chữ kí.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
50
CHƢƠNG III
b¶o mËt vµ an toµn th«ng tin trong tm®t

i. vÊn ®Ò an toµn th«ng tin

Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin việc ứng dụng
công nghệ mạng máy tính trở nên vô cùng phổ cập và cần thiết. Công nghệ
mạng máy tính đã mang lại lợi ích to lớn.Sự xuất hiện mạng Internet cho phép
mọi ngƣời có thể truy cập, chia sẻ và khai thác thông tin một cách dễ dàng và
hiệu quả. Sự phát triển mạnh mẽ của Internet xét về mặt bản chất chính là việc
đáp ứng lại sự gia tăng không ngừng của nhu cầu giao dịch trực tuyến trên hệ
thống mạng toàn cầu. Các giao dịch trực tuyến trên Internet phát triển từ những
hình thức sơ khai nhƣ trao đổi thông tin ( email, message, v.v…), quảng bá (
web-publishing) đến những giao dịch phức tạp thể hiện qua các hệ thống chính
phủ điện tử, thƣơng mại điện tử ngày càng phát triển mạnh mẽ trên khắp thế
giới.
Tuy nhiên lại nảy sinh các vấn đề an toàn thông tin, Internet có những kỹ thuật
cho phép mọi ngƣời truy nhập, khai thác, chia sẻ thông tin. Nhƣng nó cũng là
nguy cơ chính dẫn đến việc thông tin của bạn bị hƣ hỏng hoặc phá huỷ hoàn
toàn. Sở dĩ có lý do đó là vì việc truyền thông tin qua mạng Internet hiện nay
chủ yếu sử dụng giao thức TCP /IP. TCP/IP cho phép các thông tin đƣợc gửi từ
một máy tính này tới một máy tính khác mà đi qua một loạt các máy tính trung
gian hoặc mạng riêng biệt trƣớc khi nó có thể đi tới đƣợc đích. Chính vì điểm
này, giao thức TCP /IP đã tạo cơ hội cho "bên thứ ba" có thể thực hiện các hành
động gây mất mát an toàn thông tin trong giao dịch.

Theo số liệu của CERT (Computer Emegency Response Team - "Đội cấp
cứu máy tính"), số lƣợng các vụ tấn công trên internet đƣợc thông báo cho tổ
chức này là ít hơn 200 vào năm 1989, khoảng 400 vào năm 1991, 1400 vào năm
1993, và 2241 vào năm 1994. Những vụ tấn công này nhằm vào tất cả các máy
tính có mặt trên Internet, các máy tính của tất cả các công ty lớn nhƣ AT &T,
IBM, các trƣờng đại học, các cơ quan nhà nƣớc, các tổ chức quân sự nhà băng…
Một số vụ tấn công có quy mô khổng lồ (có tới 100.000 máy tính bị tấn công).
Hơn nữa, những con số này chỉ là phần nổi của tảng băng. Một phần rất lớn các
vụ tấn công không đƣợc thông báo, vì nhiều lý do, trong đó có thể kể đến nỗi lo
bị mất uy tín, hoặc đơn giản những ngƣời quản trị hệ thống không hề hay biết
những cuộc tấn công nhằm vào hệ thống của họ.

Không chỉ số lƣợng các cuộc tấn công tăng lên nhanh chóng, mà các
phƣơng pháp tấn công cũng liên tục đƣợc hoàn thiện. Điều đó một phần do các
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
51
nhân viên quản trị hệ thống đƣợc kết nối với Internet ngày càng đề cao cảnh
giác. Cũng theo CERT, những cuộc tấn công thời kỳ 1988-1989 chủ yếu đoán
tên ngƣời sử dụng – mật khẩu (UserID-password) hoặc sử dụng một số lỗi của
các chƣơng trình và hệ điều hành (security hole) làm vô hiệu hóa hệ thống bảo
vệ, tuy nhiên các cuộc tấn công vào thời gian gần đây bao gồm cả các thao tác
nhƣ giả mạo địa chỉ IP, theo dõi thông tin truyền qua mạng, chiếm các phiên làm
việc từ xa (telnet hoặc rlogin). Một số vấn đề an toàn đối với nhiều mạng hiện
nay:

 Nghe trộm (Eavesdropping): Thông tin không hề bị thay đổi, nhƣng sự bí


mật của nó thì không còn. Ví dụ, một ai đó có thể biết đƣợc số thẻ tín dụng, hay
các thông tin cần bảo mật của bạn.

 Giả mạo (Tampering): Các thông tin trong khi truyền trên mạng bị thay
đổi hay bị thay đổi trƣớc khi đến ngƣời nhận. Ví dụ, một ai đó có thể sửa đổi nội
dung của một đơn đặt hàng hoặc thay đổi lý lịch của một cá nhân trƣớc khi các
thông tin đó đi đến đích.

 Mạo danh (Impersonation): Một cá nhân có thể dựa vào thông tin của
ngƣời khác để trao đổi với một đối tƣợng. Có hai hình thức mạo danh sau:

o Bắt trƣớc (Spoofing): Một cá nhân có thể giả vờ nhƣ một ngƣời
khác. Ví dụ, dùng địa chỉ mail của một ngƣời khác hoặc giả mạo một tên miền
của một trang Wed.

o Xuyên tạc (Misrepresentation): Một cá nhân hay một tổ chức có thể


giả vờ nhƣ một đối tƣợng, hay đƣa ra những thông tin về mình mà không đúng
nhƣ vậy. Ví dụ, có một trang chuyên về thiết bị nội thất mà có sử dụng thẻ tín
dụng, nhƣng thực tế là một trang chuyên đánh cắp thẻ tín dụng.

 Chối cãi nguồn gốc: Một cá nhân có thể chối là đã không gửi tài liệu khi
xảy ra tranh chấp. Ví dụ, khi gửi email thông thƣờng, ngƣời nhận sẽ không thể
khẳng định ngƣời gửi là chính xác.

Để vừa đảm bảo tính bảo mật của thông tin lại không làm giảm sự phát triển của
việc trao đổi thông tin quảng bá trên toàn cầu thì chúng ta cần có các giải pháp
phù hợp. Hiện tại có rất nhiều giải pháp cho vấn đề an toàn thông tin trên mạng
nhƣ mã hoá thông tin, chữ ký điện tử (chứng chỉ khoá khoá công khai) … Sau
đây chúng ta lần lƣợt tìm hiểu các khái niệm căn bản về mã hoá thông tin và đi
sâu vào viềc sử dụng chữ ký số cho việc xác thực trên mạng.

Các bí mật bảo đảm an toàn cho giao dịch điện tử

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
52
Thế nào là một hệ thống an toàn thông tin? An toàn trƣớc các cuộc tấn công là
một vấn đề mà các hệ thống giao dịch trực tuyến cần giải quyết. Thông tin
truyền trên mạng gặp rất nhiều rủi ro và nguy cơ bị mất thông tin là thƣờng
xuyên. Chẳng hạn việc thanh toán bằng thẻ tín dụng thông qua dịch vụ wed sẽ
gặp một số rủi ro sau:

o Thông tin từ trình duyệt wed của khách hàng ở dạng thuần văn bản nên
có thể bị lọt vào tay kẻ tấn công.

o Trình duyệt wed của khách hàng không thể xác định đƣợc máy chủ mà
mình trao đổi thông tin có phải là thật hay một wed giả mạo.

o Không ai có thể đản bảo dữ liệu truyền đi có bị thay đổi hay không.

Vì vậy các hệ thống cần phải có một cơ chế đảm bảo an toàn trong quá trình
giao dịch điện tử. Một hệ thống thông tin trao đổi dữ liệu an toàn phải đáp ứng
một số yêu cầu sau:

o Hệ thống phải đảm bảo dữ liệu trong quá trìmh truyền đi là không bị
đánh cắp.

o Hệ thống phải có khả năng xác thực, tránh trƣờng hợp giả danh, giả
mạo.

Do vậy, cần tập trung vào việc bảo vệ các tài sản khi chúng đƣợc chuyển tiếp
giữa máy khách và máy chủ từ xa. Việc cung cấp kênh thƣơng mại an toàn đồng
nghĩa với việc đảm bảo tính toàn vẹn của thông báo và tính sẵn sàng của kênh.
Thêm vào đó, một kế hoạch an toàn đầy đủ còn bao gồm cả tính xác thực.

Các kỹ thuật đảm bảo cho an toàn giao dịch điện tử chính là sử dụng các hệ
mật mã, các chứng chỉ số và sử dụng chữ ký số trong quá trìmh thực hiện các
giao dịch.

II. chøng chØ sè vµ c¬ chÕ m· ho¸

1. Giới thiệu về chứng chỉ số

Việc sử dụng mã hóa hay kí số chỉ giải quyết đuợc vấn đề bảo mật thông điệp
và xác thực. Tuy nhiên không có thể đảm bảo rằng đối tác không thể bị giả
mạo, trong nhiều trƣờng hợp cần thiết phải “chứng minh” bằng phƣơng tiện
điện tử danh tính của ai đó.
Chứng chỉ số là một tệp tin điện tử đƣợc sử dụng để nhận diện một cá nhân, một
máy dịch vụ, một tổ chức, …nó gắn định danh của đối tƣợng đó với một khóa
công khai, giống nhƣ bằng lái xe, hộ chiếu, chứng minh thƣ.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
53
Có một nơi có thể chứng nhận các thông tin của bạn là đúng, đƣợc gọi là cơ
quan xác thực chứng chỉ (Certificate Authority-CA).Đó là một đơn vị có thẩm
quyền xác nhận định danh và cấp các chứng chỉ số.CA có thể là một đối tác thứ
ba đứng độc lập hoặc có các tổ chức tự vận hành một hệ thống tự cấp các chứng
chỉ cho nội bộ của họ.Các phƣơng pháp để xác định định danh phụ thuộc vào
các chính sách mà CA đặt ra.Chính sách lập ra phải đảm bảo việc cấp chứng chỉ
số phải đúng đắn, ai đƣợc cấp và mục đích dùng vào việc gì.Thông thƣờng,
trƣớc khi cấp một chứng chỉ số, CA sẽ công bố các thủ tục cần thiết phải thực
hiện cho các loại chứng chỉ số.
Trong chứng chỉ số chứa một khóa công khai đƣợc gắn với một tên duy nhất của
một đối tƣợng (nhƣ tên của một nhân viên hoặc máy dịch vụ).Các chứng chỉ số
giúp ngăn chặn việc sử dụng khóa công khai cho việc giả mạo.Chỉ có khóa công
khai đƣợc chứng thực bởi chứng chỉ số sẽ làm việc với khóa bí mật tƣơng ứng,
nó đƣợc sở hữu bởi đối tƣợng có định danh nằm trong chứng chỉ số.
Ngoài khóa công khai, chứng chỉ số còn chứa thông tin về đối tƣợng nhƣ tên mà
nó nhận diện.hạn dùng, tên của CA cấp chứng chỉ số, mã số…Điều quan trọng
nhất là chứng chỉ số phải có chữ ký số của CA đã cấp chứng chỉ số đó.Nó cho
phép chứng chỉ số nhƣ đã đƣợc đóng dấu để ngƣời sử dụng có thể kiểm tra.

2. Xác thực định danh

Việc giao tiếp trên mạng điển hình là giữa một máy khách (Client – nhƣ trình
duyệt trên máy cá nhân) và một máy dịch vụ (Server – nhƣ máy chủ
Website).Việc chứng thực có thể đƣợc thực hiện ở cả hai phía.Máy dịch vụ có
thể tin tƣởng vào máy khách và ngƣợc lại.
Việc xác thực ở đây không chỉ có ý nghĩa một chiều đối với ngƣời gửi, tức là
ngƣời gửi muốn ngƣời nhận tin tƣởng vào mình.Khi một ngƣời đã gửi thông
điệp có kèm theo chữ ký số của mình (cùng vối chứng chỉ số), thì không thể
chối cãi: đó không phải là thông điệp của anh ta.
Có hai hình thức xác thực máy khách:
 Xác thực dựa trên tên truy nhập và mật khẩu (Username và Password).Tất cả
các máy dịch vụ cho phép ngƣời dùng nhập mật khẩu, để có thể truy nhập vào
hệ thống.Máy dịch vụ sẽ quản lý danh sách các Username và Password này.
 Xác thực dựa trên chứng chỉ số.Đó là một phần của giao thức bảo mật
SSL.Máy khách ký số vào dữ liệu, sau đó gửi cả chữ ký số và cả chứng chỉ số
qua mạng.Máy dịch vụ sẽ dùng kỹ thuật mã hóa khóa công khai để kiểm tra chữ
ký và xác định tính hợp lệ của chứng chỉ số.

Xác thực dựa trên mật khẩu.


Khi xác thực ngƣời dùng theo phƣơng pháp nàyK, ngƣời dùng đã quyết định tin
tƣởng vào máy dịch vụ (có thể không có bảo mật theo giao thức SSLc).Máy dịch
vụ phải xác thực ngƣời sử dụng trƣớc khi cho phép họ truy nhập tài nguyên của
hệ thống.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
54
3.M¸y dÞch vô dïng mËt khÈu ®Ó
x¸c nhËn ®Þnh danh ng-êi dïng

1.Ng-êi dïng nhËp tªn vµ mËt


khÈu cho x¸c thùc. 4.M¸y dÞch vô x¸c nhËn
quyÒn truy nhËp vµo
nh÷ng tµi nguyªn nµo
cho ng-êi dïng.

2.M¸y kh¸ch göi tªn vµ mËt


khÈu qua m¹ng.

M¸y dÞch vô

M¸y kh¸ch

Hình 14: Sử dụng mật khẩu xác thực máy khách kết nối tới máy dịch vụ.
Các bước trong hình trên như sau:
Bƣớc 1: Để đáp lại yêu cầu xác thực từ máy dịch vụ, máy khách sẽ hiện hộp
thoại yêu cầu nhập mật khẩu.Ngƣời phải dùng nhập mật khẩu cho mỗi máy dịch
vụ khác nhau trong cùng một phiên làm việc.
Bứơc 2: Máy khách gửi mật khẩu qua mạng, không cần một hình thức mã hóa
nào.
Bƣớc 3: Máy dịch vụ tìm kiếm mật khẩu trong cơ sở dữ liệu.
Bƣớc 4: Máy dịch vụ xác định xem mật khẩu đó có quyền truy cập vào những
tài nguyên nào của hệ thống.
Khi sử dụng loại xác thực này, ngƣời dùng phải nhập mật khẩu cho mỗi
máy dịch vụ khác nhau, nó lƣu lại dấu vết của các mật khẩu này cho mỗi ngƣời
dùng.
Xác thực dựa trên chứng chỉ số.
Chứng chỉ số có thể thay thế 3 bƣớc đầu chứng thực bằng mật khẩu với cơ chế
cho phép ngƣời dung chỉ phải nhập mật khẩu một lần và không phải truyền qua

mạng, ngƣời quản trị có thể điều khiển quyền truy nhập một cách tập trung.

1.Ng-êi dïng nhËp tªn vµ 4.M¸y dÞch vô dïng mËt khÈu


mËt khÈu cho x¸c thùc. ®Ó x¸c nhËn ®Þnh danh ng-êi
dïng

3.M¸y kh¸ch göi chøng chØ vµ


ch÷ kÝ qua m¹ng.

5..M¸y dÞch vô
x¸c nhËn quyÒn
truy nhËp vµo
nh÷ng tµi nguyªn
nµo chong-êi
M¸y kh¸ch M¸y dÞch vô
dïng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
55
Hình 15: Chứng chỉ số chứng thực cho may khách kết nối tới máy dịch vụ.

Giao dịch ở hình trên có dùng giao thức bảo mật SSL.Máy khách phải có chứng
chỉ số để cho máy dịch vụ nhận diện.Sử dụng chứng chỉ số để chứng thực có lợi
thế hơn khi dùng mật khẩu.Bởi vì nó dựa trên những gì mà ngƣời sử dụng có:
Khóa bí mật và mật khẩu để bảo vệ khóa bí mật.
Điều cần chú ý là chỉ có chủ máy khách mới đƣợc phép truy nhập vào máy
khách, phải nhập mật khẩu để vào cơ sở dữ liệu của chƣơng trình có sử dụng
khóa bí mật (mật khẩu này có thể phải nhập lại trong khoảng thời gian định kì
cho trƣớc).
Cả hai có chế xác thực trên đều phỉa truy nhập mức vật lý tới các máy cá
nhân.Mã hóa khóa công khai chỉ có thể kiểm tra việc sử dụng khóa bí mật tƣơng
ứng với khóa công khjai trong chứng chỉ số.Nó không đảm nhận trách nhiệm
bảo vệ mức vật lý và mật khẩu sử dụng khóa bí mật.Trách nhiệm này thuộc về
ngƣời dùng.

Các bước trong hình trên như sau:

Bƣớc 1: Phần mềm máy khách(ví dụ nhƣ Communicator) quản lý cơ sở dữ liệu


về các cặp khóa bí mật và khóa công khai.Máy khách sẽ yêu cầu nhập mật khẩu
để truy nhập vào cơ sở dữ liệu này chỉ một lần hoặc theo định kỳ.
Khi máy khách truy nhập vào máy dịch vụ có sử dụng SSL, để xác thực máy
khách dựa trên chứng chỉ số, ngƣòi dùng chỉ phải nhập mật khẩu một lần, họ
không phải nhập lại khi cần truy cập lần thứ hai.
Bƣớc 2: Máy khách dùng khóa bí mật tƣơng ứng với khóa công khai ghi trong
chứng chỉ, và kí lên dữ liệu đƣợc tạo ra ngẫu nhiên cho mục đích chứng thực từ
cả phía máy khách và máy dịch vụ.Dữ liệu này và chữ kí số thiết lập một bằng
chứng để xác định tính hợp lệ của khóa bí mật.Chữ kí số có thể đựoc kiểm tra
bằng khóa công khai tƣơng ứng với khóa bí mật đã dùng để kí, nó là duy nhất
trong mỗi phiên làm việc của giao thức SSL.
Bƣớc 3: Máy khách gửi cả chứng chỉ và bằng chứng (một phần dữ liệu đƣợc tạo
ngẫu nhiên và đƣợc kí) qua mạng.
Bƣớc 4: Máy dịch vụ sử dụng chứng chỉ số và bằng chứng đó để xác thực ngƣời
dùng.
Bƣớc 5: Máy dịch vụ có thể thực hiện tùy chọn các nhiệm vụ xác thực khác, nhƣ
vieẹc xem chứng chỉ của máy khách có trong cơ sở dữ liệu để lƣu trữ và quản lý
các chứng chỉ số.Máy dịch vụ tiếp tục xác định xem ngƣời sử dụng có quyền gì
đối với tài nguyên của hậ thống.

3. Chứng chỉ khóa công khai

Giới thiệu chứng chỉ khóa công khai

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
56
Khi một ngƣời muốn dùng kĩ thuật mã hóa khóa công khai để mã hóa một thông
điệp và gửi cho ngƣời nhận, ngƣời gửi cần một bản sao khóa công khai của
ngƣòi nhận.Khi một thành viên bất kỳ muốn kiểm tra chữ ký số, anh ta cần có
một bản sao khóa công khai của thành viên ký.Chúng ta gọi cả hai thành viên
mã hóa thông điệp và thành viên kiểm tra chữ kí số là những ngƣời sử dụng
khóa công khai.
Khi khóa công khai đƣợc gửi đến cho ngƣơì sử dụng, thì không cần thiết
phải giữ bí mật khóa công khai này.Tuy nhiên, ngƣời dùng khóa công khai phải
đảm bảo rằng khóa công khai đƣợc dùng, đúng là dành cho thành viên khác (có
thể là ngƣời nhận thông điệp có chủ định hoặc bộ sinh chữ ký số đƣợc yêu
cầu).Nếu kẻ phá hoại dùng khóa công khai khác thay thế khóa công khai hợp lệ,
nội dung các thông điệp đã mã hóa có thể bị lộ.Nhƣ vậy những thành viên không
chủ định khác sẽ biết đựoc các thông điệp hay các chữ ký số có thể bị làm
giả.Nói cách khác, cách bảo vệ (đƣợc tạo ra từ các kĩ thuật này) sẽ bị ảnh hƣởng
nếu kẻ truy nhập thay thế các khóa công khai không xác thực.
Đối với các nhóm thành viên nhỏ yêu cầu này có thể đƣợc thỏa mãn dễ dàng.Ví
dụ trƣờng hai ngƣời quen biết nhau, khi ngƣời này muốn truyền thông an toàn
với ngƣời kia, họ có thể đƣợc bản sao khóa công khai của nhau bằng cách trao
đổi các đĩa nhớ có ghi các khóa công khai của từng ngƣời.Nhƣ vậy đảm bảo
rằng các khóa công khai đƣợc lƣu giữ an toàn trên mỗi hệ thống cục bộ của từng
ngƣời.Đây chính là hình thức phân phối khóa công khai thủ công.
Tuy nhiên hình thức phân phối khóa công khai kiểu này bị coi là không thực tế
hoặc không thỏa đáng trong phần lớn các lĩnh vực ứng dụng khóa công khai, đặc
biệt khi số lƣợng sử dụng trở nên quá lớn hoặc ở phân tán.Các chứng chỉ khóa
công khai giúp cho việc phân phối khóa công khai trở nên có hệ thống.
Hệ thống cấp chứng chỉ khóa công khai làm việc như sau:
Một CA phát hành các chứng chỉ cho những ngƣời nắm giữ các cặp khóa công
khai và khóa riêng.Một chứng chỉ gồm khóa công khai và thông tin để nhận
dạng duy nhất chủ thể (Subject) của chứng chỉ.Chủ thể của chứng chỉ có thể là

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
57
một ngƣời, thiết bị, hoặc một thực thể khác có nắm giữ khóa riêng tƣơng
ứng.Khi chủ thể của chứng chỉ là một ngƣời hoặc một thực thể hợp pháp nào đó,
chủ thể thƣờng đƣợc nhắc đến nhƣ là một thực thể (Subscriber) của CA.Chứng
chỉ đƣợc CA kí bằng khóa riêng của họ.

Khãa riªng cña CA


Th«ng tin ®èi t-îng

Khãa c«ng khai


cña ®èi t-îng Sinh ch÷ kÝ sè

Tªn CA

Chữ kí CA

Hình 16: Chứng chỉ khóa công khai dựa trên CA

Một khi hệ thống các chứng chỉ đƣợc thiết lập, công việc của ngƣời dùng công
khai rất đơngiản.Ngƣời dùng cần khóa công khai của một trong các thuê bao của
CA, họ chỉ cần lấy bản sao chứng chỉ của CA, lấy ra khóa công khai, kiểm tra
chữ kí của CA có trên chứng chỉ hay không.Ngƣời dùng khóa công khai sử dụng
các chứng chỉ nhƣ trên đƣợc coi là thành viên tin cậy.Kiểu hệ thống này tƣơng
đối đơn giản và kinh tế khi thiết lập trên diện rộng và theo hình thức tự động bởi
vì một trong các đặc tính quan trọng của chứng chỉ là:
“Các chứng chỉ có thể được phát hành mà không cần phải bảo vệ thông qua các
dịch vụ an toàn truyền thông để đảm bảo sự tin cẩn xác thực và toàn vẹn”.
Chúng ta không cần giữ bí mật khóa công khai, nhƣ vậy các chúng chỉ
không phải là bí mật.Hơn nữa, ở đây không đòi hỏi các yêu cầu về tính xác thực
và toàn vẹn do các chứng chỉ tự bảo vệ (chữ kí số của CA có trong chứng chỉ
cung cấp bảo vệ xác thực và toàn vẹn).Một kẻ truy nhập trái phép định làm giả
chứng chỉ khi nó này đang đƣợc phát hành cho những ngƣời sử dụng khóa công
khai, những ngƣời dùng này sẽ phát hiện ra việc làm giả vì chữ kí số của CA
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
58
đƣợc kiểm tra chính xác.Chính vì thế các chứng chỉ khóa công khai đƣợc phát
hành theo cách không an toàn, ví dụ nhƣ: thông qua các máy chủ, hệ thống thƣ
mục, các giao thức truyền thông không an toàn.
Lợi ích cơ bản của hệ thống cấp chứng chỉ là: một ngƣời sử dụng khóa
công khai có thể có đƣợc số lƣợng lớn khóa công khai của các thành viên khác
một cách tin cậy, nhờ khóacông khai của CA.Lƣu ý rằng chứng chỉ số chỉ hữu
ích khi ngƣời dùng khóa công khai tin cậy CA phát hành các chứng chỉ hợp lệ.

4. Mô hình CA

Nếu việc thiết lập một CA (có thể phát hành các chứng chỉ khoá công khai cho
tất cả những ngƣời nắm giữ cặp khóa công khai và khóa riêng trên thế giới) là
khả thi và khi tất cả những ngƣời sử dụng khóa công khai tin cậy vào các chứng
chỉ đƣợc CA này phát hành thì ta giải quyết vấn đề phân phối khóa công khai.
Rất tiếc là điều này không thể thực hiện đƣợc.Đơn giản vì nó không thực tế đối
với một CA.Một CA không thể có đầy đủ thông tin và các mối quan hệ với các
thuê bao để có thể phát hành các chứng chỉ đƣợc tất cả những ngƣời dùng khóa
công khai chấp nhận.Vì vậy, chúng ta cần chấp nhận sự tồn tại của nhiều CA
trên thế giới.
Giả thiết khi có nhiều CA, một ngƣời dùng nắm giữ khoá công khai của một CA
xác định (CA này đã phát hành chứng chỉ cho thành viên mà ngời sử dụng khóa
công khai muốn truyền thông an toàn) một cách bí mật là không thực tế. Tuy
nhiên, để có đƣợc khóa công khai của CA, ngƣời dùng có thể tìm và sử dụng
một chứng chỉ khác, nó chứa khóa công khai của CA này nhƣng do CA khác
phát hành khóa công khai của CA này đƣợc ngƣời sử dụng nắm dữ an toàn.

5. Một số giao thức bảo mật ứng dụng trong TMĐT

Các vấn đề bảo mật ứng dụng Web

Word Wide Web có cơ sở ứng dụng là client/sever chạy trên Internet và


các mạng Intranet với giao thức ICP/IP. Những thách thức mới đối với bảo mật
Web đã trở thành cần thiết hơn bao giờ hết nhất là trong cách mạng bối cảnh các
mạng máy tính và các dịch vụ sử dụng Web ngày càng phát triển.
Internet nhƣ con dao hai lƣỡi. Không giống những môi trƣờng truyền
thống nhƣ những hệ thống điện tín, đàm thoại, fax, các Web sever luôn có nguy
cơ phải hứng chịu các cuộc tấn công trên toàn bộ mạng Internet.
Có nhiều giải pháp cho vấn đề bảo mật ứng dụng Web cũng nhƣ các Web
sever liên quan đều rất dễ sử dụng, cấu hình hoặc quản lí. Nội dung của các web
side này cũng ngày càng phong phú, phản ánh tính đa dạng của thông tin, và tất
nhiên không loại trừ những webside không trƣớc đƣợc bởi chúng ẩn dƣới những
lớp vỏ đƣợc che chắn một cách khéo léo. Lịch sử ngắn ngủi của Web đƣợc phản
ánh bởi những hệ thống đƣợc nâng cấp và phát triển mới mà ở đó vẫn có những
nguy cơ bị tấn công vào các lỗ hổng bảo mật.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
59
Có nhiều giải pháp cho vấn đề bảo mật đã đƣợc đua ra, các nhà nghiên
cứu chủ yếu tập trung vào việc nghiên cứu và xem xét nhằm cải tiến các dịch vụ
đã cung cấp và các kĩ thuật đã đƣợc sử dụng, nhƣng với một cách tiếp cậ mới
trong giới hạn của giao thức ICP/IP. Hình 3.1a cho ta thấy sự khác biệt này, đó
chính là việc cung cấp cơ chế bảo mật cho IP. Tiến bộ này của IPSec thể hiện ở
chỗ nó tạo một kênh thông suốt, kênh sạch,giữa ngƣời sử dụng cuối với ứng
dụng nhƣ là một giải pháp thông nhất.Hơn nữa,IPSec còn chứa một bộ lọc đặc
biệt để lựa chọn tuyến giao vận tránh hiện tƣợng tràn bộ nhớ trong quá trình xử
lý của IPSec.

HTT FPT SMT S/MINE PGP SET


P P
HTT FTP SMTP SSL or TLS Kerbero SMTP HTTP
P 00 s
TCP TCP UDP
TCP
IP IP

IP/IPSPec
(b) Transport Level (a)Network Level (c) Application
Level

Hình 17: Vị trí của các phƣơng tiện bảo mật trong cấu trúc của giao thức
TCP/IP
Một giải pháp nữa là cải tiến cơ chế bảo mật trên giao thức TCP, một
trong những ý tƣởng dẫn dắt đến sự ra đời của giao thức Secure Sockets layer
(SSL) và Transprot layer Security (TLS). Ở tầng này, có hai sự lựa chọn là SSL
hoặc là TLS, SSL đƣợc cung cấp nhƣ là một giao thức hỗ trợ nên có hoàn toàn
có thể bảo mật bất kì giao thức ứng dụng nào đƣợc xếp trên lớp TCP một cách
trong suốt.Ngoài ra, SSL còn có thể đƣợc gắn vào các ứng dụng nhƣ một gói đặc
biệt, ví dụ nhƣ các trình duyệt IE và Netscape đều đƣợc trang bị SSL, các Web
server cũng đều đã đƣợc bổ sung giao thức này.
Một đặc trƣng khác của các dịch vụ bảo mật là việc chúng đƣợc gắn bên
trong các dịch vụ bảo mật , hình 3.1c là một ví dụ cho kiến trúc dạng này. Sự
thay đổi mới này thể hiện ở chỗ các dịch vụ có thể thích úng với các thành phần
cần thiết nhất định của úng dụng. Trong bối cảnh chung của vấn đề bảo mật úng
dụng web, SET(Secure Electrolic Transaction) là một ví dụ tiêu biểu cho cách
tiếp cận này.
5.2 SSL và TLS
Nhƣ đã đề cập ở trên, hai giao thức bảo mật quan trọng lớp vận chuyển
(Layer Transport) có tầm quan trọng rất lớn đối với sự bảo mật của các trình úng
dụng trên web đó là SSL và TLS .
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 Netcape Communications 1.0. Nó
chứa một số khuyết điểm nghiêm trọng và không bao giờ đƣợc tung ra
bên ngoài.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
60
 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ớ thiệu
giao thức PCT (Private Communication Technology) cạnh trang trong lần
tung ra Internet Explorer đầu tiên của nó vào năm 1996.
 SSL 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ợ trong tất cả các phiên bản phần
mềm dựa vào TCP/IP của nó.

5.2.1 Kiến trúc của SSL

Cấu trúc của SSL và giao thức của SSL tƣơng ứng đƣợc minh họa trong
hình 1.1. Theo hình này, SSL ám chỉ một lớp ( bảo mật) trung gian giữa lớp vận
chuyển (Transport Layer) và lớp ứng dụng (Applycation Layer). SSL đƣợc xếp
lớp lên trên một dịch vụ vận chuyển định hƣớng nối kết và đáng tin cậy, chẳng
hạn nhƣ đƣợc cung cấp bởi TCT. Về khả năng nó có thể cung cấp các dịch vụ
bảo mật cho các giao thức ứng dụng tùy ý dựa vào TCP chứ không phải chỉ
HTTP. Thực tế, một ƣu điểm chính của các giao thức bảo mật lớp vận chuyển
(Transport Layer) nói chung và giao thức SSL nói riêng là chúng độc lập với
ứng dụng theo nghĩa là chúng có thể đƣợc sử dụng để bảo vệ bất kỳ giao thức
ứng dụng đƣợc xếp lớp lên trên TCP một cách trong suốt. Hình 2.2 minh họa
một số giao thức ứng dụng điểm hình bao gồm NSIIOP, HTTP, FTP, Telnet,
IMAP, IRC, POP3. Tất cả chúng có thể đƣợc bảo vệ bằng cách xếp lớn chúng
trên SSL (mẫu tự S đƣợc thêm vào trong các kỳ ghép giao thức tƣơng ứng chỉ
định việc sử dụng SSL). Tuy nhiên chú ý rằng SSL có môt định hƣớng Client-
sever mạnh mẽ và thật sự không đáp ứng các yêu cầu của các giao thức ứng
dụng ngang hàng.

SSL SSl change SSL, LDAP


Ghandshaks
protocol
Cipher Spec
protocol
Aliert
protocol
HTTR cac HTTP SMTP
Application
SSl Record Layer Layer

……………………………………………………………………………………
…………
TCP
Transport
Layer

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
61
…………………………………………….............................................................
..............
IP Internet
Layer
……………………………………………………………………………………
………...

Network
Network Access
Layer

Hình 18: Kiến trúc của SSL

Tóm lại, giao thức SSL cung cấp sự bảo mật truyền thông vốn có 3 đặc tính
cơ bản
1. Các bên giao tiếp (nghĩa là Client và server) có thể xác thực nhau bằng
cách sử dụng mật mã khóa chung.
2. Sự bí mật của lƣu lƣợng dữ liệu đƣợc bảo vệ vì nối kết đƣợc mã hóa trong
suốt sau khi một sự thiết lập quan hệ ban đầu và sự thƣơng lƣợng khóa
session đã xảy ra.
3. Tính xác thực và tính toàn vẹn của lƣu lƣợng dự liệu cũng đƣợc bảo vệ vì
các thông báo đƣợc xác thực và đƣợc kiểm tra tính toán toàn vẹn một cách
trong suốt bằng cách sử dụng MAC.
Tuy nhiên điều quan trọng cần lƣu ý là SSL không ngăn các cuộc tấn
công phân tích lƣu lƣợng.ví dụ: bằng cách xem xét các địa chỉ IP nguồn và đích
không đƣợc mã hoá và các số cổng TCP, hoặc xem xét lƣợng dữ liệu đƣợc
truyền, một ngƣời vẫn phân tích lƣu lƣợng vẫn có thể xác định các bên nào dang
tƣơng tác, các loại dịch vụ nào đang đƣợc sử dụng, và đôi khi ngay cả khi dành
đƣợc thông tin về các mối quan hệ doanh nghiệp hoặc cá nhân. Hơn nữa SSL
không ngăn các cuộc tấn công có định hƣớng dựa vào phần thực thi TCP chẳng
hạn nhƣ các cuộc tấn công làm tràn ngập TCP SYN hoạc cƣỡng đoạt sesion. Để
sử dụng sự bảo vệ của SSL cả client lẫn server phải biết rằng phía bên kia đang
sử dụng SSL. Nói chung có ba khả năng giải quyết vấn đề này :
1. Sử dụng các sổ cổng chuyên dụng đƣợc dành riêng bởi internet asigned
numbers Authority (IANA) .Trong trƣờng hợp này một số cổng riêng biệt phải
đƣợc gán cho mọi iao thức ứn dụng vốn sử dụng SSL.
2. Sử dụng số cổng chuẩn cho mọi giao thức ứng dụng và để thƣơng lƣợng
các tuỳ chọn bảo mật nhƣ là một phần của giao thức ứng dụng .
3. sử dụng một tuỳ chọn TCP để thƣơng lƣợng việc sử dụng một giao thức
bảo mật, chẳng hạn nhƣ SSL trong suốt giai đoạn thiết lập nối kểt TCP thông
thƣờng.
Sự thƣơng lƣợng dành riêng cho ứng dụng của các tùy chọn bảo mật
(nghĩa là khả năng thứ hai) coá khuyết điểm là đòi hỏi mọi giao thức ứng dụng
đƣợc chỉnh sửa để hiểu tiến trình thƣơng lƣợng. Ngoài ra, việc xác định một tuỳ
chọn TCP (nghĩa là khả năng thứ 3) là một giải pháp tốt, nhƣng nó không đƣợc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
62
thảo luận nghiêm túc cho đến bây giờ. Thực tế, các số cổng riêng biệt đã đƣợc
dành riêng và đƣợc gán bởi IANA cho mọi giao thức ứng dụng vốn có thể chạy
trên SSL hoặc TLS (nghĩa là khả năng thứ nhất). Tuy nhiên, háy chú ý việc sử
dụng các số cổng riêng biệt cũng có khuyết điểm là đòi hỏi hai nối kết TCP nếu
client không biết những gì mà server hỗ trợ. Trƣớc tiên, client phải nối kết với
cổng an toàn và sau đó với cổng không an toàn và ngƣợc lại. Rất có thể các giao
thức sau này sẽ huỷ bỏ phƣơng pháp này và tìm khả năng thứ hai. Ví dụ, SALS
(Simple Authentication và Security Layer) xác định một phù hợp để thêm sự hỗ
trợ xác thực vào các giao thức ứng dụng dựa vào kết nối. Theo thông số kỹ thuật
SALS, việc sö dụng các cơ chế xác thực có thể thƣơng lƣợng giữa client và
server của một giao thức ứng dụng đã cho.
Sè cæng ®-îc g¸n bëi IANA cho các giao thức ứng dụng vốn vốn chạy
trên SSL/TLS đƣợc tóm tẳt trong bảng 2.1. Ngày nay, ”S” chØ định việc sử
dụng SSL đƣợc thêm (hậu tố) nhất quán vào các từ ghép của các giao thức ứng
dụng tƣơng ứng (trong một số thuật ngữ ban đầu, S đƣợc sử dụng và đƣợc thêm
tiền tố một cách không nhất quán và một số từ ghép).
Bảng 2.1 : Các số cổng đƣợc gán cho các giao thức ứng dụng chạy trên
TLS/SSL

Từ khoá Cổng Mô tả
Nsiiop 261 Dịch vụ tên IIOP trên TLS/SSL
Https 443 HTTP trên TLS/SSL
Smtps 465 SMTP trên TLS/SSL
Nntps 563 SMTP trên TLS/SSL
Ldaps 636 LDAP trên TLS/SSL
Ftps-data 989 FTP (dữ liệu) trên TLS/SSL
Ftps 990 FTP (Điều khiển) trên TLS/SSL
Tenets 992 TELNET trên TLS/SSL
Imaps 994 INC trên TLS/SSL
Pop3s 995 POP3 trên TLS/SSL

Nói chung, một session SSL có trạng thái và giao thức SSL phải khởi
tạo và duy trì thông tin trạng thái ở một trong hai phía của sesion. Các phần tử
thông tin trạng thái sesion tƣơng ứng bao gồm một session ID, một chứng nhận
ngang hàng, một phƣơng pháp nén, một thông số mật mã, một khoá mật chính
và một cờ vốn chỉ định việc sesion có thể tiếp tục lại hay không, đƣợc tóm tát
trong bảng 2.2. Một session SSL có thể đƣợc sử dụng trong một số kết nối và
cácthành phần thông tin trạng thái nối kết tƣơng ƣng đƣợc tóm tắt trong bảng
2.3 .chúng bao gồm các tham số mật mã, chẳng hạn nhƣ các chuỗi byte ngẫu
nhiên server và client các khoá mật MAC ghi server và client, các khoá ghi
server và client, một vector khởi tạo và một số chuỗi. Ở trong hai trƣờng hợp,
điều quan träng cÇn lƣu ý là các phía giao tiếp cÇn sử dụng nhiều session SSL
đồng thời và các session có nhiều nối kết đồng thời
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
63
Bảng 2.2 : Các thành phần thông tin trạng thái Session SSL

Thành phần Mô tả
Session ID Định dạng đƣợc chọn bởi server để nhận dạng một
trạng thái session hoạt động hoặc có thể tiếp tục
lại.
Peer certificate Chứng nhận X.509 phiên bản 3 của thực thể ngang
hàng.
Compression Thuật toán dùng để nén dữ liệu trƣớc khi mã hõa.
method
Ciphr spec Thông số của các thuật toán mã hoá dữ liệu và
MAC.
Mater sercet Khoá mật 48 - byte đƣợc chia sẻ giữa client và
server.
Is resumable Cờ vốn biểu thị session có thể đƣợc sử dụng để bắt
đầu các nối kết mới hay không.

Bảng 2.3: Các thành phần thông tin trạng thái nối kết SSL.

Thành phần Mô tả
Ngẫu nhiên Các chuỗi byte đƣợc chọn bởi server và client cho
server và client mỗi nối kết.
Khoá mật Khoá mật đƣợc sử dụng cho các hoạt động MAC
trên dữ liệu.
MAC ghi Đƣợc ghi bởi server.
server
Khoá mật Khoá mật đƣợc sử dụng cho các hoạt động MAC
MAC ghi client trên dữ liệu đƣợc ghi bởi client.
Khoá ghi Khoá đƣợc sử dụng cho việc mã hoá dữ liệu bởi
server server và giải mã bởi client.
Khoá ghi client Khoá đƣợc sử dụng cho việc mã hoá dữ liệu bởi
client và giải mã bởi server.
Initialization Trạng thái khởi tạo cho một mật mã khổitong chế độ
vector CBC.Trƣờng này đƣợc khởi tạo đầu tiên bởi SSL
Handshake player. Sau đó khối đoạn văn bản mật
mã sau cùng từ mỗi bản ghi đƣợc dành riêng để sử
dụng với bản ghi sau đó.
Sè chuçi Mỗi phía duy trì các số chuỗi riêng biệt cho các
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
64
thông báo đƣợc chuyền và đƣợc nhận cho mỗi nối
kết.

Giao thức con SSL quan träng nhất là SSL Handshake protocol. Lần
lƣợt giao thức này là một giao thức xác thực và trao ®æi khoá vốn có thể đƣợc
sử dụng để thƣơng lƣợng. Khởi tạo và đồng bộ hoá các tham số bảo mật và
thông tin trạng thái tƣơng ứng đƣợc ®Æt ở trong một hai điểm cuối của một
session hoặc nối kết SSL.
Sau khi SSL Handshake protocol đã hoàn tất dữ liệu ứng dụng có thể
đƣợc gửi và đƣợc nhận bằng cách sử dụng SSL Record protocol và các tham số
bảo mật đƣợc thƣơng lƣợng và các thành phần thông tin trạng thái.

5.2.2 SSL Record protocol :

Application layer

Change SSL SSL


SSL 3.0 Cipher Alert Handshake
Spec Protocol Protocol

SSL Record protocol

TCP protocol

IP protocol

Hình 19: Các bƣớc SSL Record protocol

SSL Record Protocol nhận dử liệu từ các dao thức con SSL lớp cao hơn và sử lý
việc phân đoạn, nén, xác thực và mã hoá dữ liệu. Chính xác, giao thức này lấy
một khối dữ liệu có kích cỡ tuỳ ý làm dữ liệu nhập và toạ một loạt các đoạn dữ
liệu nhập và tao một loạt các đoạn dữ liệu SSL làm dữ liệu xuất (hoặc còn đƣợc
gọi là các bản ghi) nhỏ hơn hoặc bằng 16,83 byte.
Các bƣớc khác nhau của SSL Record Protocol vốn đi từ một đoạn
dữ liệu thô đến một bản ghi SSL Plaintext (bƣớc phân đoạn), SSL Compressed
(bƣớc nén) và SSL ciphertext (bƣớc mã hoá) đƣợc minh hoạ trong hình 2.3. Sau
cùng, mỗi bản SSL chứa các bản thông tin sau đây:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
65
 Loại nội dung: xác định giao thức lớp cao hơn vốn ophải đƣợc sử dụng để
sau đó xử lý độ lớn dữ liệu bản ghi SSL (sau khi giải nens và giải mã hoá
thích hợp).
 Số phiên bản của giao thức: xác định phiên bản SSL đang sử dụng
(thƣờng là version 3.0)
 Độ dài;
 Độ lớn dữ liệu (đƣợc nến và đƣợc mã hoá tuỳ ý): độ lớn dữ liệu bản ghi
SSL đƣợc nén và đƣợc mã hoá theo phƣơng thức nén hiện hành và thông
số mật mã đƣợc xác định cho session SSL.
 MAC.
Lúc đầu mỗi session SSL,phƣơng pháp nén và thông số mật mã thƣờng
đƣợc xác định là rỗng. Cả hai đƣợc xác lập trong xuốt quá trình thực thi ban đầu
SSL Handshake Protocol.Sau cùng MAC đƣợc thêm vào các bản ghi SSL. Nó
cung cấp các dich vụ xác thực nguồn gốc thông ban\ó c\và tính toàn vẹn dữ liệu.
Tƣơng tự nhƣ thuật toán mã hoá, thuật toán vốn đƣợc sử dụng để tính và xác
nhận MAC đƣợc xác định trong thông số mật mã của trạng thái session hiện
hành. Theo mặc định,SSL Record Protocol sử dụng một cấu trúc MAC vốn
tƣơng tự nhƣng vẫn khác với cấu trúc HMAC hơn. Có ba điểm khác biệt chính
giữa cấu trúc SSL MAC và cấu trúc HMAC:
1. Cấu trúc SSL MAC có một số chuỗi trong thông báo trƣớc khi hash để
ngăn các hình thức tấn công xem lại riêng biệt.
2. Cấu trúc SSL MAC có chiều dài bản ghi.
3. Cấu trúc SSL MAC sử dụng các toán tử ghép, trong khi cấu trúc MAC sử
dụng module 2.
Tất cả các điểm khác biệt này hiện hữu chủ yếu vì cấu trúc SSL MAC
đựoc sử dụng trƣớc cấu trúc HMAC cũng đƣợc sử dụng cho thông số ki thuật
giao thức bảo mật Internet. Cấu trúc HMAC cũng đƣợc sử dụng cho thông số kĩ
thuật giao thức TSL gần đây hơn.
Nhƣ đƣợc minh hoạ trong hình 2.3 một số giao thức con SSL đƣợc xếp
lớp trên SSL Record Protocol. Mỗi giao thức con có thể tham chiếu có thể thông
báo đến các loại thông báo cụ thể vốn đƣợc gửi bằng cách sử dụng SSL Record
Protocol. Thông số kĩ thuật SSL 3.0 xác định ba giao thức SSL sau đây:
 Alert Protocol;
 Handshake Protocol;
 ChangeCipherpec Protocol;
Tóm lại, SSL Alert Protocol đƣợc sử dụng để chuyển các cảnh báo thông
qua SSL Record Protocol. Mỗi cảnh báo gồm 2 phần, một bức ảnh báo và một
mô tả cảnh báo.
SSL Handshake Protocol là giao thức con SSl chính đƣợc sử dụng để
hỗ trợ xác thực client và server và để trao đổi một khoá session. Do đó SSL
Handshake Protocol trình bày tổng quan và đƣợc thảo luận trong phần tiếp theo.
Sau cùng, SSL ChangeCipherpec Protocol đƣợc sử dụng để thay đổi
giữa một thông số mật mã này và một thông số mật mã khác. Mặc dù thông số

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
66
mật mã thƣờng đƣợc thay đổi ở cuối một sự thiết lập quan hệ SSL, nhƣng nó
cũng có thể đƣợc thay đổi vào bất kỳ thời điểm sau đó.
Ngoài những giao thức con SSL này, một SSL Application Data
Protocol đƣợc sử dụng đê chuyển trực tiếp dữ lệu ứng dụng đến SSL Record
Protocol.
5.2.3 SSL Handshake Protocol
SSL Handshake Protocol là giao thức con SSL chính đƣợc xếp lớp trên
SSL Record Protocol. Kết quả, các thông báo thiết lập quan hệ SSL đƣợc cung
cấp cho lớp bản ghi SSL nơi chúng đƣợc bao bọc trong một hoặc nhiều bản ghi
SSL vốn đƣợc xử lý và đƣợc chuyển nhƣ đƣợc xác định bởi phƣơng pháp nén và
thông số mật mã của session SSL hiện hành và các khoá mật mã của nối kết SSL
tƣơng ứng. Mục đích của SSL Handshake Protocol là yêu cầu một slient và
server thiết lập và duy trì thông tin trạng thái vốn đƣợc sử dụng để bảo vệ các
cuộc liên lạc. Cụ thể hơn, giao thức phải yêu cầ slient và server chấp thuận một
phiên bản giao thức SSL chung, chọn phƣơng thức nén và thông phức nén và
thông số mật mã, tuỳ ý xác thực nhau và tạo một khoá mật chính mà từ đó các
khoá ssession khác nhau dành cho viêc xác thực và mã hoá thông báo có thể
đƣợc dẫn xuất từ đó.
Tóm lại, việc thực thi SSL Handshake Protocol giữa một slient C và một
server S có thể đƣợc tóm tắt nhƣ sau (các thông báo đƣợc đặt trong các dấu
ngoặc vuông thì tuỳ ý):

Hình 20:

Client Server
Client Hello
Server Hello
Server Certificate
Server Hello Done
Client Key Exchange
Change Cipher specification
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
67
Handshake Finished
Change Cipher specifications

Khi Client C muốn kết nối với server S, nó thiết lập một nối kết TCP với
cổng HTTPS (vốn không đƣợc đƣa vào phần mô tả giao thức) và gởi một thông
báo CLIENTHELLO đến server ở bƣớc 1 của sự thực thi SSL Handshake
Protocol. Client cngx có thể gởi một thông báo CLIENT HELLO nhằm phản hồi
lại một thông báo HELLOREQUEST hoặc chủ động thƣơng lƣợng lại các tham
số bảo mật của một nối kết hiện có. Thông báo CLIENTHELLO bao gồm các
trƣờng sau đây:
 Số của phiên bản SSL cao nhất đƣợc biểu hiện bởi client (thƣờng là
3.0t).
 Một cấu trúc ngẫu nhiên do client tạo ra gồm một tem thời gian 32 bit
có dạng UNIX chuẩn và một giá trị 28 byte đƣợc tạo ra bởi một bộ tạo số giả
ngẫu nhiên.
 Một định danh session mà client muốn sử dụng cho nối kết này.
 Một danh sách các bộ mật mã client hỗ trợ.
 Một danh sách các phƣơng pháp nén mà client hỗ trợ.
Chú ý rằng trƣờng session identity (định danh session) nên rỗng nếu
session SSL hiện không tồn tại hoặc nếu client muốn ạo clientáclient ham số bao
mật mới. ở một trong hai trƣờng hợp, một trƣờng session identity không rỗng là
xáclient định một session SSL hiệ có giữa client và server (nghĩa là một session
có các tham số bảo mật mà client muốn sử dụng lại). Định danh session có thể
bắt nguồn từ một nối kết trƣớc đó, nối kết này hoăc một nối kết đang hoạt động.
Cũng chú ý rằng danh sách các bộ mật mã đƣợc hỗ trợ, đƣợc chuyển từ client
đến server trong thông báo CLIENTHELLO, chứa các tổ hợp thuật toán mật mã
đƣợc hỗ trợ bởi client theo thứ tự ƣu tiên. Mỗi bộ mật mã xác định một thuật
toán trao đổi và một thuật toán trao đổi khoá và một thông báo mật mã. Server
sẽ chọn một bộ mật mã hoặc nếu các lựa chọn có thể chấp nhận đƣợc không
đƣợc trình bày, trả về một thông báo lỗi và đóng nối kết một cách phù hợp. Sau
khi đã gởi thông báo CLIENTHELLO. Client đợi một thông báo SERVER
HELLO. Bất kì thông báo khác đƣợc trả về bởi server ngoại trừ một thông báo
HELLOREQUEST đƣợc xem nhƣ là một lỗi vào thời điểm này.
ở bƣớc 2, server sử lí thông báo CLIENTHELLO và đáp ứng bằng một
thông báo lỗi hoặc thông báo SERVER HELLO. Tƣơng tự nhƣ thông báo
CLIENTHELLO, thông báo SERVER HELLO có các trƣờng sau đây:
 Một số phiên bản server chứa phiên bản thấp hơn của phiên bản đƣợc
đề nghị bởi client trong thông báo CLIENTHELLO và đƣợc hỗ trợ cao nhất bởi
Server.
 Một cấu trúc ngẫu nhiên do server tạo ra cũng gồm một tem thời gian
32 bit có dạng UNIX chuẩn và một giá trị 28 bit đƣợc tạo ra bởi một bộ tạo số
ngẫu nhiên.
 Một đinh danh session tƣơng ứng với kết nối này.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
68
 Một bộ mật mã đƣợc chọn bởi server từ danh sách các bộ mật mã đƣợc
hỗ trợ bởi client.
 Một phƣơng pháp nén đƣợc chọn bởi server từ danh sách các thật toán
nén đƣợc hỗ trợ bởi client.
Nếu định danh session trong thông báo CLIENTHELLO không rỗngN,
server tìm trong cache session của nó nhằm tìm ra một mục tƣơng hợp. Nếu mục
tƣơng hợp đƣợc tìm thấy và server muốn thiết lập nối kết bằng cách sử dụng
trạng thái session tƣơng ứng, server đáp ứng bằng cùng một giá trị nhƣ đƣợc
cung cấp bởi client . Chỉ định này là một session đƣợc tiếp tục lại và xác định
rằng cả hai phía phải tiến hành trực tiếp với các thông báo
CHANGECIPHESPEC và FINISHED đƣợc trình bày thêm bên dƣới. Nếu
không, trƣờng này chứa một giá trị khác nhận biết một session mới. Server cũng
có thể trả về một trƣờng đnhjdanh session rỗng đễ biểu thị rằng session sẽ không
đƣợc lƣu trữ và do đó không thể đƣợc tiếp tục sau đó. Cũng chú ý rằng thông
báo SERVERHELLO, server đƣợc chọn một bộ mật mã và một phƣơng pháp
nén từ các danh sách đƣợc cung cấp bởi client trong thông báo CLIENTHELLO
. Các thuật tón trao đổi khoá, xác thực, mã hoá và xác thực thông báo đƣợc xác
định bởi bộ mã đƣợc chọn bởi server và đƣợc làm lộ ra trong thông báo
SERVERHELLO. Các bộ mật mã vốn đã đựoc xác định trong giao thức SSL về
cơ bản giống nhƣ bộ mật mã đã xác định cho TLS
Ngoài thông báo SERVERHELLO, server cũng phải gởi các thông báo
khác đến client. Ví dụ, nếu server đƣợc sử dụng sự xác thực dựa vào chứng
nhân, server gởi chứng nhận site cả nó đến client trong một thông báo
CERTIFICATE tƣơng ứng. Chứng nhận phải thích hợp cho thuật toán trao đôI
kháo cua bộ mật mã đƣợc chọn và thƣờng là một chứng nhận X 509v3. cùng
loại thông báo server đƣợc sử dụng sau đó cho sự đáp ứng của client đối với
thông báo CERTIDICATERequest của server . Trong trƣờng hợp các chứng
nhận X 509v3, một chứng nhận có thể thực sự tham chiếu đén toàn bộ mỗi chuỗi
các chứng nhận, đƣợc sắp xếp theo thứ tự với chứng nhận ca đối tƣợng gởi trƣớc
tiên theo sau là bất kỳ chứng nhận CA tiến hành theo tnhf tự hƣớng đến một CA
gốc (vốn đƣợc chấ nhận bởi clientv).
Tiếp theo, server có thể gửi thông báo SERVERKEYEXCHANGE đến client nế
nó không có chứng nhận, vốn có đƣợc sử dụng chỉ để xác định các chữ ký kĩ
thuật số hoặc sử dụng thuật toán trao đổi khoá dựa vào token FORITEZZA
(KEA). Rõ ràng thông báo này không đƣợc yêu cầu nếu chứng nhân site gồm
một khoá chung RSA vốn có thể đƣợc sử dụng trong việc mã hoá.Ngoài ra một
server không nặc danh có thể tuỳ ý yêu cầu một chứng nhận cá nhân để xác nhận
client. Do đó, nó gửi một thông báo CERTIFFICATATERequest đến client.
Thông báo này chứa một danh sách các loại chứng nhận đuợc yêu cầu,
đƣợc phân loại theo thứ tự ƣu tiên của server cũng nhƣ một danh sách các tên
đyựơc phân biệt cho các CA có thể chấp nhận. Ở cuối bƣớc 2, server gửi một
thông báo SERVERHELLODone đến client để chỉ định sự kết thúc
SERVERRHLLO và các thông báo kèm.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
69
Sau khi nhận SERVERHELLO và các thông tin đi kèm, client xác nhận
rằng chứng nhận site server (nếu đƣợc cung cấp) là hợp lệ và kiểm tra nhằm bảo
đảm các thông số bảo mạt đƣợc cung cấp trong thông báo SERVERHELLO có
thể đƣợc chấp nhận. Nếu server yêu cầu sự xác thực client, client gửi một thông
báo CERTIFICATE vốn chúa một chứn nhận cá nhân cho khoá chung của ngƣời
dùng đến server ở bƣớc 3.
Tiếp theo, client gửi một thông báo CLIENTKEYEXCHANGE có dạng phụ
thuộc vào thuật toán cho mỗi khoá chọn bởi server.
Nếu RSA đƣợc sử dụng cho việc xác thực server và trao đổi khoá, client
tạo một khoá mật tiềnchính 48 byte, mã hoá nó bằng mã chung đƣợc tìm thấy
trong chứng nhận site hoặc khoá RSA tạm thời từ thông báo
SERVERKEYEXCHSNGE và gửi kết quả troqr về trong thông báo
CLIENTKEYEXCHANGE. lần lƣợt server sử dụng khoá đơn để giả mã khoá
mật chính.
Nếu các token FORTEZZA đƣợc sử dụng để trao đổi khoá, client dẫn
xuất một khoá mã hoá token (TEK) bằng cách sử dụng KEA. Cách tìm KEA của
client sử dụng khoá chung từ chứng nhận server cùng với một số tham số riêng
trong token của client. Client gửi các tham số chung cần thiết cho server để cũng
tạo TEK, sử dụng các tham số riêng của nó. Nó tạo một khoá mật chính, bao bọc
nó bằng cách sử dụng TEK và gửi kết quả cùng với một số vector khởi tạo đến
server nhƣ là một phần của thông báo CLIENTKEYEXCHANGE. Lần lƣợt
server có thể giải mã khoá mật chính một cách thích hợp. Thuật toán trao đổi
khoá này không đƣợc sử dụng rộng rãi.
Nêu s sự xác thực client đƣợc yêu cầu, client cũng gửi một thông báo
CERTIFICATEVERIFY đến server. Thông báo này đƣợc sử dụng đẻ cung cấp
sự xác thực rõ ràng định danh cua ngƣời dựa vào chứng nhận các nhân. Nó chỉ
đƣợc gửi theo sau một chứng chỉ client vốn có khả năng tạo chữ kí (tất cả các
chứng nhận ngoại trừ các chứng nhận chứa các tham số Diffehallman cố định).
Sau cùng, client hoàn tất bƣớc 3 bằng cách guỉ 1 thông báo
CHAGECIPHERSPEC và một thông báo FINIHED tƣơng ứng tới server. Thông
báo FINIHED luôn đƣợc guỉƣ ngay lập tức sau thông báo
CHANGERCIPERSPEC để xác nhận rằng các tiến trình trao đổi khoá và xác
thực đã thành công. Thực tế thông báo FINISHED là thong báo đầu tiên vốn
đƣợc bảo vệ bằng các thuật toán mới đuợc thƣơng lƣợng và các khoá session.
Nó chỉ có thể đƣợc tạo và đƣợc xác nhận nếu nhƣng khoá này đƣợc cài đặt một
cách phù hợp ở cả hai phía. Không đòi hỏi sự báo nhận thông báo FINISHED;
các phía có thể bắt đầu gửi dữ liệu đƣợc mã hoá ngay lập tức sau khi đã gởi
thông báo FINISHED. Việc thực thi SSL Handshake Protocol hàn tất bằng việc
cũng yêu câỳu server gơI một thông báo SERVERKEYEXCHANGE và một
thông váo FINISHED tƣơng ứng đến client ở bƣớc 4.

Sau khi thiết lập SSL hoàn tất, một nối kết an toàn đƣợc thiết lập giữa các
client và server . nối kết này bây giờ có thể đƣợc sử dụng để gởi dữ liệu ứng
dụng vốn đƣợc bao bọc bởi SSL Record Protocol. Chính xác hơn, dữ liệu ứng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
70
dụng có thể đƣợc phân đoạn, đƣợc nén, hoặc đợc mã hoá và đƣợc xác thực theo
SSL Record Protocol cũng nhƣ thông tin trạng tháI session và nối kết vốn bây
giờ đƣợc thiết lập (tuỳ thuộc việc thực thi SSL Handshake Protocolt)

SSL Handshake Protocol có thể đƣợc rút ngắn nếu client và server quyết
định tiếp tục lại một session SSL đƣợc thiết lập trƣớc đó (và vẫn đƣợc lƣ trữv)
hoặc lặp lại một session SSL hiện có. Trong trƣờng hợp này, chỉ ba dòng thông
báo và tông cộng sáu thông báo đƣợc yêu cầu, Các dòng thông báo tƣơng ƣng có
thể tóm tắt nhƣ sau:
1: C -> S: CLIENTHELLO

2: S-> C: SERVERHELLO

CHANECIPHERSPEC

FINISHES

3: S-> CHANECIPHERSPEC INISHES

ở bƣớc một, client gởi một thông báo CLIENTHELLO đến server vốn có
mặc định danh session cần đƣợc tiếp tục lại. Lần lƣợt các server kiểm tra cache
session của nó để tìm một mục tƣơng hợp. Nếu một mục tƣơng hợp đƣợc tìm
thấy, server muốn tiếp tục lại nối kết bên dƣới trạng tháI session đã xác định, nó
trả về một thông báo SERVERHELLO với cùng một định danh session ở bƣớc
2. Vào thời điểm này, cả client lẫn server phảogởi các thông báo
CHANECIPHERSPEC và FINISHES đến nhau ở bƣớc 2 và 3. Một khi việc tái
thiết lập session hoàn tất, client và server có thể bắt đầu dữ liệu ứng dụng.

5.3. Bảo mật giao dịch điện tử ( Secure Electronic Transaction – SET)
SET là một phƣơng pháp bảo mật đƣợc xây dựng nhằm bảo đảm an toàn
các giao dịch trên internet bằng thể tín dụng. Phiên bản hiện tại, SET v1, đƣợc
chọn làm tiêu chuân bảo mật cho các thẻ tín dụng nhƣ Matercard và Visa vào
tháng 1 năm 1996. Rất nhiều công ty đã tập chung phát triển và xây dựng tong
đó có IBM, Microsoft, Netscape, RSA, Tesia và Versign. Từ năm 1998 các sản
phẩm đầu tiên sử dụng SET đã đƣợc triển khai.

Bản thân SET không phải là một hệ thống thanh toán, mà thực chất nó là
tập hợp các giao thức bảo mật và định dạng cho phép ngƣời dùng sử dụng các
thiết bị làm việc với thẻ tín dụng trên hệ thống mạng nhƣ internet theo nguyên
tắc bảo mật. Về cơ bản, SET cung cấp ba dịch vụ:

 Cung cấp một kênh truyền thông an toàn tuyệt đối với tất cả các thành
viền trong quá trình giao dịch.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
71
 Sử dụng tiêu chuẩn chứng thực số X.509v3 để đảm bảo an toàn.

 Giữ gìn sự riêng tƣ bởi các thông tin chỉ cung cấp cho các thành viên
trong giao dịch diễn ra vào thời điểm hay địa điểm cần thiết.

5.3.1.Tổng quan về SET


Các yêu cầu: Trƣớc tiên ta xem xét các yêu cầu trong thƣơng mại mà
SET cần có cũng nhƣ các thành phần khác tham gia trong các giao dịch sử dụng
SET, các yêu cầu thƣơng mại đảm bảo an toàn cho các chi trả với thẻ tín dụng
trên Internet cũng nhƣ các mạng khác bao gồm:

 Cung cấp sự tin cậy cho các thông tin chi trả và thanh toán: Điều này
cần thiết để đảm bảo ngƣời dùng thể giữ gìn an toàn các thông tin của mình
cũng nhƣ các thông tin đến đƣợc với ngƣời nhận đƣợc mong đợi. Sự tin cậy này
cũng sẽ giảm bớt các rủi ro đôI với các gian lận trong giao dịch với đối tác cũng
nhƣ các thành viên thứ ba không mong muốn. SET sử dụng mã hoá các cung
cấp tin cậy này.

 Đảm bảo tính toán toàn vẹn đối với mọi dữ liệu đƣợc truyền đ: Nghĩa là
đảm bảo không có nội dung nào bị thay đổi trong suốt quá trình giao dịch sử
dụng SET. Chữ ký số đƣợc sử dụng để cung cấp các toàn vẹn này.

 Cung cấp chứng thực đối với ngƣời sử dụng thẻ là ngƣời sử dụng tài
khoản thẻ tín dụng hợp pháp: Một cơ chế liên kết ngƣời dùng thể tới số tài
khoản xác định nhằm giảm thiểu các gian lận đối với một quá trình mua bán chi
trả. Chữ ký số và cơ chế chứng nhận đƣợc sử dụng để xác nhận ngƣời dùng thẻ
là ngƣời sở hữu tài khoản hợp lệ.

 Cung cấp các chứng thực cho phép các nhà knh doanh có thế chấp nhận
các giao dịch sử dụng thể tín dụng thông qua mối quan hệ với một tổ chức tài
chính: Đây là sự bổ sung cho các yêu cầu có trƣớc. Ngƣời sử dụng thể cần nhận
biết đƣợc đâu là các nhà kinh doanh có đủ tƣ cách đảm bảo an toàn cho các giao
dịch. Một lần nữa, chữ ký số và các cơ chế chứng nhận đƣợc sử dụng.

 Đảm bảo việc sử dụng một cách tốt nhất các kỹ thuật xây dựng hệ
thống và độ an toàn thực tế để bảo vệ tất cả các thành viên hợp pháp trong toàn
bộ quá trình giao dịch: SET là một sự kiểm nghiệm tốt dựa trên các thuật toán và
các giao thức mã hoá an toàn cao.

 Xây dựng một giao thức mà không phụ thuộc vào các cơ chế bảo mật
giao dịch cũng nhƣ các cơ chế ngăn chặn khác đã dùng: SET có thể thực thi an
toàn trên stack của TCP /IP “thô”. Tuy nhiên, SET không gây trở ngại khi sử
dụng các cơ chế bảo mật khác chẳng hạn nhƣ IPSec và SSL /TLS.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
72
 Tạo điều kiện và khuyến khích khả năng giữa phần mềm và các nhà
cung cấp dịch vụ mạnh: Các giao thức và định dạng SET độc lập với hạ tầng
thiết bị phần cứng, hệ điều hành và phần mềm Wed.

Các đặc trƣng cơ bản của SET: Sau khi để cập tới yêu cầu cần có ta thấy
SET bao gồm các đặc trƣng cơ bản sau:

 Thông tin cậy: Thông tin tài khoản và các thông tin cho việc
chi trả đƣợc bảo vệ khi nó đƣợc truyền đI trong mạng. Một điều thú vị và quan
trọng nhất ở đặc trƣng này của SET là nó ngăn không cho nhà kinh doanh bết
đƣợc số thẻ tín dụng của ngƣời sử dụng, mà điều này chỉ đƣợc cung cấp cho các
ngân hàng phát hành. Quy ƣớc mã hoá này đƣợc DES dùng để cung cấp các tin
cậy.

 Toàn vẹn dữ liệu: Thông tin chi trả từ ngƣời sử dụng thể tới các nhà
kinh doanh bao gồm các thông tin thanh toán, dữ liệu cá nhân và các liệu cho
việc chi trả. SET đảm bảo việc các nội dung của thông điệp không bị biến đổi
trong khi gửi đi. Chữ ký số RSA, sử dụng mã băm SHA -1, sẽ đảm bảo tính
toàn vẹn các thông điệp này. Các thông điệp này cũng có thể đƣợc đảm bảo bởi
HMAC sử dụng SHA -1.

 Chứng thực các nhà kinh doanh: SET cho phép ngƣời sử dụng thẻ
xác nhận một nhà kinh doanh có quan hệ với một tôt choc tài chính có khả năng
chấp nhận các thẻ chi trả. Trong trƣờng hợp này SET có sử dụng chứng nhận số
X.509v3 và chữ ký số RAS.

Chú ý rằng SET không giống nhƣ IPSec và SSL /TLS, nó chỉ cung cấp một chọn
lựa ứng với mỗi thuật toán mã hoá. Đây là một sự khôn ngoan bởi SET là một
ứng dụng đơn độc lập với mộ tập hợp các yêu cầu riêng, mà ở đó có IPSec và
SSL /TLS đóng vai trò hỗ trợ ở một phạm vi nào đó của các ứng dụng.

5.3.2.Các thành phần tham gia sử dụng SET.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
73
 Ngƣời dùng thẻ (cardholder): trong môi trƣờng điện tử, khách hàng hay
một nhóm khách hàng có ảnh hƣởng tới các nhà kinh doanh từ những
chiếc máy tính cá nhân thông qua internet. Một ngƣời sử dụng thẻ là
ngƣời có quyền nắm giữ thẻ thanh toán đƣợc cung cấp bởi những nhà phát
hành.
 Nhà kinh doanh(Merchant): Một nhà kinh doanh có thể là một cá nhân
hay một tổ chức có các dịch vụ bán hàng cho ngƣời dùng thẻ. Các dịch vụ
này đƣợc tiến hành thông qua các website hoặc thƣ điện tử. Một nhà kinh
doanh chấp nhận đƣợc các thẻ thanh toán thì buộc phải có quan hệ với
một nhà trung gian(Acquirer).
 Nhà phát hành(issuer): Đây là một tổ chức tài chính, chẳng hạn nhƣ ngân
hàng, cung cấp tài khoản ngƣời dùng cùng với thẻ thanh toán. Các tài
khoản đƣợc sử dụng thông qua các imail cá nhân. Về cơ bản, các nhà phát
hành chịu trách nhiệm chi trả các khoản tiền chƣa trả của ngƣời dùng thẻ.
 Nhà trung gian – Ngân hàng của doanh nghiệp (Acquirer): Đây là tổ chức
tài chính thực hiện việc thiết lập một tài khoản đối với nhà kinh doanh và
chứng thực các quá trình chi trả bằng thẻ. Các nhà kinh doanh thƣờng
chấp nhận nhiều hơn một loại thẻ nhƣng lại không muốn quan tâm đến
nhiều tổ chức cũng nhƣ nhiều cá nhân cung cấp thẻ nào. Trng khi đó nhà
trung gian sẽ cung cấp việc chứng thực nhà kinh doanh bằng cách đƣa ra
cho họ một thẻ tài khoản tiện lợi và giới hạn quyền đối với các loại thẻ
này. Nhà trung gian cũng cung cấp các luân chuyển điện tử cho việc chi
trả đối với các tài khoản của các nhà kinh doanh. Sau cùng, nhà kinh
doanh sẽ đƣợc hoàn lại số tiền mà các nhà phát hành có đƣợc từ quỹ luân
chuyển điện tử trên mạng chi trả.
 Cổng chi trả (payment gateway): Đây là một chức năng thực hiện bởi Nhà
trung gian hoặc đƣơc xây dựng một thành viên thứ ba nhằm xử lí các
thông tin chi trả của nhà kinh doanh. Nhà trung gian trao đổi các thông
điệp SET với cổng chi trả thông qua internet, trong khi đó cổng chi trả
hƣớng vào hay kết nối mạng tới hệ thống sử lí tài chính của nhà trung
gian.
 Quyền chứng nhận (Certification Authority- CA): Đây là một thực thể
đƣợc tin cậy để cung cấp các chức nhận khoá công khai X.509V3 cho
ngƣời sử dụng thẻ, các nhà kinh doanh và các công chi trả. Thành công
của SET sẽ phụ thuộc vào sự tồn tại của một hạ tầng CA có giá trị.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
74
Dƣới đây là mô tả lƣợc đồ bao gồm cho các sự kiện đƣơc diễn ra trong một giao
dịch thƣơng mại điện tử:
1. Khách hàng mở một tài khoản: khách hàng có đƣợc ở thẻ tín dụng nhƣ
MasteerCard hay Visa với một ngân hàng có khả năng hỗ trợ chi trả điện
tử và STE.
2. Khách hàng nhận một chứng nhận: Sau khi nhận dạng hoàn tất, khách
hàng nhận đƣợc một chứng nhận số X.509V3, Đƣợc kí bởi ngân
hàng.chứng nhận này xác minh công khai RSA của khách hàng và hạn sử
dụng của nó. Nó sẽ thiết lập một quan hệ, đƣợc bảo đảm bởi ngân hang,
chiếc cặp khoả của khách hàng và thẻ tín dụng của anh ta.
3. Nhà kinh doanh có riêng các chứng nhận của họ: Một nhà kinh doanh
muốn chấp nhận nhiều loại thẻ thì buộc phải sở hữu hai chứng nhận đối
với hai khoá công khai riêng của họ: Một cho kí nhận thông điêp và một
cho trao đổi khoá. Nhà kinh doanh cùng cần có một bả sao chứng nhận
khoá công khai của cổng chi trả.
4. Khách hàng đặt một thanh toán: Đây là một quá trình bao gồm việc lựa
chọn mặt hàng trên webside của nhà kinh doanh và xác định giá cả.
Khách hàng gửi tới nhà kinh doanh một danh sách các mặt hàng muốn
mua, họ nhận đƣợc một mẫu thanh toán bao gồm danh sách mặt hàng, giá
cả, tổng tiền và số hoá đơn.
5. Nhà kinh doanh được xác nhận: Thêm vào mỗi thanh toán, nhà kinh
doanh gửi một bản sao chứng nhận nó, vì vậy khách hàng có thể tin tƣởng
rằng anh ta có quan hệ với một nhà kinh doanh hợp pháp.
6. Việc thanh toán và chi trả được gửi đi: Khách hàng gửi tới nhà kinh
doanh các thông tin thanh toán và chi trả cùng với chứng nhận khách
hàng: Thông tin thanh toán bao gồm các mặt hàng đã đặt trong mẫu hoá
đơn; thông tin chi trả chứa nội dung chi tiết của thẻ tín dụng. Nó đã đƣợc
mã hoá do vậy nhà kinh doanh không thể biết đƣợc; chứng nhận khách
hàng cho phép nhà kinh doanh xác nhận khách hàng.
7. Nhà kinh doanh yêu cầu chứng thực các chi trả: nhà kinh doanh chuyển
các thông tin tới cổng chi trả, yêu cầu xác thực thông tin thẻ tín dụng của
khách hàng có phù hợp với việc mua các sản phẩm đã đặt hay không.
8. Nhà kinh doanh xác nhận thanh toán: nhà kinh doanh gửi xác nhận
thanh toán tới khách hàng.
9. Nhà kinh doanh cung cấp các mặt hàng dịch vụ: nhà kinh doanh chuyển
hàng hoặc cung cấp dịch vụ tới khách hàng.
10.Nhà kinh doanh yêu cầu chi trả: yêu cầu này đƣợc gửi tới cổng chi trả
(Quả lý tất cả quá trình chi trả).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
75
CHƢƠNG IV
cµi ®Æt b¶o mËt vµ an toµn th«ng tin trªn website
mua b¸n c¸c linh kiÖn m¸y tÝnh trªn m¹ng internet

I. C¸c chøc n¨ng c¬ b¶n vµ ho¹t ®éng cña hÖ thèng website

Nhƣ đã trình bày trong chƣơng 1, chƣơng 2 và chƣơng 3 của luận văn khi
nghiên cứu về các hệ mật mã khoá đới xứng và khoá công khai căn bản cũng
nhƣ việc nghiên cứu các giao thức và cơ chế bảo mật thƣơng mại điện tử sử
dụng SSL/TLS, SET, tác giả đã quyết định lựa chọn hệ mật mã cơ bản nhất là
DES và giải thuật chữ ký số DSA cho phần cài đặt ứng dụng của mình.
Trong luận văn này, em không đi sâu vào việc trình bày về quá trình phân
tích hệ thống cho việc xây dựng website bán hàng trực tuyến mà chỉ trình bày ý
nghĩa của các phần hệ thống đã đƣợc xây dựng bao gồm các chức năng thông
thƣờng cũng nhƣ các chức năng bảo mật đƣợc cài đặt. Các mô tả quá trình
chứng thực, bảo mật lớp cơ sở dữ liệu cũng nhƣ quá trình tƣơng tác giữa các đối
tƣợng trong quá trình chứng thực khách hàng đƣợc mô tả trong sơ đồ sau:

Đặt hàng Chứng thực


khách hàng

Khách hàng

1.Tổ chức dữ liệu


- Website bao gồm có các trang:
 Trang chủ
 Trang thông tin nhóm hàng: ví dụ Máy tính sách tay, thiết bị văn phòng…
 Trang thông tin chi tiết sản phẩm: hiển thị các thông tin chi tiết về một sản
phẩm, qua đó khách hàng thực hiện các thao tác khác nhƣ: chọn mua hàng
 Trang thông tin đơn hàng: sau khi khách hàng lựa chọn một hoặc nhiều
sản phẩm cần mua, gồm các thông tin nhƣ: mã sản phẩm, tên sản phẩm,
số lƣợng cần mua… sẽ lập thành một đơn hàng. Trên trang đơn hàng này,
khách hàng thực hiện các chức năng khác nhƣ :
o Tiếp tục mua hàng: tiếp tục chọn thêm các sản phẩm khác muốn
mua

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
76
o Chấp nhận mua hàng: gửi thông tin về đơn hàng lên hệ thống, xác
nhận nhu cầu mua hàng
o Hủy đơn hàng: xóa bỏ tất cả các sản phẩm đã lựa chọn, từ đó chọn
lại các sản phẩm mới
o Cập nhật đơn hàng: lựa chọn lại số lƣợng mỗi sản phẩm trong đơn
hàng, từ đó hệ thống tính lại giá tiền cho tổng cộng các sản phẩm
đã chọn
2. Quản trị thông tin
- Ngƣời quản trị hệ thống cập nhật các thông tin về sản phẩm lên website,
từ đó khác hàng có thể lựa chọn xem, mua
- Mỗi sản phẩm gồm các thông tin quan trọng là: Mã sản phẩm, giá bán.
Các thông tin khác chỉ có ý nghĩa cung cấp hiểu biết cho khách hàng
3. Mã hóa RSA và áp dụng trong hệ thống
Đăng ký thành viên
 Mỗi ngƣời truy cập vào hệ thống, muốn thực hiện việc mua hàng, đăng ký
mua hàng đều phải đăng ký trở thành thành viên của website. Quá trình
này chính là việc cấp cho khách hàng một “tên đăng nhập”, “mật khẩu
đăng nhập” và “cặp khóa công khai – khóa bí mật theo thuật toán RSA”.
Với đầy đủ các thông tin này, khách hàng có thể thực hiện đƣợc giao dịch
mua hàng trên website
 Chi tiết các bƣớc đăng ký thành viên gồm các bƣớc nhƣ sau:
o Đăng ký thành viên: cung cấp các thông tin nhƣ: tên đăng nhập, địa
chỉ hòm thƣ, mật khẩu…
o Hệ thống kiểm tra tính duy nhất của Tên đăng nhập & địa chỉ thƣ.
Nếu đã đƣợc sử dụng trong hệ thống, khách hàng phải lựa chọn một
tên khác
o Nếu quá trình cung cấp thông tin hoàn tất và không gặp lỗi nào, hệ
thống thực hiện “tạo” cặp khóa bí mật – công khai theo thuật toán
RSA, sau đó gửi khóa bí mật dƣới dạng file đính kèm về địa chỉ thƣ
mà khách hàng đã cung cấp. Khóa công khai đƣợc lƣu trữ trong
CSDL
o Cặp khóa bí mật – công khai này bảo đảm tính duy nhất, không
trùng lặp giữa tất cả các thành viên của hệ thống
o Khách hàng sau khi kiểm tra địa chỉ thƣ, nhận đƣợc đầy đủ các
thông tin cần phải thực hiện thao tác “xác nhận” trƣớc khi thực hiện
đƣợc bất kỳ giao dịch nào. Thao tác này là cần thiết, để tránh
trƣờng hợp mạo danh, sử dụng email của ngƣời khác một cách
không hợp lệ.
o Sau khi thao tác này hoàn thành, khách hàng đƣợc quyền thực hiện
các giao dịch của mình, theo những chức năng mà hệ thống đã cung
cấp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
77
4. Thực hiện mua hàng
 Khách hàng thực hiện việc mua hàng, cũng hoàn toàn giống các bƣớc
chọn hàng trong siêu thị, nhƣng khác là trên một hệ thống điện tử, siêu thị
trực tuyến
Thao tác 1: Xem hàng và chọn hàng. Khách hàng lƣớt web, xem hệ thống
cung cấp những mặt hàng nào, chủng loại nào, nếu tìm đƣợc hàng phù hợp
thì thực hiện thao tác chọn mua hàng. Sau thao tác này, mặt hàng đƣợc chọn
sẽ nằm trong một “đơn hàng”, và khách hàng có thể thay đổi lại đơn hàng
theo các thao tác nhƣ: không chọn sản phẩm nào đó, thay đổi số lƣợng cần
mua của mỗi sản phẩm, hủy toàn bộ đơn hàng
Thao tác 2: Chấp nhận mua hàng. Sau khi chọn xong các sản phẩm, khách
hàng thực hiện thao tác “Chấp nhận mua hàng”. Chức năng này thực hiện cập
nhập dữ liệu về hàng hóa của khách hàng vào hệ thống các đơn hàng chờ
đƣợc xử lý. Nếu khách hàng chƣa thực hiện đăng nhập, hệ thống không xác
định đƣợc định danh ngƣời dùng đang truy cập là ai, từ đó website sẽ chuyển
hƣớng đến trang đăng nhập. Trong trang này, khách hàng cần cung cấp các
thông tin gồm: Tên đăng nhập và Mật khẩu, nếu các thông tin này đúng hoặc
đã đăng nhập thành công trƣớc đó, hệ thống sẽ tự động chuyển đến trang xử
lý đặt mua hàng và thông báo cho khách hàng. Sau thao tác này, khách hàng
nhận đƣợc email thông báo tình trạng đơn hàng, và đƣờng dẫn duy nhất để
thực hiện kích hoạt đơn hàng.
Thao tác 3: Kích hoạt đơn hàng. Khi đơn hàng chƣa đƣợc kích hoạt, dữ liệu
về các sản phẩm, hàng hóa đặt mua đã đƣợc mã hóa theo thuật toán RSA, sử
dụng khóa chung để mã hóa các thông tin đơn hàng, bảo đảm thông tin đƣợc
bảo mật và không bị tiết lộ nếu không có khóa bí mật hợp lệ để giải mã.
Khách hàng thực hiện kích hoạt theo đƣờng dẫn đã cung cấp trong email, tiếp
đó hệ thống sẽ yêu cầu cung cấp khóa bí mật bằng cách khách hàng browse
để chọn file chứa khóa bí mật, file này đã đƣợc hệ thống cung cấp khi thực
hiện đăng ký. Hệ thống sẽ sử dụng khóa bí mật này (chỉ lƣu trong bộ nhớ
RAM máy tính) để giải mã các thông tin mã hóa ở trên, để tìm ra số sản
phẩm đã mua, số lƣợng tƣơng ứng với mỗi sản phẩm, để từ đó, tính giá trị
đơn hàng và chuyển dữ liệu cho module xử lý khấu trừ tiền trong tài khoản.
Nếu một ngƣời nào đó nhận đƣợc đƣờng dẫn này và cũng thực hiện kích hoạt
đơn hàng, nhƣng không có khóa bí mật hợp lệ, thì sẽ không thể thực hiện
đƣợc việc giải mã và mua hàng.
5, Các thức thực hiện mã hóa và giải mã
5.1 Mã hóa đơn hàng
 Các sản phẩm trong một đơn hàng đƣợc đặc trƣng bởi: Mã sản phẩm, số
lƣợng cần mua. Các thông tin khác nhƣ: giá bán, tên hàng… đều đƣợc lƣu
trữ trong CSDL của website, không cần thiết phải đƣa vào xâu ký tự cần
mã hóa.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
78
 Từ đó plain text cần mã hóa gồm: PT = {Mã-hàng-hóa}/{Số-lƣợng-cần-
mua}[^]. Từ đó, khi khách hàng chọn mua 5 sản phẩm thì xâu ký tự cần
thực hiện mã hóa sẽ là: PT = sp01/3^sp12/9^sp32/1^sp45/8^sp983/2, diễn
giải ra sẽ là: mua Sản phẩm có mã là sp01 số lƣợng 3 chiếc (cái), sản
phẩm có mã sp12 số lƣợng 9, sản phẩm có mã là sp32 số lƣợng 1, sản
phẩm có mã sp45 số lƣợng 8, sản phẩm có mã 983 số lƣợng 2. Hàm thực
hiện mã hóa sẽ mã hóa PT thành ET (encoded text), sử dụng khóa công
khai của ngƣời đã đặt mua hàng. Xâu ET này sẽ không thể có ý nghĩa nếu
không đƣợc giải mã, việc giải mã đòi hỏi phải có khóa riêng của khách
hàng
5.2 Giải mã đơn hàng
 Xâu ký tự đã mã hóa ET đƣợc hàm giải mã thực hiện decode (giải mã) sau
khi khách hàng cung cấp một khóa riêng hợp lệ. Nếu quá trình giải mã
thành công, hệ thống sẽ nhận đƣợc xâu PT nhƣ trƣớc khi thực hiện mã
hóa, từ đó chứng tỏ ngƣời kích hoạt đơn hàng là hợp lệ, và tiến hành
thanh toán, trừ tiền trong tài khoản bình thƣờng
Ví dụ khi thực hiện mã hóa/giải mã
Khóa bí mật và công khai
Thành viên của hệ thống là anhtuan, sau khi đăng ký sẽ đƣợc hệ thống cung
cấp các khóa công khai, khóa bí mật nhƣ sau:
PrivateKey:
YTozOntpOjA7czozMjoiEwUyThq8gAfqCKXW2F/gjMYjOPo6J34rmP6b8
vY+TMoiO2k6MTtzOjMyOiIBv4wLNs8ExGUG+mvRNP2p+2cjRKAH0Dt
mFTE0lebYQyI7aToyO3M6NzoicHJpdmF0ZSI7fQ==
PublicKey:
YTozOntpOjA7czozMjoiEwUyThq8gAfqCKXW2F/gjMYjOPo6J34rmP6b8
vY+TMoiO2k6MTtzOjM6IgEAASI7aToyO3M6NjoicHVibGljIjt9
Nhìn vào hai khóa này, chắc chắn mỗi chúng ta đều không biết ý nghĩa của
nó, nhƣng nó đƣợc sinh ra khi ta sử dụng mã hóa theo thuật toán RSA
II. cµi ®Æt c¸c chøc n¨ng b¶o mËt vµ an toµn th«ng tin trªn web
site mua b¸n linh kiÖn m¸y tÝnh

1. Thủ tục đăng kí thành viên

Thủ tục này đƣợc xây dựng cùng với chức năng đăng ký thành viên, sau khi
khách hàng điều đầy đủ các thông tin cá nhân cần thiết nhƣ email, mật khẩu, tên
đầy đủ, địa chỉ…và form này đƣợc đệ trình, khi đó Server sẽ tiến hành việc cập
nhật các thông tin này vào cơ sở dữ liệu, trƣớc khi cập nhật, mật khẩu khách
hàng sẽ đƣợc mã hoá bằng phƣơng pháp mã hoá DES (hoặc có thể là Triple –
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
79
DES, AES hay bất kỳ hệ mật mã khoá đối xứng nào khác để đảm bảo rằng mật
khẩu của khách hàng đƣợc giữ kín).

Nếu khách hàng đăng kí thành công thì hệ thống website sẽ gửi cho khách hàng
một thông báo vào địa chỉ email mà khách hàng đã đăng kí kèm theo một khoá
riêng private key dƣới dạng một file văn bản tex khách hàng phải lƣu giữ khoá
riêng này nhƣ chữ kí số của riêng mình thông báo nhƣ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
80
2. Khách hàng lựa chọn mua hàng trên website

Sau khi đã đăng kí là thành viên của website khách hàng mới có quyền chọn
hàng và mua hàng trên trang giới thiệu các mặt hàng của website.

Khách hàng lƣớt web, xem hệ thống cung cấp những mặt hàng nào, chủng loại
nào, nếu tìm đƣợc hàng phù hợp thì thực hiện thao tác chọn mua hàng. Sau thao
tác này, mặt hàng đƣợc chọn sẽ nằm trong một “đơn hàng”, và khách hàng có
thể thay đổi lại đơn hàng theo các thao tác nhƣ: không chọn sản phẩm nào đó,
thay đổi số lƣợng cần mua của mỗi sản phẩm, hủy toàn bộ đơn hàng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
81
Sau khi chọn xong các sản phẩm, khách hàng thực hiện thao tác “Chấp nhận
mua hàng”. Chức năng này thực hiện cập nhập dữ liệu về hàng hóa của khách
hàng vào hệ thống các đơn hàng chờ đƣợc xử lý. Hệ thống website sẽ gửi cho
khách hàng một thông báo về hoá đơn các mặt hàng mà khách hàng vừa chọn
kèm theo các thông tin về giá cả và địa chỉ nhận hàng nhƣ sau:

Khách hàng thực hiện kích hoạt theo đƣờng dẫn đã cung cấp trong email, tiếp đó
hệ thống sẽ yêu cầu cung cấp khóa bí mật bằng cách khách hàng browse để chọn
file chứa khóa bí mật, file private key này đã đƣợc hệ thống cung cấp khi thực
hiện đăng ký. Hệ thống website sẽ xác thực khách hàng bằng khoá private key

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
82
và gửi lại cho khách hàng một thông báo có chứa đầy đủ hoá đơn mua hàng của
khách hàng và tổng số tiền mà khách hàng phải trả từ tài khoản của mình.

Kết thúc quá trình giao dịch mua bán máy tính thông qua dịch vụ INTERNET
và tài khoản của cá nhân tại các ngân hàng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
83
kÕt luËn

Với sự phát triển mang tính toàn cầu của mạng Internet và TMĐT, con
ngƣời có thể giao tiếp dễ dàng trong một cộng đồng rộng lớn. Tuy nhiên đối với
các giao dịch mang tính nhạy cảm, cần phải có cơ chế đảm bảo an toàn trong
phiên giao dịch đó. Cần thiết hơn cả đó là mỗi bên cần xác định chính xác ngƣời
mình đang giao tiếp có đúng là đối tác mong đợi hay không. Trong luận văn
này, em đã đề cập đến hai kỹ thuật chính trong an toàn thông tin đó là mã hoá và
ký số cùng với những vấn đề liên quan đến bảo mật ứng dụng Web. Hai kỹ thuật
này cũng đƣợc áp dụng phần nào trong việc xác thực đối tác trong mỗi phiên
giao dịch.
Về kỹ thuật mã hoá, có hai phƣơng pháp: Mã hoá đối xứng và mã hoá khoá
khoá công khai. Mã hoá đảm bảo an toàn về thông tin giao tiếp nhƣng không đảm
bảo liệu thông tin có bị giả mạo hoặc có bị mạo danh hay không. Vấn đề chủ yếu
nằm ở việc quản lý khoá mã hoá và giải mã ở cả hai phƣơng pháp mã hoá.
Đối với phƣơng pháp ký số, dựa vào chữ ký cùng cặp khoá riêng và công
khai, chúng ta có thể xác định chính xác đối tác trong giao dịch. Em cũng đã tìm
hiểu hai loại chữ ký: Chữ ký kèm thông điệp và chữ ký sinh thông điệp cùng hai
sơ đồ ký đƣợc chấp nhận và sử dụng rộng rãi: RSA, DSS.
Có một vấn đề đặt ra đối với chữ ký số, liệu chúng ta có đảm bảo chính xác
chữ ký hoặc khoá khoá công khai là thuộc đối tác hay không. Có rất nhiều cách
tấn công vào chữ ký số, trong đó phổ biến là phƣơng pháp mạo danh chữ ký.
Giải pháp khắc phục đƣa ra là sử dụng chứng chỉ số cho khoá khoá công khai
nhằm đảm xác thực tính đúng đắn của đối tác trong giao dịch. Tuy nhiên, do
điều kiện về mặt thời gian còn hạn chế, em không thể nghiên cứu kỹ lƣỡng về
chứng chỉ số cho khoá công khai mà tập trung vào việc tìm hiểu một số các giao
thức bảo mật ứng dụng web, cụ thể là cài đặt một số quy trình giao dịch sử dụng
tới các phƣơng pháp mã hoá thông tin cũng nhƣ ký số. Em cũng đã cố gắng hết
sức để phát triển ứng dụng theo mô hình thƣơng mại điện tử sử dụng SET,
nhƣng do thực tế ở Việt Nam hiện nay không tồn tại một cách đầy đủ các thành
phần tham gia SET, vì vậy ứng dụng sẽ gặp khó khăn khi triển khai trong thực
tiễn.
Trong thời gian tới, em sẽ tiếp tục phát triển đề tài với phƣơng hƣớng cụ
thể nhƣ sau:
Tiếp tục tìm hiểu hơn và thực nghiệm với một số phƣơng pháp mã hoá
khoá đối xứng nhƣ Triple – DES, RC4, IDEA; các phƣơng pháp mã hoá khoá
công khai nhƣ Elgamal, Rabin, Knapsack, Eliptic Curve.
Cải tiến và nâng cao hiệu quả của các module đã cài đặt trên webssite cũng
nhƣ các kỹ thuật cài đặt khác.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
84

You might also like