Các giao thức bắt tay

Một phần của tài liệu Dịh vụ sms banking, các vấn đề bảo mật và ứng dụng (Trang 64 - 68)

Trong giải pháp hiện đang đưa ra, các giao dịch được thực hiện thông qua bản tin duy nhất nhằm tiết kiệm chi phí cho người sử dụng và giảm thiểu việc sử dụng tài nguyên của hệ thống máy chủ. Do đó bảo mật sẽ được triển khai đối với từng giao dịch theo cách an toàn và tin cậy nhất thông qua các cơ chế xác thực.

64

Tuy giải pháp bỏ qua các giao thức bắt tay ban đầu nhưng chúng ta vẫn cần đưa ra các giao thức bắt tay để sẵn sàng triển khai khi cần phải xác thực thuê bao nghi ngờ Ngoài ra đây cũng có thể là một hướng cải tiến ứng dụng, . thực hiện bắt tay theo phiên giao dịch nếu khách hàng muốn thực hiện nhiều giao dịch một lúc và muốn giảm thiểu các thao tác nhập liệu. Giao thức handshake giữa ứng dụng di động và máy chủ ngân hàng sẽ dùng trộn lẫn hai giải thuật mã hóa đối xứng và bất đối xứng. Mã hóa bất đối xứng để lấy về khóa đối xứng theo phiên dùng cho mã hóa đối xứng phần nội dung .

Để giải thích giao thức, cần dùng các kí hiệu sau:

• BS: Máy chủ ngân hàng

• MC: Thiết bị di động của người dùng dịch vụ ngân hàng

• BPKpub: Khóa công khai của ngân hàng

• BPKpri : Khóa bí mật của ngân hàng

• RMC: Đáp ứng thách thức ngẫu nhiên tạo ra bởi phía thiết bị di động

• SK: Khóa đối xứng theo phiên dùng chung cho ngân hàng và người dùng

• SQ: Số thứ tự tạo ra bởi người dùng, bắt đầu từ 1

• Slt: là một chuỗi ngẫu nhiên dùng để làm rối mật khẩu, giá trị khởi tạo bới MC, dùng để BS và MC tạo ra khóa phiên SK

Giao thức bắt tay được định nghĩa như sau:

M1 : C − S : EBPKpub [AccID|| ||Slt SQ|| MCR ]

