RAJIV DEWAN - CYBERSECURITY IAM PROFESSIONAL
A Cybersecurity Identity & Access Management (IAM) professional, specializing in scalable, cutting-edge IAM solutions for large organizations across the globe. Over the years, I’ve played various roles, focusing on areas such IGA, SSO, MFA, PAM, Directory Services, and Password Vaults. I invite you to explore my content, where I share insights and best practices from my IAM and Cybersecurity journey
AI Agents - You Can’t Govern What You Can’t Discover
Governance of Non-Human Identities
Governance of non-human identities is one of the hot topics these days for organizations.
I recently shared my thoughts on this important subject, and they were published in the ISSA Journal (Information Systems Security Association). You can read the full article in the July - August 2025 volume, on Page 15.
Here is the link to the article: ISSA Journal
I also contributed to ISACA (Information Systems Audit and Control Association) Blog where I discussed the same topic from a different perspective.
Here is the link to that article: ISACA Now
Non-human identities such as bots, service accounts, APIs, and AI agents are becoming more common these days. It is important for organizations to understand how to manage and govern these identities securely.
Future of Identity and Access Management (IAM)
- Zero Trust Implementation (Continuous Authentication)
- Zero Standing Privileges
- Passwordless Authentication with Stronger MFA (Biometric/FIDO2)
- Cloud IAM
- Effective Approvals and User Access Reviews
- Privileged Access Management
- Non-Human Accounts Governance
- IAM for AI Agent
- Behavior and AI-Powered Monitoring, Alerting and Remediation
Security Principles: Just In Time Access and Zero Standing Privileges
JIT: Just-In-Time Access
ZSP: Zero Standing Privileges
If you work in Cybersecurity IAM Domain, you may be familiar with terms Just-In-Time provisioning and Zero Standing Privileges. Generally these terms are used interchangeably but both are slightly different. ZSP can be considered as the progression of JIT but both have same end goal i.e. to improve the security posture.
- JIT allows users to gain access for a particular time-period but ZSP allows users to gain access for specific tasks
- JIT is time-bound and ZSP is task(s) bound
User Access Review (UAR) – A Closer Look at the Process and Its Challenges
What is User Access Review (UAR)?
User Access Review (UAR) is a process to review users' accesses/permissions and take the corrective action to ensure that they are appropriate. This process is also known as Access Recertification or Access Attestation. Typically, managers conduct the reviews but some organizations prefer to have permissions owners (entitlement/role owners or application owners or data owners) to take on this responsibility. The process, while essential, tends to be quite manual. The burden often falls on those executing the reviews, typically members of the Cybersecurity IAM team, and the reviewers themselves, who are responsible for verifying and confirming user access.
How Often Should UAR Be Conducted?
Why Do Organizations Continue to Run UAR Campaigns Despite the Manual Work?
Reasoning: Simplest answer is "Privilege Creep". Whenever someone joins an organization, they are granted certain accesses/permissions. They request additional accesses that are needed to do their job duties. Users keep on requesting new accesses while working for the organization but never requests to remove accesses that they do not need anymore. Over time, these accesses get accumulated which is known as Privilege Creep. Over assigned privileges result into security risk (insider threats) for the organization, that's why it is important to revoke/remove unnecessary accesses from the users time to time. User Access Review process not only reduces the security risk but also saves money by releasing the costly licenses. It is also a mandatory regulatory requirement to review everyone's access periodically. Without regular reviews, an organization loses visibility over who has access to what resources, making it difficult to assess and manage risks effectively.
Challenges and Solutions in User Access Reviews
Cybersecurity World: Security vs User Experience
I want to ask this question to all the security professionals, What is more important between security and user experience?
I have been working in a security domain for almost 15 years and I have noticed one thing that people keep emphasizing to the security and completely neglect the user experience part, but I think that security and user experience are two sides of the same coin. They are different but cannot be neglected. Both should be given the equal importance. Let me try to explain the same with following simple example:
Example:
Note: This example is just to explain the point and I understand that we are in 2022 and passwords are considered as the weakest solution in Cybersecurity today. 😊
Suppose we have 5 applications and we want to implement authentication solution for all these apps. To improve the security posture, what if we define below password policy:
- Minimum Password Length = 15
- Minimum Numbers = 2
- Minimum Uppercase Characters = 2
- Minimum Lowercase Characters = 2
- Minimum Special Characters = 2
- No consecutive numbers or alphabets are allowed
- Last n password cannot be used = 25
- Password Expiry= 15 days or 30 days
- Applications cannot share passwords
- Passwords cannot have user attributes like first name, last name, userid, email etc.
- Passwords cannot have dictionary words – Custom Dictionary
This password policy will enforce users to come-up with a complex and unique password for each application every 15 days or 30 days.
From security point of you it may be good because each application will have its own unique password but is it easy for an end user to remember such complex passwords? Even for one time, users can remember but is it possible for users to come up with new passwords every 15 days or 30 days for each application.
Answer is No, so What’s wrong in this solution?
In this solution we completely ignored the user experience and providing very poor user experience to our customers. If we implement this kind of password policy, end users will end up writing the password in a notebook, in a notepad in laptop or in sticky notes which will impact our same security posture which we wanted to improve. Final outcome is poor security.
Being a security professional, we keep our entire focus on security and less on user experience, but I think it’s our responsibility to come-up with a solution which is not only secured but also provide a better user experience to our customers so that our aim to improve security posture remains intact. We cannot have a ratio of 60-40 between security and user experience, it must be a 50-50 which means we need to start giving equal importance to user experience which we give to security. Only by doing this, we would be able to improve the security posture of the organization in real.
Again, these are just my thoughts.
Disclaimer
Authention App for 2FA - TOTP
Nowadays using authentication mobile apps for 2FA is very common. I was always wondered how does it work in the background. How mobile app generates code which can be validated by the application to grant access.
I was reading about it, did some research on Google and developed an eclipse client to test also.
- When we create account in application, application generates "Secret Key"
- Application keeps this Secret Key for each user
- User register this Secret Key in Authentication App as well
- Authentication App generated 6 digit code every 30 seconds using this Secret Key
- When user tries to login, user is asked to enter the 6 digit code from the Authentication App. At the same time application also generates the 6 digit code using the Secret Key which is stored with the application. Both the codes, application and authentication app generated codes, are compared, if they match, user will be granted the access to application.
I validated this flow from eclipse client.
Here are the libraries which will be used for this Java client:
Code to generate Secret Key, this will return the Secret Key which you need to store and register in Authentication App like Google Authentication App.
Sample Secret Key: RDOVRBFZFT54DZ7E3LWTJPUNTRQINUJO
You can also generate the QR code using this Secret Key which can be used by App for registration
Code to Generate 6 Digit Code (TOTP), you need to pass the same Secret Key. This method will be there at application end.
main method to test:
You will be asked to enter the 6 digit code from authentication app which will be validated against the 6 digit code generated by application.
Important things:
- Time must be in sync
- Secret Key is the main thing, if you setup your eclipse client, you don't even need the authentication app for 2FA
Good Resources:
- https://www.protectimus.com/blog/time-drift-in-totp-hardware-tokens/