The SCP protocol is basically identical to the BSD rcp protocol. Unlike rcp, data is encrypted during transfer to prevent potential sniffers could extract information from the packets. However, the protocol itself provides no authentication or security, it depends on the protocol below it, SSH to do it.
SCP only implements the file transfer. He does this by connecting to the host using SSH and SCP there running a server (scp). The program of the SCP server is usually the exact same program as the SCP client.
To perform a file upload, the client provides the server files to be uploaded(you can optionally include your basic attributes, such as its access permissions). To download the file, the client sends a request for files or directories to be downloaded. When you are downloading a directory, the server provides the client with its sub-directories and files. So the download is "server-oriented", which poses a security risk when it is connected to a malicious server.