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

Đề thi có đáp án môn an toàn thông tin

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 (302.31 KB, 17 trang )

THÔNG TIN VÀ DỮ LIỆU
-











Thông tin là bất kỳ cái thu được khi quan sát thấy
Dữ liệu là cái cung cấp, là thế giới khách quan bên ngoài.
 Nhìn vào dữ liệu để thu được thông tin
Thông tin
Dữ liệu
Đối tượng
Vật
Trừu tượng
Trực quan
Thành phần tương tác
Kết quả của sự tương tác
Vấn đề lớn
- Biểu diễn
- Lưu trữ và quản lý
- Xử lý
- Truyền dữ liệu.
Bảo mật thông tin
- Bảo mật


- tính toàn vẹn
- sự tin cậy
 Trong một ngữ cảnh cụ thể, các thuộc tính cụ thể phải được đảm bảo.
Tại sao chúng ta quan tâm
- Thông tin là rất quan trọng
- Dữ liệu là không an toàn
- An ninh thông tin là rất thú vị
 Cuối cùng, đó là chủ đề của bạn
Mục đích và mục tiêu
- Hiểu được nguyên tắc và khái niệm cơ bản
- Tìm hiểu cách nguyên thủy mật mã làm việc
- Tìm hiểu làm thế nào để sử dụng chúng một cách chính xác và lý do về an ninh
 Cân bằng khả năng sử dụng và bảo mật luôn luôn là một thách thức
Điều kiện tiên quyết và phân loại
- Điều kiện tiên quyết
o
Nền toán học
o
Kỹ năng lập trình
o
Mạng máy tính
- Phân loại:
Chú ý
Khoảng giữa
Cuối cùng
Tổng số



lý thuyết và chức năng thiết lập

- lý thuyết tập hợp
-

hàm số
Quan hệ: 1-1, 1-n.n-1, n-n

10
30
60
100






Miền so với đồng miền
Hình ảnh trước với hình ảnh
injective, surjective, song ánh ngược
Đột biến trước
xác suất rời rạc
- một ngôn ngữ về tính ngẫu nhiên
- "Xác suất một đồng tiền sẽ rơi xuống đất xác suất chiếm là 0,5." Điều này có nghĩa
là gì?
- Giải thích frequentist
- Giải thích Bayes
- Biến cố
Cho một tập hợp: A ⊆ U: Pr[A] = ΣP(x) ∈ [0,1]
Các tập A được gọi là một biến cố
- Biến ngẫu nhiên:

o Một biến ngẫu nhiên X là một hàm: X: U⟶V
o Pr[ X=v ] := Pr[ X-1(v) ]
- Thuật toán bất định: y ⟵ A(x)
- Thuật toán ngẫu nhiên:
o Đầu ra là một biến ngẫu nhiên:
y ⟵ A( x ; r ).
y ⟵ A( x ) (R nằm trên mũi tên)

Lý thuyết phức tạp:
- Các mô hình toán học của tính toán là gì?
Máy tự động.
- Cái vấn đề máy tính có thể (không) giải quyết.
Lý thuyết tính toán
- Cái làm cho một số vấn đề về tính toán khó và tin tức thành dễ dàng
Lý thuyết độ phức tạp


- Tỷ lệ tăng trưởng / thứ tự của tăng trưởng

BẢO MẬT


Khi nào bạn cần quan tâm đến bảo mật: Khi thông tin cá nhân trở thành dữ liệu.
• Làm thế nào để làm được?
Là những gì khác biệt giữa Steganography và mật mã học
• Bí mật là sự riêng tư. Thông tin là riêng tư nhưng nó sẽ bị phá vỡ khi chuyển thành dữ
liệu thông qua xử lý. Ta sẽ biến dữ liệu thành 1 dữ liệu khác thông qua các phương pháp
dấu thư hoặc thành 1 data’ khác.
F[k,L(I)] = data’
• Muốn data -> data’ ta thay đổi vị trí dữ liệu. Chia data thành từng khúc, mảnh -> sắp xếp

