Kiểm thử bảo mật – Data integrity và Non-repudiation

Data integrity (toàn vẹn dữ liệu)

Data integrity đảm bảo rằng dữ liệu không bị sửa đổi, bị thay đổi, hoặc bị hỏng trong quá trình truyền tải hoặc lưu trữ. Để đạt được tính toàn vẹn dữ liệu, các phương pháp băm (hashing) và chữ ký số (digital signatures) thường được sử dụng.

Băm là quá trình chuyển đổi dữ liệu thành một giá trị băm (hash value) duy nhất, dựa trên nội dung của dữ liệu. Giá trị băm này thường được gửi kèm với dữ liệu, và khi dữ liệu được nhận, giá trị băm mới được tính toán và so sánh với giá trị băm gốc để kiểm tra tính toàn vẹn.

Chữ ký số sử dụng cặp khóa công khai và khóa bí mật để tạo ra một chữ ký điện tử, thể hiện tính toàn vẹn và xác thực của dữ liệu. Người nhận có thể sử dụng khóa công khai của người gửi để xác minh tính toàn vẹn và xác thực của dữ liệu.

data interigy

Phương pháp và kỹ thuật sau khi kiểm thử bảo mật cho data integrity

  1. Kiểm tra băm (Hash Testing): Kiểm tra tính toàn vẹn của dữ liệu bằng cách so sánh giá trị băm của dữ liệu gốc và giá trị băm nhận được trong quá trình truyền tải hoặc lưu trữ. Đảm bảo rằng dữ liệu không bị thay đổi trong quá trình truyền tải hoặc lưu trữ. Các thuật toán băm phổ biến như MD5, SHA-1, SHA-256 thường được sử dụng

  2. Kiểm tra chữ ký số (Digital Signature Testing): Kiểm tra tính toàn vẹn và xác thực của dữ liệu bằng cách xác minh chữ ký số. Kiểm tra việc tạo chữ ký số, xác minh chữ ký số và đảm bảo rằng dữ liệu không bị sửa đổi sau khi được ký số. Các thuật toán chữ ký số phổ biến như RSA, DSA, ECDSA có thể được sử dụng

  3. Kiểm tra xác thực dữ liệu (Data Authentication Testing): Kiểm tra tính xác thực của dữ liệu bằng cách kiểm tra các phương pháp xác thực như HMAC (Hash-based Message Authentication Code) hoặc MAC (Message Authentication Code). Đảm bảo rằng dữ liệu không bị sửa đổi hoặc thay đổi một cách không được phép.

  4. Kiểm thử kiểm soát truy cập (Access Control Testing): Kiểm tra tính toàn vẹn dữ liệu thông qua kiểm tra và kiểm soát quyền truy cập vào dữ liệu. Đảm bảo rằng chỉ những người được ủy quyền có thể truy cập, sửa đổi hoặc xóa dữ liệu

  5. Kiểm thử xử lý lỗi (Error Handling Testing): Kiểm tra cách hệ thống xử lý các lỗi liên quan đến tính toàn vẹn dữ liệu. Kiểm tra cách hệ thống ứng phó với các lỗi như mất mát dữ liệu, dữ liệu bị sửa đổi, hoặc lỗi trong quá trình truyền tải.

  6. Kiểm thử ghi nhật ký (Logging Testing): Kiểm tra tính toàn vẹn dữ liệu ghi nhật ký. Xác minh rằng dữ liệu ghi nhật ký không bị thay đổi hoặc xóa, và có khả năng xác định được ai đã truy cập và thay đổi dữ liệu.

  7. Kiểm thử xâm nhập (Intrusion Testing): Thử xâm nhập vào hệ thống để kiểm tra tính toàn vẹn dữ liệu. Kiểm tra khả năng phát hiện và ngăn chặn các cuộc tấn công nhằm thay đổi, xóa hoặc gian lận dữ liệu.

Trong quá trình kiểm thử, nên sử dụng các công cụ và phương pháp tấn công thực tế để tìm ra các lỗ hổng và sự yếu điểm của quá trình bảo mật tính toàn vẹn dữ liệu

Non-repudiation (Tính không thể chối bỏ)

Non-repudiation đảm bảo rằng một người không thể chối bỏ hoặc từ chối việc gửi thông tin hoặc thực hiện một hành động đã được thực hiện trước đó.

Ví dụ, khi một người ký một văn bản số hoặc thực hiện một giao dịch trực tuyến, tính không thể chối bỏ đảm bảo rằng họ không thể sau đó từ chối sự tham gia của mình. Các phương pháp như chữ ký số, đồng hồ chứng thực (timestamping), và hợp đồng thông minh (smart contracts) có thể được sử dụng để đạt được tính không thể chối bỏ.

Trong quá trình kiểm thử bảo mật, để nhận diện được non-repudiation, bạn có thể thực hiện các bước và kỹ thuật sau

  1. Xác thực chữ ký số (Digital Signature Verification): Kiểm tra tính hợp lệ của chữ ký số trong quá trình trao đổi thông tin. Xác minh rằng chữ ký số được tạo ra bởi người đã ký và không thể bị sửa đổi. Nếu quá trình xác minh chữ ký số thành công, đó là một dấu hiệu của non-repudiation.

  2. Kiểm tra ghi nhật ký (Logging Verification): Xem xét các ghi nhật ký liên quan đến quá trình trao đổi thông tin và giao dịch. Đảm bảo rằng các ghi nhật ký không bị sửa đổi và chứa đủ thông tin để chứng minh sự tham gia và hành vi của các bên. Nếu thông tin trong ghi nhật ký được xác minh và không thể bị chối bỏ, đó là một dấu hiệu của non-repudiation.

  3. Phân tích chứng chỉ số (Certificate Analysis): Kiểm tra tính hợp lệ của chứng chỉ số và xem xét các thông tin chứng chỉ như ngày hết hạn, cơ quan chứng nhận, và chủ sở hữu. Nếu chứng chỉ số được xác minh và không có sự sai lệch hoặc không phù hợp, đó là một dấu hiệu của non-repudiation.

  4. Kiểm tra tính toàn vẹn của dữ liệu (Data Integrity Testing): Kiểm tra tính toàn vẹn của dữ liệu trong quá trình trao đổi thông tin. Đảm bảo rằng dữ liệu không bị sửa đổi trái phép hoặc thay đổi. Nếu dữ liệu được bảo vệ và không thể sửa đổi, đó là một dấu hiệu của non-repudiation.

  5. Phân tích quy trình quản lý khóa (Key Management Process Analysis): Xem xét quy trình quản lý khóa trong hệ thống. Đảm bảo rằng các khóa được bảo vệ một cách an toàn và không thể truy cập hoặc sử dụng sai mục đích. Nếu quy trình quản lý khóa đảm bảo tính bảo mật và non-repudiation, đó là một dấu hiệu tích cực.

  6. Kiểm tra quy trình xác thực (Authentication Process Testing): Kiểm tra quy trình xác thực trong hệ thống. Đảm bảo rằng chỉ có các bên được ủy quyền mới có thể truy cập và thực hiện các hành động và giao dịch.

Ezami

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *