Tải bản đầy đủ (.doc) (89 trang)

bảo mật dữ liệu - xác thực số

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

Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
Lời nói đầu
Internet đã và đang trở thành diễn trường tiềm năng và hứa hẹn hỗ trợ cho
thương mại điện tử. Trong nhiều năm qua, các ứng dụng cơ bản chủ yếu trên Internet
là E_mail (SMTP), tenet (Remote login), News (NNTP), ftp (file transfer protocol),…
và gần đây là WWW với giao thức HTTP (Hyper Text Transfer Protocol). Từ năm
1993, một số các tổ chức quốc tế hoặc công ty như WWW Consortium, Netscape
Comm. Corp đã dưa ra hàng loạt các chuẩn về bảo mật như SSL (Secure Socket
Layer), S-HTTP (Secure hypertext Transfer Protocol), SET (Secure Electronic
Transfer),…, làm cơ sở tăng cường cho các ứng dụng thương mại điện tử trên
Internet. Tuy nhiên, câu hỏi đặt ra là: làm thế nào để đảm bảo rằng dữ liệu khi truyền
trên mạng không bị đánh cắp hay sửa sai?.
Để đáp ứng được yêu cầu đó, người ta đã đưa ra các thuật toán về bảo mật dữ
liệu và đặc biệt là các dịch vô xác thực được sử dụng chủ yếu trong thươn mại điện
tử. Xác thực hoạt động như giấy phép lái xe hay thẻ chứng minh. Trong giao dịch
khinh doanh, dấu hiệu xác thực và chứng thực sự riêng tư được giải quyết với các dấu
hiệu vật lý như: con dấu hoặc chữ ký. Còn trong giao dịch khinh doanh điện tử, tương
đương với con dấu thì phải được mó hoỏ thành thông tin. Bằng cách kiểm tra con dấu
điện tử và không bị thay đổi, người nhận cú thể xác minh đặc tính của thông báo
người gửi và đảm bảo rằng nội dung thông báo không bị thay đổi trên đường truyền.
Để tạo ra thông báo điện tử tương đương với sự an toàn vật lý thì kiểm tra chữ ký sử
dụng bảo mật cấp cao.
Sau mét thời gian học tập, nghiên cứu và cùng với sự giúp đỡ tận tình của thầy
Nguyễn Như Thắng, em đã hiểu được cơ chế hoạt động của các dịch vô xác thực
trong thương mại điện tử. Dưới đây là nội dung mà em sẽ trình bày trong đồ án này:
Chương I: Bảo mật ứng dụng và vấn đề xác thực sè.
Chương II: Các dịch vô xác thực.
Chương III: Kiến trúc máy chủ xác thực và bài toán bán hàng trên mạng
CHƯƠNG I:
SV: Nguyễn Thị Nga – 511A
1


Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
BẢO MẬT ỨNG DỤNG
VÀ CÁC THUẬT TOÁN BẢO MẬT
I. HỆ THỐNG BẢO MẬT.
Bảo mật cung cấp những kỹ thuật cho việc mó hoỏ một thông báo thành
một dạng không thể hiểu một cách rõ dàng và sau đó lấy lại nó từ dạng đã được mó
hoỏ. Điều đó được minh hoạ trong hình sau:

Sự mó hoỏ và giải mã một thông báo
Ứng dụng tài liệu hoá sớm nhất của bảo mật là mã Caesar nổi tiếng, mà trong
đó mỗi ký tự của bản rõ được thay thế bởi ký tự mà nằm ở vị trí thứ ba của bảng chữ
cái. Ví dụ: A bắt đầu là D, B bắt đầu là E và W bắt đầu là Z. Hãy lưu ý rằng trong mã
này các ký tự phải quay vòng tròn từ Z đến A. Vì vậy, X là A, Y là B và Z là C. Mã
Caeser, mó hoỏ bản rõ CAT thành bản mã FDW và giải mã bản mã GRJ thành bản rõ
DOG. Giải mã được thực hiện bằng việc thay thế mỗi ký tự bản rõ bởi ký tự ở vị trí
thứ ba phía trước trong bảng chữ cái và quay vòng tròn từ A đến Z. Câu lệnh UNIX
ROT13 là sự thay đổi của mã Caeser mà trong đó mỗi ký tự được thay thế bởi ký tự ở
vị trí thứ 13 phía sau trong bảng chữ cái.
Mã Caeser là một thuật toán bí mật không rõ ràng. Bất kỳ ai mà đạt được một
bản mã và biết nó là mã Caeser có thể tìm lại được bản rõ ban đầu. Một hệ thống bảo
mật phức tạp hơn là mã Monoalphabetic, mà mó hoỏ ký tự bản rõ thành ký tù trong
bảng chữ cái. Việc sắp xếp không cố định, bản rừ tỏch thành những bản mã khác
nhau phụ thuộc vào những cặp chính xác của ký tự. Ví dụ: Bản rõ MOON bắt đầu là
KPPT, nếu M được biểu diễn là K, O là P và N là T; MOON bắt đầu là LSSD nếu M
được biểu diễn là L, O là S và N là D.
SV: Nguyễn Thị Nga – 511A
2
Encription Decription
PlainText
PlainText

CipherText
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
Một hệ thống bảo mật là tập hợp những thuật toán bảo mật, khoá bảo mật và
tất cả những bản rõ phù hợp và những bản mã tương ứng của chúng. Ví dụ, Trong hệ
thống mã monoalphabetic, thuật toán bảo mật là sự thay thế của những ký tự bản rõ
bằng một ký tự từ bảng chữ cái và khoá là những cặp ký tự bản rõ và bản mã bất kỳ.
I.1. CÁC THUẬT TOÁN BẢO MẬT
(Criptographic Algorithms)
Tất cả những hệ thống bảo mật đều chỉ dựa trờn ba thuật toán bảo mật: Khoỏ
riờng, khoỏ công khai và Message Digest.
Thuật toán Message Digest chia kích cỡ bản rõ có thể thay đổi thành bản mó
cú độ dài cố định. Chúng không có bất kỳ khoá nào và nó không có khả năng tính
toán để lấy lại bản rõ ban đầu từ bản mã. Thuật toán Message Digest thường được sử
dụng để chuyển thông báo lớn thành những thông báo có kích thước nhỏ hơn và dễ
quản lý hơn.
Thuật toán khúa riờng mó hoỏ thông báo bản rõ thành bản mã mà cú cựng độ
dài. Chúng sử dụng khoỏ riờng và nó không thể giải mã một bản mã mà không biết
khoá. Thuật toán khoỏ riờng được sử dụng phổ biến cho sự mó hoỏ bí mật.
Thuật toán khoá công khai tương tự như thuật tonỏ khoỏ riờng, nhưng chúng
sử dụng hai khoá: một khoỏ riờng và một khoá công khai. Những thuật toán này được
sử dụng để phân bố khoỏ riờng.
I.1.1.BẢO MẬT KHOÁ BÍ MẬT (Secret-key Cryptography)
Bảo mật khoá bí mật sử dụng khoá bí mật để mó hoỏ thông báo thành bản mã
và sử dụng cựng khoỏ đú để giải mã thông báo thành thông báo bản rõ ban đầu. Bảo
mật khoá bí mật cũng được nói đến như bảo mật đối xứng hay bảo mật thông thường;
khoá bí mật cũng được biết đến như khoỏ riờng; khoỏ mó hoỏ nội dung hay khoỏ mó
SV: Nguyễn Thị Nga – 511A
3
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
hoỏ chớnh. Bảo mật khoá bí mật được sử dụng phổ biến nhất trong mã hoỏ dữ liệu