lại vị trí không nhất định, khác với ban đầu -> data’. Muốn được 1 mật mã tốt cần:
- Số lượng mảnh nhiều.
- Các mảnh gần giống nhau.

MẬT MÃ CỔ ĐIỂN


Thông tin thông qua mật mã để mã hóa dữ liệu.



Mật mã đối xứng(symmetric cipher)
Một thuật toán mã hóa được xác định trên (K, P, C) là một cặp của các thuật toán hiệu
quả (E, D), nơi:
K: tập hợp không gian khóa.
P: tập hợp bản gốc.
C: Văn bản mã hóa.
E(mã hóa) : K*P ---- C
D(giải mã): K*C-----P


Ràng buộc: mọi m thuộc P, k thuộc K: D(k,E(k,m))=m
E có thể được chọn ngẫu nhiên.
D luôn là xác định.
 Chúng tôi đã có một số thuật toán mã hóa được xác định chúng

- Mật mã dịch chuyển:

Def: Cung cấp một tập hợp các chữ cái A
P = C = A*

K là một tập hợp của tất cả các hoán vị
E (mã hóa): E(k, m) = m[k(1)]m[k(2)]….m[k(n)]
D (giải mã): D(k, c) = c[k-1(1)] c[k-1(2)]… c[k-1(n)]
Ví dụ như xem xét câu ngắn này:
35 chữ = 50*1030 hoán vị
- Không khả thi.


Mật mã thay thế(substitution cipher):
Def: cho hai bộ chữ cái A và B
P = A* and C = B*
K = { k | k is a bijection from A to B}
E (Encryption): E(k, m) = k(m[1])k(m[2]) …. k(m[n])
D (Decryption): D(k, c) = k-1(c[1]) k-1(c[2]) … k-1(c[n])
- Mono mật mã chữ cái:

26 chữ = 5*1026 mật mã chữ cái
- Thực hiện được


Nguyên tắc của Kerchkhoff:
 Cái làm cho mật mã Vigenefre trở thành yếu kém?

DÒNG MẬT MÃ (STREAM CIPHER)




Một mật mã an toàn là gì?
Các mật mã tốt nhất là gì?

Nguyên tắc cốt lõi của mật mã hiện đại:
- Định nghĩa chính thức: chính xác, mô hình toán học và định nghĩa về những gì các
phương tiện bảo mật
- Giả định: thỏa mãn rõ ràng và không mơ hồ.
- Chứng minh về an ninh: di chuyển đi từ thiết kế - phá – vá
- Mô hình mối đe dọa:
o Khả năng tấn công


o Những khả năng tấn công được cho là có
Yêu cầu bảo mật: những gì chúng ta muốn tránh các cuộc tấn công từ làm việc?
• Mô hình mối đe dọa đối với mã hóa:
- Mật mã văn bản - chỉ tấn công (COA)
- Tấn công biết văn bản trước (KPA)
- Tấn công văn bản thuần tuý (CPA)
- Tấn công bản mã - (CCA)
• Yêu cầu bảo mật:
- Không thể thu hồi khóa bí mật:
o Dễ dàng để thiết kế một chương trình mã hóa để giấu chìa khóa hoàn toàn,
nhưng không an toàn.
o Cần thiết nhưng chưa đủ.
o Chính là một phương tiện để kết thúc, không phải là cuối cùng chính nó.
- Không thể thu hồi văn bản đã biết trước:
o 90% văn bản biết trước.
o 1 ký tự của văn bản đã bết trước.
o 1 bít của văn bản đã bết trước.
- Các văn bản mật mã nên tiết lộ không có thông tin về bản rõ.
- Xem lại xác suất rời rạc:
o Cho một tập hợp: A ⊆ U: Pr[A] = ΣP(x) ∈ [0,1]
o Các tập A được gọi là một biến cố

o Biến ngẫu nhiên: Một biến ngẫu nhiên X là một hàm: X: U⟶V
-

