Skip to main content

Building Secure Software: The Hidden Complexity of Authorization


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:

  • Users may have different permissions for reading, writing, or deleting data. Users might be able to update or delete certain records but can only view others.

  • A multinational bank may need to segregate data by country, allowing users to access data from specific countries. Exceptions might exist, such as cross-border teams needing access to multiple countries, or users serving VIP customers who require special permissions.

  • Additionally, sensitive data, like credit card numbers, may need to be hidden or anonymized to comply with regulations like PCI-DSS or GDPR. Even if users have access to a record, certain data attributes could remain restricted.

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:

  • Role-Based Access Control (RBAC): RBAC is a traditional approach where users are assigned roles corresponding to specific permissions. For example, a "manager" role may have access to more functions and data than a "customer service representative" role. While RBAC works well in many scenarios, it can become cumbersome when fine-grained access is needed, as roles can multiply rapidly.

  • Attribute-Based Access Control (ABAC): ABAC offers a more flexible solution by determining access based on user attributes, resource characteristics, or environmental conditions. For example, access to a customer record might depend not only on the user’s role but also on attributes like location, time of day, or record status. ABAC provides more dynamic control, but its complexity makes policy management challenging.

Despite the availability of RBAC, ABAC, and reusable checklists, many organizations still create custom authorization mechanisms, often underestimating the complexity involved.
Common challenges include:

  • Performance: Data segregation often requires query-level filtering, adding extra conditions (e.g. WHERE clauses). This can be efficient if authorization rules are simple, but complex rules may require post-query authorization, slowing down the application.

  • Flexibility vs. Maintainability: Balancing flexibility with maintainability is a major challenge. A rigid system may be difficult to scale, while an overly flexible system can become hard to manage, especially with strict security and compliance requirements.

  • Centralized Authorization Tools: In heavily regulated industries like finance, authorization is often managed through tools like Active Directory. When users log in (often via SSO), roles are returned by this central tool, and the application must adjust permissions accordingly. While these tools simplify some aspects of authorization, they also impose constraints that can hinder custom implementations.

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

Comments

Popular posts from this blog

Transforming the insurance sector to an Open API Ecosystem

1. Introduction "Open" has recently become a new buzzword in the financial services industry, i.e.   open data, open APIs, Open Banking, Open Insurance …​, but what does this new buzzword really mean? "Open" refers to the capability of companies to expose their services to the outside world, so that   external partners or even competitors   can use these services to bring added value to their customers. This trend is made possible by the technological evolution of   open APIs (Application Programming Interfaces), which are the   digital ports making this communication possible. Together companies, interconnected through open APIs, form a true   API ecosystem , offering best-of-breed customer experience, by combining the digital services offered by multiple companies. In the   technology sector   this evolution has been ongoing for multiple years (think about the travelling sector, allowing you to book any hotel online). An excelle...

Are product silos in a bank inevitable?

Silo thinking   is often frowned upon in the industry. It is often a synonym for bureaucratic processes and politics and in almost every article describing the threats of new innovative Fintech players on the banking industry, the strong bank product silos are put forward as one of the main blockages why incumbent banks are not able to (quickly) react to the changing customer expectations. Customers want solutions to their problems   and do not want to be bothered about the internal organisation of their bank. Most banks are however organized by product domain (daily banking, investments and lending) and by customer segmentation (retail banking, private banking, SMEs and corporates). This division is reflected both at business and IT side and almost automatically leads to the creation of silos. It is however difficult to reorganize a bank without creating new silos or introducing other types of issues and inefficiencies. An organization is never ideal and needs to take a numbe...

RPA - The miracle solution for incumbent banks to bridge the automation gap with neo-banks?

Hypes and marketing buzz words are strongly present in the IT landscape. Often these are existing concepts, which have evolved technologically and are then renamed to a new term, as if it were a brand new technology or concept. If you want to understand and assess these new trends, it is important to   reduce the concepts to their essence and compare them with existing technologies , e.g. Integration (middleware) software   ensures that 2 separate applications or components can be integrated in an easy way. Of course, there is a huge evolution in the protocols, volumes of exchanged data, scalability, performance…​, but in essence the problem remains the same. Nonetheless, there have been multiple terms for integration software such as ETL, ESB, EAI, SOA, Service Mesh…​ Data storage software   ensures that data is stored in such a way that data is not lost and that there is some kind guaranteed consistency, maximum availability and scalability, easy retrieval...

IoT - Revolution or Evolution in the Financial Services Industry

1. The IoT hype We have all heard about the   "Internet of Things" (IoT)   as this revolutionary new technology, which will radically change our lives. But is it really such a revolution and will it really have an impact on the Financial Services Industry? To refresh our memory, the Internet of Things (IoT) refers to any   object , which is able to   collect data and communicate and share this information (like condition, geolocation…​)   over the internet . This communication will often occur between 2 objects (i.e. not involving any human), which is often referred to as Machine-to-Machine (M2M) communication. Well known examples are home thermostats, home security systems, fitness and health monitors, wearables…​ This all seems futuristic, but   smartphones, tablets and smartwatches   can also be considered as IoT devices. More importantly, beside these futuristic visions of IoT, the smartphone will most likely continue to be the cent...

