Lecture 11 - Database Security
Lecture 11 - Database Security
1
Geospatial Database Security
2
Introduction
3
Real life examples
4
Real life examples
5
Real life examples
6
Real life examples
7
Introduction to Geospatial Database
• Geospatial data
• Spatial data, also known as geospatial data, is
information about a physical object that can be
represented by numerical values in a geographic
coordinate system.
8
Introduction to Geospatial Database
• Geospatial data
– There are many resources that has location based information
(represented by longitude and latitude) which are useful for us.
– Availability of these resources to the right person through mobile
Internet has become a new type of service that is growing day by
day.
– Map, aerial & satellite images are associated with location
information represented by longitude and latitude:
• River, school, park, road
• rainfall, vegetation index, population, environmental pollution
index etc. 9
Introduction to Geospatial Database
• Geospatial data
– Geospatial data can be collected, analyzed, manipulated,
and integrated and visualized with the help of various GIS
software and Internet Map Server.
– Geospatial data clearinghouse: It captures, creates,
processes and disseminates spatial information with the help
of various software to provide an information service.
10
Introduction to Geospatial Database
11
Introduction to Geospatial Database
12
• Latitude and longitude are angles that uniquely define
points on a sphere.
13
Introduction to Geospatial Database
Advantage:
• Citizen service (location based)
• Decision making:
– business facilities and site selection,
– demographic analyses,
– route selection, zoning,
– planning, conservation, natural resource extraction,
– natural and man-made damage assessment, and
– national security.
15
Introduction to Geospatial Database
Disadvantages:
• Serious threats to security and privacy:
– water distribution, telecommunication, bridges, tunnels,
and nuclear plants,
– These may cause a large scale socio-economic impact in
case of failure.
• Positional information of a person may lead to privacy
threat
• Sensitive activities of a certain location may need to
be secrete.
16
Geospatial Web Service (GWS)
17
Geospatial Web technology
19
Access Control for Geospatial Database
20
Access Control for Geospatial Database
21
Geospatial Data Models
• A data model in geographic information systems is a
mathematical construct for representing geographic
objects or surfaces as data.
• Vector and raster data are the two primary data types
used in GIS. Both vector and raster data have spatial
referencing systems. These are latitudes and longitudes
that pinpoint positions on Earth.
23
Geospatial Data Models
Vector Raster
Point
Line
Zone of cells
Polygon
24
Geospatial Data Models
• Thematic layer:
– A thematic layer is a collection of geometries having
same attribute sets.
• One theme/layer indicates the schools on the map.
• Another layer indicates water bodies in a map.
27
Raster data model
28
Raster data model
29
Raster data model
• A grid defines geographic space as a matrix of identically-sized
square cells. Each cell holds a numeric value that measures a
geographic attribute (like elevation) for that unit of space.
30
The grid data structure
• Grid values
o Real (floating decimal point)
o Integer (may have associated attribute table)
31
Definition of a Grid
Cell size
Number
of
rows
NODATA cell
(X,Y)
Number of Columns
32
Points as Cells
33
Line as a Sequence of Cells
34
Polygon as a Zone of Cells
35
NODATA Cells
36
Cell Networks
37
Grid Zones
38
Floating Point Grids
39
Value attribute table for categorical
(integer) grid data
41
Difference between Vector & Raster Data
• Raster data model • Vector data model
– location referenced by x,y
o location is referenced by a grid of
coordinates, which can be linked to
cells in a rectangular array (matrix)
form lines and polygons
o attribute is represented as a single – attributes referenced through
value for that cell unique ID number to tables
o much data comes in this form – much data comes in this form
• images from remote sensing • census data (tabular)
(LANDSAT, SPOT)
• scanned maps – best for features with discrete
• elevation data from USGS boundaries
o best for continuous features: • property lines
• elevation • political boundaries
• temperature • transportation
• soil type
• land use 42
Geospatial Access Control Models
43
Geospatial Data Authorization Model (Image)
44
Geospatial Data Authorization Model (Image)
45
Geospatial Data Authorization Model (Image)
• Geo-temporal policy that governs the access rights
of the geospatial subjects to the geospatial objects.
• Geospatial Role defined as per the Geo-temporal
policy.
• Geospatial Subject
• Geospatial Object
• Geospatial Permission
• Evaluation
46
Geospatial Data Authorization Model
• Spatio-temporal policies(image):
– P1: All users(Subjects) can view 10 meter or lower resolution images
(Objects).
– P2: 1 meter resolution images of the parcel located in ”120 James Street,
Newark, New Jersey” can be accessed only by the current owner of this
parcel.
– P3: Only military personnel positioned in Afghanistan can zoom-in to 1
meter resolution images over Afghanistan captured after September 11,
2001.
– P4: The police officers positioned in Bergen County are allowed to access
1 meter resolution images of the nuclear power plant located at [-
81.37227, 28.54623].
47
Geospatial Data Authorization Model
48
Geospatial Data Authorization Model
• Geotemporal Role:
– Are used to specify a set of subjects possessing credentials having
spatial and temporal properties indicating that each role is
associated with a certain region and temporal interval.
– Role changes depending on the user’s location and time.
– Roles are assigned to users depending on the context a user is in.
• A role “doctor” in Dhaka is different from a role “doctor” in
Khulna.
• A role ‘doctor’ in morning shift is different from a role of
‘doctor’ in the evening shift.
49
Geospatial Data Authorization Model
• Geotemporal Role:
– Geospatial role expression re = (r, sc)
• Where r=traditional role as specified in RBAC
• Sc = a scene that is associated with geospatial and
temporal extents.
• Each sc can be organized as a hierarchy in its own
domain
– Incident domain may have scene like fire, flood, earthquake
etc.
– Shopping domain may have scene like mall, retail shop,
wholesale area, market etc.
50
Geospatial Data Authorization Model
• Geotemporal Role:
– Geospatial role expression re = (r, sc)
– Each sc can be instantiated with a scene expression such as
» Sc = {label, lt, lg, h,w, [tb, te]}
» where label is a descriptive scene name, such as ”Dhaka
City”, ”mall” or ”fire,” and
» {lt, lg, h,w} denotes latitude, longitude, height and
width of a bounding box covering a geographic area of
the scene and
» [tb,te] denotes the temporal period of the scene.
51
Geospatial Data Authorization Model
Geotemporal Role(Example):
– {“Police Officer”, “Dhaka City”} denotes any Police Officer at
any place inside Dhaka City,
52
Geospatial Data Authorization Model
• Geotemporal Object:
– Each geotemporal object belongs to an object type.
– Attributes of object types:
• Unique identifier
• Type of geospatial object m , … ..}
30 , 2 00
• Longitude
80 , 7 0.
e r, 30.
• Latitude
3 05 ,Riv
• Height ge={
• Width
• Resolution
• Timestamp
• Thematic link to the data set associated with the object
– A geotemporal object is specified with a geotemporal object expression ge
that is a logical expression of object attributes and their values.
53
Geospatial Data Authorization Model
• Geotemporal Object:
– Each geotemporal object belongs to an object type, which
can be organized into a object type hierarchy.
54
Geospatial Data Authorization Model
• Geotemporal permissions:
– Viewing
– Copying
– Maintenance mode
55
Geospatial Data Authorization Model
56
Geospatial Data Authorization Model
• Geotemporal permissions: Copying
– The copying modes, download and download-data, allow
source files to be downloaded.
– Viewing and copying are distinguished as separate privileges
with geospatial data.
57
Geospatial Data Authorization Model
58
Geospatial Data Authorization Model
59
Geospatial Data Authorization Model
• Geotemporal Authorization: Example
• Authorization = {re, ge, privilege, period, sign}
• re = {“Police Officer1”,Sc}, Sc={“Raman PS”, its location,
morning shift}
• re = {“Police Officer1”, “Ramna PS”, its location, morning
shift}
• ge = {“Ramna PS”, its location, Resolution, Timestamp,
Road network}
60
61
• Example of authorization
62
• These authorizations can be interpreted as follows:
• a1: specifies that John is allowed to access a region
centered at point (50,60) with width and height of 10 in
LANDSAT images, with a zoom-in level of up to 8, during
1 January 1999 and now.
63
Geospatial Data Authorization Model
• Access Control Evaluation: Access Request
– Access request, r = {gtc, gto, p}
– where gtc is a geotemporal credential expression of the
user with the contextual information such as the
current location and time the user is situated in,
– gto is a geotemporal object expression that can include
a particular image type, a spatial area with certain
temporal footprint, and
– p is a permission type.
64
• ur1 states that John wants to view objects with identifier equal to 12.
• In ur2, Mary requests to identify the property information of a
specific rectangular region represented by (50,60,10,10) from images
of 1 meter resolution downloaded between 1 August 2001 and now.
65
Geospatial Data Authorization Model
• Access Control Evaluation: processing evaluation
• Authorization Policy = {re, ge, privilege, period, sign}
• Access request, r = {gtc, gto, p}
– gtc is matched with re in the policy statement, and when the
spatial and temporal extents are included in the geotemporal
role extents, the role is activated.
– Then gto is matched with the authorized geotemporal
expression ge in the policy.
– The matching operations between the requested and policy
geotemporal extents include predicates to check the spatial and
temporal relationships such as containment, total and partial
overlap, meet, and no-overlap.
66
Geospatial Data Authorization Model
• Access Control Evaluation: processing evaluation
• Authorization Policy = {re, ge, privilege, period, sign}
• Access request, r = {gtc, gto, p}
– When the geotemporal extent gto is contained, totally or
partially overlapping with the object’s geotemporal extents ge
in the authorization, and the requested permission matches
with the one in the authorization, the authorization is allowed.
– In case of partial overlap, only the overlapping area of the
object should be delivered, which requires post-processing of
the retrieved objects, such as cropping of images and
mosaicking of multiple cropped objects.
67
Geospatial Role Based Access Control
(RBAC) Model: Introduction
• RBAC is centered on the notion of role.
• A role is a semantic construct which represents a job
function within an organization.
• RBAC standards consists of four basic set of elements:
– User: a human being or autonomous agent.
– Role: represents a function of a user within a community.
– Permission: an approval to perform an operation on one or more
objects.
– Session: When an user logs in, a session is established during
which the user activates some subsets of role that s/he is
assigned. 68
Geospatial Role Based Access Control
(RBAC) Model: Example
69
Geospatial Role Based Access Control
(RBAC) Model : Example
A mobile Application for the personnel and patient of a
health care organization:
• Individuals are given a location aware terminal with
which they can request information service provided by
an Application Server.
• Functional roles of individuals:
– Doctor, Nurse, Patient, General Staff etc.
• Available services of users depends on their functional
role.
• Availability of roles and thus services depends on the
location of the user. 70
Geospatial Role Based Access Control
(RBAC) Model : Example
71
Geospatial Role Based Access Control
(RBAC) Model
72
Geospatial Role Based Access Control
(RBAC) Model
77
Geospatial Role Based
Access Control (RBAC) Model
Positional Model:
• The actual user position that can change in time is
modeled with either
– a real position, that is actual geometry such as a point
or a polygon, and/or
– a logical position, i.e. spatial feature (such as city,
Hospital, University campus etc.).
• There is a one-to-many mapping function that can map
the real position to logical positions.
78
Geospatial Role Based
Access Control (RBAC) Model
Positional Model:
• Real positions can be located on the satellite map
using GPS.
• Logical positions can be represented at different
granularities depending on the spatial role played by
the user.
• Information with high resolution image may be allowed
for privacy protection.
Why logical positioning is so important?
79
Geospatial Role Based
Access Control (RBAC) Model
Geo-RBAC Model:
• The spatially aware role based access control model
consists of :
– role schema and role instance,
– permissions, users, and sessions.
80
Geospatial Role Based Access Control
(RBAC) Model: Spatial role
81
Geospatial Role Based Access Control
(RBAC) Model: Spatial role
82
Geospatial Role Based Access Control
(RBAC) Model: Spatial role
83
Geospatial Role Based Access Control
(RBAC) Model: Spatial role
88
Geospatial Role Based Access Control
(RBAC) Model: Access Request Evaluation
89
Geospatial Role Based Access Control
(RBAC) Model: Access Request Evaluation
93
Location Based Access Control (LBAC)
94
Difference between RBAC and LBAC
– In RBAC, user’s static location is considered to determine
allow/deny of access whereas in LBAC, users dynamic
location is considered.
– As a result, RBAC is suitable for static environment (Hospital,
Road, River etc.) whereas LBAC is suitable for dynamic
environment (war, earthquake, cyclone etc.).
– RBAC considers logical location on the map vector data for
granting or denying access whereas LBAC considers only
physical location.
– RBAC does not take the external help while taking the access
decision where LBAC takes help of external service provider
(Telco for location based service).
95
Examples of LBAC Policy
• P1: System administrators are authorized to configure the
mobile network if they are in the server farm room, they
are alone in such an area, and move at walking speed at
most.
• Subject:
– represented with subject expression, which is a
Boolean conditional predicate to refer to a set of
subjects depending on whether they satisfy certain
conditions.
– The conditions are evaluated with
• the user’s profile,
• location, and
• the user’s membership in groups or active roles.
– Example:–
– subject: equal(job,Professor) ^ greater than(age,35 ) 97
LBAC: Subject, Object & Action
• Object:
– represented with a Boolean object expression, which refers
to a set of objects that satisfy the conditions in the object
expression where conditions evaluate membership of the
object in categories, and values of properties on metadata.
object: equal(level,critical ) ^ less than(creation,2008/01/01 )
• Action:
– is the action (or class of actions) that is allowed or denied.
– actions: read
98
LBAC: Architecture
99
LBAC: Architecture
100
LBAC: Architecture
101
LBAC: Architecture
102
LBAC: Architecture
103
LBAC: Architecture
• Position-based conditions
• Movement based conditions
• Interaction-based conditions
105
LBAC: Location-based Predicates
106
LBAC: Location-based Predicates
107
LBAC: Models of Policy Rules
108
LBAC: Models of Policy Rules
109
LBAC Policy Evaluation and Enforcement
• Access request = {user id, SIM, action, object id},
• Example:
Doc ID
– AR = {2345, 90900000, read, 67890}
• Rule: any citizen age greater than 55 years from inside
Bangladesh can read a particular doc.
110
LBAC Policy Evaluation and Enforcement
112
LBAC Policy Evaluation and Enforcement
113
LBAC Policy Evaluation and Enforcement
115
LBAC Policy Evaluation and Enforcement
Example: An user sends a request = {user id, SIM, action, object id}
Suppose that for inarea predicate the lower and upper thresholds are 0.2 and 0.8,
respectively, and
that inarea(Kamal,GPDC) = [True 0.85,2009-01-20,09:00pm]
is the triple returned by the LP to the ACE stating that Alice is located in the Data
Center of GP with confidence of 85%.
116