Pr[ X=v ] := Pr[ X-1(v) ]
Thuật toán bất định: y ⟵ A(x)
Thuật toán ngẫu nhiên:
Đầu ra là một biến ngẫu nhiên:
y ⟵ A( x ; r ).
y ⟵ A( x ) (R nằm trên mũi tên)
o Xác suất điều kiện: xác suất mà một sự kiện xảy ra, giả định một số sự kiện
khác xảy ra: Pr[ A | B ] = Pr [ AB] / Pr[ B].
o Hai biến ngẫu nhiên X, Y là độc lập nếu:
cho tất cả x, y: Pr[ X=x | Y=y] = Pr [X=x]
o Luật của tổng xác suất
E1, E2, E3, ..., En là một phân vùng của tất cả các khả năng.
Sau đó cho bất kỳ A: Pr[A] = i��[��i] = i�� � | �i .��[ �i]
o
Định lý của Bayes: Pr[ A | B] = Pr [B | A].Pr[A] / Pr[B]
• Thông tin lý thuyết an ninh:
Def: một mật mã trên (K, P, C) có bí mật hoàn hảo nếu:
Mọi m0, m1 thuộc P (len(m0)=len(m1 )) and c thuộc C
Pr(E(k,m0)=c) = Pr(E(k,m1)=c)
k là đồng nhất trong K(kK trên R)
• OTP ():
P=C={0,1}n
K = {0.1}n – với k là 1 chuỗi bít ngẫu nhiên mà độ dài bằng độ dài của thông điệp
E(k,m)= k xor m
o
o



D(k,c) = k xor c
- OTP giữ bí mât hoàn hảo
- Lý do1:
m,c thì Pr(E(k,m) = c) =
Nếu mọi m,c : = const thì OTP giữ bí mật hoàn hảo.
- Lý do 2:

m,c Nếu E(k,m) = c thì k xor m = c , k= m xor c
OTP giữ bí mật hoàn hảo.
- (K,P,C) được gọi là bí mật 1 cách tuyệt đối nếu:

m0, m1 P(len(m0 )= len(m1)) và c C
Pr(E(k,m0) =c) = Pr(E(k,m1)=c)
 1 khóa dùng đúng 1 lần, chiều dài khóa bằng chiều dài message , làm cho nó

không khả thi.
- Câu hỏi 1: Chứng minh 1 mật mã OTP là perfect thì chiều dài khóa phải lớn hơn

chiều dài message.
 Trả lời: Nếu |key| < |m|
Mỗi c có 1 m -> trong hệ Pr mọi c có m|key|
- Câu hỏi 2:Chứng minh OTP là perfect:
Perfect:
m0,m1 P và k K, c C
Kết hợp với định nghĩa OTP ở phía trên ta có:
m,c,k :
Pr[E(k,m)=c] = const
= với const = 1; mọi k xor m = c <-> k=m xor c



Mã hóa dòng ( stream cipher ) hàm PRG
- Ý tưởng: key trong OTP là ngẫu nhiên.
- Hàm PRG: bộ sinh số giả ngẫu nhiên
G={0,1}S = -------- {0,1}n , n>>S
Len(k) < len(m)
E(k,m) = m xor G(k)
D(k,c) = c xor G(k)
Do len(key) < len(m) => stream cipher không phải là perfect
PRG ngẫu nhiên nhất -> strem cipher sẽ an toàn
Ngẫu nhiên -> không thể dự đoán được.


 Tìm PRG -> không thể dự đoán được -> PRG có thể dự đoán được nếu: i:

G(k)|1,…,i -> G(k)|i+1……,n
 Nếu biết đoạn đầu của m -> biết được G(k) -> biết full đoạn m
 Nếu G(k) dự đoán được -> không an toàn.
- CHúng ta nói rằng :

G: K->{0,1}n có thể dự đoán được.
Thuật toán hiệu quả A và tồn tại 0<= i <= n-1, ta có:
Prk-R---K[A(G(k)|1,…,i) = G(k)|i+1] >1/2 +β => có thể dự đoán do xác suất nhỏ.
- Negligible ( không đáng kể) và non-negligible( đáng kể)
o Thực hành: β là vo hướng và:
β là đáng kể nếu β>= 1/230
β là không đáng kể nếu β <= 1/280
o Lý thuyết: β là 1 hàm: β: Z>=0 ----- R>=0
β là đáng kể nếu:
(≥1/poly , nhiều )