lớn.
Hình sau miêu tả hai người, Alice và Bob sử dụng bảo mật khoá bí mật để bảo
vệ thông báo của họ tránh những kẻ nghe trém. Alice mó hoỏ thụng boỏ của cô ta
bằng khoá bí mật sử dụng thuật toán bảo mật trong mô hình bảo mật và gửi bản mã
đến Bob. Bob biết khoá bí mật trong mô hình giải mã và lấy lại thông báo bản rõ ban
đầu. Những kẻ nghe trộm có thể chặn thụng boỏ bản rõ , nhưng chúng không thể giải
mã nó nếu chúng không biết khoá bí mật.
Mó hoá và giải mã sử dung khoá bí mật
Nó là điều cần thiết cho Alice và Bob chấp nhận trên một khoá bí mật được
chia sẻ. Hoặc cho Alice một vài cách cung cấp khoá cho Bob trước khi Bob bắt đầu
giải mã thông báo. Alice có thể làm mục quảng cáo trờn bỏo thời gian New York để
gửi Bob khoá. Cô ta có thể nói cho anh ta biết khoá qua điện thoại, hoặc cô ta có thể
gặp anh ta ở vườn thó San Diego và đưa khoá cho anh ta. Vấn đề đối với tất cả những
loại phương thức này là kẻ tấn công có một cở hội để ăn trộm khoá và sau đó lấy trộm
thông báo riêng giữa Alice và Bob. Trao đổi khoá ở nơi đông người có thể không có
sai sót nhưng nú cú quá nhiều overhead bởi vì cỏc khoỏ bí mật phải thường được trao
đổi để giảm lượng bản mã có sẵn trong tấn công bản mã hoặc tấn công bản rừ đó biết.
Trung tâm phân bổ khoỏ đó đưa ra và sử dụng để xử lý vấn đề trao đổi khoá bí mật
bằng thuật toán đối xứng.
Bảng sau đây đưa ra mét thuật toán bảo mật khoá bí mật:
Algorithm Name Mod Key length (bits)
SV: Nguyễn Thị Nga – 511A
4
Secret Key Secret Key
PlainText PlainText PlainText
Encription
Decription
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
e
Blowfis

h
Block cipher Variable up to 448
DES Block cipher 56
IDEA Block cipher 128
RC2 Block cipher Variable from 1 up to 2048
RC4 Streame
cipher
Variable from 1 up to 2048
RC5 Block cipher Variable from 1 up to 2048
Triple
DES
Block cipher 56
Các thuật toán khoá bí mật
I.1.1.1. Mã khối và mó dũng
Hai loại cơ bản của mã đối xứng là mã khối và mó dũng. Mó khối thực hiện
trờn cỏc đoạn hay các khối dữ liệu, tuy nhiên mó dũng thường thao tác dữ liệu một bít
ở một thời điểm.
• Mã khối:
Mã khối thường chiếm một khối bản rừ cú kích cỡ cố định, thường là 64bit,
và tạo một khối bản mã kích cỡ cố định, thường cùng kích cỡ như khối bản rõ. Độ dài
của khoá có thể là 56bit đối với DES, 128bit đối với IDEA, hoặc một vài giá trị khác.
Kích cỡ khối dữ liệu phải đủ lớn để ngăn chặn tấn công bản mó đó biết và đủ nhỏ để
ngăn chặn những hậu quả thực thi và phức tạp.
Những khối 64bit xem là những khối có kích cỡ phù hợp. Với khối kích cỡ
8byte, chỉ có 256 khối 8bit đầu vào khác nhau mà đã đưa ra, mét trong 256 khối 8bit
đầu ra có thể. Nếu nhà phân tích bảo mật đã truy cập tới một vài thông báo bản mã
và bản rõ, anh ta có thể quyết định một khối lớn hơn nhiều 2
8
và ngăn chặn những tấn
công bản rừ đó biết chống lại thuật toán.

Việc tách từ một khối đầu vào thành khối đầu ra phải là 1-1 để tạo khả năng
huỷ bỏ thuật toán. Nếu nhiều hơn một khối đầu ra thì thuật toán có thể mó hoỏ nhưng
không thể giải mã - nã không thể nhận dạng khối đầu vào chính xác. Nó là cần thiết
cho việc đưa ra từ một khối đầu vào thành một khối đầu ra để xuất hiện ngẫu nhiên.
SV: Nguyễn Thị Nga – 511A
5
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
• Mó dòng:
Mó dòng thao tác trên một bit của dữ liệu đầu vào trong cùng thời gian. Cỏc
mó phụ thêm là cỏc mó dũng mà thực hiện một phép XOR mét bit của một dòng đầu
vào với một bit được tạo ngẫu nhiên để đưa ra mét bit dòng đầu ra. Chuỗi những bit
ngẫu nhiên tạo thành khoỏ riờng, hay khoá đệm, mà có kích cỡ với dòng đầu vào và
đầu ra. Để lấy lại bản rõ ban đầu thì bản mã phải được XOR với cựng khoỏ đệm.
I.1.1.2. Lược đồ cho việc mó hoỏ những thông báo lớn
trong mã khối.
Nếu thông báo của bạn không chính xác là 64bit, hoặc kích cỡ đã chọn là bao
nhiêu thì bạn không sử dụng mã khối để mó hoỏ nú. Hầu hết các thông báo lớn hơn
64bit, và bạn cần một lược đồ mó hoỏ để mó hoỏ toàn bộ thông báo. Trong mục này
chúng ta trình bầy các bước chính của lược đồ.
Điểm dễ làm nhất là tách thông báo thành những khối 64bit, thêm vào khối
cuối cùng nếu cần thiết và mó hoỏ từng khối. Để lấy lại thông báo, bản mã được chia
thành các đoạn 64bit và mỗi đoạn được giải mã. Lược đồ này được gọi là bộ mã điện
tử (Electronic Code Book - ECB).
ECB là dễ bị tấn công chỉ bản mã phá vỡ bởi vì hai khối chứng thực của đầu
vào đưa ra cùng khối đầu ra. Với kết quả, ECB được sử dụng phổ biến để mó hoỏ
thông báo. Chuỗi khối mã (Cipher Block Chaining-CBC) circumvent điểm yếu này
bằng cách XOR một khối bản rõ với bản mã của khối đứng trước cho việc mó hoỏ.
Bởi vì khối đầu tiên không có khối nào đứng trước, một vecto cuối cùng được sử
dụng để thay đổi khối đầu tiên. CBC là lược đồ phổ biến để mó hoỏ thông báo.
Mô hình phục hồi đầu ra (the Out Feedback Mode - OFB) sử dụng khoá riêng

