Put simply, you need a brushless dc motor controller. This will have to be matched to your motor.
Brushless DC motors by definition have a trapezoidal (approximately) back emf. Brushless motors with a sinusoidal back emf are usually described as brushless AC, or a PM synchronous motor. Both types have a permanent magnet rotor and are usually 3-phase.
Brushless DC drives are traditionally Hall sensor based (Hall effect semiconductors being mounted inside the motor to detect the position of the rotor), though some applications might require a shaft mounted optical encoder.
However, more simple sensorless controllers based around single chips e.g. Micro Linear, SGS Thomson, Fairchild are becoming more popular due to lower cost and improved reliability. For example see:
These are single chips usually supplied from a dc rail with outputs connected directly to the motor. For higher power motors (say, 100W plus?) the chip can be used in conjuction with a separate power module, typicially IGBT which might go to several kW and are in the standard 3-phase bridge configuration (6 power devices).
The controllers usually use PWM (pulse-width modulation) for speed control. This can however give rise to increased motor losses due to the high harmonic content of the current waveforms, so it may be desirable to control speed by varying the DC link voltage.
You can probably find more info by doing a keyword search as this topic has been covered before.