Security
Security Assertion Markup Language (SAML) make SSO possible
Verification
- Captcha
- SSL/TLS
- Encryption Algorithm
- ECC (Elliptic Curve Cryptography)
- RSA
- Diffie-Hellmon
Digital Rights Management
- Fairplay
Authentication
Token based
The server generates a token (using public-private keys), after verifying userid/password
- The token contains information about the user’s permissions
- cant save from replay attacks if the token is left on a public browser
The private key is a secret number known only to the server, while the public key is shared with others.
The public key can be used to decrypt the token and retrieve the authorization details.
Limitation. It does not protect against replay attacks or token theft (taking tokens from postman or the web developer tools)
Despite the limitations, token-based authentication is widely used due to its simplicity and efficiency.
- By including a time-oo-live (TTL) in the token, its validity can be controlled, and logging out will render it unusable.
SSO - Single Sign-On
SAML Protocol (token generation is moved to external service)
- The user’s credentials are checked by the external service, which then sends a token to the server.
- The server can decrypt the token and verify the user’s permissions.
OAuth (MAjorly for Authorization )
OAuth is widely used for authentication, even though it is originally designed for authorization
- It involves integrating external services, such as Google or GitHub, with a server.
- The user is prompted to give permissions to the server, allowing it to access certain information from the external service, such as the user’s name or profile photo. OAuth tokens are generated, and the server can use them for authentication purposes.
- OAuth is widely used for
- Opposite or SSO, Authorization on external systemns
Authorization
Access Control Lists (ACL)
Lists that define the actions that can be performed on objects. ACLs are grouped together to form the access control matrix of the system.
- User-based
- Role-based
- resource-based
- group-based
Rule Engine (Leasing)
a set of rules to determine whether a user or resource has permission to perform an action
- Secret Keys/Client Keys
Access Control List
- User based
- Role based
- Resource Based
- Group based
Object Based Group based
Protection
- Hackers - DDOS Attacks, WAF
- Verification
- VPN
- Malicious code protection