β là không đáng kể nếu:
(≤ 1/poly, )
G: K-> {0,1}n là 1 PRG
Đ/nghĩa:
[kR----K, output G(k)]
là không thể phân biệt được từ
[r R----{0,1}n , output r]
- Kiểm tra thống kê trong khoảng {0,1} là 1 thuật toán A sao cho A (x) kết quả đầu ra

0 hoặc 1
Ví dụ:

- Lợi thế:

G:K {0,1}n là 1 PRG và A là 1 hàm thống kê kiểm tra trên khoảng {0,1}n.
Đ/nghĩa:
Ví dụ: A(x) = 0=>
- PRG là an toàn:
G: K {0,1}n là 1 PRG an toàn nếu mọi hàm kiểm tra thống kê A thỏa mãn: là
không đáng kể.
o Một PRG an toàn là không thể đoán trước
PRG ⇒ dự đoán được PRG là không an toàn
Giả sử A là một thuật toán hiệu quả s.t
o

Một PRG an toàn là không thể đoán trước


Xác định thống kê thử nghiệm B là:


rR----[0,1]n: Pr[B(r)=1] = ½
rR----K: Pr[B(G(k))=1] > ½+

o Một PRG không thể đoán trước là an toàn

Cho G: K ⟶ {0,1} n được PRG
Nếu ∀ i ∈ {0, ..., n-1} PRG G là không thể đoán trước tại vị trí i thì


 G là một PRG an toàn.
Không thể phân biệt được (Indistinguishable)
Cho 2 phân bố P1 và P2 = {0,1}n
Ta nói rằng P1, P2 là tính toán không thể phân biệt (P1~pP2)
Với mọi hàm kiểm tra thống kê A:

Ví dụ: 1 PRG là an toàn nếu : { k ⟵K : G(k) } ≈p {0,1}n)


Semantically sercurity( An toàn ngữ nghĩa)
Đ/nghĩa: Cho b thuộc [0,1]
Ta có:

Mật mã E, A


OTP là An toàn ngữ nghĩa:
Vì |m0| = |m1| và k của cả 2 bên đều xét trên bất định.
MẬT MÃ KHÓA( BLOCK CIPHER)









Mã khối và mật mã Monoalphabetic
- Mã khối
Khả thi hay không khả thi (Kích thước khối 64-bit => thuật toán mã hóa kích thước
chữ cái = 64 * 264 bit ≈ 220 TB)
 Tìm một mô hình toán học để tránh nhầm lẫn.
Hàm ngẫu nhiên (RF) xác định trên (X, Y):
f: X  Y
Funs [X, Y]: tập tất cả các chức năng từ X đến Y
Trong đó f là thống nhấ: Funs[X,Y] (fR---Funs[X,Y])
Hàm ngẫu nhiên (PRF) xác định trên (K, X, Y):
F: K x X  Y
Đ/kiện: tồn tại thuật toán "hiệu quả" để đánh giá F (k, x)
- PRFs an toàn:
Để cho: F:K x X  Y là 1 PRF
Funs[X,Y]: tất cả các hàm từ X đến Y
SF = { F(k,.) s.t k K } Funs[X,Y]
Trực giác: một PRF là an toàn nếu 1 hàm ngẫu nhiên trong funs [X,Y] là không
thể phân biệt từ một hàm ngẫu nhiên trong SF
- Cho b=0,1 xác định thử nghiệm EXP(b):




Def: F là một PRF an toàn nếu cho tất cả "hiệu quả" A:

AdvPRF [A, F]: = | Pr [EXP (0) = 1] - Pr [EXP (1) = 1] | là "không đáng kể"
Hàm hoán vị ngẫu nhiên (PRP) xác định trên (K, X):
E: K x X  X
Như vậy mà:
1. Tồn tại thuật toán "hiệu quả" xác định để đánh giá E (k, x)
2. Chức năng E (k, .) là một trong-một
3. Tồn tại thuật toán "hiệu quả" đảo ngược D (k, y)
- PRPs là an toàn:
F: K x X  Y
Hoán vị [X, Y]: sự tập hợp của một-đối-một chức năng từ X đến Y
SF = {F (k, .) s.t. k K} ⊆ hoán vị [X, Y]
Hãy để F: K  X  Y là một PRP
o Trực giác: một PRP là an toàn nếu một hàm ngẫu nhiên trong Hoán vị [X, Y] là
không thể phân biệt từ một hàm ngẫu nhiên trong SF
- Cho b=0,1 xác định thử nghiệm EXP(b):


Def: F là một PRP an toàn nếu cho tất cả "hiệu quả" A:
AdvPRP [A, F]:=|Pr [EXP (0)=1] - Pr [EXP (1)=1] | là "không đáng kể".
- Chứng minh nếu có 1 hàm PRF thì sinh ra được hàm PRG:



F: K x {0,1}n -> {0,1}n là 1 PRF an toàn.
X/dựng G: K x {0,1}n.t là 1 PRG an toàn.
G ={0,1}s  {0,1}n
G(k) = F(k,0) || F(k,1)||…||F(k.t) = n.t bit
(k,0): là dãy toàn 0
(k,1): là dãy có 1 số 1 và còn lại bằng 0
(k,t): là dãy có 1 số t và còn lại bằng 1.

Thực hiện các F(k,0) ; F(k,1) … riêng biệt, chạy song song -> chạy nhanh. Còn
RC4 không thể chạy // các hàm lồng nhau-> thời gian tốn.
 Hàm sinh khóa phải là PRG và số lần lặp chủ động.
TOÀN VẸN
Làm thế nào để biết dữ liệu đã bị thay đổi hay chưa?
Redundancy (dư thừa):tạo sẵn vài cái khác(copy) khi cần sãn có cái để dùng.



Đem Data’ so sánh với Data”:
Nếu = nhau -> data
Nếu ≠ nhau tương đối -> data
Nếu ≠ nhau tuyệt đối -> ≠ data
Hàm băm( hash function)


H: M T là 1 hàm băm (|M| >> |T|)
h:{0,1}*  {0,1}n
Ví dụ:
Input: m có n khối bít
Output: khối n bít
ci= bi1 xor bi2 xor …. bim-1 xor bim
hàm băm tốt khi phát hiện tính toàn vẹn:
h: MT
m0,m1 M ; m0 ≠ m1


Chống xung đột ( collision resistance)
- Hàm băm tốt có khả năng chống xung đột
- Xung đột là 2 message khác nhau nhưng có giá trị bằng nhau:

m0,m1 M; m0 ≠ m1 & h(m0) = h(m1)
- Hàm được gọi là kháng xung đột nếu:

AdvCR[A, h] = Pr[A xung đột đầu ra cho h] là không đáng kể
- Mã hóa hàm băm (cryptographic hash function (CHF))

(username, password)  (username, h(password))
o Quản lý các gói dữ liệu (software package distribution)

- Phương pháp tấn công tổng quát hàm băm:

h:{0,1}*  {0,1}n là 1 hàm băm {0,1}* >> {0,1}n
o Tìm 1 xung đột: tìm P(h(x1),….,h()) =1
o thuật toán:
1. Chọn 2n / 2 tin nhắn ngẫu nhiên trong {0,1} *: m1, ..., 2. Đối với i =
1, ..., 2n/2 tính ti = H (mi) ∈ {0,1} n
3. Hãy tìm một va chạm (ti = tj). Nếu không tìm thấy, đã trở lại bước 1.
Độ phức tạp theo thời gian = không gian = O(2n/2)
 Hàm băm mật mã là 1 hàm băm kháng xung đột, thỏa mãn vừa là hàm băm vừa thỏa
