Separation of Duties
Separation of Duties
General description[edit]
Separation of duties is a key concept of internal controls. Increased protection from
fraud and errors must be balanced with the increased cost/effort required.
In essence, SoD implements an appropriate level of checks and balances upon the
activities of individuals. R. A. Botha and J. H. P. Eloff in the IBM Systems Journal
describe SoD as follows.
Separation of duty, as a security principle, has as its primary objective the prevention of
fraud and errors. This objective is achieved by disseminating the tasks and associated
privileges for a specific business process among multiple users. This principle is
demonstrated in the traditional example of separation of duty found in the requirement
of two signatures on a cheque.[1]
Actual job titles and organizational structure may vary greatly from one organization to
another, depending on the size and nature of the business. Accordingly, rank or
hierarchy are less important than the skillset and capabilities of the individuals involved.
With the concept of SoD, business critical duties can be categorized into four types of
functions: authorization, custody, record keeping, and reconciliation. In a perfect
system, no one person should handle more than one type of function.
Principles[edit]
Principally several approaches are optionally viable as partially or entirely different
paradigms:
Auxiliary Patterns[edit]
A person with multiple functional roles has the opportunity to abuse those powers. The
pattern to minimize risk is:
1. Start with a function that is indispensable, but potentially subject to abuse.
2. Divide the function into separate steps, each necessary for the function to work
or for the power that enables that function to be abused.
3. Assign each step to a different person or organization.
General categories of functions to be separated:
authorization function
reconciliation or audit
splitting one security key in two (more) parts between responsible persons
This is not an exhaustive presentation of the software development life cycle, but a list
of critical development functions applicable to separation of duties.
To successfully implement separation of duties in information systems a number of
concerns need to be addressed:
The process used to ensure a person's authorization rights in the system is in line
with his role in the organization.