Safety Deposit is an API for seamless encryption of itemstack metadata.
Go to file
Leslie Krause fd5e0cfa1b Build 02
- minor corrections to README.txt file.
2020-02-10 01:07:26 -05:00
sounds Build 01 2020-02-10 00:55:56 -05:00
textures Build 01 2020-02-10 00:55:56 -05:00
README.txt Build 02 2020-02-10 01:07:26 -05:00
depends.txt Build 01 2020-02-10 00:55:56 -05:00
init.lua Build 01 2020-02-10 00:55:56 -05:00

README.txt

Safety Deposit Mod v1.0
By Leslie E. Krause

Safety Deposit integrates with the Simple Cipher Mod to provide an additional layer of 
security for itemstack metadata via block-chain encryption. 

Since container inventories are sent to every connected client, it is possible to use
either client-side modding or local map-saving to examine the contents of locked chests, 
mailboxes, etc. This has the potential to expose sensitive personal information, as in the 
case of written books which are often used for communication between players.

Itemstack metadata can be be encrypted and descrypted on the fly using the following two
API functions, both of which supply the administrator username as the public key:

  * safety_deposit.encrypt_metadata( itemstack, data )
    Serializes and encrypts the data, saving the resulting ciphertext as a Base-64 encoded
    string to the itemstack meta.

  * safety_deposit.decrypt_metadata( itemstack )
    Decrypts and deserializes the itemstack meta. As a fallback, in case the string is not
    actually encrypted, it will simply be deserialized.

If someone happens to obtain a copy of the map (without the private key of the server 
owner), then it will be virtually impossible, outside of a sophisticated brute-force 
attack, to fully extract the metedata of these items once encrypted.

A digital safe can also be crafted for even higher-grade security. This container, once 
placed in world, encrypts its entire inventory, thereby thwarting any unwanted intruders. 
The only means of access is by a 4-digit PIN which only the owner (or team-members) will 
possibly know. Even the administrator cannot retrieve the access code if forgotten, so it
is very important to write the number down immediatly after engaging the lock.


Repository
----------------------

Browse source code...
  https://bitbucket.org/sorcerykid/safety_deposit

Download archive...
  https://bitbucket.org/sorcerykid/safety_deposit/get/master.zip
  https://bitbucket.org/sorcerykid/safety_deposit/get/master.tar.gz

Compatability
----------------------

Minetest 0.4.15+ required

Dependencies
----------------------

Default Mod (required)
  https://github.com/minetest/minetest_game

ActiveFormspecs Mod (required)
  https://bitbucket.org/sorcerykid/formspecs

Simple Cipher Mod (optional)
  https://bitbucket.org/sorcerykid/cipher

Installation
----------------------

  1) Unzip the archive into the mods directory of your subgame
  2) Rename the safety_deposit-master directory to "safety_deposit"
  3) Add "safety_deposit" as a dependency to any mods using the API


Source Code License
----------------------

GNU Lesser General Public License v3 (LGPL-3.0)

Copyright (c) 2020, Leslie E. Krause

This program is free software; you can redistribute it and/or modify it under the terms of
the GNU Lesser General Public License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.

http://www.gnu.org/licenses/lgpl-2.1.html


Multimedia License (textures, sounds, and models)
----------------------------------------------------------

Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)

   /sounds/safe_error.ogg
   obtained from https://notificationsounds.com/message-tones/glitch-in-the-matrix-600
   modified by sorcerykid

   /sounds/safe_entry.ogg
   obtained from https://notificationsounds.com/message-tones/your-turn-491
   modified by sorcerykid

   /sounds/safe_abort.ogg
   obtained from https://notificationsounds.com/message-tones/knob-458
   modified by sorcerykid

   /sounds/safe_open.ogg
   obtained from https://freesound.org/people/kyles/sounds/362053/
   modified by sorcereykid

   /sounds/safe_close.ogg
   obtained from https://freesound.org/people/kyles/sounds/362053/
   modified by sorcerykid

   /sounds/safe_lock.ogg
   obtained from https://freesound.org/people/kyles/sounds/362053/
   modified by sorcerykid

   /sounds/safe_unlock.ogg
   obtained from https://freesound.org/people/kyles/sounds/362053/
   modified by sorcerykid

   /textures/safe_front.png
   obtained from https://gitlab.com/VanessaE/currency/

   /textures/safe_side.png
   obtained from https://gitlab.com/VanessaE/currency/

   /textures/counter_0.png
   by sorcerykid

   /textures/counter_1.png
   by sorcerykid

   /textures/counter_3.png
   by sorcerykid

   /textures/counter_4.png
   by sorcerykid

   /textures/counter_5.png
   by sorcerykid

   /textures/counter_6.png
   by sorcerykid

   /textures/counter_7.png
   by sorcerykid

   /textures/counter_8.png
   by sorcerykid

   /textures/counter_9.png
   by sorcerykid

   /textures/counter_nil.png
   by sorcerykid

You are free to:
Share — copy and redistribute the material in any medium or format.
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.

Under the following terms:

Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.

No additional restrictions — You may not apply legal terms or technological measures that
legally restrict others from doing anything the license permits.

Notices:

You do not have to comply with the license for elements of the material in the public
domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary
for your intended use. For example, other rights such as publicity, privacy, or moral
rights may limit how you use the material.

For more details:
http://creativecommons.org/licenses/by-sa/3.0/