Wow!
This is a very good news!
But let think about this:
SSL, like every authentication protocol based on public key exchange, relies on client-server trust relationship. Usually it's user it requires human intererence at client's end to verify validity of server certificate, sometimes server verifies client's key based on list of trusted keys (automated), and in certain implementations both client and server are verifying keys to ensure, that they both are who they claim they are.
In encrypted site to site transfers, neither of servers is doing the neccessary check to determinate that connection really is trusted. Lack of this check makes connection vulnerable to man-in-the-middle type attacks, and thus compromises security of transfered data - making it hardly a better choise, than not using encryption at all!
Does this make encryption useless? As currently implemented (SSCN, CPSV), yes. There is no way to verify that transfer has not been caught by third party. Luckily, there is rather simple fix for the problem. New command, that defines server what public key to expect. (each public key has unique certificate thumbprint)
C = Client
S1 = Server 1
S2 = Server 2
C - S1> TKEY
S1 - C> 200 Certificate thumbprint (sha1,t,h,u,m,b,p,r,i,n,t,1)
C - S2> TKEY
S2 - C> 200 Certificate thumbprint (sha1,t,h,u,m,b,p,r,i,n,t,2)
C - S1> TKEY t,h,u,m,b,p,r,i,n,t,2
S1 - C> 200 Client thumbprint set.
C - S2> TKEY t,h,u,m,b,p,r,i,n,t,1
S2 - C> 200 Client thumbprint set.
C - S2> CPSV
S1 - C> 227 Entering Passive Mode (192,168,1,10,2,191)
C - S2> PORT 192,168,1,10,2,191
S2 - C> 200 PORT command successful....
© ioftpd forum...
What you think about this?