Bandwidth: quick googling shows that a flight data recorder records between 64 and 256 12-bit words a second, i.e. 1-3 kbps. Browsing http://en.wikipedia.org/wiki/Bit_rate shows that another 2-8 kbps is needed for voice recording (from one microphone). Let's call it 10 kpbs all together.
Number of simultaneous connections: there are around 20,000 (ballpark) airliners in the air at the peak time each day.
Compare this to the rather old Iridium satellite network: 2400 (uplink) baud rate, 1100 calls simultaneously per satellite (of which there are 68). Not quite enough, since airplanes are not evenly distributed over the Earth or under the satellites, but not outrageously far from our requirements.
Cost: several billion dollars (under 10, I think) have been invested into building the Iridium network, and their operating expenses are around 100 million per year (they are a public company).
Clearly, it would not be unrealistically expensive, in the world of 500 million dollar airliners, to build and maintain a network of satellites to record all black-box voice and data in real time.