Xây dựng ứng dụng

Một phần của tài liệu Nghiên cứu giải pháp bảo mật và xác thực website (Trang 75)

3.2.1. Server

Server của hệ thống là nơi khởi tạo kết nối và thực hiện các chức năng sau:

1. Khởi tạo kết nối, làm điểm truy nhập của các Client. 2. Lưu giữ các PublicKey của các Client đang kết nối. 3. Đăng kí mới, sửa, xóa các eToken đã đăng kí tài khoản. 4. Chat với mọi Client.

5. Gửi file cho mọi Client.

Để vào mục quản lý tài khoản, ta ấn nút Account Manager, để bắt đầu Server ta ấn nút Start. Các Client sau khi kết nối tới Server này sẽ hiển thị ở ô bên trái màu vàng.

Hình 3.9: Màn hình chính của Server

Dưới đây là màn hình quản lý tài khoản, cũng chính là cơ sở dữ liệu của hệ thống. Lưu trữ lại các thông tin cùng với khóa công khai.

Hình 3.10: Màn hình quản lý tài khoản

Với mục tiêu quản lý người dùng. Những ai muốn sử dụng phần mềm phải có token và phải mang token đó để cho Server để đăng kí sử dụng.

Hình 3.11: Màn hình thêm tài khoản

Sau khi thêm tài khoản, người quản trị Server có thể sửa đổi thông tin của tài khoản đó, trừ tên đăng nhập.

3.2.2. Client

Client của hệ thống là những người sử dụng mạng. Họ bắt buộc phải có token, ở đây đóng vai trò như chìa khóa để sử dụng phần mềm này. Nếu

trong quá trình sử dụng, rút token, Client sẽ kết thúc. Các chức năng của Client:

1.Chat với Server, Client. 2.Gửi file tới Server, Client.

3.Hiển thị danh sách các Client đang sử dụng phần mềm.

Trước tiên, người dùng cần cắm token vào máy tính chạy Client, sau đó thực hiện đăng nhập theo yêu cầu

Hình 3.12: Màn hình đăng nhập pin Usb token

Hình 3.13: Màn hình đăng nhập user

Nếu đăng nhập thành công, ta sẽ vào được giao diện chính của Client. Đây là màn hình có thể xem danh sách Client đang online và cũng nơi giao tiếp trực tiếp với Server.

Hình 3.14: Màn hình chính của Client

Với giao diện trên ta có thể chat và gửi file tới Server hoặc Client khác. Do kết nối socket không ổn định và mã hóa RSA làm giảm tốc độ nên không được gửi file quá lớn.

Hình 3.15: Màn hình chọn file Khi nhận được file, sẽ có thông báo nhận file

Tất cả các Client đều phải cắm token khi sử dụng, trong quá trình sử dụng, vì bất kì lý do gì không tìm thấy token, chương trình lập tức hiện ra cảnh báo và thoát khỏi chương trình ngay lập tức.

Hình 3.17: Màn hình cảnh báo không thấy token

Ứng dụng hướng đến đối tượng sử dụng cần sự trao đổi thông tin nội bộ, bảo mật và kiểm soát người dùng trong môi trường trao đổi thông tin giữa Client – Server. USB eToken là chìa khóa để sử dụng phần mềm này. Tin tặc có thể bắt được gói tin nhưng nếu không có USB eToken, hắn sẽ không thể giải mã gói tin vì không có PrivateKey. Đây là hình ảnh file đã mã hóa, cũng chính là file mà tin tặc bắt được nhưng không thể giải mã:

Hình 3.18: So sánh 2 file mã hóa và gốc

Khi thực hiện ký số dữ liệu, ta chọn file cần ký sau đó chọn chứng thư số từ USB token hoặc file có sẵn trên máy tính để lấy thông tin ký trên file. Giao diện ký số dữ liệu thể hiện qua (Hình 3.19).

Hình 3.19: Ký số dữ liệu

Khi tiến hành xác thực, ta chọn file file dữ liệu cần xác thực và thực hiện xác thực dữ liệu (Verify). Nếu dữ liệu không bị thay đổi thì thông báo xác thực thành công, nếu tài liệu bị thay đổi thì đưa ra thông báo dữ liệu đã bị thay đổi. Điều này sẽ đảm bảo tính toàn vẹn và chống chối từ của văn bản.