mãn thuật toán mật mã chống xung đột :
AdvCR[A,h] = Pr[A xung đột đầu ra cho h] là không đáng kể
- Xây dựng hàm băm(hàm nén)
h: T x X  T
 {0,1}n . {0,1}r  {0,1}n
{0,1}n+r  {0,1}n => Xây dựng hàm có độ dài n+r nén xuống còn độ dài n. Nếu
r nhỏ có thể dễ dàng xây dựng hàm nén.
H: X≤L  T (r ≤ L)
g.thích: {0,1}L*r  {0,1}n => Xây dựng hàm có độ dài L*r nén xuống còn độ dài
n.
- Bài tập:



Chứng minh h là hàm kháng xung đột -> H cũng là hàm kháng xung đột
(1)
o C/minh có xung đột trên H thì sẽ có xung đột trên h (2)
Giải:
Ta cần biết, nếu (2) đúng -> (1) đúng, ngược lại thì chưa chắc.
Giả sử ;
H (m) = H (m '). Chúng tôi làm cho một vụ xung đột cho h
IV = H0, H1,….,Ht, Ht+1 = H(m)
IV = H’0, H'1,….,H’r, H’r+1 = H(m’)
h =(Ht,mt||PB) = Ht+1= H’r+1 = h(H’r,m’r|| PB’)
- Nếu Ht ≠ H’r hoặc mt ≠ m’r hoặc PB ≠ PB’ thì ta có 1 xung đột trên h.
- Nếu h =(Ht,mt||PB) = Ht+1= H’r+1 = h(H’r,m’r|| PB’) tức là Ht = H’r hoặc mt = m’r hoặc
PB = PB’=> độ dài 2 message => gộp 3 điều kiện thành chung 1 cái: t=r. Khi đó ta được:
h(Ht-1,mt-1) = Ht+1 = H’t = h(H’t-1,m’t-1)
- Ta lại có 2 trường hợp con:
 Ht-1 ≠ H’t-1 hoặc mt-1 ≠ m’t-1 => xung đột trên h -> dpcm
Ht-1=H’t-1 hoặc mt-1=m’t-1=> lại g.sử t=r và lùi Ht-1=Ht-2 ;mt-1=mt-2 => Bước cuối cùng ta
được m=m’. Nhưng điều kiện ban đầu m≠m’ => trường hợp này không xảy ra => chỉ xảy
ra trường hợp còn lại
 Xung đột trên h => đpcm.
 Làm thế nào để xây dựng nén hàm số
Hàm nén Davies mayer ( là tốt nhất)
Khối cho thuật toán mã hóa E: {0,1}r  {0,1}n
Hàm nén Davies mayer: h (H, m)= E(m,H) xor H
Giả sử E là một thuật toán mã hóa lý tưởng (bộ sưu tập của | K | ngẫu nhiên) Tìm một vụ
va chạm h (H, m) = h (H ', m') có O(2n / 2) đánh giá của (E, D).
o






AdvMAC [A, I] = 28
Cho E: {0,1} n × {0,1} n ⟶ {0,1} n vì đơn giản
h (H, m) = E (m, H) ⨁H⨁m
h (H, m) = E (H⨁m, m) ⨁m
Tổng cộng có 12 biến thể như thế này
Biến thể tự nhiên khác là không an toàn: h (H, m) = E (m, H) ⨁ m
AdvMAC [A, I] = 29


Thông điệp của mã xác thực (Message Authentication Code – MAC)
- MAC: I=(S,V) xác định trên (K,M,T) là 1 cặp thuật toán:
S(k,m): t T
V(k,m,t): 0 hoặc 1.


St:
 MAC tốt cần thỏa mãn an toàn.
- Phương pháp tấn công: tấn công lựa chọn tin nhắn

m1,m2,… ,mq tấn công cho ti  S(k,mi)
- Yêu cầu bảo mật: tồn tại 'unforgeability'
(m, t) là hợp lệ và (m, t) ∉ {(m1, t1), (m2, t2), ..., (mq, tq)}
- Định nghĩa:
MAC: I=(S,V) và adv. A xác định 1 trò chơi








b=1: nếu V(k,m,t) = 1 và (m,t) {(m1,t1),….,(mq,tq)}
b=0: nếu không thì
Def: I = (S, V) là một MAC an toàn nếu cho tất cả "hiệu quả" A:
AdvMAC [A, I] = Pr [Chal. outputs Adv= 1] là "không đáng kể".
Định lý về sự an toàn của PRF
F: K × X ⟶ Y và 1/|Y| là không đáng kể thì MAC là an toàn.
Nếu quan sát A tấn công hiệu quả trên PEF thì:
AdvMAC[A,IF] ≤ AdvPRF[B,F] +1/|Y|
 IF là an toàn nếu |Y| lớn và |Y| = 280.
Chứng minh bản phác thảo (Proof sketch)
Giả sử f: X Y là 1 hàm ngẫu nhiên thực sự(RF) thì MAC đối thủ của A phải giành
chiến thắng trong trò chơi sau:

A chiến thắng nếu t = f(m) và m ∉ { m1 , … , mq }
 Pr[A thắng] = 1/|Y|
Loại bỏ MACs dựa trên PRF
Giả sử: F: K x X  {0,1}n là 1 PRFs an toàn thì
Ft(k,m) = F(k,m)[1…t]
Với t< Biến input small PRF thành input big PRF.
BÀI TẬP:

Bài 1: Chứng minh Advss[A,E] là non-negligible



Giải: Theo công thức thì với mọi A thì negligible, vậy ta chỉ cần tìm ra tồn tại 1A làm cho biểu
thức non-negligible.
An toàn ngữ nghĩa( semantic security)
A(m) =0 nếu m0 = m1
A(m) =0 nếu m0 ≠ m1
Advss[A,E] = |Pr(A(E(k,m0) ) – Pr(A(k,m1) )|
m0= aa*……
m1= ab*……
 m0 ≠ m1

E(k,m0) = tt*……..

E(k,m1)= tl*…….
 A(m) = 1
 Advss[A,E] = 1 = non - negligible

Bài 2: Alice và bob đều có hệ thống mã hóa công khai RSA. Anh/chị hãy trình bày 1 phương
pháp để Alice và Bob có thể thống nhất với nhau 1 khóa bí mật ks. Hãy so sánh và phân tích tính
an toàn của phương pháp anh/chị vừa đề xuất với lược đồ trao đổi khóa Diffie- hellman.
Giải:
• Quy trình gửi thông điệp:
o A gửi chó B thông điệp x để giải thành y
o Trên đường gửi, hacker chặn x, biến đổi x thành z, B nhận được z chứ không phải x
-> B giải z thành t -> gửi lại cho A
o Trên chiều ngược lai, hacker lại chặn được t, từ x và t -> tìm được thuật giải ->
không an toàn. -> do hacker bình đẳng với cả A và B-> Giải pháp là làm cho
hacker không còn bình đẳng với A,B nữa.
o Dùng hàm băm mật mã với những trường hợp biết username và password.
Bài 3:
a) MAC: I=(S,V)

Tìm được m0 ≠ m1
S(k,m0 ) = S(k,m1)
½ key kK
Giải: Do ½ key kK -> AdvMAC[A,I] = ½ >> negligible = (1/2)80
 Non- negligible -> không an toàn.
b) S(k,m): K x m  {0,1}5
 AdvMAC[A,I] = ½5 =1/32 >> negligible -> non- negligible
 Muốn cho tag là an toàn thì tag phải đủ dài <-> n đủ lớn.
