Tải bản đầy đủ (.pdf) (74 trang)

Nghiên cứu vấn đề xác thực giao dịch ngân hàng trực tuyến sử dụng mật khẩu dạng OTP

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 (2.55 MB, 74 trang )

ĐẠI HỌC THÁI NGUYÊN
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LÊ THU HƯƠNG

NGHIÊN CỨU VẤN ĐỀ XÁC THỰC
GIAO DỊCH NGÂN HÀNG TRỰC TUYẾN SỬ DỤNG MẬT KHẨU DẠNG
OTP

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN, 2016


ĐẠI HỌC THÁI NGUYÊN
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LÊ THU HƯƠNG

NGHIÊN CỨU VẤN ĐỀ XÁC THỰC
GIAO DỊCH NGÂN HÀNG TRỰC TUYẾN SỬ DỤNG MẬT KHẨU DẠNG
OTP
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS. VŨ VINH QUANG

THÁI NGUYÊN, 2016



i

LỜI CAM ĐOAN

Sau quá trình học tập tại Trường Đại học công nghệ thông tin & truyền
thông, với những kiến thức lý thuyết và thực hành đã tích lũy được, với việc vận
dụng các kiến thức vào thực tế, em đã tự nghiên cứu các tài liệu, các công trình
nghiên cứu, đồng thời có sự phân tích, tổng hợp, đúc kết và phát triển để hoàn thành
luận văn thạc sĩ của mình.
Em xin cam đoan luận văn này là công trình do bản thân em tự tìm hiểu,
nghiên cứu và hoàn thành dưới sự hướng dẫn của thầy giáo TS. Vũ Vinh Quang.
Thái Nguyên, tháng 12 năm 2016
Học viên

Lê Thu Hương


ii

LỜI CẢM ƠN
Trong thời gian hai năm của chương trình đào tạo thạc sỹ, trong đó gần một
nửa thời gian dành cho các môn học, thời gian còn lại dành cho việc lựa chọn đề tài,
giáo viên hướng dẫn, tập trung vào nghiên cứu, viết, chỉnh sửa và hoàn thiện luận
văn. Với quỹ thời gian như vậy và với vị trí công việc đang phải đảm nhận, không
riêng bản thân em mà hầu hết các sinh viên cao học muốn hoàn thành tốt luận văn
của mình trước hết đều phải có sự sắp xếp thời gian hợp lý, có sự tập trung học tập
và nghiên cứu với tinh thần nghiêm túc, nỗ lực hết mình; tiếp đến cần có sự ủng hộ
về tinh thần, sự giúp đỡ về chuyên môn một trong những điều kiện không thể thiếu
quyết định đến việc thành công của luận văn.

Để hoàn thành được luận văn này trước tiên em xin gửi lời cảm ơn đến thầy
giáo hướng dẫn TS. Vũ Vinh Quang, người đã có những định hướng cho em về nội
dung và hướng phát triển của đề tài, người đã có những đóng góp quý báu cho em
về những vấn đề chuyên môn của luận văn, giúp em tháo gỡ kịp thời những vướng
mắc trong quá trình làm luận văn.
Em cũng xin cám ơn các thầy cô giáo Trường Đại học Công nghệ thông tin
và Truyền thông đã có những ý kiến đóng góp bổ sung cho đề tài luận văn của em.
Em xin hứa sẽ cố gắng hơn nữa, tự trau dồi bản thân, tích cực nâng cao năng
lực chuyên môn của mình để sau khi hoàn thành luận văn này sẽ có hướng tập trung
nghiên cứu sâu hơn, không ngừng hoàn thiện hơn nữa luận văn của mình để có
những ứng dụng thực tiễn cao trong thực tế.
Thái Nguyên, tháng 12 năm 2016
Học viên

Lê Thu Hương


iii

MỤC LỤC

LỜI CAM ĐOAN ........................................................................................................ i
LỜI CẢM ƠN .............................................................................................................ii
MỤC LỤC ................................................................................................................. iii
DANH MỤC CÁC CHỮ VIẾT TẮT ........................................................................ vi
DANH MỤC HÌNH VẼ ............................................................................................vii
MỞ ĐẦU .................................................................................................................... 1
Chương 1. MỘT SỐ KIẾN THỨC CƠ BẢN VỀ BẢO MẬT THÔNG TIN....... 3
1.1. Giới thiệu về an toàn và bảo mật thông tin .......................................................... 3
1.1.1. Các khái niệm cơ bản ........................................................................................ 3

1.1.2. Mục tiêu của an toàn bảo mật thông tin ............................................................ 3
1.1.3. Các chiến lược an toàn hệ thống ....................................................................... 4
1.1.4. An toàn thông tin bằng mật mã ......................................................................... 5
1.2. Một số hệ mã hóa thông dụng .............................................................................. 8
1.2.1. Hệ mã RSA ....................................................................................................... 8
1.2.2. Hệ mã Rabin ...................................................................................................... 9
1.2.3. Hệ mã Elgamal ................................................................................................ 10
1.2.4. Hệ mã MHK (Merkle -Hellman Knapsack) .................................................... 11
1.2.5. Hệ mật mã Rabin ............................................................................................. 12
1.2.6. Hệ mật mã McEliece ...................................................................................... 13
1.3. Giới thiệu về mật khẩu ....................................................................................... 15
1.3.1. Định nghĩa ....................................................................................................... 15
1.3.2. Phương pháp xác thực ..................................................................................... 16
1.3.3. Độ an toàn ....................................................................................................... 17
Chương 2. MỘT SỐ KHÁI NIỆM VỀ OTP CÁC PHƯƠNG PHÁP ................ 26
2.1. Giới thiệu về OTP ............................................................................................. 26
2.1.1. Định nghĩa về OTP.......................................................................................... 26
2.1.2. Ưu điểm ........................................................................................................... 26
2.1.3. Nhược điểm ..................................................................................................... 27
2.2. Ứng dụng của OTP ............................................................................................ 27
2.2.1. Ứng dụng trong xác thực................................................................................. 27
2.2.2. Ứng dụng trong đăng nhập .............................................................................. 28


iv

2.3. Giới thiệu về hàm băm mật mã, các thuật toán ................................................. 29
2.3.1. Giới thiệu......................................................................................................... 29
2.3.2. Cấu trúc, vai trò của hàm băm mật mã ........................................................... 29
2.3.3. Một số hàm băm mật mã thông dụng .............................................................. 36

