BSD Authentication
BSD Authentication, otherwise known as BSD Auth, is an authentication framework and software API employed by OpenBSD and accompanying software such as OpenSSH. It originated with BSD/OS, and although the specification and implementation were donated to the FreeBSD project by BSDi, OpenBSD chose to adopt the framework in release 2.9. Pluggable Authentication Modules (PAM) serves a similar purpose on other operating systems such as Linux, FreeBSD and NetBSD.
BSD Auth performs authentication by executing scripts or programs as separate processes from the one requiring the authentication. This prevents the child authentication process from interfering with the parent except through a narrowly defined inter-process communication API, a technique inspired by the principle of least privilege and known as privilege separation. This behaviour has significant security benefits, notably improved fail-safeness of software, and robustness against malicious and accidental software bugs.[1] PAM uses an alternative system where the modules providing authentication are dynamically linked into the requesting process. This method is considered to be more flexible than BSD Auth, but does not provide privilege separation without additional configuration.
See also
References
- Niels Provos, CITI, University of Michigan; Markus Friedl, GeNUA mbH; Peter Honeyman, CITI, University of Michigan (2003). "Preventing Privilege Escalation". Proceedings of the 12th USENIX Security Symposium. pp. 231–242.CS1 maint: uses authors parameter (link)
External links
- : simplified interface to the BSD Authentication system – OpenBSD Library Functions Manual
- : interface to the BSD Authentication system – OpenBSD Library Functions Manual