Mã hóa thông tin

Một phần của tài liệu Security design patterns in software engineering (Trang 28 - 29)

Mục đích: Không có hệ thống nào an toàn 100%. Kẻ tấn công có thể bằng cách nào đó truy cập vào hệ thống dữ liệu. Do đó, thông tin nhạy cảm trong dữ liệu cần được bảo vệ. Mẫu này trình bày giải pháp để bảo vệ dữ liệu bằng cách mã hóa.

Bối cảnh: Ứng dụng trên web sử dụng dữ liệu nhạy cảm, chẳng hạn như thông tin đăng nhập của người dùng cho các chức năng của nó. Ứng dụng có thể thu thập và lưu trữ thông tin nhạy cảm khác của người dùng.

Vấn đề: Làm thế nào có thể đảm bảo rằng dữ liệu nhạy cảm được thu thập bởi ứng dụng hoặc hệ thống được bảo vệ khỏi những kẻ xâm nhập trái phép?

Yêu cầu:

- Dữ liệu nhạy cảm này cần được bảo vệ nhưng vẫn phải có thể truy cập và có sẵn cho ứng dụng.

- Mã hóa và giải mã có thể ảnh hưởng đến hiệu suất và do đó phải được sử dụng cẩn thận trong trường hợp lượng dữ liệu lớn hoặc số lượng lớn truy cập vào hệ thống.

- Mã hóa dữ liệu nhạy cảm là chưa đủ, khóa mã hóa cũng phải được bảo vệ.

Hình 2.6. Mẫu mã hóa thông tin

Giải pháp: Dữ liệu được phân loại theo độ nhạy của chúng. Dữ liệu nhạy cảm hơn được mã hóa, như mật khẩu người dùng và thông tin thẻ tín dụng trong khi phần không nhạy cảm không được mã hóa. Ngoài ra, khóa mã hóa cũng cần được bảo vệ.

- Khóa mã hóa (để mã hóa và giải mã). - Cơ chế lưu trữ và phân phối các khóa. - Một thuật toán hoặc cơ chế mã hóa.

- Các thành phần của ứng dụng để lấy và sử dụng mã hóa dữ liệu nhạy cảm. - Vị trí để lưu các khóa mã hóa. Bản thân vị trí này phải được bảo vệ

Lợi ích:

- Nếu kẻ tấn công xâm nhập vào hệ thống dữ liệu cũng không đọc được những dữ liệu đã được mã hóa.

- Nếu chỉ mã hóa một lượng nhỏ dữ liệu nhạy cảm, tác động đến hiệu suất có thể được giảm thiểu.

Hạn chế:

- Hiệu suất máy tính có thể bị ảnh hưởng nếu mã hóa số lượng lớn dữ liệu. - Chi phí phát triển có thể tăng lên khi các ứng dụng không thể đơn giản sử dụng các cơ chế do hệ thống môi trường cung cấp.

- Vấn đề về xử lý khóa mã hóa. Một số cơ chế có thể giúp giải quyết vấn đề này như sử dụng một số cơ chế lưu trữ khóa hoặc khóa phần cứng. Sau đó, vấn đề được chuyển sang câu hỏi ai đủ điều kiện sử dụng khóa và làm thế nào để xác minh ủy quyền?

Một phần của tài liệu Security design patterns in software engineering (Trang 28 - 29)

Tải bản đầy đủ (DOCX)

(32 trang)
w