2.3.4. Các ứng dụng cơ bản của hàm băm ............................................................... 37
2.4. Một số phương pháp sinh OTP .......................................................................... 41
2.4.1. Phương pháp sinh theo thời gian ..................................................................... 41
2.4.2. Phương pháp sinh theo thuật toán ................................................................... 42
2.4.3. Phương pháp sinh theo giải pháp S/KEY ....................................................... 44
2.4.4. Phương pháp sinh sử dụng HOTP................................................................... 44
2.4.5. Phương pháp sinh sử dụng Security token ...................................................... 44
2.4.6. Phương pháp sinh bằng giao thức ................................................................... 44
2.5. Các phương pháp chuyển giao OTP .................................................................. 45
2.5.1. Chuyển giao OTP bằng giấy ........................................................................... 45
2.5.2. Chuyển giao OTP bằng tin nhắn SMS ............................................................ 46
2.5.3. Tạo OTP sử dụng token .................................................................................. 47
2.5.4. Tạo OTP sử dụng điện thoại di động .............................................................. 49
2.5.5. Chuyển giao OTP sử dụng gmail .................................................................... 51
Chương 3. XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG XÁC THỰC SỬ
DỤNG OTP TRONG GIAO DỊCH NGÂN HÀNG TRỰC TUYẾN ................. 53
3.1 Đặt vấn đề ........................................................................................................... 53
3.2 Mô hình sử dụng giao dịch trực tuyến của ngân hàng Eximbank ....................... 54
3.2.1. Giới thiệu Mobile OTP ................................................................................... 55
3.2.1. Hướng dẫn sử dụng Mobile OTP .................................................................... 56
3.3. Kết quả xây dựng mô hình thực nghiệm ............................................................ 56
3.4. Cài đặt ................................................................................................................ 56
3.5. Kết chương ......................................................................................................... 56
KẾT LUẬN .............................................................................................................. 57
TÀI LIỆU THAM KHẢO ...................................................................................... 58
PHỤ LỤC ................................................................................................................. 59


v


DANH MỤC CÁC CHỮ VIẾT TẮT

OTP

One Time Password

DES

Data Encrypt Standar

RSA

R.Rivest A.Shamir L.Adleman

MHK

Merkle -Hellman Knapsack

SHA

Secure Hash Algorithm


vi

DANH MỤC HÌNH VẼ
Hình 1:
Hình 2:

Mã hoá với khoá mã và khoá giải giống nhau...................................... 6

Minh họa xác thực mật khẩu .............................................................. 15

Hình 3:

Minh họa đăng nhập một lần .............................................................. 16

Hình 4:
Hình 5:

Mô hình đăng nhập duy nhất SSO ...................................................... 26
Cơ chế hoạt động của openSSO ......................................................... 30

Hình 6:
Hình 7:

Người dùng truy cập vào ứng dụng khi ................................................ 32
Người dùng truy cập ứng dụng mà chưa ............................................ 32

Hình 8:
Hình 9:
Hình 10:

Sơ đồ phân loại hàm băm ................................................................... 34
Cấu trúc tổng quát của hàm băm ........................................................ 35
Mô hình sinh mã OTP theo thời gian ................................................. 39

Hình 11:
Hình 12:
Hình 13:


Thiết bị sinh OTP - OTP Token ......................................................... 40
Ứng dụng Mobile OTP - IOS ............................................................. 40
Ứng dụng Mobile OTP - Window Phone 8. ....................................... 42

Hình 14:
Hình 15:
Hình 16:
Hình 17:

Mô hình xác thực người dùng dựa trên giao thức ................................. 44
Thẻ mật khẩu OTP với mật khẩu in sẵn của VinaGame .................... 45
Chuyển giao OTP bằng tin nhắn SMS ............................................... 46
Minh họa thẻ EMV ............................................................................. 48

Hình 18:
Hình 19:
Hình 20:
Hình 21:

Minh họa thiết bị E-Token ................................................................. 49
Mô hình kết nối SSL VPN đến Vigor2950 có điện thoại ................... 49
Cài đặt phần mềm sinh OTP trên iPhone với Vigor2950 ................... 51
Mô hình nhận OTP qua gmail ............................................................ 53

Hình 22:
Hình 23:
Hình 24:
Hình 25:
Hình 26:
Hình 27:

Hình 28:
Hình 29:

Hướng dẫn cài đặt ứng dụng Mobile OTP ......................................... 54
Hướng dẫn đăng nhập và kích hoạt dịch vụ ....................................... 54
Hướng dẫn sử dụng Mobile OTP để xác thực giao dịch .................... 55
Hướng dẫn chức năng đồng bộ OTP .................................................. 55
Hướng dẫn cấp lại mật khẩu ............................................................... 56
Hướng dẫn đổi mật khẩu .................................................................... 56
Người dùng đăng nhập vào hệ thống.................................................. 56
Người dùng nhập thông tin chuyển khoản ......................................... 56

Hình 30:
Hình 31:
Hình 32:

Người dùng chấp nhận chuyển khoản ................................................ 56
Người dùng chuyển khoản thành công ............................................... 56
Mô tả lịch sử giao dịch ....................................................................... 56


1

MỞ ĐẦU
Trong kĩ thuật bảo mật thông tin, mật khẩu (password) được sử dụng rộng rãi
trong quá trình đăng nhập (log-on) để xác thực người dùng khi truy nhập vào các hệ
thống máy tính và mạng, các phần mềm ứng dụng trên máy tính cá nhân, máy chủ
công ty và cả website của các tổ chức tài chính, ngân hàng. Phương pháp phổ thông
thường hay dùng nhất để xác thực người dùng chỉ là mật khẩu (tên đăng nhập
username - password). Tuy nhiên, hầu hết các chuyên gia bảo mật đều đánh giá là

