Building Secure Software: The Hidden Complexity of Authorization
Joris Lochy
Product Manager at Intix | Co-founder of Capilever | Fintech blogger at Bankloch
Authorization?is a vital part of any software system. Once a user is authenticated, the next step is determining what that user is allowed to do. This process, known as authorization, ensures that users can only access the data, functionalities and outputs that their roles or permissions allow. While authorization is essential, it’s often highly complex. Each system tends to reinvent the wheel instead of leveraging reusable checklists and frameworks.
Authorization isn’t solely about internal business requirements. External factors — such as?legal obligations or licensing constraints?— add layers of complexity to the process. For instance, software licenses might limit the number of users, API calls, or functions that can be accessed.
Authorization spans also several levels, such as?data segregation, functional segregation, and output segregation. Each of these levels contributes to the overarching complexity of building a secure system:
Data Segregation: This ensures that users can access only the data relevant to their role. However, what appears straightforward can quickly become intricate. For example:
Functional Segregation: This controls which functions users can access within the software. It’s not just about high-level access to entire modules; users may have different access levels to specific features within those modules. For instance, a user might be able to search records but not create them, or only perform certain actions based on a record’s status. This granular control is crucial, particularly in compliance-heavy environments.
Output Segregation: This dictates what outputs, such as reports, screens, or data exports, users can view. Limiting outputs based on user permissions not only protects sensitive information but also streamlines the user experience, making the software easier to navigate without compromising security.
Multi-tenancy: In SaaS (Software as a Service) models, a single software instance often serves multiple tenants, such as different companies or user groups. Each tenant has its own security administrators, licenses and configurations. A robust authorization model must ensure that tenants are isolated from each other, both in terms of data and performance (e.g. preventing one tenant’s heavy processing from affecting others).
The Four-Eyes (N-Eyes) Principle: In financial services, the four-eyes principle (or six-eyes or eight-eyes) is common, requiring an update to be validated by another user before it takes effect. This adds an additional layer of authorization complexity, as different users with approval roles must be properly configured and updates need to be temporarily stored until validated.
Two widely?adopted models?help manage these complex authorization needs:
Despite the availability of RBAC, ABAC, and reusable checklists, many organizations still create custom authorization mechanisms, often underestimating the complexity involved. Common challenges include:
The above shows that authorization is both a technical and business challenge, requiring careful planning and execution. While frameworks like RBAC and ABAC can simplify the process, building a secure, flexible, and maintainable system without sacrificing performance or compliance remains a complex task. Leveraging established frameworks and checklists can help avoid unnecessary reinvention, but there’s no one-size-fits-all solution—especially in multi-tenant and high-security environments.
For more insights, visit my blog at?https://bankloch.blogspot.com
Product Manager at Intix | Co-founder of Capilever | Fintech blogger at Bankloch
6 天前?? Intix offers a cutting-edge transaction data management platform that provides instant access to all financial transaction data in one place. For large international financial institutions, fine-grained, highly configurable authorization is essential to meet the stringent requirements of IT Security and Compliance teams—especially when handling sensitive and valuable transaction data. ???? #Fintech #DataManagement #FinancialServices #Compliance #Intix