Bootstrapping P2P VPN

Total Page:16

File Type:pdf, Size:1020Kb

Bootstrapping P2P VPN Network Architectures and Services, Georg Carle Faculty of Informatics Technische Universität München, Germany Bootstrapping P2P VPN Felix Weißl Chair for Network Architectures and Services Department for Computer Science Technische Universität München April 3, 2014 Outline 1 Motivation 2 Network Classification 3 Terms 4 Bootstrapping 1 In unstructured Peer-to-Peer networks 2 In structured Peer-to-Peer-networks 5 Related work 6 Conclusion Felix Weißl: Bootstrapping P2P VPN 2 Motivation Client / Server Peer-to-Peer centralized decentralized server dependent self-organizing single point of failure robust shared resources (bandwidth, CPU) server is bottle-neck scalable secure standard protocols privacy / security issues easy connection establishment bootstrapping problem easy file management network speed usually low source: http://upload.wikimedia.org/wikipedia/commons/f/fb/Server-based-network.svg http://upload.wikimedia.org/wikipedia/commons/3/3f/P2P-network.svg Felix Weißl: Bootstrapping P2P VPN 3 Network Classification Virtual Private Networks Unstructured Structured: Distributed Hash Table e.g. GroupVPN, BitTorrent's distributed tracker Centralized Decentralized e.g. OpenVPN e.g. Tinc Hybrid: Super Nodes e.g. N2N Felix Weißl: Bootstrapping P2P VPN 4 Terms “P2P VPN”: - decentralized virtual private network - popular applications: Hamachi, N2N, P2PVPN, Wippien, freelan Bootstrapping: process of a new peer joining the network Felix Weißl: Bootstrapping P2P VPN 5 Bootstrapping 1. Peer discovery: - discover the network - request one or more well-known entry points 2. Rendezvous: - try connecting to a peer - traversal of NAT devices 3. Relay: - scenario: NAT traversal fails - third party relays traffic Felix Weißl: Bootstrapping P2P VPN 6 Bootstrapping N2N N2N: - encrypted Layer 2 over Layer 3 private P2P network - super nodes build “backbone” of the network ? Source: http://www.ntop.org/wp-content/uploads/2011/08/n2n_network.png Felix Weißl: Bootstrapping P2P VPN 7 Bootstrapping N2N - Peer discovery: - Required: Global IP address of one super nodes - Peer list through broadcast messages - Rendezvous: - “Peer registration” - connection attempt - Relay through super nodes ? as a fall-back method Felix Weißl: Bootstrapping P2P VPN 8 Bootstrapping GroupVPN - Idea: Usage of an existing public network for configuration exchange, e.g. XMPP, BitTorrent, Gnutella, Brunet - Brunet: - self-organizing ring-structured network - nodes organized in well-defined topology - nodes addressable with internal PeerIDs - Distributed Hash Table Felix Weißl: Bootstrapping P2P VPN 9 Bootstrapping GroupVPN Distributed Hash Table - distributed data over large P2P network - quick search time for given item - keys mapped to nodes - get / put operations - e.g. “get FOOBAR” Felix Weißl: Bootstrapping P2P VPN 10 Bootstrapping GroupVPN Bootstrapping Peer wants to connect to P2P VPN “Private” Felix Weißl: Bootstrapping P2P VPN 11 Bootstrapping GroupVPN Bootstrapping 1. Peer discovery: peer queries DHT for private network peers Felix Weißl: Bootstrapping P2P VPN 11 Bootstrapping GroupVPN Bootstrapping 2. Rendevouz: Exchange connection messages, NAT Traversal Felix Weißl: Bootstrapping P2P VPN 11 Bootstrapping GroupVPN Bootstrapping 2. Rendevouz: Exchange connection messages, NAT Traversal Felix Weißl: Bootstrapping P2P VPN 11 Bootstrapping GroupVPN Network Address Translation (NAT): - overcome shortage of IPv4 addresses - separation of private and public address space - breaks end-to-end principle - blocks new incoming connections → P2P problem NAT A NAT B Source: J. Buford, H. Yu, and E. K. Lua. P2P Networking and Applications. Morgan Kaufmann, 2008. Felix Weißl: Bootstrapping P2P VPN 12 Bootstrapping GroupVPN NAT Traversal scenario: Source: B. Ford, P. Srisuresh, and D. Kegel. Peer-to-peer communication across network address translators. In USENIX Annual Technical Conference, General Track, pages 179-192, 2005. Felix Weißl: Bootstrapping P2P VPN 13 Bootstrapping GroupVPN UDP Hole Punching Source: B. Ford, P. Srisuresh, and D. Kegel. Peer-to-peer communication across network address translators. In USENIX Annual Technical Conference, General Track, pages 179-192, 2005. Felix Weißl: Bootstrapping P2P VPN 14 Related work Other techniques for peer discovery: - Social networks: IRC, XMPP - Dynamic DNS - Random Access Probing Other NAT traversal techniques: - manual: port forwarding - TCP hole punching - Autonomous NAT traversal Felix Weißl: Bootstrapping P2P VPN 15 Conclusion - NAT still a main issue in P2P bootstrapping - pure “P2P VPNs” very rare - security mechanisms in existing applications often neglected Felix Weißl: Bootstrapping P2P VPN 16 Questions Felix Weißl: Bootstrapping P2P VPN 17.
Recommended publications
  • Enabling TPM Based System Security Features
    Enabling TPM based system security features Andreas Fuchs <[email protected]> Who am I ? ● 13 year on/off TPMs ● Fraunhofer SIT: Trustworthy Platforms ● TCG-member: TPM Software Stack WG ● Maintainer – tpm2-tss: The libraries – tpm2-tss-engine: The openssl engine – tpm2-totp: Computer-to-user attestation (mjg’s tpm-totp reimplemented for 2.0) 2 The hardware stack ● Trusted Platform Module (TPM) 2.0 – Smartcard-like capabilities but soldered in – Remote Attestation capabilities – As separate chip (LPC, SPI, I²C) – In Southbridge / Firmware – Via TEEs/TrustZone, etc – Thanks to Windows-Logos in every PC ● CPU – OS, TSS 2.0, where the fun is... 3 The TPM Software Stack 2.0 ● Kernel exposes /dev/tpm0 with byte buffers ● tpm2-tss is like the mesa of TCG specs ● TCG specifications: – TPM spec for functionality – TSS spec for software API ● tpm2-tss implements the glue ● Then comes core module / application integration – Think GDK, but OpenSSL – Think godot, but pkcs11 – Think wayland, but cryptsetup 4 The TSS APIs System API (sys) Enhanced SYS (esys) Feature API (FAPI) • 1:1 to TPM2 cmds • Automate crypto for • Spec in draft form HMAC / encrypted • TBimplemented • Cmd / Rsp sessions • No custom typedefs U serialization • Dynamic TCTI • JSON interfaces s • No file I/O loading • Provides Policy e • No crypto • Memory allocations language r • No heap / malloc • No file I/O • Provides keystore S p TPM Command Transmission Interface (tss2-tcti) p a Abstract command / response mechanism, • No crypto, heap, file I/O a Decouple APIs
    [Show full text]
  • Master Thesis
    Master's Programme in Computer Network Engineering, 60 credits MASTER Connect street light control devices in a secure network THESIS Andreas Kostoulas, Efstathios Lykouropoulos, Zainab Jumaa Network security, 15 credits Halmstad 2015-02-16 “Connect street light control devices in a secure network” Master’s Thesis in Computer Network engineering 2014 Authors: Andreas Kostoulas, Efstathios Lykouropoulos, Zainab Jumaa Supervisor: Alexey Vinel Examiner: Tony Larsson Preface This thesis is submitted in partial fulfilment of the requirements for a Master’s Degree in Computer Network Engineering at the Department of Information Science - Computer and Electrical Engineering, at University of Halmstad, Sweden. The research - implementation described herein was conducted under the supervision of Professor Alexey Vinel and in cooperation with Greinon engineering. This was a challenging trip with both ups and downs but accompanied by an extend team of experts, always willing to coach, sponsor, help and motivate us. For this we would like to thank them. We would like to thank our parents and family for their financial and motivational support, although distance between us was more than 1500 kilometres. Last but not least we would like to thank our fellow researchers and friends on our department for useful discussions, comments, suggestions, thoughts and also creative and fun moments we spend together. i Abstract Wireless communications is a constantly progressing technology in network engineering society, creating an environment full of opportunities that are targeting in financial growth, quality of life and humans prosperity. Wireless security is the science that has as a goal to provide safe data communication between authorized users and prevent unauthorized users from gaining access, deny access, damage or counterfeit data in a wireless environment.
    [Show full text]
  • N2N: a Layer Two Peer-To-Peer VPN
    N2N: A Layer Two Peer-to-Peer VPN Luca Deri1, Richard Andrews2 ntop.org, Pisa, Italy1 Symstream Technologies, Melbourne, Australia2 {deri, andrews}@ntop.org Abstract. The Internet was originally designed as a flat data network delivering a multitude of protocols and services between equal peers. Currently, after an explosive growth fostered by enormous and heterogeneous economic interests, it has become a constrained network severely enforcing client-server communication where addressing plans, packet routing, security policies and users’ reachability are almost entirely managed and limited by access providers. From the user’s perspective, the Internet is not an open transport system, but rather a telephony-like communication medium for content consumption. This paper describes the design and implementation of a new type of peer-to- peer virtual private network that can allow users to overcome some of these limitations. N2N users can create and manage their own secure and geographically distributed overlay network without the need for central administration, typical of most virtual private network systems. Keywords: Virtual private network, peer-to-peer, network overlay. 1. Motivation and Scope of Work Irony pervades many pages of history, and computing history is no exception. Once personal computing had won the market battle against mainframe-based computing, the commercial evolution of the Internet in the nineties stepped the computing world back to a substantially rigid client-server scheme. While it is true that the today’s Internet serves as a good transport system for supplying a plethora of data interchange services, virtually all of them are delivered by a client-server model, whether they are centralised or distributed, pay-per-use or virtually free [1].
    [Show full text]
  • Peer-To-Peer Protocol and Application Detection Support
    Peer-to-Peer Protocol and Application Detection Support This appendix lists all the protocols and applications currently supported by Cisco ASR 5500 ADC. • Supported Protocols and Applications, page 1 Supported Protocols and Applications This section lists all the supported P2P protocols, sub-protocols, and the applications using these protocols. Important Please note that various client versions are supported for the protocols. The client versions listed in the table below are the latest supported version(s). Important Please note that the release version in the Supported from Release column has changed for protocols/applications that are new since the ADC plugin release in August 2015. This will now be the ADC Plugin Build number in the x.xxx.xxx format. The previous releases were versioned as 1.1 (ADC plugin release for December 2012 ), 1.2 (ADC plugin release for April 2013), and so on for consecutive releases. New in this Release This section lists the supported P2P protocols, sub-protocols and applications introduced in the ADC Plugin release for December 1, 2017. ADC Administration Guide, StarOS Release 21.6 1 Peer-to-Peer Protocol and Application Detection Support New in this Release Protocol / Client Client Version Group Classification Supported from Application Release 6play 6play (Android) 4.4.1 Streaming Streaming-video ADC Plugin 2.19.895 Unclassified 6play (iOS) 4.4.1 6play — (Windows) BFM TV BFM TV 3.0.9 Streaming Streaming-video ADC Plugin 2.19.895 (Android) Unclassified BFM TV (iOS) 5.0.7 BFM — TV(Windows) Clash Royale
    [Show full text]
  • Digital Safety & Security Lt Cdr Mike Rose RN ©
    RNIOA Article 15 [17/05/2020] characteristics linked to their IP address to enable ‘tracking.’ Where internet-based criminality is Digital Safety & Security involved, the acquisition of banking and credit card Lt Cdr Mike Rose RN © data is often the main objective. Introduction The aim of this article is to help people understand Prior to the introduction of the internet, personal the risks they face and how to attempt to mitigate computers for home use were self-contained in that them. So, whether you’re accessing the internet the operating system was bought and installed by with your mobile phone, PC, tablet or laptop, you’re the supplier/user, and external communications potentially exposed to every hacker, digital thief and using the PC were not yet technically developed. spammer across the globe. Not to mention that The most likely risk therefore was the possibility of viruses, trojan horses, spyware and adware are someone switching on unattended, non-password- always just one click away. You wouldn’t drive protected computers and copying sensitive without insurance, a seat belt and a GPS device, information onto an external memory device. so, similarly, when you “surf the net”, you need to Essentially, users were in control of their computing make sure that you are well “buckled up” and well- equipment and paid real money for the services informed. This article is written as a guide to “safe and software they used to a known vendor. surfing” and is just as important for personal users as it is for large tech companies. Malicious websites Spyware, which is software that steals your sensitive data without consent, lurks in many corners of the internet; often in places where you'd least expect it.
    [Show full text]
  • The Difficulties of a Peer-To-Peer VPN on the Hostile Internet
    The difficulties of The difficulties of a peer-to-peer a peer-to-peer VPN on the hostile Internet VPN on the hostile Internet Guus Sliepen Brussel, February 6, 2010 Introduction Communicating over the Internet The problem of NAT The problem of MTU Other problems Authentiation and authorization The end Guus Sliepen [email protected] 1.1 Tinc development started in September 1997, after The difficulties of introduction of ethertap in Linux 2.1.53. a peer-to-peer VPN on the hostile Internet Current features: Guus Sliepen • Connects multiple sites together • Can act as router (layer 3) or switch (layer 2) Introduction Communicating • Full support for IPv6 over the Internet The problem of • No central server NAT • You configure some endpoints, tinc will do the rest The problem of MTU Modus operandi: Other problems Authentiation and • Metadata exchanges via TCP authorization The end • VPN packets directly via UDP • Fall back to TCP if UDP is not possible 1.2 The competition: The difficulties of a peer-to-peer y VPN on the • CIPE hostile Internet • VTuny Guus Sliepen • IPsec • OpenVPN Introduction Communicating • Hamachi over the Internet The problem of But also: NAT The problem of • GVPE MTU • CloudVPN Other problems Authentiation and • SocialVPN authorization • n2n The end • VDE 1.3 Network before VPN is configured: The difficulties of a peer-to-peer VPN on the hostile Internet Guus Sliepen Introduction Communicating over the Internet The problem of NAT The problem of MTU Other problems Authentiation and authorization The end Blue cloud: the Internet
    [Show full text]
  • Internet Telephony PBX System IPX-2200/IPX-2500
    Internet Telephony PBX System IPX-2200/IPX-2500 Internet Telephony PBX System IPX-2200 IPX-2500 1 Internet Telephony PBX System IPX-2200/IPX-2500 Copyright Copyright (C) 2016 PLANET Technology Corp. All rights reserved. The products and programs described in this User’s Manual are licensed products of PLANET Technology. This User’s Manual contains proprietary information protected by copyright, and this User’s Manual and all accompanying hardware, software, and documentation are copyrighted. No part of this User’s Manual may be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form by any means by electronic or mechanical including photocopying, recording, or information storage and retrieval systems, for any purpose other than the purchaser's personal use, and without the prior written permission of PLANET Technology. Disclaimer PLANET Technology does not warrant that the hardware will work properly in all environments and applications, and makes no warranty and representation, either implied or expressed, with respect to the quality, performance, merchantability, or fitness for a particular purpose. PLANET has made every effort to ensure that this User’s Manual is accurate; PLANET disclaims liability for any inaccuracies or omissions that may have occurred. Information in this User’s Manual is subject to change without notice and does not represent a commitment on the part of PLANET. PLANET assumes no responsibility for any inaccuracies that may be contained in this User’s Manual. PLANET makes no commitment to update or keep current the information in this User’s Manual, and reserves the right to make improvements to this User’s Manual and/or to the products described in this User’s Manual, at any time without notice.
    [Show full text]
  • Tunnel Broker Ipv4/Ipv6 Mediante Openvpn
    Trabajo Fin de Grado Grado en Ingeniería de Tecnologías de Telecomunicación Tunnel Broker IPv4/IPv6 mediante OpenVPN Autor: José Luis Peña Higueras Tutor: Francisco José Fernández Jiménez Equation Chapter 1 Section 1 Dpto. de Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2019 Trabajo Fin de Grado Grado en Ingeniería de Tecnologías de Telecomunicación Tunnel Broker IPv4/IPv6 mediante OpenVPN Autor: José Luis Peña Higueras Tutor: Francisco José Fernández Jiménez Profesor Colaborador Dpto. de Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2019 Trabajo Fin de Grado: Tunnel Broker IPv4/IPv6 mediante OpenVPN Autor: José Luis Peña Higueras Tutor: Francisco José Fernández Jiménez El tribunal nombrado para juzgar el Trabajo arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2019 El Secretario del Tribunal A mi familia A mis maestros Agradecimientos En primer lugar, agradecer a mis padres, José Luis Peña Martínez y Francisca Higueras Ruiz por haberme ayudado durante todos los años de carrera y durante la realización de este proyecto. Ellos han estado en los buenos y malos momentos durante el paso por la carrera y me han proporcionado todo lo necesario para poder impartir estos estudios. Además me gustaría agradecer a mi hermano Francisco Javier por el apoyo durante la realización del proyecto. En segundo lugar, quiero agradecer a todos los profesores que han estado a lo largo de la carrera por darme todo el conocimiento necesario tanto en el ámbito académico como en el ámbito laboral. En especial, me gustaría agradecer a mi profesor Francisco José Fernández Jiménez por toda su ayuda durante todo el proyecto, por haber adaptado su horario a las necesidades que en muchas ocasiones tenía y sobre todo, por la orientación que me ha dado a lo largo de todo el proyecto.
    [Show full text]
  • Comparison of Virtual Networks Solutions for Community Clouds
    KTH Royal Institute of Technology Bachelor Thesis Comparison of Virtual Networks Solutions for Community Clouds Examiner: Vladimir Vlassov Author: Albert Avellana Supervisors: Paris Carbone, Hooman Peiro Information and Communication Technology School February 2014 KTH Royal Institute of Technology Abstract Information and Communication Technology School Bachelor Thesis Comparison of Virtual Networks Solutions for Community Clouds by Albert Avellana Cloud computing has a huge importance and big impact nowadays on the IT world. The idea of community clouds has emerged recently in order to satisfy several user expectations. Clommunity is a European project that aims to provide a design and implementation of a self-configured, fully distributed, decentralized, scalable and robust cloud for a community of users across a commmunity network. One of the aspects to analyze in this design is which kind of Virtual Private Network (VPN) is going to be used to interconnect the nodes of the community members interested in access cloud services. In this thesis we will study, compare and analyze the possibility of using Tinc, IPOP or SDN-based solutions such as OpenFlow to establish such a VPN. Acknowledgements I would like to express my gratitude to all those who gave me the possibility to do this thesis in KTH. Firstly, I would like to thank Vlad for the opportunity he gave me to do this thesis and for his support. Secondly, thanks to my thesis supervisors: Paris Carbone and Hooman Peiro, who guided me through the research, helped me and gave me recommendations during this period. Also, I would like to thank F´elixFreitag and Leandro Navarro from Universitat Polit`ecnica de Catalunya for supporting me from Barcelona and make this stay in Stockholm possi- ble.
    [Show full text]
  • Virtual Private Networks for Peer-To-Peer Infrastructures
    Technische Universit¨atDarmstadt Department of Computer Science Prof. Dr. Michael Waidner Virtual Private Networks for Peer-to-Peer Infrastructures Diploma Thesis Submitted by Hiro Dudani <[email protected]> on 2012-11-30 Supervisor: Dipl.-Inform. Nicolai Kuntze In cooperation with: Fraunhofer SIT f¨urPapa ii Ehrenw¨ortlicheErkl¨arung(Affidavit) Hiermit versichere ich, die vorliegende Diplomarbeit ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ¨ahnlicher Form noch keiner Pr¨ufungsbeh¨ordevorgelegen. Hiro Dudani Neu-Isenburg, am 29.11.2012 iii Abstract The Nanodatacenters project aims to complement the paradigm of existing centralized server farms with a high number of small storage and communication devices located at the edges of the network. Utilizing previously unused resources like broadband internet access bandwith and idling set-top boxes, these nodes are able to host applications from different content providers offering various kinds of services, such as Video on Demand or online gaming, to end users. This setting does pose particular security challenges. As the devices operate under physical control of the end users, their integrity has be ensured and must be able to be verified by the network. This is achieved through the functionality of Trusted Com- puting. Additionally, the domains of the different content providers have to be isolated in such a way that an attacker cannot use one of them as a foothold to compromise or snoop on the operation of the network or another isolated domain.
    [Show full text]
  • DKIM) • Domain-Based Message Authentication, Reporting and Conformance (DMARC)
    The iLab Experience a blended learning hands-on course concept Final Lecture Marc-Oliver Pahl, Jul 25, 2017 you set the focus your exercise iLab 1+2 info event online • Tell your friends! • https://www.net.in.tum.de/teaching/ws1718/ilab_information.html 25.4. 2.5. 9.5. 16.5. 23.5. 30.5. 8.6. 13.6. 20.6. 27.6. 4.7. (11.7.) 18.7. 25.7. , your exercise , Mini Lab Lectures IPv6 - part II Kick Off, Mini Labs, IPv6 - part Kick Off, I MiniLabs, BGP Mad Brainstorming Exercise Your Playground Advanced Wireless and Voting Presentation YE Topic Modern Cryptography Security Holes World-Wide-Web DIY1 - Smart Space HW DIY2 - Smart Space SW YE Didactics and Techniques YE 1st Lecture Giving good Feedback YE Review Presentation Wrap-Up YE Final Presentation, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 IPv6 BGP Advanced WL SEC S2O 1 S2O 2 Your Exercise 2-3 mini labs summer term 2017 Introductory Lecture didactic concept | authoring tutorial | topic selection | assignment review teams ~2h Team Prepares Exercise ~30-35h slides for talk | prelab | lab | slides | tutor support * Internal Tests ~2h Student Run First Lecture Presentation presentation | feedback | quality alignment Revision Review ~20-25h Feedback review another team ~2h Received Feedback Pres. presentation | feedback | quality alignment Revising new lab ~20-25h updating learning material Somehow “Stable” ~2h Final Presentation how is it now | what did you change/ learn | your take home? wikimedia: Biser Todorov I give you some tools and experience and tools some you give I Learn from each other… Topic Brainstorming Result May 16, 2017 Topic Voting Event May 23, 2017 2017-07-04 First Lecture - What was good? What could be improved? 2017-07-04 Giving Feedback - What do you know about Feedback? 2017-07-04 Giving Feedback - What are your open Challenges? 2017-07-18 Review Reporting - What are your main Points for PreLab, Lab, and other aspects? Expected Artefacts Deadline X• 2 slide decks for your two • Week -5: • [Concept & Topic Madness] topic presentations (each • Prepare your 2x3 min talks talks one topic!) 22.5.
    [Show full text]
  • N2N: a Layer Two Peer-To-Peer VPN
    N2N: A Layer Two Peer-to-Peer VPN Luca Deri1 and Richard Andrews2 1 ntop.org, Pisa, Italy 2 Symstream Technologies, Melbourne, Australia {deri,andrews}@ntop.org Abstract. The Internet was originally designed as a flat data network delivering a multitude of protocols and services between equal peers. Currently, after an explosive growth fostered by enormous and heterogeneous economic interests, it has become a constrained network severely enforcing client-server communication where addressing plans, packet routing, security policies and users’ reachability are almost entirely managed and limited by access providers. From the user’s perspective, the Internet is not an open transport system, but rather a telephony-like communication medium for content consumption. This paper describes the design and implementation of a new type of peer- to-peer virtual private network that can allow users to overcome some of these limitations. N2N users can create and manage their own secure and geographically distributed overlay network without the need for central administration, typical of most virtual private network systems. Keywords: Virtual private network, peer-to-peer, network overlay. 1 Motivation and Scope of Work Irony pervades many pages of history, and computing history is no exception. Once personal computing had won the market battle against mainframe-based computing, the commercial evolution of the Internet in the nineties stepped the computing world back to a substantially rigid client-server scheme. While it is true that the today’s Internet serves as a good transport system for supplying a plethora of data interchange services, virtually all of them are delivered by a client-server model, whether they are centralised or distributed, pay-per-use or virtually free [1].
    [Show full text]