Khôi phục mật khẩu người dùng của hệ thống quản trị nội dung dotnetnuke

51 267 0
Khôi phục mật khẩu người dùng của hệ thống quản trị nội dung dotnetnuke

Đ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

MỤC LỤC CHƢƠNG MỞ ĐẦU ………………………………………………………………………3 CHƢƠNG 1: HỆ QUẢN TRỊ NỘI DUNG DOTNETNUKE ………………………… Giới thiệu hệ quản trị nội dung DotNetNuke………… 1.1 Khái niệm 1.2 Các tính DotNetNuke 1.3 Kiến trúc tảng DotNetNuke Cơ chế bảo vệ mật ngƣời dùng DotNetNuke………………………………8 2.1 Sơ lƣợc ASP NET Membership 2.2 Phƣơng thức lƣu trữ mật ASP.NET Membership 2.3 Các hàm băm thƣờng dùng 10 2.3.1 Hàm băm MD5 11 2.3.2 Hàm băm Chuẩn SHA (Secure Hash Algorithm) 16 2.3.3 So sánh MD5 SHA 19 CHƢƠNG 2: HỒI PHỤC MẬT KHẨU DOTNETNUKE…………………………… 21 Sơ lƣợc phƣơng pháp hồi phục mật cho DNN………………………………21 Phân tích yêu cầu cho hệ thống hồi phục mật khẩu………………………………… 23 Kiến trúc hệ thống hồi phục mật khẩu……………………………………………… 23 Thiết kế thành phần hệ thống hồi phục mật khẩu……………………………25 4.1 Thiết kế thành phần WebUI 25 4.2 Thiết kế thành phần WebAPIs 28 4.3 Thiết kế thành phần CSDL 30 4.4 Thiết kế phân hệ back-end 31 4.4.1 Thành phần Master 33 4.4.2 Thành phần Worker 34 4.4.3 Tìm kiếm mật tƣơng ứng mã băm MD5, SHA1 CPU 36 4.4.4 Tìm kiếm mật tƣơng ứng mã băm MD5, SHA1 GPU 37 CHƢƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ……………………………………… 40 Môi trƣờng thử nghiệm……………………………………………………………… 40 Một số kết thử nghiệm ……………………………………………………………41 2.1 Một số giao diện hệ thống 41 2.1.1 Đăng nhập hệ thống 41 2.1.2 Giao diện 42 2.1.3 Giao diện theo dõi tài nguyên hệ thống 42 2.1.4 Danh sách tác vụ thực giải mã SHA1 43 2.1.5 Thực tác vụ 43 2.1.6 Thông tin ngƣời dùng 44 2.1.7 Danh sách tài khoản 44 2.2 Kịch thử nghiệm 44 2.2.1 Qui trình làm việc thao tác Khởi tạo tác vụ 44 2.2.2 Qui trình làm việc thao tác Theo dõi tác vụ 45 2.2.3 Qui trình làm việc thao tác Hủy tác vụ 45 2.3 Kết thử nghiệm 46 Đánh giá kết quả……………………………………………………………………… 47 KẾT LUẬN……………………………………………………………………………….48 Tài liệu tham khảo……………………………………………………………………… 50 DANH MỤC HÌNH VẼ Hình1: Kiến trúc tảng DNN Hình2 Lưu trữ thông tin người dùng DNN…………………………………… Hình3 Một thao tác MD5—MD5 bao gồm 64 tác vụ này, nhóm vòng, vòng 16 tác vụ ………………………………………………………………………… Hình4 Thuật toán SHA-1………………………………………………………………… 12 17 Hình5 Kiến trúc hệ thống hồi phục mật ………………………………………… 24 Hình6 Luồng thực thi CodeIgnitor………………………………………………… 28 Hình7 Các lớp WebUI……………………………………………………………… Hình8 Lược đồ quan hệ…………………………………………………………………… 28 30 Hình9 Trình tự thực thi công việc……………………………………………………… Hình10 Trình tự cập nhật tài nguyên…………………………………………………… Hình11 Biểu đồ trạng thái luồng tìm kiếm ……………………………………… 31 32 36 Hình12 Giao diện đăng nhập hệ thống………………………………………………… Hình13 Giao diện chính………………………………………………………………… Hình14 Giao diện quản lý tài nguyên………………………………………………… 42 42 42 Hình15 Giao diện quản lý tác vụ……………………………………………………… Hình16 Giao diện tạo lập tác vụ mới…………………………………………………… 43 43 Hình17 Giao diện thay đổi thông tin người dùng…………………………………… Hình18 Giao diện quản lý tài khoản…………………………………………………… 44 44 46 46 47 Hình 19: Mật 6,8,10 ký tự hàm băm SHA1 cho việc thử nghiệm…………………… Hình 20: Thời gian tìm kiếm thành công CPU GPU ………………………………… Hình 21: Độ tăng tốc (speedup) so vớiss CPU …………………………………………………… CHƢƠNG MỞ ĐẦU DotNetNuke (DNN) hệ quản trị nội dung mã nguồn mở viết ngôn ngữ lập trình VB.NET tảng ASP.NET DNN đƣợc đánh giá hệ thống quản trị nội dung mã nguồn mở NET phát triển mạnh với số lƣợng thành viên đông đảo phát triển nhanh khắp giới, có Việt Nam (ví dụ cộng đồng NukeViet) DNN đƣợc nhiều tổ chức sử dụng nhƣ công cụ để quảng bá, trao đổi thông tin Cũng giống nhƣ nhiều hệ thống quản trị nội dung khác, thông tin hệ thống dễ dàng thu thập nhƣ ngƣời công thu đƣợc thông tin mật ngƣời dùng Để bảo vệ, DNN mã hóa mật ngƣời dùng mã băm, lƣu trữ chúng sở liệu dùng mã băm làm sở để đối sánh chúng với mã băm mật đƣợc nhập vào ngƣời dùng đăng nhập Bằng cách đó, kể ngƣời công thâm nhập đƣợc vào hệ thống, thu đƣợc mã băm mật khẩu, khó dùng chúng để lấy đƣợc nội dung thông tin cần thiết Khi đó, có khả để làm đƣợc việc dựa mã băm, dò ngƣợc lại để tìm mật ngƣời dùng Do chất mã băm kết hàm băm chiều, việc dò ngƣợc thƣờng đòi hỏi lực tính toán lớn cho việc thử sai Mục tiêu luận văn việc nghiên cứu khả bảo mật DNN thông qua việc thử nghiệm hồi phục mật ngƣời dùng DNN dựa mã băm thu thập Công cụ để thực việc hệ thống tính toán hiệu cao, có sử dụng xử lý đồ họa đa dụng có lực tính toán lớn Việc nghiên cứu khả bảo mật hệ thống quản trị nội dung nhƣ DNN đóng vai trò quan trọng việc định ứng dụng công cụ cho việc quảng bá trao đổi thông tin Các nhiệm vụ đề tài bao gồm:  Thiết kế, xây dựng, thử nghiệm hệ thống hồi phục mật hệ quản trị nội dung DNN sử dụng hệ thống tính toán hiệu cao có trang bị xử lý đồ họa đa dụng  Đánh giá khả bảo mật DNN dựa kết thử nghiệm Luận văn đƣợc chia làm chƣơng cụ thể nhƣ sau:    CHƢƠNG 1: Giới thiệu Hệ quản trị nội dung DotNetNuke CHƢƠNG 2: Trình bày thiết kế hệ thống hồi phục mật cho DotNetNuke CHƢƠNG 3: Thử nghiệm đánh giá CHƢƠNG 1: HỆ QUẢN TRỊ NỘI DUNG DOTNETNUKE Chƣơng tập trung giới thiệu hệ quản trị nội dung DotNetNuke (DNN), đặc biệt chế lƣu trữ bảo vệ mật ngƣời dùng DNN Giới thiệu hệ quản trị nội dung DotNetNuke 1.1 Khái niệm DotNetNuke hệ thống quản lý nội dung mã nguồn mở viết ngôn ngữ lập trình VB.NET tảng ASP.NET, hệ quản trị sở liệu MS SQL server Oracle, tùy biến dựa Skin Module DNN đƣợc đánh giá hệ thống quản trị nội dung mã nguồn mở NET phát triển mạnh với số lƣợng thành viên đông đảo phát triển nhanh khắp giới 1.2 Các tính DotNetNuke  Hệ thống quản lý nội dung trực quan: - DNN quản lý nội dung theo menu tình huống, module có menu tƣơng ứng xuất biểu tƣợng bên trái tiêu đề Module Ngƣời sử dụng dễ dàng tìm chức điều khiển hay quản trị module cách nhanh chóng tƣơng ứng với quyền quản trị - Các module đƣợc hiển thị phân bố giao diện dễ dàng nhờ vào từ khoá định trƣớc vùng khác giao diện Chúng ta di chuyển module từ khu vực sang khu vực khác lệnh menu tình dùng cách kéo thả - Nội dung thông tin đƣợc soạn thảo công cụ đƣợc hỗ trợ với công cụ thuận tiện đại nhất: với khả chèn Flash file, Movie, … điều chỉnh thuộc tính đối tƣợng, làm code… - Cấu trúc site (Site Map) đƣợc quản lý cách dễ dàng Ngƣời sử dụng thêm trang vào hệ thống cho phép không cho phép chúng xuất Menu  Quản lý giao diện độc lập, linh hoạt - Giao diện đƣợc phát triển riêng độc lập với chƣơng trình, nhà thiết kế giao diện cho Website làm việc độc lập, cần số tiêu chuẩn giao diện phải tuân thủ, nhà thiết kế quan tâm nhiều đến vấn đề kỹ thuật hệ thống, giao diện sau làm xong đƣợc tích hợp nhanh chóng vào hệ thống - Hệ thống quản lý giao diện DNN ƣu điểm bật so với hệ quản trị nội dung khác Do DNN phù hợp cho Website có yêu cầu giao diện cao phục vụ công tác đối ngoại cho doanh nghiệp, tổ chức…  Quản trị hệ thống với đầy đủ chức - Quản lý phân quyền chức quan trọng DNN Hệ thống phân quyền DNN đƣợc cung cấp chặt chẽ, cho phép nhà quản trị tạo nhiều nhóm quyền (role) khác sau phân công cho ngƣời dùng (user) - Hệ thống phân quyền module tích hợp phân công thông qua quyền tạo hệ thống; việc phân quyền thực đến chức nhỏ module - Hệ thống cung cấp sẵn công cụ quản lý thành viên - DNN cung cấp công cụ quản lý File/ Folder qua giao diện Admin web với đầy đủ chức nhƣ tạo thƣ mục, Upload, Download, Zip/Unzip nhƣ việc phân quyền truy xuất vào hệ thống - Đối với việc quản lý trang thông tin, hệ thống cho phép khôi phục liệu xoá (recylce bin) Việc làm giảm rủi ro quản lý nội dung - Ngoài việc quản trị hệ thống, giải pháp cung cấp nhiều chức khác nhƣ: thống kê truy cập, quản lý nhật ký truy xuất, quản lý nhớ đệm, thời khoá biểu vận hành ứng dụng DNN, chế cài đặt Module thuận tiện khả quản lý nhiều Website thành viên  An toàn bảo mật - Mức ngƣời dùng: Hệ thống đƣợc quản lý phân quyền tập trung chủ động tạo quyền, nhóm quyền riêng cho phân hệ toàn website, thành viên phụ trách phần có quyền truy xuất thông tin vào phần - Mức liệu:Mã hoá liệu (Password đƣợc mã hóa theo chuẩn SHA1), Sử dụng SSL(Security Socket Layer) dành cho hệ thống thành viên, đăng nhập 1.3 Kiến trúc tảng DotNetNuke DNN đƣợc xây dựng dựa kiến trúc tảng nhƣ mô tả hình Hình 1: Kiến trúc tảng DNN Trong đó:  Tầng giao diện (Presentation Layer): nhìn thấy tác động đƣợc bề mặt trang Web Các thành phần đại diện cho giao tiếp ngƣời sử dụng trang web Chúng đƣợc xây dựng từ User Controls (.ascx)  Tầng logic nghiệp vụ (Business Logic Layer - BLL): tầng cung cấp/xử lý liệu cho giao diện ngƣời sử dụng (tầng giao diện) Đây nơi mà DNN xây dựng đoạn mã xử lý hàm, yêu cầu nghiệp vụ  Tầng truy cập liệu (Data Access Layer - DAL): tầng tƣơng tác trực tiếp đến sở liệu, thực mục đích cụ thể lên liệu mà tầng BLL đƣa nhƣ xử lý hàm, yêu cầu liên quan đến việc trích dẫn, cập nhật xóa nội dung sở liệu Cơ chế bảo vệ mật ngƣời dùng DotNetNuke Cũng nhƣ đa số hệ quản trị nội dung (và ứng dụng web) khác, DNN bảo mật theo chế sử dụng tên truy nhập/mật Ngƣời dùng đƣợc cấp quyền chỉnh sửa nội dung hệ thống DNN thông qua tên truy nhập mật để đăng nhập sau thực thao tác theo quyền hạn đƣợc giao Là hệ thống quản trị nội dung xây dựng tảng NET, DNN kế thừa, sử dụng hệ thống quản lý tài khoản quyền hạn truy nhập có sẵn NET (ASP.NET Membership) 2.1 Sơ lược ASP NET Membership ASP.NET cung cấp phƣơng thức sẵn có để lƣu trữ tài khoản chứng thực ngƣời dùng cho ứng dụng tảng NET Thành phần hỗ trợ chức sau:  Tạo tài khoản ngƣời dùng mật  Lƣu trữ thông tin tài khoản ngƣời dùng mật sở liệu Microsoft SQL Server, Active Directory sở liệu khác  Thực chứng thực giao diện lập trình thông qua login control  Quản lý mật khẩu, bao gồm việc tạo mật khẩu, thay đổi mật khẩu, khởi tạo lại (reset) mật  Có tính mở - ngƣời dùng bổ sung, thay phƣơng thức quản lý tài khoản có sẵn ngƣời dùng 2.2 Phương thức lưu trữ mật ASP.NET Membership Thông tin ngƣời dùng mật DNN nói riêng hay ứng dụng ASP.NET nói chung đƣợc lƣu trữ sở liệu theo lƣợc đồ quan hệ sau: Hình Lưu trữ thông tin người dùng DNN Trong sở liệu này, thông tin ngƣời dùng đƣợc lƣu trữ bảng aspnet_Users Do sở liệu ngƣời dùng phục vụ cho nhiều ứng dụng đồng thời, ghi ngƣời dùng có khóa ApplicationID đại diện cho ứng dụng Thông tin cụ thể ứng dụng đƣợc lƣu trữ bảng aspnet_Application Chi tiết thông tin ngƣời dùng đƣợc lƣu trữ bảng aspnet_Profile Các vai trò (role) ngƣời dùng, sử dụng cho hệ thống xác quyền (authorization) đƣợc lƣu trữ bảng aspnet_Roles bảng quan hệ aspnet_UserInRoles Hình 11 Biểu đồ trạng thái luồng tìm kiếm 4.4.3 Tìm kiếm mật tƣơng ứng mã băm MD5, SHA1 CPU Mỗi tác vụ tìm kiếm mật nhận thông tin đầu vào từ ngƣời sử dụng là: - Mã băm mật cần tìm - Hàm băm (MD5, SHA1) - Độ dài mật - Bảng ký tự - Tài nguyên cần thiết (số CPU, số GPU) Tác vụ đƣợc chia nhỏ thành tác vụ con, tác vụ đƣợc thực thi đơn vị tài nguyên (CPU GPU), với nhiệm vụ thử/sai tập mật không gian tìm kiếm Để đơn giản hóa nhiệm vụ tìm kiếm (đồng nghĩa với việc tăng hiệu tìm kiếm), tác vụ có vai trò tìm kiếm số lƣợng mật liên tục, mật sở Ví dụ, cho bảng ký tự {a,b,c}, mật sở “abc”, mật liên tục từ mật sở {abc, aca, acb, acc, baa} Giải thuật tìm kiếm mật tác vụ đƣợc mô tả nhƣ sau: Tìm kiếm mật Đầu vào: - Mã băm hash mật cần tìm - Hàm băm h (MD5/SHA1) - Mật sở cn-1…c1c0 - Số lượng mật cần tìm count 36 Đầu ra: - Mật cần tìm - NONE (nếu không tìm thấy) Giải thuật: pw = cn-1…c1c0 for i = to count if h(pw) = hash then return pw else pw = nextpw(pw) endif endfor return NONE Trong hàm nextpw đóng vai trò xác định mật cách thử tăng giá trị ký tự ci (i 0), ci vƣợt bảng ký tự, đặt ci ký tự đầu bảng tiếp tục thử tăng giá trị ký tự ci+1 Các đoạn mã tính toán mã băm MD5 SHA-1 đƣợc xây dựng theo giải thuật trình bày chƣơng Chi tiết đoạn mã nhƣ kỹ thuật tối ƣu cụ thể không đƣợc trình bày luận văn 4.4.4 Tìm kiếm mật tƣơng ứng mã băm MD5, SHA1 GPU Điểm khác biệt lớn giải thuật tìm kiếm mật GPU so với giải thuật tìm kiếm mật CPU không gian tìm kiếm (số lƣợng mật cần tìm) tác vụ lại tiếp tục đƣợc chia nhỏ đƣợc phân phối đến số lƣợng lớn tiến trình GPU thông qua lời gọi tới GPU kernel XXXCudaKernel( fHashUint4, d_kernelRes, texBase, fInputLen, texCharset , fCharsetLen, worksize ); 37 Trong lời gọi (MD5CudaKernel SHA1CudaKernel), số lƣợng tiến trình GPU đƣợc xác định thông qua thông số dimGrid dimBlock Ở dimBlock định nghĩa số lƣợng tiến trình block, dimGrid định nghĩa số lƣợng block lƣới tiến trình Rất may kích thƣớc đƣợc lựa chọn tối ƣu cho GPU thông qua hàm thƣ viện cudaOccupancyMaxPotentialBlockSize() CUDA Các tham số khác nhân CUDA đƣợc diễn giải nhƣ sau: - fHashUint4 : mã băm mật cần tìm kiếm - d_kernelRes: địa nhớ CUDA lƣu kết mật tìm thấy - texBase: mật sở - fInputLen: độ dài mật - texCharset: bảng ký tự - fCharsetLen: số lƣợng ký tự bảng ký tự - worksize: tổng số mật cần thử Với tham số nhƣ vậy, lời gọi tới nhân GPU đƣợc thực tổng số luồng là: numThread = dimGrid x dimBlock Thông thƣờng hàng chục ngàn luồng logic đƣợc khởi tạo thực thi Số lƣợng mật cần thử tiến trình là: worksizePerThread = worksize / numThread Luồng thứ i (i chạy từ đến worksizePerThread) thử mật từ: i x worksizePerThread đến ((i + 1) x worksizePerThread – 1) tính từ mật sở Để tối ƣu cho việc truy nhập nhớ, tham số đọc nhƣ mật sở texBase, ký tự texCharset đƣợc lƣu vùng nhớ texture GPU Nhờ vậy, nhiều tiến trình đồng thời truy nhập vào chúng mà không xảy đụng độ Kết lời gọi GPU cần tất tiến trình kết thúc, thƣờng không nên chọn số lƣợng worksize lớn nhỏ Nếu lớn thời gian thực lời gọi dài dù mật đƣợc tìm thấy Ngƣợc lại, 38 số lƣợng mật nhỏ, chi phí để truyền liệu vƣợt qua chi phí tính toán, dẫn đến GPU làm việc hiệu Cũng giống nhƣ với CPU, đoạn mã tính toán mã băm MD5 SHA-1 GPU đƣợc xây dựng theo giải thuật trình bày chƣơng không đƣợc trình bày chi tiết luận văn 39 CHƢƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ Nội dung chƣơng trình bày việc cài đặt thử nghiệm cho hệ thống hồi phục mật Các đánh giá kết thử nghiệm đƣợc thực nội dung chƣơng Môi trƣờng thử nghiệm Hệ thống hồi phục mật đƣợc xây dựng theo thiết kế trình bày chƣơng Hệ thống đƣợc triển khai thử nghiệm môi trƣờng phần cứng bao gồm: - Hệ thống front-end sở liệu  Sử dụng máy chủ đóng vai trò làm WebUI, WebAPIs CSDL  Cấu hình  CPU Intel Core i7 4510U  RAM: 4GB  OS phần mềm hệ thống: o OpenSuse 42.1 o GCC 4.8.5 x86_64 o Python 2.7.9 Modules: kombu, flask, mysql-python o MariaDB 10.0.22 o Boost 1.54 o RabbitMQ 3.6.1 - Hệ thống back-end  Gồm máy chủ Master máy thợ (tính Master) với cấu hình  2x CPU Xeon lõi  32GB RAM  GPU NVIDIA K20 40  Master node:  OS: Redhat Enterpise 6.5  GCC 4.8.5 x86_64  Python 2.7.9 Modules: kombu, flask, mysqlpython  Boost 1.54  RabbitMQ 3.6.1  NVIDIA CUDA  MasterAgent, MasterTaskManager  WorkerAgent, WorkerTaskManager  Worker node:  OS: Redhat Enterpise 6.5  GCC 4.8.5 x86_64  Python 2.7.9 Modules: kombu, flask, mysqlpython  Boost 1.54  RabbitMQ 3.6.1  NVIDIA CUDA  WorkerAgent, WorkerTaskManager Một số kết thử nghiệm Hệ thống thực đƣợc chức nhƣ phân tích Sau số giao diện chƣơng trình kịch thử nghiệm 2.1 Một số giao diện hệ thống 2.1.1 Đăng nhập hệ thống 41 Hình 12 Giao diện đăng nhập hệ thống 2.1.2 Giao diện Hình 13 Giao diện 2.1.3 Giao diện theo dõi tài nguyên hệ thống Hình 14 Giao diện quản lý tài nguyên 42 2.1.4 Danh sách tác vụ thực giải mã SHA1 Hình 15 Giao diện quản lý tác vụ 2.1.5 Thực tác vụ Hình 16 Giao diện tạo lập tác vụ 43 2.1.6 Thông tin ngƣời dùng Hình 17 Giao diện thay đổi thông tin người dùng 2.1.7 Danh sách tài khoản Hình 18 Giao diện quản lý tài khoản 2.2 Kịch thử nghiệm Các kịch thử nghiệm đƣợc mô tả nhƣ sau: 2.2.1 Qui trình làm việc thao tác Khởi tạo tác vụ - Bƣớc 1: Trên giao diện [hình 16] ngƣời sử dụng nhập thông số cho tác vụ cần chạy bao gồm: o Lựa chọn loại tác vụ (ví dụ chọn loại hàm băm MD5 hay SHA1 …) o Lựa chọn số lƣợng tài nguyên sử dụng cho tác vụ; o Lựa chọn (khoanh vùng) phạm vi không gian mật khẩu: độ dài chuỗi - tập kí tự -tập luật - Bƣớc 2: Web server ghi nhận yêu cầu khởi tạo tác vụ, cập nhật vào CSDL, 44 - Bƣớc 3: Tại module backend: đẩy tác vụ đƣợc tạo lên theo chế FIFO, kiểm tra tài nguyên yêu cầu tài nguyên rảnh; đủ tài nguyên thực tiếp bƣớc Nếu không thành công liên tục lặp lại khi: (a) có tài nguyên trống để cấp phát Hoặc (b) không task hàng đợi - Bƣớc 4: Gửi lệnh tạo tác vụ đến cho worker; worker vào lệnh để tạo instance tƣơng ứng - Bƣớc 5: Các worker liên tục gửi phản hồi đến master; master vào phản hồi để gửi thông điệp đáp trả cho worker - Bƣớc 6: Task dừng khi: (a) có lệnh hủy từ ngƣời dùng Hoặc (b) điều kiện dừng nghiệp vụ đƣợc thỏa mãn 2.2.2 Qui trình làm việc thao tác Theo dõi tác vụ a Master vào lệnh report_pull_request để theo dõi yêu cầu lô liệu gửi cho worker xử lý b Master cập nhật thông tin cho task vào số lô liệu gửi tổng khối lƣợng liệu: thời gian chạy lại (ƣớc tính); khối lƣợng liệu chạy qua 2.2.3 Qui trình làm việc thao tác Hủy tác vụ a Ngƣời dùng chọn “hủy” giao diện b Frontend truy cập database, đánh dấu task đƣợc hủy “DEACTIVATED” trƣờng “current_state” c Backend master phát task đƣợc đánh dấu này, (1) ngƣng phản hồi yêu cầu liệu task (2) gửi thông điệp hủy task cho worker chạy task 45 2.3 Kết thử nghiệm Các quy trình thử nghiệm đƣợc thực với số mã băm SHA1 cho trƣớc Do việc thu thập liệu mã băm (pha 1) từ CSDL DotNetNuke nằm phạm vi thực luận văn, luận văn sử dụng số mã băm tƣơng ứng với mật cho trƣớc nhƣ sau: Bảng ký tự: Chữ thƣờng, chữ hoa, số (62 ký tự) Độ dài tối đa: 10 Hàm băm: SHA-1 Mật Mã băm Abcdef 1f8ac10f23c5b5bc1167bda84b833e5c057a77d2 abcd1234 7ce0359f12857f2a90c7de465f40a95f01cb5da9 abc1234ABC aa498a1441c27c4a1b50c8b91a83ac00728f1ac1 Hình 19: Mật 6,8,10 ký tự hàm băm SHA1 cho việc thử nghiệm Thời gian thực phục hồi mật cho mã băm hệ thống đƣợc ghi nhận nhƣ bảng sau: Mật CPU 1GPU 4GPU 8GPU 12 GPU Abcdef 21.4s 1.15s 1.28s 1.23s 1.21s abcd1234 83,157s 426.4s 103.5s 53.1s 37s 23h5p57s 7p6s 1p43s - - - - 192,438s abc1234ABC 53h27p18s Hình 20: Thời gian tìm kiếm thành công CPU GPU 46 Hình 21: Độ tăng tốc (speedup) so với CPU Lý giải cho kết thực nghiệm:  Với mã băm có độ dài ký tự, thời gian phục hồi mật không đáng kể so với chi phí khác (nhƣ chi phí truyền thông, khởi tạo tiến trình,…) nên việc sử dụng hệ thống hiệu cao không mang lại lợi ích  Với mã băm có độ dài 10 ký tự, thời gian thực cấu hình tài nguyên thấp (CPU, 1GPU, 4GPU, 8GPU) dài nên luận văn thực cấu hình đầy đủ (12GPU) hệ thống Đánh giá kết Bài toán hồi phục mật đòi hỏi khối lƣợng tính toán lớn, độ dài mật tăng số lƣợng phép tính tăng lên theo hàm mũ, việc sử dụng tốc độ CPU phƣơng án không hiệu Các kết nghiên cứu cho thấy kiến trúc GPU cho phép tăng đáng kể tốc độ tính toán loại toán thực nghiệm tính toán đề tài rõ điều Chƣơng trình chạy hệ thống mô máy tính cá nhân với card đồ họa Nvidia Geforce GT740M mật có độ dài nhỏ chƣa làm bật đƣợc lợi hệ thống tính toán hiệu cao Trên thực tế với hệ thống node tính toán 12 card đồ họa GPU Nvidia K20 mà đề tài triển khai thực tế thể rõ sức mạnh tính toán card GPU toán thuộc nhóm hồi phục loại mật đƣợc sử dụng để bảo vệ liệu lƣu trữ 47 KẾT LUẬN Cuộc cách mạng KHCN thập kỷ cuối Thế kỷ XX, đặc biệt lĩnh vực Công nghệ thông tin dẫn tới bùng nổ thông tin; Tuy nhiên, nhu cầu ngƣời dƣờng nhƣ giới hạn, tốc độ phát triển máy tính hệ thống máy tính thông thƣờng khó đáp ứng đƣợc toán đòi hỏi tính toán, xử lý lƣợng liệu lớn “khoảng thời gian chấp nhận đƣợc” Việc phân tích mật mã hay hồi phục mật tập tin đƣợc bảo vệ toán đòi hỏi lƣợng tính toán lớn Chúng ta biết, lĩnh vực CNTT-TT nay, mật mã thuật toán mã hóa đƣợc sử dụng ngày nhiều, điển hình nhƣ hệ thống hàm băm chiều (nhƣ MD5 hay SHA - đề cập đề tài) đƣợc sử dụng để bảo mật, xác thực thông tin đồng thời thu gọn không gian lƣu trữ, Một hình thức lƣu trữ truyền tin phổ biến ngƣời không chuyên nhƣ chuyên nghiệp nén liệu, ví dụ thuật toán nén ZIP, có sử dụng mật bảo mật gửi thông tin kênh không an toàn (Mật đƣợc quy ƣớc trƣớc đƣợc gửi theo kênh khác) Các thuật toán đƣợc nhà lập mã tính toán thiết kế cho hệ thống máy tính thông thƣờng phân tích đƣợc kết thời gian ngắn, phải thực khối lƣợng tính toán lớn Trƣớc toán yêu cầu tính toán xử lý l ƣợng liệu lớn trung tâm tính toán lớn, đƣợc trang bị Siêu máy tính đảm nhận Sự phát triển công nghệ chế tạo thiết bị phần cứng công nghệ phần mềm cho phép tiếp cận với hệ thống tính toán hiệu cao (kiểu nhƣ cụm máy tính hay công nghệ tính toán sử dụng card đồ họa GPU) đặc biệt có giá thành mức độ chấp nhận đƣợc ngày rẻ Với mục tiêu nghiên cứu hồi phục mật cho hệ thống quản trị nội dung DNN, đặc biệt có thêm thông tin “bổ sung” cấu trúc mật để từ hình thành không gian mật nhỏ hơn, không phụ thuộc độ dài mật giảm đáng kể thời gian so với phƣơng pháp vét cạn Thêm vào đó, mật rơi vào vùng có xác suất xuất cao thời gian khôi phục mật cho toán sử dụng đƣợc 48 Kết thu đƣợc hệ thống thực cho thấy, có thêm số nội dung bổ sung việc khôi phục mật với độ dài - 10 ký tự hoàn toàn thực khoảng thời gian chấp nhận đƣợc Giải pháp song song sử dụng GPU đƣợc đề tài phát triển, hoàn thiện để sử dụng hiệu toán khôi phục mật tệp tin lƣu trữ nhƣ MS-Office, Pdf, Zip, rar… 49 Tài liệu tham khảo [1] F I P S P 197 Advanced encryption standard (aes), 2001 [2] N T Courtois and J Pieprzyk Cryptanalysis of block ciphers with overdefined systems of equations, 2002 [3] E F Foundation Cracking DES: Secrets of Encryption Research, Wiretap Politics and Chip Design O’Reilly & Associates, Inc, 1998 [4] D Kahn The Codebreakers - The Story of Secret Writing 1967 [5] A Klein Attacks on the rc4 stream cipher Des Codes Cryptography, 48(3):269–286, 2008 [6] A Narayanan and V Shmatikov Fast dictionary attacks on passwords using time space tradeoff [7] NVIDIA http://www.nvidia.com/object/cuda_home_new.html [8] PKWARE Zip file format specification, 2007 [9] M Weir, S Aggarwal, B d Medeiros, and B Glodek Password cracking using probabilistic context-free grammars [10] Phan Đức Dũng, Dƣơng Nhật Tân, Phạm Hồng Phong, Nguyễn Hữu Đức, “Ứng dụng công nghệ tính toán CUDA toán khôi phục mật tệp nén ZIP”, [11] Pham Hong Phong, Phan Duc Dung, Duong Nhat Tan, Nguyen Huu Duc, Nguyen Thanh Thuy, “Password Recovery for encrypted ZIP archieves using GPUs” [12] RFC1951 - DEFLATE Compressed Data Format Specification [13] AES project http://www.gladman.me.uk/cryptography_technology/fileencrypt/ [14] Zlib library http://www.zlib.net/ [15] Aes encrytion info http://www.winzip.com/aes_info.htm [16] RFC 2898 - Password-Based Cryptography Specification Version 2.0 50 ... giới thiệu hệ quản trị nội dung DotNetNuke (DNN), đặc biệt chế lƣu trữ bảo vệ mật ngƣời dùng DNN Giới thiệu hệ quản trị nội dung DotNetNuke 1.1 Khái niệm DotNetNuke hệ thống quản lý nội dung mã... CHƢƠNG 1: Giới thiệu Hệ quản trị nội dung DotNetNuke CHƢƠNG 2: Trình bày thiết kế hệ thống hồi phục mật cho DotNetNuke CHƢƠNG 3: Thử nghiệm đánh giá CHƢƠNG 1: HỆ QUẢN TRỊ NỘI DUNG DOTNETNUKE Chƣơng... 2: HỒI PHỤC MẬT KHẨU DOTNETNUKE Chƣơng trình bày phƣơng pháp hồi phục mật cho hệ quản trị nội dung DNN dựa việc thu thập mã băm mật DNN kỹ thuật hồi phục mật từ mã băm sử dụng công nghệ tính

Ngày đăng: 25/07/2017, 21:38

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • CHƯƠNG MỞ ĐẦU

  • CHƯƠNG 2: HỒI PHỤC MẬT KHẨU DOTNETNUKE

  • CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ

  • KẾT LUẬN

  • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan