Disagree. But apps separate transport from authentication. Thing https with basic auth. You need to do real security analysis here. There are no short answers. Sent from my iPhone > On Jun 16, 2014, at 6:59 AM, Drew Crawford <drew@xxxxxxxxxxxxxxxxxx> wrote: > > Hop-by-hop is only satisfactory in the case where you trust all nodes on the > network. This is sometimes known as the “trusted client” problem. For > example in a REQREP scenario, you trust that every XREP that is connectable > according to your TLS policy will forward your request intact and unmodified > to the desired REP and not to some attacker. In the BUS scenario, you trust > that every node will only read and write data that is appropriately addressed > to that node. And so on. > > There are certainly applications that can fit nicely in these requirements. > But I think they are primarily, if not entirely, enterprise-style messaging > applications. So this reinforces what I said earlier, that this trajectory > leads to being a great messaging framework, and not an internet > communications library. > > > Also, > >> >> It's also messaging-pattern-agnostic, > > Is only true in the sense that TLS can *technically* be used with any message > pattern. It does not mean that TLS works the same way or provides the same > security guarantees. A TLS transport provides different security guarantees > even within a protocol, in the case of REP vs XREP, for example—in the XREP > case a MITM attack is possible between REQ and REP. Using TLS securely > requires wire-level knowledge of what the protocol is doing. So for many > practical senses, TLS is decidedly *not* message-pattern agnostic. It is > only agnostic in the sense that it provides a consistent API for shooting > yourself in the foot no matter what message pattern you need to use. > > If we relax the requirements for end-to-end security to match the standard we > apply for TLS—essentially, we require TLS to provide largely arbitrary > security guarantees for every protocol—we would find that end-to-end becomes > trivial as well. This has nothing to do with end-to-end or hop-to-hop, it > has to do with whether we require a system that provides confidentiality or > MITM or replay protection or we do not. > > There are many TLS configurations that are open to all of those attack > vectors and more. But, when it comes to the end-to-end case, we insist that > problems that were “out of scope” for hop-to-hop suddenly become hard > requirements for end-to-end. > > Drew > > >> On Jun 16, 2014, at 2:32 AM, Martin Sustrik <sustrik@xxxxxxxxxx> wrote: >> >> Signed PGP part >> Hi Drew, >> >> > As long as these set of facts are true, it is time to get >> > realistic about what we are doing. This is a messaging library for >> > use on your private network. It’s not a general-purpose internet >> > communications library. By our actions, we prioritize things that >> > are useful for messaging on a private network over things are are >> > useful for internet communication. With each new plaintext >> > protocol, we increase the difficulty setting for securing nanomsg >> > as a whole. When you take the limit of the current trajectory, you >> > get a fantastic messaging library. But you don’t get a library that >> > is suitable for deployment on the naked Internet. >> >> From my point of view the matter is actually much simpler: >> >> 1. End-to-end security (whatever it is supposed mean) is a hard >> problem, may require original research and neither nanomsg, nor other >> messaging solution can really solve it today. Luckily though, its >> end-to-end nature means that the solution can be built entirely on top >> of nanomsg and thus anyone can experiment with it, propose solutions, >> package them as libraries etc. >> >> 2. Before there are viable end-to-end solutions, hop-by-hop is the way >> to address existing security requirements. This is indeed part of >> nanomsg, in form of a new transport (say, TLS-over-TCP) and is doable >> even today. It's also messaging-pattern-agnostic, so it's not even >> that hard to implement. >> >> Martin >