việc sử dụng password không còn an toàn trước các thủ đoạn tấn công tinh vi hiện
nay. Mật khẩu có thể bị nghe lén, bị đánh cắp, hoặc bị phá mã. Một trong những
hướng nghiên cứu để tăng cường độ an toàn của hệ thống là mật khẩu sử dụng một
lần OTP (One Time Password). Đây là phương pháp được giới thiệu để tăng cường
độ an toàn trong quá trình xác thực người dùng, xác thực các giao dịch, đặc biệt là
các giao dịch thanh toán trực tuyến trong các hệ thống ngân hàng đang được sử
dụng phổ biến hiện nay.
Đề tài "Nghiên cứu vấn đề xác thực giao dịch ngân hàng trực tuyến sử dụng
mật khẩu dạng OTP" được lựa chọn với mục đích nghiên cứu sâu về mật khẩu sử
dụng một lần, các phương pháp sinh và tạo mật khẩu sử dụng một lần và ứng dụng
trong việc xác thực các giao dịch ngân hàng, cài đặt thử nghiệm ứng dụng mật khẩu
sử dụng một lần để nâng cao an toàn cho xác thực các giao dịch ngân hàng trực
tuyến. Mục đích của luận văn
Tìm hiểu nghiên cứu sâu về mật khẩu sử dụng một lần, các phương pháp
sinh và tạo mật khẩu sử dụng một lần và ứng dụng trong xác thực giao dịch ngân
hàng trực tuyến.
Đối tượng và phạm vi nghiên cứu
Luận văn tìm hiểu nghiên cứu về lý thuyết mật mã, các thuật toán mã hóa cơ
bản, lý thuyết về hàm băm và thuật toán mã hóa SHA-1, lý thuyết về OTP và vấn đề
xác thực các giao dịch ngân hàng trực tuyến. Xây dựng hệ thống xác thực các giao
dịch ngân hàng bằng mật khẩu sử dụng 1 lần OTP trên ngôn ngữ Java.
Cấu trúc của luận văn gồm có
Phần mở đầu: Nêu lý do chọn đề tài và hướng nghiên cứu chính
Chương 1: Các kiến thức cơ bản về lý thuyết bảo mật thông tin, một số thuật
toán mã hóa cơ bản, khái niệm về mật khẩu và ứng dụng.


2

Chương 2: Giới thiệu tổng quan về mật khẩu OTP, các ứng dụng cơ bản, các

phương pháp sinh mật khẩu OTP, các phương pháp chuyển giao
Chương 3: Xây dựng chương trình ứng dụng xác thực trong giao dịch trực
tuyến tại các ngân hàng Việt Nam dựa trên mật khẩu OTP


3

Chương 1
MỘT SỐ KIẾN THỨC CƠ BẢN
VỀ BẢO MẬT THÔNG TIN
Nội dung chính của chương 1 sẽ giới thiệu các khái niệm cơ bản về lý thuyết
an toàn và bảo mật thông tin thông qua các hệ mật mã và mật khẩu, các kiến thức cơ
bản này đã được tham khảo trong các tài liệu [1, 5, 6, 8].
1.1. Giới thiệu về an toàn và bảo mật thông tin
1.1.1 Các khái niệm cơ bản
Trong thời đại ngày nay, các phương thức truyền đạt thông tin ngày càng đa
dạng và phát triển. Với sự ra đời của máy tính và mạng máy tính, việc trao đổi
thông tin đã trở nên dễ dàng hơn, nhanh chóng hơn, đa dạng hơn. Nhưng kèm theo
đó là các nguy cơ xâm phạm thông tin cũng ngày càng tăng. Khi nhu cầu trao đổi
thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử - viễn thông và
công nghệ thông tin không ngừng được phát triển ứng dụng để nâng cao chất lượng
và lưu lượng truyền tin thì các quan niệm ý tưởng và biện pháp bảo vệ thông tin dữ
liệu cũng được đổi mới. Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, có liên
quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phương pháp được thực
hiện để bảo vệ an toàn thông tin dữ liệu. Các phương pháp bảo vệ an toàn thông tin
dữ liệu có thể được phân thành ba nhóm sau:
+ Bảo vệ an toàn thông tin bằng các biện pháp hành chính.
+ Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng).
+ Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm).
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường

khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xâm nhập
nhất đó là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế nhất
hiện nay trên mạng truyền tin và mạng máy tính là biện pháp thuật toán.
1.1.2. Mục tiêu của an toàn bảo mật thông tin
Một hệ thống an toàn thông tin cần đảm bảo các yếu tố sau đây:
+ Tính bí mật (Confjdentialy): Đảm bảo dữ liệu được truyền đi một cách an
toàn và không thể bị lộ thông tin. Chỉ những người được phép mới có khả năng đọc
được nội dung thông tin ban đầu.


4

+ Tính xác thực (Authentication): Giúp cho người nhận dữ liệu xác định
được chắc chắn dữ liệu mà họ nhận là dữ liệu gốc ban đầu. Người nhận có khả năng
kiểm tra nguồn gốc thông tin mà họ nhận được.
+ Tính toàn vẹn (Integrity): dữ liệu không bị thay đổi trong quá trình
truyền đi.
+ Tính không thể chối bỏ (Non-repudation): Người gửi hay người nhận
không thể chối bỏ sau khi đã gửi hoặc nhận thông tin.
1.1.3. Các chiến lược an toàn hệ thống
Để xây dựng một hệ thống an toàn thông tin, người ta thường sử dụng các
chiến lược sau:
+ Giới hạn quyền hạn tối thiểu (Last Privilege):
Đây là chiến lược cơ bản nhất theo nguyên tắc này bất kỳ một đối tượng nào
cũng chỉ có những quyền hạn nhất định đối với tài nguyên mạng, khi thâm nhập vào
mạng đối tượng đó chỉ được sử dụng một số tài nguyên nhất định.
+ Bảo vệ theo chiều sâu (Defence InDepth):
Xây dựng hệ thống bảo vệ theo chiều sau để đảm bảo nâng cao hệ số an toàn.
+ Nút thắt (Choke Point):
Tạo ra một “cửa khẩu” hẹp và chỉ cho phép thông tin đi vào hệ thống bằng

con đường duy nhất chính, từ đó xây dựng tổ chức một cơ cấu kiểm soát và điều
khiển thông tin đi qua cửa này.
+ Điểm nối yếu nhất (Weakest Link):
Cần phải gia cố các vị trí yếu điểm nhất của hệ thống. Thông thường chúng
ta chỉ quan tâm đến người tấn công trên mạng hơn là kẻ tiếp cận hệ thống, do đó an
toàn vật lý được coi là yếu điểm nhất trong hệ thống của chúng ta.
+ Tính toàn cục:
Các hệ thống an toàn đòi hỏi phải có tính toàn cục của các hệ thống cục bộ.
Nếu có thể bẻ gãy một cơ chế an toàn thì chúng có thể thành công bằng cách tấn
công hệ thống tự do của ai đó và sau đó tấn công hệ thống từ nội bộ bên trong.
- Tính đa dạng bảo vệ:
Cần phải sử dụng nhiều biện pháp bảo vệ khác nhau cho hệ thống khác nhau,
nếu không có người tấn công vào được một hệ thống thì chúng cũng dễ dàng tấn
công vào các hệ thống khác.


