API attacks
What PingOne does to prevent against API attacks
-
API access is secured using OAuth 2.0, which provides token-based authentication. This ensures that APIs are only accessible by authorized users or systems. Using short-duration tokens, rather than static API keys, PingOne significantly reduces the risk of stolen credentials being misused. For more information refer to OpenID Connect/OAuth 2 APIs and OpenID Connect/OAuth 2.
-
User authentication is secured using OpenID Connect (OIDC) on top of OAuth 2.0, reducing the risk of API abuse by verifying user identities before granting access. For more information refer to Authentication flow states.
-
API authentication is secured using JSON Web Tokens (JWTs). JWTs are compact, encrypted tokens containing JSON content (claims) that are signed to ensure their integrity. PingOne verifies the signature of each JWT before granting access to APIs. For more information refer to Introduction to JSON Web Tokens (JWT), Access tokens and ID tokens, Token, and Configuration options.
-
An API gateway is used for centralized management of API requests, and adherence to PingOne security protocols. The API gateway acts as an intermediary between clients and backend services, managing API traffic going through endpoints that require API authentication. The API gateway applies security policies, enforces rate limits, and handles authentication for API requests.
-
Token expiration is enforced, ensuring that tokens expire after a predefined period. In case of suspicious activity or compromised tokens, tokens can be immediately revoked, rendering them useless to attackers. For more information refer to Access tokens and ID tokens.
-
Rate limiting is enforced to control the volume of API requests that a user or system can make within a certain time frame. This prevents API abuse, such as brute-force attacks, credential stuffing, or excessive traffic that could degrade performance or lead to service outages. For more information refer to PingOne standard platform limits.
-
Transport Layer Security (TLS) is used to encrypt all API communications between clients, services, and PingOne. This ensures that data transmitted via APIs is protected from interception and tampering during transit, preventing Man-in-the-Middle (MitM) attacks. For more information refer to TLS and cipher suite requirements.
What you can do to prevent API attacks for your PingOne deployment
-
Ensure that PingOne API credentials are securely stored and managed. Avoid hardcoding client secrets in applications or exposing them in public repositories. For more information refer to Configuration options and PingOne Credentials.
-
Implement Role-Based Access Control (RBAC) by defining OAuth scopes for your API users and applications, ensuring that they only have access to the resources they need. This limits the attack surface by preventing over-privileged access to sensitive data or services. For more information refer to Roles, scopes, and permissions.
-
Use a Web Application Firewall (WAF) in front of your applications to protect against common API attacks like SQL injection, XSS, and DDoS attacks. A WAF inspects incoming API traffic and blocks malicious requests before they reach your application, ensuring that only legitimate traffic passes through.