để tạo một dòng lớn tuần tự ngẫu nhiên mà được XOR với thông báo bản rõ để taọ ra
bản mã. OFB cung cấp một lợi Ých CBC bằng việc cho phép dòng phụ thêm tuần tự
ngẫu nhiên được tạo mà không phụ thuộc vào thông báo bản rõ. Khi thông báo đến,
nó có thể được XOR chính xác với dòng phụ thêm và được truyền đi. Người nhận có
thể tính toán trước dòng phụ thêm và giải mã thông báo khi nó đang được nhận.
I.1.2. BẢO MẬT KHOÁ CÔNG KHAI.
SV: Nguyễn Thị Nga – 511A
6
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
(Public-key Criptography)
Bảo mật khoá công khai được phát minh bởi Whitfield Diffie và Martin
Hellman vào năm 1975. Nó liên quan đến việc sử dụng hai khoá: một khoá công khai
và một khoỏ riờng. Khoỏ riờng được giữ bí mật và không bao giê có thể nhận ra một
cách rễ ràng. Khoá công khai là không bí mật và có thể được chia sẻ với mọi người.
Vì bảo mật khoá công khai làm việc với hai khoá riêng biệt, nờn nú cũng được nói
đến như bảo mật đối xứng. Thậm chí mặc dù khoỏ riờng được giữ bí mật nhưng
chúng ta không bao giờ núi nú như một khoá bí mật để ngăn ngõa sự nhầm lẫn với
những khoá bí mật được sử dụng trong bảo mật khoá bí mật.
Khoá công khai và khoỏ riờng tương ứng của nó là có liên quan toán học với
nhau, nhưng nó có thể thực thi để tỏch khoỏ riờng từ khoá công khai và khoỏ riờng
tương ứng được gọi chung là một cặp khoá. Do mối liờn quan toán học của chúng,
thông báo mà được mó hoỏ bằng một khoỏ riờng có thể được giải mã bằng khoá công
khai tương ứng của chúng.
Sơ đồ dưới đây miêu tả cách Alice ứng dụng bảo mật khoá công khai để gửi
một thông báo bí mật cho Bob. Alice sử dụng khoá công khai của Bob để mó hoỏ
thông báo của cô ta và truyền thông báo bản mã cho Bob. Bob sử dụng khoỏ riờng
của anh ta để giải mã thông báo bản mã và lấy lại thông báo ban đầu. Eve, một kẻ ăn
trộm có thể chặn thông báo bản mã nhưng cô ta không thể giải mã nó vì cô ta không
có khoỏ riờng của Bob
Mó hoá và giải mã sử dung cặp khoá công khai và khoỏ riờng

Alice nhận được khoá công khai của Bob bằng cách nào? Bob có thể phổ biến
khoá công khai của anh ta trờn bỏo thời gain , hoặc anh ta có thể gọi điện cho Alice
và gửi nó cho Alice trên điện thoại.
Hãy lưu ý rằng, không giống như khoá bí mật, khoá công khai là công khai và
có thể được quảng cáo tự do. Tuy nhiên, nó là cần thiết cho Trudy, một kẻ xâm phạm,
SV: Nguyễn Thị Nga – 511A
7
Public Key Private Key
PlainText PlainText PlainText
Encription
Decription
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
không thể giả mạo Alice sử dụng khoá của cô ta thay vỡ khoá của Bob. Nếu cô ta cần,
cô ta có thể mạo danh Bob với Alice và sử dung khoỏ riờng của cô ta để giải mã
thông báo đã gửi cho Bob.
Thuật toán khoá công khai chậm hơn 100 đến 1000 lần thuật toán khoá bí mật.
Chúng có thể được sử dung rộng rãi để mó hoỏ một lượng thông báo lớn. Thuật toán
này được sử dung phổ biến trong pha đầu tiên của đường truyền thông để xác thực hai
phần khác nhau và thiết lập những khoá bí mật cho mó hoỏ lớn.Việc sử dung thuật
toán khoá công khai trong liên kết với thuật toán khoá riêng cho ra kết quả là hệ
thống bảo mật lai.
Điều gì sẽ xảy ra nếu Alice sử dung khoỏ riờng của cô ta để mó hoỏ thông báo
và gửi thông báo đó mó hoỏ cho Bob? Bob có thể sử dung khoá công khai của Alice
để giải mã thông báo và đọc nó. Eve cũng cú khoỏ cụng khai của Alice, cũng có thể
giải mã và đọc nó. Vì vậy Alice không thể sử dung khoỏ riờng của cô để gửi thông
báo bí mật.
Có lý do nào, bạn có thể yêu cầu để mó hoỏ một thông báo bằng một khoỏ
riờng? Bởi vì Bob có thể sử dụng khoá công khai của Alice để giải mã thông báo của
cô ta cho một vài việc có thể hiểu, anh ta có thể giả thiết rằng thông báo đã đến chính
xác từ Alive. Trudy, người trung gian, có thể sử dụng khoỏ riờng của cô ta để gửi một

thông báo đó mó hoỏ cho Bob trong một lần mạo danh là Alice. Khi Bob cố gắng giải
mã thông báo bằng khoá công khai của Alice, tuy nhiên anh ta nhìn thấy lỗi trong
thông báo bản rõ và tin rằng có một vài thứ là sai. Để mạo danh là Alice, Trudy phải
cú khoỏ riờng của Alive và Alice đã không cẩn thận khi tiết lộ khoỏ riờng của cô.
Sự mó hoỏ thông báo bằng khoỏ riờng tạo chữ ký điện tử trên thông báo. Sự
giải mã chữ ký điện tử bằng khoá riêng để chứng minh sự nhận dạng của người mà đã
tạo chữ ký gọi là sự chứng nhận chữ ký.
Thuật toán khoá công khai là có thể thay đổi nếu nó có thể được sử dụng cho
cả sự mó hoỏ và chữ ký điện tử; nó không thể thay đổi nếu nó chi có thể được sử
dụng cho chữ ký điện tử. Với thuật toán khoá công khai không thể thay đổi, khoỏ
SV: Nguyễn Thị Nga – 511A
8
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
riờng có thể mó hoỏ bản rõ, nhưng nó không thể giải mã bản mó. Cỏc loại thuật toán
khoá công khai khác mà có thể hoặc thực hiện sự giải mã hoặc tạo chữ ký điện tử
được gọi là thuật toán trao đổi khoá. Bởi vì chúng có thể chỉ được sử dụng để thoả
thuận bí mật khoá bí mật giữa hai người. Hãy lưu ý rằng, những thuật toán có thể thay
đổi cũng có thể được sử dung cho trao đổi khoá, nhưng thuật toán không thể thay đổi
thỡ khụng. Trao đổi khoá cũng được nói đến như tổ chức khoá hay quản lý khoá.
Thuật toán khoá công khai cũng dựa trờn mối quan hệ giữa khoá công khai và
khoỏ riờng. Bảng sau đây liệt kê một số thuật toán khoá công khai phổ biến:
Algorithm Type Mathematical foundation
DSA Digital signature Discrete logarithm
Elgamal Digital signature Discrete logarithm
RSA Confidentiality, digital
signature, key exchange
Factorization
Diffie-Hellman Key exchange Discrete logarithm
Các thuật toán khoá công khai
I.1.2.1. RSA