5

1.1.4. An toàn thông tin bằng mật mã
Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền
tin bí mật. Mật mã bao gồm: Lập mã và phá mã. Lập mã bao gồm hai quá trình: mã
hóa và giải mã.
Để bảo vệ thông tin trên đường truyền người ta thường biến đổi nó từ dạng
nhận thức được sang dạng không nhận thức được trước khi truyền đi trên mạng, quá
trình này được gọi là mã hoá thông tin (encryption), ở trạm nhận phải thực hiện quá
trình ngược lại, tức là biến đổi thông tin từ dạng không nhận thức được (dữ liệu đã
được mã hoá) về dạng nhận thức được (dạng gốc), quá trình này được gọi là giải
mã. Đây là một lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rãi trong
môi trường mạng.
 Vai trò của hệ mật mã

+ Che dấu nội dung của văn bản rõ (PlainText) để đảm bảo sao cho chỉ người
chủ hợp pháp của thông tin mới có quyền truy cập thông tin (Secrety), hay nói cách
khác là chống truy nhập không đúng quyền hạn.
+ Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ
thống đến người nhận hợp pháp là xác thực (Authenticity).
+ Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo,
mạo danh để gửi thông tin trên mạng.
Ưu điểm lớn nhất của bất kỳ hệ mật mã nào đó là có thể đánh giá được độ
phức tạp tính toán phải giải quyết bài toán để có thể lấy được thông tin của dữ liệu
đã được mã hoá. Tuy nhiên mỗi hệ mật mã có một số ưu và nhược điểm khác nhau,
nhưng nhờ đánh giá được độ phức tạp tính toán mà ta có thể áp dụng các thuật toán
mã hoá khác nhau cho từng ứng dụng cụ thể tuỳ theo độ yêu cầu về độ an toàn.
 Các thành phần của một hệ mật mã:
Một hệ mật mã là một bộ 5 (P,C,K,E,D) thoả mãn các điều kiện sau:
+ P: Là một tập hợp hữu hạn các bản rõ, nó được gọi là không gian bản rõ.
+ C: Là tập hữu hạn các bản mã, nó được gọi là không gian bản mã. Mỗi
phần tử của C có thể nhận được bằng cách áp dụng phép mã hoá Ek lên một phần tử
của P, với k  K
+ K: Là tập hữu hạn các khoá hay còn gọi là không gian khoá. Đối với mỗi phần
tử k của K được gọi là một khoá. Số lượng của không gian khoá phải đủ lớn để “kẻ
địch” không có đủ thời gian để thử mọi khoá có thể (phương pháp vét cạn). Đối với


6
mỗi k  K có một quy tắc mã ek: PC và một quy tắc giải mã tương ứng dk D. Mỗi
ek: P C và dk: CP là những hàm mà: Dk (ek(x))=x với mọi bản rõ x P.

Hình 1: Mã hoá với khoá mã và khoá giải giống nhau
 Tiêu chuẩn đánh giá hệ mật mã
Để đánh giá một hệ mật mã người ta thường đánh giá thông qua các tiêu chí sau:

+ Độ an toàn: Một hệ mật được đưa vào sử dụng điều đầu tiên phải có độ an
toàn cao. Ưu điểm của mật mã là có thể đánh giá được độ an toàn thông qua độ an
toàn tính toán mà không cần phải cài đặt. Một hệ mật được coi là an toàn nếu để phá
hệ mật mã này phải dùng n phép toán. Mà để giải quyết n phép toán cần thời gian
vô cùng lớn, không thể chấp nhận được. Một hệ mật mã được gọi là tốt thì nó cần
phải đảm bảo các tiêu chuẩn sau:
- Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của các khoá,
công khai thuật toán.
- Khi cho khoá công khai eK và bản rõ P thì chúng ta dễ dàng tính được
eK(P) = C. Ngược lại khi cho dK và bản mã C thì dễ dàng tính được dK(M)=P. Khi
không biết dK thì không có khả năng để tìm được M từ C, nghĩa là khi cho hàm f:
X Y thì việc tính y=f(x) với mọi x thuộc X là dễ còn việc tìm x khi biết y lại là
vấn đề khó và nó được gọi là hàm một chiều.
- Bản mã C không được có các đặc điểm gây chú ý, nghi ngờ.
+ Tốc độ mã và giải mã: Khi đánh giá hệ mật mã chúng ta phải chú ý đến tốc
độ mã và giải mã. Hệ mật tốt thì thời gian mã và giải mã nhanh.


7

+ Phân phối khóa: Một hệ mật mã phụ thuộc vào khóa, khóa này được
truyền công khai hay truyền khóa bí mật. Phân phối khóa bí mật thì chi phí sẽ cao
hơn so với các hệ mật có khóa công khai. Vì vậy đây cũng là một tiêu chí khi lựa
chọn hệ mật mã.
 Phân loại hệ mật mã
Có nhiều cách để phân loại hệ mật mã. Dựa vào cách truyền khóa có thể
phân các Hệ mật mã thành hai loại:
- Hệ mật mã đối xứng (hay còn gọi là mật mã khóa bí mật): là những hệ mật
mã dùng chung một khoá cả trong quá trình mã hoá dữ liệu và giải mã dữ liệu. Do
đó khoá phải được giữ bí mật tuyệt đối.

