1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu mật khẩu dùng một lần và ứng dụng trong hệ thống phê duyệt tín dụng trực tuyến tại các ngân hàng

26 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Mật Khẩu Dùng Một Lần Và Ứng Dụng Trong Hệ Thống Phê Duyệt Tín Dụng Trực Tuyến Tại Các Ngân Hàng
Tác giả Truong Huu Cuong
Người hướng dẫn PGS.TSKH. Hoàng Đăng Hai
Trường học Học viện Công nghệ Bưu chính Viễn Thông
Chuyên ngành Hệ thống thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 5,45 MB

Nội dung

Tuy nhiên, các hệ thống phê duyệt tín dụng trực tuyến lại đang có rủi ro rấtlớn khi sử dụng mật khâu truyền thống dé xác thực người dùng.. Một hệ thống phê duyệt tín dụng trực tuyến được

Trang 1

HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

a.

TRUONG HUU CUONG

NGHIEN CUU MAT KHAU DUNG MOT LAN VA UNG DUNG

TRONG HE THONG PHE DUYET TIN DUNG TRUC TUYEN TAI

CAC NGAN HANG

Chuyén nganh: Hé thong thong tin

Mã số: 60.48.01.04

TOM TAT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2015

Trang 3

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG

Người hướng dẫn khoa học: PGS.TSKH HOÀNG ĐĂNG HAI

Phản biện 1:

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học việnCông nghệ Bưu chính Viễn Thông

Vào lúc: giờ ngày tháng năm

Có thé tìm hiểu luận văn tai:

- Thư viện của Học viện Công nghệ Bưu chính Viễn Thông

Trang 4

MỞ ĐẦU

Gần đây, các ngân hàng tại Việt Nam đã triển khai tự động hóa một phần hoặctoàn bộ quy trình phê duyệt tín dụng bằng hệ thống phê duyệt tín dụng trực tuyến.Theo đó, mỗi nhân viên khi tham gia quy trình phê duyệt tín dụng của ngân hàngđược cấp một tài khoản dé cập nhật (trình) hoặc phê duyệt hồ sơ tín dụng Hệ thong

sẽ tự động thực hiện các công đoạn như phân phối các tài liệu pháp lý tới các nhân

viên liên quan, phân công công việc cho các nhân viên liên quan, đối chiếu hoặc ghi

nhận số liệu trên các hệ thống khác Các hành động trên được thực hiện theo quy trình

đã được định nghĩa và nhập vào trong hệ thống Hệ thống này có tính năng tương tựhoặc có thé xây dựng trên nền tảng của một hệ thống quan lý quy trình kinh doanh

(Business Process Management - BPM).

Việc ứng dụng hệ thống phê duyệt tin dụng trực tuyến giúp các ngân hàng thựchiện quy trình tín dụng một cách nhanh chóng, chính xác và do đó vừa giảm thiểu rủi

ro vừa nâng cao hiệu quả kinh doanh Hệ thống phê duyệt tín dụng trực tuyến sẽ làmột hệ thống rất quan trọng trong mỗi ngân hàng khi được đưa vào sử dụng vì nókhông chỉ giúp ngân hàng hoạt động hiệu qua mà còn vì nhiều dit liệu mà nó xử lý

có giá trị rất lớn đối với ngân hàng

Tuy nhiên, các hệ thống phê duyệt tín dụng trực tuyến lại đang có rủi ro rấtlớn khi sử dụng mật khâu truyền thống dé xác thực người dùng Các nguyên nhân

như: mật khâu yếu có thể bị đoán, mật khâu có thê bị đánh cắp, thói quen của nhân

viên thường cho mượn tài khoản, tan công lặp lại khiến cho rủi ro trên rat dé xảy

ra Một khi mật khẩu của người phê duyệt bị lộ, tài khoản có thể bị kẻ xấu lợi dụng

dé chiếm đoạt tài san của ngân hang và/hoặc gây ra các sự cố mat uy tín của ngân

hàng với khách hàng Một hệ thống phê duyệt tín dụng trực tuyến được đầu tư đồng

