Trao đổi thông điệp Giả mạo Qua thực tế người ta nhận thấy rằng, vấn đề bảo mật trong hệ thống mạng hay liên mạng là một bài toán rất phức tạp, vì: - Không tồn tại phương pháp thích
Trang 1CHƯƠNG 1 – TỔNG QUAN VỀ AN NINH MẠNG
1.1 Đối tượng và phương pháp nghiên cứu
Bảo mật hệ thống thông tin
Thông tin cho có giá trị cao khi đảm bảo tính chính xác và kịp thời, hệ thống chỉ có thể cung cấp các thông tin có giá trị thực sự khi các chức năng của hệ thống đảm bảo hoạt động đúng đắn Mục tiêu của việc đảm bảo an toàn an ninh cho hệ thống thông tin là đưa ra các giải pháp và ứng dụng các giải pháp này vào hệ thống
để loại trừ hoặc giảm bớt các nguy hiểm Hiện nay các cuộc tấn công ngày càng tinh
vi, gây ra mối đe dọa tới sự an toàn thông tin Các cuộc tấn công có thể đến từ nhiều hướng theo các cách khác nhau, do đó cần phải đưa ra các chính sách và biện pháp
đề phòng cần thiết
Các nguy cơ đe dọa
Có rất nhiều nguy cơ ảnh hưởng đến sự an toàn của một hệ thống thông tin Các nguy cơ này có thể xuất phát từ các hành vi tấn công trái phép bên ngoài hoặc
từ bản thân các lỗ hổng bên trong hệ thống
Tất cả các hệ thống đều mang trong mình lỗ hổng hay điểm yếu Nhìn một cách khái quát, ta có thể phân ra thành các loại điểm yếu chính sau:
Phần mềm: Việc lập trình phần mềm đã ẩn chứa sẵn các lỗ hổng Theo ước
tính cứ 1000 dòng mã sẽ có trung bình từ 5-15 lỗi, trong khi các Hệ điều hành được xấy dựng từ hàng triệu dòng mã(Windows: 50 triệu dòng mã)
Phần cứng: Lỗi thiết bị phần cứng như Firewall, Router,
Chính sách: Đề ra các quy định không phù hợp, không đảm bảo an ninh, ví
dụ như chính sách về xác thực, qui định về nghĩa vụ và trách nhiệm người dùng trong hệ thống
Sử dụng: Cho dù hệ thống được trang bị hiện đại đến đâu do những do con
người sử dụng và quản lý, sự sai sót và bất cẩn của người dùng có thể gây ra những lỗ hổng nghiêm trọng
Một số ví dụ về bảo vệ an toàn thông tin
Truyền file:
C
A và B trao đổi thông tin riêng tư
C giữ chặn thông tin trao đổi giữa
A và B
Trang 2Trao đổi thông điệp
Giả mạo
Qua thực tế người ta nhận thấy rằng, vấn đề bảo mật trong hệ thống mạng hay liên mạng là một bài toán rất phức tạp, vì:
- Không tồn tại phương pháp thích hợp cho mọi trường hợp
- Các cơ chế bảo mật luôn đi đôi với các biện pháp đối phó
- Lựa chọn những giải pháp cụ thể đối với từng ngữ cảnh cụ thể
1.2 Các dịch vụ, cơ chế an toàn an ninh thông tin và các dạng tấn công vào hệ thống mạng
Phân loại các dịch vụ an toàn an ninh, bao gồm:
- Bảo mật riêng tư
Các cơ chế an toàn an ninh
- Trên thực tế không tồn tại một cơ chế duy nhất nào có thể đảm bảo an toàn thông tin cho mọi hệ thống
- Để đảm bao an toàn an ninh cho hệ thống thông tin người ta sử các kỹ thuật mã hóa: Mã đối xứng, mã công khai
C giữ chặn danh sách NSD và sửa đổi danh sách
C gửi danh sách được sửa đổi cho
Trang 3- Sử dụng Firewall, hệ thống phát hiện xâm nhập - IDS , và các biện pháp phối hợp khác
Các dạng tấn công, được chia làm 2 loại:
Một số hình thức tấn công điển hình:
a) Các hành vi dò quét:
Bất cứ sự xâm nhập vào một môi trường mạng nào đều bắt đầu bằng cách thăm dò để tập hợp thông tin người dùng, cấu trúc hệ thống bên trong và điểm yếu bảo mật Việc thăm dò được thăm dò theo các bước thăm dò thụ động(thu thập các thông tin được công khai) và thăm dò chủ động(sử dụng các công cụ để tìm kiếm thông tin trên máy tính của nạn nhân) Các công cụ dò quét được hacker chuyên nghiệp thiết kế và công bố rộng rãi trên Internet Các công cụ thường hày dùng: Nmap, Essential Network tools… thực hiện các hành động Ping Sweep, Packet Sniffer, DNS Zone Transfer…
b) Tấn công từ chối dịch vụ( Denial Service Attacks):
Đây là kiểu tấn công khó phòng chống nhất và trên thế giới vẫn chưa có cách phòng chống triệt để Nguyên tắc chung của cách tấn công này là hacker sẽ gửi liên tục nhiều yêu cầu phục vụ đến máy nạn nhân Máy bị tấn công sẽ phải trả lời tất cả các yêu cầu này Khi yêu cầu gửi đến quá nhiều, máy bị tấn công sẽ không phục vụ kịp thời dẫn đến việc đáp ứng các yêu cầu của các máy hợp lệ sẽ bị chậm trễ, thậm chí ngừng hẳn hoặc có thể cho phép hacker nắm quyền điều khiển
Trang 4c) Các hành vi khai thác lỗ hổng bảo mật:
Các hệ điều hành, cơ sở dữ liệu, các ứng dụng luôn luôn có những điểm yếu xuất hiện hàng tuần thậm chí hàng ngày Những điểm yếu này thường xuyên được công bố rộng rãi trên nhiều website về bảo mật Do vậy các yếu điểm của hệ thống
là nguyên nhân chính của các tấn công, một thống kê cho thấy hơn 90% các tấn công đều dựa trên các lỗ hổng bảo mật đã được công bố
Đối với một hệ thống mạng có nhiều máy chủ máy trạm, việc cập nhật các bản
vá lỗ hổng bảo mật là một công việc đòi hỏi tốn nhiều thời gian và khó có thể làm triệt để Và do đó, việc tồn tại các lỗ hổng bảo mật tại một số điểm trên mạng là một
điều chắc chắn Người ta định nghĩa Tấn công Zero-Day là các cuộc tấn công diễn
ra ngay khi lỗi được công bố và chưa xuất hiện bản vá lỗi Như vậy kiểu tấn công này rất nguy hiểm vì các hệ thống bảo mật thông thường không thể phát hiện ra
d) Các tấn công vào ứng dụng(Application-Level Attacks):
Đây là các tấn công nhằm vào các phần mềm ứng dụng mức dịch vụ Thông thường các tấn công này, nếu thành công, sẽ cho phép kẻ xâm nhập nắm được quyền điều khiển các dịch vụ và thậm chí cả quyền điều khiển máy chủ bị tấn công
Số lượng các vụ tấn công liên tục tăng trong khi hình thức tấn công theo kiểu dựa trên điểm yếu của con người (tấn công kiểu Sophistication) lại giảm Rõ ràng các hình thức tấn công vào hệ thống máy tính hiện nay ngày càng đa dạng và phức tạp với trình độ kỹ thuật rất cao Ngoài ra quá trình tấn công ngày càng được tự động hóa với những công cụ nhỏ được phát tán khắp nơi trên mạng
Trang 5
1.4 Các dịch vụ an toàn an ninh
Các dịch vụ an toàn an ninh của hệ thống thông tin phải đảm bảo các yêu cầu sau:
Trang 6Đảm bảo tính tin cậy: Thông tin không thể bị truy nhập trái phép bởi những
người không có thẩm quyền
Đảm bảo tính nguyên vẹn: Thông tin không thể bị sửa đổi, bị làm giả bởi
những người không có thẩm quyền
Đảm bảo tính sẵn sàng: Thông tin luôn sẵn sàng để đáp ứng sử dụng cho
người có thẩm quyền
Đảm bảo tính không thể từ chối: Thông tin được cam kết về mặt pháp luật
của người cung cấp
Đảm bảo tính riêng tư: Bảo vệ dữ liệu được truyền tải khỏi các tân công thụ
động
Kiểm soát truy cập: Cung cấp khả năng giới hạn và kiểm soát các truy cập
tới các máy chủ hoặc tới các ứng dụng thông qua đường truyền tin
1.5 Các mô hình an toàn an ninh mạng
Mô hình an toàn mạng: bài toán an toàn an ninh thông tin mạng nảy sinh khi:
Cần thiết phải bạo vệ quá trình truyền tin khỏi các hành động truy cập trái phép
Đảm bảo tính riêng tư và tính toàn vẹn
Đảm bảo tính xác thực,
Mô hình an toàn mạng yêu cầu:
- Thiết kế một giải thuật thích hợp cho việc chuyển đổi liên quan đến an
toàn
- Tạo ra thông tin bí mật (khóa) đi kèm với giải thuật
- Phát triển các phương pháp phân bổ và chia sẻ thông tin bí mật
- Đặc tả một giao thức sử dụng bởi hai bên gửi và nhận dựa trên giải thuật
an toàn và thông tin bí mật, làm cơ sở cho một dịch vụ an toàn
Trang 7 Mô hình an toàn truy cập mạng:
Mô hình này yêu cầu:
- Lựa chọn các chức năng gác cổng thích hợp để định danh người dùng
- Cài đặt các điều khiển an toàn để đảm bảo chỉ những người dùng được phép mới có thể truy nhập được vào các thông tin và tài nguyên tương ứng
Các hệ thống máy tính đáng tin cậy có thể dùng để cài đặt mô hinh này
Cần nhấn mạnh một thực tế rằng không có một hệ thống nào an toàn tuyệt đối
cả Bởi vì bất kỳ một hệ thống bảo vệ nào dù hiện đại và chắc chắn đến đâu đi nữa thì cũng có lúc bị vô hiệu hóa bởi những kẻ phá hoại có trình độ cao và có đủ thời gian Chưa kể rằng tính an toàn của một hệ thống thông tin còn phụ thuộc rất nhiều vào việc sử dụng của con người Từ đó có thể thấy rằng vấn đề an toàn mạng thực tế
là cuộc chạy tiếp sức không ngừng và không ai dám khẳng định là có đích cuối cùng
hay không
Trang 8CHƯƠNG 2 – MỘT SỐ PHƯƠNG PHÁP ĐẢM BẢO AN TOÀN THÔNG TIN 2.1 Nguyên lý các phương pháp mã hoá đối xứng
2.1.1.Sơ đồ chung của phương pháp mã hóa đối xứng
Sơ đồ mã hóa đối xứng
Trang 9 Nguồn thông tin:
- Tập hợp thông điệp của nguồn:
Các xâu ký tự X={X1, X2, , XM}
- Thông điệp: xâu ký tự độ dài m
Xi=[xi1, xi2, , xim]
xikA, A- bảng ký tự nguồn, thông thường A={0,1}
- Mỗi một thông điệp Xi có một xác suất xuất hiện P(X=Xi)
- Tập hợp thông điệp mã mật Y=[Y1, , YN]
- Thông điệp mã mật: Yj=[yj1, , yjn]
yjpB, B- bảng ký tự mã mật, thông thường B={0,1}
Quá trình mã hóa và giải mã:
- Quá trình mã hóa: Y=Ek(X)
- Quá trình giải mã:
Bên nhận giải mã thông điệp bằng khóa được phân phối:
X=DK(Y)=DK(EK,R(X))
Phía tấn công: đối phương nhận được thông điệp Y, nhưng không
có được khóa K Dựa vào thông điệp Y, đối phương phải khôi phục lại hoặc K hoặc X hoặc cả hai
Trang 10- Số lượng khóa được dùng trong thuật toán: Hệ thống mã hóa đối xứng;
Hệ thống mã hóa không đối xứng
- Phương thức mà văn bản đầu được xử lý: mã hóa khối; mã hóa dòng
Thám mã( phá mã): Là nỗ lực giải mã văn bản đã được mã hóa không biết
Dựa trên giả thiết có thể nhận biết được văn bản thô cần tìm
Tính trung bình cần thử một nửa tổng số các trường hợp có thể
Thực tế không khả khi nếu độ dài khóa lớn
- Dùng kỹ thuật :
Khai thác những nhược điểm của giải thuật
Dựa trên những đặc trưng chung của văn bản thô hoặc một số cặp văn bản thô - văn bản mã hóa mẫu
- Sơ đồ mã hóa được coi là an toàn vô điều kiện: Văn bản mã hóa không
chứa đủ thông tin để xác định duy nhất văn bản thô tương ứng, bất kể với
số lượng bao nhiêu và tốc độ máy tính thế nào
- Sơ đồ mã hóa được coi là an toàn theo tính toán:
Chi phí phá mã vượt quá giá trị thông tin
Thời gian phá mã vượt quá tuổi thọ thông tin
2.1.2.Một số phương pháp mã hóa đối xứng kinh điển
2.1.2.1.Mã Caesar
Là hệ mã hóa thay thế sớm nhất và đơn giản nhất Được sử dụng đầu tiên bởi Julius Caesar vào mục đích quân sự
Nội dung:
Trang 11- Không gian khóa nhỏ: chỉ có 25 khóa;
- Khi thám mã bằng phương pháp vét cạn: chỉ cần thử với 25 khóa
Ngôn ngữ trong bản gốc đã biết trước và dễ dàng nhận biết
2.1.2.2.Mã mật Hill
Thuật toán mã hóa:
Mỗi ký tự được gán giá trị số: a=0, b=1, , z=25
Lựa chọn m ký tự liên tiếp của văn bản gốc
Thay thế các ký tự đã lựa chọn bằng m ký tự mã mật, được tính bằng m phương trình tuyến tính
Trang 12Giả sử mã hóa xâu ký tự: “paymoremoney”
Ba ký tự đầu tiên của văn bản được biểu diễn bằng vector
Tiếp tục tính toán ta thu được sâu ký tự mã hóa là: LNSHDLEWMTRW
Giải mã: giải mã thông điệp bằng ma trận K-1
2.1.2.3.Hệ thống Vernam
• Để chống lại quá trình thám mã, cần lựa chọn khoá thoả mãn:
Khoá có độ dài bằng văn bản rõ
Khóa được chọn sao cho khoá và văn bản gốc độc lập thống kê
• Hệ mã mật Vernam:
Dùng cho mã nhị phân
Ci= piki
pi: bit thứ i của văn bản gốc;
ki: bit thứ i của khoá;
Ci: bit thứ i của văn bản được mã hoá;
: phép toán XOR
• Giải mã bằng phép toán ngược: pi= Ciki
• Tạokhoá: tạo vòng lặp với một khoá Như vậy thực tế, hệ thống làm việc với một khóa rất dài nhưng lặp lại
• Hệ thống Vernam có thể bị phá nếu đối phương biết một văn bản mã có độ dài đủ lớn, sử dụng một số văn bản gốc đã biết
• Với khoá được sinh ngẫu nhiên, có độ dài bằng độ dài văn bản gốc, không lặp lại: sơ đồ mã sử dụng mộtlần: không thể phá khoá Đầu ra độc lập thống kê với văn bản gốc
• Vấn đề nảy sinh: đảm bảo bảo mật cho quá trình gửi và nhận khoá ngẫu nhiên
2.1.2.4.Mã hóa khối
Định nghĩa mã hóa khối:
• Mã khối là mật mã khóa đối xứng thực hiện trên nhóm bit có độ dài cố định Nhóm bit này được gọi là một khối.Quá trình chuyển đổi không thay đổi
Trang 13• Khi mã hóa, mã khối có thể thực hiện trên từng khối độ dài 128 bit của bản
rõ tại đầu vào thứ nhất và cho ra khối của mã mật
Quá trình biến đổi được kiểm soát bằng đầu vào thứ hai: khóa mật Quá trình giải mã thực hiện tương tự: nhận tại đầu vào thứ nhất khối 128 bit của mật mã, khóa mật và tại đầu ra ta nhận được khối 128 bit của bản rõ
• Để mã hóa bản tin có độ dài lớn hơn kích thước khối, (ví dụ 128 bit ), các chế độ xử lý( mode of operation )được sử dụng
• Mã hóa khối tương phản với mãhóa dòng (stream cipher ), trong đó mỗi ký
tự được thao tác một lần và quá trình chuyển đổi thay đổi trong suốt quá trình mã hóa
• Ví dụ mã hóa khối:
Thuật toán DES do công ty IBM xây dựng và công bố năm 1977
Hậu duệ của DES, Advanced Encryption Standard (AES), ra đời năm
2001
• Mật mã khối gồm một cặp thuật toán:
Thuật toán mã hóa, E,và
Thuật toán giải mã, E -1
• Cả hai thuật toán đều có hai đầu vào:
Khối dữ liệu đầu vào kích thước n bit và
Khóa độ dài k bit
• Đầu ra là khối dữ liệu kích thước n-bit
2.1.2.5.Mật mã dòng
• Mật mã dòng là mật mã khóa đối xứng, trong đó các ký tự của bản rõ được
mã hóa lần lượt và quá trình biến đổi các ký tự tiếp theo thay đổi trong quátrình mã hóa Một tên khác của mật mã dòng là mật mã trạng thái vì quá trình mã hóa từng ký tự phụ thuộc vào trạng thái hiện thời Trong thực
c tiễn, ký tự có thể là từng bít hoặc byte
Mật mã dòng biểu diễn cách tiếp cận khác của kỹ thuật mã hóa đối xứng dựa trên kỹ thuật mã hóa khối Thuật toán mật mã dòng thường được thực hiện ở tốc độ cao thuật toán mã hóa khối và có phần cứng thấp hơn Tuy nhiên mật mã dòng dễ bị các vấn đề an ninh nghiêm trọng nếu sử dụng không đúng
2.1.3.Phương pháp DES
• DES là thuật toán mã hóa khối: nó xử lý từng khối thông tin (1 khối = 64bit) của bản rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành khối thông tin của bản mã có độ dài không thay đổi
Trang 14• DES cũng sử dụng khóa để cá biệt hóa quá trình chuyển đổi Do vậy, chỉ khi biết khóa mới có thể giải mã được văn bản mã
• Khóa dùng trong DES có độ dài toàn bộ là 64 bit Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra Vì thế, độ dài thực tế của khóa chỉ là 56 bit
2.1.3.1.Sơ đồ mã hóa
• Mã hóa DES được thực hiện qua 16 vòng
• Trước khi đi vào 16 chu trình chính, khối thông tin 64bit được tách làm 2 phần 32 bit và mỗi phần sẽ được xử lý tuần tự (quá trình này còn gọi là mạng Feistel)
• Cấu trúc của thuật toán (mạng Feistel) đảm bảo rằng quá trình mã hóa và giải mã diễn ra tương tự Điểm khác nhau chỉ ở chỗ các khóa con được sử dụng theo trình tự ngược nhau
Trang 15 Quá trình mã hóa được chia làm 3 giai đoạn:
• Giai đoạn 1: với bản rõ cho trước x, một xâu x’ sẽ được tạo ra bằng cách
hoán vị các các bit của x theo hoán vị ban đầu IP(Initial permutation)
x’= IP(x)= L0 R0; L0: 32 bit đầu; R0: 32 bit cuối
• Giai đoạn 2: Tính toán 16 lần lập theo 1 hàm xác định Ta sẽ tính LiRi (1≤
i ≤ 16) theo quy tắc
Li=Ri-1
Ri = Li-1⊕ f (Ri-1, Ki)
⊕ là toán tử Xor
k1, k2, k3 k16 là xâu bit độ dài 48 bit được tính qua hàm khoá K (ki
là 1 phép hoán vị bit trong K)
• Giai đoạn 3: áp dụng hoán vị ngược IP-1 cho xâu R16L16 ta thu được bản
Trang 16Ri = Li-1⊕ f (Ri-1, K16-i) Khóa K của hàm F sẽ đi từ 16 ->0
2.1.3.3.Tính Hàm f(Ri , Ki )
• R là xâu bit có độ dài 32 bit
• K là xâu bit có độ dài 48 bit
• Đầu ra của F là xâu có đọ dài 32 bit
• E là hàm mở rộng cố định: được mở rộng từ R với 16 bit của R xuất hiện 2 lần
• Thực hiện phép Xor E(R) với K
• Chia xâu kết quả nhận được từ phép Xor thành các xâu 6 bit
• Đưa các xâu này vào các S-Box
• Hoán vị xâu nhận được theo 1 một hàm hoán vị cố định P ta thu được F(R,K)
Trang 17• Tốc độ tính toán cao có thể phá được khóa
• 1997 : 70000 máy tính phá mã DES trong 96 ngày
• 1998 : Electronic Frontier Foundation (EFF) phá mã DES bằng máy chuyên dụng (250000$) trong < 3 ngày
• 1999 : 100000 máy tính phá mã trong 22 giờ
• Vấn đề còn phải nhận biết được văn bản thô
• Thực tế DES vẫn được sử dụng không có vấn đề
• Nếu cần an toàn hơn : 3DES hay chuẩn mới AES
2.1.4.Quản trị và phân phối khóa trong mã hóa đối xứng
Trang 182.1.4.1.Đặt vấn đề
• Trong kỹ thuật mật mã truyền thống, hai phía tham gia vào truyền tin phải chia sẻ khoá mật ⇒ khoá phải được đảm bảo bí mật: phải duy trì được kênh mật phân phối khóa
• Khóa phải được sử dụng một lần: Khoáphải được thường xuyên thay đổi
• Mức độ an toàn của bất kỳ hệ mật sẽ phụt huộc vào kỹ thuật phân phối khoá
2.1.4.2.Một số kỹ thuật phân phối khóa
• Phân phối khóa không tập trung: Khoá được A lựa chọn và phân phối vật
• Trên cấp độ tối thiểu, sẽ có hai cấp khoá được sử dụng:
Việc giao tiếp giữa hai trạm đầu cuối sẽ được mã hoá bằng một khoá tạm thời gọi là khoá phiên
- Khoá phiên sẽ được sử dụng trong thời gian một kết nối lôgic như trong mạng ảo hoặc liên kết vận chuyển, sau đó sẽ được loại bỏ
Mỗi khoá phiên sẽ được nhận từ trung tâm phân phối khoá KDC trên cùng một hạ tầng mạng với kết nối đầu cuối
- Khoá phiên được truyền dưới dạng mã hoá bằng mã chính (masterkey) Khoá chính này được chia sẻ giữa KDC và trạm đầu cuối hoặc người sử dụng
- Mỗi trạm đầu cuối sẽ có một khoá chính được chia sẻ với KDC
- Các khoá chính này phải được chia sẻ theo một cách nào đó giữa KDC và máy trạm Số lượng các khoá chính có thể kiểm soát được:
Trang 19Nếu có N đối tượng cần tương tác với nhau theo cặp, như vậy cần
có nhiều nhất N(N-1)/2 khoá phiên sẽ được sử dụng một lúc Nhưng khi đó chỉ cần N khoá chính cho mỗi đối tượng Như vậy các khoá chính có thể được phân phối theo đường không phải mật
mã như phân phối vật lý
2.1.4.4 Phân phối khóa
Kịch bản quá trình phân phối khóa
• Giả thiết: mội người sử dụng cùng chia sẻ một khóa mật chính với trung tâm phân phối khóa( KDC)
• Tiền đề:
Người sử dụng A muốn thiết lập kết nối lôgic với người sử dụng B
Hai phía trao đổi thông tin yêu cầu khóa phiên sử dụng một lần để bảo mật dữ liệu truyền qua kết nối
Phía A có khóa mật KA, khóa này chỉ có A và KDC biết
Phía B có khóa mật KB, khóa này chỉ có B và KDC biết
• A yêu cầu KDC khóa phiên để bảo mật liên kết lôgic với B
Trong thông điệp này chứa định danh của A và B cùng với dấu hiệu nhận diện N1
Dấu hiệu nhận diện N1 này chỉ được sử dụng một lần trong trường hợp này
Dấu hiệu nhận diện N1 có thể là dấu thời gian, bộ đếm, hoặc là một số ngẫu nhiên
Yêu cầu tối thiểu đối với dấu nhận diện: dấu hiệu này phải khác nhau đối với từng yêu cầu
Trang 20 Để ngăn chặ sự giả mạo, dấu hiệu nhận diện phải khó bị đối phương dự đoán Như vậy, số ngẫu nhiện là lựa chọn tốt
• Trung tâm phân phối khóa KDC trả lời A bằng thông điệp được mã hóa bằng khóa KA Như vậy chỉ có A là người duy nhất có thể giải mã thành công thông điệp và A cũng xác định được nguồn gốc của thông điệp( A xác định được thông điệp là do KDC gửi tới do khóa KA chỉ có duy nhất
Trong thông điệp cũng có những thông tin dành cho B:
Khóa phiên sử dụng một lần KS;
Định danh của A – IDA
Hai thông tin này được mã hóa với khóa mật KB chia sẻ giữa B và KDC Những thông tin này được gửi cho B để thiết lập liên kết và chứng minh định danh của A
• A lưu lại khóa phiên KS để sử dụng cho liên kết sắp thiết lập và
gửi cho B những thông tin của KDC dành cho B–Ekb[KS|| IDA] Vì những thông tin này được mã hóa bằng KB nên chúng được bảo vệ khỏi hình thức nghe trộm Sau khi nhận được thông điệp từ A, B biết được khóa phiên KS, và biết được phía bên kia là A từ định danh của
A Thêm vào đó, B biết được những thông tin này là do KD cung cấp
vì được mã hóa bằng KB–Ekb
Như vậy từ thời điểm này, khó phiên đã được phân phối mật tới A và
B A và B có thể sử dụng khóa phiên để trao đổi thông tin Tuy nhiên
để tăng độ tin cậy cho quá trình trao đổi thông tin và ngăn chặn các khả năng tấn công, hai bước sau có thể được áp dụng:
1 B gửi tới cho Adấu hiệu nhận dạng N2 bằng cách mã hóa sử dụng khóa phiên
2 Bằng cách sử dụng khóa phiên KS, A trả lời B bằng thông điệp f(N2), trong đó f là hàm biến đổi N2
Trang 21o Hai bước này giúp cho B biết được rằng thông điệp nhận được trong bước trước không bị phát lại
o Ta thấy các bước phân phối khóa bao gồm các bước từ 1 đến 3 Các
bước 4, 5 cũng như bước 3 dùng vào mục đích xác thực
Trang 222.1.4.5.Kiểm soát khóa theo phân cấp và tính trong suốt của sơ đồ kiểm soát
khóa
Kiểm soát khóa theo phân cấp
• Hàm phân phối khóa không giới hạn bởi 1 KDC
• Một trật tự phân cấp các KDC được thiết lập:
Trong hệ thống có các KDC cục bộ: nằm trong các mạng cục bộ, trong các phân mạng nhỏ KDC cục bộ có trách nhiệm phân phối khoá trong những giao dịch giữa những thành phần của một vùng
Nếu hai thực thể thuộc hai phân vùng mạng khác nhau muốn chia sẻ khoá phiên, các KDC cục bộ phụ trách hai phân vùng đó sẽ tương tác với nhau thông qua KDC cấp cao hơn Trong trường hợp này bất kỳ một trong ba KDC sẽ có thể sử dụng để lựa chọn khoá
Sơ đồ phân cấp làm giảm thiểu các nỗ lực trong việc phân phối khóa chính (masterkeydistribution), bởi vì phần lớn các khoá chính là những khoá được chia sẻ giữa những KDC cục bộ với các thực thể thuộc vùng quản lý của chúng
Sơ đồ này làm giảm khả năng tổn hại tới khoá hoặc phá hoại khoá chỉ trong miền cục bộ của KDC
• Vòng đời của khoá phiên( sessionkeylifetime)
Nếu khoá phiên càng được trao đổi với tần suất càng cao thì các khóa
đó càng được bảo mật vì đối phương sẽ có ít văn bản mật tương ứng với từng khoá để phá mã
Mặt khác quá trình phân phối khoá trước mỗi phiên làm việc sẽ làm chậm quá trình trao đổi thông tin và làm gảm hiệu năng của mạng
Nhà quản trị an ninh phải lựa chọn giải pháp cân bằng hai vấn đề trên
Đối với các giao thức hướng liên kết:
o Sử dụng một khoá phiên cho một phiên làm việc khi liên kết đang hoạt động
o Sử dụng khoá phiên mới cho phiên làm việc mới
o Nếu liên kết vật lý tồn tại trong thời gian dài: để tăng tính cẩn mật, cần thay đổi khoá phiên một cách liên tục Có thể lựa chọn thời gian theo một chuỗi các PDU
Đối với các giao thức hướng không liên kết:
o Không có các chu trình khởi tạo và ngắt liên kết ⇒ số lần thay đổi khoá không hiển nhiên ⇒ sử dụng một khoá phiên mới cho mỗi lần trao đổi thông tin ⇒ làm giảm ưu thế của giao tiếp không liên kết: tăng thời gian trễ của mỗi giao dịch
Trang 23 Tính trong suốt của sơ đồ kiểm soát khoá:
• Cung cấp khả năng mã hoá đầu cuối trên tầng mạng hoặc tâng giao vận sao cho quá trình trao đổi khoá và mã hoá trong suốt với người sử dụng
• Quá trình truyền thông sử dụng các giao thức hướng liên kết đầu cuối như TCP, X25
• Phần tử quan trọng: bộ xử lý ngoại vi( Front-endprocessor–FEP) cung cấp chức năng mã hoá đầu cuối và nhận các khoá phiên thay cho các trạm làm việc
• Ưu điểm : làm giảm nhẹ ảnh hưởng của quá trình mã hoá, trao đổi khoá đối với các trạm đầu cuối
• Từ khía cạnh máy trạm, FEP có thể coi là một phần của nút chuyển mạch gói ⇒ giao tiếp giữa trạm và mạng không đổi
• Từ hướng mạng, FEP có thể coi là một trạm ⇒ giao tiếp chuyển mạch gói
từ mạng tới trạm không đổi
Trang 24 Nếu KDC phê chuẩn yêu cầu liên kết, KDC sẽ tạo khoá phiên và phân phối tới hai FEP tương ứng sử dụng khoá duy nhất cố định cho mỗi giao tiếp( bước3 )
Bộ xử lý ngoại vi FEP đã đưa ra yêu cầu có thể gửi gói tin yêu cầu thiết lập liên kết và liên kết sẽ được thiết lập giữa hai trạm đầu cuối (bước4)
Tất cả các dữ liệu được truyền giữa hai trạm đầu cuối sẽ được mã hoá
do hai bộ xử lý ngoại vi tương ứng sử dụng khoá phiên sử dụng một lần
2.1.4.6 Kiểm soát khóa không tập trung
• Sử dụng trung tâm phân phối khoá KDC đưa ra yêu cầu đối với KDC: KDC phải được uỷ nhiệm và phải được bảo vệ khỏi các tấn công
• Các yêu cầu này có thể loại bỏ nếu sử dụng sơ đồ phân phối khoá không tập trung
• Các yêu cầu của phân phối khoá không tập trung:
Mỗi hệ thống giao tiếp theo liên kết mật với tất cả các hệ thống trạm khác với mục đích phân phối khoá phiên
Số lượng khoá phiên cực đại có thể có sẽ bằng: n( n–1 ) / 2
• Kịch bản phân phối khoá không tập trung
A gửi yêu cầu khoá phiên tới cho B cùng với dấu hiệu nhận dạng N1;
B trả lời bằng thông điệp được mã hoá bằng khoá chính chung ( sharedmasterkey) Trong câu trả lời chứa khoá phiên do B lựa chọn Ks, định danh của B, giá trị f( N1), và đấu hiệu nhận dạng N2
Sử dụng khoá phiên mới, A gửi trả f( N2) cho B
• Phân tích:
Mỗi nút cần phải có ít nhất (n–1) khoá chính (masterkey) và một số lượng khoá phiên tuỳ ý có thể được tạo ra và sử dụng
Trang 25 Do thông điệp được truyền sử dụng khoá chính khá ngắn ⇒ việc thám
mã là khó khăn
Giống như trường hợp quản lý khoá tập trung, khoá phiên chỉ được sử dụng trong một khoảng thời gian ngắn để bảo vệ khoá
2.1.4.7 Kiểm soát việc sử dụng khóa
• Kiểm soát việc sử dụng khoá
Khái niệm phân cấp khóa và kỹ thuật phân phối khóa tự động làm giảm mạnh số lượng khóa cần xử lý bằng tay và phân phối bằng tay
Đặt vấn đề: thiết lập sự kiểm soát những phương pháp phân phối khóa
tự động
o Vídụ: để phân tách khóa chính và khóa phiên, chúng ta có thể cần một
số các khóa phiên khác nhau tùy theo cách sử dụng:
- Khóa để mã hóa dữ liệu dùng cho truyền dữ liệu qua mạng;
- Khóa PIN ( personalidentificationnumber) sử dụng trong việc truyền các quỹ điện tử, các ứng dụng bán lẻ;
- Khóa để mã hóa file đối với những file được lưu trữ tại những thư mục public
• Kỹ thuật kiểm soát khoá bằng vectơ kiểm soát(controlvector):
Mỗi khoá phiên được đặt tương ứng với một vectơ kiểm soát bao gồm:
o Số lượng các trường để đặc trưng cho việc sử dụng khoávà
o Các giới hạn đối với khoá phiên đang xét
• Vectơ kiểm soát được mã hoá mật gắn kết với khoá vào thời điểm khoá được sinh ra tại KDC
• Sơ đồ hoạ tđộng:
Vectơ kiểm soát được đưa vào hàm băm, hàmb ăm này sinh ra một giá trị có độ dài bằng độ dài của khoá mã mật Hàm băm sẽ ánh xạ một giá trị từ một khoảng lớn vào một khoảng có độ dài nhỏ hơn
Giá trị băm được thực hiện XOR với khoá chính và kết quả sẽ đi vào khối mã hoá khoá phiên
Trang 26• Khi khoá phiên được phân phối tới người sử dụng, khoá sẽ được kết hợp với vectơ kiểm soát Khoá phiên chỉ có thể khôi phục được nếu có cả khoá chính (được chia sẻ) lẫn vec tơ kiểm soát
• Ưu điểm của việc sử dụng vectơ kiểm soát khoá đối với việc sử dụng các thẻ 8-bit:
Không có giới hạn về độ dài của vectơ kiểm soát;
Vectơ kiểm soát tồn tại dưới dạng tường minh tại mọi bước thao tác
2.2 Nguyên lý các phương pháp mã hoá công khai
2.2.1 Đặc điểm và xuất xứ
Đặc điểm:
• Mật mã công khai dựa trên cơ sở của các hàm toán học chứ không phải dựa trên phép thay thế và đổi chỗ như trong phương pháp mã hoá đối xứng
• Mã mật công khai là bất đối xứng Trong cơ chế mã mật khoá công khai sử dụng hai khoá: khoá mật và khoá công khai Việc sử dụng hai khoá không đối xứng đưa đến những hệ quả sâu sắc trong lĩnh vực an toàn thông tin: tính toàn vẹn, tính xác thực, phân phối khoá
Trang 27• Vấn đề thứ hai: chữ ký điện tử
2.2.2 Hệ mật khóa công khai
Vấn đề phân phối khóa:
• Trong sơ đồ mã hoá truyền thống, quá trình phân phối khoá đưa ra yêu cầu hai phía tham gia vào trao đổi thông tin:
Phải chia sẻ trước khoá, khoá này phải được phân phối bằng một cách nào đó ho họ
Phải sử dụng trung tâm phân phối khoá KDC
Vấn đề chữ ký điện tử:
• Chữ ký điện tử phải được sử dụng trong các thông điệp điện tử và phải có hiệu lực tương đương với chữ ký trên giấy
Hệ mật khóa công khai:
• Mỗi hệ thống đầu cuối tạo một cặp khoá để mã hoá và giải mã các thông điệp
• Mỗi hệ thống đầu cuối công bố một khoá trong cặp khoá ,khoá còn lại được giữ mật
• Nếu A muốn gửi thông điệp cho B, A sẽ mã hoá văn bản bằng khoá công khai của B
• Khi B nhận được thông điệp, B sẽ giải mã bằng khoá mật Không một bên thứ ba có thể giải mã được thông điệp vì chỉ có B biết khoá mật của B
2.2.3 Sơ đồ mã hóa công khai
• Sơ đồ mã mật khoá công khai sử dụng một khoá để mã hoá và một khoá khác có liên quan để giải mã Các thuật toán mã hoá và giải mã có một số đặc điểm quan trọng sau:
Không thể xác định được khoá giải mã nếu chỉ biết thuật toán mã hoá
và khoá mã hoá
Trang 28 Một số hệ mã mật khoá công khai (như RSA) còn cung cấp khả năng
sử dụng bất kỳ một khoá trong cặp khoá làm khoá mã hoá, khoá còn lại
sẽ được dùng làm khoá giải mã
Trang 292 Mỗi người dùng sẽ giao một trong hai khóa cho người đăng ký khóa công cộng hoặc một file có khả năng truy cập Khóa đó là khóa công khai Cái còn lại là sẽ được giữ bí mật Như trong hình trên đã giả thiết, mỗi người dùng sẽ duy trì một tập các khóa công khai thu được từ các người dùng khác
3 Nếu Bob muốn gửi một thông điệp bí mật cho Alice, Bob mã hóa thông điệp bằng cách sử dụng khóa công khai của Alice
4 Khi Alice nhận được thông điệp, cô giải mã nó bằng khóa riêng của mình Không có người nhận khác có thể giải mã thông điệp vì chỉ Alice biết khóa riêng của Alice
Mô hình đảm bảo bí mật:
• Kẻ phá mã, quan sát Y và có quyền truy cập vào KUb nhưng không có quyền truy cập vào KRb hoặc X, để xem được thông tin kẻ phá mã phải phục hồi X và / hoặc KRb
Mô hình chứng thực:
• Trong trường hợp này, A soạn một tin nhắn đến B và mã hóa bằng khóa riêng của A trước khi truyền nó B có thể giải mã thông điệp bằng cách sử dụng khóa công khai của A Bởi vì thông điệp đã được mã hóa bằng khóa riêng của A, chỉ A có thể soạn thông báo này Vì vậy, thông điệp được mã hóa toàn bộ phục vụ như một chữ ký số Ngoài ra, không thể thay đổi thông điệp mà không cần truy cập vào các khóa riêng của A, do đó, thông điệp này là xác thực cả về nguồn và về tính toàn vẹn dữ liệu
Trang 30 Mô hình kết hợp:
• Trong trường hợp này, chúng ta bắt đầu như trước bằng cách mã hóa các tin nhắn, sử dụng khóa riêng của người gửi Công việc này để cung cấp các chữ ký số Tiếp theo, chúng ta mã hóa một lần nữa, bằng cách sử dụng khóa công khai của người nhận Các bản mã cuối cùng chỉ có thể được giải
mã chỉ bởi người nhận đã được xác định, người có chìa khóa Vì vậy, tính bảo mật được cung cấp
Các điều kiện cần thiết:
• Bên B dễ dàng tạo ra được cặp (KUb, KRb)
• Bên A dễ dàng tạo ra được C = EKUb(M)
• Bên B dễ dàng giải mã M = DKRb (C)
• Đối thủ không thể xác định được KRb khi biết KUb
Trang 31• Đối thủ không thể xác định được M khi biết KUb và C
• Một trong hai khóa có thể dùng mã hóa trong khi khóa kia có thể dùng giải
mã
• M = DKRb(EKUb(M)) = DKUb(EKRb(M))
2.2.4 So sánh mã hóa đối xứng và mã hóa công khai
2.2.5.Thuật toán RSA
2.2.5.1 Cơ sở lý thuyết
• Đề xuất bởi Ron Rivest, Adi Shamir và Len Adleman (MIT) vào năm
1977
• Hệ mã hóa khóa công khai phổ dụng nhất
• Mã hóa khối với mỗi khối là một số nguyên < n
Thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân
• Đăng ký bản quyền năm 1983, hết hạn năm 2000
• An toàn vì chi phí phân tích thừa số của một số nguyên lớn là rất lớn
2.2.5.2 Tạo khóa RSA
Tạo khóa:
• Mỗi bên tự tạo ra một cặp khóa công khai - khóa riêng theo các bước sau :
Chọn ngẫu nhiên 2 số nguyên tố đủ lớn p q
Trang 32• Công bố khóa mã hóa công khai KU = {e, n}
• Giữ bí mật khóa giải mã riêng KR = {d, n}
Cd mod n = Med mod n = Mk(n) + 1 mod n = M mod n = M
Ví dụ tạo khóa RSA:
Công bố khóa công khai KU = {7, 187}
Giữ bí mật khóa riêng KR = {23, 187}
Trang 33• Trước đây khuyến nghị giá trị của e là 3, nhưng hiện nay được coi là quá nhỏ
• Thường chọn e = 216
- 1 = 65535
• Giá trị của d sẽ lớn và khó đoán
2.2.5.3 Vấn đề an toàn của RSA
• Khóa 128 bit là một số giữa 1 và một số rất lớn 340.282.366.920.938.000.000.000.000.000.000.000.000
• Có bao nhiêu số nguyên tố giữa 1 và số này ≈ n / ln(n) = 2128
/ ln(2128) ≈ 3.835.341.275.459.350.000.000.000.000.000.000.000
• Cần bao nhiêu thời gian nếu mỗi giây có thể tính được 1012 số
Hơn 121,617,874,031,562,000 năm (khoảng 10 triệu lần tuổi của vũ trụ)
• An toàn nhưng cần đề phòng những điểm yếu
2.2.5.4 Phá mã RSA
• Phương pháp vét cạn
Thử tất cả các khóa riêng có thể: phụ thuộc vào độ dài khóa
• Phương pháp phân tích toán học
Phân n thành tích 2 số nguyên tố p và q
Xác định trực tiếp (n) không thông qua p và q
Xác định trực tiếp d không thông qua (n)
• Phương pháp phân tích thời gian
Dựa trên việc đo thời gian giải mã
Có thể ngăn ngừa bằng cách làm nhiễu
2.2.6 Sơ đồ trao đổi khóa Diffie – Hellman
• Giải thuật mật mã khóa công khai đầu tiên
• Đề xuất bởi Whitfield Diffie và Martin Hellman vào năm 1976
Malcolm Williamson (GCHQ - Anh) phát hiện trước mấy năm nhưng đến năm 1997 mới công bố
• Chỉ dùng để trao đổi khóa bí mật một cách an toàn trên các kêch thông tin không an toàn
• Khóa bí mật được tính toán bởi cả hai bên
• An toàn phụ thuộc vào độ phức tạp của việc tính log rời rạc
Thiết lập Diffie-Hellman:
• Các bên thống nhất với nhau các tham số chung
q là một số nguyên tố đủ lớn
Trang 34 là một nguyên căn của q : mod q, 2 mod q, , p-1 mod q là các số nguyên giao hoán của các số từ 1 đến q - 1
• Bên A
Chọn ngẫu nhiên làm khóa riêng XA < q
Tính khóa chung YA = XA mod q
• Bên B
Chọn ngẫu nhiên làm khóa riêng XB < q
Tính khóa chung YB = XB mod q
Trao đổi khóa Diffie-Hellman:
mod q = (XB
mod q)XA mod q = YBXA mod q
Hạn chế của khóa công khai:
• Tốc độ xử lý
Các giải thuật khóa công khai chủ yếu dùng các phép nhân chậm hơn nhiều so với các giải thuật đối xứng
Không thích hợp cho mã hóa thông thường
Thường dùng trao đổi khóa bí mật đầu phiên truyền tin
• Tính xác thực của khóa công khai
Bất cứ ai cũng có thể tạo ra một khóa công bố đó là của một người khác
Chừng nào việc giả mạo chưa bị phát hiện có thể đọc được nội dung các thông báo gửi cho người kia
Cần đảm bảo những người đăng ký khóa là đáng tin
2.3 Các giao thức xác thực và chữ kí điện tử
2.3.1.Các hành động tấn công?
Trang 35• Giải phòng nội dung thông điệp: Phát hành nội dung thông điệp tới một
người hoặc một tiến trình nào đó mà không sở hữu khóa mật thích hợp
• Phân tích tải: để xác định tần suất, thời gian kết nối, số lượng và chiều dài
của thông điệp giữa 2 bên
• Giả mạo: chèn tin nhắn vào mạng từ một nguồn gian lận, chẳng hạn như
tạo ra các thông điệp có mục đích xấu bởi người có thẩm quyền
• Thay đổi nội dung: Thay đổi các nội dung của tin nhắn có, bao gồm chèn,
xóa, hoán vị, và sửa đổi
• Thay đổi thứ tự: là bất ky một sự sửa đổi nào cho một chuỗi các thông
điệp giữa các bên, bao gồm chèn, xóa, và sắp xếp lại
• Thay đổi thời gian: làm trễ hoặc phát lại các tin nhắn
• Sự từ chối dịch vụ: từ chối gửi các thông điệp từ nguồn gửi hoặc từ chối
nhận các thông điệp ở đích
2.3.2 Các vấn đề xác thực
• Các tiêu chuẩn cần xác minh
Thông báo có nguồn gốc rõ ràng chính xác
Nội dung thông báo toàn vẹn, không bị thay đổi
Thông báo được gửi đúng trình tự và thời điểm
• Mục đích chống lại tấn công chủ động (xuyên tạc dữ liệu…)
• Các phương pháp xác thực thông báo
Mã hoá thông báo(1)
Nội dung không thể bị thay đổi vì văn bản thô có cấu trúc nhất định
Các gói tin được đánh số thứ tự và mã hóa nên không thể thay đổi trình
tự và thời điểm nhận được
• Sử dụng mã hóa khóa công khai
Không chỉ xác thực thông báo mà còn tạo chữ ký số
Phức tạp và mất thời gian hơn mã hóa đối xứng
2.3.1.2 Xác thực dùng mã CheckSum
• Dùng mã xác thực thông báo(MAC Message Authentication Code)
Trang 36• Là khối có kích thước nhỏ cố định gắn vào thông báo tạo ra từ thông báo
đó và khóa bí mật chung
• Bên nhận thực hiện cùng giải thuật trên thông báo và khoá để so xem MAC có chính xác không
• Giải thuật tạo MAC giống giải thuật mã hoá nhưng không cần giải ngược
• Có thể có nhiều thông báo có cùng chung MAC
Nhưng nếu biết 1 thông báo và MAC, rất khó tìm ra một thông báo khác cùng MAC
Các thông báo có cùng xác suất tạo ra MAC
• Đáp ứng 3 tiêu chuẩn xác thực
Trang 37 M: Thông điệp
C: Hàm MAC
K: Khóa bảo mật được chia sẻ
MAC: Mã xác thực thông điệp (báo)
Tại sao dùng MAC:
• Nhiều trường hợp chỉ cần xác thực, không cần mã hóa tốn thời gian và tài nguyên
Thông báo hệ thống
Chương trình máy tính
• Tách riêng các chức năng bảo mật và xác thực sẽ khiến việc tổ chức linh hoạt hơn
Chẳng hạn mỗi chức năng thực hiện ở một tầng riêng
• Cần đảm bảo tính toàn vẹn của thông báo trong suốt thời gian tồn tại không chỉ khi lưu chuyển, vì thông báo có thể bị thay đổi sau khi giải mã
2.3.1.3 Xác thực dùng hàm băm
• Một hàm băm nhận đầu vào là một thông báo có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là tóm tắt thông báo hoặc chữ ký số
• Tạo ra một giá trị băm có kích thước cố định từ thông báo đầu vào (không dùng khóa)
h = H(M)
• Hàm băm không cần giữ bí mật
• Giá trị băm gắn kèm với thông báo dùng để kiểm tra tính toàn vẹn của thông báo
Trang 38• Bất kỳ sự thay đổi M nào dù nhỏ cũng tạo ra một giá trị h khác
Xác thực dùng hàm băm:
Trang 39 Yêu cầu đối với hàm băm:
• Có thể áp dụng với thông báo M có độ dài bất kỳ
• Tạo ra giá trị băm h có độ dài cố định
• H(M) dễ dàng tính được với bất kỳ M nào
• Từ h rất khó tìm được M sao cho H(M) = h
Với hàm băm, nỗ lực phụ thuộc độ dài m của mã băm
- Độ phức tạp của tính một chiều và tính chống xung đột yếu là
2m; của tính chống xung đột mạnh là 2m/2
Trang 40- 128 bit có thể phá được, thường dùng 160 bit
Với MAC, nỗ lực phụ thuộc vào độ dài k của khóa và độ dài n của MAC
- Độ phức tạp là min(2k, 2n)
- Ít nhất phải là 128 bit
• Kiểu tấn công dùng kỹ thuật
Hàm băm thường gồm nhiều vòng như mã hóa khối nên có thể tập trung khai thác điểm yếu hàm vòng
2.3.2 Chữ ký điện tử
Chữ ký số (Digital Signature) hay chữ ký điện tử (Electronic Signature) là thông tin đi kèm theo dữ liệu nhằm mục đích xác nhận người chủ của dữ liệu đó
2.3.2.1 Yêu cầu với chữ ký số
- Phụ thuộc vào thông báo được ký
- Có sử dụng thông tin riêng/đặc biệt của người gửi: để tránh giả mảo và chối
Với mật mã công khai
Dùng khóa riêng ký toàn bộ thông báo hoặc giá trị băm
Có thể mã hóa sử dụng khóa công khai của bên nhận
Thực hiện ký trước mã hóa sau
Chỉ có tác dụng khi khóa riêng của bên gửi được đảm bảo an toàn
Bên gửi có thể giả vờ mất khóa riêng : cần bổ xung thông tin thời gian
và báo mất khóa kịp thời
Khóa riêng có thể bị mất thật :Kẻ cắp có thể gửi thông báo với thông tin thời gian sai lệch
• Chữ ký gián tiếp: