First, a little side note: To have in English (as in other languages such as French, Spanish, and Italian) is an auxiliary verb most commonly used for forming the simple/continuous perfect and pluperfect tenses, among others. The other mean example of an auxiliary verb is to be, which is used very similarly in other European languages. (To do is another, though rather more specific to English perhaps.)
As far as the history/origin of auxiliary verbs goes, in particular to have, I'm afraid I don't know - this is rather a specialty of a historical linguist. However, I can tell you that the use of auxiliary/compound verbs (certainly in forming various past tenses) was not apparent in Classical Latin, which utilized only word suffixes for changing verb mood and tense. Since however the use of the auxiliary to form the perfect and pluperfect tenses is present in the three main Romance languages of today (French, Spanish, Italian), this suggests that the origin most likely lies with Vulgar Latin, i.e. the vernacular tongue spoken during the late period of the Roman Empire and early Middle Ages, which evolved into the various modern Romance languages. Whether English developed this compound verb form (auxiliary + principal verb) independently via a Germanic route, I do not know, but it is quite possible that it inherited this form from Norman French.
Apologies for the bit of speculation, hopefully it provides some useful information, or perhaps at least a starting point for further research!