A timing channel is one example of a covert channel for passing unauthorized information, in which one process signals information to another process by modulating its own use of system resources (e.g., central processing unit time) in such a way that this manipulation affects the real response time observed by the second process.
The timing channel passes information by using the speed at which things happen. Actually, timing channels are shared resource channels in which the shared resource is time.
A service program uses timing channel to communicate by using or not using an assigned amount of computing time. In the simple case, a multi-programmed system with two processes divides time into blocks and allocates blocks of processing alternately to one process and the other.
Suppose (BETTER EXAMPLE) there is a military base that has two people working at different security levels. The only way for both of them to communicate outside of the base is through 1 computer separate from their own that is called the transmitter computer and is very simple. It asks one computer for the data they want to send and then processes that if it was a 0 or 1. Then goes to the next computer and so on. The two people must transmit binary and do so continuously. If they want to send a 0, the transmitter computer immediately goes to the next computer for data. If they want to send a 1, the transmitter computer spends a very small amount of time sending the 1, then goes to the next computer. If there is computer A operated by someone at a very high security clearance and computer B operating at a lower security clearance, there is a chance computer B can read what computer A is sending. If B were to constantly send 0 forever, it can tell what A sends by keeping track of time. If there was a delay equal to the time it takes to transmit 1 before B is allowed to send, it knows A sent a 1. If not, it knows A sent a 0.