security_1_1412520 - ATBMHTTT-2017/lab02-lab02-1412503-1412520-1412595 GitHub Wiki
Giải pháp để mã hóa thông tin nhân viên chỉ thấy lương của mình
1. Giải pháp
Phương pháp mã hóa đối xứng: AES(256)
Tạo mỗi nhân viên một khóa đối xứng và các khóa này được lưu trong một bảng riêng KHOA_NHANVIEN, cột khóa là giá trị khóa đã được xor với mã nhân viên, quản trị viên QTV được quyền select trên bảng này, các nhân viên còn lại cũng được thực hiện quyền select nhưng chỉ thấy được thông tin khóa của mình
Tạo một Stored Procedure để thêm nhân viên vào bảng, với dữ liệu lương sử dụng AES(256) để mã hóa, lương của mỗi người được mã hóa bằng khóa tương ứng, chỉ có quản trị viên được quyền thực thi SP này.
Tạo Stored Procedure để đọc thông tin nhân viên, mỗi nhân viên khi thực thi SP này sẽ chỉ thấy thông tin lương của mình, thông tin lương của các nhân viên còn lại sẽ bị mã hóa
2. Nội dung các SP
a. SP Thêm nhân viên:
Phát sinh khóa cho mỗi nhân viên, xor các khóa này với mã nhân viên tương ứng và lưu vào bảng KHOA_NHANVIEN
Thêm vào bảng NHANVIEN một nhân viên mới với các thông tin được cung cấp và lương được mã hóa bằng khóa vừa mới phát sinh
b. SP đọc thông tin nhân viên:
Ứng với từng dòng trong bảng nhân viên, nếu là thuộc tính lương của nhân viên đang đăng nhập thì giải mã, ngược lại để nguyên