GADGETCOIN (GDC): SECURE SMART CONTRACTS FOR DECENTRALISED INTERNET-OF-THINGS DEVICES
|
|
|
- Kelly Peters
- 10 years ago
- Views:
Transcription
1 GADGETCOIN (GDC): SECURE SMART CONTRACTS FOR DECENTRALISED INTERNET-OF-THINGS DEVICES Contents Abstract... 3 Background... 3 Security... 3 Data Control... 4 Standards... 4 Payment services for Internet-of-Things... 4 Smart contracts... 4 Block-chain based technology with Internet-of-Things devices... 4 The GadgetCoin System... 5 Decentralized peer to peer network Accounts... 7 Security... 9 Network and application integrity... 9 The block-chain The block creation and mining Privacy issues and the block-chain Design and Implementation Transactions and smart contracts The general concept of smart contracts Use cases The implementation and workflow Unique revenue sharing distribution model Payment network Payment Services References Page 1 of 28
2 Figure 1 - GadgetCoin High level use case diagram... 5 Figure 2 - GadgetCoin Node Account ID diagram... 7 Figure 3 - Message security using Dev Node and Process Executor Node Figure 4 - Block data structure Figure 5 - Sequence diagram to describe car park devices management using GadgetCoin Figure 6 - Multi signatory security safe control smart contract Figure 7 - Smart contract block header Figure 8 - Activity diagram to describe a self-storage system using GadgetCoin Figure 9 - Vehicle service station with Chained Smart Contracts Figure 10 - Multi-level distribution model Figure 11- Revenue share source code Figure 12 - Payment transaction data structure Figure 13 - Payments with GadgetCoin tokens and GadgetCoin specific new crypto currencies Figure 14 - Payments with FIAT money and Bitcoin Page 2 of 28
3 Abstract GadgetCoin (GDC) is a decentralized, multi-party, distributed consensus application for interacting with Internet-of- Things devices. GadgetCoin aims to implement a system that securely manages Internet-of-Things devices without using a central server or client-server infrastructure. The system is capable of delivering real-time hardware services from either machine to machine or machine to humans. The actors of the system are nodes on a peer-to-peer network. Hardware services are manifested in smart contracts that are accessible via messages and transactions. The system uses a block-chain to manage messages, transactions and smart contracts. The block-chain is collection of cryptographically hashed data blocks that are organized into a multi-level data structure. Using the block-chain allows real-time and secure access to smart contracts utilizing the elliptic curve public/private key infrastructure to handle authorization and access control. The system implements a payment service enabling users to make payments for smart contracts using conventional FIAT money and digital currencies such as Bitcoin. Background Internet-of-Things refers to the network of uniquely identifiable embedded hardware devices accessed through the Internet infrastructure. Internet-of-Things devices are normally semi-autonomous, wireless devices participating in internetworked communications using the familiar and established TCP/IP protocol stack. Typical applications are sensory equipment which, without the need for extra wiring, can collect and relay data to a central host - either onpremise or in the increasingly popular cloud environment. The interconnection of these embedded devices is expected to usher in a new era of automation in nearly all fields. It enables advanced applications such as smart grids, remote surveillance systems, wireless heart monitors and many more. According to Gartner, there will be nearly 26 billion devices connected to the Internet-of-Things by ABI Research estimates that more than 30 billion devices will be wirelessly connected to the Internet-of-Things by Per a recent survey and study done by Pew Research Internet Project, a large majority of the technology experts and engaged Internet users who responded 83 percent agreed with the notion that the Internet-of-Things and embedded and wearable computing will have widespread and beneficial effects by Whilst the utilization and commercialization of Internet-of-Things devices has already begun, there are many unsolved challenges that are still holding back residential and commercial users from widely adopting such network enabled devices. Parallel to the growth of Internet-of-Things, digital currencies such as Bitcoin are fast becoming the preferred way for some people to transact. Internet-of-Things and digital currencies co-exist in the same environment, but there is no method to integrate the often low power Internet-of-Things sensors with digital currency payment networks. The current state of this field and the challenges are: Security Internet-of-Things devices need to have some form of connectivity, resulting in significant security issues that businesses and residential users need to consider. The connected devices require a security protocol and its security policy should be in line with the security policy of the enterprise. These Internet connected devices can easily expose businesses and homes to various security threats. In the meantime there is no common, standardized, robust and proven authorization and access control protocol in existence for Internet-of-Things devices. Of the numerous service providers rolling out devices and services, almost all of them implement their own security protocol, API and infrastructure. Consequently the development of custom security implementations increases the price of the product and the lack of standards increases the security risks. The standard way would be to manage Internet-of-Things nodes from an authorization perspective using the robust, widely adopted and well tested public/private key infrastructure (PPKI) and certificates. To ensure confidentiality and secure communications, the core part of security should ideally be based on PPKI paired with some kind of PPKI certificate management. Existing systems tend to use custom authorization and access control schemes with domain specific login portals for user name/password based logins instead of using robust PPKI based security. Using the public/private key infrastructure would pave the way for the deployment of a robust and secure authentication and access control scheme. The parties are identified by their public key. The authenticity of messages and the identities of the actors are then verified using PPKI cryptography routines. Using the well-established public/private key infrastructure based security scheme would greatly simplify the authentication, access control and identity management aspects of Internet-of-Things security. Page 3 of 28
4 Data Control From a user perspective, this is one of the more significant barriers to the large-scale adoption of Internet-of-Things. Data control is commonly mistaken for data ownership. In a conventional computing system the issue was who owns the data. In Internet-of-Things the challenge is about deciding who gets access to the data. Enabling access to private data is a serious concern from a privacy standpoint. Standards There is almost as much software as there are Internet-of-Things devices. The lack of open standards are directly affecting the adoption rate of Internet-of-Things devices as well having a negative impact on the user experience. Well-documented and robust APIs by providers could be a step towards open standards, but so far no such API usable by Internet of Things devices exists. Sensors use custom APIs instead. Domain specific product development such as this dramatically slows down innovation as development resources are allocated to custom software development. This once again increases the price of the product and consequently lowers the adoption rate of these modern devices. Payment services for Internet-of-Things Many use cases pertaining to the Internet-of-Things require payment processing. Internet enabled parking meters, automated storage facilities, drone service providers or security surveillance businesses charge money for their hardware based services. The management of payments for Internet-of-Things is a particularly challenging task. Once the payment has been made the devices and sensors are normally expected to execute their function, deliver the service (e.g. open the storage facility door) in real time. This requires that the low power, embedded devices are to be integrated into complex payment networks. Such integration is challenging both from an implementation and security point of view. To manage conventional payment methods enabled devices such as coin based parking meters are resource consuming. Currently the users need to sign up for new accounts and payment schemes for their devices. In many cases this is extremely inconvenient as each device needs as many new accounts. The ideal solution would be a universal payment service based on digital currency which supports quick, easy, and secure transactions and easily integrates with sensor devices. Smart contracts Smart contracts are digital entities that facilitate, verify or enforce the negotiation or performance of a contract, or that obviate the need for a contractual clause. A smart contract can be also described as a function which automatically moves digital assets according to arbitrary pre-specified rules. Smart contract are particularly useful in the Internet-of- Things domain as a smart contract is a suitable medium to be a place holder for even complex embedded commands to instruct hardware devices. Using a smart contract is an amiable way to reach consensus between parties, as the consumer can agree with the hardware service provider via the smart contract on the main attributes of the interaction. This includes, but is not limited to how and when to consume the hardware services of the Internet-of- Things device. The implementation of smart contracts on low power, memory size restricted embedded devices such as Zigbee sensors is particularly difficult and currently no such applications exist. Block-chain based technology with Internet-of-Things devices Block-chain is a transaction database and ledger shared by all nodes that are normally participating in a digital currency system. A full copy of a currency's block-chain contains every transaction ever executed regarding to the currency. The block-chain technology is the backbone of all currently known digital currencies. The block-chain concept is mature and there are robust systems built on it. The block-chain can also perform distributed contracts; a method of using a digital currency system to form agreements between parties via the block-chain. Integrating blockchain based digital currencies with Internet-of-Things hardware would enable decentralized payment transactions and the seamless execution of smart contracts. Using block-chains requires memory and processor resource consuming client side applications and they are not suitable for embedded devices that are often limited to 512kb or even less flash memory. Processing block-chain related cryptography such as PPKI key algorithms and hashing and signing data structures are processor intensive tasks. To minimize power requirements, Internet-of-Things devices are mainly built on low power microcontroller units with limited RAM in the range of 16Kb-256KB. These hardware constraints are the primary reason why block-chain technologies are not yet implemented. Page 4 of 28
5 The GadgetCoin System The GadgetCoin system relates to the security, control and the management of hardware services associated with Internet-of-Things devices. The system allows a secure, real-time interaction with Internet-of-Things hardware and implements a payment service to manage secure payments for hardware services using digital currencies or even conventional FIAT money. The system uses smart contracts to perform its functions. Figure 1 - GadgetCoin High level use case diagram The smart contracts primary use cases are a) Configure the device, upload firmware and updates to the hardware via the internet. The remote configuration of the hardware is a challenging task, and the GadgetCoin system provides a secure, easy to use protocol to perform this function b) Consume hardware services - use the hardware by interacting with the device via smart contracts c) Make instant payments directly for the hardware services using smart contracts Page 5 of 28
6 Decentralized peer to peer network. The system forms a decentralized peer to peer network to manage connections between machines and machines or humans and machines. The participants in the network are the peer nodes. The peer to peer network is scalable and an unlimited number of nodes can participate in the network. GadgetCoin supports two types of network implementation from access control viewpoint: a) Public network. Anyone can connect, there is no firewall enabled in the public network. The main GadgetCoin network is public. b) Private network. Only certain peer nodes are allowed to connect to the network. The access control is governed by firewall and the access is granted to accounts based on security policies. Typically communities or businesses would run private GadgetCoin networks to control hardware in their domain. The GadgetCoin peer to peer network provides the foundational infrastructure to enable smart contract proliferation at public, community, company and organization levels. The public implementation of the peer to peer network that accepts connections from any client is the default GadgetCoin system. We envision only one public network will exist to provide a common platform for interaction between humans and Internet-of-Things devices. The private networks use a built in firewall to regulate access control, and therefore to manage the firewall settings at least one trusted node must exist on the private network. While the access is limited to certain nodes in a private network, the decentralization of the system is not compromised in such private networks. The firewall maintains a lookup table to store the account ID and public key of the allowed peer nodes. The peer node must sign the connection request message with its private key and the system authenticates the connecting node by validating the signature against the public key. This simple usage of PPKI functions allows secure and easy to use authentication and access control management on the GadgetCoin private networks. There are many use cases for a private GadgetCoin network. A family can deploy such an application to manage the home automation of devices on their residential property. A community that lives in the same street could have a system to manage area specific security monitoring devices or even access to a playground. A city could have a network to manage bikes, parking meters and municipal properties. In most cases a business would deploy a private network to manage key internet connected devices such as security gates, air conditioning units, sensors and many others. In the GadgetCoin peer to peer network each peer node executes a peer to peer client application to connect machines to machines or machines to humans. This application runs on Internet-of-Things devices or on the mobile or desktop computers of human users. In the peer to peer network each node performs a computation to manage authentication and access control. This process can be verified and replicated by any third party nodes. The peer nodes may connect to each other over the low level TCP protocol or the high level HTTP or HTTPS protocol using a REST API. On top of the low level TCP, HTTP and HTTPS protocols GadgetCoin implements a high level communication protocol for peer communications. This protocol governs the Discovery of external addresses Handshake procedures that the peer nodes perform for connecting to each other DNS requests to receive IP addresses Exchange of addresses with other nodes Store the addresses of other nodes Relay transactions, messages, smart contracts and blocks between the nodes Manage ledgers, distributed queues and databases of the system Conflict mitigation and error handling One of the main features of the system is the consensus based data handling, functions and transactions. To form a consensus the trustworthiness of the node is an important factor. Similarly, from a data integrity viewpoint (and primarily in public networks) malicious node activity is a concern one cannot assume that all nodes execute the verified source code and perform the expected function. Some node might want to compromise data integrity, put invalid transactions into the block-chain or just stop the system by broadcasting bogus messages and transactions. To mitigate this risk there are trustworthy nodes in the system that have very little or no incentive to behave maliciously. The system gives more weight for trustworthy nodes in the consensus process and assumes that such trustworthy nodes will not collude to perform malicious activities. In order to become a trustworthy node each peer node has a trust indicator that increases by participating in transaction processing. As the node participates in further transaction processing in an honest manner its trust indicator will simultaneously increase. Page 6 of 28
7 Accounts The peer nodes are accounts in the GadgetCoin system. The accounts are identified by a unique account ID and called GadgetCoin Node Account (GNA). A GadgetCoin Node Account is based on Elliptic Curve Digital Signature Algorithm (ECDSA). A GadgetCoin Node Account is a 160-bit hash of the public portion of a public/private ECDSA key pair. The Elliptic Curve DSA algorithm generates a 512-bit public key from the private key. This public key is used to verify the signature on a transaction. Elliptic curve over a field of Fp can be defined as the set of points (x, y) satisfying the equation of Y 2 mod p = (X 3 + ax + b) mod p The composition and structure of GadgetCoin account is very similar to the Bitcoin address. The account is computed using Elliptic Curve Digital Signature Algorithm (ECDSA), SHA-256 and RIPEMD-160 hashing algorithms, and Base 58 encoding. The following diagram describes the steps of generate a GadgetCoin node account ID. Figure 2 - GadgetCoin Node Account ID diagram The GadgetCoin accounts are stored on the network and each account s details are propagated to all nodes of the peer to peer network. The nodes maintain a key-value database that includes the account details of the system. The account details are Page 7 of 28
8 a) Node Account ID b) Node public key c) Domain name if the node implements a domain based registration to the network d) Current balance (when the digital currency is integrated into the GadgetCoin system) e) List of Active smart contract IDs published by the account Most hardware applications perform real time data processing. For instance, for opening/closing a self-storage door, real time data processing is an absolute must by definition users want to open the door without any delays. This makes it challenging to integrate existing digital currency block-chains with real time hardware. A Bitcoin transaction is confirmed in 10 minutes from the time of submission of the transaction. Even the fastest altcoins' transaction processing takes about seconds surely significantly longer than what an average user would expect from a door controller device. Current proof-of work (PoW) and proof-of-stake (PoS) digital currencies' relatively long transaction processing times are not suitable for real time hardware applications. For this reason the GadgetCoin protocol aims to implement instant transaction processing for digital currency payments using account balances instead of miner or staking processes to confirm the transactions. Unlike in Bitcoin where payments are related to addresses, the GadgetCoin payments are linked to GadgetCoin accounts and payments are reconciled against account balances. The consensus is formed to verify account balances prior to and upon transaction completion. To form the consensus an elevated trust must exist between the nodes. The main challenge in such a process is the exclusion of malicious nodes e.g. those that would submit incorrect account balance information from the consensus process. The system creates and manages a key-value store dataset to store the main attributes of the peer to peer network and its clients. This dataset is stored and maintained by all peer nodes that have adequate computing power to perform such tasks. The dataset stores the list of connected nodes, public keys of each connected peer node, and other security information including but not limited to rules, and blacklisted nodes that are not trustworthy and cannot be part of the consensus process. The dataset is also a public record of everything to persistently store what the peer nodes do. This enables each node to audit other nodes. To integrate low power devices the system executes a dataset online connector on Internet-of-Thing and M2M devices. Due to the lack of processing power Internet-of- Things devices cannot store large datasets, instead of the devices query and update the datasets using the dataset online connector by connecting to trusted peer nodes that store the dataset. The system provides a function to look up the peer node based on a unique identifier or QT code. Peer nodes in the GadgetCoin system communicate with each other via messages. The system supports many types of messages including but not limited to version, ping, configuration, transaction validation, transaction acceptance, transaction refusal and service request messages. Page 8 of 28
9 Security The system performs public private key infrastructure based authentication and access control functions to securely connect peer nodes. The GadgetCoin generates at least one private/public key pair on each peer node including on the Internet-of-Things devices.the actors of the system publish their public keys to the peer to peer network where each peer node knows the public key of the other connected peer nodes. The system identifies peer nodes in the peer to peer network by their GadgetCoin Node Account (GNA) and public key that is an entity of the public private key infrastructure. To ensure data integrity the messages, transactions and smart contracts are signed with a private key that is also an entity of the public private key infrastructure. In the system each nodes must sign all messages with their private key. The system implements access control management on all peer nodes. All Internet-of-Things devices on the peer to peer network are accessible from the network (because they are on the Internet), but not necessarily accessible from an access control policy viewpoint. That means that the physical device accepts messages and transactions from only certain peer nodes or its smart contracts will be delivered to only certain peer nodes. For example an ECG wireless sensor that publishes its heart rate and ECG data via a smart contract, makes its heart rate data available for public databases for research reasons, but the ECG data is only accessible to the cardiologists of the individual wearing the device. The system allows users to define complex access control rules. This function is particularly important on a peer to peer network that is fully or partially private. For private peer to peer networks there is a look up list that exists to store the public key of clients that are allowed to connect to the network. The look up list is maintained by the peer nodes and replicated between the peer nodes according to the general rules of standard peer to peer networks. The system classifies certain peer nodes on the network as trusted nodes. Trusted nodes are allowed to modify the aforementioned look up list, send configuration messages to Internet-of-Things devices including but not limited to setting attributes of the device, informing the device about changes on the peer to peer network or update the list of peer nodes that are allowed to access the device. The device can identify the trusted node by its public key as the trusted nodes always sign their messages with their private key. In this system the Internet-of-Things device must have at least one trusted peer node association. Therefore, at least one trusted node must be configured on the Internet-of-Things device when the firmware is programmed to the flash memory of the device. Network and application integrity The GadgetCoin network is based on the collaboration and consensus of peer nodes, and the network is secured by the consensus process. All important operations on the network such as the execution of smart contracts, block creation or payments involve consensus between the nodes. If the consensus forming process is compromised the network is not operational. If a malicious node starts to DDOS the network with bogus transactions other honest nodes would become busy processing the messages and the network could become unstable. In an ideal operation when there are no malicious nodes the participating peer nodes contribute to the consensus process and network stability. However, in real life application the system cannot take the honesty of the nodes for granted. The system must assume that certain nodes pose threats to system security and network integrity. A practical scenario is that a company that operates a GadgetCoin network could face the risk of dishonest employees that execute malicious software on the network. Malicious peer nodes could perform many kinds of attacks such as DDOS on smart contracts, create invalid blocks or attempt to make payments with insufficient account balance. The GadgetCoin system aims to mitigate such risks and prevent malicious node activity by utilizing protocol level security measures. These are 1. There is at least one system node called dev node on the network that publishes the source code of the peer node client application to perform the transaction, smart contract or payment operation. The source code is hashed and signed by the dev node to guarantee data integrity, and then served to the peer nodes on an ad-hoc manner. Unlike in current existing peer to peer networks a GadgetCoin peer node is only a placeholder and the source code is injected into this container via run-time. This unique ad-hoc code delegation allows the running of the most up to date valid source code on the peer node and ensures that honest and trustworthy nodes execute a valid application. 2. Still, source code integrity can be compromised by a dishonest peer node to execute a malicious method. In the case of dishonest peer nodes that execute a malicious application the protocol level security measures mitigate the risk. a) The peer node that initiates a transaction, smart contract or payment never performs the operation itself from a code execution viewpoint but always delegates it to another node that is called process executor. The selection of the process executor is random. It is reasonable to assume that the majority of nodes are honest and trustworthy, they execute a valid source code and therefore don't create bogus transactions, smart contracts and payments. Page 9 of 28
10 b) The malicious node could collide with other malicious nodes to compromise the random process executor selection. The malicious node could execute an insecure source code to avoid the random node selection and delegate the process execution to a colluding malicious node. To handle this security threat the system deploys special nodes called trusted routing node and these trusted routing nodes must be involved in every transaction, smart contract and payment. That means at least one process executor of the operation must be a trusted routing node. 3. The system enforces a rule that every transaction, smart contract and block must include a routing table to store certain cryptography outputs from the process executors. To create this cryptography output the process executor validates the transaction, smart contract or block data object. If the data object is invalid or fails to comply with the business rules of the system the process executor simply refuses to complete the operation. Furthermore, if the process executor node reports the sender as malicious node and then the malicious node will be removed from the system. In case of a valid data object the process executor hashes and signs data objects with its PPKI private key, adds the hash and signature to the route table and then performs the operation. As the data object includes a valid route table the operation will be completed e.g. the transaction will be added to the block or the payment account will be added to the locked transaction key-value store. These unique, GadgetCoin specific security measures allow us to implement a robust and secure system. The routing of the execution between nodes introduces very little delay in the operation. In fact as the data eventually must be propagated to all nodes, the early involvement of multiple nodes makes the data propagation more efficient. There are Internet-of-Things devices such as medical and security hardware which require strict security measures, and therefore we must continue to put emphasis on mitigating security risks Figure 3 - Message security using Dev Node and Process Executor Node Page 10 of 28
11 The block-chain The primary role of the GadgetCoin block-chain is to store audited transactions. The system stores the timestamped account transactions by hashing them into a chain of consensus based blocks, forming a cryptographically linked persistent record that cannot be changed without reconsidering the consensus. Every interaction and communication in the GadgetCoin system is manifested in messages and transactions. From data integrity, security and accountability viewpoints, the auditing of transactions is one of the most important system requirements. The cryptographically linked block-chain allows the implementation of such auditing methods and the peer nodes can store and look up the messages and transactions by scanning the simple structure of the block-chain. The block creation and mining With respect to Bitcoin s achievements, at Gadgetcoin we are in the school of thought that would consider the mining aspect of Bitcoin to be a flaw. Besides the obvious cryptographic threats, the concept of mining, and more importantly the miners themselves pose an obstacle for the retention of value. Not only that, the psychological aspect of mining itself introduces negative elements into what should be a straightforward process. These negative elements like greed can affect the survivability of coins. Miners who are selfish and in it for themselves may hurt the lifespan of the coin and in reality miners and electricity companies primarily benefit from the mining process. The mining process exposes the coin to the threat of a 51% attack. The balance of the mining power is shifting towards a smaller minority of individuals. The environmental effects of mining are also a big drawback. For instance during Bitcoin mining huge amounts of electricity are used up during mining, and the bill is picked up by Bitcoin holders. Last but not least, relying on miners for block creation slows down the transaction confirmation process, which makes real time hardware functions unfeasible within the block-chain. Gadgetcoin creates blocks without the participation of miners using a proof of consensus process. We decided early on to eliminate mining from the equation to a) Enable real time hardware functions on the block-chain b) Take away power from large mining farms. - Gadgetcoin simplifies the block creation by stripping the mining process out of the equation - GDC transactions are significantly cheaper because there are no mining costs present - Gadgetcoin transactions are immune to 51% attacks by mining cartels - The Gadgetcoin peer to peer network is environmentally friendly and will remain so in the future Privacy issues and the block-chain The most popular crypto currency block-chains such as Bitcoin are ironically, both anonymous and traceable. Every transaction can be tracked on the Bitcoin block-chain and be linked to the public keys involved in the transaction. The users privacy can be seriously compromised and researchers or law enforcement officials can trace transactions. Tracing transaction history can easily be used to connect identities to Bitcoin addresses. From business process and privacy viewpoints the main issue with the Bitcoin block-chain is that every transaction is publicly logged. In the Bitcoin block-chain anyone can see the flow of Bitcoins from address to address. Bitcoin wallets are anonymous, but if any wallet gets linked back to a user for example via a pizza delivery transaction, then it is relatively easy to reconstruct every single transaction carried out by the address. For the meantime privacy and anonymity should be the most important aspects of electronic cash. In this interaction with Internet-of-Things devices to ensure privacy is even more important. Using a public block-chain such as the approach adopted by Bitcoin enable access to sensitive private information. If GadgetCoin would implement only the public block-chain concept (same as the Bitcoin blockchain), then users purchasing habits, trading history and movement could be easily profiled. For example a user who buys parking places, hotel rooms, self-storage facilities, and gym equipment could be profiled and tracked by examining the block-chain. The lack of privacy is also unacceptable for businesses operating Internet-of-Things devices and potential providers of services via the GadgetCoin system. The business trading data would not be safe from the competitors eyes and such lack of privacy would make the GadgetCoin system an impractical offering. Therefore, we identify untraceability and unlinkability as the two main system requirements to ensure users' privacy. Untraceability: for each incoming transaction all possible senders are equiprobable. Unlinkability: for any two outgoing transactions it is impossible to prove they were sent to the same person. To address privacy requirements GadGetCoin implements the concept of private block-chain to store transaction data on the account s device instead of the public block-chain ledger by limiting the access to the private block-chain to only trusted transaction processing nodes that never reveal the account s financial details to the network. The private block-chain is optional for an account if a business wish to adopt a higher level privacy then it can use the private block-chain instead of storing its transaction data in the public ledger. Page 11 of 28
12 Another main difference between GadgetCoin and the Bitcoin block-chain is determined by the very different use cases of the two systems. Mining is a primary consideration for the Bitcoin system while GadgetCoin' only use case is to allow users to consume services from the Internet including paying for the hardware services in a secure manner. Our research and prototyping indicates that this use case could be satisfied on a peer to peer network without having a miner based transaction processing, in fact to satisfy the untraceability and unlinkability requirements the system mustn't a publicly exposed block-chain. Therefore, mainly to address privacy requirements we designed and prototyped the peer node level (private) block-chain that means limited accessibility. All transaction information exists in the block-chain but it is accessible only for transaction processing, audit and dispute resolution. Design and Implementation The system also uses the block-chain to enforce rules to ensure that once the transactions are sent they cannot be modified the transactions are stored in order linked time stamping and hash chains are used to prevent the backdating of messages and transactions the identity of the entity that sends the message is guaranteed by cryptography primitives (typically PPKI functions) and cannot be compromised the transactions are visible only to allowed parties within the network GadgetCoin defines and implements the block-chain paradigm that means blocks are chained together using a cryptography hash as a form of reference and can be characterized as a transaction-based state machine. In this system the block-chain is a transaction database shared by all peer nodes. The block-chain is the composite of blocks. The system implements and maintains distributed queues to store vital information in real time. The GadgetCoin system and its block-chain manages the following distributed queues Buy request distributed queue to manage transactions and to implement security measures for example to handle the double spending issue Smart contract key-value data set to manage and lookup published smart contracts Distributed queue to manage the list of active peer nodes By default the account specific transaction data similarly to the Bitcoin block-chain - is stored in the public blockchain. Additionally, GadgetCoin implements an optional peer node level (private) block-chains to store the account specific transaction in the peer node data storage instead of in a shared global block-chain. This means that if an account wish to keep its transaction data private then the data is stored in the account s private block-chain. This is a significant difference between the GadgetCoin and Bitcoin block-chain. Global block-chains such as the Bitcoin blockchain that includes all transactions of the Bitcoin peer nodes since the start of the Bitcoin network. It requires over 30 gigabytes of data storage at this moment in time (and the data is growing rapidly), and therefore it isn t optimal for embedded devices. Since there is very limited data storage available on the embedded devices, GadgetCoin peer nodes utilize the unique concept of peer node level block-chains. The peer node level block-chain stores audited, account specific transaction information e.g. the list of transactions performed by the peer node. Each such private block-chain is accessible by any other peer nodes in the system. However to address the privacy requirements, other peer nodes access is restricted to on-demand. Therefore, the private block-chain feature is related to addressing privacy requirements as well. Using private block-chain the access is only allowed for transaction processing trusted nodes and for the purposes of a) verifying the account balance in real-time b) signing transactions c) auditing transactions The account and balance information is shared between the transaction processing nodes using in-memory distributed ledgers instead of persistent data stores and the in-memory ledger exists for the period of transaction processing. The private block-chain persistent data store exists on the account s device only. Most of the block-chain based networks such as Bitcoin create the blocks via a hash based mining process called Proof-of-Work (PoW). Mining is a time and resource consuming process and for these reasons only suitable for Bitcoin (if the mining would be easy then everyone could earn bitcoins easily). On the other hand the forging of digital currency is not a concern for the GadgetCoin system. The peer nodes of the GadgetCoin system are primarily interested in hardware services and not digital currency mining. The main objective of the system is to manage human-hardware interactions and using hardware typically requires instant message and transaction processing. As the transaction processing must be instant, GadgetCoin must manage the block creation rapidly without incorporating Page 12 of 28
13 a resource consuming mining process. Therefore, GadgetCoin implements a radical new way to create the blocks. The peer nodes create the block using a method called Proof-of-Consensus, PoC. In the Proof-of-Consensus method the participating nodes form an agreement about the block. The consensus describes the main characteristics of the block such as 1. Block header details 2. List of ancestor blocks 3. List of messages and transactions 4. Cryptography hash of the header and block body To ensure malicious nodes don t compromise the process by colluding to stop block creation or create bogus blocks a) trustworthy nodes have a decisive role in the block creation process b) nodes are selected randomly to participate in the block creation process From implementation viewpoint the block is a data object to store collated messages and transactions. Operation related information mainly transactions are permanently recorded in the GadgetCoin network through files called blocks. A block is a record of some or all of the most recent GadgetCoin transactions that have not yet been recorded in any prior blocks. In most of the cases new blocks are added to the end of the record, and once written, are never changed or removed. Each block memorizes what took place immediately before it was created. The system forms a peer node level private block-chain from the blocks. This block-chain is a Merkle tree to guaranty the accurate recording of transaction information. The peer node level private block-chain is persistently stored on the peer node device. To guaranty privacy the peer node level private block-chain isn t exposed to the public network and it is accessible only to trusted peer nodes that audit transactions and account balances. The following picture displays a block structure where the fields are root: unique hash of the block root parent: unique hash of the parent block transactions: list of transactions included in the block Figure 4 - Block data structure Page 13 of 28
14 In this system the messages and transactions are typically related to hardware services that are exposed via smart contracts. A device peer node performs the hardware service and another peer node consumes the service, the data and procedural context of this interaction is the smart contract. Typically peer nodes use transactions to consume smart contracts. The transaction is the basic operation in the GadgetCoin system and can be seen as a digital placeholder to order a smart contract from a hardware service provider peer node. The system records the transactions together in the block, assigns an identifier for the final state and ensures that every block contains a hash of the previous block. The transactions within the block are organized into a Merkle tree. Merkle trees provide a cryptographically authenticated data structure that can be used to store key-value bindings. The Merkle trees are fully deterministic, meaning that a tree with the same key-value bindings is guaranteed to be exactly the same down to the last byte and therefore have the same root hash. Merkle trees provide efficient structure for inserts, lookups and deletes, and are much easier to understand and code than more complex comparison-based alternatives like red-black trees. Page 14 of 28
15 Transactions and smart contracts The general concept of smart contracts Smart contracts are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that obviate the need for a contractual clause. Smart Contracts are also programs that formally encode certain conditions and outcomes. The code is agreed upon by the contracting parties in advance and the execution of the smart contract is audited by a neutral system, in this case the GadgetCoin system. Smart contracts usually also have a user interface and often emulate the logic of contractual clauses. Smart contracts aim to provide security superior to traditional contract law and to reduce other transaction costs associated with contracting. A smart contracts infrastructure can be implemented by replicated contract execution using cryptographic hash chains and Byzantine fault tolerant contract broadcasting. Each node in the peer-to-peer network could act as a title registry and escrow, executing changes of ownership and automatically checkable rules governing those transactions, and checks the same work of other nodes. There are two main smart contracts from functionality viewpoint a) Configuration smart contracts to provide users with a function to set the main attributes of a device. Using the configuration smart contracts users can perform various functions including but not limited to update the device security settings, enable/disable software modules and upload firmware updates. b) Device operation smart contracts to execute hardware functions on the device including operations on the UART, SPI, I2C buses, Ethernet, WiFi and Zigbee protocols. Use cases The GadgetCoin smart contacts are suitable for virtually any hardware use cases. A few examples of possible Internet-of-Things device smart contracts: - Garage door controller. This particular use case puts forward the idea of a controlling the garage door of a family home using a GadgetCoin smart contract. Each family member would have an Android or ios phone to interact with the device on the garage door. The configuration of the hardware is managed via the configuration smart contract located on the device. The smart contract operation executes the door's close/open functions via the SPI bus. The system ensures that the peer to peer security is based on PPKI functions so that only designated users can open the garage door by signing the smart contract request with their private key. Smart contracts also allow for a high degree of flexibility: when the owners are away on holiday but need to let somebody into the garage, they can authorize their neighbours or a parcel company to open the door via smart contracts. Multi signature requirements can be addressed in a case where a door is guarding valuable goods and the owners only want it opening when all of them have authorized it. A good example of this would be a bank vault, where the vault only opens when three directors have authenticated within a 1-minute period. - Self-storage controller. There are many businesses that currently use complex software to manage availability, booking, security, and customer relation management (CRM) for the renting of spaces. By employing GadgetCoin smart contracts, such complex systems are no longer a necessity. The peer node customer puts in various search criteria such as location, size of the storage and price into the smart contract search UI control. The block-chain returns the available storage units in the specified area. The peer node customer books the unit and pays for the service with FIAT money, crypto currency or both, depending on the business preference. At this moment the availability of the storage unit is updated and marked as not available in the block-chain and a timer is enabled in the hardware to monitor the expiry date of the contract. The peer node customer drives to the storage unit facility. The peer node customer sends a PPKI signed Open the gate request to the main gate controller hardware. As the block-chain knows that the contract was purchased by the peer node customer, the main gate controller opens. The customer drives to the storage unit and opens the hardware controlled door of the unit. The service remains available until the paid period has expired. In this example laid out above, the security, access control, booking, payment, service consuming requirements are addressed by one unified system and protocol, GadgetCoin. - Car park controller. Smart cities have always been a hot topic when discussing the future of Internet-of- Things devices. Car park management is a part of the smart city ecosystem and an excellent use case of the GadgetCoin smart contract solution. In this use case the availability of each car park meter is managed and published by the smart contract. The availability data is located in the block-chain. The peer node user in this case would be the driver. The driver can put in the post code or latitude/longitude in the smart Page 15 of 28
16 contract search UI control to find the nearest area with available parking spaces. If the price and availability matches with the search criteria the driver can go directly to the parking meter instead of circling and searching for parking space in the city. When the driver arrives to book the parking space, they can pay for it with FIAT money or Bitcoin. Right at this moment the availability data is instantly updated and the park space is marked as not available to other drivers. When the driver leaves the parking space the ultra-sonic sensor of the parking meter picks up the movement, and the smart contract issues a query to ask the driver if they wish to terminate the contract. If the answer is yes the parking meter flags the availability of the newly available smart contract to the block-chain. Security, booking, payment and provisioning is managed by one simple concept - the block-chain enabled smart contract and creates an extremely sophisticated intercity parking system. - Gym. Using smart contracts allows users to consume hardware services in ways that were not possible before. This is especially true in the case of gym equipment hardware. The smart contracts allow ad-hoc use of the equipment in the gym. Instead of having a monthly membership contract with the gym, users can instead utilize the gym service on a pay as you go basis. The block-chain stores the smart contract transactions and shares the availability of equipment data with nearby users. Complex availability and booking systems would be a thing of the past as block-chain based smart contracts provide the gym business with real-time booking and availability data. The booking and availability data management is built into the protocol, so that any user can easily look it up and query it. Most importantly, smart contract technology also allows the integration of gym equipment into all kinds of online services that are associated with individual GadgetCoin accounts. The user buys the smart contract and the machine is linked to the user s account during the period of contract. Then the smart contract uploads the performance and data usage of the gym bike, treadmill or rowing exercise machine to the online services that track the user's performance. For example there can be a heart rate sensor smart contract that uploads physiological data to the online services. The data from the gym hardware enables data mining and the thorough analysis of user performance. As demonstrated by this use case, GadgetCoin has the capability to manage security, booking, payment, provisioning, access control, availability and can interface with data mining applications. - Dependency smart contracts. The system supports more complex use cases when smart contracts communicate with each other and the execution of a contract depends on the data exchange with another contract. A temperature sensor smart contract can call the air conditioning smart contract when the temperature rises. A water level smart contract can call the water pump contract when the water level drops. A carbon-dioxide sensor can call the ventilator contract if the smoke levels suddenly increase. One system, one block-chain and one protocol allows interaction between many types of hardware in these scenarios. The implementation and workflow Generally the three key steps in developing and utilizing a smart contract are: 1. Translating the terms of the contract into code, including low level hardware instructions using the smart contract interpreter software module. 2. Publishing the description of the code that will be run so peer nodes can understand what the smart contract does 3. Executing the code in a trustworthy manner. The code execution must be audited and verified and must be run by the impartial and consensus based modules of GadgetCoin system. The purpose of this system to provide a flexible, convenient and secure way to consume services from Internet-of- Things devices. In order to interact with the hardware, the GadgetCoin system translates the smart contract data to hardware commands to trigger hardware events on the Internet-of-Thing device. There is a software module on each peer node to create transactions and publish smart contracts. This smart contract typically describes what the device does when the smart contract is performed. Complex hardware instruction sets can be embedded into the transactions and smart contracts. Additionally, the smart contracts contain scripts and machine specific compiled codes. There is a smart contract agent software module on the Internet-of-Things device that maps the instructions of the transaction or smart contract into machine specific functions to execute the command or service request. The GadgetCoin system provides an easy to use smart contract editor web user interface to develop smart contracts. Page 16 of 28
17 Figure 5 - Sequence diagram to describe car park devices management using GadgetCoin Terms of execution policy the smart contracts classified as a) no fee smart contracts b) payable smart contracts Within an organization and private network system implementation the smart contracts are usually no fee entities. For example a business that uses GadgetCoin to control its security gate does not need to charge employees for opening the gate using a smart contract. Still the smart contract handles security and auditing, and no fees smart contracts could have an important role in managing Internet-of-Things devices within a business operation. There are smart contracts marked as payable so the Internet-of-Things device can receive payments, and in exchange the device performs its functions. For payable smart contracts the system stores payment related information in the transaction payload including but not limited to price, refund rules and currency. The system supports multi signature schemes using public/private key infrastructure. That means it is possible to create smart contracts that are only performed when the transaction is signed by multiple peer nodes. For example the Internet-of-Things device can publish a smart contract that controls a security vault or security safe and there is a condition that the smart contract is only performed when three senior executives of the enterprise sign the transaction. In this case the system ensures that the device only opens the security vault when all three peer nodes signed the transaction. The following diagram describes a security safe smart contract that requires multiple signatures. There are five trusted nodes that are allowed to execute the smart contracts. If at least three valid, signed execution requests are received within a 1 minute time frame then the Internet-of-Things device executes the smart contract. The system allows geographically diversified trusted nodes to communicate and execute the smart contract. Page 17 of 28
18 Figure 6 - Multi signatory security safe control smart contract GadgetCoin allows that both Turing-complete and not Turing-complete scripts to be embedded into the transactions and smart contracts. The system implements a protocol for describing the commands and service requests of the smart contracts. In this system a smart contract instructs the hardware to execute a function. For instance - turn on the light, open a door, or start a parking meter. This high level system specific protocol supports instructions for low level hardware specific protocol such as USART, SPI and I2C. The protocol also supports instructions to interact with hardware peripherals such as ADC and DAC. The Internet-of-Things peer nodes publish the smart contracts to the smart contract ledger that is a key-value store. When the Internet-of-Things devices publish their smart contracts it indicates that device is available to execute commands, smart contracts, deliver services and in case of payable services the device can accept payments. Once the smart contract is published on the network the peer nodes are notified that the hardware is available for performing the published function, thus marking them as available to the user. The smart contracts in GadgetCoin described with the JSON open standard format. JSON (JavaScript Object Notation) is one of the most popular data interchange formats on the web. It is supported by virtually every programming language in use today, and continues to gain traction through the introduction of new supporting technologies. Page 18 of 28
19 The smart contract is always published with a unique identifier ID. The unique identifier ID includes but is not limited to the fields of primary industry field of the contract (e.g. self-storage, medical or agriculture) what type of service will be delivered by the Internet-of-Things device (e.g. open the door of the self-storage unit) the country code where the device is located (e.g. USA or GB) to indicate whether the smart contract is payable or not The smart contract header includes that hash of the payload, the signature of the publisher node and timestamp. There are also optional fields that can be defined, these are the owner of the smart contract (such as company name) post code, city, street, address line, latitude and longitude to indicate the geographical location of the Internet-of- Things device. There is an optional data field in the header to store 64 bytes of device specific information. The payload is the script of the smart contract. The script is high level function definition that follows the syntax of the java script programming language. GadgetCoin uses the java script syntax to allow easy to use and rapid smart contract development. The script can include a callback function that the smart contract calls with the return value of the contract. The device uses a smart contract interpreter to translate the java script code into low level machine specific instructions. We provide with users with platform specific smart contract interpreters, currently GadgetCoin supports AVR, 8051 and ARM chipsets. The data structure of the smart contract includes the unique ID, header and signatures that audit the authenticity of the smart contract i.e. that it indeed was published by the node that says owns the contract. The smart contract data structure is the following for a hardware device that opens a gate (for example in a car boot sale use case when a one-time charge applies for entering the field) by charging GadgetCoin GDC for the operation. Figure 7 - Smart contract block header The smart contract operation always includes at least two peer nodes, the device peer node that published the contract and the consumer peer node that is interested in the smart contract, which is the user from the smart Page 19 of 28
20 contract viewpoint. The following diagram describes the GadgetCoin system in a self-storage facility. There are three nodes in this process, the main gate controller, the storage room door controller and the human customer of the selfstorage. The devices expose their smart contracts to the system and the customer node utilizes the self-storage service by executing the smart contracts. Figure 8 - Activity diagram to describe a self-storage system using GadgetCoin The system supports chained smart contracts that are linked to each other and execute either synchronously in sequential order or asynchronously in parallel to each other. There is a primary node in the chained smart contract that publishes the contract to the peer to peer network and orchestrates the execution of member contracts. The member contracts of the chained smart contract send a message to the primary node if their operation is either completed or timed out. The message includes Status code of the operation Error code Return values from hardware peripherals. Page 20 of 28
21 The member smart contracts are autonomous entities in the chained contracts collection. The operation of a member contract is not dependent on other member contracts. On the other hand, the chained smart contract can be defined to return a successful completion status code value only if all smart contracts in the chain are executed successfully. A chained smart contract such as this can be programmed with a conditional operator Where SCc = the chained smart contract that includes SC1, SC2 and SC3 smart contracts Ec = function to validate if the execution of the smart contract is successful For chained smart contract a Chained Contract Definition (CCD) must exist. The CCD describes a) Primary node Account ID b) List of member contracts. The position in the list indicates the execution order c) Timeout values for each member contract d) Maximum length of return data that the primary node accepts from each member contract e) Fee details and whether or not the primary contract should make a payment for the member contracts The following diagram describes the chained smart contracts in a car service station. The car enters the facility and then visits each device to consume the hardware service. Device #1, the Primary Node orchestrates the execution of the smart contracts collection. The primary node broadcast the fees to the participating smart contracts when all smart contracts are completed and the car exits the service facility. Figure 9 - Vehicle service station with Chained Smart Contracts Page 21 of 28
22 Unique revenue sharing distribution model Using the smart contract technology GadgetCoin allows the implementation of radical new hardware distribution and licensing models. The consumer pays for the physical hardware device or service and then utilizes its functions using typically smart contracts, while the distributors share the revenue in the context of a trading contract. The purpose of the revenue sharing distribution model is to simplify hardware distribution and licensing. One smart contract can handle device distribution and licensing across countries by enabling revenue sharing between commercial organizations as well as maintaining ownership using the block-chain. The multi signature controlled smart contract ensures that all parties receive their share. For instance, a machinery/device manufacturer can rent a device out and share the revenue with the collaborating sales partners by utilizing GadgetCoin smart contracts. We envision that all types of devices and machineries will be rented out and sold using multi-level distribution smart contracts. The following diagram describes such a business workflow. Figure 10 - Multi-level distribution model Page 22 of 28
23 The handling of relatively complex business relations is surprisingly simple using the GadgetCoin smart contract technology. The above revenue sharing distribution model can be implemented with 10 lines of simple code segments. There are predefined functions in the system such as sharerevenue in the picture below that provides users with convenient utility functions. Figure 11- Revenue share source code Page 23 of 28
24 Payment network There are many applicable use cases when an Internet-of-Things device would provide a service and the consumer would make a payment in exchange for the hardware service. For example in a gym, users could make payments for the exact time they spent on individual gym equipment instead of paying for a monthly gym membership. Another use case would entail drivers making a payment for internet enabled park meters based on the reading of a timer and ultrasonic sensor. To integrate embedded devices with payment methods is a challenging task and such payment services for Internet-of-Things devices rarely exist. In the GadgetCoin system the Internet-of-Things devices can receive payments for their services. The payments could be both conventional and digital currencies. Digital currencies (sometimes called crypto currencies) and digital currency networks became popular payment methods in recent years. A prime example of a digital currency concept that is being used currently is the Bitcoin network. Apart from supporting payments with conventional currencies (FIAT money) GadgetCoin aim to bring the increasingly popular digital currency concept into the hardware domain. The peer nodes that consume the hardware services make payments for the Internet-of-Things devices using the payment infrastructure of the system. The system integrates block-chain based digital currency payment functions into the system. The purpose of this to allow making payments to the peer node Internet-of-Thing devices. Within this system the Internet-of-Things device peer node account accepts payments from the account of other peer node machines or humans. To implement this payment network the system utilizes the block-chain based digital currency concept. The payments are performed using transactions. The transaction data structure is the following for a transaction that performs a money receive operation Figure 12 - Payment transaction data structure Page 24 of 28
25 Where the fields are transaction.data.uid: unique identifier of the transaction transaction.data.trust: indicates the audit level is required. The system accepts the transaction when the accumulated trust level of audit peer nodes at least equal with the value of this field. That means, if for example the required trust value is 20, then at least two trusted peer nodes must audit the transaction that each trust level is 10 to accumulate the required 20 trust level. transaction.data.sender_trans: the related transaction that sent the money to the recipient node which is a money send transaction transaction.data.rcpt_acc: the account that receives the money transaction.data.cur_bal: current balance of the recipient node transaction.data.amt: amount sent to the recipient node transaction.data.acc_balance: indicates the new balance after the transaction is accepted. This will be the last account balance item in the block-chain. The system Allows peer nodes pay for a smart contracts Allows transactions between peer nodes to send FIAT money and digital currency to each other. This is necessary as there are payment types other than smart contract payments. Refunds being a prime example, and therefore the system must address such payment requirements Implements a software module on the Internet-of-Thing devices to manage payments. This software module allows users to notify the device in real time that a payment was commissioned. This notification triggers a low level signal in the hardware peripherals, and then the payable service that is defined by the transaction or smart contract is executed Automates forwarding the payment to the owner account. In most cases the owner of the Internet-of-Things devices collects the payments from the device from time to time. The accounts that collect the payment from the Internet-of-Thing device are called a forwarding account. The device stores the forwarding account details. There could be one or more forwarding accounts. Forwarding account details can be configured on the Internet-of-Things device by trusted nodes Supports multiple currency types such as US Dollar, Euro and British Pound Allows the use of multiple types of digital currencies including but not limited to Bitcoin, Litecoin, NXT and Vericoin Provides an API that allows users to query all payment information from the block-chain so third-party users that interact with the system can deploy the Internet-of-Thing device and have a convenient way to obtain payment specific information Page 25 of 28
26 Payment Services The system supports three types of payment integrations 1. Implement new digital currencies utilizing the unique features of the GadgetCoin peer to peer network and block-chain that allows account based transactions and instant transaction processing. This implementation allows entirely trustless payment processing without utilizing third party or trusted entities. The payments will be between the peer nodes and trusted green addresses won t be required for payment processing. Figure 13 - Payments with GadgetCoin tokens and GadgetCoin specific new crypto currencies Page 26 of 28
27 2. Link existing digital currency networks with the GadgetCoin system. Such implementation requires the use of trustless green addresses to speed up transaction processing time and instant acceptance of the transaction. The green address is an increasingly popular concept that is built on top of the Bitcoin network. 3. Link existing FIAT money payment networks with the GadgetCoin system. FIAT money payments will be processed using tokens. To use FIAT money with the GadgetCoin system, the payment service providers will convert FIAT money into GadgetCoin tokens and the smart contracts are purchased with the tokens. Figure 14 - Payments with FIAT money and Bitcoin Page 27 of 28
28 References Page 28 of 28
Distributed Public Key Infrastructure via the Blockchain. Sean Pearl [email protected] April 28, 2015
Distributed Public Key Infrastructure via the Blockchain Sean Pearl [email protected] April 28, 2015 Overview Motivation: Electronic Money Example TTP: PayPal Bitcoin (BTC) Background Structure Other
Cloud security architecture
ericsson White paper Uen 284 23-3244 January 2015 Cloud security architecture from process to deployment The Trust Engine concept and logical cloud security architecture presented in this paper provide
Sync Security and Privacy Brief
Introduction Security and privacy are two of the leading issues for users when transferring important files. Keeping data on-premises makes business and IT leaders feel more secure, but comes with technical
Orwell. From Bitcoin to secure Domain Name System
Orwell. From Bitcoin to secure Domain Name System Michał Jabczyński, Michał Szychowiak Poznań University of Technology Piotrowo 2, 60-965 Poznań, Poland {Michal.Jabczynski, Michal.Szychowiak}@put.poznan.pl
Chapter 5. Simple Ad hoc Key Management. 5.1 Introduction
Chapter 5 Simple Ad hoc Key Management 5.1 Introduction One of the most important consequences of the nature of the MANET networks is that one cannot assume that a node that is part of a network will be
The Internet of Things: Opportunities & Challenges
The Internet of Things: Opportunities & Challenges What is the IoT? Things, people and cloud services getting connected via the Internet to enable new use cases and business models Cloud Services How is
PKI: THE SECURITY SOLUTION FOR THE INTERNET OF THINGS
PKI: THE SECURITY SOLUTION FOR THE INTERNET OF THINGS TABLE OF CONTENTS 2 EXECUTIVE SUMMARY 3 THE EMERGENCE OF THE INTERNET OF THINGS 4 SECURITY RISKS IN NETWORKED DEVICES 6 PKI S FOUNDATION OF STRONG
1. Comments on reviews a. Need to avoid just summarizing web page asks you for:
1. Comments on reviews a. Need to avoid just summarizing web page asks you for: i. A one or two sentence summary of the paper ii. A description of the problem they were trying to solve iii. A summary of
Easily Connect, Control, Manage, and Monitor All of Your Devices with Nivis Cloud NOC
Easily Connect, Control, Manage, and Monitor All of Your Devices with Nivis Cloud NOC As wireless standards develop and IPv6 gains widespread adoption, more and more developers are creating smart devices
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 Introduction Cloud computing as a new paradigm of information technology that offers tremendous advantages in economic aspects such as reduced time to market, flexible computing
Autodesk PLM 360 Security Whitepaper
Autodesk PLM 360 Autodesk PLM 360 Security Whitepaper May 1, 2015 trust.autodesk.com Contents Introduction... 1 Document Purpose... 1 Cloud Operations... 1 High Availability... 1 Physical Infrastructure
FileCloud Security FAQ
is currently used by many large organizations including banks, health care organizations, educational institutions and government agencies. Thousands of organizations rely on File- Cloud for their file
Security Architecture Whitepaper
Security Architecture Whitepaper 2015 by Network2Share Pty Ltd. All rights reserved. 1 Table of Contents CloudFileSync Security 1 Introduction 1 Data Security 2 Local Encryption - Data on the local computer
IoT Security Platform
IoT Security Platform 2 Introduction Wars begin when the costs of attack are low, the benefits for a victor are high, and there is an inability to enforce law. The same is true in cyberwars. Today there
18-731 Midterm. Name: Andrew user id:
18-731 Midterm 6 March 2008 Name: Andrew user id: Scores: Problem 0 (10 points): Problem 1 (10 points): Problem 2 (15 points): Problem 3 (10 points): Problem 4 (20 points): Problem 5 (10 points): Problem
Chapter 17. Transport-Level Security
Chapter 17 Transport-Level Security Web Security Considerations The World Wide Web is fundamentally a client/server application running over the Internet and TCP/IP intranets The following characteristics
Alice. Software as a Service(SaaS) Delivery Platform. innovation is simplicity
Ekartha, Inc. 63 Cutter Mill Road Great Neck, N.Y. 11021 Tel.: (516) 773-3533 Ekartha India Pvt. Ltd. 814/B Law College Road Demech House, 4th Floor Erandwane, Pune, India Email: [email protected] Web:
Understanding and Integrating KODAK Picture Authentication Cameras
Understanding and Integrating KODAK Picture Authentication Cameras Introduction Anyone familiar with imaging software such as ADOBE PHOTOSHOP can appreciate how easy it is manipulate digital still images.
Brainloop Cloud Security
Whitepaper Brainloop Cloud Security Guide to secure collaboration in the cloud www.brainloop.com Sharing information over the internet The internet is the ideal platform for sharing data globally and communicating
Security. 2014 Yokogawa Users Group Conference & Exhibition Copyright Yokogawa Electric Corporation Sept. 9-11, 2014 Houston, TX - 1 -
Security - 1 - OPC UA - Security Security Access control Wide adoption of OPC SCADA & DCS Embedded devices Performance Internet Scalability MES Firewalls ERP Communication between distributed systems OPC
OPEN REPUTATION THE DECENTRALIZED REPUTATION PLATFORM. Lincoln Cannon [email protected]
OPEN REPUTATION THE DECENTRALIZED REPUTATION PLATFORM Lincoln Cannon [email protected] The World Table 758 E Technology Ave Building F, Suite 2101 Orem UT 84097 USA worldtable.co Draft Revision 1.1
Installation and usage of SSL certificates: Your guide to getting it right
Installation and usage of SSL certificates: Your guide to getting it right So, you ve bought your SSL Certificate(s). Buying your certificate is only the first of many steps involved in securing your website.
Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi
Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi Purpose This paper is intended to describe the benefits of smart card implementation and it combination with Public
Adobe Systems Incorporated
Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...
MANAGED FILE TRANSFER: 10 STEPS TO SOX COMPLIANCE
WHITE PAPER MANAGED FILE TRANSFER: 10 STEPS TO SOX COMPLIANCE 1. OVERVIEW Do you want to design a file transfer process that is secure? Or one that is compliant? Of course, the answer is both. But it s
STRATEGIC POLICY. Information Security Policy Documentation. Network Management Policy. 1. Introduction
Policy: Title: Status: 1. Introduction ISP-S12 Network Management Policy Revised Information Security Policy Documentation STRATEGIC POLICY 1.1. This information security policy document covers management,
Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria
Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols Anthony J Howe Supervisor: Dr Mantis Cheng University of Victoria February 28, 2002 Abstract This article presents the reverse engineered
Cloud-Security: Show-Stopper or Enabling Technology?
Cloud-Security: Show-Stopper or Enabling Technology? Fraunhofer Institute for Secure Information Technology (SIT) Technische Universität München Open Grid Forum, 16.3,. 2010, Munich Overview 1. Cloud Characteristics
Security (II) ISO 7498-2: Security Architecture of OSI Reference Model. Outline. Course Outline: Fundamental Topics. EE5723/EE4723 Spring 2012
Course Outline: Fundamental Topics System View of Network Security Network Security Model Security Threat Model & Security Services Model Overview of Network Security Security Basis: Cryptography Secret
How To Make A Trustless Certificate Authority Secure
Network Security: Public Key Infrastructure Guevara Noubir Northeastern University [email protected] Network Security Slides adapted from Radia Perlman s slides Key Distribution - Secret Keys What if
BACK OFFICE MANUAL. Version 1.2 - Benjamin Bommhardt DRAGLET GMBH Bergsonstraße 154 81245 München - Germany
BACK OFFICE MANUAL Version 1.2 - Benjamin Bommhardt DRAGLET GMBH Bergsonstraße 154 81245 München - Germany Contents Introduction... 3 Overview of cxadmin... 4 Dashboard... 4 Customer overview... 5 Markets...
Overview. SSL Cryptography Overview CHAPTER 1
CHAPTER 1 Note The information in this chapter applies to both the ACE module and the ACE appliance unless otherwise noted. The features in this chapter apply to IPv4 and IPv6 unless otherwise noted. Secure
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
Data Collection and Analysis: Get End-to-End Security with Cisco Connected Analytics for Network Deployment
White Paper Data Collection and Analysis: Get End-to-End Security with Cisco Connected Analytics for Network Deployment Cisco Connected Analytics for Network Deployment (CAND) is Cisco hosted, subscription-based
Where every interaction matters.
Where every interaction matters. Peer 1 Vigilant Web Application Firewall Powered by Alert Logic The Open Web Application Security Project (OWASP) Top Ten Web Security Risks and Countermeasures White Paper
ProtectV. Securing Sensitive Data in Virtual and Cloud Environments. Executive Summary
VISIBILITY DATA GOVERNANCE SYSTEM OS PARTITION UNIFIED MANAGEMENT CENTRAL AUDIT POINT ACCESS MONITORING ENCRYPTION STORAGE VOLUME POLICY ENFORCEMENT ProtectV SECURITY SNAPSHOT (backup) DATA PROTECTION
WHITE PAPER. Understanding Transporter Concepts
WHITE PAPER Understanding Transporter Concepts Contents Introduction... 3 Definition of Terms... 4 Organization... 4 Administrator... 4 Organization User... 4 Guest User... 4 Folder Hierarchies... 5 Traditional
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database
Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database Built up on Cisco s big data common platform architecture (CPA), a
Bit Chat: A Peer-to-Peer Instant Messenger
Bit Chat: A Peer-to-Peer Instant Messenger Shreyas Zare [email protected] https://technitium.com December 20, 2015 Abstract. Bit Chat is a peer-to-peer instant messaging concept, allowing one-to-one
Security vulnerabilities in the Internet and possible solutions
Security vulnerabilities in the Internet and possible solutions 1. Introduction The foundation of today's Internet is the TCP/IP protocol suite. Since the time when these specifications were finished in
Packet Level Authentication Overview
Packet Level Authentication Overview Dmitrij Lagutin, [email protected] Helsinki Institute for Information Technology HIIT Aalto University School of Science and Technology Contents Introduction
1. Fault Attacks for Virtual Machines in Embedded Platforms. Supervisor: Dr Konstantinos Markantonakis, [email protected]
Proposed PhD Research Areas I am looking for strong PhD candidates to work on the projects listed below. The ideal candidate would have a mix of theoretical and practical skills, achieved a distinction
The Convergence of IT Security and Physical Access Control
The Convergence of IT Security and Physical Access Control Using a Single Credential to Secure Access to IT and Physical Resources Executive Summary Organizations are increasingly adopting a model in which
Chapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
Mobile Electronic Payments
Chapter 7 Mobile Electronic Payments 7.1 Rationale and Motivation Mobile electronic payments are rapidly becoming a reality. There is no doubt that users of mobile phones are willing and even asking to
Single Sign-On Secure Authentication Password Mechanism
Single Sign-On Secure Authentication Password Mechanism Deepali M. Devkate, N.D.Kale ME Student, Department of CE, PVPIT, Bavdhan, SavitribaiPhule University Pune, Maharashtra,India. Assistant Professor,
Newcastle University Information Security Procedures Version 3
Newcastle University Information Security Procedures Version 3 A Information Security Procedures 2 B Business Continuity 3 C Compliance 4 D Outsourcing and Third Party Access 5 E Personnel 6 F Operations
Secure cloud access system using JAR ABSTRACT:
Secure cloud access system using JAR ABSTRACT: Cloud computing enables highly scalable services to be easily consumed over the Internet on an as-needed basis. A major feature of the cloud services is that
Author: Kai Engert, kaie at redhat dot com or kaie at kuix dot de For updates to this document, please check http://kuix.
Spam Salt aka Message Salt An invention against email abuse (Spam), introducing an email sender authentication mechanism. Author: Kai Engert, kaie at redhat dot com or kaie at kuix dot de For updates to
7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?
7 Network Security 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework 7.4 Firewalls 7.5 Absolute Security? 7.1 Introduction Security of Communications data transport e.g. risk
Securing your Online Data Transfer with SSL
Securing your Online Data Transfer with SSL A GUIDE TO UNDERSTANDING SSL CERTIFICATES, how they operate and their application 1. Overview 2. What is SSL? 3. How to tell if a Website is Secure 4. What does
UNCLASSIFIED Version 1.0 May 2012
Secure By Default: Platforms Computing platforms contain vulnerabilities that can be exploited for malicious purposes. Often exploitation does not require a high degree of expertise, as tools and advice
A very short history of networking
A New vision for network architecture David Clark M.I.T. Laboratory for Computer Science September, 2002 V3.0 Abstract This is a proposal for a long-term program in network research, consistent with the
THE WINDOWS AZURE PROGRAMMING MODEL
THE WINDOWS AZURE PROGRAMMING MODEL DAVID CHAPPELL OCTOBER 2010 SPONSORED BY MICROSOFT CORPORATION CONTENTS Why Create a New Programming Model?... 3 The Three Rules of the Windows Azure Programming Model...
Internet of things (IOT) applications covering industrial domain. Dev Bhattacharya [email protected]
Internet of things (IOT) applications covering industrial domain Dev Bhattacharya [email protected] Outline Internet of things What is Internet of things (IOT) Simplified IOT System Architecture
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats
WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top
McAfee Global Threat Intelligence File Reputation Service. Best Practices Guide for McAfee VirusScan Enterprise Software
McAfee Global Threat Intelligence File Reputation Service Best Practices Guide for McAfee VirusScan Enterprise Software Table of Contents McAfee Global Threat Intelligence File Reputation Service McAfee
IBM. Vulnerability scanning and best practices
IBM Vulnerability scanning and best practices ii Vulnerability scanning and best practices Contents Vulnerability scanning strategy and best practices.............. 1 Scan types............... 2 Scan duration
Wildcard and SAN: Understanding Multi-Use SSL Certificates
Wildcard and SAN: Understanding Multi-Use SSL Certificates LEVERAGING MULTI-USE DIGITAL CERTIFICATES TO SIMPLIFY CERTIFICATE MANAGEMENT AND REDUCE COSTS Wildcard and SAN: Understanding Multi-Use SSL Certificates
TRUE PERFORMANCE ENGINEERING
TRUE PERFORMANCE ENGINEERING Quality with Testing, Testing with Quality WHITE PAPER TWO CONTENTS Introduction 3 The Challenges 3 Dependable Applications Testing 3 Traditional Load Testing 4 Large Capital
Securing your Online Data Transfer with SSL A GUIDE TO UNDERSTANDING SSL CERTIFICATES, how they operate and their application INDEX 1. Overview 2. What is SSL? 3. How to tell if a Website is Secure 4.
FileDrawer An Enterprise File Sharing and Synchronization (EFSS) solution.
FileDrawer An Enterprise File Sharing and Synchronization (EFSS) solution. In today s world the potential for ready access to data from virtually any device over any type of network connection creates
GoToMyPC Corporate Advanced Firewall Support Features
F A C T S H E E T GoToMyPC Corporate Advanced Firewall Support Features Citrix GoToMyPC Corporate features Citrix Online s advanced connectivity technology. We support all of the common firewall and proxy
International Journal of Advancements in Research & Technology, Volume 3, Issue 4, April-2014 55 ISSN 2278-7763
International Journal of Advancements in Research & Technology, Volume 3, Issue 4, April-2014 55 Management of Wireless sensor networks using cloud technology Dipankar Mishra, Department of Electronics,
SANE: A Protection Architecture For Enterprise Networks
Fakultät IV Elektrotechnik und Informatik Intelligent Networks and Management of Distributed Systems Research Group Prof. Anja Feldmann, Ph.D. SANE: A Protection Architecture For Enterprise Networks WS
SecureCom Mobile s mission is to help people keep their private communication private.
About SecureCom Mobile SecureCom Mobile s mission is to help people keep their private communication private. We believe people have a right to share ideas with each other, confident that only the intended
12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust
Security in Wireless LANs and Mobile Networks Wireless Magnifies Exposure Vulnerability Information going across the wireless link is exposed to anyone within radio range RF may extend beyond a room or
Research Report: Addressing Security Concerns for Connected Devices in the Internet of Things Era
Sponsored by Oracle Research Report: Addressing Security Concerns for Connected Devices in the Internet of Things Era Introduction About Survey Respondents The Internet of Things (IoT) and the rise of
Chapter 1: Introduction
Chapter 1 Introduction 1 Chapter 1: Introduction 1.1 Inspiration Cloud Computing Inspired by the cloud computing characteristics like pay per use, rapid elasticity, scalable, on demand self service, secure
EMV-TT. Now available on Android. White Paper by
EMV-TT A virtualised payment system with the following benefits: MNO and TSM independence Full EMV terminal and backend compliance Scheme agnostic (MasterCard and VISA supported) Supports transactions
API Architecture. for the Data Interoperability at OSU initiative
API Architecture for the Data Interoperability at OSU initiative Introduction Principles and Standards OSU s current approach to data interoperability consists of low level access and custom data models
BlackBerry Enterprise Service 10. Universal Device Service Version: 10.2. Administration Guide
BlackBerry Enterprise Service 10 Universal Service Version: 10.2 Administration Guide Published: 2015-02-24 SWD-20150223125016631 Contents 1 Introduction...9 About this guide...10 What is BlackBerry
Microsoft Windows Server System White Paper
Introduction to Network Access Protection Microsoft Corporation Published: June 2004, Updated: May 2006 Abstract Network Access Protection, a platform for Microsoft Windows Server "Longhorn" (now in beta
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
ORACLE DATABASE 10G ENTERPRISE EDITION
ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.
Information Security Basic Concepts
Information Security Basic Concepts 1 What is security in general Security is about protecting assets from damage or harm Focuses on all types of assets Example: your body, possessions, the environment,
esign FAQ 1. What is the online esign Electronic Signature Service? 2. Where the esign Online Electronic Signature Service can be used?
esign FAQ 1. What is the online esign Electronic Signature Service? esign Electronic Signature Service is an innovative initiative for allowing easy, efficient, and secure signing of electronic documents
Comprehensive Device Management Platform comprising of Management Suites specialized in addressing different problem domains, extensively
Comprehensive Device Management Platform comprising of Management Suites specialized in addressing different problem domains, extensively customizable to meet enterprise management requirements Enterprise
Secure Authentication and Session. State Management for Web Services
Lehman 0 Secure Authentication and Session State Management for Web Services Clay Lehman CSC 499: Honors Thesis Supervised by: Dr. R. Michael Young Lehman 1 1. Introduction Web services are a relatively
ORACLE DATABASE SECURITY. Keywords: data security, password administration, Oracle HTTP Server, OracleAS, access control.
ORACLE DATABASE SECURITY Cristina-Maria Titrade 1 Abstract This paper presents some security issues, namely security database system level, data level security, user-level security, user management, resource
An Integrated CyberSecurity Approach for HEP Grids. Workshop Report. http://hpcrd.lbl.gov/hepcybersecurity/
An Integrated CyberSecurity Approach for HEP Grids Workshop Report http://hpcrd.lbl.gov/hepcybersecurity/ 1. Introduction The CMS and ATLAS experiments at the Large Hadron Collider (LHC) being built at
Securing LAN Connected Devices in Industrial Sites with TLS and Multicast DNS
Securing LAN Connected Devices in Industrial Sites with TLS and Multicast DNS Tero Keski-Valkama May 28, 2015 Version 1.0 Abstract This whitepaper outlines a more flexible and more secure user interface
Resolving Active Directory Backup and Recovery Requirements with Quest Software
Resolving Active Directory Backup and Recovery Requirements with Quest Software By Mike Danseglio Sponsored by Table of Contents Backing Up Effectively... 1 Identifying an Incident... 2 Recovering from
ThreatSpike Dome: A New Approach To Security Monitoring
ThreatSpike Dome: A New Approach To Security Monitoring 2015 ThreatSpike Labs Limited The problem with SIEM Hacking, insider and advanced persistent threats can be difficult to detect with existing product
Web Applications Access Control Single Sign On
Web Applications Access Control Single Sign On Anitha Chepuru, Assocaite Professor IT Dept, G.Narayanamma Institute of Technology and Science (for women), Shaikpet, Hyderabad - 500008, Andhra Pradesh,
Device-Centric Authentication and WebCrypto
Device-Centric Authentication and WebCrypto Dirk Balfanz, Google, [email protected] A Position Paper for the W3C Workshop on Web Cryptography Next Steps Device-Centric Authentication We believe that the
Developers Integration Lab (DIL) System Architecture, Version 1.0
Developers Integration Lab (DIL) System Architecture, Version 1.0 11/13/2012 Document Change History Version Date Items Changed Since Previous Version Changed By 0.1 10/01/2011 Outline Laura Edens 0.2
HTTPS Inspection with Cisco CWS
White Paper HTTPS Inspection with Cisco CWS What is HTTPS? Hyper Text Transfer Protocol Secure (HTTPS) is a secure version of the Hyper Text Transfer Protocol (HTTP). It is a combination of HTTP and a
SecureAge SecureDs Data Breach Prevention Solution
SecureAge SecureDs Data Breach Prevention Solution In recent years, major cases of data loss and data leaks are reported almost every week. These include high profile cases like US government losing personal
About Firewall Protection
1. This guide describes how to configure basic firewall rules in the UTM to protect your network. The firewall then can provide secure, encrypted communications between your local network and a remote
MassTransit vs. FTP Comparison
MassTransit vs. Comparison If you think is an optimal solution for delivering digital files and assets important to the strategic business process, think again. is designed to be a simple utility for remote
Network Security 網 路 安 全. Lecture 1 February 20, 2012 洪 國 寶
Network Security 網 路 安 全 Lecture 1 February 20, 2012 洪 國 寶 1 Outline Course information Motivation Introduction to security Basic network concepts Network security models Outline of the course 2 Course
Using the Bitcoin Blockchain for secure, independently verifiable, electronic votes. Pierre Noizat - July 2014
Using the Bitcoin Blockchain for secure, independently verifiable, electronic votes. Pierre Noizat - July 2014 The problem with proprietary voting systems Existing electronic voting systems all suffer
PUF Physical Unclonable Functions
Physical Unclonable Functions Protecting next-generation Smart Card ICs with SRAM-based s The use of Smart Card ICs has become more widespread, having expanded from historical banking and telecommunication
Monitoring Software using Sun Spots. Corey Andalora February 19, 2008
Monitoring Software using Sun Spots Corey Andalora February 19, 2008 Abstract Sun has developed small devices named Spots designed to provide developers familiar with the Java programming language a platform