bộ sẽ loại trừ được rủi ro trên nhưng chi phí đầu tư sẽ rất lớn khiến các ngân hàngvừa và nhỏ đang phải tạm dừng kế hoạch áp dụng vào thực tế

Xuất phát từ những vấn đề đã nêu, luận văn này thực hiện tìm hiểu về mật

khẩu sử dụng một lần (One Time Password — OTP) và dé xuat ung dung OTP vao hé

Trang 5

thống phê duyệt tín dụng trực tuyến nhằm tăng cường an toàn thông tin cho hệ thốngphê duyệt tín dụng trực tuyến.

Dé kết qua của luận văn có thé được ứng dụng rộng rãi trong thực tế, nội dungluận van tập trung tìm hiểu phương pháp bồ sung thêm bước yêu cầu người dùng phảixác nhận lại bằng OTP trước khi thực hiện các hoạt động phê duyệt hay cập nhật hồ

sơ Nội dung luận văn được chia thành ba chương chính như sau:

Chương 1: Nhằm thực hiện tìm hiểu về OTP, nội dung chương sẽ tổng hợplại các cơ sở lý thuyết co ban làm nguyên lý dé sinh, phân phối và sử dụng OTP Các

lý thuyết đó gồm:

e_ Lý thuyết cơ bản về hàm băm (hash function);

e Các thuật toán sinh OTP và các cách thức phân phối OTP phổ biến

Chương 2: Với nhiệm vụ mô ta lại chi tiết van đề đang ton tại trên hệ thốngphê duyệt tín dụng và làm rõ những yêu cầu cần giải quyết dé làm tiền dé cho việc

xây dựng các đề xuất trong chương 3, nội dung chương thực hiện:

e Tìm hiểu tổng quan về hệ thống phê duyệt tín dụng trực tuyến;

e©_ Khảo sát chi tiết việc sử dụng một phần mềm nguồn mở dé xây dựng hệ

thống phê duyệt tín dụng trực tuyến;

e Thực hiện đánh giá vấn đề xác thực người dùng của hệ thống phê duyệt tin

dụng trực tuyến

Chương 3: Dựa trên cơ sở lý thuyết đã trình bay tại chương 1 và các yêu cầuphải xử lý tại chương 2, nội dung chương 3 bao gồm:

e Duara đề xuất ứng dụng OTP trong hệ thống phê duyệt tín dụng trực tuyến

để giải quyết vấn đề xác thực người dùng Đề xuất sẽ bao gồm: (1) tổngquan giải pháp, (2) chi tiết các thành phan trong giải pháp;

e_ Tóm tắt kết qua thử nghiệm tích hợp giải pháp ké trên với hệ thống phê

duyệt tín dụng trực tuyến được xây dựng như mô tả tại chương 2 để vận

hành một quy trình phê duyệt tín dụng trong thực tế

Trang 6

CHUONG 1 CƠ SỞ LÝ THUYET

1.1 Cơ sở lý thuyết ham băm

1.1.1 Khái niệm

Hàm băm là hàm toán học chuyên đổi một thông điệp có độ dài bat kỳ thànhmột dãy bit có độ dài có định Day bit này được gọi là thông điệp rút gọn (message

digest) hay giá tri băm (hash value), đại diện cho thông điệp ban đầu.

Nói cách khác, ham băm H sẽ tao ra ánh xạ các xâu bit có độ dài hữu hạn tùy ý

thành các xâu bit có độ dài cố định [1]

Hình 1.1: Giới thiệu hàm bam [9]

Khi hai thông điệp x; và x2 khác nhau được băm nếu tạo ra cùng một giá tri

băm h(x) thì được gọi là xung đột.

1.1.2 Tinh chất cơ bản của hàm băm

Ngoài các tính chất cơ bản của hàm băm thì hàm băm mật mã (Cryptographichash function) còn có thêm các tính chất 4,5,6 như Bang 1.1

Bảng 1.1: Các tính chất của hàm băm mật mã

STT | Tính chất / yêu cầu Mô tả

1 Không cố định kích | Hàm H có thé dùng cho khối dữ liệu có kích

