Hot answers tagged protocols
10
@ewanm89 is entirely correct. Securing the connection between ground control and a plane should be no different from securing any regular connection.
The main issue is that the protocol designers are relying on security by obscurity. Obscurity through the relatively unknown protocol being used. Obscurity through what used to be relatively difficult to ...
9
This is incomplete. But hopefully of some use.
http://imfreedom.org/wiki/IMessage and https://github.com/meeee/pushproxy (especially the docs section) have done some reverse engineering of apple's proprietary protocol.
Seems that every apple device has a SSL/TLS client-side cert for authentication that setup to be known to apple's push server. This is ...
9
There's no way to easily automate this in any useful way, because protocols are designed by humans. As such, they don't really follow any set pattern or rules. You're going to have to put the brain-work in yourself to dissect them.
However, there are some tricks:
Use Wireshark to separate out individual conversations and identify the high-level ...
9
I am trying to come up with a way to implement token-based authentication for a REST API without the need for SSL.
Don't!
Use SSL (well, TLS actually).
nothing that isn't public already is going over the wire
This is obviously not exact:
the user name is captured; TLS would hide user name (I am not saying it is a serious still, but it is an ...
8
I see two conceptual paths for dealing with lag attacks:
Punish lags. When an "artificial" lag is detected, evict the offender and enforce a ban period. This is hard to do in practice because there is a delicate balance to be found between people who cheat through lagging, and people who simply suffer from an occasional hiccup in their Internet connection. ...
6
This is horribly wrong. As curious guy said, never never never try to make your own authentication protocols. What is more disturbing is that you confidently say it avoids replay attacks, when it doesn't at all.
If someone with a sniffer captures Step 5, he will always manage to login, because the client is sending back the timestamp and the server trusts ...
6
You disclose enough information to allow offline brute-forcing of the password.
Let's review. The eavesdropper knows the timestamp, salt, and result of hash(hash(password + salt) + timestamp). The attacker can run hash(hash(guess + salt) + timestamp) repeatedly with different values of "guess" until the result equals the observed token. The password is ...
6
To add a bit of information on what @CodesInChaos says:
When you use ECDHE instead of DHE, you may obtain the following advantages:
Better performance. ECDHE is faster, for a given security level; @CodesInChaos points to an article which gives figures; see also this answer for why elliptic curve offer better performance.
Smaller messages. An ECDH public ...
6
It was not "retired" (or "expired"), it was "withdrawn", admittedly a minor semantic distinction. NIST have the following generality to say about that:
This page contains a list of withdrawn Special Publications (SPs) that have either been superseded by an updated SP or is no longer being supported and no updated version was released.
Since there is ...
6
I'm no pilot, or an aviation expert, but I'm going to stick my neck out on this one and call it a zero substance FUD and an attempt at using our general ignorance on avionic systems as a cheap way of advertising one's so called security expetise.
I've read through the presentation (if reading is a proper term for browsing through a few only seemingly ...
6
A man-in-the-middle attack is a simultaneous double impersonation: Charlie poses as Alice when he talks to Bob, as Bob when he talks to Alice. Since both conversations are simultaneous, Charlie can elect to pass chunks of data from Alice directly to Bob and vice-versa, adding his own parts selectively.
If Alice and Bob have a shared secret K, which Charlie ...
5
This should probably be on the crypto Stack Exchange instead of here.
Regardless, the best course of action is to not touch the symmetric block cipher yourself. There are mature, cryptographer-audited security libraries like NaCl and KeyCzar that will make the correct decisions for you.
That said, if you do choose to go it your own, a generally safe choice ...
5
Very possible. This is why a firewall alone is not total security. For instance, if you allow port 80, but do not enforce only HTTP on port 80, then the port could be used for any type of traffic (ssh, irc, etc). All you need is a server on the other side of the firewall to re-route the traffic to the expected port on another server, or process the traffic ...
5
The only difference is that with old-style SSL, it is implied that you will start SSL negotiation immediately upon connection. With STARTTLS, you go through the same process, but only after issuing/receiving a STARTTLS command. The protocols are designed to throw away any information discovered or negotiated before the connection was secured, and start over ...
5
TCP/IP is a best-effort protocol. It is very efficient at maintaining connectivity in adverse conditions (including use of nuclear weapons). It offers no guarantee of communication, but, when you come down to it, no system can (all communication systems involve using some kind of hardware, which may fail).
The problem with TCP/IP is not with TCP/IP itself, ...
5
The IP Authentication Header (AH) is used to provide connectionless
integrity and data origin authentication for IP datagrams (hereafter
referred to as just "authentication"), and to provide protection
against replays. This latter, optional service may be selected, by
the receiver, when a Security Association is established. (Although
the ...
5
One can definitely print a QR code for displaying the public key. The modulus of the RSA Key for example of 1024 bits/128 bytes can be converted to a base64 encoded string and converted to QR code which can be printed on the visiting card.
The challenged which will be faced are:
The base64 encoded data will be around 160 or greater in length; which shall ...
5
The simple answer is don't. Don't handle financial information unless absolutely necessary. Look into third-party payment processors. Supporting them is far easier than tackling the legal and technical challenges of handling sensitive information like bank account numbers. Also, by hosting this information, you are making you and your customers a target.
...
5
Bison and flex are reasonable tools to write parsers for protocols which fit in an LALR(1) grammar; but they are just tools like, e.g., a C compiler. It is still up to you not to do anything wrong with them. For that matter, bison and flex mean that you are about to implement your code with C or C++, languages which are known to be difficult to handle ...
5
CRAM-MD5 requires that the server knows the actual password, not just some image of the password by a hash function. So if the server has to support HMAC-MD5, it has to store the password in plaintext. (The server can encrypt the password, but since it also has to know the encryption key, that doesn't help.)
CRAM-MD5 was designed to avoid having the ...
4
You can
have your code audited
have your design audited
perform blackbox checks against your web service
see: http://en.wikipedia.org/wiki/Security_testing
An audit should be performed by a person that was not involved in the creation of your service and infrastructure. That may be another team or department of your company – or some external ...
4
This book is a very good resource on wireless security. This section explains the details of the four-way handshake, but you really need to read the whole chapter to understand it.
Both WPA2-PSK and WPA2-EAP result in a Pairwise Master Key (PMK) known to both the supplicant (client) and the authenticator (AP). (In PSK the PMK is derived directly from the ...
3
It is certainly possible. It sounds like he did it in a rather convoluted way though. This is by definition the point of a proxy server which would do the job far more easily. A willing client and server can establish a connection on any port number and even if you are using a content aware firewall, it is a simple enough thing to make a transposition of ...
3
Interesting theoretical question, so I'll provide a theoretical answer :).
Lets assume that East1 and West1 are compromised (they're connected to the Internet and running COTS software so not a massively unreasonable assumption).
The interface to the code running on East/West2 is the software making the serial connection and transmitting the encrypted ...
3
You cannot really test an ASN.1 parser for correction, because it is a complex piece of software and we do not know how to prove that a given piece of software is correct. What you can do is rely on a library with good repute. You might want to have a look at this question. Alternatively, reimplement it yourself; this is not very hard if you stick to a ...
3
DTLS is currently (version 1.2) defined in RFC 6347 by explaining the differences with TLS 1.2 (RFC 5246). Most of the TLS elements are reused with only the smallest differences.
The context is that the client and the server want to send each other a lot of data as "datagrams"; they really both want to send a long sequence of bytes, with a defined order, ...
3
With tongue only partly in cheek, I'm going to suggest that Xbox Live already has controls to limit the damage caused by lag switches. I'm going to channel my inner Schneier and say that where technical controls may be problematic to implement, reactive and societal controls are perfectly valid options:
Mark the player to "Avoid" - makes it unlikely ...
3
Your principles are correct, but the particulars can be a devil to set right.
Indeed, the general schema is that:
The client needs to validate the certificate from the server, i.e. verify that the certificate has been issued (signed) by a trusted CA, and that the alleged server certificate contains the name of the server.
Similarly, the server needs to ...
3
Firstly, it's not necessary to use plaintext:
Looking at the HMAC-MD5 implementation in psuedocode:
you can at least store a modified version of the password:
if (length(key) > blocksize) then
key = hash(key) // keys longer than blocksize are shortened
end if
if (length(key) < blocksize) then
key = key ∥ [0x00 * ...
2
I suspect that @Jay Looney is correct; for authoritative answers, contact the service provider. (who will report you to DHS and DMCA).
Blackhat description of attacks on HSPA includes a brief overview and architecture, that may address the portion of the question re: what parts are encrypted. This resource also includes the following sentence,
The ...
Only top voted, non community-wiki answers of a minimum length are eligible