- Hệ mật mã bất đối xứng (hay còn gọi là mật mã khóa công khai) : Hay còn
gọi là hệ mật mã công khai, các hệ mật mã này dùng một khoá để mã hoá sau đó
dùng một khoá khác để giải mã, nghĩa là khoá để mã hoá và giải mã là khác nhau.
Các khoá này tạo nên từng cặp chuyển đổi ngược nhau và không có khoá nào có thể
suy được từ khoá kia. Khoá dùng để mã hoá có thể công khai nhưng khoá dùng để
giải mã phải giữ bí mật.
Ngoài ra nếu dựa vào thời gian đưa ra hệ mật mã ta còn có thể phân làm hai
loại: Mật mã cổ điển (là hệ mật mã ra đời trước năm 1970) và mật mã hiện đại (ra
đời sau năm 1970). Còn nếu dựa vào cách thức tiến hành mã thì hệ mật mã còn
được chia làm hai loại là mã dòng (tiến hành mã từng khối dữ liệu, mỗi khối lại dựa
vào các khóa khác nhau, các khóa này được sinh ra từ hàm sinh khóa, được gọi là
dòng khóa) và mã khối (tiến hành mã từng khối dữ liệu với khóa như nhau).
1.2 Một số hệ mã hóa thông dụng
1.2.1 Hệ mã RSA
Hệ mật mã RSA ra đời năm 1976 bởi các tác giả R.Rivets, A.Shamir, và
L.Adleman. Sơ đồ mã hoá RSA là sơ đồ mã hoá khối, đoạn tin được mã hoá từng khối
với mỗi khối có giá trị < n với n là số nguyên đủ lớn. RSA là hệ mã dựa vào bài toán
logarit rời rạc và bài toán phân tích một số nguyên thành tích các thừa số nguyên tố, là
hệ mã được sử dụng rộng rãi nhất. Nó cung cấp cả sự bí mật và chữ ký điện tử, và tính
bảo mật của nó là cơ sở cho độ khó trong vấn đề tìm thừa số nguyên tố.
Thuật toán
Tạo khoá:
Mỗi thực thể tạo một khoá công khai và một khoá riêng tương ứng.
Thực thể A cần làm công việc sau:


8

1. Tạo 2 số nguyên tố lớn p và q bất kỳ có cỡ xấp xỉ nhau.
2. Tính n = p×q và Ф(n)= (p-1)(q-1).

3. Chọn 1 số nguyên e, 14. Sử dụng thuật toán Euclid mở rộng để tính d, 1(mod Ф(n))
5. Khoá công khai của A là (n, e), khoá riêng của A là d.
Mã hoá: B mã hoá một văn bản gửi cho A.
1. Nhận được khoá xác thực công khai của A là (n, e).
2. Trình bày văn bản như một số nguyên m thuộc [0, n-1].
3. Tính c = me mod n.
4. Gửi bản mã c cho A.
Giải mã: Để khôi phục bản rõ m từ bản mã c, A phải thực hiện công việc
sau: Sử dụng khoá riêng d để tính m = cd mod n.
Một số tính chất của hệ RSA
Trong các hệ mật mã RSA, một bản tin có thể được mã hoá trong thời gian
tuyến tính. Đối với các bản tin dài, độ dài của các số được dùng cho các khoá có thể
được coi như là hằng. Tương tự như vậy, nâng một số lên luỹ thừa được thực hiện
trong thời gian hằng, các số không được phép dài hơn một độ dài hằng. Thực ra
tham số này che dấu nhiều chi tiết cài đặt có liên quan đến việc tính toán với các
con số dài, chi phí của các phép toán thực sự là một yếu tố ngăn cản sự phổ biến
ứng dụng của phương pháp này. Phần quan trọng nhất của việc tính toán có liên
quan đến việc mã hoá bản tin. Nhưng chắc chắn là sẽ không có hệ mã hoá nào hết
nếu không tính ra được các khoá của chúng là các số lớn. Các khoá cho hệ mã hoá
RSA có thể được tạo ra mà không phải tính toán quá nhiều.
Mỗi số nguyên tố lớn có thể được phát sinh bằng cách đầu tiên tạo ra một số
ngẫu nhiên lớn, sau đó kiểm tra các số kế tiếp cho tới khi tìm được một số nguyên
tố. Các bước tính p dựa vào thuật toán Euclid.
Độ an toàn của thuật toán RSA dựa trên cơ sở những khó khăn của việc xác
định các thừa số nguyên tố của một số lớn.
1.2.2 Hệ mã Rabin
Đây là hệ mật có độ an toàn cao về mặt tính toán chống lại được cách tấn
công bản rõ.

Thuật toán


9

Tạo khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương
ứng. Mỗi thực thể A cần thực hiện các công việc sau:
1. Tạo hai số nguyên tố lớn p và q có cỡ xấp xỉ nhau.
2. Tính n=p×q.
3. Khoá công khai của A là n, khoá riêng của A là (p,q).
Mã hoá: B mã hoá văn bản m gửi cho A.
1. Nhận được khoá công khai xác thực của A là n.
2. Biểu diễn đoạn văn bản là một số nguyên trong miền: {0, 1, . . , n-1}
3. Tính c = m2 mod n.
4. Gửi bản mã c cho A.
Giải mã: Khôi phục bản rõ m từ c, cần phải dùng thuật toán tìm căn bậc hai
theo modulo n từ số nguyên tố p và q đã cho để tính ra 4 căn bậc hai m1, m2, m3 và
m4 của c theo modulo n. Khi đó văn bản đã gửi là một trong các giá trị m1, m2, m3
hoặc m4. A bằng cách này hay cách khác quyết định đâu là m.
Tính bảo mật
Do việc phân tích n thành thừa số là rất khó nên lược đồ mã khoá công khai
Rabin là minh chứng bảo đảm chống lại sự tấn công của đối phương. Tuy nhiên, lược
đồ mã khoá công khai Rabin không chống lại được sự tấn công bản mã chọn trước.
Mặt hạn chế của lược đồ mã khoá công khai Rabin là người nhận phải lựa chọn chính
xác bản rõ từ 4 khả năng. Sự nhập nhằng trong giải mã có thể dễ dàng khắc phục trong
thực tế bằng cách thêm phần mở rộng vào bản rõ trước khi mã hoá. Khi đó, với xác
suất cao, chính xác một trong bốn căn bậc 2: m1, m2, m3, m4 của bản mã c sẽ có phần
mở rộng này, và người nhận sẽ chọn đó là bản rõ mong đợi. Nếu không có căn bậc 2
nào của c có phần mở rộng này thì người nhận từ chối. Nếu phần mở rộng được sử
dụng như đã nói ở trên, lược đồ Rabin không dễ bị tấn công bằng bản mã chọn trước.

1.2.3 Hệ mã Elgamal
Hệ mã Elgamal xây dựng dựa trên bài toán logarit rời rạc là bài toán được
dùng nhiều trong thủ tục mật mã.
Thuật toán
Tạo khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương ứng.
1. Tạo một số nguyên tố p và phần tử sinh   nhóm nhân Z*P .
2. Chọn một số nguyên a, 1  a  p-2, và tính  a mod p.
3. Khoá công khai của A là (p,  ,  a ); khoá riêng là a.


