SlideShare une entreprise Scribd logo
1  sur  40
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
“Open-Source, Web-Based, Framework for Integrating
Applications with Social Media Services and Personal
Cloudlets”
www.openi-ict.eu
IMPLEMENTING A USER-CENTRIC DATASTORE WITH
PRIVACY AWARE ACCESS CONTROL FOR CLOUD-
BASED DATA PLATFORMS
Paul Malone, Waterford Institute of Technology
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
OPENi Project
The OPENi research project aims to inspire innovation in the
mobile applications industry through the development of an
open-source platform for consumer-centric mobile cloud
applications.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
AppSecEU 2015
OPENi project software is released as PEAT (http://peat-platform.org)
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
AppSecEU 2015
Architecture
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Mobile Client Library
To provide convenient access to the API, security,
and Personal Cloudlet frameworks, OPENi provides
the following mobile client libraries.
 A cross-platform HTML/JavaScript library for use in
HTML5 and Apache Cordova mobile web-apps
 A native Android client library.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Security framework
The security framework is responsible for access
control functionality and is tightly coupled with the
Cloudlet and API Frameworks.
It provides users more control over their personal
data and the cloud-based services that they interact
with.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
API framework
 An open framework that is capable of
interoperating with a variety of cloud-based
services.
 Promotes innovation by offering application
developers a framework that will enable them to
design and build complex applications involving
the combinations of independent cloud-based
services.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Personal Cloudlet framework
 Provides application consumers with a single
location to store and control their personal data.
 In conjunction with the security framework,
empowers application consumers to remain in
control of their data.
 Consumers are assured their data is not being
used without their consent.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Personal Cloudlet Objectives
1. To build key technological enablers to ensure the
practical applicability and efficient use of the OPENi
platform.
2. To deliver an open source platform that will allow
application consumers to create, deploy and manage
their personal space in the cloud (Personal Cloudlet).
Each Personal Cloudlet constitutes an entity that will be
linked to its user's identity.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Personal Cloudlet Objectives
3. To provide and promote a novel, consistent, user-centric
application experience of cloud-based services not only
across different devices but also across different
applications.
4. To ensure the OPENi platform maintains a low barrier to
entry for application developers and service providers.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
How should a secure and privacy concerned web based
framework be developed in order to provide user-centric
management to dynamic data and APIs, while providing
the developer with the ability to access the data in a
privacy concerning manner?
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Implementation
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Key Technologies
 JavaScript/Node.js
 Mongrel2 (Web server)
 ZMQ (Message Bus)
 JWT (State)
 Swagger (REST
Definitions)
 CouchBase (NoSQL
Datastore)
 JSON (Data format, used
in transport and at rest)
 Micro-services/Distributed
Application
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Personal Cloudlet Framework
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Data Storage Component
 Capable of storing user, app-specific, and internal
cloudlet data.
 Data may be in various forms such as text, graphical,
audio etc. therefore the data storage component of the
cloudlet framework is capable of accommodating binary
files as well as structured JSON data.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Notification
 This component is responsible for communicating with
the platform’s users. Current message transport
mechanisms supported are:
 email
 SMS
 REST call
 Server Side Events (SSEs)
 Google Cloud Messaging(GCM)
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Authentication, Authorisation, and
Accounting
 Authentication and authorisation mechanisms are
handled by the security framework, however accounting
and auditing is handled in the cloudlet framework.
 The details of all access requests, subsequent actions and
cloudlet responses is monitored and logged by the
accounting component. These logs are available in the
cloudlet GUI for the cloudlet owner to inspect.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Data Access
 All data is accessed via a set of APIs, namely Data API
and Type API. They ensure a consistent access point for
all services such as apps, the API framework, and 3rd
party services.
 In conjunction with the Authentication, Authorisation,
Accounting component and permissions, the cloudlet
owner is in full control of who and what can access each
piece of data in their Personal Cloudlet.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Cloudlet GUIs
 To empower Cloudlet owners in the management of
their cloudlets they have a standalone GUI, separate to
the on app interface. GUI features include:
 access logs viewing
 preference editing
 permissions editing.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
User Centric & Privacy Preserving Features
 JSON Web Tokens
 Base64 encoded JSON objects
 Enable REST based frameworks manage sessions and claims
 In OPENi used to apply context to 3rd
party access to
personal cloudlets
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Types of Tokens
 Session Token: user and
developers can log into
the system and interact
with the data in their
cloudlets
 Auth token is generated
through the SDK.
Combined user and
developer login. User
through GUI &
developer through API
and secret keys.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Types of Tokens
AppSecEU 2015
 Auth token restricts data access
to data common to both app
developer and user as dictated
through permissions mechanism.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
User Centric & Privacy Preserving Features
 Data Reusability; App Interoperability
 Data persisted in a NoSQL document store
 Cloudlet is composed of a set of JSON Objects
 All objects (user data) adhere to a predefined OPENi Type
 All types are public and can be reused by developers across
applications
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Data Reusability - Types
 User data is stored as JSON
objects.
 Types describe and set rules for
objects.
 Types are used by the system
to validate data as is it added
 Types are used to give users
better understanding of their
data.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Data Reusability - Types
 @reference is a human readable description
of the type e.g. “User profile”
 @context contains an array of object
members and their rules.
 Dictates if the member is required, if it is a
single value or an array, it can even restrict
the possible values.
 The members primitive type must also be
listed.
 Supports int, string, data, timestamp, float,
base64, url, gps, and other Types.
 @context is a human readable description of
the object member.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Data Reusability - Types
 Types are public and reusable by the developer
community.
 Types are immutable, once they are created they cannot
be altered.
 Types are tightly integrated with the Auth dialogs and
permissions mechanism.
 A Type Builder GUI is provided to make it easier to build
types. (Next Slide)
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Type Builder
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
User Centric & Privacy Preserving Features
 Fine Grained Access Control
 Cloudlet objects have an associated permissions object
 Permissions objects provide information on which apps are
allowed access the object
 App developer can request access by object or type
 Requests can be be scoped by app and cloudlet
 Cloudlet owner can edit permissions based on type, app etc
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
User Centric & Privacy Preserving Features
 User Dashboard
 Data Browsing
 View data categorised by type or app
 Auditing
 A view of access request/response
 Permissions
 View and edit permissions
 Notifications
 Set notifications for data access requests
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Use Case: Ayda Fertility Tracker
 Ayda is IoT startup which
deals with private
personal data.
 Wearable device monitors
users body.
 Daily device log is
augmented with user
provided information.
 Data persisted to
OPENi/PEAT backend
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Ayda Android App Integration
 Use utility classes to persist data
to the backend.
 User Auth and session
management is automatically
handled by the client lib.
 Add a number of types through
admin portal.
 Create permissions manifest with
types.
 Include client lib in android
application
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Ayda Android App: Sample
Types
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Permissions Dialog
 Permissions combined
with data in type objects
to build meaningful auth
dialogs.
 User can choose to
approve or cancel
request.
 Approval can be revoked
later through user
dashboard.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
User Dashboard
 Link to User Dashboard
embedded in SDK. Swipe
to the right to bring up
menu.
 The user is taken off app
for security reasons.
 Data displayed on a per
type basis.
 Information is presented in
a more user friendly
manner by using the
content of the the Types.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
User Dashboard  User can
manipulate their
data and
permissions
directly through
the dashboard
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
User Dashboard
 Permissions are listed on
a per application basis.
 Piwik analytics engine
was integrated into the
platform.
 Applied it in a non-
traditional manner.
Instead of showing app
developers how often a
user engages with their
service we inform users
when app developers
access their data.
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open Source
 Website
 http://peat-platform.org/
 GitHub:
 https://github.com/peat-platform/
 Cloudlet deployment script:
 https://github.com/peat-platform/peat-deploy-script
AppSecEU 2015
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Conclusion
 OPENi has developed a Personal Cloudlet Framework
 Developers can define (or reuse pre-existing ) types and
permissions manifests for those types per application
 Users can view and edit permissions on a per-app or per-
cloudlet level
 Users can view access requests and responses
 Open source implementation
 (http://peat-platform.org)
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Open-AppSecEU 2015
Source, Web-Based, Framework for Integrating Applications with Cloud-based Services
and Personal Cloudlets.
Thank You
?
AppSecEU 2015

Contenu connexe

Tendances

Evident.io corp overview
Evident.io corp overviewEvident.io corp overview
Evident.io corp overview
Mark Marquiss
 
2015 cloud trend and cloud DR
2015 cloud trend and cloud DR2015 cloud trend and cloud DR
2015 cloud trend and cloud DR
bizmerce
 

Tendances (19)

Hybrid Integration
Hybrid IntegrationHybrid Integration
Hybrid Integration
 
Demystifying MuleSoft
Demystifying MuleSoftDemystifying MuleSoft
Demystifying MuleSoft
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API Strategy
 
How to Choose the Right API Management Solution
How to Choose the Right API Management SolutionHow to Choose the Right API Management Solution
How to Choose the Right API Management Solution
 
WSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and RoadmapWSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and Roadmap
 
Twelve factor-app
Twelve factor-appTwelve factor-app
Twelve factor-app
 
Microservices and SOA
Microservices and SOAMicroservices and SOA
Microservices and SOA
 
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
 
Evident.io corp overview
Evident.io corp overviewEvident.io corp overview
Evident.io corp overview
 
Microservices on Anypoint Platform
Microservices on Anypoint PlatformMicroservices on Anypoint Platform
Microservices on Anypoint Platform
 
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
 
apidays LIVE New York 2021 - APIOps: automating API operations for speed and ...
apidays LIVE New York 2021 - APIOps: automating API operations for speed and ...apidays LIVE New York 2021 - APIOps: automating API operations for speed and ...
apidays LIVE New York 2021 - APIOps: automating API operations for speed and ...
 
2018 November - AZUGDK - Azure AD
2018 November - AZUGDK - Azure AD 2018 November - AZUGDK - Azure AD
2018 November - AZUGDK - Azure AD
 
2015 cloud trend and cloud DR
2015 cloud trend and cloud DR2015 cloud trend and cloud DR
2015 cloud trend and cloud DR
 
OWASP AppSecEu 2016 Rome - Building secure cloud native apps
OWASP AppSecEu 2016 Rome - Building secure cloud native appsOWASP AppSecEu 2016 Rome - Building secure cloud native apps
OWASP AppSecEu 2016 Rome - Building secure cloud native apps
 
Anypoint platform in a mobile-centric world
Anypoint platform in a mobile-centric worldAnypoint platform in a mobile-centric world
Anypoint platform in a mobile-centric world
 
Cloud Native Runtime Platform
Cloud Native Runtime PlatformCloud Native Runtime Platform
Cloud Native Runtime Platform
 
How to Choose the Right Technology, Framework or Tool to Build Microservices
How to Choose the Right Technology, Framework or Tool to Build MicroservicesHow to Choose the Right Technology, Framework or Tool to Build Microservices
How to Choose the Right Technology, Framework or Tool to Build Microservices
 
McAfee - McAfee Application Control (MAC) - Whitelisting - Techbook
McAfee - McAfee Application Control (MAC) - Whitelisting - TechbookMcAfee - McAfee Application Control (MAC) - Whitelisting - Techbook
McAfee - McAfee Application Control (MAC) - Whitelisting - Techbook
 

En vedette

Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
openi_ict
 
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
openi_ict
 
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
openi_ict
 
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
openi_ict
 

En vedette (9)

FIA Dublin presentations: Agenda and Session Objectives
FIA Dublin presentations: Agenda and Session ObjectivesFIA Dublin presentations: Agenda and Session Objectives
FIA Dublin presentations: Agenda and Session Objectives
 
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
Open Innovation in the Mobile App Ecosystem: OPENi Perspective on APIs and Cl...
 
ברושור חינוך
ברושור חינוךברושור חינוך
ברושור חינוך
 
OPENi Privacy by design @Athens hackathon, September 2014
OPENi Privacy by design @Athens hackathon, September 2014OPENi Privacy by design @Athens hackathon, September 2014
OPENi Privacy by design @Athens hackathon, September 2014
 
1st OPENi Hackathon
1st OPENi Hackathon1st OPENi Hackathon
1st OPENi Hackathon
 
OPENi Innovation in the cloud
OPENi Innovation in the cloudOPENi Innovation in the cloud
OPENi Innovation in the cloud
 
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
FIA Dublin presentations: So what is a Cloudlet and why do I want one? by Joh...
 
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
FIA Dublin Presentations: The role of APIs in exposing cross-device functiona...
 
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
FIA Dublin Presentations: Mobile Innovation Economics: What's the future of p...
 

Similaire à OPENi presentation at AppSecEU 2015

A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015
Michael Petychakis
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Michael O'Sullivan
 

Similaire à OPENi presentation at AppSecEU 2015 (20)

OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
OPENi perspective on APIs and Cloudlets @Athens hackathon, September 2014
 
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...
 
A Graph API Framework Incorporating the Cloud Based Services Landscape
A Graph API Framework Incorporating the Cloud Based Services LandscapeA Graph API Framework Incorporating the Cloud Based Services Landscape
A Graph API Framework Incorporating the Cloud Based Services Landscape
 
A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015
 
Oracle mobile cloud service
Oracle mobile cloud serviceOracle mobile cloud service
Oracle mobile cloud service
 
OPENi Project Introduction @Athens hackathon, September 2014
OPENi Project Introduction @Athens hackathon, September 2014OPENi Project Introduction @Athens hackathon, September 2014
OPENi Project Introduction @Athens hackathon, September 2014
 
MCSDataSheet
MCSDataSheetMCSDataSheet
MCSDataSheet
 
Unveiling the Advantages and Core Elements of Cloud Native Architecture
Unveiling the Advantages and Core Elements of Cloud Native ArchitectureUnveiling the Advantages and Core Elements of Cloud Native Architecture
Unveiling the Advantages and Core Elements of Cloud Native Architecture
 
App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed?
 
The App Evolution
The App Evolution The App Evolution
The App Evolution
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native Applications
 
The App Evolution
The App EvolutionThe App Evolution
The App Evolution
 
Oracle Mobile Solution Overview
Oracle Mobile Solution OverviewOracle Mobile Solution Overview
Oracle Mobile Solution Overview
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key Components
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key Components
 
Build Performance-Driven Apps With .NET MAUI Framework
Build Performance-Driven Apps With .NET MAUI FrameworkBuild Performance-Driven Apps With .NET MAUI Framework
Build Performance-Driven Apps With .NET MAUI Framework
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTING
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?
 
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar VenugopalanAgile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
Agile Tour Pune 2015: Dev-ops- niche or mainstream: Bhaskar Venugopalan
 
App Service Web
App Service WebApp Service Web
App Service Web
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

OPENi presentation at AppSecEU 2015

  • 1. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. “Open-Source, Web-Based, Framework for Integrating Applications with Social Media Services and Personal Cloudlets” www.openi-ict.eu IMPLEMENTING A USER-CENTRIC DATASTORE WITH PRIVACY AWARE ACCESS CONTROL FOR CLOUD- BASED DATA PLATFORMS Paul Malone, Waterford Institute of Technology
  • 2. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. OPENi Project The OPENi research project aims to inspire innovation in the mobile applications industry through the development of an open-source platform for consumer-centric mobile cloud applications. AppSecEU 2015
  • 3. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. AppSecEU 2015 OPENi project software is released as PEAT (http://peat-platform.org)
  • 4. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. AppSecEU 2015 Architecture
  • 5. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Mobile Client Library To provide convenient access to the API, security, and Personal Cloudlet frameworks, OPENi provides the following mobile client libraries.  A cross-platform HTML/JavaScript library for use in HTML5 and Apache Cordova mobile web-apps  A native Android client library. AppSecEU 2015
  • 6. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Security framework The security framework is responsible for access control functionality and is tightly coupled with the Cloudlet and API Frameworks. It provides users more control over their personal data and the cloud-based services that they interact with. AppSecEU 2015
  • 7. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. API framework  An open framework that is capable of interoperating with a variety of cloud-based services.  Promotes innovation by offering application developers a framework that will enable them to design and build complex applications involving the combinations of independent cloud-based services. AppSecEU 2015
  • 8. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Personal Cloudlet framework  Provides application consumers with a single location to store and control their personal data.  In conjunction with the security framework, empowers application consumers to remain in control of their data.  Consumers are assured their data is not being used without their consent. AppSecEU 2015
  • 9. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Personal Cloudlet Objectives 1. To build key technological enablers to ensure the practical applicability and efficient use of the OPENi platform. 2. To deliver an open source platform that will allow application consumers to create, deploy and manage their personal space in the cloud (Personal Cloudlet). Each Personal Cloudlet constitutes an entity that will be linked to its user's identity. AppSecEU 2015
  • 10. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Personal Cloudlet Objectives 3. To provide and promote a novel, consistent, user-centric application experience of cloud-based services not only across different devices but also across different applications. 4. To ensure the OPENi platform maintains a low barrier to entry for application developers and service providers. AppSecEU 2015
  • 11. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. How should a secure and privacy concerned web based framework be developed in order to provide user-centric management to dynamic data and APIs, while providing the developer with the ability to access the data in a privacy concerning manner? AppSecEU 2015
  • 12. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Implementation AppSecEU 2015
  • 13. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Key Technologies  JavaScript/Node.js  Mongrel2 (Web server)  ZMQ (Message Bus)  JWT (State)  Swagger (REST Definitions)  CouchBase (NoSQL Datastore)  JSON (Data format, used in transport and at rest)  Micro-services/Distributed Application AppSecEU 2015
  • 14. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Personal Cloudlet Framework AppSecEU 2015
  • 15. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Data Storage Component  Capable of storing user, app-specific, and internal cloudlet data.  Data may be in various forms such as text, graphical, audio etc. therefore the data storage component of the cloudlet framework is capable of accommodating binary files as well as structured JSON data. AppSecEU 2015
  • 16. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Notification  This component is responsible for communicating with the platform’s users. Current message transport mechanisms supported are:  email  SMS  REST call  Server Side Events (SSEs)  Google Cloud Messaging(GCM) AppSecEU 2015
  • 17. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Authentication, Authorisation, and Accounting  Authentication and authorisation mechanisms are handled by the security framework, however accounting and auditing is handled in the cloudlet framework.  The details of all access requests, subsequent actions and cloudlet responses is monitored and logged by the accounting component. These logs are available in the cloudlet GUI for the cloudlet owner to inspect. AppSecEU 2015
  • 18. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Data Access  All data is accessed via a set of APIs, namely Data API and Type API. They ensure a consistent access point for all services such as apps, the API framework, and 3rd party services.  In conjunction with the Authentication, Authorisation, Accounting component and permissions, the cloudlet owner is in full control of who and what can access each piece of data in their Personal Cloudlet. AppSecEU 2015
  • 19. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Cloudlet GUIs  To empower Cloudlet owners in the management of their cloudlets they have a standalone GUI, separate to the on app interface. GUI features include:  access logs viewing  preference editing  permissions editing. AppSecEU 2015
  • 20. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. User Centric & Privacy Preserving Features  JSON Web Tokens  Base64 encoded JSON objects  Enable REST based frameworks manage sessions and claims  In OPENi used to apply context to 3rd party access to personal cloudlets AppSecEU 2015
  • 21. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Types of Tokens  Session Token: user and developers can log into the system and interact with the data in their cloudlets  Auth token is generated through the SDK. Combined user and developer login. User through GUI & developer through API and secret keys. AppSecEU 2015
  • 22. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Types of Tokens AppSecEU 2015  Auth token restricts data access to data common to both app developer and user as dictated through permissions mechanism.
  • 23. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. User Centric & Privacy Preserving Features  Data Reusability; App Interoperability  Data persisted in a NoSQL document store  Cloudlet is composed of a set of JSON Objects  All objects (user data) adhere to a predefined OPENi Type  All types are public and can be reused by developers across applications AppSecEU 2015
  • 24. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Data Reusability - Types  User data is stored as JSON objects.  Types describe and set rules for objects.  Types are used by the system to validate data as is it added  Types are used to give users better understanding of their data. AppSecEU 2015
  • 25. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Data Reusability - Types  @reference is a human readable description of the type e.g. “User profile”  @context contains an array of object members and their rules.  Dictates if the member is required, if it is a single value or an array, it can even restrict the possible values.  The members primitive type must also be listed.  Supports int, string, data, timestamp, float, base64, url, gps, and other Types.  @context is a human readable description of the object member. AppSecEU 2015
  • 26. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Data Reusability - Types  Types are public and reusable by the developer community.  Types are immutable, once they are created they cannot be altered.  Types are tightly integrated with the Auth dialogs and permissions mechanism.  A Type Builder GUI is provided to make it easier to build types. (Next Slide) AppSecEU 2015
  • 27. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Type Builder AppSecEU 2015
  • 28. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. User Centric & Privacy Preserving Features  Fine Grained Access Control  Cloudlet objects have an associated permissions object  Permissions objects provide information on which apps are allowed access the object  App developer can request access by object or type  Requests can be be scoped by app and cloudlet  Cloudlet owner can edit permissions based on type, app etc AppSecEU 2015
  • 29. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. AppSecEU 2015
  • 30. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. User Centric & Privacy Preserving Features  User Dashboard  Data Browsing  View data categorised by type or app  Auditing  A view of access request/response  Permissions  View and edit permissions  Notifications  Set notifications for data access requests AppSecEU 2015
  • 31. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Use Case: Ayda Fertility Tracker  Ayda is IoT startup which deals with private personal data.  Wearable device monitors users body.  Daily device log is augmented with user provided information.  Data persisted to OPENi/PEAT backend AppSecEU 2015
  • 32. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Ayda Android App Integration  Use utility classes to persist data to the backend.  User Auth and session management is automatically handled by the client lib.  Add a number of types through admin portal.  Create permissions manifest with types.  Include client lib in android application AppSecEU 2015
  • 33. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Ayda Android App: Sample Types AppSecEU 2015
  • 34. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Permissions Dialog  Permissions combined with data in type objects to build meaningful auth dialogs.  User can choose to approve or cancel request.  Approval can be revoked later through user dashboard. AppSecEU 2015
  • 35. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. User Dashboard  Link to User Dashboard embedded in SDK. Swipe to the right to bring up menu.  The user is taken off app for security reasons.  Data displayed on a per type basis.  Information is presented in a more user friendly manner by using the content of the the Types. AppSecEU 2015
  • 36. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. User Dashboard  User can manipulate their data and permissions directly through the dashboard AppSecEU 2015
  • 37. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. User Dashboard  Permissions are listed on a per application basis.  Piwik analytics engine was integrated into the platform.  Applied it in a non- traditional manner. Instead of showing app developers how often a user engages with their service we inform users when app developers access their data. AppSecEU 2015
  • 38. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open Source  Website  http://peat-platform.org/  GitHub:  https://github.com/peat-platform/  Cloudlet deployment script:  https://github.com/peat-platform/peat-deploy-script AppSecEU 2015
  • 39. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Conclusion  OPENi has developed a Personal Cloudlet Framework  Developers can define (or reuse pre-existing ) types and permissions manifests for those types per application  Users can view and edit permissions on a per-app or per- cloudlet level  Users can view access requests and responses  Open source implementation  (http://peat-platform.org)
  • 40. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Open-AppSecEU 2015 Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Thank You ? AppSecEU 2015

Notes de l'éditeur

  1. Make it clear that there is a whole load involved in the Graph API side of things as well but that this presentation and the paper are concerned with the Cloudlet and cloudlet framework.
  2. Built as a Distributed Application: composed of a number of software components called workers distributed across a number of hardware nodes; workers communicate with each other by passing messages. -- Allows each component to scale independently of each other…. Depending on the demand -- components are small and concentrate on a single task -- The overall application is stateless…. i.e. none of the core components maintain state/session data. ZMQ is the messaging framework that the components use to communicate with each other. Mongrel2 talks HTTP to Browsers on the frontend and ZMQ to micro-services on the backend. It connects the application to the real world. JWT allows for session like requests in a stateless system (public/private key setup)…. Only the auth component has the private key…. Other components have the public key. Swagger makes it easier to develop REST endpoints (auto generated HTML pages which interact with the endpoints and also create SDKs) Couchbase stores JSON natively and has a nice views feature that allowed us to rapidly add features and still maintain scalability.
  3. Better understanding when agreeing to auth dialogs and when viewing the data on the user dashboard.
  4. You can say that @id, @location, and _data_created are created by the system
  5. You can say that @id, @location, and _data_created are created by the system
  6. Left side: is for adding object members Middle : lists work in progress… i.e. the members that have just been added and their rules Right Bottom: the actual type that will be persisted. Right Top: An example of what the object may look like.
  7. Permission builder The URL is hidden but if it wasn’t it would be clear that these permissions are for a single application. Type ids entered on the left CRUD options can be checked in the middle: Some for app context and others for cloudlet wide access. The permissions manifest is listed on the right hand side. Permissions set on a per type basis.
  8. Introduce the use case here as it best outlines how the permissions dialogs and user dashboard work from the end users perspective.
  9. Can’t get anything to register on the piwik graph . Must have a word with Philip.