Dr. Greg M. Bernstein
July 2nd, 2021
From: Authentication, Authorisation & Accountability (AAA) Knowledge Area Issue 1.0, Dieter Gollmann Hamburg University of Technology & Nanyang Technological University Singapore, 2019.
From CyBOK AAA Knowledge Area
Access control is “the process of granting or denying specic requests . . .”. This process needs the following inputs
From CyBOK AAA Knowledge Area
From CyBOK AAA Knowledge Area
The term security policy is used both for the general rules within an organization that stipulate how sensitive resources should be protected, and for the rules enforced by IT systems on the resources they manage.
From CyBOK AAA Knowledge Area
From CyBOK AAA Knowledge Area
From CyBOK AAA Knowledge Area
From CyBOK AAA Knowledge Area
A subject speaks for a principal when the runtime environment associates the subject with the principal in an unforgeable manner.
The original example for creating a subject that speaks for a principal is user log-in, spawning a process running under the user identity of the person that had been authenticated.
The research literature does not always maintain this distinction between principals and subjects.
Access rights express how a principal may access an object.
Similar terms: Permissions, Privileges
From Wikipedia: Access Control Matrix, where “Role 1” and “Role 2” are principals and “Asset 1”, “Asset 2”, “File”, “Device” are objects
Early policy categories from the defense sector still used today
From CyBOK AAA Knowledge Area
What are some of the different roles and their associated privileges on your current LMS, e.g., Blackboard?
In my CS351 and CS651 courses we build a full stack club app/website
From NIST: Guide to ABAC Definition and Considerations
ABAC is a logical access control methodology where authorization to perform a set of operations is determined by evaluating attributes associated with the subject, object, requested operations, and, in some cases, environment conditions against policy, rules, or relationships that describe the allowable operations for a given set of attributes.
RBAC vs. ABAC: Definitions & When to Use
Small workgroups. RBAC is best. Defining work by role is simple when the company is small and the files are few.
Geographically diverse workgroups. ABAC is a good choice. You can define access by employee type, location, and business hours. You could only allow access during business hours for the specific time zone of a branch.
Time-defined workgroups. ABAC is preferred. Some sensitive documents or systems shouldn’t be accessible outside of office hours. An ABAC system allows for time-based rules.
RBAC vs. ABAC: Definitions & When to Use
Simply structured workgroups. RBAC is best. Your company is large, but access is defined by the jobs people do.
Creative enterprises. ABAC is ideal because creative companies often use their files in unique ways. Sometimes, everyone needs to see certain documents; other times, only a few people do. Access needs change by the document, not by the roles.
NIST: Access Rights Management for the Financial Services Sector
From Wikipedia: OpenID
OpenID is an open standard and decentralized authentication protocol. Promoted by the non-profit OpenID Foundation, it allows users to be authenticated by cooperating sites (known as relying parties, or RP) using a third-party service, eliminating the need for webmasters to provide their own ad hoc login systems, and allowing users to log into multiple unrelated websites without having to have a separate identity and password for each.
From Wikipedia: OpenID
As of March 2016, there are over 1 billion OpenID-enabled accounts on the Internet (see below) and approximately 1,100,934 sites have integrated OpenID consumer support: AOL, Flickr, Google, Amazon.com, Canonical, LiveJournal, Microsoft, Mixi, Myspace, Novell, OpenStreetMap,…
Can you think of any privacy implications of using OpenID versus email and password for a website login?
From Wikipedia: Security Assertion Markup Language (SAML)
Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is an XML-based markup language for security assertions (statements that service providers use to make access-control decisions). An important use case that SAML addresses is web-browser single sign-on (SSO).
From Wikipedia: eXtensible Access Control Markup Language (XACML)
XACML stands for “eXtensible Access Control Markup Language”. The standard defines a declarative fine-grained, attribute-based access control policy language, an architecture, and a processing model describing how to evaluate access requests according to the rules defined in policies.
From Wikipedia: eXtensible Access Control Markup Language (XACML)
From Wikipedia: eXtensible Access Control Markup Language (XACML)
From Axiomatics
From OWASP:
Authentication is the process of verification that an individual, entity or website is who it claims to be. Authentication in the context of web applications is commonly performed by submitting a user name or ID and one or more items of private information that only a given user should know.
From Wikipedia
Authentication is the act of verifying a claim of identity.
From Wikipedia
When John Doe goes into a bank to make a withdrawal, he tells the bank teller he is John Doe, a claim of identity. The bank teller asks to see a photo ID, so he hands the teller his driver’s license. The bank teller checks the license to make sure it has John Doe printed on it and compares the photograph on the license against the person claiming to be John Doe. If the photo and name match the person, then the teller has authenticated that John Doe is who he claimed to be.
From Wikipedia: Multi-factor authentication
There are multiple different types of information that can be used for authentication:
From Wikipedia: Multi-factor authentication
Multi-factor authentication is an electronic authentication method in which a user is granted access to a website or application only after successfully presenting two or more pieces of evidence (or factors) to an authentication mechanism: knowledge (something only the user knows), possession (something only the user has), and inherence (something only the user is). MFA protects the user from an unknown person trying to access their data such as personal ID details or financial assets.
From PrivacyID3A
A directory is a specialized database specifically designed for searching and browsing, in additional to supporting basic lookup and update functions.
Directories tend to contain descriptive, attribute-based information and support sophisticated filtering capabilities. Directories generally do not support complicated transaction or roll-back schemes found in database management systems designed for handling high-volume complex updates. Directory updates are typically simple all-or-nothing changes, if they are allowed at all. Directories are generally tuned to give quick response to high-volume lookup or search operations.
We use logging and monitoring to determine:
Multiple SSH accesses to my Linux server from my Laptop
Jun 28 15:17:52 greg-desktop systemd-logind[1348]: Removed session 6934.
Jun 28 15:18:17 greg-desktop dbus-daemon[1289]: [system] Failed to activate service 'org.bluez': timed out (service_start_timeout=25000ms)
Jun 28 15:18:59 greg-desktop sshd[2431044]: rexec line 15: Deprecated option UsePrivilegeSeparation
Jun 28 15:18:59 greg-desktop sshd[2431044]: rexec line 18: Deprecated option KeyRegenerationInterval
Jun 28 15:18:59 greg-desktop sshd[2431044]: rexec line 19: Deprecated option ServerKeyBits
Jun 28 15:18:59 greg-desktop sshd[2431044]: rexec line 30: Deprecated option RSAAuthentication
Jun 28 15:18:59 greg-desktop sshd[2431044]: rexec line 37: Deprecated option RhostsRSAAuthentication
Jun 28 15:18:59 greg-desktop sshd[2431044]: reprocess config line 30: Deprecated option RSAAuthentication
Jun 28 15:18:59 greg-desktop sshd[2431044]: reprocess config line 37: Deprecated option RhostsRSAAuthentication
Jun 28 15:18:59 greg-desktop sshd[2431044]: Accepted publickey for greg from 192.168.1.228 port 1099 ssh2: RSA SHA256:EkJl4laenV4P0FOvL+wN5FVJY8YH7tEaUai5S+QcPaY
Jun 28 15:18:59 greg-desktop sshd[2431044]: pam_unix(sshd:session): session opened for user greg by (uid=0)
Jun 28 15:18:59 greg-desktop systemd-logind[1348]: New session 6936 of user greg.
Jun 28 15:30:01 greg-desktop CRON[2442746]: pam_unix(cron:session): session opened for user root by (uid=0)
--- log entries not shown
Jun 28 16:17:01 greg-desktop CRON[2492253]: pam_unix(cron:session): session closed for user root
Jun 28 16:18:59 greg-desktop sshd[2431044]: pam_unix(sshd:session): session closed for user greg
---
Jun 28 16:29:48 greg-desktop systemd-logind[1348]: Removed session 6957.
Jun 28 16:30:01 greg-desktop CRON[2505926]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 28 16:30:01 greg-desktop CRON[2505926]: pam_unix(cron:session): session closed for user root
Jun 28 16:30:05 greg-desktop sshd[2505935]: rexec line 15: Deprecated option UsePrivilegeSeparation
Jun 28 16:30:05 greg-desktop sshd[2505935]: rexec line 18: Deprecated option KeyRegenerationInterval
Jun 28 16:30:05 greg-desktop sshd[2505935]: rexec line 19: Deprecated option ServerKeyBits
Jun 28 16:30:05 greg-desktop sshd[2505935]: rexec line 30: Deprecated option RSAAuthentication
Jun 28 16:30:05 greg-desktop sshd[2505935]: rexec line 37: Deprecated option RhostsRSAAuthentication
Jun 28 16:30:05 greg-desktop sshd[2505935]: reprocess config line 30: Deprecated option RSAAuthentication
Jun 28 16:30:05 greg-desktop sshd[2505935]: reprocess config line 37: Deprecated option RhostsRSAAuthentication
Jun 28 16:30:05 greg-desktop sshd[2505935]: Accepted publickey for greg from 192.168.1.228 port 4637 ssh2: RSA SHA256:EkJl4laenV4P0FOvL+wN5FVJY8YH7tEaUai5S+QcPaY
Jun 28 16:30:05 greg-desktop sshd[2505935]: pam_unix(sshd:session): session opened for user greg by (uid=0)
Jun 28 16:30:05 greg-desktop systemd-logind[1348]: New session 6960 of user greg.
Generated by hostapd on OpenWRT Linux
Dec 21 06:32:45 192.168.1.1 hostapd: wlan0: STA a8:3e:0e:4a:94:5b IEEE 802.11: disassociated due to inactivity
Dec 21 06:32:46 192.168.1.1 hostapd: wlan0: STA a8:3e:0e:4a:94:5b IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Dec 21 07:06:38 192.168.1.1 hostapd: wlan0: STA 9c:b6:d0:93:83:d9 IEEE 802.11: authenticated
Dec 21 07:06:38 192.168.1.1 hostapd: wlan0: STA 9c:b6:d0:93:83:d9 IEEE 802.11: associated (aid 3)
Dec 21 07:06:38 192.168.1.1 hostapd: wlan0: AP-STA-CONNECTED 9c:b6:d0:93:83:d9
Dec 21 07:06:38 192.168.1.1 hostapd: wlan0: STA 9c:b6:d0:93:83:d9 WPA: pairwise key handshake completed (RSN)
Dec 20 23:22:16 192.168.1.1 hostapd: wlan1: STA d8:49:2f:25:68:d6 IEEE 802.11: authenticated
Dec 20 23:22:16 192.168.1.1 hostapd: wlan1: STA d8:49:2f:25:68:d6 IEEE 802.11: associated (aid 6)
Dec 20 23:22:16 192.168.1.1 hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH d8:49:2f:25:68:d6
Dec 20 23:22:17 192.168.1.1 hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH d8:49:2f:25:68:d6
Dec 20 23:22:18 192.168.1.1 hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH d8:49:2f:25:68:d6
Dec 20 23:22:19 192.168.1.1 hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH d8:49:2f:25:68:d6
Dec 20 23:22:21 192.168.1.1 hostapd: wlan1: STA d8:49:2f:25:68:d6 IEEE 802.11: authenticated
Dec 20 23:22:21 192.168.1.1 hostapd: wlan1: STA d8:49:2f:25:68:d6 IEEE 802.11: associated (aid 6)
Dec 20 23:22:21 192.168.1.1 hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH d8:49:2f:25:68:d6
Dec 20 23:22:22 192.168.1.1 hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH d8:49:2f:25:68:d6
Dec 20 23:22:23 192.168.1.1 hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH d8:49:2f:25:68:d6
Generated by hostapd on OpenWRT Linux
rsyslog
syslog-ng