thước bản tin đầu vào — | thước bất kỳ

2 Cố định kích thước bản | Hàm H luôn cho tại đầu ra có kích thước cố định.

tin đầu ra.

Trang 7

3 Hiệu quả (dé tính toán) | Với H cho trước và một dau vào x có thé dé đàng

tính được H(x).

4 _ | Khó tính toán nghịch ảnh | Với giá trị băm bất kỳ, rất khó khăn dé tìm một

(một chiều) x dé H(x) = h

5 | Kháng xung đột yếu Với giá trị ban tin gốc x bất kỳ đã biết, rất khó

khăn dé tìm y # x sao cho H(x) = H(y).

6 Kháng xung đột mạnh Không có khả năng tính toán đề tìm ra bất cứ cặp

(khó va chạm) bản tín gốc bất ky (x, y) sao cho A(x) = H(y)

1.1.3 Phan loại ham bam

1.1.3.1 Ham băm có khóa

1.1.3.2 Hàm băm không khóa

1.1.4 Cấu trúc của hàm băm

1.L5 Một số hàm băm thông dụng

1.1.5.1 Thuật toán băm MDS (Message Digest Algorithm 5)

1.1.5.2 Thuật toàn băm an toàn (Secure hash algorithm — SHA)

1.1.6 Mã xác thực thông điệp (Message Authentication Code — MAC)

1.1.6.1 Giới thiệu

1.1.6.2 Thuật toán HMAC

1.2 Cơ sở lý thuyết OTP

1.2.1 Khái niệm OTP

OTP là một mật khẩu chỉ hợp lệ cho một phiên đăng nhập hoặc giao dịch trênmột hệ thống máy tính hoặc thiết bị kỹ thuật số [ 19]

Vì sau một lần sử dụng mật khẩu đã dùng tự động không còn hợp lệ cho các

lần đăng nhập sau nên OTP có các ưu điểm so với mật khâu truyền thống:

© OTP không bị ảnh hưởng bởi hình thức tan công phát lai (replay attack) vì

dù kẻ tan công có được mật khâu đã được dùng trong lần trước cũng không

có khả năng sử dụng lại cho cuộc tân công;

Trang 8

e Khắc phục được điểm yếu khi một người sử dụng duy nhất một mật khâu

cho đồng thời nhiều hệ thống vì dù kẻ tấn công có được mật khẩu trong lầnđăng nhập trước cũng không thê sử dụng đề đăng nhập vào các hệ thống

khác;

e Nhờ tat cả các lý do trên nên OTP có khả năng hạn chế được rủi ro khi phải

sử dụng hệ thống qua môi trường không tin cậy

Nhưng cũng vì những lý do trên nên OTP có nhược điểm là khiến người dùngkhó khăn dé ghi nhớ nên cần công nghệ dé hỗ trợ Điều này gây ít nhiều phiền hà cho

người sử dụng.

1.2.2 Ung dụng cia OTP

e OPT có thé được sử dụng dé thay thế hoàn toàn hoặc bồ sung cho mật khẩu

truyền thống

e Sử dụng OTP như yêu té thứ hai trong mô hình xác thực hai yêu tố

e Su dung dé xác nhận lại trước khi thực hiện các hành động quan trọng

12.3 Phân phối OTP

1.2.3.1 Sử dụng những mật khẩu OTP đã được in sẵn ra giấy hoặc tam

thẻ nhựa:

1.2.3.2 Sử dụng các thiết bị thẻ điện tử (eToken)

1.2.3.3 Sử dụng phần mềm chạy trên thiết bị của người dùng.

1.2.3.4 Gửi OTP qua kênh out-of-band tới người dùng (băng SMS hoặc

kênh thoại).

1.2.4 RFC 4226 và thuật toán sinh OTP dùng HMAC (HOTP)

Một số RFC liên quan đến việc sinh OTP hay yêu cầu của hệ thống OTP như:

e RFC 1760;

e RFC 2289;

e RFC 4226;

e RFC 6238.

Trang 9