c) Giả sử có F: K x X  Y với PRF: Y ={0,1}10
AdvMAC[A,Y] = = non-negligible -> Không an toàn.
TIN CẬY
• Chứng chỉ số dùng để xác minh public key của người này , không phải của người khác, có
IDA và PuA
• CA( cetigale Authouty) là người cấp chữ ký số.


• Chữ ký số là dữ liệu được sinh ra nhờ dữ liệu ký, văn bản ký và thông tin riêng tư có.
• Thỏa mãn được lược đồ: d = S(m,PrA)
o Không được dùng chữ ký cho văn bản thứ 2
o Có d không thể tìm được PrA
o Có PrA không thể tìm được d
o Phải xác minh chữ ký đó là của ai
 d=E(PrA,h(m))









-

-

-

Trong đó:
m là văn bản
PrA là private key
d là chữ ký số.
Chứng chỉ số là gì?
Chứng chỉ số là một tệp tin điện tử dùng để xác minh danh tính một cá nhân, một
máy chủ, một công ty... trên Internet. Nó giống như bằng lái xe, hộ chiếu, chứng minh
thư hay những giấy tờ xác minh cá nhân. Để có chứng minh thư, bạn phải được cơ quan
Công An sở tại cấp.
Chứng chỉ số cũng vậy, phải do một tổ chức đứng ra chứng nhận những thông tin
của bạn là chính xác, được gọi là Nhà cung cấp chứng thực số (CA - Certificate
Authority). CA phải đảm bảo về độ tin cậy, chịu trách nhiệm về độ chính xác của chứng
chỉ số mà mình cấp.
Trong chứng chỉ số có ba thành phần chính:
Dữ liệu cá nhân của người được cấp
Khoá công khai (Public key) của người được cấp
Chữ ký số của CA cấp chứng chỉ.
Chữ ký số của CA cấp chứng chỉ:
Còn gọi là chứng chỉ gốc. Đây chính là sự xác nhận của CA, bảo đảm tính chính
xác và hợp lệ chứng chỉ. Muốn kiểm tra một chứng chỉ số, trước tiên phải kiểm tra chữ
ký số của CA có hợp lệ hay không. Trên chứng minh thư, đây chính là con dấu xác nhận
của Công An Tỉnh hoặc Thành phố mà bạn trực thuộc. Về nguyên tắc, khi kiểm tra chứng
minh thư, đúng ra đầu tiên phải là xem con dấu này, để biết chứng minh thư có bị làm giả

