Bài viết này giới thiệu một số phương pháp đánh giá độ mạnh mật khẩu trong đó tập trung vào phương pháp đánh giá dựa trên ước lượng entropy, từ đó đề xuất phát triển một công cụ đánh giá độ mạnh mật khẩu có thể ứng dụng được trong các phần mềm xác thực người dùng dựa trên mật khẩu sử dụng ngôn ngữ tiếng Việt.
Journal of Science and Technology on Information Security Đánh giá độ mạnh mật sử dụng ngôn ngữ tiếng Việt dựa ƣớc lƣợng entropy Hoàng Thu Phương, Trần Sỹ Nam Tóm tắt— Mật nhân tố sử dụng phổ biến hệ thống xác thực Vai trò mật đảm bảo người dùng có quyền hợp lệ với liệu mà họ muốn truy cập Hầu hết hệ thống cố gắng thực thi bảo mật cách bắt buộc người dùng tuân theo sách tạo mật thông qua đánh giá độ mạnh mật Bài báo giới thiệu số phương pháp đánh giá độ mạnh mật tập trung vào phương pháp đánh giá dựa ước lượng entropy, từ đề xuất phát triển công cụ đánh giá độ mạnh mật ứng dụng phần mềm xác thực người dùng dựa mật sử dụng ngôn ngữ tiếng Việt Abstract— Password is one of the most common means of authentication systems The role of the password is to ensure that the user has legal right to the data they are trying to access Most systems try to enforce security by requiring their users to follow some password generation policies with evaluating password strength This paper introduces a number of methods for evaluating password strength, particularyly the entropy estimation based method, then, it is proposed to develop a password strength evaluation tool that can be applied in password-based user authentication software using Vietnamese language Từ khóa: — độ mạnh mật khẩu; xác thực; đánh giá; ngôn ngữ tiếng Việt Keywords: password strength; authentication; evaluation; Vietnamese language Bài báo đƣợc nhận ngày 15/11/2018 Bài báo đƣợc gửi nhận xét đƣợc chấp nhận đăng phản biện thứ vào ngày 04/12/2018 26/12/2018 Bài báo đƣợc gửi nhận xét đƣợc chấp nhận đăng phản biện thứ hai vào ngày 05/12/2018 28/12/2018 58 Số 2.CS (08) 2018 I GIỚI THIỆU Việc sử dụng mật đƣợc biết đến từ xa xƣa Trong thời đại, tên ngƣời dùng mật thƣờng đƣợc sử dụng trình đăng nhập vào hệ điều hành máy tính, điện thoại di động, giải mã truyền hình cáp, máy rút tiền tự động (ATM), v.v Một ngƣời dùng máy tính thơng thƣờng có mật cho nhiều mục đích: đăng nhập vào tài khoản, lấy e-mail, truy cập ứng dụng, sở liệu, mạng, trang web chí đọc báo buổi sáng trực tuyến [1] Trong vấn đề an toàn phổ biến mật [2], độ mạnh mật vấn đề đƣợc quan tâm hàng đầu Độ mạnh mật thƣớc đo hiệu khả chống lại công đốn vét cạn mật Nói cách đơn giản, ƣớc lƣợng số lần thử nghiệm trung bình mà kẻ cơng cần để đốn xác mật Thơng thƣờng, độ mạnh mật đƣợc xác định entropy thông tin đƣợc đo bit [3] Thay số lần đốn cần thiết để tìm mật cách cụ thể, giá trị logarit số số đƣợc đƣa ra, số ―bit entropy‖ mật Căn vào cách thiết lập, mật đƣợc phân thành hai loại: Mật ngẫu nhiên mật người dùng lựa chọn Mật ngẫu nhiên mật bao gồm chuỗi ký tự có độ dài xác định đƣợc lấy từ tập hợp ký tự sử dụng quy trình lựa chọn ngẫu nhiên, ký tự có khả đƣợc lựa chọn nhƣ Để lựa chọn ngẫu nhiên mật có độ dài k bit có 2k khả mật đƣợc coi có k bit entropy Nếu mật có độ dài l ký tự đƣợc chọn ngẫu nhiên từ b ký tự bảng ký tự entropy mật bl [4] Tuy nhiên, mật mà người dùng lựa chọn, việc ƣớc lƣợng entropy khó khăn nhiều, chúng khơng đƣợc chọn ngẫu nhiên khơng có phân phối ngẫu nhiên đồng Các mật đƣợc ngƣời dùng lựa chọn Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin phản ánh cách khái quát mẫu từ phân phối tần suất ký tự văn tiếng Anh thông thƣờng đƣợc ngƣời dùng lựa chọn để họ ghi nhớ chúng Thực nghiệm cho thấy nhiều ngƣời dùng cịn chọn mật dễ đốn chí mật xuất từ điển thông dụng, dễ dàng để bẻ khóa thành cơng Các nhà mật mã học đƣa khái niệm thay entropy, ―entropy ƣớc lƣợng‖ để làm thƣớc đo độ khó việc đốn hay xác định mật đƣợc ngƣời dùng lựa chọn khóa [4] Trong nghiên cứu này, sở tìm hiểu phƣơng pháp đánh giá độ mạnh mật đƣợc công bố, chúng tơi tập trung vào phân tích phƣơng pháp dựa ƣớc lƣợng entropy từ đề xuất phƣơng pháp đánh giá độ mạnh mật Chúng nghiên cứu thiết lập ngƣỡng đánh giá độ an toàn dựa giá trị entropy ƣớc lƣợng mật đồng thời xây dựng từ điển tiếng Việt để sử dụng làm sở liệu đánh giá độ mạnh mật dựa tiếng Việt Ngồi ra, chúng tơi sử dụng phƣơng pháp đƣợc đề xuất để đánh giá số danh sách mật tiếng thử nghiệm cài đặt mô-đun đánh giá độ mạnh mật vào số phần mềm để chứng minh khả ứng dụng phần mềm có xác thực ngƣời dùng dựa mật Trong phần báo, trƣớc tiên, mục II giới thiệu nghiên cứu có liên quan lĩnh vực độ mạnh mật khẩu; sau đó, phƣơng pháp đánh giá độ mạnh mật dựa ƣớc lƣợng entropy đƣợc thảo luận mục III; mục IV trình bày đề xuất phƣơng pháp đánh giá độ mạnh mật ứng dụng phần mềm xác thực ngƣời dùng dựa mật có sử dụng ngơn ngữ tiếng Việt; số kết thử nghiệm phƣơng pháp đƣợc đề xuất đƣợc trình bày mục V cuối mục VI số kết luận II CÁC NGHIÊN CỨU LIÊN QUAN ĐẾN ĐỘ MẠNH MẬT KHẨU A Các công lên mật Các mối đe dọa độ an tồn mật xuất phát từ yếu tố liên quan đến ngƣời hệ thống xác thực đƣợc sử dụng Tấn cơng đốn mật diễn dƣới hai hình thức cơng trực tuyến công ngoại tuyến Trong công trực tuyến, kẻ cơng cố gắng đốn mật giai đoạn đăng nhập Trong đó, cơng ngoại tuyến hình thức cơng kẻ cơng đánh cắp giá trị băm mật đƣợc lƣu trữ máy chủ thử đoán với số lần không giới hạn mà không cần tƣơng tác trực tiếp với máy chủ Tài liệu [5] trình bày số cơng đốn mật quan trọng nhƣ sau: Tấn cơng vét cạn Kẻ cơng cố gắng đốn mật thơng qua tìm kiếm tồn diện tập hợp chuỗi kết hợp đƣợc tạo Tấn công từ điển Khác với công vét cạn, công tập trung vào thử từ danh sách dài gọi từ điển đƣợc xây dựng sẵn để tăng tốc độ tìm kiếm Các sở liệu mật bị rò rỉ từ điển đƣợc xây dựng từ từ cụm từ quen thuộc thƣờng đƣợc kẻ công sử dụng công từ điển Tấn công từ điển có chủ đích Đây đƣợc coi trƣờng hợp đặc biệt công từ điển, từ điển đƣợc sử dụng có chứa thơng tin cá nhân (ví dụ: tên ngƣời dùng, tên họ, ngày sinh, v.v…) ngƣời dùng Kẻ công sử dụng thông tin nhằm làm giảm số lần đốn cần thiết để tìm mật Tấn công từ điển dựa quy tắc Kẻ công sử dụng quy tắc để biến đổi mật ví dụ nhƣ thêm tiền tố hậu tố trƣớc thực công từ điển để xác định mật phức tạp Tấn công từ điển kết hợp Phƣơng pháp gần với kẻ cơng thực thực tế, đó, công vét cạn đƣợc áp dụng công từ điển không phát huy hiệu Gần đây, phƣơng pháp công tiên tiến đƣợc đề xuất để cải thiện khả công cụ bẻ khóa mật Các phƣơng pháp đƣợc phân loại thành bốn kiểu dƣới [5]: Phương pháp dựa mơ hình Markov Các mơ hình Markov đƣợc sử dụng để thu hẹp khơng gian tìm kiếm công vét cạn cần đƣợc sử dụng [6] Phương pháp ngữ pháp không phụ thuộc vào bối cảnh xác suất (Probabilistic ContextFree Grammars - PCFG) Phƣơng pháp Số 2.CS (08) 2018 59 Journal of Science and Technology on Information Security xem xét cấu trúc mật xác suất mật đƣợc lựa chọn với cấu trúc định cao mật khác có cấu trúc khác [7] Phương pháp dựa học máy Gần đây, mạng nơ-ron đƣợc sử dụng dự đoán mật Phƣơng pháp đƣợc thử nghiệm cho thấy tính hiệu cao so với phƣơng pháp đƣợc đề cập trƣớc phần [8] Phương pháp dựa cá nhân hóa Những cải tiến gần số công kể xem xét thông tin cá nhân mơ hình thuật tốn họ để cải thiện tính hiệu việc bẻ khóa mật khẩu, ví dụ nhƣ OMEN+ [9], Personal-PCFG [10] B Các công cụ đánh giá độ mạnh mật Công cụ đánh giá mật phần mềm đƣợc sử dụng để kiểm tra độ mạnh mật cho nhằm phát và/hoặc ngăn chặn việc sử dụng mật yếu [5] Chức công cụ đánh giá mật cung cấp phản hồi độ mạnh mật mà ngƣời dùng nhập để ngƣời dùng đƣa định sáng suốt việc mật có đủ an tồn để đƣợc sử dụng hay không Các phản hồi thƣờng đƣợc đƣa cách trực quan hình thiết bị máy tính ngƣời dùng Trong Bảng 18 công cụ đánh giá mật đƣợc sử dụng rộng rãi tổng kết số yêu cầu nhƣ tính phổ biến cơng cụ BẢNG CÁC YÊU CẦU VỀ MẬT KHẨU VÀ ĐẶC ĐIỂM CỦA CÁC CƠNG CỤ ĐÁNH GIÁ MẬT KHẨU Vị trí cho phép ký tự khoảng trắng Phân Phạm vi Giới hạn Yêu cầu Thông tin Tên dịch vụ loại đánh giá độ dài ký tự người dùng Bên Bên ngồi Phía máy khách tảng Web Phía máy chủ tảng Web Kết hợp tảng Web Trên tảng ứng dụng Dropbox mức - 72 Khơng có phần Drupal mức - 128 Khơng có Khơng có Fed Ex mức - 35 1+ viết thƣờng, 1+ viết hoa, 1+ số Khơng có Intel mức >1 Khơng có Khơng có Microsoft mức >1 Khơng có Khơng có QQ mức - 16 Khơng có Khơng có Twitter mức - >1000 Khơng có phần Yahoo! mức - 32 Khơng có phần 12306.cn mức - 25 1+ ký tự Khơng có phần eBay mức - 20 ký tự Google mức - 100 Khơng có Khơng có Skype mức - 20 ký tự viết hoa hồn tồn Khơng có Apple mức - 32 1+ viết thƣờng, 1+ viết hoa, 1+ số phần PayPal mức - 20 ký tự Khơng có 1Password mức >1 Khơng có Khơng có KeePass 0-128 bit >1 Khơng có Khơng có LastPass 0-100% >1 Khơng có phần RoboForm mức - 49 Khơng có Khơng có 60 Số 2.CS (08) 2018 Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thông tin Yêu cầu độ dài tập hợp ký tự Hầu hết công cụ đặt yêu cầu số ký tự tối thiểu, số cơng cụ cịn đặt giới hạn độ dài tối đa Ngoài số yêu cầu sử dụng ký tự định, việc sử dụng ký tự khoảng trắng có nhiều quy định khác nhƣ không đƣợc phép sử dụng, đƣợc phép dƣới dạng ký tự bên (ở đầu cuối mật khẩu) đƣợc phép sử dụng dƣới dạng ký tự bên Một số công cụ không cho phép ký tự liên tiếp giống hệt (ví dụ: ký tự Apple FedEx) Thang đánh giá độ mạnh nhãn Thang độ mạnh nhãn đƣợc sử dụng công cụ đánh giá mật khác Ví dụ: Skype PayPal có mức đánh giá độ mạnh mật (Yếu-Trung bình-Mạnh), Twitter có mức (Q ngắn-Rõ ràngKhơng đủ an tồn-Có thể an tồn hơn-Ổn-Hồn hảo) Thơng tin người dùng Một số cơng cụ có xem xét tham số liên quan đến ngƣời dùng, chẳng hạn nhƣ tên thật/tên tài khoản địa email Lý tƣởng mật chứa thông tin phải đƣợc coi yếu (hoặc bị trừ cách tính điểm) Phân loại Dựa vào vị trí việc đánh giá đƣợc thực hiện, công cụ dựa tảng web đƣợc phân loại thành: cơng cụ phía máy khách (ví dụ: Dropbox, Drupal, FedEx); cơng cụ phía máy chủ (ví dụ: eBay, Google Skype); công cụ kết hợp: kết hợp hai hình thức (ví dụ: Apple PayPal) Ngồi cịn có cơng cụ đƣợc xây dựng tảng ứng dụng nhƣ 1Password, KeePass, LastPass, RoboForm Tính đa dạng Mỗi dịch vụ web trình quản lý mật cung cấp cơng cụ đánh giá độ mạnh mật riêng, nhiên khơng có lời giải thích cách thức hoạt động chúng hay cách tham số độ mạnh đƣợc quy định Ước lượng entropy danh sách đen Hầu hết công cụ đánh giá mật sử dụng tính tốn entropy tùy chỉnh dựa độ phức tạp độ dài mật Các tham số mật thƣờng đƣợc xem xét để tính tốn entropy/điểm cơng cụ khác bao gồm: chiều dài, tập hợp ký tự đƣợc sử dụng mẫu phổ biến Một số cơng cụ cịn so sánh mật cho với từ điển mật phổ biến (dƣới dạng danh sách đen) giảm đáng kể điểm mật xuất danh sách C Các phương pháp đánh giá độ mạnh mật Gần đây, với phát triển nhanh chóng kỹ thuật công mật khẩu, vấn đề độ mạnh mật nhận đƣợc nhiều quan tâm Các chuyên gia mật phần lớn đồng ý độ mạnh mật nên tƣơng ứng với nỗ lực tối thiểu cần thiết để bẻ khóa mật [5] Có số phƣơng pháp ƣớc lƣợng độ mạnh mật đƣợc đề xuất Các phƣơng pháp đƣợc phân loại thành phương pháp dựa thống kê phương pháp tham số hóa (hay cịn gọi phƣơng pháp dựa xác suất) Các phƣơng pháp dựa thống kê tập trung vào dự đoán độ mạnh tổng thể mật trọng tâm phƣơng pháp dựa xác suất xác định khả dự đoán đƣợc mật dựa kỹ thuật bẻ khóa cụ thể Các phương pháp dựa thống kê Các phƣơng pháp dựa thống kê đƣợc phân thành hai loại phương pháp dựa entropy phương pháp dựa tính dự đốn Phương pháp dựa entropy phép đo đƣợc sử dụng nhiều trang web để kiểm tra độ mạnh mật dựa quy tắc đơn giản liên quan đến định dạng mật khẩu, chẳng hạn nhƣ độ dài mật kiểu ký tự khác đƣợc sử dụng Trong phƣơng pháp thuộc loại này, zxcvbn [11] Dropbox đƣợc đánh giá sử dụng thuật toán phức tạp cho kết xác Phương pháp dựa tính dự đoán phƣơng pháp đƣợc số nghiên cứu đề xuất dựa công lý tƣởng đó, mật có xác suất cao đƣợc thử đầu tiên, đó, tính dự đoán đƣợc đƣợc xác định số lần thử khơng thành cơng trƣớc đốn mật Tuy nhiên, phƣơng pháp có hai vấn đề lớn: (1) hiệu chúng đƣợc khái quát hóa Số 2.CS (08) 2018 61 Journal of Science and Technology on Information Security bị ảnh hƣởng cài đặt cấu hình cơng đƣợc lựa chọn; (2) hiệu suất mặt thời gian chúng bị giảm phải lúc thực cơng Vì hạn chế này, phƣơng pháp khơng phù hợp để đƣợc sử dụng công cụ kiểm tra mật chủ động Phương pháp tham số hóa Các phƣơng pháp cố gắng khắc phục hạn chế phƣơng pháp dựa thống kê trên, thay cơng lý tƣởng, chúng xem xét đánh giá độ an toàn mật chống lại công thực nhƣ đƣợc trình bày phần II.A Tuy nhiên, nghiên cứu tác giả S Ji cộng cho thấy khơng có chế bẻ khóa lý tƣởng tất trƣờng hợp hiệu suất chúng bị ảnh hƣởng yếu tố khác nhau, bao gồm sở liệu huấn luyện thuật toán đƣợc sử dụng [12] Các nghiên cứu tƣơng tự nhấn mạnh rủi ro tin tƣởng vào thuật toán bẻ khóa để xác định độ mạnh mật Do hạn chế rủi ro đƣợc chứng minh phƣơng pháp xác suất dựa tính khơng thể dự đốn đƣợc phƣơng pháp tham số hóa nhƣ đƣợc đề cập trên, phần báo tập trung phân tích phƣơng pháp đánh giá độ mạnh mật xác suất dựa entropy thuật toán zxcvbn, phƣơng pháp mà theo phân tích phù hợp để đƣợc triển khai cơng cụ kiểm tra mật năm ngày, tháng Đối với tất từ điển, so khớp đƣợc thực với thay leet đơn giản (leet hệ thống cách viết thay ký tự dựa giống hình dáng tƣơng đồng khác chúng, ví dụ nhƣ sử dụng chuỗi ―1337‖ thay cho ―leet‖) Bắt đầu So khớp Ước lượng Tìm kiếm Kết thúc Hình Lưu đồ thuật toán ước lượng độ mạnh mật phương pháp zxcvbn Ước lượng Bƣớc tính entropy mẫu đƣợc so khớp bƣớc trên, độc lập với phần cịn lại mật Tìm kiếm Với tất nhóm so khớp trùng lặp xảy ra, bƣớc tìm kiếm tìm chuỗi không trùng lặp đơn giản (entropy tổng mẫu tạo thành chuỗi thấp nhất) B Bước so khớp Các kiểu mẫu so khớp đƣợc zxcvbn tìm kiếm đƣợc thể Bảng [11]: BẢNG CÁC KIỂU SO KHỚP CỦA ZXCVBN Mẫu Ví dụ token logitech, 10giT3CH, ain’t, parliamentarian, 1232323q III PHƢƠNG PHÁP ĐÁNH GIÁ ĐỘ MẠNH MẬT KHẨU DỰA TRÊN ENTROPY – THUẬT TOÁN ZXCVBN Phần trình bày chi tiết sở lý thuyết thuật tốn zxcvbn, mục A) giới thiệu bƣớc mơ hình tổng qt mục lần lƣợt sâu phân tích bƣớc mơ hình token đảo ngƣợc DrowssaP chuỗi 123, 2468, jklm, ywusq lặp lại zzz, ababab, 10giT3CH10giT3CH tổ hợp ký tự bàn phím qwertyuio, qAzxcde3, diueoa ngày tháng 7/8/1847, 8.7.47, 781947, 4778, 7-212011, 72111, 11.7.21 A Mơ hình Zxcvbn thực ƣớc lƣợng độ mạnh mật đầu vào thông qua ba bƣớc: so khớp, ƣớc lƣợng tìm kiếm đƣợc thực lần lƣợt [13] nhƣ đƣợc thể Hình So khớp Bƣớc liệt kê tất mẫu (có thể trùng lặp) mà phát nhƣ so khớp từ điển, mẫu tổ hợp ký tự bàn phím, chuỗi lặp lại (aaa), chuỗi có trình tự (123, gfedcba), ngẫu nhiên X$JQhMzt 62 Số 2.CS (08) 2018 Trình so khớp token chuyển mật đầu vào thành chuỗi viết thƣờng hồn tồn sau kiểm tra xem chuỗi có xuất từ điển đƣợc xếp hạng theo tần suất hay khơng Ngồi ra, cịn thực thi thay leet đơn giản Trình so khớp chuỗi tìm kiếm chuỗi cho phép cách quãng, chẳng hạn nhƣ Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin chuỗi ―7531‖, nhận chuỗi nằm bảng chữ La Mã chữ số Ả Rập, chẳng hạn nhƣ chuỗi Kirin (bảng chữ đƣợc sử dụng cho nhiều ngôn ngữ miền Đơng Âu, Bắc Trung Á Trình so khớp lặp lại tìm kiếm khối lặp lại nhiều ký tự, sử dụng biểu thức quy thông thƣờng kiểu greedy ―/(.+)\1+/‖ kiểu lazy ―/(.+?)\1+/‖ để tìm kiếm vùng lặp lại bao gồm nhiều ký tự Trình so khớp lặp lại thực thi vịng so khớp – ƣớc lƣợng – tìm kiếm theo cách đệ quy đơn vị lặp lại đƣợc chọn trƣớc Trình so khớp tổ hợp ký tự bàn phím tìm kiếm chuỗi phím liền kề theo sơ đồ bàn phím liền kề Các biểu đồ đƣợc biểu diễn dƣới dạng ánh xạ phím đến danh sách phím lân cận theo chiều kim đồng hồ Trình so khớp đếm chiều dài chuỗi, số đƣờng số ký tự đƣợc kết hợp với phím shift Zxcvbn so khớp mẫu theo bàn phím QWERTY, DVORAK sơ đồ bàn phím Windows Mac Trình so khớp ngày tháng xem xét vùng chữ số gồm đến ký tự tìm kiếm phân tách cho năm có hai bốn chữ số, năm khơng giữa, tháng bao gồm từ đến 12, ngày bao gồm từ đến 31 Với nhiều phân tách hợp lệ, năm gần với năm tham chiếu (năm tại) đƣợc ƣu tiên lựa chọn Năm đƣợc ghi hai chữ số đƣợc khớp với năm kỷ 20 21, tùy thuộc vào năm gần với năm tham chiếu C Bước ước lượng Ở bƣớc này, ƣớc lƣợng số lần đoán cho so khớp đƣợc xác định [11] Đối với token, giá trị ƣớc lƣợng vị trí xếp hạng từ từ điển mà đƣợc tìm thấy, số lần thử mà kẻ cơng đốn token theo thứ tự phổ biến cần Token đảo ngƣợc đƣợc ƣớc lƣợng nhân đơi, kẻ cơng cần thử hai lần đốn (bình thƣờng đảo ngƣợc) token Ở đây, token có ký tự viết hoa đƣợc sử dụng, điểm cộng đƣợc thêm vào tùy theo vị trí ký tự đƣợc viết hoa Nếu token sử dụng lƣợc đồ viết hoa phổ biến (ký tự viết hoa ký tự ký tự cuối viết hoa tất ký tự) làm tăng gấp đơi khơng gian tìm kiếm kẻ công tƣơng tự nhƣ trƣờng hợp token đảo ngƣợc, ƣớc lƣợng mẫu đƣợc xác định hai lần vị trí xếp hạng token Còn token sử dụng ký tự viết hoa theo cách khác số lần đốn trung bình đƣợc xác định theo công thức dƣới đây: ∑ (1) Trong đó, U L lần lƣợt số lƣợng ký tự viết hoa viết thƣờng token, i số ký tự viết hoa lần đoán 1/2 để chuyển đổi tổng khơng gian đốn thành nỗ lực trung bình cần thiết, giả sử lƣợc đồ viết hoa có khả nhƣ Thuật ngữ min() có ý nghĩa số lƣợng ký tự đƣợc viết hoa nhiều số lƣợng ký tự viết thƣờng token đƣợc chuyển đổi thành viết hoa hồn tồn trƣớc tính tốn ƣớc lƣợng Ví dụ, để đốn ―paSswOrd‖ – token bao gồm ký tự có ký tự viết hoa (U=2), ký tự viết thƣờng (L=6), trƣớc tiên, kẻ cơng thử đốn token có ký tự viết hoa, với i =1, số vị trí ký tự viết hoa , sau tiếp tục đốn token có ký tự viết hoa, với i=2, số cách phân bổ ký tự viết hoa vào vị trí Nhƣ vậy, số lần đốn trung bình cho lƣợc đồ viết hoa token ―paSswOrd‖ là: Ngoài ra, token có sử dụng thay leet, điểm cộng khác đƣợc tính tƣơng tự cơng thức (1) U L lần lƣợt số ký tự đƣợc thay không đƣợc thay leet token Đối với mẫu tổ hợp ký tự bàn phím, số lần đốn đƣợc ƣớc lƣợng cơng thức sau: ∑ ∑ (2) Trong đó, L chiều dài (số ký tự) mẫu, T số lƣợng đƣờng đi, D số phím liền kề trung bình phím (phím ―~‖ có phím liền kề bàn phím QWERTY, phím ―a‖ có 4) S số lƣợng phím bàn phím Đối với mẫu tổ hợp bàn phím có độ dài L T đƣờng đi, giả sử kẻ cơng bắt đầu việc đốn mẫu có ký tự số đƣờng trƣớc, chiều dài Thuật ngữ min() để tránh xem xét nhiều lƣợt mẫu có độ dài ngắn Với i chiều dài j số đƣờng Số 2.CS (08) 2018 63 Journal of Science and Technology on Information Security mẫu lần đoán tại, ký tự đầu tiên, có cách lựa chọn ký tự chuyển hƣớng (với −1 đƣợc thêm vào biến đƣờng đƣợc xác định xảy ký tự đầu tiên) Vì chuỗi bắt đầu phím S đƣờng cách D, có Công thức đƣợc sử dụng để ƣớc lƣợng số lần đốn chuỗi ―kjhgfdsa‖ bàn phím QWERTY nhƣ sau: Ta có L=8, T=1, S=47, (số ký tự liền kề ký tự ―a‖ ký tự cịn lại 6) Vì , nên j nhận giá trị Với , Do đó, số lần đốn trung bình mẫu là: ∑ ∑ Công thức (1) đƣợc áp dụng để tính điểm cộng mẫu có sử dụng phím đƣợc kết hợp với phím Shift, L U trở thành số lƣợng phím có kết hợp khơng kết hợp với phím Shift Các đối tượng so khớp lặp lại đƣợc phân tích thành sở đƣợc lặp lại n lần, bƣớc so khớp – ƣớc lƣợng – tìm kiếm đệ quy trƣớc đƣợc thực lại với số lần đoán sở g Do đó, số lần đốn mẫu lặp lại đƣợc ƣớc lƣợng Các mẫu chuỗi đƣợc tính điểm theo cơng | |, s số ký tự bắt đầu thức có thể, n độ dài chuỗi d độ lệch (ví dụ: d 2 mẫu ―9753‖) Đối với mẫu ngày tháng, công thức tính số | | lần đốn Cuối cùng, so khớp bruteforce có độ dài l đƣợc gán số C = 10 lần đoán cho ký tự, mang lại giá trị ƣớc lƣợng tổng D Bước tìm kiếm Với mật chuỗi tập hợp so khớp trùng lặp tƣơng ứng , bƣớc cuối tìm kiếm chuỗi kết hợp S liền kề khơng trùng lặp bao gồm hồn tồn mật thỏa mãn biểu thức sau [1]: arg D|S |1 | S |! m.guesses S (3) Trong đó, |S| độ dài chuỗi S, D số Giả sử chuỗi đƣợc chọn S đƣợc 64 Số 2.CS (08) 2018 mS cấu thành từ chuỗi m với số lần đoán cần thiết chuỗi m.guesses, phép tính số lần đốn mà ngƣời cần thực trƣờng hợp xấu |S|! đƣợc thêm vào kẻ công biết số lƣợng mẫu mà thứ tự xuất chúng Ví dụ, mật bao gồm từ phổ biến c, từ khơng phổ biến u ngày d, có 3! thứ tự thử: cud, ucd, v.v… D|S|-1 mơ hình hóa kẻ cơng khơng biết độ dài chuỗi mẫu Giả sử trƣớc thử chuỗi có độ dài |S|, kẻ cơng cố gắng thử chuỗi mẫu có độ dài ngắn trƣớc với giá trị tối thiểu D lần đoán | | mẫu, tổng cộng ∑ | | | | lần đoán Ví dụ, mật bao gồm token mật t phổ biến thứ 20 với chữ số d cuối –một chuỗi gồm mẫu – kẻ công biết D = 10000 mật phổ biến td không danh sách 10000 này, D1 biểu thị kẻ công thử 10000 lần đoán danh sách trƣớc thử đoán hai mẫu zxcvbn đƣợc đánh giá xem xét thành phần mật kỹ lƣỡng tất công cụ kiểm tra khác thử nghiệm [3], dẫn đến việc đánh giá thực tế độ phức tạp mật cho trƣớc Tuy nhiên, có nhiều mẫu khác ngƣời dùng sử dụng để tạo mật mà zxcvbn nhận biết hết đƣợc, ví dụ nhƣ từ bị bỏ chữ đầu, từ khơng có nguyên âm, từ đánh vần sai, n-gram, mã zip khu vực, tổ hợp bàn phím cách xa ví dụ nhƣ qzwxec, v.v… [13] Nhóm phát triển công cụ đƣa khuyến nghị việc bổ sung mẫu ví dụ nhƣ từ điển cụm từ thông dụng ngơn ngữ khác ngồi tiếng Anh, mẫu tổ hợp bàn phím theo sơ đồ bàn phím khác, v.v bƣớc so khớp cách hiệu để cải thiện tính hiệu cho cơng cụ IV ĐỀ XUẤT PHƢƠNG PHÁP ĐÁNH GIÁ ĐỘ MẠNH MẬT KHẨU Phần trình bày đề xuất phƣơng pháp đánh giá độ mạnh mật đƣợc phát triển dựa ƣớc lƣợng entropy theo thuật toán zxcvbn đƣợc phân tích Mã nguồn chƣơng trình zxcvbn đƣợc phát triển thêm số nội dung để biến trở Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin thành công cụ đánh giá độ mạnh mật sử dụng đƣợc hệ thống xác thực ngƣời dùng dựa mật có sử dụng tiếng Việt Các nội dung đƣợc phát triển thêm bao gồm: tính tốn ngƣỡng an tồn theo entropy mật tích hợp mô-đun đánh giá độ mạnh mật theo thang điểm; tích hợp từ điển tiếng Việt vào liệu bƣớc so khớp Các mục lần lƣợt phân tích chi tiết nội dung đƣợc bổ sung vào mã nguồn chƣơng trình zxcvbn A Tính tốn ngưỡng an tồn theo entropy mật tích hợp mơ-đun đánh giá độ mạnh mật theo thang điểm Zxcvbn cung cấp giá trị ƣớc lƣợng entropy mật đầu vào Tuy nhiên, với ngƣời dùng thông thƣờng, giá trị entropy giúp họ đánh giá đƣợc mật mà họ lựa chọn đủ an toàn hay chƣa Để cụ thể hơn, cần phải có mơ-đun đánh giá mức độ mạnh yếu mật theo thang điểm Căn đánh giá độ mạnh mật theo giá trị entropy đƣợc dựa vào RFC 4086 – ―Các yêu cầu tính ngẫu nhiên bảo mật‖ [14] năm 2004 Tài liệu trình bày số mơ hình cơng lên giá trị bí mật (mật khẩu, khóa mật mã) entropy cần thiết mơ hình Kết để chống lại công trực tuyến, mật có 29 bit entropy đƣợc đánh giá đủ an toàn Tuy nhiên, giá trị cần thiết năm 2004 Theo định luật Moore, năm giá trị cần thêm 2/3 bit, có nghĩa đến năm 2019, giá trị entropy tối thiểu để mật đƣợc đánh giá đủ an toàn trƣớc cơng trực tuyến phải là: Vì nên ngƣỡng đánh giá độ mạnh mật dựa số lần đốn cần thiết để tìm mật đƣợc thiết lập nhƣ sau: Rất yếu (0 điểm) mật bị bẻ khóa với chƣa đến 103 lần đốn; Yếu (1 điểm) số lần đoán cần thiết nằm khoảng 103-106; Trung bình (2 điểm) cần từ 106-109 lần đoán; Khá mạnh (3 điểm) cần từ 1091012lần và; Đủ mạnh (4 điểm) mật cần 1012 lần đoán B Bổ sung tiếng việt vào liệu so khớp từ điển Một điểm yếu zxcvbn chỗ từ điển bao gồm từ tiếng Anh, đó, khơng thể nhận từ cụm từ phổ biến ngôn ngữ khác Ở đây, từ điển tiếng Việt qua xử lý đƣợc bổ sung vào liệu so khớp từ điển chƣơng trình Đặt giả thiết hệ thống thƣờng cho phép ngƣời dùng thiết lập mật khơng dấu có cho phép ngƣời dùng sử dụng tiếng Việt có dấu cho mật mình, đó, kẻ cơng muốn bẻ khóa mật thử đoán từ điển bao gồm từ không dấu trƣớc mật từ có dấu đƣợc xem khó đốn hay mạnh Một danh sách từ tiếng việt đƣợc lấy từ dự án Từ điển tiếng Việt miễn phí (The Free Vietnamese Dictionary Project [15]) sau đƣợc chuyển đổi thành định dạng từ tiếng Việt không dấu viết thƣờng đƣa vào liệu từ điển so khớp chƣơng trình Hình mơ tả định dạng từ từ điển tiếng Việt nguyên gốc đƣợc lấy từ [15] (bên trái) sau đƣợc chuyển đổi thành định dạng phù hợp để sử dụng sở liệu so khớp chƣơng trình (bên phải) Hình Định dạng liệu tiếng Việt trước sau xử lý Số 2.CS (08) 2018 65 Journal of Science and Technology on Information Security V MỘT SỐ KẾT QUẢ THỬ NGHIỆM PHƢƠNG PHÁP ĐÁNH GIÁ ĐỘ MẠNH MẬT KHẨU ĐƢỢC ĐỀ XUẤT Để đánh giá hoạt động phƣơng pháp đƣợc đề xuất, số danh sách mật dƣới đƣợc lựa chọn để thử nghiệm đánh giá độ mạnh mật Danh sách top 10.000 mật từ nghiên cứu Mark Burnett đƣợc công bố trang web xato.net [16]: Danh sách 10.000 mật phổ biến đƣợc xếp hạng theo số lƣợng ngƣời dùng sử dụng mật đƣợc chuyển đổi thành tất chữ viết thƣờng [17] Danh sách mật người dùng diễn đàn phpBB.com [18] Năm 2009, diễn đàn bị xâm nhập ứng dụng bên thứ ba sở liệu chứa mật băm bị rò rỉ Do tảng kỹ thuật ngƣời dùng đăng ký trang web này, mật có xu hƣớng phức tạp chút so với từ điển khác Thành phần mật khẩu: 41,24% bao gồm chữ viết thƣờng, 35,7% bao gồm chữ viết thƣờng chữ số, 11,24% bao gồm chữ số, 4,82% có sử dụng chữ viết hoa viết thƣờng chữ số, 2,68% sử dụng chữ hỗn hợp phần lại đƣợc tạo thành từ tổ hợp ký tự khác [2] Danh sách mật người dùng trang web MySpace.com Trang web bị hack vào ngày 11 tháng năm 2013 công cụ LeakedSource, cơng cụ tìm kiếm có khả tìm kiếm, tổng hợp liệu từ hàng trăm nguồn khác Danh sách đầy đủ bao gồm tổng cộng 427.484.128 mật gồm 360.000.000 ngƣời dùng [19], danh sách thu nhỏ bao gồm 37.126 mật đƣợc cung cấp [20] đƣợc sử dụng để thử nghiệm công cụ Danh sách mật người dùng diễn đàn vnzoom.com Diễn đàn chia sẻ công nghệ bị công vào ngày 31/5/2012 để bị rò rỉ sở liệu bao gồm mật sáu triệu ngƣời dùng diễn đàn Danh sách sáu triệu mật [21] đƣợc đƣa vào để thử nghiệm nhằm mục đích đánh giá liệu từ điển tiếng Việt đƣợc đƣa tích hợp thêm vào liệu so khớp công cụ đánh giá 66 Số 2.CS (08) 2018 Kết thử nghiệm đánh giá danh sách mật đƣợc thể Bảng BẢNG KẾT QUẢ THỬ NGHIỆM CÔNG CỤ ĐÁNH GIÁ ĐỘ MẠNH MẬT KHẨU Điểm xato phpBB MySpace vnzoom 78 148 41 220 8932 26145 4835 96895 990 81948 18340 1117424 52588 10456 2359467 23559 3454 2470234 Tổng số 10000 184388 37126 6044240 Điểm TB 1.09 2.40 2.34 3.19 Bảng cho thấy, danh sách mật dựa tiếng Anh, xato.net cung cấp danh sách 10.000 mật phổ biến, thƣờng có mặt từ điển đối chiếu công cụ đánh giá độ mạnh, đó, điểm đánh giá độ mạnh đạt thấp nhất, khoảng điểm khơng có mật đạt đƣợc điểm Trong đó, mật thực đƣợc ngƣời dùng sử dụng (phpBB.com MySpace.com) có độ mạnh trung bình cao hơn, nằm khoảng điểm, có mật đủ an tồn (4 điểm) Hình Biểu đồ phân bố độ mạnh mật danh sách mật dựa tiếng Anh Hình minh họa cụ thể phân bố mật dựa ngôn ngữ tiếng Anh ba danh sách (xato.net, phpBB.com, MySpace.com) theo thang điểm độ mạnh Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin Hình minh họa kết tích hợp mơ-đun đánh giá độ mạnh mật vào phần mềm Hình Biểu đồ phân bố độ mạnh mật danh sách mật dựa tiếng Anh Hình Tích hợp mô-đun đánh giá mật Những danh sách mật trang web chứa ngôn ngữ tiếng Anh Để đánh giá tác động từ điển tiếng Việt công cụ đƣợc đề xuất, thực đánh giá mật vnzoom.com hai trƣờng hợp: từ điển bao gồm tiếng Anh từ điển bao gồm tiếng Anh tiếng Việt Kết thử nghiệm hai trƣờng hợp lần lƣợt đƣợc minh họa hình 5(a) 5(b) Kết cho thấy có thêm từ điển tiếng Việt vào liệu so khớp, số lƣợng mật đƣợc đánh giá đủ mạnh giảm 10% (từ 51,479% xuống 40,869%) Điều chứng tỏ việc đánh giá độ mạnh mật phụ thuộc nhiều vào ngôn ngữ mà ngƣời sử dụng lựa chọn để thiết lập mật khẩu, việc bổ sung từ điển tiếng Việt giúp đánh giá độ mạnh mật ngƣời dùng sử dụng ngôn ngữ tiếng Việt cách xác Các kết đánh giá độ mạnh mật giúp nhà quản trị hệ thống đƣa sách tạo mật phù hợp, ví dụ nhƣ cho phép mật có độ mạnh đạt giá trị tối thiểu định Mô-đun đánh giá độ mạnh mật đƣợc trình bày báo đƣợc thử nghiệm cài đặt vào số hệ thống cho thấy đƣợc tính hiệu Hình Biểu đồ phân bố độ mạnh mật vnzoom.com VI KẾT LUẬN Bài báo phân tích đề xuất phƣơng pháp đánh giá độ mạnh mật dựa entropy thử nghiệm đánh giá hoạt động phƣơng pháp đánh giá độ mạnh mật Kết thử nghiệm sử dụng phƣơng pháp đƣợc đề xuất để đánh giá độ an toàn mật ngƣời dùng số hệ thống thực tế cho thấy hệ thống mà ngƣời dùng có trình độ cơng nghệ thơng tin chƣa đến nửa số ngƣời dùng lựa chọn đƣợc mật đủ an tồn Vì vậy, vấn đề độ an toàn mật cần phải đặt ngƣời dùng am hiểu công nghệ Ngồi ra, kết thử nghiệm cài đặt mơđun đánh giá độ mạnh mật số hệ thống cho thấy khả cơng cụ đƣợc triển khai cách đơn giản hiệu hệ thống xác thực ngƣời dùng dựa mật Số 2.CS (08) 2018 67 Journal of Science and Technology on Information Security TÀI LIỆU THAM KHẢO [1] https://en.wikipedia.org/wiki/Password [2] Xavier De Carne De Carnavalet, Mohammad Mannan (2015) ―A Large-Scale Evaluation of High-Impact Password Strength Meters‖ [3] https://en.wikipedia.org/wiki/Password_strength [4] NIST Special Publication 800-63: Electronic Authentication Guideline, 2004 [5] Nouf Mohammed D Aljaffan, ―Password Security and Usability: From Password Checkers To a New Framework For User Authentication‖, 2017 [6] A Narayanan and V Shmatikov, ―Fast dictionary attacks on passwords using timespace tradeoff‖, 2005 [7] M Weir, S Aggarwal, B de Medeiros, and B Glodek, ―Password cracking using probabilistic context-free grammars‖, 2009 [8] W Melicher, B Ur, S M Segreti, S Komanduri, L Bauer, N Christin, and L F Cranor, ―Fast, lean and accurate: Modeling password guessability using neural networks‖, 2016 [9] C Castelluccia, A Chaabane, M Durmuth, and D Perito, ―When privacy meets security: Leveraging personal information for password cracking‖, 2013 [10] Y Li, H Wang, and K Sun, ―A study of personal information in human-chosen passwords and its security implications‖, 2016 [11] Daniel Lowe Wheeler (2016), ―zxcvbn: LowBudget Password Strength Estimation‖ [12] S Ji, S Yang, T Wang, C Liu, W.H Lee, and R Beyah, ―PARS: A uniform and open-source password analysis and research system‖, 2015 [13] https://blogs.dropbox.com/tech/2012/04/zxcvbn -realistic-password-strength-estimation/ [14] https://tools.ietf.org/html/rfc4086 [15] https://www.informatik.unileipzig.de/~duc/Dict [16] https://github.com/danielmiessler/SecLists/blob/ master/Passwords/xato-net-10-million-passwords100000.txt [17] https://xato.net/10-000-top-passwords 6d63807 16fe0 [18] https://raw.githubusercontent.com/danielmiessl er/SecLists/master/Passwords/Leaked-Databases/ phpbb.txt [19] https://leakedsource.ru/blog/myspace [20] https://raw.githubusercontent.com/danielmiess ler/SecLists/master/Passwords/LeakedDatabases/myspace.txt [21] http://www.mediafire.com/file/tttc26nlemi8ntb /6tr-user-vn-zoom.rar 68 Số 2.CS (08) 2018 SƠ LƢỢC VỀ TÁC GIẢ CN Hoàng Thu Phương Đơn vị cơng tác: Viện KH-CN mật mã, Ban Cơ yếu Chính phủ Email: thuphuonghoang306@gmail.com Quá trình đào tạo: Nhận kỹ sƣ Đại học Thƣợng Hải 2012 Hƣớng nghiên cứu nay: Bảo mật thiết bị di động ThS Trần Sỹ Nam Đơn vị công tác: Viện KH-CN mật mã, Ban Cơ yếu Chính phủ Email: transynam1989@gmail.com Q trình đào tạo: Nhận kỹ sƣ chuyên ngành An toàn thông tin Hệ thống mạng Học viện FSO, Nga nhận thạc sĩ chuyên ngành Kỹ thuật mật mã Học viện Kỹ thuật mật mã 2018 Hƣớng nghiên cứu nay: Bảo mật mạng, liệu lƣu trữ ... phƣơng pháp đánh giá độ mạnh mật dựa entropy thử nghiệm đánh giá hoạt động phƣơng pháp đánh giá độ mạnh mật Kết thử nghiệm sử dụng phƣơng pháp đƣợc đề xuất để đánh giá độ an toàn mật ngƣời dùng... lập mật khẩu, việc bổ sung từ điển tiếng Việt giúp đánh giá độ mạnh mật ngƣời dùng sử dụng ngơn ngữ tiếng Việt cách xác Các kết đánh giá độ mạnh mật giúp nhà quản trị hệ thống đƣa sách tạo mật. .. cụ đánh giá độ mạnh mật Công cụ đánh giá mật phần mềm đƣợc sử dụng để kiểm tra độ mạnh mật cho nhằm phát và/hoặc ngăn chặn việc sử dụng mật yếu [5] Chức công cụ đánh giá mật cung cấp phản hồi độ