Trong phạm vi luận văn nay tập trung trình bày về RFC 4226 (HOTP) dé hiểu

rõ về cơ chế sinh OTP và làm cơ sở đề xuất xây dựng công cụ ứng dụng trong thực

tế tại chương 2 và chương 3

Nội dung chính cua RFC 4226 mô tả thuật toán sinh OTP dựa trên việc sử

dụng HMAC Ngoài mô tả chỉ tiết về cách tạo ra một OTP an toàn bằng thuật toánHOTP, RFC 4226 cũng mô tả cách đề đồng bộ các tham số đầu vào của chương trìnhsinh OTP chạy trên thiết bị đầu cuối và máy chủ Bên cạnh đó còn cón các yêu cau,khuyến cáo về: Giao thức sử dụng dé xác thực; Kiểm tra tính hợp lệ của OTP; Đặtngưỡng phát hiện tấn công dò mật khẩu trên máy chủ; Đồng bộ biến đếm; Quản lýcác khóa bí mật Phần phụ lục của RFC 4226 cung cấp thêm các thông tin: Phân tích

về an toàn của thuật toán; Những cách tan công vào hàm băm SHA-1 đã được phát

hiện và ảnh hưởng đến tính an toàn của HOTP; Phục lục cũng cung cấp mã mộtchương trình mẫu sinh OTP dựa trên HOTP được viết bằng ngôn ngữ Java và các

mẫu kiểm thử;

1.2.4.1 Thuật toán HOTP

Thuật toán HOTP sử dụng HMAC-SHA-I để tạo ra các chuỗi giả ngẫu nhiênlàm OTP Do phía đầu ra của HMAC-SHA-I là 160 bit nên dé tao ra một OTP có

chiều dài phù hợp cho người sử dụng (ví dụ 6 đến 8 chữ số) HOTP sử dụng thêm một

thủ tục cắt bớt chuỗi dé được chuỗi OTP như yêu cầu Có thể mô tả thuật bang:

HOTP(K,C) = Truncate(HMAC-SHA I(K,C))

Trong đó:

e C:bién đếm 8-bytes, biến đếm này phải được đồng bộ giữa phía người dùng

(client) và thiết bị xác thực (server);

e K: mã bí mật được 2 bên (client va server) chia sẻ trước;

e Ngoài ra HOTP còn sử dụng thêm biến hệ thống Digit dé quyết định chiều

dài của một OTP gồm bao nhiêu chữ số (hệ thập phân)

Gọi HS = HMAC-SHA-1(K,C), khi này HS là muột chuỗi có độ dài 160 bit,

được chia thành 20 mảng (từ HS/0] đến HS[19]) mỗi mang 8 bit Ham Truncate có

thê mô tả gôm các thao tác sau:

Trang 10

e (1) Lay 4 bit thấp của HS[19J gan vào biến OffsetBits;

e_ (2) Chuyên định dạng OffsetBits sang thập phân va gan vào biến Offset (khi

này 0 < OffSet < 15);

e (3) Gan P bang giá trị của chuỗi được tạo thành từ HS/OffSet],

HS[OffSet+1], HS[OffSet+2] và HS[ OffSet+3];

e (4) Gan biến Sbit bằng chuỗi 31 bit cuối cùng của P;

e (5) Chuyên giá trị của P từ nhị phân sang thập phân và gan vào biến Snum

(khi này 0 S Snum < (2^31-])):

© (6) Chỉ lay lại chuỗi OTP có độ dài được quy định bang giá trị của biến

Digit bằng cách lây OTP = (Snum mod 10^Digit)

RFC 4226 mô tả các bước từ (1) đến (4) trong một hàm gọi là D7{HS) [ 7];

1.2.4.2 Ví dụ về hàm Truncate

1.2.4.3 Kiểm tra tính hợp lệ của OTP

Với tiêu chí thiết kế thuật toán sinh OTP của RFC 4226 là đơn giản, dé cài đặt

trên các thiết bị đầu cuối có khả năng tính toán giới hạn, màn hình và bàn phím hạn