Định nghĩa:
Giả sử n=p.q, trong đó p, q là hai số nguyên tố lẻ khác nhau và hàm 
(n)

hàm Ơle. Hệ mật RSA được định nghĩa như sau:
Cho p=C=Z
n
K={(n,p,q,a,b):n=pq; p,q hai số nguyên tố khác nhau;
ab=1 mod 
(n)
}
Với mỗi K=(n,p,q,a,b) xác định:
E
k
(x)=x
b
mod n

D
(k)
(y)=y
b
mod n (x,y Z∊
n
)
SV: Nguyễn Thị Nga – 511A
9
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
Các giá trị n, b là công khai, còn p, q, a là bí mật.
• Kiểm tra quy tắc giải mã

Do ab=1 mod 
(n)
, 
(n)
=(p-1)(q-1)=
(p)

(q)
N ad = 1+ t
(n)
, Với t là một số nguyờn khỏc 0.
Chó ý rằng x<1.
*Giả sử (x,n ) = 1, ta có
y
a
modn = (x
b
)
a
modn = x
1+t (n)
modn
= x[x
(n)
modn]modn
= x.1modn
= x (do x<n)
** Nếu (x,n) = d >1 thì d = q hoặc d = p hoặc d = n.
Nếu x = 0 (d = n) thì đương nhiên y = 0. Do đó y
a

modn = 0 = x
Giả sử d = p khi đó x = hp với 0<h q
Giả sử 1<x<n. Thế thì h<q, (h,q) = 1 và (h, n) = 1.Ta có
Y
a
modn = x
ab
modn = h
ab
p
ab
modn
= (h
ab
modn) (p
ab
modn)mod
Theo (*) thì
H
ab
modn = h
Ký hiệu :
U = p
ab
modn
Ta có :
U = p
ab
modn = p.q
(n)

modq
= p.q
(p) (q) 
modq
SV: Nguyễn Thị Nga – 511A
10
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
= p.(p
(p)
)
(q)
modq
= p
Do u<n, p<n nếu u = p. Thế thì
Y
a
modn = h.pmodn
= h.p.x
vậy (x
b
)
a
modn = x, với mọi x [1,n-1]∊
VD:
Giả sử Bob chọn p = 101 và q = 113. Thế thì
n = 11413 và (n) = 100*112 = 11200
= 2
6
.5
2.7

Bob chọn b sao cho ( (n), b) = 1.Giả sử b =3533. Dùng thuật toán ỏclit mở
rộng sẽ tìm được b
-1
= 6597mod11200
Vì thế số mũ bí mật của Bob là a = 6597 Bob cụng bố n = 11413và
b = 3533 trong thư mục khoá công cộng.
Bõy giê giả sử Alice muốn gửi bản vẽ9720 cho Bob. Cô ta sẽ tính
9726
3533
mod11413 và b = 3533 trong thư mục khoá công cộng
Và gửi bản mó trờn kờnh
Khi Bob nhận được bản mã 5761, anh sẽ dùng số mũ
bí mật của mình để giải
5761
6597
mod11413 = 9726
• Độ an toàn của hệ RSA.
Độ an toàn của hệ RSA dựa trờn hy vọng rằng hàm mó hoỏ
SV: Nguyễn Thị Nga – 511A
11
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
l
k
(x) = x
b
mod là một chiều từ đó đối phương không tính được để giải bản mó.
Cỏi cửa sập cho phép Bob giải mã là kiến thức về phân tích n = p.q. vì Bob biờt p, q
nên có thể tính được (n) = (p-1)(q-1) và sau đó tính số mũ giải mã nhờ thuật toán
ơclit mở rộng.
• Thực hiện RSA.

Việc thiết lập RSA được Bob tiến hành theo các bước sau.
1-Bob tạo ra hai số nguyên tố lớn p và q
2-Bob tính n = p.q và (n) = (p-1)(q-1)
3-Bob chọn ngẫu nhiên b(0<b< (n))sao cho (b, (n)) = 1 
4-Bob tính a =b
-1
mod (n)nhờ thuật toán oclớt mở rộng
5-Bob công bố n và b trong thư mục khoá cộng của mình
• Một vài sơ suất có thể làm tổn thương hệ RSA.
1/ Tìm được p và q khi biết 
(n)
Nếu 
(n)
đã biết và n=p.q cong khai thì n có thể được phân tích để tìm ra p và
q nhờ giảI hệ hai phương trình sau đây:
n=p.q
(1)

(n)
=(p-1)(q-1)
(2)
các Èn số ở đây là p và q
thay q=n/p vào phương trình thứ hai, ta được phương trình:
p
2
-(n-
(n)
+1)p+n=0
hai nghiệm của phương trình này chính là các ước số khac 1 và khác n của n.
Do đó nếu người mó thỏm có thể dò được 

(n)
thì anh ta có thể phân tích n và
phá vỡ hệ mật.
SV: Nguyễn Thị Nga – 511A
12
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
Mặt khác, nếu mó thỏm biết 
(n)
thì chưa cần phân tích n, anh ta đã tìm được
số mũ bí mật a của Alice vì:
ab=1mod
(n)
a=b
-1
mod
(n)
Vớ dô:
Giả sử mó thỏm biết được n=84773093 và 
(n)
=84754668. Anh ta giải phương
trình:
P
2
-18426p + 84773093 = 0
Dễ dàng giải phương trình này, được p = 9539 và q=8887.
Đó là sự phân tích của n.
2/ Giả sử Alice gửi cho Bob một thông báo, trong đó mỗi chữ cái được thay
thế bởi một số nguyên giữa 0 và 25 (A 0, B 1… C 25), sau đó mó hoỏ mỗi  
chữ cái tách biệt bởi RSA.
y = x

b
modn, 0 <= x <=25.
Khi đó Oscar có thể dễ dàng giải mã thông báo mà không cần phân tích modul
n.
Vớ dô:
n = 18721, b = 25, bản mã: 365, 0,4845,14930,2608,0.
Oscar chỉ đơn giản thử x=0,1…25 cho đến khi được x thoả mãn
x
25
mod18721=365
…….
I.1.2.2. Hệ Elgamal
Hệ mật Elgamal dựa trờn bài toán logarit rời rạc. Giả sử p là số nguyên tố và
là phần tử nguyên thuỷ (căn nguyên thuỷ) của p. Cho y. Việc tính x thoả mãn
SV: Nguyễn Thị Nga – 511A
13
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
y=x