Phần mềm đã giải quyết được các vấn đề:

1. Quản lý người dùng bằng cách cấp phát token.

2. Quản lý tài khoản token để quyết định có cho phép truy cập hay không, kể cả khi có token.

3. Người dùng có thể chat và trao đổi file.

4. Mã hóa và giải mã các gói tin trao đổi trong mạng nội bộ. 5. Ký số và xác thực dữ liệu

Những điều phần mềm chưa giải quyết được:

1. Chưa có chứng thực gói tin (kí và kiểm tra chữ kí).

2. Do sử dụng thuật toán để mã hóa và đường truyền bằng socket không ổn định nên chưa thể gửi được file có dung lượng lớn.

- Giao diện có sơ sài, chưa bắt mắt.

- Do tích hợp eToken nên việc nhập mã PIN sai quá 3 lần sẽ khóa eToken lại, gây phiên phức cho người dùng vì nó mang tính bảo mật cao, yêu cầu phải thực hiện đúng.

KẾT LUẬN

Luận văn đã nghiên cứu một số giải pháp như: ký số, xác thực, phân tích các yêu cầu và mô tả giải pháp tích hợp chữ ký số trên nền tảng Web để đáp ứng yêu cầu ứng dụng chữ ký số trên nền webform của các hệ thống thông tin. Từ mô hình giải pháp này có thể nghiên cứu để đưa vào ứng dụng trong xác thực giao dịch điện tử đang được triển khai tại Việt Nam. Qua quá trình nghiên cứu và thực hiện, luận văn đã đạt được những kết quả sau:

1. Trình bày tổng quan an toàn thông tin, các cơ sở khoa học trong an toàn thông tin như; mã hoá và giải mã dữ liệu, thuật toán mã hoá khoá đối xứng, thuật toán mã hoá khoá công khai, chữ ký số, hàm băm, các nguy cơ, rủi ro mất an toàn trong hệ thống thông tin từ đó đưa ra giải pháp xây dựng một hệ thống an toàn thông tin.

2. Trình bày được thực trạng mất an ninh an toàn trên website, các loại hình tấn công website, các kỹ thuật mật mã ứng dụng để bảo mật và một số giải pháp cho việc đảm bảo an ninh an toàn cho website như: Đăng nhập duy nhất, ký số, giao thức xác thực máy chủ SSL.

3. Đã nghiên cứu và đề xuất giải pháp và xây dựng ứng dụng trong môi trường Client – Server về mặt thực nghiệm và kết quả thu được:

- Cài đặt thành công chương trình demo, đã tích hợp được thiết bị eToken vào hệ thống, đã xác thực được người dùng thông qua Usb token, mã hoá và giải mã gói tin giữa Client với Server và ngược lại.

- Đã tích hợp được thuật toán mã hoá RSA vào hệ thống

Do còn nhiều hạn chế về kinh nghiệm, kiến thức, cũng như thời gian thực hiện nên luận văn còn một số hạn chế chưa ứng dụng trên nền web.

Từ những hạn chế gặp phải lúc thực hiện đề tài và sự góp ý của thầy giáo hướng dẫn, Em xin đề xuất hướng phát triển tiếp theo:

1. Chuyển phần mềm thành ứng dụng webbase. Có thể sử dụng không cần cài đặt, có thể sử dụng trên các thiết bị di động.

2. Cải tiến khả năng truyền tải file giữa các người dùng với nhau. 3. Cải tiến giao diện, tích hợp vào cổng thông tin điện tử.

TÀI LIỆU THAM KHẢO Tiếng Việt

[1]. Vân Anh, “701 sự cố an ninh mạng được khắc phục trong quý III/2014”, Tạp chí An toàn thông tin, 2014.

[2]. Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, Đại học Quốc Gia Hà Nội, 1999.

[3]. Hồ Văn Hương, Đào Thị Ngọc Thuỳ, “Ứng dung hệ thống kiểm soát truy nhập một lần”, Tạp chí An toàn thông tin, 2013.

[4]. Hồ Văn Hương, Hoàng Chiến Thắng, “Ký số và xác thực trên nền tảng web”, Tạp chí An toàn thông tin, 2013.

[5].Phạm Huy Điển, Hà Huy Khoái, Mã hoá thông tin cơ sở toán học và ứng dụng, Nhà xuất bản Đại học Quốc gia Hà Nội, 2003.

