Protecting Web Passwords Using Trusted Execution Environments

Total Page:16

File Type:pdf, Size:1020Kb

Protecting Web Passwords Using Trusted Execution Environments SafeKeeper: Protecting Web Passwords using Trusted Execution Environments Klaudia Krawiecka Arseny Kurnikov Andrew Paverd Aalto University, Finland Aalto University, Finland Aalto University, Finland [email protected] [email protected] [email protected] Mohammad Mannan N. Asokan Concordia University, Canada Aalto University, Finland [email protected] [email protected] ABSTRACT Phishing attacks are prevalent in the wild, affecting home and Passwords are undoubtedly the most dominant user authentication business users alike (cf. APWG [2], PhishTank [35]), and increas- mechanism on the web today. Although they are inexpensive and ingly using TLS certificates from browser-trusted CAs (see e.g. [33]). easy-to-use, security concerns of password-based authentication While advanced anti-phishing solutions exist [13, 31], and will im- are serious. Phishing and theft of password databases are two crit- prove over time, they alone cannot address the password confi- ical concerns. The tendency of users to re-use passwords across dentiality problem adequately, because users may unknowingly different services exacerbates the impact of these two concerns. or inadvertently disclose passwords to malicious servers, which Current solutions addressing these concerns are not fully satisfac- can then use the collected passwords at other servers. Note that tory: they typically address only one of the two concerns; they an estimated 43–51% of users reuse passwords across different ser- do not protect passwords from rogue servers; they do not provide vices [15] (see also more recent reuse analyses [23, 25, 44]). any verifiable evidence of their (server-side) adoption to users; and Password database breaches are increasingly frequent: hundreds they face deployability challenges in terms of the cost for service of millions of passwords have been leaked in recent years (see providers and/or ease-of-use for end users. e.g. [17, 36]). Users are completely powerless against such breaches. We present SafeKeeper, a comprehensive approach to protect the Password breaches are commonly dealt with by asking users to confidentiality of passwords in web authentication systems. Unlike quickly reset their passwords, which is not very effective [24]. Ex- previous approaches, SafeKeeper protects user passwords against pecting users to select a different strong password for every site is very strong adversaries, including rogue servers and sophisticated unrealistic [32], and thus widespread password reuse makes these external phishers. It is relatively inexpensive to deploy as it (i) uses breaches problematic beyond the sites where the actual leak oc- widely available hardware security mechanisms like Intel SGX, (ii) is curred [25]. Stolen passwords can also lead to large-scale breaches integrated into popular web platforms like WordPress, and (iii) has of privacy/security sensitive data [43]. Several recent solutions small performance overhead. We describe a variety of challenges (e.g. [5, 11, 19, 30]) have been proposed to address password data- in designing and implementing such a system, and how we over- base breaches. Some of them (e.g. [5, 11, 30]) make use of hardware- come them. Through an 86-participant user study, and systematic based trusted execution environments (TEEs) on the server side, but analysis and experiments, we demonstrate the usability, security none can protect password confidentiality against rogue servers (i.e. and deployability of SafeKeeper, which is available as open-source. compromised servers, or servers belonging to malicious operators). Designing effective solutions to protect passwords against rogue servers poses multiple technical challenges in terms of security (How to hide passwords from the authenticating server itself? How to rate-limit password testing by the server?); usability (How to 1 INTRODUCTION minimize the burden on users? How to support login from diverse arXiv:1709.01261v2 [cs.CR] 23 Apr 2018 Passwords are by far the most widely used primary authentication user devices?); user-verifiability (How to notify users when the mechanism on the web. Although many alternative schemes have solution is active?); performance (How to realize this at scale?); been proposed, none has yet challenged the dominance of pass- and deployability (How to allow easy/inexpensive integration with words. In the evaluation framework of authentication mechanisms popular website frameworks?). Bonneau et al. [10] observed: “many by Bonneau et al. [10], passwords have the best overall usability, academic proposals have failed to gain traction because researchers since they are easy to understand, efficient to use, and don’t require rarely consider a sufficiently wide range of real-world constraints”. the user to carry additional devices/tokens. They also excel in terms We present SafeKeeper, a comprehensive system for protecting of deployability, since they are compatible with virtually all servers password confidentiality in web services. Unlike all previous propos- and web browsers, incur minimal cost per user, and are accessible, als, SafeKeeper defends against both phishing and password database mature, and non-proprietary. However, in terms of security, pass- theft, even in the case of rogue servers. At its core, SafeKeeper relies words are currently a comparatively poor choice. The two most on a server-side password protection service that computes a keyed critical security concerns, leading to the compromise of a large one-way function on the passwords before they are stored in the number of passwords, include: (i) phishing of passwords from users, database. This service is protected by a server-side TEE, which and (ii) password database breaches from servers. isolates the service from all other software on the server. SafeKeeper includes a novel rate-limiting mechanism to throttle online guessing 2 PRELIMINARIES attacks at a rogue server. 2.1 Storing Passwords SafeKeeper’s client-side functionality, which is implemented as a web browser addon, enables end users to detect whether a web The current best-practice for storing passwords is for the server to server is running the SafeKeeper password protection service within compute a one-way function on the password (e.g. a cryptographic a server-side TEE, and to establish a secure channel from their hash), and store only the result in the database. When the user browsers directly to it. This mechanism assures a user that it is safe logs in, the supplied password is passed through the same one-way to enter the password as it will be accessible only to the SafeKeeper function and compared to the value in the database. Although an password protection service on the server. Unlike other client-side adversary who obtains the database cannot reverse the one-way assurance approaches that rely on reliably identifying servers (e.g. function, he can guess candidate passwords and apply the same one- by checking URLs or TLS certificates), or verifying their expected way function in order to test his guesses. Since passwords are not functionality, our approach relies only on signaling users via the strong secrets (e.g. compared to cryptographic keys), this type of SafeKeeper browser addon, and thereby allowing them to correctly brute force guessing attack is often feasible. The adversary can even identify the server-side code that will process the password. As long speed up this attack using rainbow tables – pre-computed tables of as users correctly recognize SafeKeeper’s client-side signaling, and hashed passwords. If multiple users choose the same password, the enter their passwords only to SafeKeeper-enabled web servers, confi- results of the one-way function would also be the same. dentiality of their password is guaranteed, even if users mistook the To prevent the use of rainbow tables and avoid revealing dupli- identity of the server (e.g. phishing), or the server is malicious/compro- cate passwords, it is customary to use a salt – a random number mised (rogue server). As such, SafeKeeper may present a significant unique to each user that is concatenated with the password before shift in phishing avoidance and password protection. being hashed. However, since salt values are stored in the database, Our design considers deployability as a primary objective. We an adversary who obtains this database can still mount brute-force demonstrate this by developing a fully-functional implementation password guessing attacks against specific users by concatenating of SafeKeeper using Intel’s recent Software Guard Extensions (SGX), his guesses with the corresponding salt values. and integrating this with minimal software changes into PHPass, Another layer of defence is to also use a pepper [7] – a random the password hashing framework used in popular platforms like value included in every password hash but not stored in the pass- WordPress, Joomla, and Drupal, which as of April 2018 accounted word database. The pepper is usually the same for each user e.g. for over 35% of the Alexa top 10-million websites [40]. SafeKeeper’s Dropbox uses a global pepper to protect their users’ passwords [18]. client-end functionality does not depend on any additional de- Without knowing the pepper value, the adversary cannot test pass- vice/service/hardware feature, and thus can be implemented in word guesses against a stolen database. Therefore, the challenge most user devices/OSes, including smartphones. Our implementa- is to protect the pepper from an adversary (who may compromise tion is available as open-source
Recommended publications
  • Argon and Argon2
    Argon and Argon2 Designers: Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich University of Luxembourg, Luxembourg [email protected], [email protected], [email protected] https://www.cryptolux.org/index.php/Password https://github.com/khovratovich/Argon https://github.com/khovratovich/Argon2 Version 1.1 of Argon Version 1.0 of Argon2 31th January, 2015 Contents 1 Introduction 3 2 Argon 5 2.1 Specification . 5 2.1.1 Input . 5 2.1.2 SubGroups . 6 2.1.3 ShuffleSlices . 7 2.2 Recommended parameters . 8 2.3 Security claims . 8 2.4 Features . 9 2.4.1 Main features . 9 2.4.2 Server relief . 10 2.4.3 Client-independent update . 10 2.4.4 Possible future extensions . 10 2.5 Security analysis . 10 2.5.1 Avalanche properties . 10 2.5.2 Invariants . 11 2.5.3 Collision and preimage attacks . 11 2.5.4 Tradeoff attacks . 11 2.6 Design rationale . 14 2.6.1 SubGroups . 14 2.6.2 ShuffleSlices . 16 2.6.3 Permutation ...................................... 16 2.6.4 No weakness,F no patents . 16 2.7 Tweaks . 17 2.8 Efficiency analysis . 17 2.8.1 Modern x86/x64 architecture . 17 2.8.2 Older CPU . 17 2.8.3 Other architectures . 17 3 Argon2 19 3.1 Specification . 19 3.1.1 Inputs . 19 3.1.2 Operation . 20 3.1.3 Indexing . 20 3.1.4 Compression function G ................................. 21 3.2 Features . 22 3.2.1 Available features . 22 3.2.2 Server relief . 23 3.2.3 Client-independent update .
    [Show full text]
  • CASH: a Cost Asymmetric Secure Hash Algorithm for Optimal Password Protection
    CASH: A Cost Asymmetric Secure Hash Algorithm for Optimal Password Protection Jeremiah Blocki Anupam Datta Microsoft Research Carnegie Mellon University August 23, 2018 Abstract An adversary who has obtained the cryptographic hash of a user's password can mount an offline attack to crack the password by comparing this hash value with the cryptographic hashes of likely password guesses. This offline attacker is limited only by the resources he is willing to invest to crack the password. Key-stretching techniques like hash iteration and memory hard functions have been proposed to mitigate the threat of offline attacks by making each password guess more expensive for the adversary to verify. However, these techniques also increase costs for a legitimate authentication server. We introduce a novel Stackelberg game model which captures the essential elements of this interaction between a defender and an offline attacker. In the game the defender first commits to a key-stretching mechanism, and the offline attacker responds in a manner that optimizes his utility (expected reward minus expected guessing costs). We then introduce Cost Asymmetric Secure Hash (CASH), a randomized key-stretching mechanism that minimizes the fraction of passwords that would be cracked by a rational offline attacker without increasing amortized authentication costs for the legitimate authentication server. CASH is motivated by the observation that the legitimate authentication server will typically run the authentication procedure to verify a correct password, while an offline adversary will typically use incorrect password guesses. By using randomization we can ensure that the amortized cost of running CASH to verify a correct password guess is significantly smaller than the cost of rejecting an incorrect password.
    [Show full text]
  • Rifflescrambler – a Memory-Hard Password Storing Function ⋆
    RiffleScrambler – a memory-hard password storing function ? Karol Gotfryd1, Paweł Lorek2, and Filip Zagórski1;3 1 Wrocław University of Science and Technology Faculty of Fundamental Problems of Technology Department of Computer Science 2 Wrocław University Faculty of Mathematics and Computer Science Mathematical Institute 3 Oktawave Abstract. We introduce RiffleScrambler: a new family of directed acyclic graphs and a corresponding data-independent memory hard function with password independent memory access. We prove its memory hard- ness in the random oracle model. RiffleScrambler is similar to Catena – updates of hashes are determined by a graph (bit-reversal or double-butterfly graph in Catena). The ad- vantage of the RiffleScrambler over Catena is that the underlying graphs are not predefined but are generated per salt, as in Balloon Hashing. Such an approach leads to higher immunity against practical parallel at- tacks. RiffleScrambler offers better efficiency than Balloon Hashing since the in-degree of the underlying graph is equal to 3 (and is much smaller than in Ballon Hashing). At the same time, because the underlying graph is an instance of a Superconcentrator, our construction achieves the same time-memory trade-offs. Keywords: Memory hardness, password storing, Markov chains, mixing time. 1 Introduction In early days of computers’ era passwords were stored in plaintext in the form of pairs (user; password). Back in 1960s it was observed, that it is not secure. It took around a decade to incorporate a more secure way of storing users’ passwords – via a DES-based function crypt, as (user; fk(password)) for a se- cret key k or as (user; f(password)) for a one-way function.
    [Show full text]
  • Hash Functions
    11 Hash Functions Suppose you share a huge le with a friend, but you are not sure whether you both have the same version of the le. You could send your version of the le to your friend and they could compare to their version. Is there any way to check that involves less communication than this? Let’s call your version of the le x (a string) and your friend’s version y. The goal is to determine whether x = y. A natural approach is to agree on some deterministic function H, compute H¹xº, and send it to your friend. Your friend can compute H¹yº and, since H is deterministic, compare the result to your H¹xº. In order for this method to be fool-proof, we need H to have the property that dierent inputs always map to dierent outputs — in other words, H must be injective (1-to-1). Unfortunately, if H is injective and H : f0; 1gin ! f0; 1gout is injective, then out > in. This means that sending H¹xº is no better/shorter than sending x itself! Let us call a pair ¹x;yº a collision in H if x , y and H¹xº = H¹yº. An injective function has no collisions. One common theme in cryptography is that you don’t always need something to be impossible; it’s often enough for that thing to be just highly unlikely. Instead of saying that H should have no collisions, what if we just say that collisions should be hard (for polynomial-time algorithms) to nd? An H with this property will probably be good enough for anything we care about.
    [Show full text]
  • Cs 255 (Introduction to Cryptography)
    CS 255 (INTRODUCTION TO CRYPTOGRAPHY) DAVID WU Abstract. Notes taken in Professor Boneh’s Introduction to Cryptography course (CS 255) in Winter, 2012. There may be errors! Be warned! Contents 1. 1/11: Introduction and Stream Ciphers 2 1.1. Introduction 2 1.2. History of Cryptography 3 1.3. Stream Ciphers 4 1.4. Pseudorandom Generators (PRGs) 5 1.5. Attacks on Stream Ciphers and OTP 6 1.6. Stream Ciphers in Practice 6 2. 1/18: PRGs and Semantic Security 7 2.1. Secure PRGs 7 2.2. Semantic Security 8 2.3. Generating Random Bits in Practice 9 2.4. Block Ciphers 9 3. 1/23: Block Ciphers 9 3.1. Pseudorandom Functions (PRF) 9 3.2. Data Encryption Standard (DES) 10 3.3. Advanced Encryption Standard (AES) 12 3.4. Exhaustive Search Attacks 12 3.5. More Attacks on Block Ciphers 13 3.6. Block Cipher Modes of Operation 13 4. 1/25: Message Integrity 15 4.1. Message Integrity 15 5. 1/27: Proofs in Cryptography 17 5.1. Time/Space Tradeoff 17 5.2. Proofs in Cryptography 17 6. 1/30: MAC Functions 18 6.1. Message Integrity 18 6.2. MAC Padding 18 6.3. Parallel MAC (PMAC) 19 6.4. One-time MAC 20 6.5. Collision Resistance 21 7. 2/1: Collision Resistance 21 7.1. Collision Resistant Hash Functions 21 7.2. Construction of Collision Resistant Hash Functions 22 7.3. Provably Secure Compression Functions 23 8. 2/6: HMAC And Timing Attacks 23 8.1. HMAC 23 8.2.
    [Show full text]
  • Sketch of Lecture 34 Mon, 4/16/2018
    Sketch of Lecture 34 Mon, 4/16/2018 Passwords Let's say you design a system that users access using personal passwords. Somehow, you need to store the password information. The worst thing you can do is to actually store the passwords m. This is an absolutely atrocious choice, even if you take severe measures to protect (e.g. encrypt) the collection of passwords. Comment. Sadly, there is still systems out there doing that. An indication of this happening is systems that require you to update passwords and then complain that your new password is too close to the original one. Any reasonably designed system should never learn about your actual password in the rst place! Better, but still terrible, is to instead store hashes H(m) of the passwords m. Good. An attacker getting hold of the password le, only learns about the hash of a user's password. Assuming the hash function is one-way, it is infeasible for the attacker to determine the corresponding password (if the password was random!!). Still bad. However, passwords are (usually) not random. Hence, an attacker can go through a list of common passwords (dictionary attack), compute the hashes and compare with the hashes of users (similarly, a brute-force attack can simply go through all possible passwords). Even worse, it is immediately obvious if two users are using the same password (or, if the same user is using the same password for dierent services using the same hash function). Comment. So, storing password hashes is not OK unless all passwords are completely random.
    [Show full text]
  • A Survey of Password Attacks and Safe Hashing Algorithms
    International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 04 Issue: 12 | Dec-2017 www.irjet.net p-ISSN: 2395-0072 A Survey of Password Attacks and Safe Hashing Algorithms Tejaswini Bhorkar Student, Dept. of Computer Science and Engineering, RGCER, Nagpur, Maharashtra, India ---------------------------------------------------------------------***--------------------------------------------------------------------- Abstract - To authenticate users, most web services use pair of message that would generate the same hash as that of the username and password. When a user wish to login to a web first message. Thus, the hash function should be resistant to application of the service, he/she sends their user name and second-pre-image. password to the web server, which checks if the given username already exist in the database and that the password is identical to 1.2 Hashing Algorithms the password set by that user. This last step of verifying the password of the user can be performed in different ways. The user Different hash algorithms are used in order to generate hash password may be directly stored in the database or the hash value values. Some commonly used hash functions include the of the password may be stored. This survey will include the study following: of password hashing. It will also include the need of password hashing, algorithms used for password hashing along with the attacks possible on the same. • MD5 • SHA-1 Key Words: Password, Hashing, Algorithms, bcrypt, scrypt, • SHA-2 attacks, SHA-1 • SHA-3 1.INTRODUCTION MD5: Web servers store the username and password of its users to authenticate its users. If the web servers store the passwords of This algorithm takes data of arbitrary length and produces its users directly in the database, then in such case, password message digest of 128 bits (i.e.
    [Show full text]
  • Client-CASH: Protecting Master Passwords Against Offline Attacks Jeremiah Blocki, Anirudh Sridhar Motivation: Password Storage
    Client-CASH: Protecting Master Passwords against Offline Attacks Jeremiah Blocki, Anirudh Sridhar Motivation: Password Storage asridhar, 123456 Username Salt Hash 85e23cfe002 asridhar 89d978034a3f 1f584e3db87 6 aa72630a9a2 345c062 SHA1(12345689d978034a3f6) =85e23cfe0021f584e3db87aa + 72630a9a2345c062 2 Offline Attacks: A Common Problem • Password breaches at major companies have affected millions of users. No key stretching? Dictionary of 1000 words Password of 4 words: Horse battery staple 1012 possibilities correct 3.5 x 1011 hashes/second ~ 3 seconds to crack Key Stretching Hash Function Cost: C H Hk … Memory Hard Functions Hash Iteration A Fundamental Tradeoff Increased Costs for Honest Party A Fundamental Tradeoff Is the extra effort worth it? A Fundamental Tradeoff Can I tip the scales? A Key Observation password 12345 letmein abc123 …. …… password unbreakable unbr3akabl3 Most …. …… guesses are wrong unbr3akabl3 A Key Observation unbr3akabl3 unbr3akabl3 unbr3@k@bl3 …. password 12345 unbr3akabl3 letmein abc123 …. …… password unbreakable unbr3akabl3 …. …… Most guesses are correct unbr3akabl3 A Key Observation unbr3akabl3 unbr3akabl3 unbr3akabl3 …. password 12345 unbr3akabl3 letmein abc123 …. …… password unbreakable unbr3akabl3 …. …… Goal Asymmetry: COST < COST Pepper [M96],[BD16] Pepper: t asridhar, 123456 Username Salt Hash asridhar 89d978034a3f 85e23cfe002 1f584e3db87 aa72630a9a2 345c062 SHA1(12345689d978034a3f6)=85e23cfe 0021f584e3db87aa72630a9a2345c062 Pepper [Manber96],[BD16] asridhar, 123456 Pepper: t Username Salt Hash asridhar
    [Show full text]
  • Using Improved D-HMAC for Password Storage
    Computer and Information Science; Vol. 10, No. 3; 2017 ISSN 1913-8989 E-ISSN 1913-8997 Published by Canadian Center of Science and Education Using Improved d-HMAC for Password Storage Mohannad Najjar1 1 University of Tabuk, Tabuk, Saudi Arabia Correspondence: Mohannad Najjar, University of Tabuk, Tabuk, Saudi Arabia. E-mail: [email protected] Received: May 3, 2017 Accepted: May 22, 2017 Online Published: July 10, 2017 doi:10.5539/cis.v10n3p1 URL: http://doi.org/10.5539/cis.v10n3p1 Abstract Password storage is one of the most important cryptographic topics through the time. Different systems use distinct ways of password storage. In this paper, we developed a new algorithm of password storage using dynamic Key-Hashed Message Authentication Code function (d-HMAC). The developed improved algorithm is resistant to the dictionary attack and brute-force attack, as well as to the rainbow table attack. This objective is achieved by using dynamic values of dynamic inner padding d-ipad, dynamic outer padding d-opad and user’s public key as a seed. Keywords: d-HMAC, MAC, Password storage, HMAC 1. Introduction Information systems in all kinds of organizations have to be aligned with the information security policy of these organizations. The most important components of such policy in security management is access control and password management. In this paper, we will focus on the password management component and mostly on the way of such passwords are stored in these information systems. Password is the oldest and still the primary access control technique used in information systems. Therefore, we understand that to have an access to an information system or a part of this system the authorized user hast to authenticate himself to such system by using an ID (username) and a password Hence, password storage is a vital component of the Password Access Control System.
    [Show full text]
  • Privacyidea Documentation Release 2.3
    privacyIDEA Documentation Release 2.3 Cornelius Kölbel June 23, 2015 Contents 1 Table of Contents 3 1.1 Overview.................................................3 1.2 Installation................................................3 1.3 First Steps................................................ 12 1.4 Configuration............................................... 17 1.5 Tokenview................................................ 47 1.6 Userview................................................. 52 1.7 Policies.................................................. 56 1.8 Audit................................................... 72 1.9 Client machines............................................. 72 1.10 Application Plugins........................................... 75 1.11 Tools................................................... 79 1.12 Import.................................................. 80 1.13 Code Documentation........................................... 82 1.14 Frequently Asked Questions....................................... 173 2 Indices and tables 175 HTTP Routing Table 177 Python Module Index 179 i ii privacyIDEA Documentation, Release 2.3 privacyIDEA is a modular authentication system. Using privacyIDEA you can enhance your existing applications like local login, VPN, remote access, SSH connections, access to web sites or web portals with a second factor during authentication. Thus boosting the security of your existing applications. Originally it was used for OTP authentication devices. But other “devices” like challenge response and SSH
    [Show full text]
  • Cryptacus Newsletter
    SEPTEMBER 2016, NO 1 Cryptacus Newsletter First Cryptacus.eu Newsletter Welcome to this first edition of the monthly Crypta- cus Newsletter, bringing you a quick glimpse into the latest developments in the IoT cryptanalysis area. There are not a lot of contributors to this first edition of the newsletter, for obvious reasons, but we’d love you to send us your contributions for in- coming issues, comments and feedback to [email protected] News from the Chair Castro accepted to be the editor of This month we recommend to by GILDAS AVOINE this newsletter. Thanks, Julio! I hope read the paper Lock It and Still Lose you will keep this newsletter excit- It - On the (In)Security of Automo- ing by regularly sending your news to tive Remote Keyless Entry Systems, Julio. published in the 25th USENIX Se- During Haifa’s meeting, we also curity Symposium (USENIX Security discussed the third grand period. 2016). Cryptacus encountered several diffi- This brilliant piece of work, by culties to launch the third grant pe- our colleague and WG4 leader riod, but this issue should be fixed Flavio Garcia (with David Os- soon. Note that the scientific commit- wald, Timo Kasper and Pierre tee, chaired by Bart Preneel, will pro- Pavlidès) which you can enjoy at pose in the coming days the location http://goo.gl/nkeDB5, has been all Cryptacus’ Management Committee of the next meeting. Right after, the over the news recently, being covered Meeting organised in Haifa, Israel, MC will vote on the grant agreement, at news sites such as The Guardian, was really interesting and useful which is a mandatory step before the Daiy Mail, WIRED, The Register, Busi- (Thanks, Orr!) for the current and next period starts.
    [Show full text]
  • Providing Confidentiality, Data Integrity and Authentication of Transmitted Information
    VOL. 14, NO. 1, JANUARY 2019 ISSN 1819-6608 ARPN Journal of Engineering and Applied Sciences ©2006-2019 Asian Research Publishing Network (ARPN). All rights reserved. www.arpnjournals.com PROVIDING CONFIDENTIALITY, DATA INTEGRITY AND AUTHENTICATION OF TRANSMITTED INFORMATION Saleh Suleman Saraireh Al - Hussien Bin Talal University, Maan, Jordan E-Mail: [email protected] ABSTRACT Transmission of secret information through non - secure communication channels is subjected to many security threats and attacks. The secret information could be government documents, exam questions, patient information, hospital information and laboratory medical reports. Therefore it is essential to use a strong and robust security technique to ensure the security of such information. This requires the implementation of strong technique to satisfy different security services. In this paper different security algorithms are combined together to ensure confidentiality, authentication and data integrity. The proposed approach involves the combination between symmetric key encryption algorithm, hashing algorithm and watermarking. So, before the transmission of secret information it should be encrypted using the advanced encryption standard (AES), hashed using secure hash algorithm 3 (SHA3) and then embedded over an image using discrete wavelet transform (DWT), discrete cosine transforms (DCT) and singular value decompositions (SVD) watermarking technique. The security performance of the proposed approach is examined through different security metrics, namely, peak signal - to - noise ratio (PSNR) and normalized correlation coefficient (NC); the obtained results reflect the robustness and the resistance of the proposed approach to different attacks. Keywords: cryptography, watermarking, hashing, authentication, confidentiality. 1. INTRODUCTION algorithm, the embedded information can be visible or Nowadays the amount of exchanged data has invisible.
    [Show full text]