Secure File Transfer

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Glauco

    Secure File Transfer

    hi to all,
    i'm planning to make a way to transfer file with python.
    I would like to make the transfer using some crypto api,
    to make the channel secure.
    i don't want to write a wrapper to ftp or to scp i just
    want to make a new protocol, for a little application.

    i took a quick look to some cryptographic modules available
    in python (expecially pycrypto, gnupginterface, m2crypto)
    and i'm now stuck on which one of these to choose.

    Here's what i have in my mind: Alice wants to upload/download
    some files from Bob.
    Both of them have the public key (made with gpg), so in the
    handshaking for the shared key is done using gpg.

    After that the shared key is know to both the end of the channel
    and they can use it to send the data.

    i don't know what protocol (AES 3DES Blowfish? ) to use for the
    transfer and i don't know if it could be better to implement
    it directly with DSA/RSA rather than using GPG + somesymmetricpr otocol

    any suggestion hints example ?
    Someone tried something like that ?

    i'm using SocketServer for the network stuff so i would like to find
    something wich can better suit with it


    Many thanks for all the suggestion you can give me .


    Samuele

  • Lucas Raab

    #2
    Re: Secure File Transfer


    "Glauco" <00515879256@fa stwebnet.it> wrote in message
    news:KKYzc.4038 5$G%.38095@torn ado.fastwebnet. it...[color=blue]
    > hi to all,
    > i'm planning to make a way to transfer file with python.
    > I would like to make the transfer using some crypto api,
    > to make the channel secure.
    > i don't want to write a wrapper to ftp or to scp i just
    > want to make a new protocol, for a little application.
    >
    > i took a quick look to some cryptographic modules available
    > in python (expecially pycrypto, gnupginterface, m2crypto)
    > and i'm now stuck on which one of these to choose.
    >
    > Here's what i have in my mind: Alice wants to upload/download
    > some files from Bob.
    > Both of them have the public key (made with gpg), so in the
    > handshaking for the shared key is done using gpg.
    >
    > After that the shared key is know to both the end of the channel
    > and they can use it to send the data.
    >
    > i don't know what protocol (AES 3DES Blowfish? ) to use for the
    > transfer and i don't know if it could be better to implement
    > it directly with DSA/RSA rather than using GPG + somesymmetricpr otocol
    >
    > any suggestion hints example ?
    > Someone tried something like that ?
    >
    > i'm using SocketServer for the network stuff so i would like to find
    > something wich can better suit with it
    >
    >
    > Many thanks for all the suggestion you can give me .
    >
    >
    > Samuele
    >[/color]

    You could try PyOpenSSL for encryption over networks or the internet. See
    http://pyopenssl.sourceforge.net/.


    Comment

    • Lonnie Princehouse

      #3
      Re: Secure File Transfer

      Check out twisted.conch (www.twistedmatrix.com)

      Even if you're determined to reinvent a wheel (I understand, it's fun
      sometimes), you might find twisted more useful than SocketServer.



      Glauco <00515879256@fa stwebnet.it> wrote in message news:<KKYzc.403 85$G%.38095@tor nado.fastwebnet .it>...[color=blue]
      > hi to all,
      > i'm planning to make a way to transfer file with python.
      > I would like to make the transfer using some crypto api,
      > to make the channel secure.
      > i don't want to write a wrapper to ftp or to scp i just
      > want to make a new protocol, for a little application.
      >
      > i took a quick look to some cryptographic modules available
      > in python (expecially pycrypto, gnupginterface, m2crypto)
      > and i'm now stuck on which one of these to choose.
      >
      > Here's what i have in my mind: Alice wants to upload/download
      > some files from Bob.
      > Both of them have the public key (made with gpg), so in the
      > handshaking for the shared key is done using gpg.
      >
      > After that the shared key is know to both the end of the channel
      > and they can use it to send the data.
      >
      > i don't know what protocol (AES 3DES Blowfish? ) to use for the
      > transfer and i don't know if it could be better to implement
      > it directly with DSA/RSA rather than using GPG + somesymmetricpr otocol
      >
      > any suggestion hints example ?
      > Someone tried something like that ?
      >
      > i'm using SocketServer for the network stuff so i would like to find
      > something wich can better suit with it
      >
      >
      > Many thanks for all the suggestion you can give me .
      >
      >
      > Samuele[/color]

      Comment

      • Ng Pheng Siong

        #4
        Re: Secure File Transfer

        According to Lonnie Princehouse <fnord@u.washin gton.edu>:[color=blue]
        > Check out twisted.conch (www.twistedmatrix.com)
        >
        > Even if you're determined to reinvent a wheel (I understand, it's fun
        > sometimes), you might find twisted more useful than SocketServer.[/color]

        I suggest OP to write an FTP/TLS client and server for Twisted. Afterwards
        we can compare that with my asyncore-based ones that is bundled with
        M2Crypto.

        I've been meaning to do this myself in my copious spare time.


        --
        Ng Pheng Siong <ngps@netmemeti c.com>

        http://firewall.rulemaker.net -+- Firewall Version Control
        http://sandbox.rulemaker.net/ngps -+- ZServerSSL/Zope Windows Installers

        Comment

        • Samuele Giovanni Tonon

          #5
          Re: Secure File Transfer

          hi,
          glauco forwarded the message to the newsgroup due to some problem
          to my network access, but now it seems i'm able, so i'm replying by
          myself :-).

          On 2004-06-16, Lonnie Princehouse <fnord@u.washin gton.edu> wrote:[color=blue]
          > Check out twisted.conch (www.twistedmatrix.com)[/color]
          ops i almost forgot it, thanks ![color=blue]
          >
          > Even if you're determined to reinvent a wheel (I understand, it's fun
          > sometimes), you might find twisted more useful than SocketServer.[/color]
          Well i'd like to reinvent the wheel for these reasons:

          - i'd like to better understand all the cryptographic protocol
          and which one best fit on python and for my application

          - i have some kind of fear and loathing againts SSL (mostly because
          of openssl command line) and i think it has too much feature for
          me ( i only need some cryptography based on "ring of trust" rather
          than CA )


          Basycally the program i'd like to make is a secure file transfer, but it
          implements also the server, i'd like to make something easy to use , secure,
          to make available for people on different O.S. on untrusted network to
          exchange data (with resume support).
          In this way i'd like to think to something which best fit my requirements
          (fast handshaking, without user authentication, based on the trust
          that someone has of the public key of the connecting host) .
          I have some knowledge of cryptographic protocol, however i'd like to know
          which one you would suggest me to use (and from what modules) .

          Regards
          Samuele

          --
          Samuele Giovanni Tonon <tonon@students .cs.unibo.it>
          5% fats, 2% cerebral activities

          Comment

          • Matteo Dell'Amico

            #6
            Re: Secure File Transfer

            Samuele Giovanni Tonon wrote:[color=blue]
            > Well i'd like to reinvent the wheel for these reasons:
            >
            > - i'd like to better understand all the cryptographic protocol
            > and which one best fit on python and for my application[/color]

            If you reinvent the wheel for didactical reasons, that's ok. But I
            wouldn't trust that application for real use: a well-known application
            is so much more tested...

            --
            Ciao,
            Matteo

            Comment

            Working...