M2 : S − C : SK MC|| BS||SQ] where SQn > SQn − 1 + 1)E [R R ( M3 : C − S : SK MC|| MC||SQ] where SQn > SQn − 1 + 1)E [R R ( Giải thích:

65

Để khởi tạo kết nối, MC sẽ gửi số nhận dạng tài khoản và một số Salt tới BS.

Bản tin gửi đi được mã hóa bằng khóa công khai của ngân hàng. BS sẽ giải mã bản tin bằng khóa bí mật để nhận được số tài khoản và số Salt từ bản tin.

Sau đó BS sẽ lấy PIN của người dùng từ CSDL. Dữ liệu này lại được dùng để tạo ra khóa phiên SK và một kênh bảo mật đã được thiết lập. SK được tạo ra bằng hàm băm các số nhận dạng tài khoản, số Satl và PIN. Số thự tự dùng để bảo vệ chống lại tấn công replay. Mỗi lần một bản tin đến đích của nó thì số thứ tự này lại tăng lên. Bản tin sẽ bị hủy nếu phát hiện số này không hợp lệ.

Mục đích của số challenge ngẫu nhiên là để đảm bảo tính tức thời của xác thực. RMC dùng để đảm bảo một người dùng không thể tấn công giao thức bằng cách gửi đi nhiều lần các bản tin đã dùng trước đó của một giao thức hợp lệ khác.

Ngoài ra, còn có một giao thức bảo mật khác dùng trong thương mại di động.

Các khái niệm được dùng trong giao thức này gồm có:

• S: phía máy chủ của giao thức

• C: phía máy khách của giao thức

• EKS: khóa công khai của S. Tấc cả các C đều biết khóa này

• DKS: khóa bí mật của S

• PIN: mật khẩu của C, chỉ C biết và được S xác nhận. Mật khẩu thường có độ dài từ 8-16 kí tự

• Ra: số ngẫu nhiên do S sinh ra

• Rb1 và Rb2 : số ngẫu nhiên do C sinh ra

• SN: số thứ tự sinh bởi S khi chạy giao thức

• SK: khóa phiên đối xứng dùng chung cho S và C để bảo vệ các bản tin trong một phiên

66

Khi một người dùng di động muốn thực hiện một giao dịch thương mại thì cần phải gửi một yêu cầu xác thực về cho phía máy chủ. Giao thức được mô tả dưới đây giữa máy chủ và thiết bị di động dùng để tạo ra một khóa bí mật chung dùng cho các giao tiếp bảo mật tiếp theo trong phiên. Giao thức mô tả như sau:

M1 : C − S : I am C M2 : S − C : Ra

M3 : C − S : KS Ra,R , PIN ,EKS Ra,R , SKE [ b1 ] [ b2 ] M4 : S − C : SK SN,RE [ b2]

Trong bản tin M1, C sẽ khai báo để kết nối tới S. Trong M2, S sẽ gửi một đáp ứng thách thức Ra tới như là cách để đảm bảo tính tức thời của C. Trong M3, C sẽ gửi trả hai bản tin trả lời. Bản tin thứ nhất chứa mật khẩu bí mật PIN mà chỉ có C và S biết. PIN sẽ giúp S xác thực C bằng cách kiểm tra xem PIN có đúng hay không. Vì PIN cần được bảo mật nên bản tin này phải được mã hóa bằng khóa công khai EKS. Máy chủ S kiểm tra giá trị của Ra để đảm bảo bản tin không phải là bản tin gửi lại từ các bản tin giao thức trước đó. Vì Ra được truyền dạng trần trên đường truyền nên phải sinh ra thêm số nhận dạng Rb1

ngăn chặn các tấn công trực tiếp vào bản tin nhằm lấy số PIN. Trong bản tin thứ hai, khóa phiên được sinh ra bởi C. Sô nhận dạng Rb2 được gửi kèm cho phép C có thể chắc chắn ràng S biết khóa SK. Trong bản tin M4, bằng cách mã hóa Rb2 bằng SK, máy chủ chứng minh được rằng C biết khóa dùng chung. Các giao tiếp tiếp theo sẽ dùng khóa chung SK để thực hiện.

Trong cả hai giao thức trên có thể thấy rõ ràng là cái giá phải trả cho kết nối là rất lớn. Mỗi quá trình trao đổi khóa phải dùng tới 3 4 bản tin, điều - này gây tốn kém và rắc rối cho người dùng. Các giao thức này không dùng tới khái niệm khoảng thời gian timestamp để đảm bảo tính tức thời vì không

67

phải tất cảc các điện thoại đều có đồng hồ đồng bộ với đồng hồ máy chủ. Đây chính là xác thực theo thách thức-đáp ứng mà ta đã đề cập ở các phần trên. Để triển khai giao thức này, máy chủ cần phải có một bộ khóa dùng cho mã hóa bất đối xứng và phải quản lý các khóa này. Ngược lại, mỗi client muốn tham gia giao dịch với máy chủ đều phải được biết khóa công khai của ngân hàng.

Các giao thức bắt tay này cung cấp thêm một hàng rào bảo mật tuy nhiên chỉ phù hợp với các ứng dụng mà tương tác giữa client server được thực hiện dễ - dàng ví dụ như dịch vụ thông qua internet, cụ thể là internet banking mà không phù hợp để triển khai trong SMS banking.

Một phần của tài liệu Dịh vụ sms banking, các vấn đề bảo mật và ứng dụng (Trang 64 - 68)

Tải bản đầy đủ (PDF)

(105 trang)