8,923 research outputs found
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
The capability to operate cloud-native applications can generate enormous
business growth and value. But enterprise architects should be aware that
cloud-native applications are vulnerable to vendor lock-in. We investigated
cloud-native application design principles, public cloud service providers, and
industrial cloud standards. All results indicate that most cloud service
categories seem to foster vendor lock-in situations which might be especially
problematic for enterprise architectures. This might sound disillusioning at
first. However, we present a reference model for cloud-native applications that
relies only on a small subset of well standardized IaaS services. The reference
model can be used for codifying cloud technologies. It can guide technology
identification, classification, adoption, research and development processes
for cloud-native application and for vendor lock-in aware enterprise
architecture engineering methodologies
A Trusted and Privacy-Enhanced In-Memory Data Store
The recent advent of hardware-based trusted execution environments provides isolated
execution, protected from untrusted operating systems, allowing for the establishment
of hardware-shielded trust computing base components. As the processor provides such
a “shielded” trusted execution environment (TEE), their use will allow users to run appli cations securely, for example on the remote cloud servers, whose operating systems and
hardware are exposed to potentially malicious remote attackers, non-controlled system
administrators and staff from the cloud providers. On the other hand, Linux containers
managed by Docker or Kubernetes are interesting solutions to provide lower resource
footprints, faster and flexible startup times, and higher I/O performance, compared with
virtual machines (VM) enabled by hypervisors. However, these solutions suffer from soft ware kernel mechanisms, easier to be compromised in confidentiality and integrity as sumptions of supported application data. In this dissertation we designed, implemented
and evaluated a Trusted and Privacy-Enhanced In-Memory Data Store, making use of a
hardware-shielded containerised OS-library to support its trust-ability assumptions. To
support large datasets, requiring data to be mapped outside those hardware-enabled con tainers, our solution uses partial homomorphic encryption, allowing trusted operations
executed in the protected execution environment to manage in-memory always-encrypted
data, that can be or not mapped inside the TEE.Os recentes avanços de ambientes de execução confiáveis baseados em hardware fornecem execução isolada, protegida contra sistemas operativos não confiáveis, permitindo o
estabelecimento de componentes base de computação de confiança protegidos por hardware. Como o processador fornece esses ambientes de execução confiável e "protegida"
(TEE), o seu uso permitirá que os utilizadores executem aplicações com segurança, por
exemplo em servidores cloud remotos, cujos sistemas operativos e hardware estão expostos a atacantes potencialmente maliciosos assim como administradores de sistema não
controlados e membros empregados dos sistemas de cloud. Por outro lado, os containers
Linux geridos por sistemas Docker ou Kubernetes são soluções interessantes para poupar
recursos físicos, obter tempos de inicialização mais rápidos e flexíveis e maior desempenho de I/O (interfaces de entrada e saída), em comparação com as tradicionais máquinas
virtuais (VM) activadas pelos hipervisores. No entanto, essas soluções sofrem com software e mecanismos de kernel mais fáceis de comprometerem os dados das aplicações na
sua integridade e privacidade.
Nesta dissertação projectamos, implementamos e avaliamos um Sistema de Armazenamento de Dados em Memória Confiável e Focado na Privacidade, utilizando uma
biblioteca conteinerizada e protegida por hardware para suportar as suas suposições de
capacidade de confiança. Para oferecer suporte para grandes conjuntos de dados, exigindo assim que os dados sejam mapeados fora dos containers seguros pelo hardware,
a solução utiliza encriptação homomórfica parcial, permitindo que operações executadas no ambiente de execução protegido façam gestão de dados na memória que estão
permanentemente cifrados, estando eles mapeados dentro ou fora dos containers seguros
Blockchain-Enabled DPKI Framework
Public Key Infrastructures (PKIs), which rely on digital signature technology and establishment
of trust and security association parameters between entities, allow entities
to interoperate with authentication proofs, using standardized digital certificates (with
X.509v3 as the current reference). Despite PKI technology being used by many applications
for their security foundations (e.g. WEB/HTTPS/TLS, Cloud-Enabled Services,
LANs/WLANs Security, VPNs, IP-Security), there are several concerns regarding their
inherent design assumptions based on a centralized trust model.
To avoid some problems and drawbacks that emerged from the centralization assumptions,
a Decentralized Public Key Infrastructure (DPKI), is an alternative approach. The
main idea for DPKIs is the ability to establish trust relations between all parties, in a
web-of-trust model, avoiding centralized authorities and related root-of-trust certificates.
As a possible solution for DPKI frameworks, the Blockchain technology, as an enabler
solution, can help overcome some of the identified PKI problems and security drawbacks.
Blockchain-enabled DPKIs can be designed to address a fully decentralized ledger for
managed certificates, providing data-replication with strong consistency guarantees, and
fairly distributed trust management properties founded on a P2P trust model. In this
approach, typical PKI functions are supported cooperatively, with validity agreement
based on consistency criteria, for issuing, verification and revocation of X509v3 certificates.
It is also possible to address mechanisms to provide rapid reaction of principals in
the verification of traceable, shared and immutable history logs of state-changes related
to the life-cycle of certificates, with certificate validation rules established consistently by
programmable Smart Contracts executed by peers.
In this dissertation we designed, implemented and evaluated a Blockchain-Enabled
Decentralized Public Key Infrastructure (DPKI) framework, providing an implementation
prototype solution that can be used and to support experimental research. The
proposal is based on a framework instantiating a permissioned collaborative consortium
model, using the service planes supported in an extended Blockchain platform leveraged
by the Hyperledger Fabric (HLF) solution. In our proposed DPKI framework model,
X509v3 certificates are issued and managed following security invariants, processing
rules, managing trust assumptions and establishing consistency metrics, defined and executed in a decentralized way by the Blockchain nodes, using Smart Contracts. Certificates
are issued cooperatively and can be issued with group-oriented threshold-based
Byzantine fault-tolerant (BFT) signatures, as group-oriented authentication proofs. The
Smart Contracts dictate how Blockchain peers participate consistently in issuing, signing,
attestation, validation and revocation processes. Any peer can validate certificates
obtaining their consistent states consolidated in closed blocks in a Meckle tree structure
maintained in the Blockchain. State-transition operations are managed with serializability
guarantees, provided by Byzantine Fault Tolerant (BFT) consensus primitives
Internal report cluster 1: Urban freight innovations and solutions for sustainable deliveries (2/4)
Technical report about sustainable urban freight solutions, part 2 of
TREDIS – A Trusted Full-Fledged SGX-Enabled REDIS Solution
Currently, offloading storage and processing capacity to cloud servers is a growing
trend among web-enabled services managing big datasets. This happens because high
storage capacity and powerful processors are expensive, whilst cloud services provide
cheaper, ongoing, elastic, and reliable solutions. The problem with this cloud-based out sourced solutions are that they are highly accessible through the Internet, which is good,
but therefore can be considerably exposed to attacks, out of users’ control. By exploring
subtle vulnerabilities present in cloud-enabled applications, management functions, op erating systems and hypervisors, an attacker may compromise the supported systems,
thus compromising the privacy of sensitive user data hosted and managed in it. These
attacks can be motivated by malicious purposes such as espionage, blackmail, identity
theft, or harassment. A solution to this problem is processing data without exposing it to
untrusted components, such as vulnerable OS components, which might be compromised
by an attacker.
In this thesis, we do a research on existent technologies capable of enabling appli cations to trusted environments, in order to adopt such approaches to our solution as a
way to help deploy unmodified applications on top of Intel-SGX, with overheads com parable to applications designed to use this kind of technology, and also conducting an
experimental evaluation to better understand how they impact our system. Thus, we
present TREDIS - a Trusted Full-Fledged REDIS Key-Value Store solution, implemented
as a full-fledged solution to be offered as a Trusted Cloud-enabled Platform as a Service,
which includes the possibility to support a secure REDIS-cluster architecture supported
by docker-virtualized services running in SGX-enabled instances, with operations run ning on always-encrypted in-memory datasets.A transição de suporte de aplicações com armazenamento e processamento em servidores
cloud é uma tendência que tem vindo a aumentar, principalmente quando se precisam
de gerir grandes conjuntos de dados. Comparativamente a soluções com licenciamento
privado, as soluções de computação e armazenamento de dados em nuvens de serviços
são capazes de oferecer opções mais baratas, de alta disponibilidade, elásticas e relativa mente confiáveis. Estas soluções fornecidas por terceiros são facilmente acessíveis através
da Internet, sendo operadas em regime de outsourcing da sua operação, o que é bom, mas
que por isso ficam consideravelmente expostos a ataques e fora do controle dos utiliza dores em relação às reais condições de confiabilidade, segurança e privacidade de dados.
Ao explorar subtilmente vulnerabilidades presentes nas aplicações, funções de sistemas
operativos (SOs), bibliotecas de virtualização de serviços de SOs ou hipervisores, um ata cante pode comprometer os sistemas e quebrar a privacidade de dados sensíveis. Estes
ataques podem ser motivados por fins maliciosos como espionagem, chantagem, roubo
de identidade ou assédio e podem ser desencadeados por intrusões (a partir de atacantes
externos) ou por ações maliciosas ou incorretas de atacantes internos (podendo estes atuar
com privilégios de administradores de sistemas). Uma solução para este problema passa
por armazenar e processar a informação sem que existam exposições face a componentes
não confiáveis.
Nesta dissertação estudamos e avaliamos experimentalmente diversas tecnologias que
permitem a execução de aplicações com isolamento em ambientes de execução confiá vel suportados em hardware Intel-SGX, de modo a perceber melhor como funcionam e
como adaptá-las à nossa solução. Para isso, realizámos uma avaliação focada na utilização
dessas tecnologias com virtualização em contentores isolados executando em hardware
confiável, que usámos na concepção da nossa solução. Posto isto, apresentamos a nossa
solução TREDIS - um sistema Key-Value Store confiável baseado em tecnologia REDIS,
com garantias de integridade da execução e de privacidade de dados, concebida para
ser usada como uma "Plataforma como Serviço"para gestão e armazenamento resiliente
de dados na nuvem. Isto inclui a possibilidade de suportar uma arquitetura segura com
garantias de resiliência semelhantes à arquitetura de replicação em cluster na solução
original REDIS, mas em que os motores de execução de nós e a proteção de memória
do cluster é baseado em contentores docker isolados e virtualizados em instâncias SGX, sendo os dados mantidos sempre cifrados em memória
Blockchain Enabled Platforms for the Internet of Things
The Blockchain and the Internet of Things (IoT) have gained a lot of attention in the
last few years, since both technologies enable the possibility of creating a more connected
and independent world. This combination enables the design of computing systems and
cyber-physical environments without the need of centralized trusted entities, giving users
the freedom and control of their operations, in a decentralized ledger model. By using
storing and logging mechanisms supported by the Blockchain, data is immutable and
independently audited, guaranteeing that it is neither modified nor deleted. At the same
time, applications can benefit from the reliability and fault-tolerance assumptions provided
by the Blockchain in supporting transactions between users and involved devices.
In this thesis, it was studied and proposed a generic solution for a Blockchain-enabled
IoT software architecture. The proposed solution enables the advantages of using decentralized
logging and ledgering, without the interference of central authorities, inherently
supported by the base Blockchain reliability, availability and security foundations. These
capabilities are envisaged as key-benefits for a new generation of clean-slate approaches
for IoT applications with the required scalability criteria.
The research conducted in the dissertation work, studied the base software foundations,
relevant components and implementation options that enable the identified advantages
of using Blockchain components and services, to leverage more scalable and
trustable IoT platforms. Our proposed solution aims to provide an architecture that contributes
to a more appropriate design for secure and reliable IoT systems. In this trend
we propose a better use of edge-based support for local-enabled processing environments
supporting IoT devices and users’ interactions, with operations intermediated by proximity
hubs acting as gateways to the Blockchain, where the operations are regulated and
controlled by verifiable smart-contracts involving data and transactions
Distributed Storage with Strong Data Integrity based on Blockchain Mechanisms
Master's thesis in Computer scienceA blockchain is a datastructure that is an append-only chain of blocks. Each
block contains a set of transaction and has a cryptographic link back to
its predecessor. The cryptographic link serves to protect the integrity of
the blockchain. A key property of blockchain systems is that it allows mu-
tually distrusting entities to reach consensus over a unique order in which
transactions are appended. The most common usage of blockchains is in
cryptocurrencies such as Bitcoin.
In this thesis we use blockchain technology to design a scalable architec-
ture for a storage system that can provide strong data integrity and ensure the
permanent availability of the data. We study recent literature in blockchain
and cryptography to identify the desired characteristics of such a system. In
comparison to similar systems, we are able to gain increased performance by
designing ours around a permissioned blockchain, allowing only a predefined
set of nodes to write to the ledger. A prototype of the system is built on top
of existing open-source software. An experimental evaluation using different
quorum sizes of the prototype is also presented
Trusted Computing and Secure Virtualization in Cloud Computing
Large-scale deployment and use of cloud computing in industry
is accompanied and in the same time hampered by concerns regarding protection of
data handled by cloud computing providers. One of the consequences of moving
data processing and storage off company premises is that organizations have
less control over their infrastructure. As a result, cloud service (CS) clients
must trust that the CS provider is able to protect their data and
infrastructure from both external and internal attacks. Currently however, such
trust can only rely on organizational processes declared by the CS
provider and can not be remotely verified and validated by an external party.
Enabling the CS client to verify the integrity of the host where the
virtual machine instance will run, as well as to ensure that the virtual
machine image has not been tampered with, are some steps towards building
trust in the CS provider. Having the tools to perform such
verifications prior to the launch of the VM instance allows the CS
clients to decide in runtime whether certain data should be stored- or calculations
should be made on the VM instance offered by the CS provider.
This thesis combines three components -- trusted computing, virtualization technology
and cloud computing platforms -- to address issues of trust and
security in public cloud computing environments. Of the three components,
virtualization technology has had the longest evolution and is a cornerstone
for the realization of cloud computing. Trusted computing is a recent
industry initiative that aims to implement the root of trust in a hardware
component, the trusted platform module. The initiative has been formalized
in a set of specifications and is currently at version 1.2. Cloud computing
platforms pool virtualized computing, storage and network resources in
order to serve a large number of customers customers that use a multi-tenant
multiplexing model to offer on-demand self-service over broad network.
Open source cloud computing platforms are, similar to trusted computing, a
fairly recent technology in active development.
The issue of trust in public cloud environments is addressed
by examining the state of the art within cloud computing security and
subsequently addressing the issues of establishing trust in the launch of a
generic virtual machine in a public cloud environment. As a result, the thesis
proposes a trusted launch protocol that allows CS clients
to verify and ensure the integrity of the VM instance at launch time, as
well as the integrity of the host where the VM instance is launched. The protocol
relies on the use of Trusted Platform Module (TPM) for key generation and data protection.
The TPM also plays an essential part in the integrity attestation of the
VM instance host. Along with a theoretical, platform-agnostic protocol,
the thesis also describes a detailed implementation design of the protocol
using the OpenStack cloud computing platform.
In order the verify the implementability of the proposed protocol, a prototype
implementation has built using a distributed deployment of OpenStack.
While the protocol covers only the trusted launch procedure using generic
virtual machine images, it presents a step aimed to contribute towards
the creation of a secure and trusted public cloud computing environment
Towards mobile cloud computing with single sign-on access
This is a post-peer-review, pre-copyedit version of an article published in Journal of Grid Computing. The final authenticated version is available online at: http://dx.doi.org/10.1007/s10723-017-9413-3The low computing power of mobile devices impedes the development of mobile applications with a heavy computing load. Mobile Cloud Computing (MCC) has emerged as the solution to this by connecting mobile devices with the “infinite” computing power of the Cloud. As mobile devices typically communicate over untrusted networks, it becomes necessary to secure the communications to avoid privacy-sensitive data breaches. This paper presents work on implementing MCC applications with secure communications. For that purpose, we built on COMPSs-Mobile, a redesigned implementation of the COMP Superscalar (COMPSs) framework aiming to MCC platorms. COMPSs-Mobile automatically exploits the parallelism inherent in an application and orchestrates its execution on loosely-coupled distributed environment. To avoid a vendor lock-in, this extension leverages on the Generic Security Services Application Program Interface (GSSAPI) (RFC2743) as a generic way to access security services to provide communications with authentication, secrecy and integrity. Besides, GSSAPI allows applications to take profit of more advanced features, such as Federated Identity or Single Sign-On, which the underlying security framework could provide. To validate the practicality of the proposal, we use Kerberos as the security services provider to implement SSO; however, applications do not authenticate themselves and require users to obtain and place the credentials beforehand. To evaluate the performance, we conducted some tests running an application on a smartphone offloading tasks to a private cloud. Our results show that the overhead of securing the communications is acceptable.This work has been supported by the Spanish Government (contracts TIN2012-34557, TIN2015-65316-P and grants BES-2013-067167, EEBB-I-15-09808 of the Research Training Program and SEV-2011-00067 of Severo Ochoa Program), by Generalitat de Catalunya (contract 2014-SGR-1051) and by the European Commission (ASCETiC project, FP7-ICT-2013.1.2 contract 610874). The second author was partially supported by the European Commission's Horizon2020 programme under grant agreement 653965 (AARC).Peer ReviewedPostprint (author's final draft
- …