I'm not familiar with any software that does this automatically, but I can see that there is potential for widely varying results. Volume calculations vary significantly between different algorithms so I don't see why a surface area calculation would be any different.
Firstly, there could be variations depending on the scan parameters and resolution and things such as motion artifact. Then you would get different results based on your external contour detection algorithm. I suspect the most common algorithms would be based on either a predefined threshold or maximum differential and these would produce different sized regions.
Thereafter, as a 3D data set consists of a series of slices, the interpolation between slices will play a role in the area calculation. Perhaps the easiest method to calculate the surface area on a slice by slice basis would be to simply add up the distances between surface pixels on a slice and multiply the total by the slice thickness.
Add to that the effect of irregular body contours. I have seen surface detection do some very funny things around nasal cavities, for example. Sometimes, software will see the air within the nasal cavity as external and sometimes it won't. If it does, then that would greatly increase the surface area and it might not make sense to include this as "skin" depending on the purpose of your study. If you specifically want skin surface, then there is the additional problem of how to deal with areas where two separate parts of the body are in contact. Surface detection algorithms wouldn't correctly identify the region of contact as skin and it may be necessary to use a deformable atlas to assist with identification of such areas.
In summary, I don't think it would be a particularly simple task to accurately and reproducibly measure the skin surface based on CT or MRI data.
As Craig flagged up, there are certain limitations - especially when it come to (a) resolution and (b) objects other than the patient in the scan.
So generally, only a semi-automated approach could be chosen... I just did some quick analysis using ImageJ/Fiji using the MRI test stack that's provided (see screenshot attached).
After loading in the stack, you'd first threshold the picture - and as Craig mentioned, the nasal cavity (or anything filled with air) would show up as well. However, there are clever plugins (e.g. Binary Fill Holes or Morphology Kill Borders, etc.) that allow to account for those "air holes". Using another Plugin (Find borders) or a mathematical image operation would give you the surface outline. Finally by using the measurement tool, you'd get the surface area.
This is just a very quick approach - and definitely needs to be refined... it took me about 3min to do..
Nonetheless, as you can see in the 3D view that is included as well - the slice thickness, pixel resolution, and other objects that interfere will surely influence the accuracy.
I think you can to do this by taking a surface rendering of your CT/MR and exporting as a mesh, like STL file with imageJ/Osirix for example and then take a look at the metrics of this in a CAD programme