Nonfunctional Requirements
Nonfunctional Requirements
Nonfunctional Requirements
Resource sharing
Motivation: cost effectiveness, facilitates workgroup applications, cooperation
Problems: integrity and security of the shared resources
Solution: Resource manager for resource access (authorization authentication)
Security
Model and actors
1. Resource provider (RP) - offers security-critical data
or application resources
2. Hacker (H) - can corrupt, access, replace,
delay/deny access to resources
3. Security Service Provider (SP) - protect critical
resources from attack by providing protection services:
integrity, confidentiality, authorization and access, identity,
authenticity, availability, non repudiation, auditing
4. Security System Beneficiary (SB) integrity verification (verify accuracy of
data/applications)
confidentiality preservation (has assurance that confidentiality of data is enforced
over time)
Authorization/Access permission (authorized access permissions to critical data have
been provided)
Identity verification (verification means of the identity of the data/application sources)
Cryptography
fundamental component of any security solution
provides integrity and confidentiality protection
important for mechanisms of: identity, authenticity. non repudiation
use cryptographic methods with symmetric and asymmetric keys
Identity and authentication
password based
physical token based
bio metrics based
certificate based (block of data containing info to identify a principal)
Access control
Role based
Firewall based
Domain based
2.
3.
4.
5.
6.
7.
8.
1. Access
same interface to a service (could be local or remote)
the user cannot distinguish a local resource from a remote one
Location
a client doesnt need to know the location (machine, IP address) of the resource he
uses
Migration
Sometimes components need relocation (ex: for load balancing)
This should be done without warning the client
Replication (copy of components)
main issues: generating replicas and keeping them updates with the original
main benefits: system loading, scalability, reliability, may improve the system
response
key concept for load balancing
create database replicas in order to keep data near the processes
Concurrency
same resource can be concurrently used by many clients without interference or
awareness
main issue: integrity of the shared resource
Scalability
users are not aware about scaling up the system
Performance
the user is not aware about how a certain performance is achieved
techniques that may influence performance transparency: load balancing, replicas,
component migration
Failure
server components can recover themselves
relies on replication and transparency