The definition of the opposite #-x# of a number #x# is the number that added to #x# gives #0#. This is whatever the number #x# is.
In particular #-ab# is the number that added to #ab# gives #0#.
a). Now consider #(-a)*b#, and add:
#(-a) * b + ab = ((-a) + a) * b#, by the distributive property.
But #(-a)+ a=0# by definition, so we have #0*b#, and then #0*b=0#.
So we see that #(-a) * b + ab = 0#, and then #(-a) * b =- ab#
b). Also, since #1+(-1)=0# by definition, this tells us that #1# is the opposite of #-1#, that is #1 = -(-1)#
Now, to the question itself:
#(-1) * (-1) = - (1*(-1))# because of the proof in a). And again
#(-1) * (-1) =- (1*(-1))=-(-(1*1))#. Because of the proof in b), we now have
#(-1) * (-1) =-(-1) = 1#
QED
Remark: I have assumed that we know #0*b=0#. This can also be proven