modp được coi là khó nếu p được chọn cẩn thận, nghĩa là không có thuật toán
nào có thể tính x trong một khoảng thời gian có thể. Trong khi đó nếu biết x thì việc
tính y dễ dàng theo thuật toán tinh nhanh. Đó là cơ sở toán học của hệ Elgamal.
• Định nghĩa:
Cho p là số nguyên tố sao cho việc tính toán logarit rời rạc trong Z
p
là bài toán
khó, và cho =Z
p
*
={ 1,2,…,p-1 } là phần tử nguyên thuỷ.

Cho P = Z
p
*
, C = Z
p
*
Z
p
*
, và xác định
K = { (p, a, , ): =   
a
modp }
Các giá trị p, , là công khai, a là bí mật 
Voớ k=( p, a, , ) và cho một số ngẫu nhiên (bí mật) r Z  ∊
p-1,
xác định
E
k
(x,r) = (y
1
, y
2
)
Trong đó: y
1
=
r
modp.
y

2
=x.
r
modp.
Với y
1
, y
2
Z∊
p
*
, xác định
D
k
(y
1
, y
2
) = y
2
(y
1
a
)
-1
modp
Rõ ràng là, với cùng một bản mã x hai lần mã cho hai kết quả nói chung là
khác nhau do r được chọn ngẫu nhiên.
Vớ dô:
P = 2579, = 2, a = 765 vì thế = 2 

765
mod2579 = 949.
Giả sử Alice muốn gửi thông báo r=1299 tới Bob. Chọn ngẫu nhiên, chẳng hạn
r=853. Alice tính y
1
= 2
853
mod2579 = 435.
Và y
2
= 1299 949
853
mod2579 = 2396
Vậy là Bob sẽ nhận được y = (y
1
, y
2
) = (435, 2396). Khi nhận được anh ta sẽ
tính:
SV: Nguyễn Thị Nga – 511A
14
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
X = 2396 (435
765
)
-1
mod2579 = 1299. Đõy chớnh là thông báo mà Alice gửi
cho Bob.
I.1.3. THUẬT TOÁN MESSAGE-DIGEST.
Một thuật toán Message-Digest tách một thông báo đầu vào độ dài có thể thay

đổi và tạo một tụng bỏo đầu ra có độ dài cố định. Đầu ra có độ dài cố định được gọi là
Message Digest, mét digest, hay mét hash. Một thuật toán Message-Digest cũng được
nói đến như một thuật toán hash một chiều hoặc thuật toán hash đơn giản.
Một thuật toán Message digest phải có ba thuộc tính cho độ an toàn của bảo
mật. Tứ nhất, nó phải không khả thi để quyết định thông báo đầu vào đó dựa trờn
digest của nó. Nói cách khác, việc mó hoỏ là hàm một chiều và không thể bị xoay
ngược lại. Thứ ai, nó phải không có thể tìm thấy một thông báo duy nhất mà có digest
đã yêu cầu cụ thể. Thứ ba, nú nờn không thể tính toán để tìm hai thông báo mà cú
cựng digest. Những thuộc tính khác của thuật toán thông báo đã thiết kế tốt là việc
mó hoá từ mét thông báo thành một digest xuất hiện ngẫu nhiên .
Nếu đầu ra có độ dài cố định của một digest thông báo có m bit, thỡ nú sẽ cần 2
m
thông báo để tìm với một digest đã yêu cầu, và 2
m/2
thông báo để tìm hai thông báo
mà cú cựng digest. Do đó các hàm Message-digest phải có đầu ra Ýt nhất là 128 bit
bởi vì, đã gửi trạng thái hiện hành của kỹ thuật, nó không thể tìm 2
64
thông báo. Bảng
sau đây liệt kê một vài hàm Message-digest và kích cỡ đầu ra của chúng. MD5 từ
RSADSI là một thuật toán đã sử dụng. Có lẽ hầu hết thuật toán message-digest an
toàn là thuật toán hash an toàn của chính phủ U.S, mà tạo một đầu ra 160 bit.
Tuật toán Message-digest Độ dàI digest (bit)
MD2 128
MD4 128
MD5 128
SHA 160

I.1.4. CHỮ KÝ ĐIỆN TỬ (Digital Signature).
SV: Nguyễn Thị Nga – 511A

15
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
I.1.4.1. Khái niệm.
Chữ ký tay truyền thống gắn với tài liệu được dùng để chỉ ra cá nhân tương
ứng với nó. Chữ ký được dùng hàng ngày như khi viết thư, rút tiền ngân hàng, ký hợp
đồng …
Lược đồ chữ ký điện tử là phương pháp ký thông báo được lưu dưới dạng điện
tử và thông báo được ký có thể truyền trên mạng máy tính. Tuy có nhiệm vụ của chữ
ký, song có sự khác nhau cơ bản giữa chữ ký truyền thống và chữ ký điện tử:
• Về việc ký tài liệu: Với chữ ký truyền thống, chữ ký là bộ phận vật lý
của tài liệu được ký. Tuy nhiên, chữ ký điện tử không được gắn một cách vật lý với
thông báo được ký, do đó thuật toán được dùng phải “trúi” chữ ký với thông báo theo
một cách nào đó.
• Về việc kiểm tra: Chữ ký truyền thống được kiểm tra bằng cách so
sánh nó với những chữ ký khác, những chữ ký đã xác thực. Tất nhiên, phương pháp
này không an toàn lắm vỡ nú tương đối dễ đánh lừa bở chữ ký của người khác. Mặt
khác, chữ ký điện tử có thể được kiểm tra bằng cách dùng thuật toán đã biết công
khai. Như vậy bất kỳ ai cũng có thể kiểm tra chữ ký điện tử. Việc sử dụng lược đồ
chữ ký an toàn sẽ ngăn chặn khả năng đánh lừa.
• Điều khác nhau cơ bản khác là ở chỗ “bản sao” thông báo điện tử
được ký là đồng nhất với bản gốc. Mặt khác, bản sao chép tài liệu giấy đã ký tay là
khác với bản gốc. Đặc điểm này có nghĩa là phải cẩn thận để ngăn chặn một thông
báo đã ký điện tử bị sử dụng lại. Chẳng hạn, nếu Bob ký thông báo điện tử cho quyền
Alice rót 100 đụla từ tài khoản ở ngân hàng của mình, anh ta chỉ muốn Alice làm việc
đó một lần. Do đó, thông báo phải tự nó chứa thông tin để ngăn chặn Alice làm lại
việc đó nhiều lần.
• Một lược đồ chữ ký số gồm hai thành phần: mét thuật toán ký và
một thuật toán kiểm tra. Bob có thể ký thông báo x nhờ thuật toán ký (bí mật) Sig.
Chữ ký thu được Sig(x) sau đó có thể được kiểm tra nhờ thuật toán kiểm tra công
SV: Nguyễn Thị Nga – 511A

