Christopher Fowler writes:
> I've been thinking about encryption in pppd.  By reading my emails
> you've probably have an idea of what we do with pppd.  Since I don't use
> pppd to attach a windows desktop to a Linux server I was thinking about
> maybe an implementation of Blowfish type encryption between two pppd
> processes.  There could be a command line argument that runs on
> encryption and the two processes could determine in the LCP phase that
> they are to encrypt all data between them.    This is mainly for those
> individuals who think that the phone company will tap their line and see
> their data.  Not very useful in tunnels since programs like vtun do the
> encryption for pppd.  

Not LCP, as peer identity isn't known at that time -- see the
standards-based ECP (RFC 1968) and Microsoft's ugly hacks to CCP (RFC
3078) instead.

> Is this something that might be feasible?  I'm not looking to add
> certificate based encryption like SSL but encryption like SSH, Vtun and
> others.

Before spending a lot of time on the low-level details, I'd suggest
considering what the threat model is, and what security associations
are necessary.

For feasibility, there are a few issues to consider:

  - You can't (or at least should not) just steal an option number to
    negotiate some new feature.  The risk is that someone else will
    use the same number to mean something else, and the result will be
    an unpredictable interoperability problem.  Instead, go through
    the IETF and IANA to do the proper allocation if you want to
    create a new protocol.

  - Other implementations are required to reject things they don't
    understand, so it's reasonable to assume that they will do the
    right thing with any new option.  However, it's unfortunately very
    well known that there are a pile of truly horrid implementations
    out there.  Some don't pay attention to rejects correctly.  Some
    reject things that were never offered.  Some get confused and just
    crash.  So, it's likely that you'll need some sort of option to
    enable this new behavior; it shouldn't be the default.

  - Deployment is a consideration for any new protocol.  If it's just
    for your own use, I guess you can do anything you want.  But the
    goal of IETF protocols is to produce interoperable
    implementations.  Thus, it'd be wise to study the existing
    solutions carefully to see if any can be coerced into doing what
    you need.  Only if all of the existing solutions are unacceptable
    should you try to create a new one -- and even then, you face the
    problem that everyone in the world will need to implement your new
    feature in order for the feature to be useful.  It's not a short
    path.

>  Would a windows connection croak if it dialed into my box and
> my box wanted to use encryption?  Would the windows ppp process be smart
> enough to reject that request?  Has anything like this been tried yet?

I'm not sure those questions make sense.  If your system requires
encryption, why would *you* ever accept a connection that wasn't
encrypted?  In that case, why would you care that Windows flies to
pieces when you ask it to encrypt?  That's exactly what I think you
would *want* to have it do.

-- 
James Carlson                                 <[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe linux-ppp" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to