10

Mã hoá: B mã hoá văn bản m gửi cho A.
a
1. Thu được khoá công khai của A (p,  ,  ).

2. Biểu diễn văn bản như một số nguyên m trong {0, 1,..,p-1}.
3. Chọn ngẫu nhiên một số nguyên k, 1  k  p-2.
a k
k
4. Tính    mod p và   m  (  ) mod p.

5. Gửi bản mã c = (  , ) cho A.
Giải mã: Khôi phục bản rõ m từ c bằng việc tính (   1 )   mod p.
Chú ý: Một bất lợi của mã hoá Elgamal là sự mở rộng của văn bản, bản mã
có thể dài gấp 2 lần so với bản rõ. Mã hoá Elgamal là một trong những lược đồ mã
hoá sử dụng sự ngẫu nhiên trong tiến trình mã hoá. Những nguyên tắc cơ bản đằng
sau kỹ thuật mã hoá ngẫu nhiên là sử dụng tính ngẫu nhiên để tăng thêm sự bảo mật
bằng mật mã của tiến trình mã hoá theo một trong các phương thức sau:
1. Tăng dần khoảng trống trong bản rõ một cách phù hợp.

2. Ngăn ngừa hoặc làm suy giảm sự có hiệu lực của sự tấn công bản rõ chọn
trước thông qua ánh xạ một - nhiều từ bản rõ đến bản mã.
Tính bảo mật
Vấn đề bẻ khoá lược đồ mã hoá Elgamal, khôi phục m từ p,  ,  ,  , và 
tương đương với giải quyết vấn đề Diff-Hellman. Trên thực tế, lược đồ mã hoá
a

Elgamal được xem như sự thay đổi khoá Diff-Hellman để quyết định khoá  , và
việc mã hoá văn bản bằng tính nhân với khoá đó. Vì lý do này, tính bảo mật của
lược đồ mã hoá Elgamal được gọi là cơ sở trong vấn đề logarithm rời rạc trong Z *P
ak

1.2.4 Hệ mã MHK (Merkle -Hellman Knapsack)
Sơ đồ mã khoá công khai ba lô dựa trên cơ sở của bài toán tập con, quan
điểm cơ bản là chọn một trường hợp của bài toán tổng con mà dễ dàng tìm lời giải,
sau đó che giấu nó như một trường hợp của bài toán tổng con tổng quát khó có hy
vọng giải được. Khoá được thiết lập ban đầu có thể dùng như khoá riêng, còn khoá
được thiết lập sau khi biến đổi là khoá công khai. Sơ đồ mã hoá MHK che giấu lời
giải bằng phép nhân theo modulo và phép hoán vị.
Định nghĩa một dãy siêu tăng là một dãy các số nguyên dương (b1,b2, ..., bn)
i 1

thoả mãn tính chất

bi   b j
j 1

với mỗi i, 2  i  n.



11

Thuật toán
Tạo khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương
ứng. Một số nguyên n được cố định như một tham số hệ thống phổ biến.
1. Chọn một dãy siêu tăng (b1, b2, ..., bn) và modulo M sao cho
M > b1 + b2 + ... + bn.
2. Chọn số nguyên ngẫu nhiên W 1  W  M-1 sao cho UCLN(W, M) = 1.
3. Chọn một phép hoán vị ngẫu nhiên  của n số nguyên {1,2,...,n}.
4. Tính ai = Wb  (i) mod M với i = 1, 2, ..., n.

5. Khoá công khai là (a1, a2, ..., an), khoá riêng là (  , M, W, (b1,b2, ..., bn)).
Mã hoá: B mã hoá văn bản m gửi cho A.
1. Thu được khoá công khai (a1, a2, ..., an) của A.
2. Biểu diễn văn bản m như một chuỗi nhị phân có độ dài n, m=m1m2...mn.
3. Tính số nguyên c = m1a1 + m2a2 + ... + mnan.
4. Gửi bản mã c cho A.
Giải mã: Để khôi phục bản rõ m từ c, cần thực hiện các công việc sau:
1. Tính d = W-1c mod M.
2. Sử dụng thuật toán tìm lời giải bài toán tổng dãy siêu tăng để tìm các số
nguyên r1,r2,...,rn,ri{0,1}, sao cho d=r1b1+r2b2+ ... +rnbn.
3. Các bit văn bản m là mi = r  (i), i = 1, 2, ..., n.
Tính bảo mật
Lược đồ mã hoá MHK có thể bị bẻ khoá bởi thuật toán thời gian đa thức.
Trong cách thiết lập khoá công khai, thuật toán này tìm một cặp số nguyên U’, M’
sao cho U’/M’ là tỉ lệ với U/M (W và M là một phần khoá riêng, và U=W-1 mod M)
và sao cho các số nguyên b’i = U’ai mod M, 1  i  n từ dãy siêu tăng. Dãy này có
thể được một đối thủ sử dụng thay thế vào dãy (b1, b2, ..., bn) để giải mã văn bản.
1.2.5 Hệ mật mã Rabin
Đây là hệ mật mã dựa trên độ phức tạp của việc tính căn bậc hai theo hợp số.

Đây là hệ mật mã có độ an toàn về mặc tính toán chống lại được tấn công bản rõ lựa
chọn và không có khả năng phân tích được n=pq. Thuật toán được ứng dụng rất
nhiều trong thực tế.
Quá trình tạo khóa:
Để tạo ra khóa A cần phải thực hiện các thao tác sau:
1. Chọn 2 số nguyên tố ngẫu nhiên p và q, thỏa mãn điều kiện sau: p  q .


12

2. Tính tích p và q: n  p  q .
3. Chọn số ngẫu nhiên b  Z n* .
4. Sử dụng cặp (n, b) làm cặp khóa công cộng và cặp (p, q) làm khóa mật.
Quá trình mã hóa:
Để gởi thông tin mật M  Z n* cho A, B cần tạo ra bảng mã c như sau:
c  M (M  b)(modn)

Quá trình giải mã:
Để giải mã bản mã c, A giải phương trình bậc hai sau:
M 2  bM  c  0(mod n)

Với MChúng ta chứng minh thuật toán này là một hệ mật, có nghĩa là quá trình giải
mã được thực hiện bởi A sẽ khôi phục lại bản rõ được mã hóa bới B.
Giải phương trình bậc 2, chúng ta có nghiệm chung dạng:
M

 b  c