16
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
cộng Ver. Khi cho cặp (x,y) thuật toán kiểm tra sẽ trả lời “đỳng” hoặc “sai” phụ thuộc
vào việc chữ ký có đích thực hay không?.
• Định nghĩa: Lược đồ chữ ký là bộ 5 (P, A, K, S, W) thoả món cỏc
điều kiện sau:
1. P-tập hữu hạn các thông báo.
2. A-tập hữu hạn các chữ ký có thể.
3. K-tập hữu hạn cỏc khoỏ: không gian khoá.
4. với k K, tồn tại Sig∊
k
s và Ver∊
k
w∊
Mỗi Sig
k
: P A, Ver
k:
P A {true, false} 
Sao cho:

Ver(x,y) = True, nếu y = Sig
k
(x)
Ver(x,y) = False, nếu y # Sig
k
(x)
Yêu cầu:
1/ Với mọi k K, Sig∊
k

và Ver
k
là các hàm thời gian đa thức.
2/ Ver
k
: hàm công cộng; Sig
k
: hàm bí mật.
Với mọi x, duy nhất Bob tính được chữ ký y sao cho Ver
k
(x,y) = True. Oscar
có thể thử lần lượt các y cho đến khi đạt được yêu cầu đó. Vì vậy mục đích của ta là
tỡm cỏc lược đồ chữ ký sao cho oscar không đủ thời gian thực tế để thử như thế (an
toàn tính toán).
I.1.4.2. Xác thực giữa những người sử dung.
SV: Nguyễn Thị Nga – 511A
17
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
ở trên ta đã trình bày lược đồ xác thực giữa Alice Bob. Tuy nhiên, lược đồ đú
cú 2 nhược điểm lớn:
Một là, nếu Bob tự nghĩ ra một thông báo, tính vết nhờ khoá k (đã thoả thuận
với Alice) rồi nói rằng thụng bỏo đú do Alice gửi cho mỡnh thỡ không thể xác thực
được vì hai người đều cú khoỏ k.
Hai là, trong mạng nhiều người sử dung, nếu mỗi cặp có một khoá thoả thuận
như vậy thì mỗi người phải lưu giữ n-1 khoá bí mật. Khi n đủ lớn, đó là một việc
phiền phức, phức tạp.
Vì vậy, người ta nghiêng về việc sử dung các lược đồ chữ ký sè.
Alice sẽ chọn thuật toán ký bí mật Sig
A
của mình, công bố thuật toán kiểm tra

chữ ký công cộng Ver
A
trong thư mục công cộng. Mỗi người sử dụng cũng đều làm
như vậy.
Khi gửi thông báo m cho Bob, Alice tính s = Sig
A
(m), rồi gửi cặp (m, s) cho
Bob.
Nhận được (m, s), Bob tính Ver
A
(s). Nếu m = Ver
A
(s) thì Bob chấp nhận m là
thông báo do Alice gửi cho mình. Ngược lại thỡ khụng.
• Lược đồ chữ ký sè RSA.
Cho n = p.q, với p, q là các số nguyên tố lớn khác nhau, 
(n)
= (p-1)(q-1) p = a
=z
n
và xác định:
K= {(n, p, q,a ,b): n=p.q; p, q nguyên tố, ab = 1 mod 
(n)
}
Các giá trị n và b công khai, các giá trị p, q, a là bí mật. Với k=(n, p, q, a, b)
xác định:
Sig
k
(x) = x
a

mod n và kiểm tra: Ver
k
(x,y)=true x=y
b
modn. (x,y Z∊
n
).
Giả sử Bob cần ký thông báo x bằng lược đồ chữ ký RSA. Bob sẽ dùng thuật
toán giải mã d
B
để ký x:
SV: Nguyễn Thị Nga – 511A
18
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
y = Sig
k
(x) = x
aB

modn. (a
B
là tham số bí mật của Bob).
Trong trường hợp không cần giữ bí mật x, Bob sẽ gửi cặp (x,y) cho Alice.
Nhận được thụng boỏ x và chữ ký y, Alice tiến hành kiểm tra đẳng thưc:
x=y
bB
modn? (b
B
là khoá công khai của Bob).
Nếu đỳng thỡ Alice công nhận y là chữ ký trên x của Bob. Nếu sai, Alice sẽ

coi x không phải là của Bob gửi cho mình.
Rõ ràng, Bob là người duy nhất có thể tạo ra chữ ký bởi vì a
B
là bí mật do đó
Sig
k
là bí mật. Một người bất kỳ đều có thể kiểm tra nhữ ký của Bob trên thông báo x
bằng cách ding tham sè b
B
đã công khai của Bob.
Chó ý rằng, ngườita có thể giả mạo chữ ký của Bob như sau: chọn y, sau đú
tính x=Ver
k
(y), khi đó y=Sig
k
(x). Do đó Bob không thể từ chối y là chữ ký của mỡnh
trờn x.
Một cách để khắc phục khó khăn này là việc yêu cầu x phải có nghĩa. Khi đó
kiểu giả mạo chữ ký nói trên sẽ thành công với xác suất rất nhỏ. Hơn nữa, việc sử
dụng hàm băm (Hash) liên kết với các lược đồ chữ ký sẽ khử bỏ phương pháp giả
mạo này.
I.2. CÁC KHOÁ (Keys)
Khoá là một giá trị sè học mà quyết định cỏch một thông báo bản rõ được mó
hoỏ để tạo một bản mã và khoá tương ứng của nó được yêu cầu để giải mã bản mã và
lấy lại thông báo ban đầu. Khoỏ cú một độ dài tương ứng, mà là số những bit, hoặc
đôi khi là byte. Không gian (space) khoá là tập hợp tất cả những giá trị toán học mà
cú cựng độ dài như khoá. Ví dụ một khoá 2bit có 4 giá trị ( 00, 01, 10, 11).
Không gian trong thực tế, một khoá của n độ dài tạo một khoá của n
,
giá trị

