CHƯƠNG II TÌM HIỂU MẬT MÃ ĐƯỜNG CONG ELLIPTIC
3.4. Giao thức xác thực của Choi và các cộng sự
3.4.2. Pha đăng nhập và xác thực
Pha này được thực hiện bất cứ khi nào U muốn đạt quyền truy cập vào WSN. Trong suốt pha này, U thiết lập một khóa phiên với Sn trong khi được xác thực bởi gateway GW. Pha này được tiến hành như sau (có thể xem hình 3.8):
Bước 1. U đẩy smart card của mình vào đầu đọc thẻ và nhập định danh
IDU, mật khẩu pwU. Tiếp theo, smart cart sẽ tính toán:
U
pw = h(pwU Å bU)
= h(IDU || pwU|| h(xÅy))
và kiểm tra xem BU có bằng không. Nếu không bằng, smart card sẽ hủy bỏ giao thức. Nếu bằng, nó sẽ lấy được tem thời hiện tại TU, chọn một số ngẫu nhiên rUÎ ∗ và tính:
KU = h(IDU || pwU)Å WU
X = rU ´ P
X’ = rU ´ KU
ω = h(IDU || h(IDSn|| h(xÅy)) || TU)
α = h(IDU || IDSn|| X || X’ || TU || ω)
Sau khi tính toán, smart card gửi tin nhắn M1 = á IDU, IDSn, X, TU, α, ω ñ tới sensor Sn.
Bước 2. Sau khi nhận được M1 từ U, sensor Sn lấy tem thời gian hiện tại T’ và xác minh tính tươi tem thời gian của U là TU bằng cách kiểm tra điều kiện:
T’ – TU ≤ ∆T
trong đó ∆T là sai khác thời gian lớn nhất được phép giữa TU và T’. Nếu TU là
không tươi, Sn bác bỏ yêu cầu của U và hủy bỏ giao thức. Ngược lại, Sn kiểm tra xem ω có bằng giá trị hàm hash h(IDU || h(IDSn || h(xÅy) || TU) không. Nếu không bằng, Sn hủy bỏ giao thức. Ngược lại, Sn sinh ra một số ngẫu nhiên rS Î
∗ , lấy tem thời gian TS và tính:
Y = rS ´ P
Hình 3.8. Pha đăng nhập và xác thực.
Bước 3. Sau khi nhận M2, GW lấy tem thời gian hiện tại T’’ và xác minh tính tươi của tem thời gian TS bằng cách kiểm tra xem T’’ - TS ≤ ∆T . Nếu TS không tươi, GW hủy bỏ giao thức. Ngược lại, GW tính X’ = h(IDU || x) ´ X và
kiểm tra xem α = h(IDU || IDSn|| X || X’ || TU || ω) và β có bằng h(SKGS || IDU|| X || TU || α || ω || IDSn || Y || TS) không. Nếu một trong các kiểm tra không thành công, GW sẽ hủy bỏ giao thức. Ngược lại, GW lấy tem thời gian TG và tính:
γ = h(SKGS || IDU|| X || TU || α || IDSn || Y || TS || TG)
δ = h(IDU|| X || X’ || TU || α || ω || IDSn || Y || TS)
Sau đó, GW gửi M3 = á TG, γ, δ ñ đến cho Sn.
Bước 4. Sau khi nhận được M3, Sn lấy tem thời gian T’’’ và kiểm tra xem T’’’ – TG ≤ ∆T và γ có bằng h(SKGS || IDU|| X || TU || α || IDSn || Y || TS || TG) không. Chỉ khi cả 2 kiểm tra đạt được, Sn lấy tem thời gian mới và tính:
KSU = rS ´ X
τ = h(Y || || δ || KSU)
Bước 5. Khi đã có M4, U lấy được tem thời gian T’’’’, tính KUS = rU ´ Y và kiểm tra xem
(1)T’’’’ – ≤ ∆T
(2)δ = h(IDU|| X || X’ || TU || α || ω || IDSn || Y || TS)
(3)τ = h(Y || || δ || KUS)
Nếu có bất kiểm tra nào không đúng, U hủy giao thức. Ngược lại tính:
sk = h(X || Y || KSU)