Tôi sẽ nói rằng chỉ đúng một phần mà thôi.
Thứ nhất, mật khẩu bạn được mã hóa, ngay cả quản trị cũng không biết được. Điều này đúng, nhưng nếu bạn có kiến thức của một lập trình viên bạn sẽ hiểu được rằng mã hóa mật khẩu chỉ để bảo vệ an toàn cho mật khẩu của bạn chứ không phải dữ liệu của bạn.
Tôi đưa ra một ví dụ sau:
Bạn có một tài khoản nào đó trên mạng, bạn để mọi thứ trên đó. Bạn có chắc là các dữ liệu của bạn không thể truy xuất được nếu họ không có mật khẩu của bạn ?
Bạn biết rằng tài khoản và mật khẩu của bạn được lưu trong cơ sở dữ liệu trong một bảng. Mật khẩu đăng nhập được mã hóa và so sánh với mật khẩu trong bảng. Nếu giống nhau thì hệ thống chấp nhận bạn đăng nhập thành công.
Nếu tôi kiểm soát được CSDL,tôi lưu lại đoạn mật khẩu đã được mã hóa đó, sau đó tôi sẽ mã hóa 1 dãy số ví dụ là 123456, sau đó replace vào phần mật khẩu đó thì tôi sẽ đăng nhập được và truy cập được toàn bộ tài nguyên của người đó. Sau đó tôi lại khôi phục mật khẩu cũ bằng cách replace lại dãy mã hóa đó. Người dùng sẽ không hề biết được vì mật khẩu của họ vẫn thế, nhưng dữ liệu của họ thì đã không còn an toàn.
No comments:
Post a Comment