[6]. Nguyễn Hiếu Minh, Bài giảng lý thuyết mật mã, Học viện Kỹ thuật Quân sự, 2007.

[7]. Nguyễn Thuý Vân, Lý thuyết mật mã, Nhà xuất bản khoa học và kỹ thuật. 2008.

Tiếng Anh

[8].William Stallings,Cryptography and Network Security Principles and Practices, Fourth Edition, 2005.

[9]. Michaelcross, Developers.Guide.to.Web.Application.Security

[10]. Carlisle Adams vµ Steve Lloyd, Understanding PKI: Concepts, Standards and Deployment Considerations, Addison-Wesley, 2003

MỤC LỤC

Trang bìa phụ……….……….

Lời cảm ơn ...

Lời cam đoan ...

Mục lục………

Danh mục các ký hiệu và các chữ viết tắt ...

Danh mục các hình vẽ ...

Danh mục các bảng ...

MỞ ĐẦU ... 1

Chương 1. CƠ SỞ LÝ THUYẾT AN TOÀN THÔNG TIN ... 4

1.1. Tổng quan về an toàn thông tin ... 4

1.2. Cơ sở khoa học trong an toàn thông tin ... 6

1.2.1. Khái niệm về mật mã ………..6

1.2.2. Mã hóa và giải mã dữ liệu ………...7

1.2.3. Hệ mật mã khoá đối xứng ………..8

1.2.4. Hệ mật mã khóa công khai ……….9

1.2.5. Thuật toán mã hóa RSA ………...10

1.2.6. Hàm băm ………..14

1.2.7. Chữ ký số ………..20

1.3. Các nguy cơ và rủi ro mất an toàn đối với hệ thống thông tin ... 25

1.3.1. Nguy cơ mất an toàn đối với hệ thống thông tin ………...25

1.3.2. Đánh giá và xử lý các nguy cơ mất an toàn thông tin ……….25

1.3.3. Rủi ro và quản lý rủi ro trong an toàn thông tin ………26

1.3.4. Quản trị và bảo mật hệ thống thông tin ……….27

1.4. Giải pháp xây dựng một hệ thống bảo mật thông tin ... 27

1.4.1. Mục tiêu hệ thống ……….27

1.4.3. Giải pháp xây dựng hệ thống ………29

Chương 2. GIẢI PHÁP BẢO MẬT VÀ XÁC THỰC TRONG WEBSITE .. 31

2.1. Giới thiệu quá trình phát triển và hoạt động của website ... 31

2.2. Nguy cơ mất an toàn trên website ... 32

2.3. Các loại hình tấn công website ... 35

2.3.1. Tấn công vào vùng ẩn ………..35

2.3.2. Can thiệp vào tham số trên URL ………..35

2.3.3. Tấn công dùng cookie ………..37

2.3.4. Tấn công từ chối dịch vụ DoS (Denial of Service) ………..37

2.3.5. Các cách tấn công chữ ký điện tử ……….39

2.4. Giải pháp bảo mật trong website ... 40

2.5. Giải pháp xác thực trong Website ... 41

2.5.1. Username và Password ……….41

2.5.2. Giải pháp kiểm soát truy nhập hệ thống SSO ………..41

2.5.3. Xác thực máy chủ bằng SSL ………48

2.5.4. Xác thực sử dụng token ……….50

2.5.5. Giải pháp ký số, xác thực tài liệu trên nền tảng Web …………...50

2.5.6. Xây dựng giải pháp ký số trên nền tảng Web ………..54

Chương 3. ĐỀ XUẤT GIẢI PHÁP ... 58

VÀ TRIỂN KHAI XÂY DỰNG HỆ THỐNG ... 58

3.1. Phân tích yêu cầu và thiết kế ứng dụng ... 58

3.1.1. Yêu cầu bài toán ………...58

3.1.2. Sơ đồ ứng dụng ………58

3.1.3. Môi trường hệ thống ……….61

3.1.4. Thiết kế cơ sở dữ liệu ………...62

3.1.5. USB Token ………...62

3.2.1. Server ………64

3.2.2. Client ………... 65

KẾT LUẬN ... 71

Một phần của tài liệu Nghiên cứu giải pháp bảo mật và xác thực website (Trang 75)