177 research outputs found
A secure vault setup for a crypto wallet
In today's digital world, every user needs to store sensitive data, including personal information, cryptographic keys and/or passwords. For user convenience, this data is usually backed up on a cloud hosting so that users can have access to it from all their devices, However, this behaviour puts on risk user's privacy, since sensitive data is somehow "shared" with their cloud hosting provider. In this master thesis we present a secure cloud backup for arbitrary data that does not leak any information to the cloud provider. Before uploading any data to the cloud server, the data is locally encrypted by the user using a key securely derived from a password. For user convenience the same password is used to derive a key to authenticate with the cloud server; although the server by no means is able to compute the decryption key from it, and thus has no access to the stored data. We have developed the cloud server, a client library in JavaScript, and an example use case using a React app
Scrypt Mining with ASICs
Cryptocurrencies have garnered a lot of attention by governments and internet
enthusiasts over the past three years. These currencies are celebrated for
their security and speedy transactions in a modern era of digital commerce.
Bitcoin was the first of these currencies to gain a large advantage over
subsequent iterations. Bitcoin was first conceived by Satoshi Nakamoto who
mentioned the concept of a cryptocurrency in his paper titled Bitcoin. It
featured new concepts such as proof of work and transactions which utilized
hash based encryption. One particular alternative cryptocurrency is known as
Litecoin. Backed by a memory intensive algorithm known as Scrypt, many
cryptocurrency enthusiasts have decided to celebrate this particular coin.
Scrypt expands on Bitcoin's proof of work algorithm by adding the amount of
work it takes to commit a transaction within the Litecoin network. Scrypt
forces more work on the device that is being used to perform the algorithm by
making frequent memory requests. This makes it difficult to create specialized
hardware to create new coins and to commit transactions due to the nature of
memory intensive applications.Comment: Published in 201
Lightweight password hashing scheme for embedded systems
Passwords constitute the main mean for authentication in computer systems. In order to maintain the user-related information at the service provider end, password hashing schemes (PHS) are utilized. The limited and old-fashioned solutions led the international cryptographic community to conduct the Password Hashing Competition (PHC). The competition will propose a small portfolio of schemes suitable for widespread usage until 2015. Embedded systems form a special application domain, utilizing devices with inherent computational limitations. Lightweight cryptography focuses in designing schemes for such devices and targets moderate levels of security. In this paper, a lightweight poly PHS suitable for lightweight cryptography is presented. At first, we design two lightweight versions of the PHC schemes Catena and PolyPassHash. Then, we integrate them and implement the proposed scheme – called LightPolyPHS. A fair comparison with similar proposals on mainstream computer is presented
Authentication Methods and Password Cracking
Na začátku tĂ©to práce porovnáváme dnes běžnÄ› pouĹľĂvanĂ© metody autentizace a takĂ© mluvĂme o historii, souÄŤasnosti a budoucnosti zabezpeÄŤenĂ hesel. PozdÄ›ji vyuĹľĂváme nástroj Hashcat k experimentĹŻm s Ăştoky hrubou silou a slovnĂkovĂ˝mi Ăştoky, kterĂ© zrychlujeme s pomocĂ MarkovovĂ˝ch modelĹŻ a pravidel pro manipulaci se slovy. Porovnáváme takĂ© dva hardwarovĂ© pĹ™Ăstupy --- běžnĂ˝ poÄŤĂtaÄŤ a cloud computing. Nakonec na základÄ› našich poznatkĹŻ práci uzavĂráme souborem doporuÄŤenĂ na prolamovánĂ hesel s dĹŻrazem na hardware, velikost datovĂ© sady a pouĹľitou hašovacĂ funkci.In the beginning of this thesis, we compare authentication methods commonly used today and dive into the history, state of the art as well as the future of password security. Later on, we use the tool Hashcat to experiment with brute-force and dictionary attacks accelerated with Markov models and word mangling rules. We also compare two hardware approaches --- regular computer and cloud computing. Based on our findings, we finally conclude with a set of password-cracking recommendations with focus on hardware, dataset size and used hash function
Why Do Developers Get Password Storage Wrong? A Qualitative Usability Study
Passwords are still a mainstay of various security systems, as well as the
cause of many usability issues. For end-users, many of these issues have been
studied extensively, highlighting problems and informing design decisions for
better policies and motivating research into alternatives. However, end-users
are not the only ones who have usability problems with passwords! Developers
who are tasked with writing the code by which passwords are stored must do so
securely. Yet history has shown that this complex task often fails due to human
error with catastrophic results. While an end-user who selects a bad password
can have dire consequences, the consequences of a developer who forgets to hash
and salt a password database can lead to far larger problems. In this paper we
present a first qualitative usability study with 20 computer science students
to discover how developers deal with password storage and to inform research
into aiding developers in the creation of secure password systems
Computationally Data-Independent Memory Hard Functions
Memory hard functions (MHFs) are an important cryptographic primitive that are used to design egalitarian proofs of work and in the construction of moderately expensive key-derivation functions resistant to brute-force attacks. Broadly speaking, MHFs can be divided into two categories: data-dependent memory hard functions (dMHFs) and data-independent memory hard functions (iMHFs). iMHFs are resistant to certain side-channel attacks as the memory access pattern induced by the honest evaluation algorithm is independent of the potentially sensitive input e.g., password. While dMHFs are potentially vulnerable to side-channel attacks (the induced memory access pattern might leak useful information to a brute-force attacker), they can achieve higher cumulative memory complexity (CMC) in comparison than an iMHF. In particular, any iMHF that can be evaluated in N steps on a sequential machine has CMC at most ?((N^2 log log N)/log N). By contrast, the dMHF scrypt achieves maximal CMC ?(N^2) - though the CMC of scrypt would be reduced to just ?(N) after a side-channel attack.
In this paper, we introduce the notion of computationally data-independent memory hard functions (ciMHFs). Intuitively, we require that memory access pattern induced by the (randomized) ciMHF evaluation algorithm appears to be independent from the standpoint of a computationally bounded eavesdropping attacker - even if the attacker selects the initial input. We then ask whether it is possible to circumvent known upper bound for iMHFs and build a ciMHF with CMC ?(N^2). Surprisingly, we answer the question in the affirmative when the ciMHF evaluation algorithm is executed on a two-tiered memory architecture (RAM/Cache).
We introduce the notion of a k-restricted dynamic graph to quantify the continuum between unrestricted dMHFs (k=n) and iMHFs (k=1). For any ? > 0 we show how to construct a k-restricted dynamic graph with k=?(N^(1-?)) that provably achieves maximum cumulative pebbling cost ?(N^2). We can use k-restricted dynamic graphs to build a ciMHF provided that cache is large enough to hold k hash outputs and the dynamic graph satisfies a certain property that we call "amenable to shuffling". In particular, we prove that the induced memory access pattern is indistinguishable to a polynomial time attacker who can monitor the locations of read/write requests to RAM, but not cache. We also show that when k=o(N^(1/log log N))then any k-restricted graph with constant indegree has cumulative pebbling cost o(N^2). Our results almost completely characterize the spectrum of k-restricted dynamic graphs
Foundations, Properties, and Security Applications of Puzzles: A Survey
Cryptographic algorithms have been used not only to create robust ciphertexts
but also to generate cryptograms that, contrary to the classic goal of
cryptography, are meant to be broken. These cryptograms, generally called
puzzles, require the use of a certain amount of resources to be solved, hence
introducing a cost that is often regarded as a time delay---though it could
involve other metrics as well, such as bandwidth. These powerful features have
made puzzles the core of many security protocols, acquiring increasing
importance in the IT security landscape. The concept of a puzzle has
subsequently been extended to other types of schemes that do not use
cryptographic functions, such as CAPTCHAs, which are used to discriminate
humans from machines. Overall, puzzles have experienced a renewed interest with
the advent of Bitcoin, which uses a CPU-intensive puzzle as proof of work. In
this paper, we provide a comprehensive study of the most important puzzle
construction schemes available in the literature, categorizing them according
to several attributes, such as resource type, verification type, and
applications. We have redefined the term puzzle by collecting and integrating
the scattered notions used in different works, to cover all the existing
applications. Moreover, we provide an overview of the possible applications,
identifying key requirements and different design approaches. Finally, we
highlight the features and limitations of each approach, providing a useful
guide for the future development of new puzzle schemes.Comment: This article has been accepted for publication in ACM Computing
Survey
- …