chế chư eToken, điện thoại RFC 4226 yêu cầu các thiết bị đầu cuối tự sinh OTP bằngHOTP với thông tin đầu vào là khóa bí mật đã thỏa thuận với máy chủ xác thực vàbiến đếm sau đó gửi OTP này tới máy chủ xác thực

Theo cách này, thiết bi đầu cuối tự động tăng giá trị của biến đếm rồi tính toángiá trị của OTP cho lần sử dụng tiếp theo Khi người dùng gửi giá trị OTP này tớimáy chủ, máy chủ kiểm tra và nếu thấy khớp thì người dùng được xác thực Nếu giá

trị đó không khớp thì máy chủ sẽ cố gắng thực hiện thủ tục đồng bộ lại cho đến khikhớp hoặc đạt ngưỡng của việc đồng bộ (biến đếm đạt giá tri tối đa)

Trong trường hợp đạt ngưỡng, máy chủ sẽ khóa tạm thời tài khoản liên quan

và kích hoạt thủ tục thông báo cho người dùng về việc mất đồng bộ

1.2.4.4 Thủ tục đồng bộ lại

Tại máy chủ, giá trị biến đếm (C) chỉ tăng sau mỗi lần thực hiện xác thực OTP

thành công Còn tại máy thiết bị cuối, giá trị của C có thể tăng bất cứ khi nào (do

Trang 11

người dùng kích hoạt mà không sử dung ) Do đó, giá tri biến đếm C trên máy chủ

và thiết bị cuối có thé bị lệch tại một thời điểm nào đó

RFC 4226 khuyến nghị sử dụng tham số s (được gọi là look-ahead window)

dé định giá trị mỗi lần biến đếm tăng Bằng cách này, nếu so sánh thay OTP nhậnđược không khớp thì máy chủ sẽ tăng biến đếm C theo tham số s và kiểm tra lại xem

đã khớp với OTP của đầu cuối chưa

Giá trị tối đa của s được cài đặt đủ nhỏ dé tránh các tác động tiêu cực như bị

tan công từ chối dich vụ, giới hạn khả năng kẻ tan công đoán được OTP tiếp theo Dùvậy giá trị tối đa của s cũng cần vừa đủ lớn đề thuận tiện cho việc sử dụng

1.2.4.5 Sinh và quản lý khóa trong hệ thống

RFC 4226 đề cập tới phương án tạo và lưu trữ các khóa bí mật:

e©_ Khóa bí mật được tạo từ khóa mam (master seed) Nó sẽ được tạo chỉ khi

có yêu cầu và không được lưu trữ Khóa mầm cần được lưu trữ ở một hệthống đủ an toàn như hệ thống HSM (Hardware Security Module);

e Khóa bí mật có thể được tạo ngẫu nhiên RFC 4226 khuyến cáo tham khảo

RFC 4086 dé tạo một một khóa bí mật an toàn Trong thực tế, có thé tạo ra

các khóa bị mật dựa trên thiết bị chuyên dụng hoặc phần mềm ví dụ như

dựa trên các hàm băm như SHA-1.

Ngoài ra, khóa bí mật cũng có thể được tạo bằng cách thêm nhân tổ xác thựcnhư PIN hoặc mật khẩu, số điện thoại Khi này, khóa K được hình thành bang mộtgiá trị mầm ngẫu nhiên kết hợp cùng một hoặc nhiều yêu tố xác thực ké trên.

1.3 Tổng kết chương

Trang 12

CHƯƠNG 2 HỆ THÓNG PHÊ DUYỆT TÍN DỤNG

TRỰC TUYẾN VÀ VAN DE XÁC THỰC

2.1 Giới thiệu chung

Tùy theo quy mô và cách thức tổ chức bộ máy hành chính tại mỗi ngân hang,loại sản phẩm cho vay, chiến lược quản trị rủi ro của mỗi ngân hàng trong mỗi thờiđiểm khác nhau sẽ có quy trình phê duyệt tín dụng khác nhau nhưng có thê tổng hợp

thành 3 bước cơ bản:

Bước 1: Hình thành hồ sơ yêu cầu khoản vayBước 2: Tham định khách hàng