hay không.
Lợi ích của chứng chỉ số: mã hóa- bảo mật; Chống giả mạo; xác thực, chống chối cãi
nguồn gốc
Mã hoá - Bảo mật:
Khi người gửi đã mã hoá thông tin bằng khoá công khai của bạn, chắc chắn chỉ có
bạn mới giải mã được thông tin để đọc. Trong quá trình truyền qua Internet, dù có đọc
được các gói tin đã mã hoá này, kẻ xấu cũng không thể biết được trong gói tin có thông
tin gì. Đây là một tính năng rất quan trọng, giúp người sử dụng hoàn toàn tin cậy về khả
năng bảo mật thông tin.
Chống giả mạo
Khi bạn gửi đi một thông tin, có thể là một dữ liệu hoặc một email, có sử dụng
chứng chỉ số, người nhận sẽ kiểm tra được thông tin của bạn có bị thay đổi hay không.
Bất kỳ một sự sửa đổi hay thay thế nội dung của thông điệp gốc đều sẽ bị phát hiện.
Xác thực
Khi bạn gửi một thông tin kèm chứng chỉ số, người nhận sẽ xác định rõ được danh
tính của bạn. Có nghĩa là dù không nhìn thấy bạn, nhưng qua hệ thống chứng chỉ số mà
bạn và người nhận cùng sử dụng, người nhận sẽ biết chắc chắn đó là bạn chứ không
phải là một người khác.


-

Chống chối cãi nguồn gốc
Khi sử dụng chứng chỉ số, bạn phải chịu trách nhiệm hoàn toàn về những thông tin
mà chứng chỉ số đi kèm. Trong trường hợp người gửi chối cãi, phủ nhận một thông tin
nào đó không phải do mình gửi (chẳng hạn một đơn đặt hàng qua mạng), chứng chỉ số
mà người nhận có được sẽ là bằng chứng khẳng định người gửi là tác giả của thông tin
đó. Trong trường hợp chối cãi, CA cung cấp chứng chỉ số cho hai bên sẽ chịu trách
nhiệm xác minh nguồn gốc thông tin, chứng tỏ nguồn gốc thông tin được gửi.




×