khác nhau 2
n
SV: Nguyễn Thị Nga – 511A
19
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
Độ đảm bảo của một hệ thống bảo mật nằm ở đâu nếu những thuật toán
của nó đã công khai. Nú đó được bảo vệ trên đường truyền bảo mật mà độ an toàn
của hệ thống bảo mật nên giữ kín toàn bộ trong những khoá của nó và một người tấn
công biết thuật toán của nó và đã truy cập đến tất cả các bản mã. độ an toàn của hệ
thống bảo mật sau đó có thể được tính toán dựa trờn kích cỡ của khoảng trống khoá
của núvà công suất tính toán sẵn.
II. PHÁ VỠ MỘT HỆ THỐNG BẢO MẬT.
(Breaking a Cryptosystem)
Hãy lưu ý rằng, độ an toàn của hệ thống bảo mật phải phụ thuộc toàn
bộ vào khoá của nó và chúng ta phải giả định rằng kẻ thù có nhiều hiểu biết về thuật
toán bảo mật của nó và có thể chặn tất cả bản mã. Phân tích bảo mật là những thủ tục,
những quá trình và những phương thức thực hiện để giải mã bản mã mà khi đú khoỏ
không được biết. Nhà phân tích bảo mật là người mà sử dựng sự phân tích bảo mật để
lấy lại bản rõ tương ứng với bản mã mà không cần có sự hiểu biết về khoá.
Đã biết rằng các nhà phân tích bảo mật đã truy cập đến một vài phương thức
bảo mật để phá huỷ một hệ thống và có thể giả định một sự tính toán, cách mà các
nhà bảo mật biết rằng hệ thống của họ là an toàn? Nếu một thuật toán bảo mật đã thử
để phỏ nú trong nhiều năm mà không thành công, sau đó nó có thể giả định rằng, mã
là an toàn. Lưu ý rằng có thể có nhà nghiên cứu mà tỡm nú có thể có Ých cho kẻ gian
lận sử dung bất kỳ điểm yếu nào chúng tìm ra bằng mã thương mại hơn là công khai
kết quả của chúng. Tuy nhiên, chúng ta giả thiết rằng, có đủ những nhà nghiên cứu
giỏi, người mà công khai việc tìm kiếm của họ.
Những nhà phân tích bảo mật thực hiện một loạt những kỹ thuật để phá hệ
thống bảo mật trong những mức độ thành công khác nhau. Họ có thể thực hiện để phá
hệ thống và lấy lại khoá, hoặc họ có thể luận ra một vài thông tin về bản mã. Tuy

nhiên, công việc của họ bị cản trở bởi việc khó tính toán của vấn đề. mức độ thành
SV: Nguyễn Thị Nga – 511A
20
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
công khác nhau. Họ có thể thực hiện để phá hệ thống và lấy lại khoá, hoặc họ có thể
luận ra một vài thông tin về bản mã. Tuy nhiên, công việc của họ bị cản trở bởi việc
khó tính toán của vấn đề.
II.1. NHỮNG MỨC PHÁ HUỶ KHÁC NHAU
(Diffirent levels of Breaks).
Một nà phân tích bảo mật có thể phá hệ thống bảo mật bẵng những độ an toàn
khác nhau, sù giao động từ việc giải mã một vài bit thông tin về bản mã để lấy lại
khoá. Mức phá huỷ thấp nhất gọi là sự suy luận thông tin, mà trong đó nhà phân tích
bảo mật có thể đạt được một vài bít của khoá hoặc một vài thông tin về bản rõ. Trong
lần suy luận đầu tiên, nhà phân tích tìm kiếm toàn bộ bản rõ tương ứng với bản mó đó
chặn được. Nhà phân tích có thể hoàn thành toàn bộ lần suy luận và quyết định thuật
toán bảo mật khác mà giải mã bản mã thành bản rõ tương ứng mà sẽ đạt được bằng
thuật toán ban đầu. Cuối cùng trong lần phá huỷ toàn bộ, nhà phân tich bảo mật lấy
lại thành công khoá và có thể lấy lại bất kỳ thông báo nào đã được mó hoỏ.
II.2. NHỮNG TẤN CÔNG SỰ PHÂN TÍCH BẢO MẬT
(Cryptanalytic Attacks)
Trong mục này chúng ta nói đến những tấn công toán học chống lại hệ thống
bảo mật nơi mà những nhà phân tích bảo mật có một vài bản mã đơn giản và có thể
có cả những bản rõ tương ứng, và anh ta muốn giải mã những bản mó khỏc, hoặc sai,
lấy lại khoá. Tuy nhiên, hãy lưu ý rằng, hệ thống bảo mật sẽ bị tấn công ở điểm yếu
nhất của nó, và cách tự nhiên của tấn công không có thể là toán học. Một kẻ địch có
thể sử dông bribery hoặc torture để đạt lấy khoá bí mật hoặc bản rõ tương ứng với
thông báo bản mã. Kẻ địch có thể lấy lại khoá từ phương tiện phục hồi hoặc đĩa máy
tính không được dán thẻ. Anh ta có thể tìm bản rừ đó đựơc chia thành nhiều đoạn nhỏ
trong mét Dumpster và ghép những đoạn nhỏ với nhau để lấy lại thông báo.
II.2.1. Tấn công chỉ bản mã (CipherText Only Attacks)

SV: Nguyễn Thị Nga – 511A
21
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
Trong tấn công chỉ bản mã, nhà phân tích bảo mật chặn một vài bản mã và
mong muốn đạt được bản rõ tương ứng hoặc lấy lại khoá. Một cách để đạt được thông
báo bản rõ là thực hiện tấn công vét cạn mà trong đó nhà phân tích thử mỗi khoá có
thể của không gian khoá đến khi bản mã giải mã thành thông báo có nghĩa. Trong một
vài trường hợp, nó có thể là phù hợp để thử chỉ với một bộ khoá nhỏ. Nếu khoá bí
mật là sự băm của một nhóm, ví dụ, nó có thể là phù hợp để thực hiện tấn công từ
điển và chỉ thử những từ chung của ngôn ngữ.
Để nhận dạng khoỏ đỳng, nú là quan trọng để nhận dạng khi thông báo bản mã
được giải mã thành công. Những khoá không đúng luôn luôn giải mã một thông báo
bản mã thành một câu sai ngữ. Vì vậy, bất kỳ khoá nào mà giải mã bản mã thành một
bản rõ có thể hiểu được là một khoỏ đỳng. Nó là sự cần thiết để có đủ thông báo bản
rõ có sẵn để thực hiện tấn công chỉ bản mã thành công. Một lượng bản mã rất nhỏ có
thể được giải mã thành những thông báo có nghĩa khác nhau bằng những khoá khac
nhau, tạo ra nó có thể không phù hợp để quyết định khoỏ đỳng, trừ khi thông báo
ngữ cảnh cũng là có sẵn.
II.2.2. Tấn công bản rừ đó biết (Known PlainText Attacks)
Trong tấn công bản rừ đó biết, nhà phân tích bảo mật đã truy cập đến một
thông báo bản mã và thông báo bản rõ tương ứng của nó. Cặp thông báo bản mã và
bản rõ là giá trị có thể; nó có thể cho phép nhà phân tích biết được không gian khoá
hoặc đạt được thông tin được thống kê mà sau đó có thể được sử dụng để suy ra một
thông tin về các bản mó khỏc.
II.2.3. Tấn công bản rõ đã chọn (Chosen PlainText Attacks)
Tấn công bản rừ đó chọn là một loại tấn công bản rừ đó biết mà trong đó nhà
phân tích bảo mật có thể lùa chọn bản rõ. Bằng việc lùa chọn bản rõ, nhà phân tích có
thể ngăn ngõa việc sao chép dữ liệu và có thể thực hiện mục tiêu tấn công tới những
điểm yếu hơn của thuật toán.
SV: Nguyễn Thị Nga – 511A