PSD3: The Next Phase in Europe’s Payment Services Regulation

With the successful rollout of PSD2, the European Union (EU) continues to advance innovation in the payments domain through the anticipated introduction of the   Payment Services Directive 3 (PSD3) . On June 28, 2023, the European Commission published a draft proposal for PSD3 and the   Payment Services Regulation (PSR) . The finalized versions of this directive and associated regulation are expected to be available by late 2024, although some predictions suggest a more likely timeline of Q2 or Q3 2025. Given that member states are typically granted an 18-month transition period, PSD3 is expected to come into effect sometime in 2026. Notably, the Commission has introduced a regulation (PSR) alongside the PSD3 directive, ensuring more harmonization across member states as regulations are immediately effective and do not require national implementation, unlike directives. PSD3 shares the same objectives as PSD2, i.e.   increasing competition in the payments landscape and en...

Trade-offs Are Inevitable in Software Delivery - Remember the CAP Theorem

In the world of financial services, the integrity of data systems is fundamentally reliant on   non-functional requirements (NFRs)   such as reliability and security. Despite their importance, NFRs often receive secondary consideration during project scoping, typically being reduced to a generic checklist aimed more at compliance than at genuine functionality. Regrettably, these initial NFRs are seldom met after delivery, which does not usually prevent deployment to production due to the vague and unrealistic nature of the original specifications. This common scenario results in significant end-user frustration as the system does not perform as expected, often being less stable or slower than anticipated. This situation underscores the need for   better education on how to articulate and define NFRs , i.e. demanding only what is truly necessary and feasible within the given budget. Early and transparent discussions can lead to system architecture being tailored more close...

Low- and No-code platforms - Will IT developers soon be out of a job?

“ The future of coding is no coding at all ” - Chris Wanstrath (CEO at GitHub). Mid May I posted a blog on RPA (Robotic Process Automation -   https://bankloch.blogspot.com/2020/05/rpa-miracle-solution-for-incumbent.html ) on how this technology, promises the world to companies. A very similar story is found with low- and no-code platforms, which also promise that business people, with limited to no knowledge of IT, can create complex business applications. These   platforms originate , just as RPA tools,   from the growing demand for IT developments , while IT cannot keep up with the available capacity. As a result, an enormous gap between IT teams and business demands is created, which is often filled by shadow-IT departments, which extend the IT workforce and create business tools in Excel, Access, WordPress…​ Unfortunately these tools built in shadow-IT departments arrive very soon at their limits, as they don’t support the required non-functional requirements (like h...

An overview of 1-year blogging

Last week I published my   60th post   on my blog called   Bankloch   (a reference to "Banking" and my family name). The past year, I have published a blog on a weekly basis, providing my humble personal vision on the topics of Fintech, IT software delivery and mobility. This blogging has mainly been a   personal enrichment , as it forced me to dive deep into a number of different topics, not only in researching for content, but also in trying to identify trends, innovations and patterns into these topics. Furthermore it allowed me to have several very interesting conversations and discussions with passionate colleagues in the financial industry and to get more insights into the wonderful world of blogging and more general of digital marketing, exploring subjects and tools like: Search Engine Optimization (SEO) LinkedIn post optimization Google Search Console Google AdWorks Google Blogger Thinker360 Finextra …​ Clearly it is   not easy to get the necessary ...

The UPI Phenomenon: From Zero to 10 Billion

If there is one Indian innovation that has grabbed   global headlines , it is undoubtedly the instant payment system   UPI (Unified Payments Interface) . In August 2023, monthly UPI transactions exceeded an astounding 10 billion, marking a remarkable milestone for India’s payments ecosystem. No wonder that UPI has not only revolutionized transactions in India but has also gained international recognition for its remarkable growth. Launched in 2016 by the   National Payments Corporation of India (NPCI)   in collaboration with 21 member banks, UPI quickly became popular among consumers and businesses. In just a few years, it achieved   remarkable milestones : By August 2023, UPI recorded an unprecedented   10.58 billion transactions , with an impressive 50% year-on-year growth. This volume represented approximately   190 billion euros . In July 2023, the UPI network connected   473 different banks . UPI is projected to achieve a staggering   1 ...

AI in Financial Services - A buzzword that is here to stay!

In a few of my most recent blogs I tried to   demystify some of the buzzwords   (like blockchain, Low- and No-Code platforms, RPA…​), which are commonly used in the financial services industry. These buzzwords often entail interesting innovations, but contrary to their promise, they are not silver bullets solving any problem. Another such buzzword is   AI   (or also referred to as Machine Learning, Deep Learning, Enforced Learning…​ - the difference between those terms put aside). Again this term is also seriously hyped, creating unrealistic expectations, but contrary to many other buzzwords, this is something I truly believe will have a much larger impact on the financial services industry than many other buzzwords. This opinion is backed by a study of McKinsey and PWC indicating that 72% of company leaders consider that AI will be the most competitive advantage of the future and that this technology will be the most disruptive force in the decades to come. Deep Lea...