A lock administration system for self-powered locks, comprising: an ASP application service provider server , and at least one lock , and one key, at least one client module , a first device and a system token that are each configured to store at least some information related to the lock system; the system token being configured to store a locking system shared secret for programming keys and locks, the first device comprising holders for a key and a system token, and the at least one client module being configured to connect and control the first device , when a system token and a new key are plugged into the first device, to program of the new key utilizing the system token by setting a key shared secret for encrypting and decrypting to the new key, connect and control the first device , when the system token is plugged into the first device, to generate and encrypt lock access packets utilizing the system token and generate shared secrets for encrypting and decrypting, transmit the data packets to the ASP server using public networks, receive an encrypted status packet from the ASP server using public networks, control the decrypting of the status packet utilizing the system token and send information regarding the decrypt status packet to the ASP server using public networks; the ASP server being configured to be operationally connected to Internet , maintain a database for storing lock and key access data and store lock access packets and encrypted status packets in the database; and at least one lock configured to receive data packets from the ASP server via public networks, decrypt the data packets utilizing the system token and send an encrypted status packet to the ASP server using public networks. an ASP application service provider server , and at least one lock , and one key, at least one client module , a first device and a system token that are each configured to store at least some information related to the lock system; the system token being configured to store a locking system shared secret for programming keys and locks, the first device comprising holders for a key and a system token, and the at least one client module being configured to connect and control the first device , when a system token and a new key are plugged into the first device, to program of the new key utilizing the system token by setting a key shared secret for encrypting and decrypting to the new key, connect and control the first device , when the system token is plugged into the first device, to generate and encrypt lock access packets utilizing the system token and generate shared secrets for encrypting and decrypting, transmit the data packets to the ASP server using public networks, receive an encrypted status packet from the ASP server using public networks, control the decrypting of the status packet utilizing the system token and send information regarding the decrypt status packet to the ASP server using public networks; the ASP server being configured to be operationally connected to Internet , maintain a database for storing lock and key access data and store lock access packets and encrypted status packets in the database; and at least one lock configured to receive data packets from the ASP server via public networks, decrypt the data packets utilizing the system token and send an encrypted status packet to the ASP server using public networks. <EOS>