Supposing three satellites transmit signals with time stamps that are picked 
up by a receiver.  If the clocks on the satellites are closely synchronized, 
then

|AD|=|AB|+t_AB
|BD|=|BC|+t_BC
|CD|=|CA|+t_CA

Where
A,B,C=position vectors of three satellites
AB,BC,CA=distances between satellites
t_AB,t_BC,t_CA=time differences between signals at D.
D=position vector of receiver.

Once |AD|,|BD|,|CD| are found, the coordinates of D can be derived.

Is this how it is done?

summarized at
http://mypeoplepc.com/members/jon8338/math/id8.html