Bước 3: Đưa ra quyết định cho vay và hợp đồng

2.2 Tong quan về hệ thống phê duyệt tín dung trực tuyến

2.3 Khảo sát một hệ thống phê duyệt tín dung trực tuyến

2.3.1 Giới thiệu ProcessMaker

ProcessMaker có nhiều tính năng, dưới đây là các tính năng cơ bản:

2.3.1.1 Quản lý các quy trình trong ProcessMaker

ProcessMaker sử dụng khái niệm Case dé quan lý các quy trình Mỗi quy trình

trong doanh nghiệp tương ứng với một Case trong ProcessMaker Tại cùng một thời

điểm ProcessMaker có thê chạy đồng thời rất nhiều phiên của cùng một Case Ví dụ:cùng một thời điểm có 2 chi nhánh của ngân hàng cùng phải xử lý hồ sơ của 2 khách

hàng Khi này, cả hai chi nhành cùng tham gia trong cùng một Case nhưng ở các

phiên khác nhau Các thông tin trạng thái, dữ liệu trong các phiên độc lập với nhau.

Ngoài ra, ProcessMaker cũng sử dụng các biến trong Case dé cap nhat va chia sé

thông tin giữa các phiên và giữa các Case Phan chính của Case là lưu đồ (workflow)

dé định nghĩa nội dung, thứ tự các bước, phân công người dùng thực hiện công việc

của mỗi bước Lưu đồ trong Case được t6 chức theo BPMN 2.0 với các đối tượng

công việc (task), thủ tục con (sub-process), công so sánh (gateway), biến, các sự kiện,

các tài liệu

Trang 13

Trong Case sử dụng các mẫu biểu, các tài liệu dé người dùng nhập hoặc hiển

thị thông tin Việc thực hiện tính toán với dữ liệu, tương tác với các hệ thong khácđược thực hiện nhờ các hàm, biến và các chức năng khác như RESTful API, PHP

Trigger [ 12].

2.3.1.2 Các ham va biến trong ProcessMaker

2.3.1.3 Cho phép cac hé thong khác tích hợp cùng

2.3.1.4 Tích hợp với các hệ thống khác bằng PHP Triggers

Đây là tính năng chính mà luận văn tiến hành nghiên cứu nhằm phục vụ cácmục đích: tích hợp ProcessMaker với các hệ thống bên ngoài trong quá trình xâydựng hệ thống phê duyệt tín dụng trực tuyến và đưa OTP vào ứng dụng cùng

ProcessMaker như mục tiêu của luận văn.

PHP Trigger là các đoạn mã viết theo ngôn ngữ PHP được thêm vào trong cácbước của Case PHP có thé thực hiện các hàm đã được định nghĩa trong ProcessMaker

hoặc các ham trong các thư viện của PHP dé gia tăng khả năng kết nối và xử lý thông

tin Các hàm của PHP Trigger có thé sử dụng các biến trong Case hoặc biến của hệthống ProcessMaker

Thời điểm chạy hay điều kiện chạy (thực hiện) các PHP Trigger rất quan trọng.PHP Trigger có thé được đặt dé thực thi ở các thời điểm: Ngay trước khi một bước

nào đó được thực thi; Ngay sau khi một bước nào đó được thực thi; Ngay trước khi

người dùng được phân công thực hiện một công việc; Ngay trước khi chuyên qua mộtbước tiếp theo của Case; Ngay sau khi chuyên qua một bước tiếp theo của Case

2.3.1.5 Công cụ thiết kế quy trình trên ProcessMaker

2.3.1.6 Thiết kế các bảng biểu trên ProcessMaker

2.3.1.7 Tự động tạo tài liệu đầu ra

2.3.1.8 Quản lý người dùng

ProcessMaker cho phép tạo và quản lý các tài khoản người dùng theo hai cách:

trực tiếp trên chính hệ thống của nó và/hoặc tích hợp với các hệ thống xác thực bênngoài băng giao thức LDAP

Ngày đăng: 07/04/2024, 12:07

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w