Asocial and antisocial are distinct in etymology, and you're correct that antisocial has a notion of willing to oppose society, while etymologically, asocial is merely "cut" from the society, "Avoiding social interaction" says Oxford dictionary, but this goes to the extent of being "inconsiderate of or hostile to others": the gap with antisocial is slender, maybe not just in semantics but also in the perception of these behaviours.
In order to get the full landscape, one should also consider the words "unsociable" and even "unsocial". On these plus antisocial, the Oxford dictionary writes:
There is some overlap in the use of the adjectives unsociable,
unsocial, and antisocial, but they also have distinct core meanings.
Generally speaking, unsociable means ‘not enjoying the company of
others’, as in ‘Terry was grumpy and unsociable’. Antisocial means
‘contrary to the laws and customs of a society’, as in ‘aggressive and
antisocial behaviour’. Unsocial is usually only used to describe hours
‘falling outside the normal working day’, as in ‘employees were
expected to work unsocial hours’.
http://www.oxforddictionaries.com/definition/english/unsociable#unsociable__17
Unsociable is probably to be used rather than asocial to describe a behaviour which is not judged harmful to society in itself.