Xác thực

Xác thực
Xác thực (tiếng Anh: authentication, tiếng Hy Lạp: αυθεντικός = thật hoặc chính thống, bắt nguồn từ 'authentes' = tác giả/người tạo ra) là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó (hoặc một người nào đó) đáng tin cậy. Có nghĩa là, những lời khai báo do người đó đưa ra hoặc về vật đó là sự thật. Xác thực một đối tượng còn có nghĩa là công nhận nguồn gốc (provenance) của đối tượng, trong khi, xác thực một người thường bao gồm việc thẩm tra nhận dạng của họ. Việc xác thực thường phụ thuộc vào một hoặc nhiều nhân tố xác thực (authentication factors) để minh chứng cụ thể.
Trong an ninh máy tính (computer security), xác thực là một quy trình nhằm cố gắng xác minh nhận dạng số (digital identity) của phần truyền gửi thông tin (sender) trong giao thông liên lạc chẳng hạn như một yêu cầu đăng nhập. Phần gửi cần phải xác thực có thể là một người dùng sử dụng một máy tính, bản thân một máy tính hoặc một chương trình ứng dụng máy tính (computer program). Ngược lại Sự tin cậy mù quáng (blind credential) hoàn toàn không thiết lập sự đòi hỏi nhận dạng, song chỉ thiết lập quyền hoặc địa vị hẹp hòi của người dùng hoặc của chương trình ứng dụng mà thôi.
Trong một mạng lưới tín nhiệm, việc "xác thực" là một cách để đảm bảo rằng người dùng chính là người mà họ nói họ là, và người dùng hiện đang thi hành những chức năng trong một hệ thống, trên thực tế, chính là người đã được ủy quyền để làm những việc đó.
Để phân biệt từ "xác thực" (authentication) với một từ gần gũi với nó, "sự ủy quyền" (hay sự cấp phép) (authorization), hai ký hiệu viết tắt thường được dùng để thay thế - A1 tức sự xác thực (authentication) và A2 tức sự ủy quyền (authorization).
Vấn đề trong việc ủy quyền thường được nhìn nhận là một vấn đề tương tự như vấn đề trong việc xác thực; Rất nhiều các giao thức an ninh tiêu chuẩn (standard security protocols),  các điều lệ bắt buộc, và ngay cả các quy chế cũng dựa trên cơ sở của giả định này. Tuy nhiên, sự sử dụng chính xác hơn của việc xác thực lại diễn tả nó như một quy trình dùng để xác minh sự nhận dạng của một người dùng, trong khi sự ủy quyền là một quy trình nhằm xác minh rằng một người dùng biết trước, có quyền lực để thao tác một quá trình hoạt động nào đó hay không. Sự xác thực do đó phải được tiến hành trước sự ủy quyền. Lấy ví dụ, khi chúng ta trình diện giấy chứng minh hợp thức của mình với một nhân viên thu ngân của nhà băng (bank teller), trước tiên, chúng ta được nhân viên thu ngân chứng thực và sau đó, chúng ta được ủy quyền để truy cập những thông tin về các tài khoản trong nhà băng của mình. Đương nhiên, chúng ta sẽ không được ủy quyền để truy cập các tài khoản mà chúng ta không sở hữu.
Do việc ủy quyền không thể được tiến hành mà không có sự xác thực đi kèm, thuật ngữ "sự ủy quyền" còn đôi khi được sử dụng với cái nghĩa là tổ hợp của cả hai, sự xác thực và sự ủy quyền.
Một ví dụ quen thuộc là ví dụ về quản lý truy cập. Một hệ thống máy tính đáng ra chỉ nên được sử dụng bởi những người được ủy quyền sử dụng mà thôi và nó phải nỗ lực phát hiện và loại trừ những người dùng không được ủy quyền. Việc truy cập  máy do đó thường được quản lý bằng cách đòi hỏi một thủ tục xác thực nhận dạng của  người dùng được tiến hành, với một mức độ đáng tin cậy nào đó, rồi sau đó mới ban cho người dùng những đặc quyền mà chúng ta có thể cấp cho chỉ danh của người dùng đó. Những ví dụ thông thường trong việc quản lý truy cập mà trong đó việc xác thực là một việc không tránh khỏi, gồm có:
Rút tiền mặt từ một Máy rút tiền tự động (Automated Teller Machine - ATM).
Quản lý một máy tính từ xa thông qua Internet.
Sử dụng một hệ thống giao dịch ngân hàng trên mạng Internet (Online/Internet banking).
Tuy vậy, một điều cần phải để ý là đại bộ phận những bàn bạc trong đề tài này là lệch lạc vì những thuật ngữ được dùng ở đây không được chính xác cho lắm. Một phần của sự lộn xộn này có thể là do âm hưởng 'thi hành luật pháp' trong hầu hết các bàn luận. Đồng thời, cũng không có một máy tính, một chương trình ứng dụng máy tính hoặc một người dùng máy tính nào có thể 'xác thực được nhận dạng' (confirm the identity) của một người khác (another party). Trên bề mặt của một việc tưởng như là minh bạch, dễ hiểu, chúng ta thấy còn có nhiều vấn đề (issues) khúc mắc che giấu bên trong.
Chúng ta chỉ có thể áp dụng một hoặc nhiều thử nghiệm để kiểm tra. Nếu việc thử nghiệm không tìm ra những sai sót thì đối tượng bị thử nghiệm sẽ được coi như là có đủ quyền hạn để tiếp tục tiến hành, như đã quy định. Vấn đến là ở chỗ làm thế nào để xác định rằng những thử nghiệm nào là xứng đáng và rất nhiều quy trình dùng để xác định tính xứng đáng của các thử nghiệm cũng không được hoàn hảo. Rất nhiều trường hợp những trắc nghiệm này đã bị lừa đảo một cách thành công, làm cho trắc nghiệm trở nên vô hiệu. Bằng những thất bại của chúng, bản thân những trắc nghiệm này chỉ cho chúng ta thấy một cách chắc chắn tính bất tương xứng của chúng. Rất nhiều người vẫn tiếp tục coi các thử nghiệm, và cái quyết định coi việc thành công vượt qua những thử nghiệm, là những cái có thể chấp nhận được, rồi đổ lỗi những thất bại cho tính 'luộm thuộm' hoặc tình trạng 'kém cỏi' thuộc phần người nào đó. Nan đề là ở chỗ thử nghiệm đáng ra phải có hiệu quả khi được thi hành trên hiện trường chứ không phải trong môi trường lý tưởng, là những nơi không có sự luộm thuộm hoặc không bị ảnh hưởng bởi tính kém cỏi của người điều hành. Trong những trường hợp như vậy, chính thử nghiệm là cái thất bại, chứ không phải là những cái khác. Hãy xem xét một trường hợp phổ biến là trường hợp một lá thư điện tử phê chuẩn (confirmation email) đòi hỏi phải được hồi âm để khởi động một trương mục nào đó. Do việc lá thư hồi âm có thể dễ dàng được bố trí gửi đến từ một địa chỉ giả (bogus) hoặc một địa chỉ không thể phát hiện được (untraceable), phương pháp này là một phương pháp xác minh hoàn toàn không thể tin tưởng được (least robust authentication possible). Thành công trong việc vượt qua thử nghiệm này chẳng có ý nghĩa mấy, và đương nhiên, tính 'luộm thuộm' hoặc tình trạng 'kém cỏi' hầu như chẳng dính dấp một tí nào.