Tag Info

Hot answers tagged

6

I'd like to implement some kind of simple (yet as strong as possible) encryption > for my client-server application network traffic. Data to be encrypted can be both textual, and binary. You're implementing a modified Vigenère cipher. That might be a problem in that any sufficiently large sequence of repetitive data (with binary zeroes being the most ...


4

SSL/TLS (the underlying protocol for HTTPS) provides two features: Encryption, so that nobody could passively listen to the data. Encryption is done using a key which is somehow shared between the peers. Identification, so that you can be sure who you are talking to. This is usually done with certificates. While you might have encryption without ...


4

I think you are worrying about the wrong thing. You should have no reason to trust the local network any more than you would for any data you'd send over the public internet. If you want to send a password, it's your responsibility to ensure you're using a connection protected by TLS. Trusting the local WiFi to protect your data is essentially excluding ...


4

You can have SSL/TLS without certificates. This is supported in the TLS standard: the "DH_anon" cipher suites involve no certificate whatsoever. But you have to remember that such an unauthenticated TLS is inherently weak against active attackers, since they cannot prevent client or server impersonation (or both at the same time, which is called a ...


4

Unless "website A" and "website B" are both subdomains of the same domain, what you want to do is impossible; if they are subdomains of the same domain, the same person or organization presumably controls both. Consequently, legality is irrelevant.


3

The best over all solution is to use a commercial payment handling service that deals with all of that for you. For that transaction volume, the danger of having card data stored on prem out weighs your need for the data. If this is a retail business, I would suggest something like square, which would essentially put the responsible handling of data in ...


3

This was just a comment... tl;dresearch: as far as I know the only threat in your scenario would *potentially* come from a cold boot attack if the attacker could freeze your phone and do nasty things to it. Full disk encryption stores the decrypted file to be accessed in volatile memory. Thus, if the power is disrupted by any means, disk is left encrypted ...


3

The number one problem with the scheme you've proposed is that you've completely ignored secure key exchange. The next problem is that the output isn't going to be anything like random as Iserni pointed out and is therefore susceptible to a number of attacks. The next problem after that is that it isn't authenticated, which can lead to ciphertext ...


3

No, most cryptographic methods that are considered secure are based around assuming every computer in the world is working on the problem non-stop and it still takes to the heat death of the universe. Sure it could be used to break less secure encryption, and in fact, using a super computer to crack such weak keys is effectively the same thing as using a ...


3

Cookies are domain-dependent. You don't decide, from the server side, which cookie you read; the browser sends the stored cookies that match the name (with domain) of the target server. If you want to share some authentication in some SSO manner, then you need both servers A and B to delegate the authentication to a common third server C. That server will ...


3

The general answer is: do some reverse-engineering on the application. This notion of "reverse-engineering" is rather large; it includes: Reading the documentation (if any) or other design notes accompanying the application. Talking with the developers who built that application (it is amazing what people will say after two or three pints). Going through ...


2

First, a comment; sometimes (read "almost always") I get a cool new toy, app, technology and I try to fit it in in every possible place. Even in places that don't work, I enjoy figuring out why. It's a learning experience. The term "Threat Model" may sound either overly theoretical, or dismissive of your case. The purpose is for the security consultant ...


2

As long as you are working with only online needs for the password for integrating with a system while the user is logged in, then you should store the passwords encrypted with both a database key as well as a derived key based on the user's password for your service. When the user submits the password for their login, you can use that to produce a password ...


2

If you need to retrieve the plaintext password at some point, then you indeed need encryption and not hashing (beware that many people call "encryption" what really is hashing). I suppose that your "business need" comes from the need to support some protocol where the server must know the plaintext password (e.g. the APOP authentication method in the POP ...


2

For "symmetric cryptographic algorithms" (symmetric encryption, MAC...), things are simple: a non-broken cryptographic algorithm is such that it uses an n-bit key, and the fastest method to find the key is trying out all possible keys until the right one is found (that is called exhaustive search or brute force). The algorithm is said "non-broken" precisely ...


2

First of all, every stored password should be hashed with a different pseudo-random salt. Second, SHA-256 is not appropriate for storing passwords; instead, you want to use a key stretching algorithm, as has already been mentioned. There is a lot more detail at Crackstation. An encrypted hash is also called a keyed hash, and the key is sometimes called a ...


2

Provided that you mean Hash first (BCrypt) and then encrypt the hash, security should not be weakened, yet you are not improving security either. Encryption is, by definition, a reversible scheme. Since there really is no use-case for which you would require the decryption in this case, encryption is the wrong tool for the job. If you are looking use a ...


1

Yes, you do need to save the IV. In CBC mode, the IV is XORed with the first block of data before encryption in order to prevent leakage of information about the plaintext, specifically whether the first block of two ciphertexts using the same key also start with the same plaintext. You are correct in your belief that you will not be able to decrypt your ...


1

Above is a packet capture of communication between my phone and Google's server(74.125.68.19). Apparently, TLS is used to protect data in transit. TLS is also used for your browser's connection to a HTTPS website so the security is comparable. If transmitted over cellular networks, there is a second layer of encryption between your phone and your ...


1

I will restrict this to only gateway to gateway VPNs - there are additional potentially higher risk considerations for client to gateway VPNs. A connection to the Internet will be via an ISP and therefore the end points of a route between two organisations will generally be known; if the ISP(s) have implemented controls that provide confidence that their ...


1

The internet is a mesh of telecommunications lines run by different companies which are leased by ISPs which use them to sent traffic from customer to customer. Any one of the ISPs or telecommunications companies can sniff the traffic that goes over their lines or network devices in ways you cannot detect. Some governments have forced (or paid) ISPs to ...


1

In spite of being possible to read/write data to SSL/TLS channels as with vanilla TCP/IP sockets, in Java or C or whatever, SSL provides you the concept of SSL session, which can be kept across several TCP/IP connections. Thus, IMHO this makes SSL a session layer protocol (I wonder why someone came up with the TLS name...).


1

Having once worked at an edu, it was our goal to make things as seamless and painless for the clients (students) of the University. As a professional, there were many things that we championed for especially when it came to security. For example, we opposed P2P network, because traffic patterns at the time pointed to students downloading music (back then ...


1

Seems to me the number was converted into hexadecimal, and then put through base64. This is only coding, no key was used, it is not encryption. To reverse it, you can do echo "73L0zaw06WGCxKQIKkiQnlvav8XyVUyeVT3qU6uWLXXbpG71J5Q8TzArk/DBR+Vw" | base64 -d | xxd to see the value in hexadecimal. Then use Python for instance to convert the hex number found into ...


1

There's two things encryption does: it makes interception of communications harder. Text sent in the clear is trivially easy to 'pick up' by anyone on the communication path you're using. If you 'have nothing to hide' then this may seem irrelevant, but bear in mind that there are plenty of unscrupulous types out there who are prepared to use personal ...



Only top voted, non community-wiki answers of a minimum length are eligible