(mod n) ,
2


ở đây c  b2  4c(mod n)
bởi vì c phụ thuộc vào phần tử M  Z n* , nên phương trình bậc hai:
M 2  bM  c  0(mod n) ,

Có nghiệm trong Z n* . Một trong các nghiệm của nó là số m, được gởi bởi
B. Từ đây dẫn đến  c phải là thặng dư bậc hai theo modulo n, hay là phần tử của
nhóm QRn.
1.2.6 Hệ mật mã McEliece
Hệ mật mã McEliece được đề xuất năm 1978, tác giả của nó là Robert
McEliece. Ý tưởng của bài toán này giống với ý tưởng của hệ mật mã MerkleHellman: Phép giải mã là trường hợp đặc biệt của bài toán NP đầy đủ.
Gọi C[n,k] là mã tuyến tính, t là số bít bị sai khi truyền bản mã qua kênh
nhiểu, các tham số này có liên quan với nhau bằng các hệ thức: n  2m , k  n  mt .
Để áp dụng trong thực tế hệ mật mã công khai McEliece đề nghị chọn 1024, t = 50.
Hệ mật mã McEliece hình thành như sau:
A và B muốn truyền tin mật cho nhau bằng hệ mật mã McEliece. Trước tiên
A phải hình thành khóa như sau:
Quá trình hình thành khóa:


13

1. A chọn mã tuyến tính C[n, k] có thể sửa được t lỗi. Mã này phải có thuật
toán giải mã hiệu quả.
2. A tạo ra ma trận sinh G cấp k  n cho mã C.
3. Chọn S là ma trận khả nghịch cấp k  k .
4. Chọn tiếp ma trận hoán vị P cấp n  n .
5. Tính ma trận G’ cấp k  n : G’=SGP.
6. A công khai khóa công cộng (G’, t) và giử kín khóa mật (G, P, S).
Quá trình mã hóa:

B muốn gởi thông tin mật m cho A, B sử dụng khóa công cộng (G’,t) và tiến
hành mã hóa theo các bước sau:
1. Mã hóa bản tin x ở dạng nhị phân chiều dài k.
2. Tính véc tơ c’=xG’.
3. Tạo ra một véc tơ ngẫu nhiên e, có trọng số t và chiều dài n.
4. Hình thành bản mã: y=c’+e.
Quá trình giải mã:
1. Tính ma trận khả nghịch của P là P-1.
1

2. Tính y'  y.P .
3. Sử dụng thuật toán giải mã code C để giải mã y’ thành y”.
1

4. Tính toán bản rõ: x= y" S
Chúng ta tìm hiểu rõ hơn về phần giải mã, chúng ta có:
y'  y.P1 =(c’+e)P-1=(xSGP+e)P-1=xSG+e’

Ở đây e’ là véc tơ có trọng số là t. A dùng thuật toán giải mã của mình để véc
cạn các gía trị có thể của e’ và từ đó tìm xSG và từ đây chúng ta tính x dễ dàng bằng
cách nhân với ma trận nghịch đảo.
1.3 Giới thiệu về mật khẩu
1.3.1 Định nghĩa
Hiện nay, đăng nhập (log-on) là một khâu quan trọng trong đảm bảo an toàn
cho hệ thống máy tính và mạng. Thông thường, người dùng phải cung cấp một tên
truy nhập (username) và mật khẩu (password) kèm theo để đăng nhập vào hệ thống.
Tên truy nhập là một tên do người dùng lựa chọn theo quy ước hệ thống đặt ra và
phải duy nhất trong một hệ thống. Trong khi tên truy nhập thường không cần giữ bí
mật thì mật khẩu luôn cần giữ bí mật - chỉ người dùng biết mật khẩu của mình.
Vậy mật khẩu là gì?



14

Mật khẩu là một hay nhiều từ mà người dùng phải biết để được cấp quyền
truy cập, là một dạng thông tin đặc biệt như chuỗi các ký tự, hình ảnh, dấu vân
tay… dùng để xác thực, chứng minh tính chính xác một người khi đăng nhập vào
một hệ thống, một dịch vụ hay một ứng dụng nào đó.
1.3.2 Phương pháp xác thực
Để đảm bảo an toàn, mật khẩu cần được giữ bí mật và chỉ bản thân người
dùng mới biết. Mật khẩu thường được sử dụng trong một thời gian dài và trao đổi
thường xuyên giữa máy khách (client) của người sử dụng với máy chủ (server).
Sau khi người dùng gõ mật khẩu của mình, bên phía client sẽ xác thực mật
khẩu với server. Nếu mật khẩu đúng server sẽ xác nhận và cấp quyền truy nhập
tương ứng cho client và qua đó tới người dùng.

Hình 2: Minh họa xác thực mật khẩu.
2.1.3. Độ an toàn
Do mật khẩu thường được gửi từ client đến server dưới dạng rõ (plaintext)
nên nó dễ dàng bị đánh cắp, lạm dụng và có thể gây thiệt hại cho người dùng và đe
dọa đến an toàn của hệ thống. Các chương trình mã độc như "Trojan horse" và "key
logger" thường được người tấn công dùng cho mục đích này. Thông thường, để dò
tìm mật khẩu, các người tấn công thường sử dụng cách thức tấn công vét cạn
(Brute-force), là cách thức sử dụng các công cụ để tự động thử nghiệm lần lượt các
chuỗi ký tự cho đến khi tìm ra mật khẩu đúng. Do vậy, nếu sử dụng các mật khẩu
quá đơn giản hay quá ngắn, việc sử dụng phương pháp tấn công dựa trên từ điển
hoặc vét cạn có thể giúp người tấn công dễ dàng dò ra mật khẩu của người dùng mà
không mất quá nhiều thời gian.
Trên thực tế, một mật khẩu an toàn cần thỏa mãn các yêu cầu sau:
 Độ dài của mật khẩu phải từ 8 ký tự trở lên. Khi độ dài mật khẩu đủ lớn,

khả năng bị đoán hoặc tấn công vét cạn giảm đi;


15
 Mật khẩu không nên chứa các từ đơn giản, dễ đoán, như tên người thân,
tên con vật yêu thích, hoặc ngày tháng năm sinh. Các mật khẩu như vậy thường dễ
dàng bị dò tìm thông qua tấn công dựa trên từ điển;
 Mật khẩu phải là tổ hợp của các chữ cái in hoa, in thường, chữ số và ký
tự đặc biệt (như các ký tự $ #,...). Khi số loại ký tự được sử dụng tăng lên, số tổ
hợp mật khẩu có thể có trở lên rất lớn làm cho việc thực hiện tấn công vét cạn
không khả thi.
Kết luận
Trong chương 1, luận văn đã trình bày một số kiến thức cơ bản về an toàn và
bảo mật thông tin, một số thuật toán mã hóa, khái niệm về mật khaur cvà ứng dụng
trong bảo mật thông tin. Các kiến thức này làm cơ sở để luận văn nghiên cứu về các
nội dung quan trọng trong chương 2 và chương 3.


16

Chương 2
MỘT SỐ KHÁI NIỆM VỀ OTP
CÁC PHƯƠNG PHÁP XÁC LẬP
Nội dung chính của chương 2 tập chung giới thiệu về mật khẩu OTP, các
phương pháp xác lập và các ứng dụng của OTP. Đây chính là trọng tâm của luận
văn. Các kiến thức cơ bản trong chương 2 được tham khảo trong các tài liệu [2, 3, 4,
7]
2.1. Giới thiệu về OTP
2.1.1. Định nghĩa OTP
Mật khẩu sử dụng một lần hay còn gọi là OTP (One time password), là

mật khẩu chỉ được sử dụng một lần hoặc chỉ có giá trị trong một phiên làm việc.
OTP có thể được sử dụng một lần trong xác thực người dùng cho một phiên làm
việc hoặc xác thực một giao dịch của người dùng. OTP thường được sử dụng trong
các giao dịch điện tử hoặc các hệ thống xác thực có độ bảo mật cao.
Xuất hiện từ đầu thế kỉ 20 và còn có tên gọi khác là Vernam Cipher, OTP
được mệnh danh là cái chén thánh của ngành mã hóa dữ liệu. OTP là thuật toán duy
nhất chứng minh được về lý thuyết là không thể phá được ngay cả với tài nguyên vô
tận (tức là có thể chống lại kiểu tấn công brute-force). Để có thể đạt được mức độ
bảo mật của OTP, tất cả những điều kiện sau phải được thỏa mãn:
- Độ dài của chìa khóa phải đúng bằng độ dài văn bản cần mã hóa.
- Chìa khóa chỉ được dùng một lần.
- Chìa khóa phải là một số thực sự ngẫu nhiên.
2.1.2. Ưu điểm
OTP có nhiều ưu điểm so với mật khẩu truyền thống. Cụ thể:
+ An toàn: Giải quyết tốt các vấn đề giả mạo, đánh cắp, Key logger. Đối với
phương pháp xác thực hai yếu tố, OTP có thể được kết hợp sử dụng với một mã
PIN hoặc mật khẩu thông thường.
+ Dễ dàng sử dụng: Việc nhận dạng và xác thực được thực hiện trong vài
giây, tránh được nguy cơ bị lỗi khi gõ các mã OTP dài qua các mã từ một thiết bị
chứng thực vào một máy tính (Ví dụ OTP Token sử dụng màn hình hiển thị). Nó
hoạt động với tài nguyên và đăng nhập được trên hầu hết các nền tảng máy tính và
trình duyệt không cần cài đặt phần mềm Client chuyên dụng.
+ Linh hoạt: Người dùng dễ dàng sử dụng cho các máy tính khác nhau và dễ
mang theo thiết bị sinh OTP bên mình.


17

+ Mã nguồn mở: Sẵn sàng tích hợp với nhiều ứng dụng mã nguồn mở.
Các giải pháp có thể ứng dụng OTP gồm: Web mail server, CRM (Hệ quản

lý khách hàng), ERP (Hoạch định nguồn lực doanh nghiệp), Hệ thống quản lý tài
liệu, Thương mại điện tử...
2.1.3. Nhược điểm
OTP sẽ mất an toàn khi chủ tài khoản bị mất thiết bị sinh OTP (OTP Token)
hay người khác có thể xâm nhập vào hệ thống gửi/nhận tin nhắn SMS để biết được
OTP mỗi khi khách hàng thực hiện giao dịch. Ngoài ra, nếu như hệ thống mạng
viễn thông bị chậm, quá tải...hay vì lý do gì đó mà tin nhắn SMS gửi OTP đến chậm
thì giao dịch dựa vào OTP chuyển giao qua SMS sẽ không thực hiện được.
Hiện nay, do tiết kiệm chi phí đầu tư một số doanh nghiệp chỉ sử dụng hình
thức xác thực qua tên định danh người dùng (username) và mật khẩu dùng một lần
(OTP) chuyển giao đến người dùng qua tin nhắn SMS đến điện thoại di động. Tên
định danh người dùng dễ dàng bị lộ khi người dùng đăng nhập trên Internet, tham
gia các hoạt động trên mạng xã hội hoặc diễn đàn…Còn OTP sẽ mất an toàn khi
người dùng bị đánh cắp thẻ SIM điện thoại.
2.2. Ứng dụng của OTP
2.2.1. Ứng dụng trong xác thực
Hiện nay, mật khẩu sử dụng một lần thường được sử dụng khá phổ biến
trong lĩnh vực ngân hàng nhằm tăng tính bảo mật cho các giao dịch thanh toán như
chuyển khoản, chuyển tiền,…Thông thường có hai hình thức xác thực giao dịch mà
ngân hàng thường sử dụng, đó là:
+ Hệ thống sử dụng Token sinh OTP đồng bộ theo thời gian thực:
Hệ thống này sử dụng thời gian để đồng bộ việc sinh OTP giữa máy chủ và
một thiết bị phần cứng được gọi là OTP Token (mỗi cá nhân sử dụng hệ thống sẽ
được cấp một token cá nhân để sinh OTP theo thời gian thực).
+ Hệ thống không sử dụng Token:
Trong hệ thống này OTP được máy chủ sinh ra tự động cho mỗi phiên giao
dịch và được tồn tại trong một khoảng thời gian xác định và được chuyển tới người
sử dụng thông qua tin nhắn SMS, hay gửi qua Email, …
2.2.2. Ứng dụng trong đăng nhập
SSO (Single Sign On - SSO) còn được gọi là ESSO cho phép nhập cùng một

id/password để đăng nhập nhiều ứng dụng trong cùng một tổ chức (Enterprise). Ứng
dụng trong đăng nhập một lần dựa trên mật khẩu sử dụng một lần được xây dựng


×