aboutsummaryrefslogtreecommitdiff
path: root/draft-schanzen-gns.txt
diff options
context:
space:
mode:
Diffstat (limited to 'draft-schanzen-gns.txt')
-rw-r--r--draft-schanzen-gns.txt274
1 files changed, 165 insertions, 109 deletions
diff --git a/draft-schanzen-gns.txt b/draft-schanzen-gns.txt
index dbfbae6..16330d4 100644
--- a/draft-schanzen-gns.txt
+++ b/draft-schanzen-gns.txt
@@ -75,13 +75,13 @@ Table of Contents
75 5. Internationalization and Character Encoding . . . . . . . . . 13 75 5. Internationalization and Character Encoding . . . . . . . . . 13
76 6. Record Resolution . . . . . . . . . . . . . . . . . . . . . . 13 76 6. Record Resolution . . . . . . . . . . . . . . . . . . . . . . 13
77 6.1. Entry Zone . . . . . . . . . . . . . . . . . . . . . . . 14 77 6.1. Entry Zone . . . . . . . . . . . . . . . . . . . . . . . 14
78 6.2. Recursive Resolution . . . . . . . . . . . . . . . . . . 14 78 6.2. Recursive Resolution . . . . . . . . . . . . . . . . . . 15
79 7. Namespace Revocation . . . . . . . . . . . . . . . . . . . . 14 79 7. Namespace Revocation . . . . . . . . . . . . . . . . . . . . 15
80 8. Security Considerations . . . . . . . . . . . . . . . . . . . 14 80 8. Security Considerations . . . . . . . . . . . . . . . . . . . 15
81 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 81 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
82 10. Test Vectors . . . . . . . . . . . . . . . . . . . . . . . . 14 82 10. Test Vectors . . . . . . . . . . . . . . . . . . . . . . . . 15
83 11. Normative References . . . . . . . . . . . . . . . . . . . . 16 83 11. Normative References . . . . . . . . . . . . . . . . . . . . 17
84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18
85 85
861. Introduction 861. Introduction
87 87
@@ -732,13 +732,68 @@ Internet-Draft The GNU Name System July 2019
732 732
7336.1. Entry Zone 7336.1. Entry Zone
734 734
735 There are three sources from which the entry zone can be determined: 735 There are three sources from which the entry zone can be determined
736 which MUST be queried in this order:
736 737
737 * Local zone store 738 1. Check if top-level domain maps to a local zone key.
738 739
739 * External prefix to zone key mappings 740 2. Check if top-level domain maps to a local zone name.
740 741
741 * Zone key TLD 742 3. Check if a configuration exists that maps a prefix to an external
743 zone key.
744
745 If the TLD is a Base32-encoded public zone key "zk", the entry zone
746 of the resolution process is implicitly given by the name.
747
748 Example name: www.example.<Base32(zk)>
749 => Entry zone: zk
750 => Name to resolve from entry zone: www.example
751
752 Each local zone is associated with a single GNS label. If this label
753 is the top-level domain (TLD) of the name to resolve, resolution MUST
754 start from this local zone.
755
756 Example name: www.example.gnu
757 Local zones:
758 fr = (d0,zk0)
759 gnu = (d1,zk1)
760 com = (d2,zk2)
761 ...
762 => Entry zone: zk1
763 => Name to resolve from entry zone: www.example
764
765 If no matching local zone for the TLD is found, external prefix to
766 zone mappings are checked. External prefix to zone key mapping
767 SHOULD be configurable through the GNS implementation. A mapping has
768 the form "prefix = public zone key". The prefix may consist of
769 multiple GNS labels concatenated with a ".". If multiple prefixes
770 match the name to resolve, the longest prefix is chosen. The prefix
771 length of two results cannot be equal, as this would indicate a
772 misconfiguration.
773
774
775
776
777
778
779
780
781
782
783
784Schanzenbach, et al. Expires 24 January 2020 [Page 14]
785
786Internet-Draft The GNU Name System July 2019
787
788
789 Example name: www.example.gnu
790 Local prefix mappings:
791 gnu = zk0
792 example.gnu = zk1
793 example.com = zk2
794 ...
795 => Entry zone: zk1
796 => Name to resolve from entry zone: www
742 797
7436.2. Recursive Resolution 7986.2. Recursive Resolution
744 799
@@ -759,118 +814,118 @@ Internet-Draft The GNU Name System July 2019
759 The following represents a test vector for a record of type MX with a 814 The following represents a test vector for a record of type MX with a
760 priority of 10 and the mail hostname mail.example.com. 815 priority of 10 and the mail hostname mail.example.com.
761 816
762 label := "mail" 817 label := "mail"
763 818
764 d := 819 d :=
765 71199f7b287cc77a 820 71199f7b287cc77a
766 0d21b5e40a77cb1d 821 0d21b5e40a77cb1d
767 f89333903b284fe8 822 f89333903b284fe8
768 1878bf47f3b39da0 823 1878bf47f3b39da0
769 824
770 zk (public zone key) := 825 zk (public zone key) :=
771 dff911496d025d7e 826 dff911496d025d7e
772 0885c03d19153e99 827 0885c03d19153e99
773 4f213f23ea719eca 828 4f213f23ea719eca
774 17fc32dc410e082e 829 17fc32dc410e082e
775 830
776 h := 831 h :=
777 2af3275a9cf90e54 832 2af3275a9cf90e54
778 f2dbf7930be76fb9 833 f2dbf7930be76fb9
779 5e7c80b1416f8ca6 834 5e7c80b1416f8ca6
780 dc50ce8e1fb759b9 835 dc50ce8e1fb759b9
836 fedcdcf546c17e9b
781 837
782 838
783 839
784Schanzenbach, et al. Expires 24 January 2020 [Page 14] 840Schanzenbach, et al. Expires 24 January 2020 [Page 15]
785 841
786Internet-Draft The GNU Name System July 2019 842Internet-Draft The GNU Name System July 2019
787 843
788 844
789 fedcdcf546c17e9b 845 4c4f23632855c053
790 4c4f23632855c053 846 6668e9f684f4dc33
791 6668e9f684f4dc33 847 6d656b27392b0fee
792 6d656b27392b0fee 848
793 849 d_h :=
794 d_h := 850 01fb61f482c17633
795 01fb61f482c17633 851 77611c4c2509e0f3
796 77611c4c2509e0f3 852 81b0e7e4405c10bd
797 81b0e7e4405c10bd 853 0017c802f7d32e18
798 0017c802f7d32e18 854
799 855 q (query key) :=
800 q (query key) := 856 6fce4deddc5ad681
801 6fce4deddc5ad681 857 f4e29a3310767e3b
802 f4e29a3310767e3b 858 8b38bc1b276ce2ba
803 8b38bc1b276ce2ba 859 9bf1b49df1e120a3
804 9bf1b49df1e120a3 860 20ecc9dffb68416f
805 20ecc9dffb68416f 861 11729ad878ad3bdf
806 11729ad878ad3bdf 862 d0b4db2626b620d7
807 d0b4db2626b620d7 863 8e0604e4393c66a3
808 8e0604e4393c66a3 864
809 865 AES_KEY :=
810 AES_KEY := 866 afefd21a087a150d
811 afefd21a087a150d 867 6757741a4eda02a5
812 6757741a4eda02a5 868 65df7ca86ba44b21
813 65df7ca86ba44b21 869 3f8106c0071eaf01
814 3f8106c0071eaf01 870
815 871 AES_IV :=
816 AES_IV := 872 a808b929bc9fad7a
817 a808b929bc9fad7a 873 686bbe3432bed77a
818 686bbe3432bed77a 874
819 875 TWOFISH_KEY :=
820 TWOFISH_KEY := 876 c9d0089df01d0bf4
821 c9d0089df01d0bf4 877 e4c8db4b2ccc7328
822 e4c8db4b2ccc7328 878 3425e8a811ae59d2
823 3425e8a811ae59d2 879 99e2747285d2a479
824 99e2747285d2a479 880
825 881 TWOFISH_IV :=
826 TWOFISH_IV := 882 071be189a9d236f9
827 071be189a9d236f9 883 b4a3654bb8c281d4
828 b4a3654bb8c281d4 884
829 885 RDATA :=
830 RDATA := 886 0000000100059412 RR COUNT | EXPIRA-
831 0000000100059412 RR COUNT | EXPIRA- 887 09ddea0f00000014 -TION | DATA SIZE (20)
832 09ddea0f00000014 -TION | DATA SIZE (20) 888 0000000f00000000 TYPE (15=MX) | FLAGS (0)
833 0000000f00000000 TYPE (15=MX) | FLAGS (0) 889 000a046d61696c07 Priority (10) |4 | mail | 7
834 000a046d61696c07 Priority (10) |4 | mail | 7 890 6578616d706c6503 example | 3
835 6578616d706c6503 example | 3 891 636f6d0000000000 com | \0 | Followed by
836 636f6d0000000000 com | \0 | Followed by 892 0000000000000000 24 bytes of padding to 2^6
837 893
838 894
839 895
840Schanzenbach, et al. Expires 24 January 2020 [Page 15] 896Schanzenbach, et al. Expires 24 January 2020 [Page 16]
841 897
842Internet-Draft The GNU Name System July 2019 898Internet-Draft The GNU Name System July 2019
843 899
844 900
845 0000000000000000 24 bytes of padding to 2^6 901 0000000000000000
846 0000000000000000 902 00000000
847 00000000 903
848 904
849 905 BLOCK :=
850 BLOCK := 906 055cb070e05fe6de SIGNATURE
851 055cb070e05fe6de SIGNATURE 907 ad694a50e5b4dedd
852 ad694a50e5b4dedd 908 b9fdcbdbae004f65
853 b9fdcbdbae004f65 909 afc99ba9c5a3bb54
854 afc99ba9c5a3bb54 910 07e731a34680ee33
855 07e731a34680ee33 911 ae0de7bfeda7d2b7
856 ae0de7bfeda7d2b7 912 8c6b854a008b1b54
857 8c6b854a008b1b54 913 10df4f39f5ba9f46____________
858 10df4f39f5ba9f46____________ 914 8cb514a56c0eaae0 zk_h
859 8cb514a56c0eaae0 zk_h 915 56745158a63ee4dd
860 56745158a63ee4dd 916 76853cb9545e326e
861 76853cb9545e326e 917 76d7fa920f818291____________
862 76d7fa920f818291____________ 918 000000540000000f SIZE (=84) | PURPOSE (=15)
863 000000540000000f SIZE (=84) | PURPOSE (=15) 919 0005941209dde25b EXPIRATION
864 0005941209dde25b EXPIRATION 920 d99d08fa123da096 BDATA
865 d99d08fa123da096 BDATA 921 66c2fb9bf020a85d
866 66c2fb9bf020a85d 922 e80818d0a84059a8
867 e80818d0a84059a8 923 5eee901a66459e5e
868 5eee901a66459e5e 924 3d1a10b29a5b8354
869 3d1a10b29a5b8354 925 1b58636781166b9a
870 1b58636781166b9a 926 642920eee8e7a65a
871 642920eee8e7a65a 927 001fd19a6406a721
872 001fd19a6406a721 928 713f0a0d
873 713f0a0d
874 929
87511. Normative References 93011. Normative References
876 931
@@ -893,7 +948,8 @@ Internet-Draft The GNU Name System July 2019
893 948
894 949
895 950
896Schanzenbach, et al. Expires 24 January 2020 [Page 16] 951
952Schanzenbach, et al. Expires 24 January 2020 [Page 17]
897 953
898Internet-Draft The GNU Name System July 2019 954Internet-Draft The GNU Name System July 2019
899 955
@@ -949,7 +1005,7 @@ Authors' Addresses
949 1005
950 1006
951 1007
952Schanzenbach, et al. Expires 24 January 2020 [Page 17] 1008Schanzenbach, et al. Expires 24 January 2020 [Page 18]
953 1009
954Internet-Draft The GNU Name System July 2019 1010Internet-Draft The GNU Name System July 2019
955 1011
@@ -1005,4 +1061,4 @@ Internet-Draft The GNU Name System July 2019
1005 1061
1006 1062
1007 1063
1008Schanzenbach, et al. Expires 24 January 2020 [Page 18] 1064Schanzenbach, et al. Expires 24 January 2020 [Page 19]