22
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
Một hệ thống bảo mật phải chống lại được tấn công chỉ bản mã bởi vì nó phải
giả định rằng những kẻ tấn công có thể chặn lấy và phân tích bản mã. Một vài hệ
thống bảo mật có thể chống lại tấn công chỉ bản mã nhưng dễ bị làm hại bởi tấn công
chỉ bản rã. Những hệ thống khác có thể chống lại hai loại tấn công đầu tiên nhưng dễ
bị tấn công bởi tấn công bản rừ đó lựa chọn. Một hệ thống bảo mật tốt phải chống lại
được cả ba loại tấn công này.
Kết luận
Hệ thống bảo mật là một tập các thuật toán bảo mật, cỏc koỏ, tất cả các bản rõ
có thể, và tất cả các bản mó đó kết hợp. Độ an toàn của hệ thống bảo mật cần phải
nằm toàn bộ ở cỏc khoỏ của nó, và chúng ta phải gỉa định rằng một kẻ thù biết chi tiết
về thuật toán và có thể chặn tất cả các bản mã. Do đó các thuật toán nên được công
khai đến scrutiny để không che đậy bất kỳ điểm yếu nào. Nếu thuật toán bảo mật
được công khai và nhiều nhà phân tích bảo mật đã tham gia phỏ nú trong nhiều năm
mà không thành công thỡ nú cú thể được coi là an toàn.
Có ba loại thuật toán bảo mật: Message digest, khoá bí mật và khoá công khai.
Thuật toán Message digest tạo một đầu ra có độ dài cố định từ một thông báo đầu vào
có độ dài thay đổi. Thuật toán khoá bí mật sử dụng một khoá bí mật cho việc mó hoỏ
và giải mã, chúng thực thi liên quan với nhau và được sử dụng cho sự mó hoỏ lớn.
Thuật toán khoá công khai sử dụng cặp khoá công khai và khoá bí mật, chúng được
sử dụng chủ yếu cho việc trao đổi khoá bí mật hoặc tạo chữ ký điện tử.
Các nhà phõn tích bảo mật sử dụng các tấn công chỉ bản mã, bản rừ đó biết và
bản rừ đó lựa chọn chống lại hệ thống bảo mật để suy luận thông tin về bản mã hoặc
lấy lại cỏc khoỏ của nã. Hầu hết các hệ thống bảo mật chỉ là an toàn trong tính toán,
do đó, chúng có thể bị bẻ vỡ bằng việc thử toàn bộ cỏc khoỏ có thể của không gian
khoá và quyết định khoỏ đỳng. Những tiến bộ trong thuật toán máy tính và thiết kế
phần cứng làm giảm những tài nguyên đã yêu cầu để phá một hệ thống bảo mật. Việc
tăng kích cỡ khoá bằng một bit gấp đôi kích cỡ của không gian khoá.
SV: Nguyễn Thị Nga – 511A

23
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
CHƯƠNG II:
XÁC THỰC SỐ (Digital Certificate)
Trong chương I, chóng ta đã nghiên cứu các thuật toán bảo mật. Còn trong
chương này, ta sẽ tìm hiểu về xác thực số, một kỹ thuật không thể thiếu được trong
thương mại điện tử trên toàn thế giới.
I. GIỚI THIỆU CHUNG VỀ MÃ XÁC THỰC.
Ở trên, chúng ta đã nghiên cứu các hệ mật dùng để bảo vệ bí mật thông tin. Mã
xác thực cung cấp phương pháp bảo vệ tính trung thực của thông báo, nghĩa là cung
cấp khả năng để tin rằng thông báo không bị sửa sai đi sau khi truyền. Mục đích của
chúng ta là đạt được khả năng xác thực này ngay cả khi có kẻ tấn công, người có thể
quan sát các thông báo trong kênh và đưa thụng boỏ do mình chọn vào kênh. Mục
đích này được thực hiện trong việc cài đặt “khoỏ riờng” ở nơi nào mà Alice và Bob
chia sẻ khoỏ mó bí mật k, trước khi thông báo bất kỳ được truyền.
Trong phần này chúng ta nghiên cứu những mã cung cấp xác thực. Trong mã
như thế, khoá được dùng để tính vết xác thực, nó sẽ cho phép Bob kiểm tra tính đích
thực của thông báo mà anh nhận được. Ứng dụng khác của mã xác thực là kiểm tra
xem dữ liệu trong tệp lớn có bị sửa đổi không. Vết xác thực sẽ được lưu giữ cùng với
dữ liệu; khoá được sử dụng để sinh và kiểm tra việc xác thực sẽ được lưu giữ tách
biệt trong vùng an toàn.
• Định nghĩa: Mã xác thực là một bộ 4 (S, A, K, E) thoả món cỏc điều
kiện sau:
SV: Nguyễn Thị Nga – 511A
24
Luận văn tốt nghiệp: Bảo mật dữ liệu - Xác thực số
1/ S là tập hữu hạn các trạng thái nguồn.
2/ A là tập hữu hạn các vết xác thực.
3/ k (không gian khoá) là tập hữu hạn cỏc khoỏ.
4/ với mọi k K, tồn tại quy tắc xác thực e∊

k
: S A
Tập thông báo được xác định là M = S A; e
k
E∊
Để truyền thông báo, Alice và Bob tuân thủ giao thức sau. Đầu tiên họ cùng
nhau chọn khoá ngẫu nhiên k K . Điều này được làm bí mật. Sau này giả sử Alice∊
muốn gửi trạng thái nguồn s S tới Bob trờn kờnh không an toàn, cụ tớnh a=e∊
k
(s) và
gửi thông báo (s,a) cho Bob. Khi Bob nhận được (s,a) anh tính a’=e
k
(s). Nếu a’=a
Bob chấp nhận thông báo; ngược lại thỡ khụng.
Có hai kiểu tấn công vào mã xác thực: Kẻ tấn công là oscar
Thủ vai: oscar đưa ra thông báo (s,a) vào kênh với hy vọng được bob chấp
nhận khi xác thực: oscar Bob
Thay thế: oscar quan sát (s,a) trong kênh rồi thay thế nó bằng (s’,a) với s’#s,
lại hy vọng được chấp nhận khi xác thực. Hắn đánh lừa Bob rằng s là trạng thái
nguồn: Alive Oscar Bob
I.1. XÁC THỰC SỐ VÀ CƠ SỞ HẠ TẦNG CỦA
KHOÁ CÔNG KHAI.
Xác thực khoá công khai là một công việc bí mật giữa khoá công khai của đối
tượng và một hoặc nhiều thuộc tính liên quan tới sự nhận dạng của nó. Đối tượng có
thể là một người, một thiết bị phần cứng như Router, hoặc một thao tác phần mềm.
Xác thực khoá công khai cung cấp như một sự đảm bảo mà khoá công khai
phụ thuộc vào đối tượng đã nhận dạng và đối tượng xử lý việc không đáp lại khoá
công khai. Xác thực khoá công khai được gọi là xác thực số, digitalID hay một sự xác
thực đơn giản. Đối tượng đã nhận dạng bằng một sự xác thực được nói tới như một
SV: Nguyễn Thị Nga – 511A

25
(s,a)
(s,a)
(s’,a)

×