How can companies authenticate messages sent between different security components in the company? How can companies authenticate messages sent between different security components in the company? (say SIEM for monitoring and IDS for intrusion detection)? 

What protocols do they use in order to protect their authentication against an adversary who impersonate  to other security component in the company?
Usually point-to-point transport security is used for this. The most well known protocol is of course TLS, but there is also SSH, IPsec etc. etc. TLS works directly between two computers (although intermediate machines may of course route the IP packets from one to the other, without decrypting).

For communication between computer systems you would generally need client and server authentication. A public key infrastructure based on certificates (PKIX) makes most sense for the entity authentication part.

In addition end-to-end application level security may be used. This is simply wrapping up each message in a container such as a CMS container or XML signing and encryption. This way the message may be protected from the intended sender to the intended receiver, regardless of the protocols and hubs in between. It also has the advantage that a message can be protected before being send or being received.

There are too many protocols to name here otherwise. You'll have to look them up yourself. There is - to my knowledge - no generally accepted protocol for communicating between a SIEM and IDS.